在运行moveit_ik_demo.py时报错如下所示
File "/home/young/rm_eng/src/eng_arm_planing/scripts/moveit_ik_demo.py", line 88, in <module>
MoveItIkDemo()
File "/home/young/rm_eng/src/eng_arm_planing/scripts/moveit_ik_demo.py", line 66, in __init__
arm.execute(traj)
File "/opt/ros/noetic/lib/python3/dist-packages/moveit_commander/move_group.py", line 691, in execute
return self._g.execute(conversions.msg_to_string(plan_msg))
File "/opt/ros/noetic/lib/python3/dist-packages/moveit_commander/conversions.py", line 50, in msg_to_string
msg.serialize(buf)
AttributeError: 'tuple' object has no attribute 'serialize'
琢墨了一会后发现是move_group中plan函数的返回值有四个,分别为plan_success traj planning_time error code
因此,把源码中的
traj = arm.plan()
修改为
plan_success,traj,planning_time,error_code=arm.plan()
即可
再运行时不再报错