thien94 / orb_slam3_ros

A ROS implementation of ORB_SLAM3
GNU General Public License v3.0
261 stars 81 forks source link

What is the unit of the camera pose #37

Open goodstudent9 opened 3 months ago

goodstudent9 commented 3 months ago

May I ask in what unit the output camera coordinates are? For example, if we calculate the distance difference between two points using these coordinates, what would be the unit of this distance in real-world terms?

thien94 commented 3 months ago

Hi @goodstudent9 , for monocular mode, there is no unit to the coordinates because of an issue known as scale ambiguity. There is a static ratio between the output coordinates and real-world distance, but you need additional information to figure it out.

For other modes (stereo, depth, mono-imu, stereo-imu), the unit is metric as how it should be in real-world. However, it is always prudent to verify as there are many factors involved (the scale of the environment, the accuracy of the calibration parameters, the movements during initialization etc.)

Hope this helps.

goodstudent9 commented 3 months ago

Hi @goodstudent9 , for monocular mode, there is no unit to the coordinates because of an issue known as scale ambiguity. There is a static ratio between the output coordinates and real-world distance, but you need additional information to figure it out.

For other modes (stereo, depth, mono-imu, stereo-imu), the unit is metric as how it should be in real-world. However, it is always prudent to verify as there are many factors involved (the scale of the environment, the accuracy of the calibration parameters, the movements during initialization etc.)

Hope this helps.

“the unit is metric as how it should be in real-world” I am a little confused. In the camera_pos topic, I can get the camera pos every step. I want to know if the Euclidean Distance of this two position is the in meter scale with RealSense Camera. Such as if I calculate the distance, it is 3.25. Then in real world, the distance should be 3.25 meters, right?