Skip to content

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.

License

Notifications You must be signed in to change notification settings

vitorsmends/pointcloud_motion_capture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pointcloud Motion Capture

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

License

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, vitor.mendes@ieee.org

Validation

Experiment 1

  • 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.

GIF Example

Experiment 1 Video

Experiment 2

  • 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.

GIF Example

Experiment 2 Video

Experiment 3

  • Description: The robot moves in circles, and its trajectory can be visualized using PlotJuggler.

GIF Example

Experiment 3 Video

Installation

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

Install libraries

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.

Install dependencies and Building

cd <your_ros2_workspace>
rosdep install --from-paths src -y --ignore-src
colcon build

Usage

Launching the Package

To launch the motion capture system, run the following command:

ros2 launch pointcloud_motion_capture motion_capture.launch.py

Configuration

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.

Nodes

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.

Contributing

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.

Contact

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published