AgiBot X1 ist ein modularer humanoider Roboter mit hoher Auflösung, der von AgiBot entwickelt und als Open-Source-Lösung bereitgestellt wird. Es basiert auf AgiBots Open-Source-Framework AimRT als Middleware und nutzt Reinforcement Learning zur Fortbewegungssteuerung.
In diesem Projekt geht es um die Begleitsoftware für AgiBot X1, einschließlich mehrerer Funktionsmodule wie Modellinferenz, Plattformtreiber und Softwaresimulation.
Ausführliche Tutorials zum AimRT
Framework finden Sie auf der offiziellen Website von AimRT.
Ausführliche Anmerkungen zu Modulen finden Sie im Entwicklungshandbuch.
.├── build.sh # Build-Skripte├── cmake # CMake-Skripte für Build-Abhängigkeiten│ ├── GetAimRT.cmake │ ├── GetGTest.cmake │ └── NamespaceTool.cmake ├── CMakeLists.txt # CMakeLists.txt der obersten Ebene├── format.sh # Formatierungsskripte├── README.md # README-Dokument├── doc # Entwicklungshandbuchverzeichnis├── src # Quellcodeverzeichnis│ ├─ ─ CMakeLists.txt # CMakeLists.txt für das Quellcodeverzeichnis│ ├── Assistent # ROS2-Simulations- und Beispielprojektverzeichnis│ ├── install # Konfigurationsskriptverzeichnis│ ├── Modul # Modulverzeichnis│ ├── pkg # Bereitstellungsverzeichnis │ └── Protokolle # Protokollverzeichnis└── test.sh # Testskripte
Installieren Sie cmake (Version 3.26 oder höher).
Installieren Sie ONNX Runtime.
Sudo apt-Update 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
Installieren Sie ROS2 Humble
und konfigurieren Sie die Umgebungsvariablen. Ausführliche Anweisungen finden Sie auf der offiziellen Website von ROS2.
Installieren Sie Abhängigkeiten für die Simulationsumgebung.
sudo apt install jstest-gtk ros-humble-xacro ros-humble-gazebo-ros-pkgs ros-humble-gazebo-ros2-control ros-humble-joint-state-publisher Ros-humble-joint-state-broadcaster
Installieren Sie den Linux-Echtzeit-Kernel-Patch, wenn ein echtes Roboter-Debugging erforderlich ist.
Das Herunterladen der zahlreichen Abhängigkeiten von AimRT von Standardquellen wird sehr langsam sein oder sogar fehlschlagen. Daher stellen wir Umgebungsvariablen DOWNLOAD_FLAGS
für den Download bereit, die auf der Gitee-Quelle in url.bashrc
basieren. Geben Sie einfach url.bashrc
als Quelle ein, bevor Sie build.sh
ausführen, und fügen Sie Umgebungsvariablenparameter für die Gitee-Quelle hinzu.
Führen Sie nach Abschluss der oben genannten Schritte die folgenden Befehle im Terminal aus:
Quelle /opt/ros/humble/setup.bashsource url.bashrc# Build./build.sh $DOWNLOAD_FLAGS# Test./test.sh $DOWNLOAD_FLAGS
Bereiten Sie zwei Terminals vor:
cd build/# Terminal 1: Starten Sie das Inferenzmodul und das Joystick-Steuerungsmodul im Simulationsmodus../run_sim.sh# Terminal 2: Starten Sie das Gazebo-Simulationsprogramm../run_gazebo.sh
Exportieren Sie zuerst Ihren Bibliothekspfad, Sie müssen ihn nur einmal ausführen .
# Öffnen Sie „/etc/ld.so.conf“ als Rootsudo vi /etc/ld.so.conf# Fügen Sie diesen Pfad am Ende von „/etc/ld.so.conf“/opt/ros/humble/lib hinzu {YourProjectSource}/build/install/lib# System envsudo ldconfig aktualisieren
Bereit zum Start.
CD-Build/ ./run.sh
Spezifische Steuerungsanweisungen finden Sie im Joystick-Steuermodul.
Der in diesem Projekt bereitgestellte Code läuft auf dem AimRT-Framework. Hierbei handelt es sich um einen Forschungskodex, der häufigen Änderungen unterliegt und nicht für alle spezifischen Zwecke gelten kann. Der Quellcode wird unter der MULAN-Lizenzvereinbarung veröffentlicht.
Wenn Sie Fragen oder Probleme mit diesem Repository haben, nutzen Sie bitte die Issues
.
Bitte kontaktieren Sie uns nicht per E-Mail, da wir möglicherweise nicht antworten können. Wenn Sie Code beisteuern möchten, forken Sie einfach das Repository (oder erstellen Sie als Mitarbeiter einen Branch), nehmen Sie Ihre Änderungen vor und senden Sie eine Pull-Anfrage an uns.