lardemua / atom

Calibration tools for multi-sensor, multi-modal robotic systems
GNU General Public License v3.0
250 stars 26 forks source link

Implement opencv methods robotworld hand eye camera #995

Open miguelriemoliveira opened 1 week ago

miguelriemoliveira commented 1 week ago

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 commented 1 week ago

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 commented 1 week ago

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

https://github.com/lardemua/atom/blob/beb0f1b8b1e8012f473e0bd3c784f7a341feb8d9/atom_evaluation/scripts/other_calibrations/cv_eye_to_hand_robot_world.py#L154-L163

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 commented 1 week ago

Right. Thanks

On Tue, Oct 15, 2024, 2:17 PM Diogo Vieira @.***> wrote:

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

https://github.com/lardemua/atom/blob/beb0f1b8b1e8012f473e0bd3c784f7a341feb8d9/atom_evaluation/scripts/other_calibrations/cv_eye_to_hand_robot_world.py#L154-L163

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

— Reply to this email directly, view it on GitHub https://github.com/lardemua/atom/issues/995#issuecomment-2413892108, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACWTHVWYVZSISLTVBAGZ5XLZ3UIWNAVCNFSM6AAAAABP65I2QSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMJTHA4TEMJQHA . You are receiving this because you authored the thread.Message ID: @.***>