二次开发

1.关节与 CAN ID

T170C 机器人二次开发主要包括机器人本体(关节)开发及外设开发两部分:

类别

说明

T170C 本体(关节)

腰/折叠、双臂、头部等一体化关节,CAN 总线控制。

T170C 外设

底盘、相机语音控制灵巧手等

此外,本体关节须与出厂/配置图中的关节命名编码器与计数换算CAN ID 一一对应;T170C 机器人

机器人分区

关节数量与说明

CAN ID(节点)

腰部及折叠关节(Fold&WAIST)

5 个关节(双编)

1–5

双臂(SHOULDER)

14 个关节(双臂合计,双编)

16–29

头部(NECK)

3 个关节(双编)

30–32

具体机械拓扑与关节命名以随附配置图及出厂配置为准。

2.SDK开发

2.1 机器人SDK开发

具体参考 关节控制 API编译与运行 相关内容,需要注意的是,在进行机器人运动测试时,必须在程序或菜单里明确选 T170C(如下图所示),否则会造成机器人型号不匹配带来的关节匹配错位控制等问题;

机器人 SDK 开发界面示意

2.2 外设SDK开发

T170C各外设二次开发主要参考 外设控制 API底盘安装与部署灵巧手安装与部署 以及 六维力传感器安装与部署

3.ROS包相关开发

3.1机器人ROS包开发

T170C机器人ROS开发包参考 机器人控制,需要注意的是,在启动机器人控制结点时,需要明确指定正确机器人型号T170C,避免关节映射错位和逆解失败等问题,如下所示:

编排launch启动:

ros2 launch ti5_bringup ti5_bringup.launch.py type:=T170C

脚本启动:

./script/run_ti5_services.sh --type T170C

3.2 外设ROS包开发

T170C各外设ROS包开发主要参考 外设控制 中的 灵巧手语音对话相机底盘 等;每个外设都有节点说明、话题定义说明、服务接口说明以及相应的示例程序;当使用bringup编排启动整体ros脚本时,可以修改ti5_bringup/config/system.yaml或CLI覆盖的形式确定需要启动的外设,如下所示(参考启动文件说明)

统一入口(最简):

ros2 launch ti5_bringup ti5_bringup.launch.py type:=T170C

核心参数:

参数

说明

默认值

type

机器人型号(如 T140AT170CT170D

T140A

enable_hand

启用灵巧手节点

true

enable_sri_can

启用六维力节点

true

enable_chassis

启用底盘桥接节点

false

enable_chat

启用语音/对话节点 ti5_chat_node

false