[ros-users] [Discourse.ros.org] [MoveIt!] Google Summer Of Code Improvements to Perception Pipeline

Mike Lautman ros.discourse at gmail.com
Wed Jan 2 19:00:10 UTC 2019







[Re-post from the MoveIt! blog](http://moveit.ros.org/moveit!/ros/2018/12/11/gsoc-2018-perception-pipeline.html)



Submitted by: Ridhwan Luthra, Cluster Innovation Centre



Over the summer, Open Source Robotics Foundation (OSRF) and PickNik Robotics teamed up to mentor a Google Summer of Code (GSoC) student, Ridhwan Luthra, while he made meaningful contributions to MoveIt!. Ridhwan worked with Michael v4hn Grner and Michael Lautman to produce two new tutorials demonstrating the perception and manipulation capabilities available in MoveIt!.



Ridhwans work focused on developing tutorials for [Perception Pipeline with Octomaps](https://ros-planning.github.io/moveit_tutorials/doc/perception_pipeline/perception_pipeline_tutorial.html) as well as the [Pick and Place Pipeline](https://ros-planning.github.io/moveit_tutorials/doc/pick_place/pick_place_tutorial.html). Ridhwan also made significant progress towards generalizing a grasp generation package to incorporate into a grasping tutorial. This work is still continuing outside the scope of GSOC.



### Perception Pipeline with Octomaps



While developing the [perception pipeline tutorial](https://ros-planning.github.io/moveit_tutorials/doc/perception_pipeline/perception_pipeline_tutorial.html), Ridhwan identified and fixed a common race condition that was triggered by the way that MoveIt! was maintaining and updating octomaps. This was accomplished by adding a parameter that allows users to configure the maximum rate at which the octomap is updated.



The animation below shows MoveIt! using an octomap to perform collision avoidance.



![obstacle_avoidance|291x236](upload://oZJdF0Wtw51IcDIK5hptvoUD0w4.gif) 



The next item Ridhwan worked on was building a pipeline to detect, segment, and add a cylinder from point cloud data as a collision object. The first image below shows the original octomap and the second image shows the final octomap with the cylinder collision object added to the planning scene.



![cylinder_collision_object|612x500](upload://2CzoSoqLalP2sGQqL7b1Nacr7bB.png) 



![octomap|612x500](upload://xyfvfO2WVFfuipPwPrwIUDId8WU.png) 



### Pick and Place Pipeline Tutorial



After finding a collision object, the next task is to pick it up. There was previously no tutorial on how the pick and place pipeline worked, so Ridhwan [created a tutorial](https://ros-planning.github.io/moveit_tutorials/doc/pick_place/pick_place_tutorial.html) to address this gap.



The animation below shows a cuboidal object being moved from one table to another using the pick and place pipeline.



![pick_and_place|480x270](upload://39NxTtDPylEu83Lxxfchwhtdbmq.gif)











---

[Visit Topic](https://discourse.ros.org/t/google-summer-of-code-improvements-to-perception-pipeline/7290/1) or reply to this email to respond.









More information about the ros-users mailing list