ubuntu18.04+ ROS melodic 安装trac-ik
IKFast 太麻烦了,出现错误太多,安装失败!
转而安装Trac-IK,方法很简单,ROS的软件源中已经集成了TRAC-IK的安装包,可以直接使用以下命令安装:
sudo apt-get install ros-melodic-trac-ik
然后修改机械臂MoveIt!配置功能包下的kinematics.yaml文件就可以使用啦:
- arm:
- kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
- kinematics_solver_attempts: 3
- kinematics_solver_search_resolution: 0.005
接下来再次运行demo.launch,默认加载的就是TRAC-IK运动学插件了,试试规划求解的效率是不是高了很多!
但是TRAC-IK也有问题,它是一种数值算法,每次求解得到的关节位置不一定相同。
IKFAST是一种基于解析算法的运动学插件,可以保证每次求解的一致性。
换掉KDL(以aubo机械臂的功能包、更换Trac_IK求解器为例,其他机械臂思路类似。)
在aubo_robot功能包下找到目录src/aubo_i5_moveit_config/config/kinematics.yaml文件,打开它,在manipulator_i5:下面一行,把kdl那一行注释掉,仿写Trac_IK的求解器,结果如下图所示,这样就更换完了,运行自己的程序试一下就行。
修改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则更换成功
转自https://blog.csdn.net/D124lab/article/details/121531344
本文来自博客园,作者:NLazyo,转载请注明原文链接:https://www.cnblogs.com/bile/p/17965939