Skip to content

ROS-Industrial Special Project: 6D tool path planner

License

Notifications You must be signed in to change notification settings

SailCPU/bezier

 
 

Repository files navigation

Institut Maupertuis logo Bezier

ROS-Industrial Special Project: 6D tool path planner

Pierre Étienne Bézier September 1, 1910 – November 25, 1999; was a French engineer and one of the founders of the fields of solid, geometric and physical modeling as well as in the field of representing curves, especially in CAD/CAM systems. As an engineer at Renault, he became a leader in the transformation of design and manufacturing, through mathematics and computing tools, into computer-aided design and three-dimensional modeling. Bézier patented and popularized, but did not invent the Bézier curves and Bézier surfaces that are now used in most computer-aided design and computer graphics systems.

General information

This project has been developed by the Institut Maupertuis, a French research institute that is working on robotic industrial processes. This project goal is to create an automatic grinding path generator for 6-axis robots working on diverse/random meshes.

Bezier planner generates robot poses (3D trajectories) in harmony with a grinding process. It is able to create rectilinear trajectories on complicated surfaces (3D surfaces) and to dilate them in all directions in order to grind defects with a pass principle.

bezier_application

Fanuc grinding Youtube video Click the image to see a video of a Fanuc robot grinding thanks to the Bezier library, the project is fanuc_grinding.

Directories in the project

Directory Description
bezier Meta-package
bezier_application Example usage of the bezier_library package on a Fanuc robot
bezier_library Library containing several path planning algorithms

Dependencies

This package has been tested with Ubuntu 16.04 and ROS Kinetic.

Documentation

Please read bezier_library/doc/README.md.

Quick help

Build using wstool and catkin_tools

Install wstool in order manage the repos inside the workspace

sudo apt-get install python-wstool
mkdir -p catkin_workspace/src
cd catkin_workspace/src
wstool init .
wstool merge https://github.com/ros-industrial-consortium/bezier/raw/kinetic-devel/bezier.rosinstall
wstool update
rosdep install --from-paths . --ignore-src
cd ..
catkin build

If you have troubles with rviz_visual_tools not finding Eigen, please revert this commit rviz_visual_tools/commit/425d208b2719cafeae3e4f3ccdd6b44853400a32 in the rviz_visual_tools clone.

Launch

Source the devel/setup.bash file and launch the surfacing application:

roslaunch bezier_application fanuc_m20ia_surfacing.launch surfacing_mode:=true mesh_cad:=plane/plane_defect.ply

Use the following command for the painting application:

roslaunch bezier_application fanuc_m20ia_painting.launch mesh_cad:=ocean/ocean.ply 

In this example, bezier_application will be launched with plane_defect.ply as the CAD mesh and the grinding will be done in surface mode, meaning that we only pass on the surface of the mesh to smooth it.

roslaunch bezier_application fanuc_m20ia_surfacing.launch mesh_cad:=plane/plane.ply mesh_defect:=plane/plane_defect.ply

In this example, bezier_application will be launched with plane.ply as the CAD mesh and plane_defect.ply as defect mesh.

Others examples of meshes are available in:

$(catkin_workspace)/src/bezier/bezier_application/meshes

About

ROS-Industrial Special Project: 6D tool path planner

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.0%
  • CMake 3.0%