ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

ikfast plugin fails due to joint numbers mismatch

asked 2018-06-29 16:31:46 -0500

cpetlowany gravatar image

updated 2018-07-02 08:32:08 -0500

Hello,

I'm trying to make an ikfast plugin for an SIA5. I follow the steps listed here ( http://docs.ros.org/kinetic/api/movei... ) but no matter what I set as the base link and ee link and free link, I get the following errors:

[FATAL] Joint numbers mismatch: URDF has 7 and IKFast has 6

[ERROR] Kinematics solver of type 'sia5_sia5_kinematics/IKFastKinematicsPlugin' could not be initialized for group 'sia5'

[ERROR] Kinematics solver could not be instantiated for joint group sia5.

Any idea what could cause the error and how I can fix it?

I used the following command to generate the ikfast .cpp file:

python openrave-config --python-dir/openravepy/_openravepy_/ikfast.py --robot="$MYROBOT_NAME".dae --iktype=transform6d --baselink="$BASE_LINK" --eelink="$EEF_LINK" --freeindex="$FREE_INDEX" --savefile="$IKFAST_OUTPUT_PATH"

Where base link = 2, ee link = 15, free index = 8,

Although I did play around with different ee links and free indexes to see if that produced a different error.

Thanks!

Edit: This is my list of links

name              index parents          
-----------------------------------------
base_link         0                      
sia5_connectors   1     base_link        
link_s            2     base_link        
link_l            3     link_s           
link_e            4     link_l           
link_u            5     link_e           
link_r            6     link_u           
link_b            7     link_r           
link_t            8     link_b           
tool0             9     link_t           
tool0_oriented    10    tool0            
ft_sensor         11    tool0_oriented   
plasma_pen_holder 12    ft_sensor        
plasma_pen        13    plasma_pen_holder
eef               14    plasma_pen       
wrist_connectors  15    ft_sensor
edit retag flag offensive close merge delete

Comments

Which commands did you use (exactly) to generate the plugin? an SIA5 is a 7dof robot, so you would've to change some of the commands of the tutorial you link. Without knowing what you did, it'll be hard to help you.

gvdhoorn gravatar image gvdhoorn  ( 2018-06-30 01:18:29 -0500 )edit

re: edit: you have freeindex set to 8, which is the joint between links b and t. That is legal, but seems strange to me. For a 7dof SIA5 I would expect the e joint to be the free one. Do you have a specific reason for choosing the t joint?

gvdhoorn gravatar image gvdhoorn  ( 2018-07-02 08:36:43 -0500 )edit

Note also: you appear to have a split in the urdf tree (two links with base_link as their parent). I seem to remember IKFast having a problem with that. This section in the tutorial you ..

gvdhoorn gravatar image gvdhoorn  ( 2018-07-02 08:42:07 -0500 )edit

.. link also mentions that. Perhaps the wrong link is used as the end of your chain because of that, resulting in only 6 dofs to be encoded into the plugin?

gvdhoorn gravatar image gvdhoorn  ( 2018-07-02 08:42:37 -0500 )edit

No particular reason, I will try it with the e joint as the free joint.

cpetlowany gravatar image cpetlowany  ( 2018-07-02 08:45:31 -0500 )edit

I will also try to remove the tree index in the urdf

cpetlowany gravatar image cpetlowany  ( 2018-07-02 08:47:28 -0500 )edit

ikfast would not solve with the e joint as the free joint. I got the following error: __main__.CannotSolveError: CannotSolveError: need 6 joints

cpetlowany gravatar image cpetlowany  ( 2018-07-02 09:11:06 -0500 )edit

When I try to continue using the joint between b and t but without the tree in the urdf, I still receive the same first error.

cpetlowany gravatar image cpetlowany  ( 2018-07-02 09:12:10 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2018-07-02 09:11:57 -0500

gvdhoorn gravatar image

I'm getting the impression you're running into that tree index bug. Could you try with a 'bare' urdf (so only the robot, not the rest of your cell)?

edit flag offensive delete link more

Comments

1

Well, we don't know yet whether it's that bug specifically, but good to hear you got it to work. I'll post my comment as an answer.

gvdhoorn gravatar image gvdhoorn  ( 2018-07-02 10:19:30 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2018-06-29 16:30:35 -0500

Seen: 322 times

Last updated: Jul 02 '18