Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Calibrator not working with arm #28

Open
lrapetti opened this issue Oct 3, 2018 · 2 comments
Open

Calibrator not working with arm #28

lrapetti opened this issue Oct 3, 2018 · 2 comments

Comments

@lrapetti
Copy link
Contributor

lrapetti commented Oct 3, 2018

I was trying to run the calibrator on arm but I am getting an error while parsing the data dumper in the readStateExt function.

What happens is that the number of joints of the arm (n) that is passed to this function is 7 accordingly to the model without the fingers. This involves a format of the parser like:

%d %f (%f %f %f %f %f %f %f) [ok]

However, looking at the data dumper, the stored data consider the full arm (16 Dof) so they have the following form:

11488 1538563557.699300 (-0.181274856628068 44.4452989387181 0.0878908395772451 50.0977785590297 0.0 0.0 -0.0439454197886225 15.3863901034915 29.8334468590011 0.0 19.1711893827866 0.70312671661796 9.38784030234449 0.70312671661796 6.72914240513282 0.0) [ok]

@nunoguedelha did you ever experience this problem? It could be easily fixed by adding the full arm model in the framework model. Is the model depending on the URDF or is it defined somewhere else?

@traversaro
Copy link
Member

I suspect the number "7" is connected to

.

@lrapetti
Copy link
Contributor Author

lrapetti commented Oct 3, 2018

I suspect the number "7" is connected to

sensors-calib-inertial/src/@JointsDbase/getJointNames.m

Line 37 in dacb506
armJoints = @(side) {...
.

@traversaro I tried to add the missing joint there:

armJoints = @(side) {...
    [side '_shoulder_pitch'],[side '_shoulder_roll'],[side '_shoulder_yaw'],...
    [side '_elbow'],[side '_wrist_prosup'],[side '_wrist_pitch'],[side '_wrist_yaw'],...
    [side '_hand_finger'],[side '_thumb_oppose'],[side '_thumb_proximal'],...
    [side '_thumb_distal'],[side '_index_proximal'],[side '_index_distal'],...
    [side '_middle_proximal'],[side '_middle_distal'],[side '_pinky']};

but I am always getting "7" as DOF number of the arm. I was suspecting too that the DOF number was given by the file you pointed since it was the only one referring to the seven joints (shoulder_pitch, shoulder_roll, shoulder_yaw, elbow, wrist_prosup, wrist_pitch, wrist_yaw). In all the other files (apart from URDF), the only joints that are listed, are the four joints of the arm that are calibrated during the procedure (shoulder_pitch, shoulder_roll, shoulder_yaw, elbow).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants