Skip to content

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

GEAR Campo Potencial Artificial

Aplicação web didática do método de campos potenciais artificiais de Khatib para robôs planares. O cálculo principal continua em Python, executado no navegador por Pyodide dentro de um Web Worker.

O que está incluído

  • robôs planares de 2 a 15 juntas;
  • até 100.000 passos por simulação;
  • campo atrativo, FIRAS, limites articulares e perturbação de mínimos locais;
  • círculos e paredes com campos de ação individuais;
  • editor Canvas com arraste, redimensionamento, zoom, grade, desfazer e refazer;
  • cálculo antecipado com progresso e cancelamento;
  • reprodução sincronizada ao relógio real;
  • métricas gerais, PSPs por elo e tabela das juntas;
  • exportação GIF a 50 FPS, sem repetição;
  • armazenamento local do mapa personalizado;
  • 10 espaços de exemplos reservados, ainda vazios.

Executar localmente

Requer Node.js 22.13 ou mais recente e Python com NumPy para os testes locais.

npm install
npm run dev

Abra http://localhost:3000.

Verificar

npm test
npm run lint

O primeiro carregamento da simulação baixa Pyodide e NumPy. Depois disso, o Worker é reutilizado enquanto a página permanecer aberta.

Estrutura principal

  • app/simulator.tsx: interface, editor, reprodução e exportação;
  • app/drawing.ts: desenho Canvas e visualização dos campos;
  • public/simulator.py: núcleo matemático Python;
  • public/simulation-worker.js: Pyodide, progresso e cancelamento;
  • tests/: testes da aplicação e de paridade do núcleo.

Publicação

O projeto usa o build vinext compatível com Cloudflare Workers/Sites. A pasta também está preparada para a Vercel usando o preset Next.js e o comando npm run build:vercel. Deixe o diretório de saída no padrão do Next.js. Nenhum servidor Python é necessário em produção.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages