Ask Your Question

Revision history [back]

1 . [..] I see in the terminal that i'm getting feedback that says KDL, did the solver really not change?

What you describe is (on a high-level) how you would configure an IK plugin for a MoveIt configuration, so without seeing exactly what you did, I'd say it should work.

How do I change the solver via RViz/MoveIt?

You don't / can't. The only thing you can do -- which is somewhat via MoveIt -- is to load the MoveIt configuration pkg into the MoveIt Setup Assistant, then going to the Planning Groups screen and after selecting the group, clicking Edit Selected button. There you can select a plugin from the drop-down.

But that is essentially the same as changing the kinematics_solver entry in the kinematics.yaml file.

Make sure you've saved the file though, and relaunched everything correctly.

2 . When we move to a programmatic method to control the robots, the use of moveit_commander (python) will probably be deployed. Since we have trac_ik set in the yaml file, it should automatically use that solver for our control scripts, right?

The commander will talk to whatever move_group instance you have configured and running. So if you have your solver configured properly, it should use that.

3 . In regards to our approach, does getting good results in RViz translate to good results in moveit_commander via python? I know it may sound silly, but with the same solver we should get the same solution regardless of interface?

I can't say for sure, as I'm not intimately familiar with the source code of moveit_commander. In the end, both RViz and the commander use the service and action interfaces exposed by a move_group. So if the service requests and action clients submit the same data, you should get the same performance.

As, depending on the planner, there will be an element of chance in the motion planning, I don't know if you'll get the exact same solution, but that would also be an issue with two consecutive RViz sessions.

4 . Would anyone suggest suggest a different method of getting from joint space to Cartesian? We are using the ros_controller for joint state control.

I'm not sure I understand this question.