AgiBot X1은 AgiBot이 개발하고 오픈 소스화한 고자유도 모듈형 휴머노이드 로봇입니다. 이는 AgiBot의 오픈 소스 프레임워크인 AimRT를 미들웨어로 기반으로 구축되었으며 운동 제어를 위한 강화 학습을 사용합니다.
이 프로젝트는 모델 추론, 플랫폼 드라이버 및 소프트웨어 시뮬레이션과 같은 다양한 기능 모듈을 포함하여 AgiBot X1과 함께 제공되는 소프트웨어에 관한 것입니다.
AimRT
프레임워크에 대한 자세한 튜토리얼을 보려면 AimRT 공식 웹사이트를 방문하세요.
모듈에 대한 자세한 주석은 개발 가이드를 참조하세요.
.├── build.sh # 빌드 스크립트├── cmake # 빌드 종속성을 위한 CMake 스크립트│ ├── GetAimRT.cmake │ ├── GetGTest.cmake │ └── NamespaceTool.cmake ├── CMakeLists.txt # 최상위 CMakeLists.txt├── format.sh # 서식 지정 스크립트├── README.md # README 문서├── doc # 개발 가이드 디렉터리├── src # 소스 코드 디렉터리│ ├─ ─ CMakeLists.txt # 소스 코드 디렉터리에 대한 CMakeLists.txt│ ├── Assistant # ROS2 시뮬레이션 및 예제 프로젝트 디렉터리│ ├── install # 구성 스크립트 디렉터리│ ├── module # 모듈 디렉터리│ ├── pkg # 배포 디렉터리 │ └── 프로토콜 # 프로토콜 디렉터리└── test.sh # 테스트 스크립트
cmake(버전 3.26 이상)를 설치합니다.
ONNX 런타임을 설치합니다.
sudo 적절한 업데이트 sudo apt install -y 빌드 필수 cmake git libprotobuf-dev protobuf-compiler git clone --recursive https://github.com/microsoft/onnxruntimecd onnxruntime ./build.sh --config 릴리스 --build_shared_lib --parallelcd build/Linux/Release/ sudo make 설치
ROS2 Humble
설치하고 환경 변수를 구성합니다. 자세한 지침은 ROS2 공식 웹사이트를 방문하세요.
시뮬레이션 환경에 대한 종속성을 설치합니다.
sudo apt 설치 jstest-gtk 로스-겸손-자크로 ros-겸손한 전망대-ros-pkgs 로스-겸손-전망대-ros2-제어 ros-humble-joint-state-publisher ros-humble-joint-state-broadcaster
실제 로봇 디버깅이 필요한 경우 Linux 실시간 커널 패치를 설치하십시오.
매우 느리거나 기본 소스에서 AimRT의 수많은 종속성을 다운로드하지 못할 수도 있습니다. 따라서 url.bashrc
의 Gitee 소스를 기반으로 다운로드할 수 있도록 환경 변수 DOWNLOAD_FLAGS
제공합니다. build.sh
실행하기 전에 url.bashrc
소스로 지정하고 Gitee 소스에 대한 환경 변수 매개변수를 추가하세요.
위 단계를 완료한 후 터미널에서 다음 명령을 실행합니다.
소스 /opt/ros/humble/setup.bashsource url.bashrc# Build./build.sh $DOWNLOAD_FLAGS# Test./test.sh $DOWNLOAD_FLAGS
두 개의 터미널을 준비합니다.
cd build/# 터미널 1: 시뮬레이션 모드에서 추론 모듈 및 조이스틱 제어 모듈을 실행합니다../run_sim.sh# 터미널 2: Gazebo 시뮬레이션 프로그램을 실행합니다../run_gazebo.sh
먼저 라이브러리 경로를 내보내고 한 번만 실행하면 됩니다 .
# "/etc/ld.so.conf"를 root로 엽니다. vi /etc/ld.so.conf# 이 경로를 "/etc/ld.so.conf"/opt/ros/humble/lib 끝에 추가합니다. {YourProjectSource}/build/install/lib# 시스템 새로 고침 envsudo ldconfig
출시 준비가 완료되었습니다.
CD 빌드/ ./run.sh
특정 제어 지침은 조이스틱 제어 모듈을 참조하십시오.
이 프로젝트에 제공된 코드는 AimRT 프레임워크에서 실행됩니다. 이는 자주 변경될 수 있는 연구 규정이므로 모든 특정 목적에 적용할 수는 없습니다. 소스 코드는 MULAN 라이센스 계약에 따라 공개됩니다.
이 저장소에 대해 질문이나 문제가 있는 경우 Issues
사용하세요.
이메일로는 답변을 드릴 수 없으므로 연락하지 마시기 바랍니다. 코드를 제공하려면 저장소를 포크하고(또는 공동 작업자인 경우 브랜치를 생성하고) 변경한 후 풀 요청을 제출하면 됩니다.