piliwilliam0306 / pcl_clustering

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Euclidean Clustering with ROS and PCL

In this exercise you will start building up your perception pipeline in ROS. Here, you are provided a gazebo world, which contains the same table and random objects from Exercise-1.

A simple stick robot with an RGB-D camera attached to its head via a pan-tilt joint is placed in front of the table. For the detailed steps of how to carry out this exercise, please see the Clustering for Segmentation lesson in the RoboND classroom.

Here's a brief summary of how to get setup for the exercise:

  1. First of all copy/move the sensor_stick package to /src directory of your active ros workspace.

  2. Make sure you have all the dependencies resolved by using the rosdep install tool and run catkin_make:

$ cd ~/catkin_ws
$ rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y
$ catkin_make
  1. Add following to your .bashrc file
export GAZEBO_MODEL_PATH=~/catkin_ws/src/sensor_stick/models

source ~/catkin_ws/devel/setup.bash
  1. Test the simulation setup by launching the gazebo environment. The command stated below will open a gazebo world along with an rviz window. Play around with it and get familiar with different topics being published to.
$ roslaunch sensor_stick robot_spawn.launch

screen shot 2017-07-05 at 12 56 36 pm Now, to build your perception pipeline, you must perform following steps:

  1. Create a python ros node that subscribes to /sensor_stick/point_cloud topic. Use the template.py file found under /sensor_stick/scripts/ to get started.

  2. Use your code from Exercise-1 to apply various filters and segment the table using RANSAC.

  3. Create publishers and topics to publish the segmented table and tabletop objects as separate point clouds

  4. Apply Euclidean clustering on the table-top objects (after table segmentation is successful)

  5. Create a XYZRGB point cloud such that each cluster obtained from the previous step has its own unique color.

  6. Finally publish your colored cluster cloud on a separate topic clusters

You will find pcl_helper.py file under /sensor_stick/scripts. This file contains various functions to help you build up your perception pipeline.

Refer to the main README file for documentation on python-pcl and pcl_helper.py modules

About


Languages

Language:Python 55.4%Language:CMake 35.2%Language:C++ 9.4%