故障排除
1. 先做环境一致性自检(建议先看)
按本文“安装与部署”里要求的顺序执行
source(先ti5_control,后工作空间根install)。确认你运行时用到的
ti5_control前缀是当前工作空间的那一份:
ros2 pkg prefix ti5_control
如果输出路径不是你当前期望的工作空间前缀,优先先修正 source,不要直接反复启动/重跑 demo。
2. 编译提示找不到 ti5_control / 运行提示找不到包
先按“先做环境一致性自检”里方式检查
source与ros2 pkg prefix ti5_control若你尚未完成工作空间根目录
colcon build,先完成根目录构建再运行;否则可能会出现依赖解析失败
3. 服务发现不到 / 示例端超时
常见检查点:
arm_ik_node的robot_type必须与调用侧/配置侧一致(joint_manager --type对应同一型号)如果使用 ROS 命名空间(如
--ns /robot1),调用侧与服务端要保持相同命名空间;domain_id也要一致
4. 动态库找不到
若报错指向找不到
libti5_trajectory_planner.so或其它 ti5_control 相关.so,优先确保你已执行正确的source(见上文一致性自检)若你确实需要手动让系统加载路径可见(高阶、非必须),可将 ti5_control 的 lib 路径写入
ld.so.conf.d,再执行sudo ldconfig(路径按工作空间实际调整)
5. CAN/串口权限
CAN/网卡类通常不建议普通权限下直接跑;若需要请按你们环境配置 capability
若你执行
ros2 launch ti5_bringup ti5_bringup.launch.py type:=T140A(或开启enable_sri_can)时遇到 CAN 权限相关报错,建议先手动运行服务脚本打开所需能力:./script/run_ti5_services.sh --type T140A该脚本会对
joint_manager/sri_can_node设置setcap cap_net_admin,cap_net_raw+eip(以及必要时刷新动态库加载配置),用于非 sudo 访问 CAN。
灵巧手串口权限不足时,常见修复是把用户加入
dialout组说明:
setcap能力是写在二进制文件(可执行文件路径)上的。如果你把ros包移植到其它目录、或重新编译后生成了新的可执行文件,能力可能不会自动继承,此时需要再运行一次./script/run_ti5_services.sh --type <你的型号>重新配置。
6. CSV 动作播放失败
CSV 文件与当前运行的
ti5_control安装布局、型号目录需匹配典型排查思路:确认对应
<型号>/...csv是否存在于当前ti5_control安装前缀的share/目录下