问题描述:由于项目需要焊接,但是在使用moveit时遇到问题就是他的焊接轨迹规划算法自动规划出来的轨迹都是速度从0-0的路径,而且中间速度无法自定义修改,只能更改joint_limits.yaml文件修改全局的变量,因此需要直接修改plan变量。
一般而言,我们默认使用moveit自带的ompl规划器进行运动规划,但这样就会面临两个问题:
1)BUG1:当速度过快或采样空间不合适时会导致笛卡尔空间的轨迹虽然数值上连续,但选解时,逆解数量大,导致机械臂关节空间不连续,使笛卡尔空间的运功轨迹不连续;
2) BUG2:降速问题,当使用moveit默认规划路径时,速度会按照默认的限制速度行进,无法通过调节降速比例因子来控制速度的大小;
针对BUG1,之前已经给出了解决方法就是更换求解器trac_IK或者IKFast等或者直接自己做逆解算法。(我使用的Trac_IK插件,更换方法详见这篇博文:ROS中MoveIt插件求解器更换-Trac_IK部分)
下面针对BUG2展开解决过程:
在Moveit插件中,运用规划算法时遵从的速度大小是有“joint_limit.yaml”文件内的定义决定的,所以解决的第一个方法很简单:
方法1:修改joint_limit.yaml文件
更改max_velocity:后面数值的大小即可,单位为rad/s,加速度单位为rad/s²;
缺点:这样一改的话最大速度成了这个,整体速度都下来了,有时候需要快速,因此对于本项目需要焊接阶段降速的情况还是没有什么卵用,整体效率就下降了。
方法2:更换轨迹规划器(本次