Object Analytics

1. Overview

Object Analytics (OA) is ROS2 wrapper for realtime object detection, localization and tracking. These packages aim to provide real-time object analyses over RGB-D camera inputs, enabling ROS developers to easily create amazing robotics advanced features, like intelligent collision avoidance and semantic SLAM. It consumes sensor_msgs::PointClould2 data delivered by RGB-D camera, publishing topics on object detection, object tracking, and object localization in 3D camera coordination system.

OA keeps integrating with various “state-of-the-art” algorithms. By default, backend of object detection is Intel® movidius ncs2.

2. Running the demo

Object Analytics with OpenVINO toolkit

# In terminal 1: source environment and launch realsense backend
source /opt/robot_devkit/robot_devkit_setup.bash
ros2 run realsense_node realsense_node

#  In terminal 2: launch openvino backend
source /opt/robot_devkit/robot_devkit_setup.bash
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/openvino/deployment_tools/inference_engine/samples/build/intel64/Release/lib
. /opt/intel/openvino/bin/setupvars.sh
ros2 launch dynamic_vino_sample ros2_openvino_oa.launch.py

#  In terminal 3: launch object analytics
source /opt/robot_devkit/robot_devkit_setup.bash
ros2 launch object_analytics_node object_analytics_sample.launch.py

OA demo video:

../_images/oa_demo.gif

Customize launch

By default, object analytics will launch both tracking and localization features, but either tracking or localization or both can be dropped. Detailed please refer comments embedded in launch file.

3. Interfaces

Subscribed topics

Published topics

4. Known issues

5. ToDo