Background
Toolpath planning is the generation of a series of waypoints that define the locations where a tool (sander, camera, paint gun, etc.) should traverse to execute a particular process (sanding, inspection, painting, etc.). This toolpath is given to a robot motion planner to determine how the joints of the robot should move to make the tool traverse through the toolpath. Currently, toolpath planners create toolpaths based solely on surface geometry, but they do not consider factors about the actual robot environment, such as reachability or collision avoidance. Additionally, most motion planning tools treat toolpaths as unchangeable inputs, which causes failures when infeasible waypoints exist as part of the original plan (due to collision, reachability, etc.). In this research, we modified various SwRI-developed motion planning tools to allow for the modification of toolpaths and waypoint locations within the planner. Additionally, we created a framework that allows the use of any waypoint-modifying utility to apply knowledge about the anticipated system environment (e.g., kinematics) to refine the naïvely generated toolpath.
Approach
The overall goal of this research was to test and evaluate the planning performance gains achieved by implementing an environment-based toolpath refinement framework. To accomplish this goal, the following components were needed: a simulation environment, a motion planning process for refining toolpaths, motion planning tools that could be used in this toolpath refinement process, and a motion planner for comparing the results. First, we created a representative simulation testing environment that allowed for the testing of multiple robot models in various configurations. This environment was set up to simulate both difficult and easy motion plans and allowed for the use of multiple robot types and configurations. Evaluation was performed on a 6 degree of freedom (DOF) and a 7 DOF robot, both statically mounted and mounted on a linear rail. We used an existing motion planning framework to evaluate the toolpaths that would be generated. Next, we made a framework for the toolpath refinement process that could take in a naïve toolpath and produce a refined toolpath based on the knowledge of the environment. After the environment was completely set up, we further developed the toolpath refinement tools so that more kinematically feasible toolpaths could be created. Finally, we performed evaluations to determine the effectiveness of this process.
Accomplishments
In testing, we found that more robust toolpaths can be created through this process. Across all testing scenarios, the refined toolpath reached a higher number of waypoints as compared to the original toolpath. Additionally, in all but the 6 DOF statically mounted scenario, there was a significant reduction in planning time, most notably in the 7 DOF on a rail system, which reduced its average planning time from around 90 seconds to under 10 seconds. Both the refined and original toolpaths had a comparable success rate at returning a successful robot trajectory, above 90% for all setups except for the 6 DOF system, which saw a success rate around 85%.
This high success rate led to one of the most important findings of this work, which is that these modified planners not only allow for toolpath refinement but also a “best effort” planner by excluding problematic waypoints. By allowing waypoints to fail and have allowable tolerances, the motion planning process can succeed at a higher rate. Prior to these modifications, the success rate for all these motion plans would have been near zero. This capability will enable new potential applications for manipulators where full-part coverage is not critical.