产品型号 / 套件
ROSLander 多模态机器人(2024 版),麦轮底盘,6 自由度总线舵机机械臂 机型标识:ROSLanderMecanum
版本 / 规格
镜像版本 V1.0.12(2024-12-31)
购买渠道
淘宝
控制板 / 主板
主控:Jetson Nano(Ubuntu 18.04) 下位机:随车控制板,串口设备 /dev/rrc
系统 / 软件 / 固件版本
-
系统:Ubuntu 18.04
-
ROS:Melodic(catkin 工作空间
~/ros_ws) -
Python:3.6(rospy 侧)+ 2.7(部分 SDK)
-
使用功能包:
~/ros_ws/src/competition -
舵机驱动:
driver/servo(servo_manager+servo_controllers)
镜像版本
V1.0.12(2024-12-31),未重刷,仍为出厂镜像
参考的教程或步骤
-
《3 机械臂偏差调节(选看).pdf》
-
《实验 1 基于 ROS 机械臂的关节运动控制实验.pdf》(第 1 页舵机 ID 分布图、第 10 页示例
[[1,700],[2,700],[3,100],[4,300],[5,500],[10,500]]) -
竞赛流程:
voice_control_navigation.py→ 到位后调用post_calibration校准 → 进入夹取
问题描述
机械臂整体异常,具体分两部分:
问题 1:2、3、4、5、10 号舵机在待机状态全部没有反应
开机前后机械臂姿态完全没有变化,不再有原来的「上电自动回位到竖直」动作。1 号云台舵机(未更换,保持原装)外观上未见异常。现象为静默不动,终端无任何报错。
问题 2:执行「校准对齐夹取平台」和「夹取功能校准」时,4 号和 10 号舵机无任何反应
-
视觉侧工作正常:
post_calibration返回success: True,图像流正常,能稳定输出x/y/angle(例如x: 558 y: 282 angle: 90.0),色块识别正常 -
参数也能正常保存:日志出现「正在保存参数 pick_stop_pixel_coordinate」和「ramp_calibration[0]」
-
但机械臂本体完全没有动作:4 号(腕部俯仰)不调姿,10 号(夹爪)不张合
-
因此对准流程走到最后一步无法完成,夹取也无法执行
报错信息 / 日志 / 截图
无任何 ERROR / WARN 输出。已附 3 张截图:
-
IMG-1:
ros_robot_controller_sdk直连测试,board.bus_servo_read_id(254)返回当前 ID: [4] -
IMG-2:
post_calibration返回success: True,视觉坐标持续输出,机械臂无动作 -
IMG-3:夹取校准阶段,参数保存正常(
pick_stop_pixel_coordinate、ramp_calibration[0]),机械臂无动作
复现步骤
-
上电开机,等待
start_app_node.service启动完成 → 机械臂停在原地,无任何回位动作 -
启动竞赛功能包,小车导航到夹取平台前
-
执行「校准对齐夹取平台」(
rosservice call /post_calibration)-> 视觉返回成功,4 号舵机不动 -
执行「夹取功能校准」-> 参数可保存,10 号夹爪不动
已经尝试过的操作
-
排查并确认过:4 号舵机曾因堵转过热烧毁(冒白烟),已更换
-
已更换 2、3、4、5、10 号舵机(共 5 个)为同型号新舵机
-
对 2、3、4、5 号新舵机重新做了编号
-
10 号夹爪新舵机未编号(接线数量不够,没有单独接到总线上做 ID 写入),目前为出厂默认状态
-
用
ros_robot_controller_sdk直连/dev/rrc读取 ID,广播读(id=254)返回[4] -
重启过服务,舵机仍无反应
补充说明
-
故障前一切正常,机械臂可以正常上电回位、正常夹取。变化点只有两个:机械臂使用次数增多 + 4 号舵机烧毁冒烟后整组更换
-
怀疑 10 号夹爪新舵机未编号是主因之一(出厂默认 ID 可能为 1),但不确定它会不会连带影响 2/3/4/5 号
-
想确认三件事:
-
① 更换新舵机后,是否必须逐个重新编号?10 号夹爪的编号是多少?
-
② 新舵机出厂默认 ID 是多少?如果 10 号仍是默认值,与 1 号云台同号,是否会导致整条总线通信异常、进而让 2/3/4/5 号也不响应?
-
③ 「上电待机自动回位」这个动作是由哪个节点/服务触发的?是
servo_manager启动时下发,还是 APP 侧下发动作组?(便于定位是「指令没发出」还是「舵机没收到」)
-
-
另外请确认:
servo_controller.yaml中connected_ids: [1, 2, 3, 4, 5, 6, 10]是否需要随实际编号同步修改?如果新舵机被编成了白名单以外的号(如 7、8、9、11),驱动是否会直接忽略该舵机且不报错? -
4 号舵机烧毁前有堵转发热迹象,请协助判断腕部俯仰轴是否存在装配干涉或负载过大问题,避免新舵机再次烧毁。