解决报错 AttributeError: ‘tuple‘ object has no attribute ‘serialize‘

在运行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()

即可

再运行时不再报错

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Python编程中,当你看到类似于"AttributeError: 'tuple' object has no attribute 'xxx'"的错误消息时,这意味着你在一个元组对象上尝试调用一个不存在的属性。元组是Python中的不可变序列类型,不支持修改元素的操作或添加新属性。 在引用中,报错是因为尝试对一个元组对象调用encode方法,但元组对象没有encode属性。这通常发生在尝试发送邮件时。 在引用中,报错是因为尝试对一个元组对象调用shape属性,但元组对象没有shape属性。这通常发生在尝试对图像进行resize操作时。 在引用中,报错是因为安装了与Python版本不兼容的包,导致出现冲突。具体来说,某个包的接口与Python 3.5版本严重冲突,而你使用的是Python 3.7版本。 为了解决这些问题,你可以检查你的代码,确认是否使用了正确的对象类型。如果是在调用第三方库时出现了问题,你可以尝试更新库的版本或寻找其他解决方案。如果是版本兼容性问题,你可以尝试降级Python版本或找到适配当前Python版本的包。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python编程,排除163邮箱发送邮件报错AttributeError: ‘tupleobject has no attribute ‘encode‘)](https://blog.csdn.net/qq_40674586/article/details/107056128)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [使用VideoCapture().read()时,imutils报错AttributeError: ‘tupleobject has no attribute ...](https://blog.csdn.net/weixin_48911487/article/details/123828104)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [pip install xxx 出现 AttributeError: ‘tupleobject has no attribute ‘read’ 错误](https://blog.csdn.net/weixin_48636525/article/details/126162274)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值