IP Library › Granted Patent US 12,390,937
Granted Patent B2
US 12,390,937 · App. 18/407,633 · Granted Aug 19, 2025

Part modeling for path generation to guide robotic end effector

Inventors: Ademola Ayodeji Oridate (Austin, TX); William Wilder (Austin, TX); Spencer Voiss (Austin, TX)
Assignee: WILDER SYSTEMS INC.
B25J9/1697B25J9/0081B25J9/161B25J9/163B25J9/1661B25J9/1664B25J9/1666B25J9/1671B25J9/1679B25J13/006B64F5/40G06F16/22G06F18/23G06T7/70G05B2219/33002G05B2219/45066G06T2207/20081
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,390,937
App. No.
18/407,633
Granted
Aug 19, 2025
Kind
B2
Abstract

Aspects of the disclosure are directed towards path generation. A method includes a computing system registering a first coordinate system of a target object with a second coordinate system of a robot. The computing system can generate a trajectory over the surface of the target object based on the registration. The computing system can generate a robot job file based at least in part on the generated trajectory. The computing system can transmit the robot job file to a robot controller.

Claims (70)

1. A method performed by a computing system, comprising:

generating a path for a representation of a surface of a target object, wherein the path comprises a virtual point, wherein the virtual point is associated with a normal, and wherein the virtual point corresponds to a real-world target;

generating a trajectory over the surface of the target object based on the path, the normal, and a registration a first coordinate system of the target object with a second coordinate system of a robot, wherein the trajectory comprises a set of robot joint parameters used to traverse the surface of the target object, and wherein the trajectory traverses the real-world target;

classifying a target type for the real-world target using a machine learning model based on scanned data of the surface of the target object; and

generating a robot job file, wherein the robot job file comprises the trajectory and an autonomous operation instruction.

2. The method of claim 1 , wherein the computing system comprises a user device in communication with a server, and wherein the method further comprises:

transmitting the robot job file to the server, wherein the server is in communication with the robot, wherein the robot is configured to perform an autonomous operation using the robot job file.

3. The method of claim 2 , wherein the method further comprises:

processing a first input, received via a user interface (UI), for generating the path over the representation of the surface of the target object, wherein the path is generated based on the first input; and

processing a second input, received via the UI, for generating the trajectory over the surface of the target object, wherein the trajectory is further generated based on the second input and the path.

4. The method of claim 2 , wherein the method further comprises:

processing control instructions for updating a visualization on the UI based on performance of the autonomous operation by the robot; and

updating the visualization on the UI based on the autonomous operation.

5. The method of claim 1 , wherein the method further comprises:

classifying a target type for the real-world target using a machine learning model based on scanned data of the surface of the target object, and wherein classifying the target type for the real-world target comprises:

receiving scanned data of the surface of the target object;

inputting the scanned data into the machine learning model, wherein the machine learning model is trained to identify a target object class; and

executing the machine learning model to classify the target type of the real-world target.

6. The method of claim 1 , wherein the method further comprises:

processing information that a position of the virtual point in relation to the target object has been modified;

generating a second path based on the modification of the position of the virtual point; and

generating a second trajectory based on the second path.

7. The method of claim 1 , wherein the computing system comprises a user device in communication with a server, and wherein the method further comprises:

causing the server to perform an operation associated with an autonomous operation based on a frequency of performing the operation in relation to the autonomous operation.

8. A computing system comprising:

one or more processors;

one or more computer readable media including instructions that, when executed by the one or more processors, cause the one or more processors:

generate a path for a representation of a surface of a target object, wherein the path comprises a virtual point, wherein the virtual point is associated with a normal, and wherein the virtual point corresponds to a real-world target;

generate a trajectory over the surface of the target object based on the path, the normal, and a registration a first coordinate system of the target object with a second coordinate system of a robot, wherein the trajectory comprises a set of robot joint parameters used to traverse the surface of the target object, and wherein the trajectory traverses the real-world target;

classify a target type for the real-world target using a machine learning model based on scanned data of the surface of the target object; and

generate a robot job file, wherein the robot job file comprises the trajectory and an autonomous operation instruction.

9. The computing system of claim 8 , wherein the computing system comprises a user device in communication with a server, and wherein the instructions that, when executed by the one or more processors, further cause the one or more processors to:

transmit the robot job file to the server, wherein the server is in communication with a robot, wherein the robot is configured to perform an autonomous operation using the robot job file.

10. The computing system of claim 9 , wherein the instructions that, when executed by the one or more processors, further cause the one or more processors to:

process a first input, received via a user interface (UI), for generating the path over the representation of the surface of the target object, wherein the path is generated based on the first input; and

process a second input, received via the UI, for generating the trajectory over the surface of the target object, wherein the trajectory is further generated based on the second input and the path.

11. The computing system of claim 9 , wherein the instructions that, when executed by the one or more processors, further cause the one or more processors to:

process control instructions for updating a visualization on the UI based on performance of the autonomous operation by the robot; and

update the visualization on the UI based on the autonomous operation.

12. The computing system of claim 8 , wherein the instructions that, when executed by the one or more processors, further cause the one or more processors to classify a target type for the real-world target using a machine learning model based on scanned data of the surface of the target object, and wherein classifying the target type for the real-world target comprises:

receiving scanned data of the surface of the target object;

inputting the scanned data into the machine learning model, wherein the machine learning model is trained to identify a target object class; and

executing the machine learning model to classify the target type of the real-world target.

13. The computing system of claim 8 , wherein the instructions that, when executed by the one or more processors, further cause the one or more processors to:

process information that a position of the virtual point in relation to the target object has been modified;

generate a second path based on the modification of the position of the virtual point; and

generate a second trajectory based on the second path.

14. The computing system of claim 8 , wherein the computing system comprises a user device in communication with a server, and wherein the instructions that, when executed by the one or more processors, further cause the one or more processors to:

cause the server to perform an operation associated with an autonomous operation based on a frequency of performing the operation in relation to the autonomous operation.

15. One or more computer-readable media including one or more sequences of instructions, when executed by one or more processors, cause a computing system to:

generate a path for a representation of a surface of a target object, wherein the path comprises a virtual point, wherein the virtual point is associated with a normal, and wherein the virtual point corresponds to a real-world target;

generate a trajectory over the surface of the target object based the path, the normal, and on a registration a first coordinate system of the target object with a second coordinate system of a robot, the path, and the normal, wherein the trajectory comprises a set of robot joint parameters used to traverse the surface of the target object, and wherein the trajectory traverses the real-world target;

classify a target type for the real-world target using a machine learning model based on scanned data of the surface of the target object; and

generate a robot job file, wherein the robot job file comprises the trajectory and an autonomous operation instruction.

16. The one or more computer-readable media of claim 15 , wherein the computing system comprises a user device in communication with a server, and wherein the instructions that, when executed by the one or more processors, further cause the one or more processors to:

transmit the robot job file to the server, wherein the server is in communication with a robot, wherein the robot is configured to perform an autonomous operation using the robot job file.

17. The one or more computer-readable media of claim 16 , wherein the instructions that, when executed by the one or more processors, further cause the one or more processors to:

process a first input, received via a user interface (UI), for generating the path over the representation of the surface of the target object, wherein the path is generated based on the first input; and

process a second input, received via the UI, for generating the trajectory over the surface of the target object, wherein the trajectory is further generated based on the second input and the path.

18. The one or more computer-readable media of claim 16 , wherein the instructions that, when executed by the one or more processors, further cause the one or more processors to:

process control instructions for updating a visualization on the UI based on performance of the autonomous operation by the robot; and

update the visualization on the UI based on the autonomous operation.

19. The one or more computer-readable media of claim 15 , wherein the instructions that, when executed by the one or more processors, further cause the one or more processors to classify a target type for the real-world target using a machine learning model based on scanned data of the surface of the target object, and wherein classifying the target type for the real-world target comprises:

receiving scanned data of the surface of the target object;

inputting the scanned data into the machine learning model, wherein the machine learning model is trained to identify a target object class; and

executing the machine learning model to classify the target type of the real-world target.

20. The one or more computer-readable media of claim 15 , wherein the instructions that, when executed by the one or more processors, further cause the one or more processors to:

process information that a position of the virtual point in relation to the target object has been modified;

generate a second path based on the modification of the position of the virtual point; and

generate a second trajectory based on the second path.

Continuity (8)
Continuation 18447295 · Aug 9, 2023
Provisional Application 63481576 · Jan 25, 2023
Provisional Application 63481563 · Jan 25, 2023
Provisional Application 63377149 · Sep 26, 2022
Provisional Application 63398202 · Aug 15, 2022
Provisional Application 63398203 · Aug 15, 2022
Provisional Application 63396938 · Aug 10, 2022
Related Publication 20240269854A1 · Aug 15, 2024
References Cited (51)
US 9725013B2 · Romanov · 2017 [cited by examiner]
US 11113567B1 · Durand et al. · 2021 [cited by applicant]
US 11331799B1 · Shafer · 2022 [cited by applicant]
US 11341596B2 · Lee et al. · 2022 [cited by applicant]
US 11407111B2 · Zhang · 2022 [cited by examiner]
US 11553969B1 · Lang et al. · 2023 [cited by applicant]
US 11555903B1 · Kroeger · 2023 [cited by applicant]
US 11865696B1 · Wilder et al. · 2024 [cited by applicant]
US 11897145B1 · Oridate et al. · 2024 [cited by applicant]
US 11911921B1 · Oridate et al. · 2024 [cited by applicant]
US 11931910B2 · Oridate et al. · 2024 [cited by applicant]
US 11995056B2 · Magpantay et al. · 2024 [cited by applicant]
US 12036684B2 · Oridate et al. · 2024 [cited by applicant]
US 12220826B2 · Wilder et al. · 2025 [cited by applicant]
US 20020169586A1 · Rankin, II · 2002 [cited by examiner]
US 20030149502A1 · Rebello et al. · 2003 [cited by applicant]
US 20040039465A1 · Boyer et al. · 2004 [cited by applicant]
US 20140184786A1 · Georgeson et al. · 2014 [cited by applicant]
US 20140305217A1 · Tapia et al. · 2014 [cited by applicant]
US 20150314888A1 · Reid et al. · 2015 [cited by applicant]
US 20170182666A1 · Szarski et al. · 2017 [cited by applicant]
US 20180060364A1 · Zengerle et al. · 2018 [cited by applicant]
US 20190392595A1 · Uhlenbrock · 2019 [cited by examiner]
US 20200134860A1 · Haven et al. · 2020 [cited by applicant]
US 20200164531A1 · Wagner et al. · 2020 [cited by applicant]
US 20200311616A1 · Rajkumar et al. · 2020 [cited by applicant]
US 20200383734A1 · Dahdouh · 2020 [cited by applicant]
US 20210138600A1 · Sato et al. · 2021 [cited by applicant]
US 20210229835A1 · Carberry et al. · 2021 [cited by applicant]
US 20210248289A1 · Fasano · 2021 [cited by applicant]
US 20210356572A1 · Kadambi et al. · 2021 [cited by applicant]
US 20210370509A1 · Pivac · 2021 [cited by applicant]
US 20220066456A1 · Ebrahimi Afrouzi et al. · 2022 [cited by applicant]
US 20220187841A1 · Ebrahimi Afrouzi et al. · 2022 [cited by applicant]
US 20220193894A1 · Barry et al. · 2022 [cited by applicant]
US 20220197306A1 · Cella et al. · 2022 [cited by applicant]
US 20220395985A1 · Maeda · 2022 [cited by examiner]
US 20230108488A1 · Humayun et al. · 2023 [cited by applicant]
US 20230109541A1 · Ando · 2023 [cited by applicant]
US 20230114137A1 · Wu et al. · 2023 [cited by applicant]
US 20230124599A1 · Fan · 2023 [cited by applicant]
US 20230131458A1 · Isonni et al. · 2023 [cited by applicant]
US 20230158716A1 · Nishimuta et al. · 2023 [cited by applicant]
US 20230347509A1 · Terasawa · 2023 [cited by applicant]
US 20240293932A1 · Willför et al. · 2024 [cited by applicant]
CN 112907672B · 2021 [cited by applicant]
WO 2022070186A1 · 2022 [cited by applicant]
WO 2022186777A1 · 2022 [cited by applicant]
Oridate, “Velocity-Based Robot Motion Planner for Under-Constrained Trajectories with Part-Specific Geometric Variances”, The University of Texas, Dec. 2021, 178 pages. [cited by applicant]
PCT/US2024/012988, “International Search Report and the Written Opinion”, Apr. 19, 2024, 8 pages. [cited by applicant]
PCT/US2024/012997, “International Search Report and Written Opinion”, Apr. 3, 2024, 14 pages. [cited by applicant]
Cited By (1)
US 12,447,626