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.
- 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.
Requer Node.js 22.13 ou mais recente e Python com NumPy para os testes locais.
npm install
npm run devAbra http://localhost:3000.
npm test
npm run lintO primeiro carregamento da simulação baixa Pyodide e NumPy. Depois disso, o Worker é reutilizado enquanto a página permanecer aberta.
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.
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.