Skip to content

VitorMouro/mpc_cyclist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Demo GIF

Controle preditivo de um ciclista em diferentes cenários de teste. Esse repositório contém o código para simular e controlar um ciclista em um ambiente 3D. O controle é realizado através de um controlador preditivo baseado em modelo (MPC) que utiliza um modelo dinâmico do ciclista para prever o comportamento futuro e otimizar o controle.

Essa implementação foi feita para o meu trabalho de conclusão de curso (TCC) como requisito para graduação em Ciência da Computação pela Universidade Federal de Juiz de Fora.


Conteúdo

  1. Sobre o Projeto
  2. Funcionalidades
  3. Requisitos
  4. Como Executar
  5. Estrutura do Projeto
  6. Resultados
  7. Contribuição
  8. Licença
  9. Contato

Sobre o Projeto

O controle de um ciclista em um ambiente de simulação é um problema complexo, que envolve a dinâmica não linear da bicicleta, a interação com o ambiente (terreno, obstáculos ) e a necessidade de manter o equilíbrio e seguir trajetórias desejadas.

Este projeto aborda esse desafio utilizando Controle Preditivo Baseado em Modelo (MPC). O MPC permite:

  • Antecipar o comportamento futuro: Usando um modelo dinâmico da bicicleta e do ciclista, o controlador prevê como o sistema se comportará nos próximos instantes.
  • Otimizar o controle: Com base nas previsões, o MPC calcula as ações de controle ótimas (como torque aplicado aos pedais e ângulo de direção) para atingir os objetivos (manter o equilíbrio, seguir uma rota, evitar obstáculos), respeitando as restrições do sistema (limites de torque, ângulo de esterçamento).
  • Adaptabilidade: O MPC pode lidar com mudanças nas condições e perturbações do ambiente.

O motor de física MuJoCo foi utilizado para simular a dinâmica do ciclista e da bicicleta. O MuJoCo é um motor de física projetado para simulações de robótica e oferece um bom equilíbrio em performance e precisão. Também foi utilizado o MuJoCo MPC, que disponilizada um framework para trabalhar com MPC e a MuJoCo.


Funcionalidades

  • Modelo dinâmico detalhado da bicicleta e ciclista.
  • Implementação de Controlador Preditivo Baseado em Modelo (MPC).
  • Simulação 3D do ciclista em diferentes terrenos e condições.
  • Capacidade de definir trajetórias de referência.
  • Visualização de dados da simulação (posição, velocidade, ângulos, ações de controle).
  • Cenários de teste configuráveis.

Requisitos

Para executar o projeto, é necessário compilar o MuJoCo MPC, disponível em https://github.com/google-deepmind/mujoco_mpc. As instruções detalhadas de como compilar estão disponíveis lá. Só foi testada a versão 0.1 do MuJoCo MPC.

Esse projeto só foi testado no Linux, mas deve funcionar no Windows e MacOS. É recomendável uma máquina com pelo menos 6 núcleos e tecnologia Hyper-Threading ou equivalente, dada a natureza computacionalmente intensiva do MPC.

Após configurar o MuJoCo MPC, é necessário incluir os arquivos desse projeto, e adicionar a tarefa.

Licença

Este projeto é licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

Contato

Vítor Mouro - [email protected]

About

Predictive control of a cyclist using MuJoCo

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages