Gento(Skye/Luna)ROS 2 接口
本章面向需要读取 Gento 状态、采集遥操数据或通过 Custom 模式接入自有算法的客户。接口按 2026-08-21 最新 Gento 源码契约整理。
| 项目 | 说明 |
|---|---|
| 适用产品 | Gento Skye、Gento Luna |
| 接口基线 | 2026-08-21 Gento 源码 |
| 参考环境 | Ubuntu 22.04、ROS 2 Humble |
| 默认命名空间 | /tj |
不同交付版本、末端配置和启动模块会影响可见接口。最终应以目标设备执行 ros2 topic list -t、ros2 service list -t 和 ros2 interface show 的结果为准。
1. 加载 ROS 2 环境
优先使用设备提供的统一环境文件:
source /etc/apex/apex_ros_env.sh
ros2 topic list -t | sort
ros2 service list -t | sort
如果统一环境文件不存在:
source /opt/ros/humble/setup.bash
source /opt/kernelmind/apex/install/setup.bash
ros2 topic list -t | sort
保存现场接口清单:
mkdir -p ~/gento_ros_check
ros2 topic list -t | sort | tee ~/gento_ros_check/topic_list.txt
ros2 node list | sort | tee ~/gento_ros_check/node_list.txt
ros2 service list -t | sort | tee ~/gento_ros_check/service_list.txt
Topic 未出现时,先确认对应的 Robot、Teleop、Camera 或 Tool 模块已经启动,并检查 ROS_DOMAIN_ID 是否一致。
1.1 命名空间规则
Gento Robot、Teleop、QP 和两级输入仲裁节点默认读取 APEX_ROS_NAMESPACE=tj,因此核心接口通常以 /tj 开头。例如源码相对名 info/joint_feedback 在运行时解析为 /tj/info/joint_feedback。
以下接口通常保持在根命名空间:
/hand_left/*、/hand_right/*:Wuji 灵巧手;/controller/odom、/move/*、/control/base_*、/info/base_*:独立移动底盘节点;/quad_tile/*、/recorder/set_recording:独立相机包;/tf