Astra Pro RGB Camera Calibration File

Hello!

I am currently trying to use the Astra Pro RGB camera on Ubuntu 16.04, ROS Kinetic.

Since the Astra PRO RGB camera is not working with OpenNI2, I am using the usb_cam node to publish the RGB images. However, when echoing the /usb_cam/camera_info topic, it seems that it is empty:

– header:
seq: 528
stamp:
secs: 1486431518
nsecs: 934969955
frame_id: head_camera
height: 480
width: 640
distortion_model: ‘’
D:
K: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
R: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
P: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
binning_x: 0
binning_y: 0
roi:
x_offset: 0
y_offset: 0
height: 0
width: 0
do_rectify: False

Are there any values given by default for the RGB camera on the Astra Pro? Or would I have to go through a manual calibration procedure? (i.e. camera_calibration/Tutorials/MonocularCalibration - ROS Wiki)

I am really just looking for at least just the K and P values. It seems that the /camera/depth/camera_info topic does have these by default for the depth camera:

header: 
  seq: 40
  stamp: 
    secs: 1486436411
    nsecs: 702356569
  frame_id: camera_depth_optical_frame
height: 480
width: 640
distortion_model: plumb_bob
D: [0.0, 0.0, 0.0, 0.0, 0.0]
K: [570.3422241210938, 0.0, 314.5, 0.0, 570.3422241210938, 235.5, 0.0, 0.0, 1.0]
R: [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]
P: [570.3422241210938, 0.0, 314.5, 0.0, 0.0, 570.3422241210938, 235.5, 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
---

EDIT1: Also, I would be open for other methods to get RGB image topics on ROS Kinetic. I tried the Orbbec provided package for RGB on OpenNI2 (i.e. Universal Download Thread for Astra Series Cameras - #7 by David) but I didn’t know how to get it working. So far I am using the Astra SDK for the depth/IR; and the usb_cam for the camera images.

Thanks,

Yes, you should calibrate. I’ve roughly followed this tutorial:

http://wiki.ros.org/openni_launch/Tutorials/IntrinsicCalibration

These are the values for my camera:

rgb_16111910172.yaml

image_width: 640
image_height: 480
camera_name: rgb_Astra_Orbbec
camera_matrix:
  rows: 3
  cols: 3
  data: [606.811009, 0.000000, 325.199941, 0.000000, 611.104701, 227.591593, 0.000000, 0.000000, 1.000000]
distortion_model: plumb_bob
distortion_coefficients:
  rows: 1
  cols: 5
  data: [0.142541, -0.248887, -0.005254, -0.005417, 0.000000]
rectification_matrix:
  rows: 3
  cols: 3
  data: [1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000]
projection_matrix:
  rows: 3
  cols: 4
  data: [619.607422, 0.000000, 321.870740, 0.000000, 0.000000, 624.327148, 225.183125, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000]

depth_16111910172.yaml

image_width: 640
image_height: 480
camera_name: depth_Astra_Orbbec
camera_matrix:
  rows: 3
  cols: 3
  data: [581.1102688880432, 0, 305.7483731000336, 0, 576.1734668524375, 244.8215753417885, 0, 0, 1]
distortion_model: plumb_bob
distortion_coefficients:
  rows: 1
  cols: 5
  data: [-0.06692220443705026, 0.1498782429471145, -0.0002153367450633254, -0.002511652272525056, 0]
rectification_matrix:
  rows: 3
  cols: 3
  data: [1, 0, 0, 0, 1, 0, 0, 0, 1]
projection_matrix:
  rows: 3
  cols: 4
  data: [581.693603515625, 0, 304.4005701600981, 0, 0, 576.5119018554688, 244.1130335158014, 0, 0, 0, 1, 0]
1 Like

Hi,

I have an Orbbec Persee and I want to obtain a RGB point cloud of different objects.

My operating system is Ubuntu 16.04 LTS and I have ROS Kinetic installed.

I installed this driver:GitHub - orbbec/ros_astra_launch: Launch files to open an Astra device and load all nodelets to co and the camera publishes both depth, IR and RGB topics fine (I can see them all in rviz).

However, I cannot get the rgb point cloud! I also realized that topics are being published at different frame rates, e.g. /camera/rgb/image_raw publishes is being published at an average rate of 12 hz, whereas /camera/depth/image is published at an average rate of 7hz. Maybe this causes problem of synchronism?

Could you please suggest me a solution for my problem?

Thank you,
Duarte Rodrigues

1 Like

Hello All,

I followed this and calibrated my Astra Pro Camera.

Below are my calibration parameters in .yaml file.

FOR RGB Camera.

image_width: 640
image_height: 480
camera_name: rgb_Astra_Orbbec
camera_matrix:
rows: 3
cols: 3
data: [585.3933817769559, 0, 315.1468411661461, 0, 585.1118292242563, 241.6570193534038, 0, 0, 1]
distortion_model: plumb_bob
distortion_coefficients:
rows: 1
cols: 5
data: [0.03865797395426305, 0.07468333044552319, 0.002909354535182612, -0.003725931525450735, 0]
rectification_matrix:
rows: 3
cols: 3
data: [1, 0, 0, 0, 1, 0, 0, 0, 1]
projection_matrix:
rows: 3
cols: 4
data: [604.7041015625, 0, 313.376431985409, 0, 0, 604.9490356445312, 242.8081172994916, 0, 0, 0, 1, 0]

For DEPTH Camera

image_width: 640
image_height: 480
camera_name: depth_Astra_Orbbec
camera_matrix:
rows: 3
cols: 3
data: [612.1825719518471, 0, 258.5589253423354, 0, 594.4900977664436, 212.8844393256715, 0, 0, 1]
distortion_model: plumb_bob
distortion_coefficients:
rows: 1
cols: 5
data: [-0.01226897482670551, 0.04475381285627289, -0.0155041470832233, -0.04673613712298955, 0]
rectification_matrix:
rows: 3
cols: 3
data: [1, 0, 0, 0, 1, 0, 0, 0, 1]
projection_matrix:
rows: 3
cols: 4
data: [596.9220581054688, 0, 233.6676585478999, 0, 0, 613.8265991210938, 207.510105180836, 0, 0, 0, 1, 0]

If anyone finds this not accurate enough then please let me know so that I can correct my parameters.

Cheers,
Prasanna