News Articles

New Object Segmentation Algorithms

There are several tools available in PCL trunk that may be useful to the upcoming mobile manipulation challenge. Tools for segmentation of organized point cloud data (as from a Kinect or Xtion) have been added in pcl::OrganizedConnectedComponentSegmentation and pcl::OrganizedMultiPlaneSegmentation. These can be used for fast segmentation of all planes in the scene or euclidean clustering. It can also be extended with your own comparison functions for other segmentation tasks.

An example of how to use the plane segmentation is:

// Segment planes
pcl::OrganizedMultiPlaneSegmentation< PointT, pcl::Normal, pcl::Label > mps;
mps.setMinInliers (10000);
mps.setAngularThreshold (0.017453 * 2.0); // 2 degrees
mps.setDistanceThreshold (0.02); // 2cm
mps.setInputNormals (normal_cloud);
mps.setInputCloud (cloud);
std::vector< pcl::PlanarRegion< PointT > > regions;
mps.segmentAndRefine (regions);

for (size_t i = 0; i < regions.size (); i++)
{
  Eigen::Vector3f centroid = regions[i].getCentroid ();
  Eigen::Vector4f model = regions[i].getCoefficients ();
  pcl::PointCloud boundary_cloud;
  boundary_cloud.points = regions[i].getContour ();
  printf ("Centroid: (%f, %f, %f)\n  Coefficients:…

JediBot powered by PCL

JediBot is an autonomous robot designed to duel with humans in simulated sword fights. It was created by a group of four students in Stanford University's Experimental Robotics class, who combined a KUKA Light-Weight Robot arm for manipulation and a Microsoft Kinect for 3D sensing, along with custom software that leverages several open source libraries, including the Point Cloud Library (PCL) for 3D perception, the Reflexxes Motion Library for motion planning, and the Fast Research Interface Library for low-level control.

When facing off against a human combatant, the JediBot's software starts by analyzing the point cloud data acquired from its Microsoft Kinect 3D-camera. The Point Cloud Library is used to robustly find the pose of an opponent's sword in real time. The JediBot then quickly plans its response. Depending on the current strategy (attack or defense) an appropriate pose of the robot's sword is calculated. This pose is then sent to the Reflexxes Motion Library, which continuously plans a smooth sequence of arm motions. The resulting robot motions are directly sent to the Fast Research Interface Library, which provides low-level access to the…

Latest Posts

Latest Comments