Documentation
The RBO interactive perception project (RBO-IAP) is concerned with the detection and interactive exploration of kinematic objects, i.e. objects with degrees of freedom. It currently features algorithms for
tracking visual features in a sequence of images feature_tracker
segmenting visual features into rigid bodies visual_net
analyzing joint types kinematic_analyzer
All modules are available as separate ROS packages which can be easily combined. They all depend on a shared packaged named iap_common.
Below you find help for installing IAP. If you want to dive right in, check out the iap_tutorials.
Tutorials
- Running the IAP segmentation and kinematic analyzer on prerecorded data
The RBO interactive perception project (RBO-IAP) is concerned with the detection and interactive exploration of kinematic objects, i.e. objects with degrees of freedom. This tutorial shows you how to run the segmentation and the kinematic analyzer on data from a bag file.
Installation
Prerequisites
- ROS electric or fuerte
- pcl, pcl_ros
- opencv2
- openni_camera (if you want to use Kinect)
Included software
ROS package for Bayes++ provided by Miquel Massot https://github.com/miquelmassot/bayes_filter_ros
The packages were tested on Ubuntu 10.10 and Ubuntu 11.10
Troubleshooting
I get a segmentation fault in pcl::SampleConsensusModelRegistration when running FeatureSet::estimateRigidTransformation
This is due to a bug in the PCL version of ROS electric. You need to apply a patch and recompile the PCL package. Note: It assumes that your ROS installation is located in /opt/ros/electric/. If not, you have to adapt the path of the file Correspondence_types.hpp in the patch file.
Copy the following snippet into a file called Correspondence_types.patch‎:
--- /opt/ros/electric/stacks/perception_pcl/pcl/include/pcl-1.1/pcl/registration/impl/correspondence_types.hpp 2011-11-17 17:21:26.000000000 +0100 +++ correspondence_types.hpp 2012-07-13 15:46:39.657054489 +0200 @@ -68,9 +68,9 @@ } /** \brief Ctor */ inline Correspondence(int _indexQuery, int _indexMatch, float _distance) - : indexQuery (indexQuery) - , indexMatch (indexMatch) - , distance (distance) + : indexQuery (_indexQuery) + , indexMatch (_indexMatch) + , distance (_distance) { data[3] = 1.0f; }
Then apply the patch:
patch -p0 -i Correspondence_types.patch
Then recompile your ROS PCL package
Change the ownership of the folder perception_pcl in /opt/ros/electric/stacks: sudo chown -R your_user_name /opt/ros/electric/stacks/perception_pcl
Remove the ROS_NOBUILD files in /opt/ros/electric/stacks/perception_pcl/pcl and /opt/ros/electric/stacks/perception_pcl/pcl_ros or type: rosmake -u in both folders
Remove the folder build in /opt/ros/electric/stacks/perception_pcl/pcl/msg/
Go to /opt/ros/electric/stacks/perception_pcl/pcl/msg/ and type rosmake
More information
For more information please visit http://www.robotics.tu-berlin.de/menue/research/interactive_perception/
<<TracLink(REPO COMPONENT)>>