0
$\begingroup$

Rosanswers logo

Hi all,

below you can find my kinematics.yaml file. Since my robot only has 5 DoF and the IK solver has sometimes has probelms with finding solutions. So the position_only_ik parameter is set to true.

However, the ik-solver should at least try to find a solution according to the given 4D cartesian parameters (x,y,z,pitch). So I am wondering if I could use multiple kinematics solver or change the position_only_ik value online so that I can tell the robot: Use solver 1 with position_only_ik:false and if you failed use solver 2 with position_only_ik:true.

robot_arm:
kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin

kinematics_solver_search_resolution: 0.05
kinematics_solver_timeout: 0.005
position_only_ik: true


Originally posted by xman236 on ROS Answers with karma: 51 on 2020-08-06

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

So I am wondering if I could use multiple kinematics solver [..] so that I can tell the robot: Use solver 1 with position_only_ik:false and if you failed use solver 2 with position_only_ik:true.

No, this is currently not supported by MoveIt.

A workaround could be to implement an IK solver yourself which realises this behaviour (ie: uses multiple IK solvers internally itself).

That way MoveIt would only see a single solver, but you'd still achieve the behaviour you describe.

change the position_only_ik value online

Afaik position_only_ik is not a dynamic_reconfigure parameter, so this would also not be supported.

It would be easy to check though: just start MoveIt, start rqt_reconfigure and see whether that parameter is there.


Originally posted by gvdhoorn with karma: 86574 on 2020-08-07

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.