安装与部署
1. 安装步骤
环境加载(ti5_control)
首次在本工作空间执行 colcon build 前:
source <工作空间>/src/ti5_control/install/setup.bash
之后在新终端使用本工作空间时:
source <工作空间>/install/setup.bash
./script/run_ti5_services.sh、run_ti5_client.sh、run_ti5_demo.sh 会按需加载环境。
前置条件
已按上文完成
source并完成构建;外设(CAN、串口)权限已配置;异常见 故障排除。
编译工作空间
在工作空间根目录(含 src 的上一级)执行:
cd <工作空间根目录>
colcon build --symlink-install
source install/setup.bash
确认 ti5_control 已被识别(可选)
source <工作空间>/install/setup.bash
ros2 pkg prefix ti5_control
清理本工作空间构建产物(可选)
删除工作空间根目录下的 build、install、log 后重新 colcon build。勿删除 src/ti5_control/install(ti5_control 安装树)。
2. 启动文件说明
编排与参数
入口:
ti5_bringup/ti5_bringup.launch.py(正式入口)服务层:
ti5_bringup/services.launch.py(核心节点 + 外设节点)默认参数:
ti5_bringup/config/system.yaml覆盖方式:
ros2 launch ... param:=value(CLI 优先于system.yaml)DDS:
services.launch.py会将domain_id写入ROS_DOMAIN_ID;与其它终端单独启动的节点联调时需一致(见下文「多实例/隔离示例」)
统一入口(最简):
ros2 launch ti5_bringup ti5_bringup.launch.py type:=T140A
核心参数:
参数 |
说明 |
默认值 |
|---|---|---|
|
机器人型号(如 |
|
|
命名空间(多实例隔离,如 |
空 |
|
DDS 域 ID(系统级隔离) |
|
|
启用灵巧手节点 |
|
|
启用六维力节点 |
|
|
启用底盘桥接节点 |
|
|
启用语音/对话节点 |
|
|
|
|
|
启动 |
|
|
启动 |
|
常见启动组合:
场景 |
命令 |
|---|---|
使用 |
|
仅核心(关闭所有外设) |
|
核心 + 六维力 |
|
核心 + 灵巧手 |
|
核心 + 底盘 |
|
核心 + 语音对话 |
|
仅服务层(无 demo,适合 CLI 测) |
|
服务层 + 手部 demo(无 joint demo) |
|
多实例/隔离示例(可选加参数):
ros2 launch ti5_bringup ti5_bringup.launch.py type:=T140A namespace:=/robot1 domain_id:=1
一键演示
在 ti5_ros2 包根目录下执行(与工作空间 src 同级、含 script/ 的目录):
./script/run_ti5_demo.sh --type T140A
run_ti5_demo.sh 常用参数(内部透传给 services/client 脚本):
--enable-hand true|false:是否启动hand_manager--enable-sri-can true|false:是否启动sri_can--enable-chassis true|false:是否启动底盘 bridge(ti5_chassis chassis_cmd_bridge)--enable-chat true|false:是否启动语音/对话适配节点(ti5_chat_node)--chat-http-base-url <url>:ti5_chat后端 HTTP 地址(默认http://127.0.0.1:4990)--demo joint|hand|both:客户端示例类型(joint_cmd_client/hand_cmd/ 同时)
示例(启动服务并只跑手部 demo):
./script/run_ti5_demo.sh --type T140A --enable-hand true --enable-sri-can false --demo hand
分步启动(推荐排障)
分步启动(推荐排障) |
说明 |
|---|---|
启动服务层(后台) |
|
启动示例程序(前台) |
|
run_ti5_services.sh 外设开关(默认:hand=true、sri_can=true、chassis=true、chat=false):
--enable-hand true|false:是否启动hand_manager--enable-sri-can true|false:是否启动sri_can--enable-chassis true|false:是否启动底盘 bridge(ti5_chassis chassis_cmd_bridge)--enable-chat true|false:是否启动语音/对话适配节点(ti5_chat_node)--chat-http-base-url <url>:ti5_chat后端 HTTP 地址(默认http://127.0.0.1:4990)
run_ti5_client.sh 示例开关:
运行开关 |
说明 |
|---|---|
|
启动 |
|
启动 |
|
同时启动 |
分步示例(只开服务给 CLI 测):
./script/run_ti5_services.sh --type T140A --enable-hand true --enable-sri-can true
分步示例(服务 + 手部 demo):
./script/run_ti5_services.sh --type T140A --enable-hand true --enable-sri-can false
./script/run_ti5_client.sh --type T140A --demo hand
多实例示例:
./script/run_ti5_services.sh --type T140A --ns /robot1 --domain-id 1
./script/run_ti5_services.sh --type T140A --ns /robot2 --domain-id 2
./script/run_ti5_client.sh --type T140A --ns /robot1 --domain-id 1
最小自检(建议对外发布保留)
启动后建议按以下顺序快速确认系统“已跑起来且接口存在”。如果使用了 namespace:=/robot1,那么下方命令需要带上命名空间(例如过滤时关注 /robot1/ti5/...)。
ros2 node list
ros2 service list | grep -E 'ti5/arm_ik|ti5/arm_fk|ti5/joint_action|ti5/body_move' || true
ros2 topic list | grep -E 'ti5/jointcmd_list|ti5/jointstate_list' || true