IP Library › Granted Patent US 12,240,112
Granted Patent B2
US 12,240,112 · App. 17/730,079 · Granted Mar 4, 2025

Policy layers for machine control

Inventors: Nathan Donald Ratliff (Seattle, WA); Karl Van Wyk (Lynnwood, WA); Man Xie (Marietta, GA); Anqi Li (Redmond, WA); Muhammad Asif Rana (Union City, CA)
Assignee: NVIDIA Corporation
B25J9/1602B25J9/1676G05B2219/39001
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,240,112
App. No.
17/730,079
Granted
Mar 4, 2025
Kind
B2
Abstract

Apparatuses, systems, and techniques provide a policy that can be executed to cause a machine to move. In at least one embodiment, a first policy layer is provided to cause the machine to execute a first motion that causes the machine to accelerate to reach an unbiased state. A second policy layer is provided to cause the machine to execute a second motion without influencing the unbiased state to be reached by machine. The policy can comprise the first and second policy layers.

Claims (35)

1. A computer system comprising one or more processors and computer-readable memory storing instructions executable by the one or more processors to cause the computer system to at least:

identify a policy to cause a machine to execute at least one movement, the policy including at least a plurality of policy layers comprising:

a first policy layer to cause the machine to execute a first motion that reaches an unbiased state, the first motion to be limited by at least a first parameter associated with the machine and a second parameter associated with an area in which the machine is to operate, and

a second policy layer to cause the machine to execute a second motion without influencing the unbiased state associated with the first policy layer; and

execute the policy to cause the machine to execute the at least one movement, the at least one movement comprising at least the first motion and the second motion.

2. The computer system according to claim 1 , wherein the first policy layer comprises at least a first nonlinear second-order differential equation and the second policy layer comprises at least a second nonlinear second-order differential equation, the first nonlinear second-order differential equation unbiased to cause the first motion to come to rest and the second nonlinear second-order differential equation unbiased to cause the second motion to come to rest.

3. The computer system according to claim 1 , wherein the first policy layer is a first geometric fabric comprising a nonlinear second-order differential equation and the second policy layer is a second geometric fabric comprising another second-order differential equation.

4. The computer system according to claim 1 , wherein the first parameter comprises at least first data comprising a one or more limits associated with a joint of the machine and the second parameter comprises at least second data comprising a target position to be reached by the machine, the target position located in an Euclidean space associated with the area in which the machine is to operate.

5. The computer system according to claim 1 , wherein the first policy layer is energized by a first Finsler energy and the second policy layer is energized by a second Finsler energy, the first Finsler energy is homogeneous of degree two and the second Finsler energy is homogenous of degree two.

6. The computer system according to claim 1 , wherein the machine is an articulated robot comprising at least one arm, the first policy layer to cause the at least one arm to execute the first motion comprising a straight line movement limited by the first parameter and the second parameter, and wherein the first parameter corresponds to a joint of the at least one arm and the second parameter corresponds to coordinate in the area in which the articulated robot is to operate.

7. The computer system according to claim 1 , wherein the second motion is to occur subsequent to the first motion, the second motion to cause a gripper of the machine to execute a movement based on at least one task that the machine is to undertake.

8. The computer system according to claim 1 , wherein the plurality of policy layers comprises a third policy layer, the third policy layer to cause the machine to execute a third motion without influencing the unbiased state associated with the first policy layer and an unbiased state associated with the second policy layer, and wherein the third motion is to cause the machine to avoid at least one obstacle in the area in which the machine is to operate.

9. A device comprising:

one or more processors and memory storing executable instructions that, as a result of being executed by the one or more processors, cause the device to:

generate a first policy layer to cause a machine to execute a first motion that causes the machine to accelerate to reach an unbiased state, and

generate a second policy layer to cause the machine to execute a second motion without influencing the unbiased state to be reached by machine; and

execute the first policy layer and the second policy layer to cause the machine to execute the first motion and the second motion.

10. The device according to claim 9 , wherein the one or more processors and the memory storing executable instructions that, as a result of being executed by the one or more processors, further cause the device to generate a policy comprising the first policy layer and the second policy layer, the policy to cause the machine to execute at least one action.

11. The device according to claim 10 , wherein the first policy layer and the second policy layer are generated consecutively starting with the first policy layer and followed by the second policy layer.

12. The device according to claim 9 , wherein the first policy layer comprises at least a first nonlinear second-order differential equation and the second policy layer comprises at least a second nonlinear second-order differential equation, the first nonlinear second-order differential equation unbiased to cause the first motion to come to rest and the second nonlinear second-order differential equation unbiased to cause the second motion to come to rest.

13. The device according to claim 9 , wherein the first policy layer is a first geometric fabric comprising a nonlinear second-order differential equation and the second policy layer is a second geometric fabric comprising another second-order differential equation.

14. The device according to claim 9 , wherein the first policy layer comprises at least first data comprising a one or more limits associated with a joint of the machine and the second policy layer comprises at least second data comprising a target position to be reached by the machine, the target position located in an Euclidean space associated with the area in which a portion of the machine is to operate.

15. The device according to claim 9 , wherein the first policy layer is energized by a first Finsler energy and the second policy layer is energized by a second Finsler energy.

16. The device according to claim 9 , wherein the machine is an articulated robot comprising at least one arm, the first policy layer to cause the at least one arm to execute the first motion comprising a substantially straight line movement.

17. The device according to claim 9 , wherein the second motion is to occur subsequent to the first motion, the second motion to cause a gripper of the machine to execute a movement based on at least one task that the machine is to undertake.

18. The device according to claim 9 , wherein the one or more processors and the memory storing executable instructions that, as a result of being executed by the one or more processors, further cause the device to generate a third policy layer, the third policy layer to cause the machine to execute a third motion without influencing the unbiased state associated with the first policy layer and an unbiased state associated with the second policy layer, and wherein the third motion is to cause the machine to avoid at least one obstacle in the area in which the machine is to operate.

19. A computer-implemented method, comprising:

generating a first policy layer to cause a machine to execute a first motion that causes the machine to accelerate to reach an unbiased state, and

generating a second policy layer to cause the machine to execute a second motion without influencing the unbiased state to be reached by machine; and

executing the first policy layer and the second policy layer to cause the machine to execute the first motion and the second motion.

20. The computer-implemented method according to claim 19 , further comprising a third policy layer, the third policy layer to cause the machine to execute a third motion without influencing the unbiased state associated with the first policy layer and an unbiased state associated with the second policy layer, and wherein the third motion is to cause the machine to avoid at least one obstacle in the area in which the machine is to operate.

21. The computer-implemented method according to claim 19 , wherein the first policy layer and the second policy layer are generated consecutively starting with the first policy layer and followed by the second policy layer.

22. The computer-implemented method according to claim 19 , wherein the first policy layer comprises at least a first nonlinear second-order differential equation and the second policy layer comprises at least a second nonlinear second-order differential equation, the first nonlinear second-order differential equation unbiased to cause the first motion to come to rest and the second nonlinear second-order differential equation unbiased to cause the second motion to come to rest.

23. The computer-implemented method according to claim 19 , wherein the first policy layer is a first geometric fabric comprising a nonlinear second-order differential equation and the second policy layer is a second geometric fabric comprising another second-order differential equation.

24. The computer-implemented method according to claim 19 , wherein the first policy layer comprises at least first data comprising a one or more limits associated with a joint of the machine and the second policy layer comprises at least second data comprising a target position to be reached by the machine, the target position located in an Euclidean space associated with the area in which a portion of the machine is to operate.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2023
From: RATLIFF, NATHAN DONALD; VAN WYK, KARL; XIE, MAN; LI, ANQI; RANA, MUHAMMAD ASIF
To: NVIDIA CORPORATION
Reel/Frame 062912/0430 →
Continuity (2)
Provisional Application 63180609 · Apr 27, 2021
Related Publication 20220371184A1 · Nov 24, 2022
References Cited (39)
US 6754560B2 · Fujita · 2004 [cited by examiner]
US 6904335B2 · Solomon · 2005 [cited by examiner]
US 7343222B2 · Solomon · 2008 [cited by examiner]
US 8112176B2 · Solomon · 2012 [cited by examiner]
US 8175750B2 · Tsusaka · 2012 [cited by examiner]
US 8290621B2 · Tsusaka · 2012 [cited by examiner]
US 8977394B2 · Khoukhi · 2015 [cited by examiner]
US 9805491B2 · Herman · 2017 [cited by examiner]
US 10379538B1 · Sheckells · 2019 [cited by examiner]
US 10546405B2 · Herman · 2020 [cited by examiner]
US 10926408B1 · Vogelsong · 2021 [cited by examiner]
US 11150670B2 · Khosla · 2021 [cited by examiner]
US 11562287B2 · Xiong · 2023 [cited by examiner]
US 11701773B2 · Toshev · 2023 [cited by examiner]
US 20020158599A1 · Fujita · 2002 [cited by examiner]
US 20040162638A1 · Solomon · 2004 [cited by examiner]
US 20110208355A1 · Tsusaka · 2011 [cited by examiner]
US 20120173021A1 · Tsusaka · 2012 [cited by examiner]
US 20140188273A1 · Khoukhi · 2014 [cited by examiner]
US 20170329333A1 · Passot · 2017 [cited by examiner]
US 20190130312A1 · Xiong · 2019 [cited by examiner]
US 20190361450A1 · Sheckells · 2019 [cited by examiner]
US 20200114506A1 · Toshev · 2020 [cited by examiner]
US 20200241574A1 · Lin · 2020 [cited by examiner]
US 20200379486A1 · Khosla · 2020 [cited by examiner]
EP 1195231A1 · 2002 [cited by applicant]
Cheng et al., “RMPflow : A Computational Graph for Automatic Motion Policy Generation,” Apr. 5, 2019, 45 pages. [cited by applicant]
Google, “Fourth Machine Learning in Planning and Control of Robot Motion Workshop,” retrieved from https://sites.google.com/view/mlpc-icra2020, Jun. 2020, 5 pages. [cited by applicant]
IEEE “IEEE Standard for Floating-Point Arithmetric”, Microprocessor Standards Committee of the IEEE Computer Society, IEEE Std 754-2008, dated Jun. 12, 2008, 70 pages. [cited by applicant]
International Search Report and Written Opinion for Application No. PCT/US2022/026403, mailed Jul. 25, 2022, filed Apr. 26, 2022, 13 pages. [cited by applicant]
Lee, “Introduction to Smooth Manifolds,” Springer, 2nd Edition, 2012, 726 pages. [cited by applicant]
NIST, “Advancing the State of Machine Learning for Manufacturing Robotics,” retrieved from https://www.nist.gov/el/intelligent-systems-division-73500/advancing-state-machine-learning-manufacturing-robotics, Jul. 12, 202… [cited by applicant]
Ratliff et al. “Riemannian Motion Policies,” Jul. 25, 2018, 15 pages. [cited by applicant]
Ratliff et al., “Optimization Over a Geometric Fabric,” YouTube, retrieved from https://www.youtube.com/watch?v=-y_jAdxSsAA, Jun. 8, 2020, 3 pages. [cited by applicant]
Ratliff, “Geometric Fabrics: Transparent Tools for Behavior Engineering,” YouTube, retrieved from https://www.youtube.com/watch?v=okSPEFRzY2E, Jul. 12, 2020, 3 pages. [cited by applicant]
Society of Automotive Engineers On-Road Automated Vehicle Standards Committee, “Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles,” Standard No. J3016-201609, Sep. 30, 2… [cited by applicant]
Society of Automotive Engineers On-Road Automated Vehicle Standards Committee, “Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles,” Standard No. J3016-201806, issued Jan… [cited by applicant]
Xie et al., “Geometric Fabrics for the Acceleration-Based Design of Roboic Motion,” Oct. 28, 2020, 10 pages. [cited by applicant]
Office Action for German Application No. 112022001174.2, mailed Nov. 14, 2024, 8 pages. [cited by applicant]
Cited By (1)
US 12,693,687