在使用KDL求解器求解运动学逆解时,经常出现找不到解的情况,具体显示为:Fail: ABORTED: No motion plan found.;
解决办法是尝试更换求解器的方法解决这个问题,我在这里更换的是Tarc_ik。
参考资料为: https://zhuanlan.zhihu.com/p/37472204
在更换运动学求解器的过程中,上边的参考资料说到直接修改kinematics.yaml文件即可,但是操作之后会提示:
The kinematics plugin (xarm6) failed to load. Error: According to the loaded plugin descriptions the class tarc_ik_kinematics_plugin/trac_ikKinematicsPlugin with base class type kinematics::KinematicsBase does not exist. Declared types are cached_ik_kinematics_plugin/CachedKDLKinematicsPlugin cached_ik_kinematics_plugin/CachedSrvKinematicsPlugin kdl_kinematics_plugin/KDLKinematicsPlugin lma_kinematics_plugin/LMAKinematicsPlugin srv_kinematics_plugin/SrvKinematicsPlugin trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
[ERROR] [1609958750.598666348]: Kinematics solver could not be instantiated for joint group xarm6.
解决办法为:
更换运动学求解器的正确方法是:
1.打开Moveit_setup_assistant;
2.加载之前已经配置好的机器人模型;
3. 在Moveit_setup_assistant中,将运动学求解器修改为Tarc_ik;(关键步骤)
4. 在Moveit_setup_assistant中,保存前面的修改。