marcoesposito1988 / cython_catkin_example

Example of integration between Cython and ROS/catkin
18 stars 8 forks source link

cython_catkin_example

Introduction

This is a ROS package that demonstrates how to integrate Cython in the standard catkin-based ROS building system. In particular, it demonstrates how to manipulate PCL point clouds through a minimal interface.

It is heavily based on cython-cmake-example by thewtex (https://github.com/thewtex/cython-cmake-example).

Setup

This is a normal catkin package.

Quick reference:

  1. source the base setup.bash if needed
  2. create the directories my_ros_ws and my_ros_ws/src
  3. inside my_ros_ws/src execute catkin_init_workspace
  4. inside my_ros_ws/src clone this repository
  5. inside my_ros_ws execute catkin_make
  6. you should be able to execute "rosrun cython_catkin_example example.py", which should not report any existing point cloud.

Playing around

  1. source my_ros_ws/devel/setup.bash
  2. execute rospython
  3. in the shell, from cython_catkin_example import cython_catkin_example
  4. create an object myobject = cython_catkin_example.PyCCExample()
  5. load a PCL point cloud from a PCD file myobject.load_point_cloud_from_file("/path/to/file.pcd")
  6. list current point clouds name_list = myobject.get_point_xyz_clouds_names()
  7. get details about it myobject.get_point_xyz_cloud_details("name")

You are free to explore the rest of the few functionalities and to extend it as you please.

Hope this can be helpful.