jingyi-xiang / bcpd-dlo-tracking

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bcpd-dlo-tracking

This repository contains the work-in-progress code for my Spring 2023 CS 498 Machine Perception final project, wrapped into a ROS (Robot Operating System) package. The goal of the project is to implement papers A Bayesian Formulation of Coherent Point Drift and (partially) Geodesic-Based Bayesian Coherent Point Drift for real-time deformable object shape tracking. Most of the development is first done in Python, then ported to C++ for running in real time.

Minimum Requirements

Other Requirements

Usage

First, clone the repository into a ROS workspace and build the package:

git clone https://github.com/jingyi-xiang/bcpd-dlo-tracking.git
catkin build

All parameters for the BCPD algorithm are configurable in launch/bcpd_tracker.launch (only for C++). Rebuilding the package is not required for the parameter modifications to take effect. However, catkin build is required after modifying any C++ files.

Testing with RGB-D Camera Stream

This package has been tested with a Intel RealSense D435 camera. The exact camera configurations used are provided in /config/preset_decimation_4.0_depth_step_100.json and can be loaded into the camera using the launch files from realsense-ros. Run the following commands to start the realsense camera and the BCPD tracking node:

roslaunch bcpd-dlo-tracking realsense_node.launch
roslaunch bcpd-dlo-tracking bcpd_tracker.launch

Testing with Provided Data

Recorded frames of point cloud are provided under /testing_scripts/data/frames and can be loaded using pickle. Inside the folder, 12 frames of point cloud (000_pc.json to 011_pc.json) and the first 7 frames of corresponding nodes (under folder /nodes, 000_nodes.json to 006_nodes.json) are provided. To test BCPD with these recorded frames, run the following commands:

cd testing_scripts
python3 bcpd.py

Additionally, we provide ROS bag files for testing with recorded RGB-D stream. The bag files can be found here. To test BCPD with these bag files, first download them and place them inside your ROS workspace. Then, run the following commands:

roslaunch bcpd-dlo-tracking replay_bag.launch
roslaunch bcpd-dlo-tracking bcpd_tracker.launch
rosbag play <path_to_bag_file>

About


Languages

Language:C++ 50.3%Language:Python 49.0%Language:CMake 0.7%Language:C 0.0%