Getting Started with Our Orbbec Depth Cameras
The lab has two kinds of Orbbec depth camera: three Astra+ units and one Gemini 335L. Both give you a color image and a depth image you can turn into a point cloud, and both plug in over USB-C. They are different generations, though, and the most common way to lose a day is to install the software for one and plug in the other. This post covers both, because the first thing to learn is which is which.
The order below matters more than the volume. Step 1 is for everyone. Then do step 2 or step 3 for the camera you are using, and step 4 once you have frames coming in.
How to use this
- Each camera needs its own SDK. The Astra+ works only with Orbbec SDK v1, which Orbbec now keeps in limited maintenance. The Gemini 335L is supported by both, but Orbbec recommends SDK v2 for it. SDK v2 does not support the Astra+ at all. The same split applies to the ROS 2 driver: the
mainbranch for the Astra+, thev2-mainbranch for the Gemini 335L. - If your project uses both models, tell me before you start, so we can plan the software for both instead of finding the conflict halfway through.
- Look at the camera in Orbbec Viewer before you write code. Each SDK release comes with a viewer for its cameras. If the image is bad in the viewer, your code will not fix it.
- You can borrow a camera while you work through the material. Ask me and I will arrange it; the cameras are signed out through me, not self-served.
- Everything below is free, and the SDKs and ROS 2 driver are open source.
1. Choosing the right camera
Start here regardless of what your project is about.
| Astra+ (×3) | Gemini 335L (×1) | |
|---|---|---|
| Depth technology | Structured light | Active and passive stereo |
| Depth range | 0.6–8 m | Optimal 0.25–6 m; works from 0.17 m |
| Depth resolution | Up to 1280 × 1024 at 30 fps | Up to 1280 × 800 at 30 fps |
| Depth field of view | 58.4° × 45.5° | 90° × 65° |
| Color | Up to 1920 × 1080 at 30 fps | Up to 1280 × 800 at 60 fps |
| Environment | Indoors only | Indoors or outdoors, IP65 |
| IMU | No | Yes |
| Software | Orbbec SDK v1 only | Orbbec SDK v2 (recommended) |
| Resource | What it is | Why bother |
|---|---|---|
| Astra+ product page | Orbbec’s specs for the Astra+ | Range, precision, field of view, and power |
| Gemini 335L product page | Orbbec’s specs for the Gemini 335L | Range, precision, field of view, and environment rating |
The Astra+ projects its own infrared pattern to measure depth, which works well indoors but is washed out by sunlight. Use it for fixed, indoor setups where 0.6 m minimum range is not a problem. The Gemini 335L is the one to mount on a robot: it sees much closer, has a wider view, tolerates outdoor light and dust, and its IMU tells you how the camera itself is moving. With three Astra+ units and one Gemini 335L, multi-camera setups will usually be Astra+.
2. Astra+ software (Orbbec SDK v1)
Relevant if you are using an Astra+.
| Resource | What it is | Why bother |
|---|---|---|
| Orbbec SDK v1 | The SDK that supports the Astra+, with C and C++ samples | Opening the camera and reading color, depth, and point clouds |
| Orbbec SDK v1 releases | Prebuilt downloads | The SDK and the v1 Orbbec Viewer for Windows and Linux |
ROS 2 driver, main branch |
Orbbec’s ROS 2 wrapper built on SDK v1 | Depth, color, and point clouds as ROS 2 topics |
When you build the ROS 2 driver, check out the main branch explicitly. The repository’s default branch is v2-main, which is the one that does not support the Astra+.
3. Gemini 335L software (Orbbec SDK v2)
Relevant if you are using the Gemini 335L.
| Resource | What it is | Why bother |
|---|---|---|
| Gemini 330 series documentation | Orbbec’s setup and tuning guide for the series | Depth presets, exposure, firmware, and calibration |
| Gemini 330 series datasheet | Full specifications for the series | Exact ranges, precision, and interfaces for the 335L |
| Orbbec SDK v2 | The recommended SDK for the Gemini 335L, with C and C++ samples | Opening the camera, aligning depth to color, and reading frames and IMU data |
| Orbbec SDK v2 releases | Prebuilt downloads | The SDK and the v2 Orbbec Viewer |
ROS 2 driver, v2-main branch |
Orbbec’s ROS 2 wrapper built on SDK v2 | Depth, color, point clouds, and IMU as ROS 2 topics |
| ROS 2 driver documentation | The wrapper’s own manual | Installing the driver, launch files, and parameters |
The 335L is a member of Orbbec’s Gemini 330 series, so most of its documentation is written for the whole series. Learn the depth presets in Orbbec Viewer before you collect data: they trade range, accuracy, and noise against each other, and the default is not always the right one for your scene.
4. Using depth well
Relevant once you have frames coming in, on either camera.
- Align depth to color before you combine them. The depth and color images come from different sensors with different fields of view. Both SDKs can align one to the other; use that rather than overlaying raw images.
- Know where your camera is. A point cloud is in the camera’s own frame. If a robot or a second camera needs to use it, you need the camera’s position and orientation relative to them. Measure or calibrate it, write it down, and keep the mount from moving.
- Check depth against something you can measure. Put a flat board at a known distance and compare. It takes ten minutes and tells you whether your setup is within the precision Orbbec quotes.
What comes next
Once you have worked through the steps for your camera, come see me and we will scope a first task. Bring a specific thing you want the camera to measure; “learn the camera” is not a task and you have already done it by this point.