Handeye calibration

33 views
Skip to first unread message

Goksan Isil (Alumni)

unread,
May 30, 2024, 5:35:04 AMMay 30
to Ceres Solver
Hi,
I'm trying to solve the hand-eye calibration problem (which is solving the sensor extrinsics transform from the robot base frame), through the equation A*X = X*B, where A is the delta motion of the robot base in robot base frame, X is the sensor extrinsics transform from robot base to sensor and B is the delta motion of the sensor in sensor frame.

In my cost function, at some point I do:

A = X*B*X^-1 where X is represented as 4-by-4 transformation matrix ( I generate this using 6 optimization parameters: 3 for translation, 3 for axis angle rotation, which is converted to rotation matrix via ceres::AngleAxisToRotationMatrix)

Even though the optimization is converging, I'm getting very noisy values for X (the extrinsics). So I was wondering if X*B*X^-1 could constitute a numerical issue.

Thanks in advance

Sameer Agarwal

unread,
May 30, 2024, 7:40:01 PMMay 30
to ceres-...@googlegroups.com
Hard to say what the cause of the noise is based on the information you have provided. It also matters how you are computing XBX^{-1}.
Sameer


--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/e6e68672-8c6b-4688-87b1-e5e03d0948f0n%40googlegroups.com.

Dmitriy Korchemkin

unread,
May 31, 2024, 12:49:36 AMMay 31
to ceres-...@googlegroups.com
Are you computing X^{-1} using matrix inverse explicitly, or using SE3 group inverse:

X= [[R | t]; [0,0,0,1]] => X^{-1} = [[R^T | -R^T t]; [0,0,0,1]]?

--
Message has been deleted

Goksan Isil (Alumni)

unread,
Jun 4, 2024, 12:45:21 AMJun 4
to Ceres Solver
I've been using the matrix inverse explicitly. 
Reply all
Reply to author
Forward
0 new messages