IP Library Granted Patent US 12,709,004
Granted Patent B2
US 12,709,004 · App. 18/537,701 · Granted Aug 18, 2026

Method for modifying dimensional accuracy of a workpiece via three-dimensional abrasion

Inventors: Avadhoot L. Ahire (Gardena, CA); Yi-Wei Chen (Gardena, CA); Satyandra K Gupta (Gardena, CA); Ariyan M. Kabir (Gardena, CA); Ashish Kulkarni (Gardena, CA); Ceasar G. Navarro (Gardena, CA); Martin G. Philo (Gardena, CA); Brual C. Shah (Gardena, CA)
Assignee: GrayMatter Robotics Inc.
B25J9/1653B24B51/00B25J9/163B25J9/1664B25J9/1679B25J9/1697B25J11/0065B25J13/085G06T1/0014G06T7/13G06T7/60G06T19/00G06T2207/10024G06T2219/004
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,709,004
App. No.
18/537,701
Granted
Aug 18, 2026
Kind
B2
Abstract

A method includes, during a processing cycle: navigating the sanding head across a region of a workpiece according to a toolpath; and, based on a sequence of force values output by a force sensor coupled to the sanding head, deviating the sanding head from the toolpath to maintain forces of the sanding head on the workpiece region proximal a target force. The method also includes: detecting a sequence of positions of the sanding head traversing the workpiece region; interpreting a surface contour in the workpiece region based on the sequence of positions; detecting a difference between the surface contour and a corresponding target surface defined in a target model of the workpiece; generating a second toolpath for the workpiece region based on the difference; and, during a second processing cycle, navigating the sanding head across the workpiece region according to the second toolpath to reduce the difference.

Claims (160)

1 . A method comprising:

accessing a target model representing a workpiece;

navigating a probe into contact with the workpiece at a set of probe locations on the workpiece;

detecting a first set of positions of the probe in contact with the workpiece at the set of probe locations;

interpreting a first surface contour of the workpiece based on the first set of positions;

detecting a first difference between the first surface contour and a first target contour, corresponding to the first surface contour, defined in the target model;

retrieving a dimensional tolerance assigned to the first surface contour; and

in response to the first difference exceeding the dimensional tolerance:

generating a first toolpath spanning the first surface contour;

calculating a first target force proportional to the first difference; and

during a processing cycle:

accessing a first sequence of force values output by a force sensor coupled to an abrasive head;

navigating the abrasive head across the first surface contour on the workpiece according to the first toolpath to remove material from the first surface contour and to reduce the first difference; and

based on the first sequence of force values, deviating the abrasive head from the first toolpath to maintain forces of the abrasive head on the workpiece proximal the first target force.

2 . The method of claim 1 , further comprising:

generating a second toolpath spanning the first surface contour and a second surface contour on the workpiece; and

during a second processing cycle:

accessing a second sequence of force values output by the force sensor; and

via a set of actuators;

navigating the abrasive head across the first surface contour and the second surface contour according to the second toolpath; and

based on the second sequence of force values, deviating the abrasive head from the second toolpath to maintain forces of the abrasive head on the workpiece proximal a second target force and to abrade the first surface contour and the second surface contour to a target surface finish.

3 . The method of claim 2 , further comprising:

assigning the first target force to the first toolpath; and

assigning the second target force, less than the first target force, to the second toolpath.

4 . The method of claim 2 :

wherein generating the first toolpath comprises generating the first toolpath in response to the first difference exceeding the dimensional tolerance by greater than a nominal depth of material removed by the abrasive head when traversing the second toolpath and applied to the workpiece at the second target force; and

wherein navigating the abrasive head across the first surface contour and the second surface contour according to the second toolpath during the second processing cycle comprises:

navigating the abrasive head across the first surface contour and the second surface contour to remove material at the nominal material removal depth from the first surface contour and the second surface contour during the second processing cycle.

5 . The method of claim 1 :

further comprising, during an initial processing cycle preceding the processing cycle, navigating the abrasive head across the workpiece according to an initial toolpath spanning the first surface contour and a second surface contour; and

wherein navigating the probe into contact with the workpiece at a set of probe locations on the workpiece comprises:

following the initial processing cycle and prior to the processing cycle:

navigating the probe into contact with the workpiece at the set of probe locations spanning the first surface contour and the second surface contour on the workpiece; and

wherein generating the first toolpath spanning the first surface contour comprises generating the first toolpath spanning the first surface contour and excluding the second surface contour further in response to a second difference between the second surface contour and a second target contour, corresponding to the second surface contour and defined in the target model, falling below the dimensional tolerance.

6 . The method of claim 1 :

wherein generating the first toolpath comprises:

defining the first toolpath comprising an ordered sequence of keypoints located on the first target surface, corresponding to the first surface contour, defined in the target model of the workpiece; and

for each keypoint in the ordered sequence of keypoints:

calculating a vector normal to the target model at a location of the keypoint on the target model; and

storing the vector in the keypoint; and

wherein navigating the abrasive head across the workpiece according to the first toolpath during the first processing cycle comprises, during the first processing cycle:

for a first keypoint in the ordered sequence of keypoints:

locating the abrasive head at a first position intersecting the first keypoint;

aligning an axis of the abrasive head to a first vector contained in the first keypoint; and

driving the abrasive head, coaxial with the first vector, toward the workpiece to match force values, in the first sequence of force values read from the force sensor, to the first target force.

7 . The method of claim 1 , wherein navigating the abrasive head across the workpiece according to the first toolpath during the processing cycle comprises, during the processing cycle:

navigating the abrasive head, comprising an orbital sanding head loaded with a sanding disk, across the workpiece according to the first toolpath.

8 . The method of claim 1 :

wherein navigating the abrasive head across the first surface contour during the first processing cycle comprises navigating the abrasive head across the first surface contour via a robotic arm:

comprising a set of actuators; and

supporting the abrasive head, the abrasive head comprising an orbital sander; and

wherein accessing the first sequence of force values comprises accessing the first sequence of force values output by the force sensor arranged between the robotic arm and the abrasive head.

9 . A method comprising:

during a first processing cycle, navigating an abrasive head across a workpiece according to a first toolpath;

detecting a first set of positions of the abrasive head traversing the workpiece;

interpreting a first surface contour of the workpiece based on the first set of positions;

detecting a first difference between the first surface contour and a first target surface, corresponding to the first surface contour, defined in a target model of the workpiece;

generating a second toolpath for the workpiece based on the difference; and

during a second processing cycle:

navigating the abrasive head across the first surface contour of the workpiece according to the second toolpath to reduce the difference; and

based on a sequence of force values output by a force sensor coupled to the abrasive head, deviating the abrasive head from the second toolpath to maintain forces of the abrasive head on the workpiece proximal a target force.

10 . The method of claim 9 :

further comprising accessing a first dimensional tolerance assigned to the first target surface defined in the target model; and

wherein generating the second toolpath for the first surface contour comprises generating the second toolpath for the first surface contour in response to the first difference exceeding the first dimensional tolerance.

11 . The method of claim 9 , further comprising:

accessing a first dimensional tolerance assigned to the first target surface defined in the target model;

during the second processing cycle, detecting a second set of positions of the abrasive head traversing the first surface contour of the workpiece;

interpreting a revised surface contour, corresponding to the first target surface, of the workpiece based on the second set of positions;

detecting a second difference between the revised surface contour and the first target surface defined in the target model; and

in response to the second difference falling below the first dimensional tolerance, confirming correction of the workpiece.

12 . The method of claim 11 , further comprising:

during the second processing cycle, detecting a second set of positions of the abrasive head traversing the first surface contour of the workpiece;

based on the first set of positions, interpreting a revised surface contour of the workpiece corresponding to the first target surface defined in the target model; and

in response to the second difference falling below the first dimensional tolerance:

updating the first target surface, defined in the target model of the workpiece, according to the revised surface contour.

13 . The method of claim 9 , further comprising:

during a scan cycle prior to the first processing cycle, traversing an optical sensor along a scan path offset from the workpiece;

accessing a set of scan images captured by the optical sensor while traversing the workpiece during the scan cycle;

assembling the set of scan images into a virtual model representing the workpiece;

during the second processing cycle, detecting a second set of positions of the abrasive head traversing the first surface contour of the workpiece;

transforming the virtual model into alignment with the first set of positions and the second set of positions; and

storing the virtual model as a digital twin of the workpiece.

14 . The method of claim 9 :

wherein generating the second toolpath for the first surface contour comprises:

calculating a pitch distance inversely proportional to the difference; and

generating the second toolpath defining a serpentine path comprising a series of interconnected toolpath legs offset by the pitch distance; and

further comprising calculating the second target force inversely proportional to an abrasiveness of the abrasive head.

15 . The method of claim 9 :

further comprising

generating the first toolpath based on a geometry of the workpiece represented in the target model; and

wherein navigating the abrasive head across the workpiece during the first processing cycle comprises, during the first processing cycle:

accessing a first sequence of force values output by the force sensor; and

via a set of actuators coupled to the abrasive head:

navigating the abrasive head across the workpiece according to the first toolpath; and

based on the first sequence of force values, deviating the abrasive head from the first toolpath to maintain forces of the abrasive head on the workpiece proximal a first target force.

16 . The method of claim 9 :

further comprising:

generating the first toolpath comprising a first ordered sequence of keypoints located on the target model; and

for each keypoint in the first ordered sequence of keypoints:

calculating a vector normal to the target model at a location of the keypoint on the target model; and

storing the vector in the keypoint; and

wherein navigating the abrasive head across the workpiece according to the first toolpath during the first processing cycle comprises, during the first processing cycle:

for a first keypoint in the first ordered sequence of keypoints:

locating the abrasive head at a first position intersecting the first keypoint;

aligning an axis of the abrasive head to a first vector contained in the first keypoint; and

driving the abrasive head, coaxial with the first vector, toward the workpiece to match force values, in a first sequence of force values read from the force sensor, to a first target force.

17 . The method of claim 9 :

wherein generating the second toolpath comprises:

defining the second toolpath comprising an ordered sequence of keypoints located on the first target surface defined in the target model of the workpiece; and

for each keypoint in the ordered sequence of keypoints:

calculating a vector normal to the target model at a location of the keypoint on the target model; and

storing the vector in the keypoint; and

wherein navigating the abrasive head across the first surface contour of the workpiece according to the second toolpath during the second processing cycle comprises, during the second processing cycle:

for a first keypoint in the ordered sequence of keypoints:

locating the abrasive head at a first position intersecting the first keypoint;

aligning an axis of the abrasive head to a first vector contained in the first keypoint; and

driving the abrasive head, coaxial with the first vector, toward the workpiece to match force values, in the sequence of force values read from the force sensor, to the target force.

18 . The method of claim 9 , wherein navigating the abrasive head across the first surface contour of the workpiece according to the second toolpath during the second processing cycle comprises, during the second processing cycle:

navigating the abrasive head, comprising an orbital sanding head loaded with a sanding disk, across the workpiece according to the second toolpath.

19 . A method comprising:

accessing a target model representing a workpiece;

navigating a probe into contact with the workpiece at a set of probe locations on the workpiece;

detecting a first set of positions of the probe in contact with the workpiece at the set of probe locations;

interpreting a first surface contour of the workpiece based on the first set of positions;

detecting a first difference between the first surface contour and a first target contour, corresponding to the first surface contour, defined in the target model;

assigning a first target force to a first toolpath;

in response to the first difference exceeding a threshold difference:

generating the first toolpath spanning the first surface contour; and

during a processing cycle:

accessing a first sequence of force values output by a force sensor coupled to an abrasive head;

navigating the abrasive head across the first surface contour on the workpiece according to the first toolpath to remove material from the first surface contour and to reduce the first difference; and

based on the first sequence of force values, deviating the abrasive head from the first toolpath to maintain forces of the abrasive head on the workpiece proximal the first target force;

generating a second toolpath spanning the first surface contour and a second surface contour on the workpiece;

assigning the second target force, less than the first target force, to the second toolpath; and

during a second processing cycle:

accessing a second sequence of force values output by the force sensor; and

via a set of actuators;

navigating the abrasive head across the first surface contour and the second surface contour according to the second toolpath; and

based on the second sequence of force values, deviating the abrasive head from the second toolpath to maintain forces of the abrasive head on the workpiece proximal a second target force and to abrade the first surface contour and the second surface contour to a target surface finish.

20 . The method of claim 19 :

further comprising retrieving a dimensional tolerance assigned to the first surface contour;

wherein generating the first toolpath comprises generating the first toolpath in response to the first difference exceeding the dimensional tolerance; and

further comprising calculating the first target force proportional to the first difference.

21 . A method comprising:

during a scan cycle, traversing an optical sensor along a scan path offset from a workpiece;

accessing a set of scan images captured by the optical sensor while traversing the workpiece during the scan cycle;

assembling the set of scan images into a virtual model representing the workpiece;

navigating a probe into contact with the workpiece at a set of probe locations on the workpiece;

detecting a first set of positions of the probe in contact with the workpiece at the set of probe locations;

interpreting a first surface contour of the workpiece based on the first set of positions;

detecting a first difference between the first surface contour and a first target contour, corresponding to the first surface contour, of the workpiece; and

in response to the first difference exceeding a threshold difference:

generating a first toolpath spanning the first surface contour; and

during a processing cycle succeeding the scan cycle:

accessing a first sequence of force values output by a force sensor coupled to an abrasive head;

navigating the abrasive head across the first surface contour on the workpiece according to the first toolpath to remove material from the first surface contour and to reduce the first difference;

based on the first sequence of force values, deviating the abrasive head from the first toolpath to maintain forces of the abrasive head on the workpiece proximal a first target force; and

detecting a second set of positions of the abrasive head traversing the first surface contour of the workpiece;

transforming the virtual model into alignment with the first set of positions and the second set of positions; and

storing the virtual model as a digital twin of the workpiece.