Skip to main content

Orbbec Cameras - Astra, Femto and Gemini Series

Orbbec specializes in creating a wide range of vision devices. Through the advancement of various technologies, customers can discover equipment that best fits their specific needs. The manufacturer's product catalog encompasses four primary camera series, each distinguished by its unique technology:

  • Astra Series: Depth cameras based on structured light technology,
  • Femto Series: Depth cameras utilizing TOF (Time of Flight) technology,
  • Gemini Series: Depth cameras employing active stereo IR technology.

When selecting the appropriate camera, it is worth paying attention to parameters related to: depth range, accuracy, resolution and frame rate.

zed

Sources:
does not apply to the camera mounted on ROSbot 2R / PRO

This article about the Orbbec cameras does not cover the older version of the Astra camera mounted on ROSbot 2R/PRO. If you want to learn how to run an older version of the camera, check out the Astra article.

Getting started

To run the device, you must meet certain requirements listed below:

Software

Hardware

  • Connectivity: USB 2.0 / USB 3.0 / Ethernet*

* depend of camera model

Demo

In this demo, we'll walk you through using the Astra+ camera with ROS 2 via a Docker image. You'll also learn how to visualize data, including image previews and point clouds, using RViz. Demo based on OrbbecSDK_ROS2 repository.

Tested on

Start guide

1. Plugin the device

For the best performance please use USB 2.0 / USB 3.0 / Ethernet port, depend of the camera model.

2. Clone repository

git clone https://github.com/husarion/orbbec-camera-docker.git
cd orbbec-camera-docker/demo

3. Select the appropriate launch file

export CAMERA_LAUNCH=<camera_launch>

Replace <camera_launch> with appropriate launch file for your camera from below table.

Product NameFirmware VersionLaunch File
Astra+1.0.22 - 1.0.19astra_adv.launch.py
Astra 22.8.20astra2.launch.py
Astra Mini Pro1007astra.launch.py
Astra Mini S Pro1.0.05astra.launch.py
Femto1.6.7femto.launch.py
Femto Mega1.1.7femto_mega.launch.py
Femto W1.1.8femto.launch.py
Gemini3.0.18gemini.launch.py
Gemini 21.4.60 / 1.4.76gemini2.launch.py
Gemini 2 L1.4.32gemini2L.launch.py
Gemini E3460gemini_e.launch.py
Gemini E Lite3606gemini_e_lite.launch.py

4. Run compose.yaml

xhost local:root
docker compose up

Result

After completing this procedure, RViz should start, containing the RGB image and the depth image of the camera.

orbbec_cameras-result

ROS API

The full API of the robot can be found in the github repository of the device.

Summary

Among Orbbec's cameras, you can easily find good quality depth cameras at a relatively low price, which easily achieve satisfactory results. After completing this tutorial, you should be able to easily integrate all currently supported cameras into your robot using Docker images. Now you can use the acquired knowledge by creating a Tracker using the OpenCV library.


Do you need any support with completing this project or have any difficulties with software or hardware? Feel free to describe your thoughts on our community forum: https://community.husarion.com/ or to contact with our support: support@husarion.com