The Application Programming Interface (API) for this project is available through the projects GitHub Page
ROS source code for my R&D project on Occluded Object Geometry Estimation
This section will outline all of the things that you will require in order to properly compile and launch the software contained in this package:
- An OpenNI compatable RGBD Sensor.
- A C++ Compiler capable of compiling at least C++0x
- ROS Fuerte
- PCL 1.6+ (trunk prefered)
In order to download you simply need to pull and initialize the git repository like you normally due. As we are using extrenally maintained libraries you also need to update the git submodules if this is your first pull you run both commands otherwise run only the second command:
git submodule init
- Initalize the submodulegit submodule update
- Update from the externally maintained library if any updates are available.
For any questions about git's submodules please see the git Book
Where this project is a ROS based project you simply need to run rosmake from within the project folder. You can alternatively run this command from anywhere by providing the full ROS package name:
$ rosmake hbrs_object_reconstruction
The various components of this system are accessible through ROS Services which will allow for either internal or external software to call the different parts of the system in the desired order. The following services are offered by the Object Reconstruction system:
This takes in a PCL::PointCloud and will look for the single largest planner object that can be found in the provided scene. It will return to you a PCL::PointCloud which containts only the points from the original pointcloud that are found inside of determined platform.
This takes in a 32-bit Integer that represents the amount of time that the caller wants the point clouds to be accumulated for. It will then accumulate point clouds from a RGBD Sensor and then package them as a pcl::PointCloud< PointXYZ >
which will be returned to the service caller through the service return message. The pointcloud accumulation happens through incremental registration which is based off of the following PCL Tutorial.
$ rosservice call /AccumulatePointClouds "accumulation_time: 2"