Rosanswers logo


Has anyone been able to use the Astra Pro camera with ROS Kinetic and rtabmap? I was able to get the Astra Pro camera working with rviz (RGB image stream + Depth) using the usb_cam node and the Astra SDK.

However, I keep getting a strange error when using rtabmap_ros. I described the error in the following link: https://github.com/introlab/rtabmap_ros/issues/147

Has anyone been able to do so, and if so, would you mind providing some guidance on the topic?

Thank you!

EDIT: Attached important information from the described link:

I am using Ubuntu 16.04 and Kinetic ROS.

I am using an Astra Pro Camera. Since RGB is not supported for OpenNi for the Pro version, I am using the Astra SDK for the Depth, and the usb_cam_node for the RGB camera: https://github.com/orbbec/ros_astra_camera https://github.com/bosch-ros-pkg/usb_cam

I installed rtabmap first from the binaries and did not work. Then I deleted everything and installed from Source and I still get the same error. I made sure to change the topics for the rtabmap launch, but I am getting the following error:

/rtabmap/rgbd_odometry subscribed to (approx sync): /usb_cam/image_raw, /camera/depth_registered/image_raw,
/usb_cam/camera_info terminate called after throwing an instance of 'UException' what(): [FATAL] (2017-02-06 16:37:20.365) CameraModel.cpp:77::CameraModel() Condition (fx > 0.0) not met! [fx=0.000000]

Followed by the following:

[ WARN] [1486366640.733577972]: odometry: Could not get transform from camera_link to head_camera (stamp=1486366640.510289) after 0.200000 seconds ("wait_for_transform_duration"=0.200000)! Error=". canTransform returned after 0.201911 timeout was 0.2."

I tried creating a calibration file, but it seems that if I go to Window->Preferences->Source it doesn't allow me to change any of the parameters (everything is dark).

My launch commands are as follows (none of them work):

roslaunch rtabmap_ros rgbd_mapping.launch rtabmap_args:="--delete_db_on_start" rviz:=true rtabmapviz:=false rgb_topic:=/usb_cam/image_raw depth_topic:=/camera/depth_registered/image_raw camera_info_topic:=/usb_cam/camera_info

roslaunch rtabmap_ros rgbd_mapping.launch rtabmap_args:="--delete_db_on_start" rgb_topic:=/usb_cam/image_raw depth_topic:=/camera/depth_registered/image_raw camera_info_topic:=/usb_cam/camera_info

EDIT1: It seems that the /usb_cam/camera_info topic is giving me zero for most of the values. Perhaps something to do with the Astra Pro driver that is not passing the RGB camera info to the usb_cam node?

-- header:    
seq: 528   
    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 
x_offset: 0   
y_offset: 0   
height: 0 
width: 0   
do_rectify: False

Originally posted by enthusiast-robotics on ROS Answers with karma: 41 on 2017-02-06

Post score: 0

Original comments

Comment by gvdhoorn on 2017-02-06:
Cross-posting like this (to the pkg's issue tracker) is not really nice: we run the risk of duplication of effort and reduced visibility of the discussions.

Please update this post with at least the same details as you put in the issue on the tracker.

Comment by enthusiast-robotics on 2017-02-06:
Sorry about that! Updated the post with the same details as the issue on the tracker!


1 Answer 1


Rosanswers logo

Issue solved! Please refer to https://github.com/introlab/rtabmap_ros/issues/147

There were two problems when setting the Astra Pro, Ubuntu 16.04, ROS Kinetic with RTABmap:

  1. There was no default RGB calibration file. Simply run the monocular calibration procedure (http://wiki.ros.org/camera_calibration/Tutorials/MonocularCalibration ; requires a checkerboard) and obtain a .yaml file. Then edit this .yaml file to match with the camera_name(head_camera by default), and place it inside the $ROS_HOME/camera_info folder.
  2. Since Astra Pro did not seem to have direct access to the RGB camera on the Astra SDK, I used the usb_cam package to access the data (https://github.com/bosch-ros-pkg/usb_cam) However, usb_cam uses by default the name "head_camera" for the frame_id and camera_name. Simply change the frame_id to "camera_rgb_optical_frame", and remake the package.


Originally posted by enthusiast-robotics with karma: 41 on 2017-02-07

This answer was ACCEPTED on the original site

Post score: 0

Original comments

Comment by distro on 2022-03-26:
@enthusiast-robotics Does your solution work for the Astra orbbec pro camera?

Comment by matrix on 2023-02-01:
Hi,have you tried the solution on astra pro camera,I use the ros_astra_camera driver can successfully display the rgb,depth and ir image but it can't detect my camera in rtapmap


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.