Skip to content

Stereo Baseline evaluates to 60m based on provided Ros calibration files #9

Description

@antoan

When viewing the output pointcloud of Tara in Rviz, the rendered poincloud cluster always appears very far out in relation to the sensor position.

In addition, when I ran the sensor with RTABMAP Slam algoritm on ros, I had warning messages reporting a baseline of 60m. So I decided to have a look at the calibration files saved in ./ros/camera_info directory to check this.

Calculating resultant baseline

From http://docs.ros.org/jade/api/sensor_msgs/html/msg/CameraInfo.html


# Projection/camera matrix 
#     [fx'  0  cx' Tx] 
# P = [ 0  fy' cy' Ty] 
#     [ 0   0   1   0] 

 For a stereo pair, the fourth column [Tx Ty 0]' is related to the 
#  position of the optical center of the second camera in the first 
#  camera's frame. We assume Tz = 0 so both cameras are in the same 
#  stereo image plane. The first camera always has Tx = Ty = 0. For 
#  the right (second) camera of a horizontal stereo pair, Ty = 0 and 
#  Tx = -fx' * B, where B is the baseline between the cameras. 
# Given a 3D point [X Y Z]', the projection (x, y) of the point onto 
#  the rectified image is given by: 
#  [u v w]' = P * [X Y Z 1]' 
#         x = u / w 
#         y = v / w 
#  This holds for both images of a stereo pair. 

By inspecting the above implementation we can obtain the following expression for the camera
B. = Tx/ -fx' .

To plugin clibration values into this expresion:

rostopic echo /stereo/right/camera_info yields the following calibration data:


baseline:
 header:  
seq: 58353 
  

stamp:  
    secs: 1487095146 
    nsecs: 395846011 
  frame_id: cameraRight 
  height: 480 
  width: 640 
distortion_model: plumb_bob 
 

D: [0.07605147268718865, -0.10460650838049133, -0.0007509911020167615, 0.00132543597977628, 0.0] 
K: [716.48014094073, 0.0, 372.7554435232446, 0.0, 716.48014094073, 207.9128389238769, 0.0, 0.0, 1.0] 
R: [0.9999239895914122, 0.0006505711472601458, 0.012312262049520396, -0.0006210945657670888, 0.99999693250006, -0.002397755619488692, -0.012313784192281496, 0.002389926286053135, 0.9999213263908381] 
 

P: [739.0412675724488, 0.0, 368.44042587280273, -44485.417759835844,  

    0.0, 739.0412675724488,  211.154052734375, 0.0,  

    0.0, 0.0, 1.0, 0.0] 

 
binning_x: 0 
binning_y: 0 
roi:  
  x_offset: 0 
  y_offset: 0 
  height: 0 
  width: 0 
  do_rectify: False 

This further yeilds:

Tx = -44485.417759835844, fx' = 739.0412675724488

Baseline = Tx/-fx' = -44485.417759835844/ - 739.0412675724488 = 60.193415052

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions