A method for selecting a path of a multi-component end effector along a surface, wherein the multi-component end effector is attached to a robot, which is configured to move the multi-component end effector along the surface on a continuous tool centerpoint path (TCP), wherein the multi-component end effector includes a plurality of end effector elements configured to move relative to one another within a command space of the multi-component end effector;
- the method comprising:
- providing a discretized TCP, wherein the discretized TCP includes a plurality of spaced-apart waypoints along the continuous TCP;
- at each waypoint of the plurality of spaced-apart waypoints, determining a plurality of distance heuristics for the plurality of end effector elements within the command space of the multi-component end effector, wherein each distance heuristic of the plurality of distance heuristics quantifies a fraction of the plurality of end effector elements that is within a target distance range of the surface for a corresponding relative orientation of the plurality of end effector elements, wherein the target distance range is defined between a minimum distance and a maximum distance;
- subsequent to the determining the plurality of distance heuristics, updating the plurality of distance heuristics to define a plurality of updated distance heuristics, wherein the updating includes:
- (i) for each corresponding relative orientation at a first waypoint of the plurality of spaced-apart waypoints, determining a subset of corresponding relative orientations at an immediately subsequent waypoint of the plurality of spaced-apart waypoints that is accessible to the multi-component end effector;
- (ii) modifying the plurality of distance heuristics for each corresponding relative orientation at the first waypoint based upon corresponding distance heuristics for the subset of corresponding relative orientations;
- and
- (iii) sequentially repeating the determining the subset of corresponding relative orientations and the modifying the plurality of distance heuristics for each waypoint of the plurality of spaced-apart waypoints;
- and
- selecting the path of the multi-component end effector along the surface based upon the plurality of updated distance heuristics.