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
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
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:
This further yeilds:
Tx = -44485.417759835844, fx' = 739.0412675724488
Baseline = Tx/-fx' = -44485.417759835844/ - 739.0412675724488 = 60.193415052