本包提供了 ARX X5 机械臂的 ROS2 Control 硬件接口实现。
hardware_interfacepluginlibrclcpprclcpp_lifecycle
Eigen3orocos_kdlkdl_parserspdlog
在编译主包之前,需要先编译 external/arx5-sdk 目录下的 SDK。
SDK 需要 conda 环境来管理依赖。推荐使用 mamba(更快),也可以使用 conda:
# 进入 SDK 目录
cd external/arx5-sdk
# 使用 mamba 创建环境(推荐,约1分钟)
mamba env create -f conda_environments/py312_environment.yaml
# 或使用 conda(较慢,约10分钟)
# conda env create -f conda_environments/py312_environment.yaml
# 激活环境
conda activate arx-py312注意: 可用的 Python 版本包括 3.8, 3.9, 3.10, 3.11, 3.12。请根据您的系统选择合适的版本。
在 conda 环境中编译 SDK:
# 确保在 SDK 目录下
conda activate arx-py312
cd ~/ros2_ws/src/arms_ros2_control/hardwares/arx_ros2_control/external/arx5-sdk
# 创建构建目录
mkdir -p build
cd build
# 配置 CMake
cmake ..
# 编译
make -j$(nproc)
编译完成后,会在 build 目录下生成 libArxJointController.so 和 libArxCartesianController.so 等库文件。
重要提示:
- 编译 SDK 时必须在 conda 环境中(
conda activate arx-py312) - 主包的 CMakeLists.txt 会链接
${ARX5_SDK_DIR}/build/libArxJointController.so,因此 SDK 必须先编译
编译完 SDK 后,回到工作空间根目录编译 ROS2 包:
cd ~/ros2_ws
colcon build --packages-select arx_ros2_control