概述
1. 软件包结构
Ti5_ROS2 基于 ROS 2 Humble,提供关节控制、手臂运动学(IK/FK)与外设接入能力,可用于上层应用集成与二次开发。
系统核心能力:
关节控制:通过
ti5/jointcmd_list下发关节目标,通过ti5/jointstate_list获取状态反馈(含seq/timestamp_ns新鲜度检测)运控状态:通过
ti5/motion_control_status获取双臂/身体运控模式与规划运动反馈动作控制:通过
ti5/joint_action与ti5/body_move实现预设动作和身体分组控制(规划类接口返回motion_id与运动状态,到位需轮询运控状态)手臂运动学:通过
ti5/arm_ik、ti5/arm_fk完成末端位姿与关节角转换;通过ti5/arm_movej、ti5/arm_movel完成轨迹规划与可选执行T170C / T170C_2_0 折叠机构:通过
ti5/waist_fk、ti5/waist_ik做正/逆解;通过ti5/waist_movej、ti5/waist_movel做关节/笛卡尔轨迹规划(--type T170C或T170C_2_0)外设控制:灵巧手、六维力、底盘、语音对话
Ti5_ROS2 工作空间内主要 ROS 包:
ti5_control:核心控制(joint_manager、消息与服务定义等;源码位于src/ti5_control/,包根为src/ti5_control/src/ti5_control/)ti5_control_client:示例与依赖ti5_control接口的客户端(如joint_cmd_client)ti5_hand:灵巧手ti5_gripper:夹爪(OmniPicker CAN 协议)sri_can:六维力传感器ti5_chassis:底盘控制(WebSocket 底盘桥接)ti5_chat:语音/对话服务适配(ROS2 服务转发到ti5ChatHTTP 服务)ti5_bringup:启动编排
说明:ti5_control_client 包内:src/config/(示例 YAML)、src/example/(如 joint_cmd_client)、src/reference/msg|srv/(与 ti5_control 消息/服务定义同名的只读副本,便于对照;不参与 rosidl 生成);包根下与 src/ 同级的 script/ 为辅助 shell(如 run_joint_cmd.sh、run_multi_robot.sh)。构建仍通过 find_package(ti5_control) 使用已安装的 ti5_control 接口。
2. 交付架构概览
客户通常只需要启动“服务端”(机器人本体与外设节点),再按需启动“客户端 demo”(用于联调/二次开发参考)。
+-----------------------+
| ti5_bringup |
| services.launch.py |
+-----------+-----------+
|
+--------------------+--------------------+
| |
+-----v-----+ +------v------+
| ti5_control| | 外设节点 |
| joint_manager| | ti5_hand/ |
| arm_ik/fk | | ti5_gripper/ |
| | | sri_can/ |
+-------------+ | ti5_chassis/ |
| | ti5_chat/ |
| +--------------+
topics/services:
ti5/jointcmd_list, ti5/jointstate_list
ti5/motion_control_status
ti5/joint_action, ti5/body_move, ti5/release_motion_control
ti5/arm_ik, ti5/arm_fk
ti5/arm_movej, ti5/arm_movel
ti5/waist_fk, ti5/waist_ik # T170C / T170C_2_0
ti5/waist_movej, ti5/waist_movel # T170C / T170C_2_0
^
|
+-----------+-----------+
| ti5_control_client |
| joint_cmd_client* |
+------------------------+
说明:当前交付架构中,ti5/arm_ik 与 ti5/arm_fk 由 joint_manager 进程内提供,不再需要单独启动 arm_ik_node。
3. 依赖与环境配置
系统:Ubuntu 22.04,ROS 2 Humble。
构建:
colcon;系统依赖可用rosdep按各包package.xml安装。设备权限:CAN、串口等见 故障排除。
包依赖:
ti5_control_client、ti5_bringup等依赖已安装的ti5_control。在本机如何编译、如何source环境、如何启动节点 一律见下文 安装与部署(避免与概述重复)。