ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
The calibration needs to compute the inverse Jacobians from your joint chain as described in the paper [1]. If there is only one or no joint in the chain (or joints with parallel axes), the Jabobian will be singular. That would explain why you get a singular matrix error.
I've run into the same problem and added a 'translation' parameter to the 'cov' section in the estimation parameters at some point, which lets you specify a diagonal matrix to add on top of the Jacobian to get an invertible covariance Matrix. This is undocumented unfortunately, like the rest of the calibration pipeline.. :/
my_chain:
root: base_link
tip: head_link
cov:
joint_angles: [0.01]
translation: [0.002, 0.002, 0.002]
[1] http://www.willowgarage.com/sites/default/files/calibration.pdf
2 | No.2 Revision |
The calibration needs to compute the inverse Jacobians from your joint chain as described in the paper [1]. If there is only one or no joint in the chain (or joints with parallel axes), the Jabobian will be singular. That would explain why you get a singular matrix error.
I've run into the same problem and added a 'translation' parameter to the 'cov' section in the estimation parameters at some point, which lets you specify a diagonal matrix to add on top of the Jacobian to get an invertible covariance Matrix. This is undocumented unfortunately, like the rest of the calibration pipeline.. :/
my_chain:
root: base_link
tip: head_link
cov:
joint_angles: [0.01]
translation: [0.002, 0.002, 0.002]
The calibration pipeline should also publish Markers under the topic "pose_guesses" that give you some introspection into how the calibration converges, and there's a tool called error_visualization.py that you should take a look at.
Good luck!
[1] http://www.willowgarage.com/sites/default/files/calibration.pdf