Uma coleção de ambientes de robótica para aprendizado por reforço, baseados em MuJoCo e construídos sobre a API do Gymnasium.
learnsyslab/gym-pybullet-drones
Ambientes Gymnasium baseados em PyBullet para treinar controladores de aprendizado por reforço para quadricópteros, com um ou vários agentes.
- Estrelas
- 2,201
- Forks
- 578
- Issues abertas
- 111
- Último commit
- ontem
O que é?
gym-pybullet-drones oferece ambientes de simulação de quadricópteros baseados na física do PyBullet e na API do Gymnasium. Pesquisadores e estudantes podem treinar políticas de aprendizado por reforço para controle de drones individuais ou de vários agentes, em tarefas como pairar, voar em formação e interagir por meio do efeito downwash.
O projeto é uma refatoração simplificada de uma base de código anterior, apresentada no IROS 2021, atualizada para o Gymnasium e o Stable-Baselines3 2.0. Inclui controladores clássicos PID e de velocidade, um controlador adaptativo MRAC e scripts de exemplo para treinar agentes PPO com learn.py e reproduzi-los com play.py.
Também inclui um exemplo de Betaflight SITL no Ubuntu para executar vários controladores de voo simulados com o ambiente.
Recursos principais
- 01Ambientes Gymnasium compatíveis para quadricópteros com um ou vários agentes
- 02Baseado na simulação física do PyBullet
- 03Inclui exemplos de controladores PID, de controle de velocidade e MRAC
- 04Scripts de treinamento e reprodução com PPO do Stable-Baselines3
- 05Modelagem do efeito downwash entre drones
- 06Integração com Betaflight SITL no Ubuntu
Casos de uso
- Treinar controladores de aprendizado por reforço para fazer quadricópteros pairarem ou seguirem trajetórias
- Pesquisar a coordenação de vários drones e o voo em formação
- Testar algoritmos de controle com o firmware Betaflight em configurações software-in-the-loop
Início rápido
- 1
Clone o repositório
git clone https://github.com/learnsyslab/gym-pybullet-drones.git - 2
Crie e ative um ambiente conda com Python 3.12
conda create -n drones python=3.12 && conda activate drones - 3
Instale o pacote no modo editable
pip3 install -e . - 4
Execute um exemplo de controle PID
cd gym_pybullet_drones/examples/ && python3 pid.py
Antes de usar
- Para compilar o pybullet com Python 3.11 ou mais recente, pode ser necessário usar um compilador ou uma solução alternativa de CFLAGS específica para macOS.
- O exemplo do Betaflight SITL funciona somente no Ubuntu.
Em coleções
Tópicos
Perguntas frequentes
- O que é gym-pybullet-drones?
- Ambientes Gymnasium baseados em PyBullet para treinar controladores de aprendizado por reforço para quadricópteros, com um ou vários agentes. gym-pybullet-drones oferece ambientes de simulação de quadricópteros baseados na física do PyBullet e na API do Gymnasium. Pesquisadores e estudantes podem treinar políticas de aprendizado por reforço para controle de drones individuais ou de vários agentes, em tarefas como pairar, voar em formação e interagir por meio do efeito downwash.
- gym-pybullet-drones é gratuito? Qual é a licença?
- gym-pybullet-drones é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- gym-pybullet-drones ainda é mantido?
- Manutenção ativa. O último commit de gym-pybullet-drones foi em 6 de nov. de 2026.
- Para que posso usar gym-pybullet-drones?
- Treinar controladores de aprendizado por reforço para fazer quadricópteros pairarem ou seguirem trajetórias Pesquisar a coordenação de vários drones e o voo em formação Testar algoritmos de controle com o firmware Betaflight em configurações software-in-the-loop
- Como instalar gym-pybullet-drones?
- Clone o repositório: git clone https://github.com/learnsyslab/gym-pybullet-drones.git Crie e ative um ambiente conda com Python 3.12: conda create -n drones python=3.12 && conda activate drones Instale o pacote no modo editable: pip3 install -e . Execute um exemplo de controle PID: cd gym_pybullet_drones/examples/ && python3 pid.py
- Onde consigo gym-pybullet-drones?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/learnsyslab/gym-pybullet-drones
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um simulador leve de direção em Python para pesquisa em aprendizado por reforço e direção autônoma, com simulação de sensores e ambientes no estilo Gymnasium.
Simulador de quadricópteros baseado em JAX que executa simulações diferenciáveis em lote, na CPU e na GPU, para drones Crazyflie 2.x.
Simulador de UAVs multirrotores em Python com aerodinâmica de parâmetros concentrados, voltado ao ensino e à pesquisa em estimação, planejamento e controle.
Biblioteca Python com uma API padrão e ambientes de referência para pesquisa em aprendizado por reforço multiagente, semelhante ao Gymnasium.
Uma coleção de ambientes de direção simulada compatíveis com Gymnasium para treinar e testar agentes de direção autônoma e tomada de decisão.