Can't view RGB-D with Astra Pro

We purchased an Astra Pro last year that we are just getting around to using. The end goal is RTAB Mapping. Right now though I just want to be able to view the RGB Depth Cloud in RVIZ. Here are the steps I’ve taken so far using Ubuntu 16.04 and ROS Kinetic (both are fully updated and working correctly).

  • Install OpenNI2 driver and verify Simple Streamer app works
  • Add Astra Master package to ROS
  • Add Astra Launch Package to ROS
  • Add USB_cam package to ROS to use the UVC camera of Astra Pro for RGB
  • Test each package to verify working
  • Use ROS monocular camera calibration for both RGB (using USB_Cam) and IR Camera. Produce two .yaml files named rgb_orbbec_astra.yaml and depth_orbbec_astra.yaml
  • Add those files to the .Ros/Camera_info folder
  • Change frame id inside usb_cam package to “camera_rgb_optical_frame”. Rebuild and install package (this link: Astra Pro with ROS & rtabmap - ROS Answers: Open Source Q&A Forum)
  • Use rqt_reconfigure to enable depth registration in the camera driver (not even sure this applies since the instructions I found mentioning this reference OpenNI, not OpenNI2) Can be found here : openni_launch/Tutorials/QuickStart - ROS Wiki

How I’m using it

  • New Terminal - Launch Roscore
  • New Terminal - catkin_ws - roslaunch astra_camera astra_pro_launch
  • New Terminal - catkin_ws - roslaunch usb_cam usb_cam launch file (forget name of actual launch file)
  • New terminal - Rviz

** Everything launches with no issues and I can see pretty much all of the topics I need listed under rostopic list, except for anything with rgb in it.

Results

I am able to view the depth camera image in rviz and add to that the usb_cam color image which gives me a sort of RGB-D image, but I would really prefer to get the pointcloud2 function working. I cannot use the registered_depth or registered_point topics for some reason. Also, I am getting an error on the terminal I launched the Astra files from which says “messages of type 0 have a lower bound than the one you provided.” Maybe that refers to the calibration file data I provided? Anyway, I would really appreciate any help someone could provide as to how to get the registered point stuff working.

Well, I got no replies, however, I was able to determine why the registered depth topics didnt work. To get those to work, you have to go to /dev/bus/usb/Bus_Number/ where bus number is usb bus number your camera is attached to. In my case it was 003, so /dev/bus/usb/003/. Then do sudo chown username device_number listed on the same line as the bus number from lsusb. In the case of the Astra Pro, you will have two devices (one for each camera). Do the command for both and you should have access to the registered depth topics in ROS.

I just stumbled across this in an unrelated question while trying to get all of the examples in the linux version of the SDK to work (the body mask example requires these commands to work also). Hope this helps someone else.

1 Like

thanks. confirm this solves my issue too