For all advanced robot applications including industrial arms, CAD model of the robot as well as its immediate environment are essential for successful integration. The typical programming approach usually starts by time-consuming preparation of CAD model; a process that often takes more time than programming itself. However, the latest developments in 3D sensing allow simplification of this step and replacing CAD model of the environment by 3D scan of the existing work cell. In case of SEF Roboter we have experimented with this approach and used first commercially available smartphone with integrated Tango technology – LenovoPHAB2 Pro for environment scanning of SEF Roboter surroundings.
At the FEI TUKE laboratory in Košice simple use case with a component stack located directly in the robot workspace was simulated.
First step included scan of robot workspace using Matterport Scenes App. Although it is possible to pull raw Tango point clouds into a PC and align them in ROS, Scennes app with its model optimization feature was more straightforward way. The resulting .ply scan in Meshlab is shown in the figure below.
After alignment of the robot and pointcloud origins, it was possible to load ply scan directly to the existing SEF Robot moveit config.
The pointcloud itself, however, is not enough for collision avoidance path planning, the transformation into octomap – mathematical representation of the occupancy of the robot’s surroundings is necessary. The proven octomap package will do the job:
From now on, collision avoidance path planning is possible, MoveIt simply tries to avoid occupied voxels in the planning process. Below is the example of collision detection with running octomap publisher in the background.
And the last step – planning the trajectory from one side of the stack to another. As you can see in the picture below, MoveIt has found collision free trajectory without any problems.