No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
Repository Summary
Checkout URI | https://github.com/semio-ai/astra_ros.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-11-19 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
astra_ros | 0.1.0 |
README
astra_ros
astra_ros wraps the Orbbec Astra SDK for ROS. It can be used as a library (with or without ROS), a nodelet, or a node.
1. Installation
cd /path/to/your_catkin_workspace/src
git clone https://github.com/semio-ai/astra_ros.git
2. Compilation
The Astra SDK must be installed on the system. Set the environment variable ASTRA_ROOT
to the root of the Astra SDK if it cannot be found.
cd /path/to/your_catkin_workspace
export ASTRA_ROOT=/path/to/astra_sdk
catkin_make
3. Documentation
3.1. Node Tutorial
View the node tutorial at https://github.com/semio-ai/astra_ros/wiki/Tutorial.
3.2. API Documentation
View the C++ API documentation at https://semio-ai.github.io/astra_ros/annotated.html.
4. ROS Node
4.1. Parameters
-
~/devices
- A map of devices to open and publish -
~/devices/$DEVICE_NAME
- Parameters for the device with the name$DEVICE_NAME
.$DEVICE_NAME
will determine topic namespacing.
4.1.1. Color Stream
-
~/devices/$DEVICE_NAME/color
- Must be present for the color stream to be enabled. Can either contain sub-keys or be set totrue
. If the stream is not enabled, setting it to running later is not possible. -
~/devices/$DEVICE_NAME/color/running
- Set whether the color stream is running. Defaults totrue
. -
~/devices/$DEVICE_NAME/color/mirrored
- Set whether the color frames are mirrored horizontally. Defaults tofalse
.
4.1.2. IR Stream
-
~/devices/$DEVICE_NAME/ir
- Must be present for the IR stream to be enabled. Can either contain sub-keys or be set totrue
. If the stream is not enabled, setting it to running later is not possible. -
~/devices/$DEVICE_NAME/ir/running
- Set whether the IR stream is running. Defaults totrue
.
4.1.3. Depth Stream
-
~/devices/$DEVICE_NAME/depth
- Must be present for the depth stream to be enabled. Can either contain sub-keys or be set totrue
. If the stream is not enabled, setting it to running later is not possible. -
~/devices/$DEVICE_NAME/depth/running
- Set whether the depth stream is running. Defaults totrue
. -
~/devices/$DEVICE_NAME/depth/mirrored
- Set whether the depth frames are mirrored horizontally. Defaults tofalse
.
4.1.4. Body Stream
-
~/devices/$DEVICE_NAME/body
- Must be present for the body stream to be enabled. Can either contain sub-keys or be set totrue
. If the stream is not enabled, setting it to running later is not possible. -
~/devices/$DEVICE_NAME/body/publish_tf
- Set whether to publish TF frames. Defaults totrue
. -
~/devices/$DEVICE_NAME/body/running
- Set whether the body stream is running. Defaults totrue
. -
~/devices/$DEVICE_NAME/body/publish_body_markers
- Set whether visualization markers are published for tracked bodies. Defaults tofalse
. -
~/devices/$DEVICE_NAME/body/publish_body_mask
- Set whether the body mask image is published. Defaults totrue
. -
~/devices/$DEVICE_NAME/body/publish_floor_mask
- Set whether the floor mask image is published. Defaults totrue
. -
~/devices/$DEVICE_NAME/body/license
- The license string for the Orbbec Body Tracking SDK. Depending on the SDK version used, this value must be set. -
~/devices/$DEVICE_NAME/body/frame_id
- Must be set to the orbbec camera’s optical frame.
4.1.5. Hand Stream
-
~/devices/$DEVICE_NAME/hand
- Must be present for the hand stream to be enabled. Can either contain sub-keys or be set totrue
. If the stream is not enabled, setting it to running later is not possible. -
~/devices/$DEVICE_NAME/hand/running
- Set whether the hand stream is running. Defaults totrue
.
4.1.6. Masked Color Stream
-
~/devices/$DEVICE_NAME/masked_color
- Must be present for the masked color stream to be enabled. Can either contain sub-keys or be set totrue
. -
~/devices/$DEVICE_NAME/masked_color/running
- Set whether the masked color stream is running. Defaults totrue
.
4.1.7. Colorized Body Stream
-
~/devices/$DEVICE_NAME/colorized_body
- Must be present for the colorized body stream to be enabled. Can either contain sub-keys or be set totrue
. If the stream is not enabled, setting it to running later is not possible. -
~/devices/$DEVICE_NAME/colorized_body/running
- Set whether the colorized body stream is running. Defaults totrue
.
4.1.8. Point Stream
-
~/devices/$DEVICE_NAME/point
- Must be present for the point stream to be enabled. Can either contain sub-keys or be set totrue
. If the stream is not enabled, setting it to running later is not possible. -
~/devices/$DEVICE_NAME/point/running
- Set whether the point stream is running. Defaults totrue
.
4.1.9. Example ROS Parameter file
devices:
default:
color: true
depth: true
ir: false # The Astra SDK only supports two "physical" streams from the sensor at once!
body:
publish_body_markers: true
frame_id: "quori/head_camera_optical"
license: "$YOUR_LICENSE"
4.2. Topics
4.2.1. Color Stream
-
color/image_color: sensor_msgs/Image
- The color image -
color/camera_info: sensors_msgs/CameraInfo
- The color camera’s intrinsics
4.2.2. IR Stream
-
ir/image: sensor_msgs/Image
- The IR image
4.2.3. Depth Stream
-
depth/image: sensor_msgs/Image
- The depth image -
depth/camera_info: sensors_msgs/CameraInfo
- The depth camera’s intrinsics
4.2.4. Body Stream
-
body/frame: astra_ros/BodyFrame
- The body frames -
body/markers: visualization_msgs/MarkerArray
- The body markers -
body/mask: sensor_msgs/Image
- The body mask -
body/floor_mask: sensor_msgs/Image
- The floor mask
4.2.5. Colorized Body Stream
-
colorized_body/image: sensor_msgs/Image
- The colorized body image
4.2.6. Masked Color Stream
-
masked_color/image: sensor_msgs/Image
- The masked color image
4.2.7. Point Stream
-
point_cloud: sensor_msgs/PointCloud
- The RGBD point cloud
4.3. Services
4.3.1. Color Stream
-
color/get_usb_info: astra_ros/UsbInfo
- Get the USB information for the color camera. -
color/get_mirrored: astra_ros/GetMirrored
- Get whether the color frame is mirrored horizontally. -
color/set_mirrored: astra_ros/SetMirrored
- Set whether the color frame is mirrored horizontally. -
color/get_image_stream_modes: astra_ros/GetImageStreamModes
- Get the image stream modes supported by the color camera. -
color/get_image_stream_mode: astra_ros/GetImageStreamMode
- Get the current image stream mode used by the color camera. -
color/set_image_stream_mode: astra_ros/SetImageStreamMode
- Configure the image stream mode for the color camera. -
color/get_running: astra_ros/GetRunning
- Get the running status of the color camera. -
color/set_running: astra_ros/SetRunning
- Set the running status of the color camera. False means that no color frames will be published.
4.3.2. Depth Stream
-
depth/get_chip_id: astra_ros/GetChipId
- Get the Orbbec chip ID. -
depth/get_mirrored: astra_ros/GetMirrored
- Get whether the depth frame is mirrored horizontally. -
depth/set_mirrored: astra_ros/SetMirrored
- Set whether the depth frame is mirrored horizontally. -
depth/get_registration: astra_ros/GetRegistration
- Get whether the depth frame is registered. -
depth/set_registration: astra_ros/SetRegistration
- Set whether the depth frame is registered. -
depth/get_usb_info: astra_ros/UsbInfo
- Get the USB information for the depth camera. -
depth/get_image_stream_modes: astra_ros/GetImageStreamModes
- Get the image stream modes supported by the depth camera. -
depth/get_image_stream_mode: astra_ros/GetImageStreamMode
- Get the current image stream mode used by the depth camera. -
depth/set_image_stream_mode: astra_ros/SetImageStreamMode
- Configure the image stream mode for the depth camera. -
depth/get_running: astra_ros/GetRunning
- Get the running status of the depth camera. -
depth/set_running: astra_ros/SetRunning
- Set the running status of the depth camera. False means that no depth frames will be published.
4.3.3. IR Stream
-
ir/get_usb_info: astra_ros/UsbInfo
- Get the USB information for the IR camera -
ir/get_image_stream_modes: astra_ros/GetImageStreamModes
- Get the image stream modes supported by the IR camera -
ir/get_image_stream_mode: astra_ros/GetImageStreamMode
- Get the current image stream mode used by the IR camera -
ir/set_image_stream_mode: astra_ros/SetImageStreamMode
- Configure the image stream mode for the IR camera -
ir/get_running: astra_ros/GetRunning
- Get the running status of the IR camera -
ir/set_running: astra_ros/SetRunning
- Set the running status of the IR camera. False means that no IR frames will be published.
4.3.4. Colorized Body Stream
-
colorized_body/get_running: astra_ros/GetRunning
- Get the running status of the colorized body stream -
colorized_body/set_running: astra_ros/SetRunning
- Set the running status of the colorized body stream. False means that no colorized body frames will be published.
4.3.5. Hand Stream
-
hand/get_running: astra_ros/GetRunning
- Get the running status of the hand stream -
hand/set_running: astra_ros/SetRunning
- Set the running status of the hand stream. False means that no hand frames will be published.
4.3.6. Point Stream
-
point/get_running: astra_ros/GetRunning
- Get the running status of the point stream -
point/set_running: astra_ros/SetRunning
- Set the running status of the point stream. False means that no point frames will be published.
5. License
astra_ros
is released under the terms of the 3-Clause BSD License. See LICENSE
for details.
CONTRIBUTING
No CONTRIBUTING.md found.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.