Pointcloud Motion Capture is a ROS 2 package designed to process point clouds for capturing object movements. It detects objects using color filters and infers data about their position, velocity, and acceleration. This package has been tested under [ROS] Humble and Ubuntu 22.04
This project is licensed under the MIT License, which means you're free to use, copy, and modify the code, subject to certain conditions. See the LICENSE file for more details.
Author: João Vitor S. Mendes
Affiliation: Brazilian Institute of Robotics - BIR (SENAI CIMATEC)
Maintainer: João Vitor S. Mendes, [email protected]
- Description: The robot moves at a velocity of 0.05 m/s, while the system estimates 0.04 m/s. The distance traveled was 0.8m, and the system measured 0.82m.
- Description: The robot moves at a velocity of 0.09 m/s, while the system estimates 0.08 m/s. The distance traveled was 0.8m, and the system measured 0.82m.
- Description: The robot moves in circles, and its trajectory can be visualized using PlotJuggler.
Clone the repository into your ROS 2 workspace and build the package:
cd <your_ros2_workspace>/src
git clone https://github.com/vitorsmends/pointcloud_motion_capture.git
To successfully compile and run this ROS 2 package, ensure that you have the following libraries installed on your system:
-
PCL (Point Cloud Library): PCL is a powerful open-source library for 3D point cloud processing. You can download and install PCL from the official PCL website.
-
yaml-cpp: yaml-cpp is a YAML parser and emitter in C++. You can find the source code and installation instructions on the yaml-cpp GitHub repository.
cd <your_ros2_workspace>
rosdep install --from-paths src -y --ignore-src
colcon build
To launch the motion capture system, run the following command:
ros2 launch pointcloud_motion_capture motion_capture.launch.py
The package comes with a configuration file for color filters. You can adjust the color filters by modifying the colors.yaml
file located in the config
directory.
The package consists of the following nodes:
motion_capture.cpp
: Node responsible for capturing object motion.point_cloud_reader.cpp
: Node for reading point cloud data.
These nodes subscribe to the /camera/camera/depth/color/points
topic of type sensor_msgs/msg/PointCloud2
by default. The package has been tested using an Intel RealSense D435i depth camera.
Contributions to the development of this package are welcome! If you have any suggestions, feature requests, or bug fixes, please feel free to open an issue or submit a pull request.
- Email: [[email protected]]
- LinkedIn: [https://www.linkedin.com/in/vitorsmends/]