AgiBot X1 est un robot humanoïde modulaire à ddl élevé développé et open source par AgiBot. Il est construit sur le framework open source AimRT d'AgiBot en tant que middleware et utilise l'apprentissage par renforcement pour le contrôle de la locomotion.
Ce projet concerne le logiciel d'accompagnement pour AgiBot X1, comprenant plusieurs modules fonctionnels tels que l'inférence de modèle, le pilote de plate-forme et la simulation logicielle.
Pour des didacticiels détaillés sur le framework AimRT
, veuillez visiter le site officiel d'AimRT.
Pour des annotations détaillées des modules, veuillez vous référer au Guide de développement.
.├── build.sh # Scripts de build├── cmake # Scripts CMake pour les dépendances de build│ ├── GetAimRT.cmake │ ├── GetGTest.cmake │ └── NamespaceTool.cmake ├── CMakeLists.txt # CMakeLists.txt de niveau supérieur├── format.sh # Scripts de formatage├── README.md # Document README├── doc # Répertoire du guide de développement├── src # Répertoire du code source│ ├─ ─ CMakeLists.txt # CMakeLists.txt pour le répertoire du code source│ ├── assistant # Simulation ROS2 et répertoire d'exemple de projet│ ├── install # Répertoire du script de configuration│ ├── module # Répertoire du module│ ├── pkg # Répertoire de déploiement │ └── protocoles # Répertoire des protocoles└── test.sh # Scripts de test
Installez cmake (version 3.26 ou supérieure).
Installez le moteur d'exécution ONNX.
sudo apt mise à jour sudo apt install -y build-essential cmake git libprotobuf-dev protobuf-compiler git clone --recursive https://github.com/microsoft/onnxruntimecd onnxruntime ./build.sh --config Release --build_shared_lib --parallelcd build/Linux/Release/ sudo make install
Installez ROS2 Humble
et configurez les variables d'environnement. Pour des instructions détaillées, visitez le site officiel de ROS2.
Installez les dépendances pour l'environnement de simulation.
sudo apt installer jstest-gtk ros-humble-xacro ros-humble-gazebo-ros-pkgs ros-humble-gazebo-ros2-control ros-humble-joint-state-publisher ros-humble-joint-state-diffuseur
Installez le correctif du noyau Linux en temps réel si le débogage d'un robot réel est nécessaire.
Il sera très lent, voire échouera, de télécharger les nombreuses dépendances d'AimRT à partir des sources par défaut. Par conséquent, nous fournissons des variables d'environnement DOWNLOAD_FLAGS
pour le téléchargement basées sur la source Gitee dans url.bashrc
. Sourcez simplement url.bashrc
avant d'exécuter build.sh
et ajoutez des paramètres de variable d'environnement pour la source Gitee.
Après avoir terminé les étapes ci-dessus, exécutez les commandes suivantes dans le terminal :
source /opt/ros/humble/setup.bashsource url.bashrc# Build./build.sh $DOWNLOAD_FLAGS# Test./test.sh $DOWNLOAD_FLAGS
Préparez deux terminaux :
cd build/# Terminal 1 : Lancer le module d'inférence et le module de contrôle du joystick en mode simulation../run_sim.sh# Terminal 2 : Lancer le programme de simulation Gazebo../run_gazebo.sh
Exportez d’abord le chemin de votre bibliothèque, il vous suffit de l’exécuter une fois .
# Ouvrez "/etc/ld.so.conf" en tant que rootudo vi /etc/ld.so.conf# Ajoutez ce chemin à la fin de "/etc/ld.so.conf"/opt/ros/humble/lib {YourProjectSource}/build/install/lib# Actualiser le système envsudo ldconfig
Prêt à lancer.
construction de cd/ ./run.sh
Pour des instructions de contrôle spécifiques, veuillez vous référer au module de commande du joystick.
Le code fourni dans ce projet s'exécute sur le framework AimRT. Il s’agit d’un code de recherche sujet à des modifications fréquentes et ne peut s’appliquer à toutes les fins spécifiques. Le code source est publié sous le contrat de licence MULAN.
Si vous avez des questions ou des problèmes avec ce référentiel, veuillez utiliser les Issues
.
Veuillez ne pas nous contacter par e-mail car nous ne pourrons peut-être pas vous répondre. Si vous souhaitez contribuer au code, créez simplement le référentiel (ou si vous êtes un collaborateur, créez une branche), apportez vos modifications et soumettez-nous une pull request.