Awesome
DISCONTINUATION OF PROJECT.
This project will no longer be maintained by Intel.
Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.
Intel no longer accepts patches to this project.
If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project.
Vision-Based Moving Object
Warning: This repo has been merged into our project ros2_object_analytics as a function node to detecte the velocity of the objects
See: https://github.com/intel/ros2_object_analytics!!
1. Introduction
Moving Object component is addressing moving objects based on messages generated by Object Analytics ros2_object_analytics. ros2_moving_object delivers further analysis for the localized and tracked objects from Object Analytics by adding motion information, i.e., the velocity information about tracked objects. Such information can extend robot's ability of motion planing and collision avoidance.
Thanks to ros2_object_analytics and ros2_intel_movidius_ncs to provide an AI solution for object detection, tracking and localization. See the umbrella wiki page to learn the hierarchical data flow and overview description for the related components.
This component involves 2 ROS2 packages:
- moving_object: the main package covering logic of moving object analysis and information generation.
- moving_object_msgs: the message package storing the motion information of moving objects and published into ROS2 system.
2. Output Topics
ros2_moving_object package publishes some messages to indicate different status/data.
- /moving_object/moving_objects merges info from the 3 input messages into one message and calculating (on demand) the velocity info of the tracked moving objects.
3. Build and Runtime dependencies
- ament_cmake
- std_msgs
- sensor_msgs
- geometry_msgs
- rclcpp
- rosidl_default_generators
- rosidl_interface_packages
- builtin_interfaces
- rviz_yaml_cpp_vendor
- ament_index_cpp
Other packages from Intel repos
4. Build Steps
-
Make sure ros2 core packages are built successfully. Please follow this guide for building and installing ros2 core packages.
-
Make sure ros2_message_filters and ros2_object_analysis_msgs) are built and installed successfully. If not, follow below steps (note that the path between < and > should be customized according to your real environment):
source </ros2/install/dir>/local_setup.bash
cd </my/overlay_ws/dir>/src
git clone https://github.com/intel/ros2_message_filters.git
git clone https://github.com/intel/ros2_object_analytics.git
cd ..
ament build --symlink-install
- Build Moving Object Component
cd </my/overlay_ws/dir>/src
source </ros2/dir>/local_setup.bash
git clone https://github.com/intel/ros2_moving_object.git
cd ..
ament build --symlink-install
5. Launch Steps
- [In terminal 1] Launch realsense camera node.
source </ros2/install/dir>/local_setup.bash
source </my/overlay_ws/dir>/install/local_setup.bash
realsense_ros2_camera
- [In terminal 2] Launch object analysis node.
source </ros2/install/dir>/local_setup.bash
source </my/overlay_ws/dir>/install/local_setup.bash
echo -e "param_file: alexnet.yaml\ninput_topic: /object_analytics/rgb > src/ros2_intel_movidius_ncs/movidius_ncs_launch/config/default.yaml"
launch `ros2 pkg prefix object_analytics_launch`/share/object_analytics_launch/launch/analytics_movidius_ncs.py
- [In terminal 3] Launch moving object node.
source </ros2/install/dir>/local_setup.bash
source </my/overlay_ws/dir>/install/local_setup.bash
ros2 run moving_object moving_object