您当前的位置: 首页 > 

鱼香ROS

暂无认证

  • 0浏览

    0关注

    498博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Moveit更换默认规划器KDL为TraceIk

鱼香ROS 发布时间:2021-10-26 14:10:29 ,浏览量:0

大家好,我是默默无闻小小鱼,最近有很多小伙伴关注了小鱼,感谢下大家的关注~ 感谢 今天说说如何给moveit更换默认的运动规划求解器,主要是将默认的KDL更换成Trac-Ik。

1.KDL介绍

Kinematics and Dynamics Library (KDL)是MoveIt!中的默认运动学求解器。

官方介绍:https://www.orocos.org/kdl.html 具有六个旋转关节的串行机器人手臂的骨架。这是运动学结构的一个示例,将运动建模和规范简化为参考系相对运动的几何问题。运动学和动力学库 (KDL) 开发了一个独立于应用程序的框架,用于运动学链的建模和计算,例如机器人、生物力学人体模型、计算机动画人物、机床等。它提供了几何对象(点、框架)的类库, line,… ),各种系列的运动链(串行、人形、并行、移动、…),以及它们的运动规范和插值。

KDL KDL是基于数值解,求解速度慢,在使用的个过程中,经常会提示规划失败、求解失败,所以我们要更换其他的求解器

2.Trac-IK

Trac-IK提供替代 KDL 中流行的反向雅可比方法的反向运动学求解器。具体来说,KDL 的收敛算法基于牛顿方法,在存在关节限制的情况下效果不佳。

一句话:基于KDL做了优化,本质还是数值解。

TRAC-IK 同时运行两个 IK 实现。一种是对 KDL 基于牛顿的收敛算法的简单扩展,该算法通过随机跳跃检测和减轻由于联合限制引起的局部最小值。第二种是 SQP(顺序二次规划)非线性优化方法,它使用更好地处理关节限制的拟牛顿方法。默认情况下,当这些算法中的任何一个收敛到答案时,IK 搜索会立即返回。

官方仓库:https://bitbucket.org/traclabs/trac_ik/src/HEAD/

来一章对比图 不同算法求解率和求解速度

3.Trac-IK安装配置 3.1 安装
  • ubuntu20
sudo apt-get install ros-noetic-trac-ik
  • ubuntu18
sudo apt-get install ros-melodic-trac-ik
3.2 配置

修改moveit生成的功能包中config目录下的kinematics.yaml文件内容。

替换 kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin (或类似)为 kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin

其他参数:

  • kinematics_solver_timeout(以秒为单位的超时,例如 0.005)
  • position_only_ik ARE
  • solve_type可以是 Speed、Distance、Manipulation1、Manipulation2默认为Speed

不需要的参数

  • kinematics_solver_attempts参数:与 KDL 不同,TRAC-IK 求解器在卡住时已经自动分重新启动
  • kinematics_solver_search_resolution 也不适用

完成修改后重新运行demo.launch即可,在启动日志中若看到Trae-IK则更换成功

4.总结

除了Trac-IK,还有IKFAST可以使用,但配置过程相对复杂,小鱼后面探索总结下,看看能不能做一个脚本,帮助大家轻松完成安装和配置。

今天就到这里~

关注
打赏
1666092100
查看更多评论
立即登录/注册

微信扫码登录

0.0658s