Hello List,
Creating simulation of a rower in a boat using ros, gazebo and trac_ik. There are three kinematic loops in the robot's description. This cannot be described in URDF, so they should be closed when generating the SDF from it. I use ik_fast to find the correct joint values for this. I created stubs on both sides of the, still, broken arm's, and ask trac_ik how to close them.
The project can be found om my github page. The code resides in the boot3_description directory. Please see this screenshot of the rower in rviz. The loop with the left arm is closed, but the right arm not yet. Also note the stub-links that have to be placed on top of each other.
I create a program ik_1.py that uses the joint state controller
and trac_ik
to calculate the correct values of the arm joints to close the loop.
The new initial joint values are written in param.xacro to be used later.
Now my question. The program works perfectly when closing the left arm, but does NOT yield the proper values for the right arm. trac_ik finds a solution, but when the new values are used the right arm is not connected.
I can't find any difference in the two chains, apart of course of the different values to get another arm. How can trac_ik find a solution that is clearly wrong?
Hopefully someone can shed some light on this.
UPDATE: I was confused, I use trac_ik, not ik_fast.
Thanks in advance, Sietse
Originally posted by Sietse on ROS Answers with karma: 168 on 2019-03-07
Post score: 0
Original comments
Comment by gvdhoorn on 2019-03-07:
You keep referring to ik_fast
, but in your script I only see trac_ik
.
Comment by Sietse on 2019-03-07:
Oops, you are right. Thanks, Updated.