The MOOD Framework is used for easier integration of object detection algorithms using the ROS plugin libraries.
- OpenCV
- PCL
The MOOD manager consists of a ROS Message Synchronizer plugin and an Object Detector plugin.
In order to synchronize the needed sensor messages please provide a ROS message synchonization
implementation of the mood_base::msg_sync_interface
in msg_sync_interface.hpp.
NOTE If there is need for synchronization of more than three ROS messages or other ROS message types, please augment the sensor_comm::sensor_info
structure in sensor_comm.hpp.
In order to add a new object detector plugin please provide a concrete implementation of the mood_base::detector_interface
in detector_interface.hpp.
For now remain static elements of the MOOD Manager. Pose Tracker tracks a single detected pose based on distance and Kalman filter performs prediction on the given tracked pose.
A node which dynamically loads and connects one ROS Message Synchronizer plugin and one Object Detector plugin defined by the given configuration file (e.g. detection_manager_config.yaml).
NOTE Plugins do not need to be sctrictly in the mood_ros ROS package. Any plugin that implements the appropriate interface can be
loaded into the MOOD Manager node.
An example detector plugin which aims to detect Blob poses using RGB-D sensor information. It expects to be paired with a synchronization plugin that can provide sensor_msgs::Image
and sensor_msgs::Pointcloud2
ROS messages (e.g. PointcloudRGBSync).
Here is a quick tutorial on making and using ROS plugins.