Collision checking with a robot arm using MoveIt!
Along with motion planning and the IK solving algorithm, one of the most important tasks that is done in parallel in MoveIt! is collision checking, and its avoidance. MoveIt! can handle both self-collisions and environmental collisions exploiting the built-in Flexible Collision Library (FCL) (http://gamma.cs.unc.edu/FCL/fcl_docs/webpage/generated/index.html), an open source project that implements various collision-detection and-avoidance algorithms. MoveIt! takes the power of FCL and handles the collision inside the planning scene using a collision_detection::CollisionWorld
class. The MoveIt! collision checking includes objects, such as meshes; primitive shapes, such as boxes and cylinders, and OctoMap. The OctoMap (http://octomap.github.io/) library implements a 3D occupancy grid, called an octree, which consists of probabilistic information regarding obstacles in the environment. The MoveIt! package can build an OctoMap using 3D point...