Skip to content

fiveages-sim/arx-ros2-control

Repository files navigation

ARX X5 ROS2 Control 硬件接口包

本包提供了 ARX X5 机械臂的 ROS2 Control 硬件接口实现。

依赖项

ROS2 依赖

  • hardware_interface
  • pluginlib
  • rclcpp
  • rclcpp_lifecycle

第三方依赖

  • Eigen3
  • orocos_kdl
  • kdl_parser
  • spdlog

编译步骤

1. 编译 external 文件夹下的 SDK

在编译主包之前,需要先编译 external/arx5-sdk 目录下的 SDK。

1.1 设置 conda 环境

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。请根据您的系统选择合适的版本。

1.2 编译 SDK

在 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.solibArxCartesianController.so 等库文件。

重要提示:

  • 编译 SDK 时必须在 conda 环境中(conda activate arx-py312
  • 主包的 CMakeLists.txt 会链接 ${ARX5_SDK_DIR}/build/libArxJointController.so,因此 SDK 必须先编译

2. 编译 ROS2 包

编译完 SDK 后,回到工作空间根目录编译 ROS2 包:

cd ~/ros2_ws
colcon build --packages-select arx_ros2_control

About

ROS2-Control Hardware Interface

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors