AgiBot X1 é um robô humanóide modular com alto DOF desenvolvido e de código aberto pela AgiBot. Ele é construído sobre a estrutura de código aberto AimRT do AgiBot como middleware e usa aprendizado por reforço para controle de locomoção.
Este projeto trata do software que acompanha o AgiBot X1, incluindo vários módulos funcionais, como inferência de modelo, driver de plataforma e simulação de software.
Para tutoriais detalhados sobre a estrutura AimRT
, visite o site oficial do AimRT.
Para anotações detalhadas dos módulos, consulte o Guia de Desenvolvimento.
.├── build.sh # Scripts de construção├── cmake # Scripts CMake para dependências de construção│ ├── GetAimRT.cmake │ ├── GetGTest.cmake │ └── NamespaceTool.cmake ├── CMakeLists.txt # CMakeLists.txt de nível superior├── format.sh # Scripts de formatação├── README.md # Documento README├── doc # Diretório do guia de desenvolvimento├── src # Diretório do código-fonte│ ├─ ─ CMakeLists.txt # CMakeLists.txt para o diretório do código-fonte│ ├── assistente # Simulação ROS2 e exemplo de diretório de projeto│ ├── install # Diretório de script de configuração│ ├── módulo # Diretório do módulo│ ├── pkg # Diretório de implantação │ └── protocolos # Diretório de protocolo└── test.sh # Scripts de teste
Instale o cmake (versão 3.26 ou superior).
Instale o tempo de execução ONNX.
atualização do sudo apt sudo apt install -y build-essential cmake git libprotobuf-dev protobuf-compiler git clone --recursivo https://github.com/microsoft/onnxruntimecd onnxruntime ./build.sh --config Release --build_shared_lib --parallelcd build/Linux/Release/ sudo make install
Instale ROS2 Humble
e configure as variáveis de ambiente. Para obter instruções detalhadas, visite o site oficial do ROS2.
Instale dependências para o ambiente de simulação.
sudo apt instalar jstest-gtk ros-humilde-xacro ros-humilde-gazebo-ros-pkgs ros-humilde-gazebo-ros2-control ros-humilde-editora conjunta do estado ros-humilde-emissora-estado-conjunta
Instale o patch do kernel em tempo real do Linux se for necessária depuração de robô real.
Será muito lento ou até mesmo falhará no download das inúmeras dependências do AimRT das fontes padrão. Portanto, fornecemos variáveis de ambiente DOWNLOAD_FLAGS
para download com base na fonte do Gitee em url.bashrc
. Simplesmente forneça url.bashrc
antes de executar build.sh
e adicione parâmetros de variáveis de ambiente para a fonte Gitee.
Após concluir as etapas acima, execute os seguintes comandos no terminal:
fonte /opt/ros/humble/setup.bashsource url.bashrc# Build./build.sh $DOWNLOAD_FLAGS# Test./test.sh $DOWNLOAD_FLAGS
Prepare dois terminais:
cd build/# Terminal 1: Inicie o módulo de inferência e o módulo de controle do joystick no modo de simulação../run_sim.sh# Terminal 2: Inicie o programa de simulação Gazebo../run_gazebo.sh
Exporte o caminho da sua biblioteca primeiro, basta executar uma vez .
# Abra "/etc/ld.so.conf" como rootudo vi /etc/ld.so.conf# Adicione este caminho ao final de "/etc/ld.so.conf"/opt/ros/humble/lib {YourProjectSource}/build/install/lib# Atualizar sistema envsudo ldconfig
Pronto para lançar.
compilação de CD/ ./run.sh
Para obter instruções de controle específicas, consulte o Módulo de controle do joystick.
O código fornecido neste projeto é executado na estrutura AimRT. Este é um código de pesquisa sujeito a alterações frequentes e não pode ser aplicado a todos os fins específicos. O código-fonte é lançado sob o contrato de licença MULAN.
Se você tiver alguma dúvida ou problema com este repositório, use o Issues
.
Por favor, não entre em contato conosco por e-mail, pois podemos não conseguir responder. Se você quiser contribuir com código, simplesmente bifurque o repositório (ou se você for um colaborador, crie um branch), faça suas alterações e envie-nos uma solicitação pull.