关于gazobo加载之后机械臂疯狂抖动

用moveit配置完dubot_magician机械臂之后,我运行roslaunch my_magician3 gazebo.launch将机械臂加载到gazebo世界里面,发现机械臂出现了疯狂抖动:

搞了很久也没有搞明白,后来请教师兄,得知原因如下:
我刚开始的gazebo.launch文件中代码是这样写的

圈1的代码是将机械臂模型加载到世界坐标系中的相应位置(x,y,z):

我在这里将其设置为(0,0,0).

而重要的一点是:gazebo加载出来的模型具有碰撞属性,如果一个可动的部分与其他物体发生碰撞,那么它就会把它弹开。而发生碰撞,就是说两个物体重合了:二者坐标相近或者相等,造成体积有重合,进而发生碰撞。

看各个部分坐标,就要看urdf文件,那么我的urdf文件如下:

图没有截全,但上下两图连起来是连贯的。

我画圈的部分是magician_origin_joint1的坐标,可以看到它的父连杆是magician_origin,子连杆是magician_base,它相对于父连杆magician_origin的位置是(x,y,z)=(0,0,-0.139)就意味着在magician_origin下方0.139,而magician_origin和大地相连,坐标为(0,0,0),那么就意味着magician_origin_joint1和大地发生了碰撞,所以会“拼命”把它弹开(或许是互相弹开),所以会出现不断疯狂抖动的情况。

那么解决办法如下:
将gazebo.launch中的圈2中的z坐标改成大于0.139即可,因为gazebo会按照urdf的顺序来加载模型,那么先加载world,再加载origin,然后magician_origin_joint1。。。。一直加载到结尾,那么只要保证机械臂的所有部分都高于地面,不和地面发生碰撞即可。

题外话:
无论是launch文件还是urdf文件,它们都是xml文件,按照行的顺序执行,也可以看一看xml文件相关的。

  • 11
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
机械臂轨迹规划是机械臂控制中的重要研究领域,其目标是使机械臂能够在给定的起始和目标位置之间找到一条合适的轨迹,以完成指定的任务。以下是机械臂轨迹规划的研究现状: 1.经典方法:最常用的经典方法包括逆运动学、插值和优化算法。逆运动学方法通过解析或数值方法计算关节角度,从而实现轨迹规划。插值方法通过将起始和目标位置之间的路径分段,并在每个路径上进行插值,得到平滑的轨迹。优化算法则通过定义成本函数,使用数学优化技术来寻找最佳轨迹。 2.基于搜索的方法:搜索算法如A*算法、D*算法等被广泛应用于机械臂轨迹规划中。这些算法通过搜索状态空间,寻找一条最优路径。通过引入启发式函数,可以提高搜索效率和轨迹质量。 3.基于启发式的方法:启发式方法利用经验规则或启发式函数来引导轨迹规划过程。例如,采用人工势场法可以根据目标位置和障碍物位置计算关节力或速度,从而规划避障路径。另一种常见的方法是采用采样策略,在关节空间中随机采样,通过评估采样点的有效性来搜索合适的路径。 4.基于学习的方法:近年来,深度学习技术在机械臂轨迹规划中得到广泛应用。使用神经网络可以对大量的轨迹数据进行学习,并生成新的轨迹。此外,强化学习方法也被用于机械臂轨迹规划,通过与环境进行交互,学习最优的动作策略。 总体而言,机械臂轨迹规划的研究现状涵盖了经典方法、搜索算法、启发式方法和学习方法。这些方法各有优劣,应根据具体任务和环境选择合适的方法。未来,随着人工智能机器学习技术的不断发展,机械臂轨迹规划将继续进一步提高。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值