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

Implement opencv methods robotworld hand eye camera #995

Open
miguelriemoliveira opened this issue Oct 15, 2024 · 3 comments
Open

Implement opencv methods robotworld hand eye camera #995

miguelriemoliveira opened this issue Oct 15, 2024 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@miguelriemoliveira
Copy link
Member

Required by #994.

FYI @Kazadhum .

We are interested in having these two additional opencv methods because they are able to estimate the hand to pattern transforms, which means we could use their transform to compute the reprojection error without using the atom estimation.

@miguelriemoliveira
Copy link
Member Author

miguelriemoliveira commented Oct 15, 2024

Hey @Kazadhum ,

this seems to be working fine.

The script is: https://github.com/lardemua/atom/blob/noetic-devel/atom_evaluation/scripts/other_calibrations/cv_eye_to_hand_robot_world.py

I also think I am saving the hand to pattern transform estimation to the dataset, so you can try to use this to see if the evaluation makes more sense.

@Kazadhum
Copy link
Collaborator

Kazadhum commented Oct 15, 2024

Hi! I think I found a mistake in the code:

available_methods = ['tsai', 'park', 'horaud', 'andreff', 'daniilidis']
if args['method_name'] not in available_methods:
atomError('Unknown method. Select one from ' + str(available_methods))
if args['method_name'] == 'tsai':
method = cv2.CALIB_ROBOT_WORLD_HAND_EYE_SHAH
elif args['method_name'] == 'park':
method = cv2.CALIB_ROBOT_WORLD_HAND_EYE_LI
else:
atomError('Unknown method. Select one from ' + str(available_methods))

So the list of available methods should change and the if() statements too, right?


changing it to:

    available_methods = ['shah', 'li']
    if args['method_name'] not in available_methods:
        atomError('Unknown method. Select one from ' + str(available_methods))

    if args['method_name'] == 'shah':
        method = cv2.CALIB_ROBOT_WORLD_HAND_EYE_SHAH
    elif args['method_name'] == 'li':
        method = cv2.CALIB_ROBOT_WORLD_HAND_EYE_LI
    else:
        atomError('Unknown method. Select one from ' + str(available_methods))

It now works. Can I push these changes?

@miguelriemoliveira
Copy link
Member Author

miguelriemoliveira commented Oct 15, 2024 via email

Kazadhum added a commit that referenced this issue Oct 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Development

No branches or pull requests

2 participants