IP Library Granted Patent US 11,426,875
Granted Patent B2
US 11,426,875 · App. 16/858,795 · Granted Aug 30, 2022

Natural pitch and roll

Inventors: Alex Khripin (Waltham, MA); Alfred Anthony Rizzi (Waltham, MA)
Assignee: Boston Dynamics, Inc.
B25J9/1694B25J9/1664B62D57/032G05B2219/39082G05B2219/39215G05B2219/39325G05D2201/0217Y10S901/01Y10S901/09Y10S901/46
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 11,426,875
App. No.
16/858,795
Granted
Aug 30, 2022
Kind
B2
Abstract

A control system may receive a first plurality of measurements indicative of respective joint angles corresponding to a plurality of sensors connected to a robot. The robot may include a body and a plurality of jointed limbs connected to the body associated with respective properties. The control system may also receive a body orientation measurement indicative of an orientation of the body of the robot. The control system may further determine a relationship between the first plurality of measurements and the body orientation measurement based on the properties associated with the jointed limbs of the robot. Additionally, the control system may estimate an aggregate orientation of the robot based on the first plurality of measurements, the body orientation measurement, and the determined relationship. Further, the control system may provide instructions to control at least one jointed limb of the robot based on the estimated aggregate orientation of the robot.

Claims (49)

1. A method comprising:

receiving, at a processing system from a plurality of sensors connected to a robot, a plurality of measurements indicative of respective joint angles of a plurality of jointed limbs connected to a body of the robot;

receiving, from at least one of the plurality of sensors connected to the body of the robot, a body orientation measurement indicative of an orientation of the body of the robot;

estimating, by the processing system, an aggregate orientation of the robot based on the plurality of measurements and the body orientation measurement, the estimated aggregate orientation representing an orientation of the body and an orientation of the plurality of jointed limbs of the robot;

obtaining, by the processing system, a rate of change of the estimated aggregate orientation based on the plurality of measurements and the body orientation measurement;

determining, by the processing system, a path that indicates an expected trajectory of the robot based on the estimated aggregate orientation and the obtained rate of change of the estimated aggregate orientation;

determining, by the processing system, based on image data from a respective one of the plurality of sensors, whether an object present within the determined path represents a potential collision for the robot; and

when the object within the determined path represents a respective collision, altering, by the processing system, the path of the robot to avoid the respective collision with the object.

2. The method of claim 1 , wherein altering the path of the robot comprises providing, to at least one of the joined limbs, instructions to move to a specific location and have a specific orientation.

3. The method of claim 1 , wherein determining whether the object present within the determined path represents the potential collision for the robot comprises determining whether a size of the object satisfies an object size threshold; and

when the size of the object satisfies the object size threshold:

determining that the object within the determined path represents the respective collision; and

altering the path of the robot to avoid the respective collision with the object.

4. The method of claim 3 , wherein when the size of the object fails to satisfy the object size threshold:

classifying the object as not a collision; and

maintaining the path indicated as the expected trajectory of the robot based on the estimated aggregate orientation.

5. The method of claim 1 , further comprising determining a velocity of the robot along the expected trajectory by performing a time differentiation of the aggregate orientation of the robot.

6. The method of claim 5 , further comprising altering the velocity of the robot to avoid the respective collision with the object.

7. The method of claim 1 , wherein estimating the aggregate orientation of the robot is further based on the mass and the location of the center of mass of one or more limbs of the plurality of jointed limbs.

8. The method of claim 1 , wherein estimating the aggregate orientation of the robot comprises predicting that the robot will assume the aggregate orientation at a future time.

9. The method of claim 1 , wherein the robot comprises a quadruped robot and the plurality of jointed limbs comprises at least four jointed legs connected to the body of the quadruped robot.

10. The method of claim 1 , wherein altering the path of the robot comprises modifying at least one of a yaw rate, pitch rate, or roll rate of the robot during travel along the path with the expected trajectory.

11. A robot comprising:

a body;

a plurality of jointed limbs connected to the body;

a plurality of sensors coupled to the robot, the plurality of sensors comprising a body orientation sensor, an image capturing sensor, and sensors configured to provide a plurality of measurements indicative of respective joint angles of the plurality of jointed limbs;

a processing system; and

memory hardware in communication with the processing system, the memory hardware storing instruction that when executed on the processing system cause the processing system to perform operations comprising:

receiving, from the plurality of sensors, the plurality of measurements indicative of respective joint angles of the plurality of jointed limbs;

receiving, from the body orientation sensor, a body orientation measurement indicative of an orientation of the body of the robot;

estimating an aggregate orientation of the robot based on the plurality of measurements and the body orientation measurement, the estimated aggregate orientation representing an orientation of the body and an orientation of the plurality of jointed limbs of the robot;

obtaining a rate of change of the estimated aggregate orientation based on the plurality of measurements and the body orientation measurement;

determining a path that indicates an expected trajectory of the robot based on the estimated aggregate orientation and the obtained rate of change of the estimated aggregate orientation;

determining, based on image data from the image capturing sensor, whether an object present within the determined path represents a potential collision for the robot; and

when the object within the determined path represents a respective collision, altering the path of the robot to avoid the respective collision with the object.

12. The robot of claim 11 , wherein altering the path of the robot comprises providing, to at least one of the jointed limbs, instructions to move to a specific location and have a specific orientation.

13. The robot of claim 11 , wherein determining whether the object present within the determined path represents the potential collision for the robot comprises determining whether a size of the object satisfies an object size threshold; and

when the size of the object satisfies the object size threshold:

determining that the object within the determined path represents the respective collision; and

altering the path of the robot to avoid the respective collision with the object.

14. The robot of claim 13 , wherein when the size of the object fails to satisfy the object size threshold:

classifying the object as not a collision; and

maintaining the path indicated as the expected trajectory of the robot based on the estimated aggregate orientation.

15. The robot of claim 11 , wherein the operations further comprise determining a velocity of the robot along the expected trajectory by performing a time differentiation of the aggregate orientation of the robot.

16. The robot of claim 15 , further comprising altering the velocity of the robot to avoid the respective collision with the object.

17. The robot of claim 11 , wherein estimating the aggregate orientation of the robot is further based on the mass and the location of the center of mass of one or more limbs of the plurality of jointed limbs.

18. The robot of claim 11 , wherein estimating the aggregate orientation of the robot comprises predicting that the robot will assume the aggregate orientation at a future time.

19. The robot of claim 11 , wherein the robot comprises a quadruped robot and the plurality of jointed limbs comprises at least four jointed legs connected to the body of the quadruped robot.

20. The robot of claim 11 , wherein altering the path of the robot comprises modifying at least one of a yaw rate, pitch rate, or roll rate of the robot during travel along the path with the expected trajectory.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATIONS NUMBERS 63127573 AND 11/302759 AND THE CITY OF THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 057111 FRAME: 0202. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 27, 2021
From: BOSTON DYNAMICS, INC.
To: BOSTON DYNAMICS, INC.
Reel/Frame 057964/0415 →
CHANGE OF NAME Recorded Oct 5, 2021
From: BOSTON DYNAMICS, INC.
To: BOSTON DYNAMICS, INC.
Reel/Frame 057711/0202 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 052557 FRAME 0591. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 6, 2020
From: KHRIPIN, ALEX; RIZZI, ALFRED ANTHONY
To: GOOGLE INC.
Reel/Frame 052583/0230 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2020
From: KHRIPIN, ALEX; RIZZI, ALFRED ANTHONY
To: BOSTON DYNAMICS, INC.
Reel/Frame 052557/0591 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2020
From: GOOGLE INC.
To: BOSTON DYNAMICS, INC.
Reel/Frame 052557/0624 →
Continuity (5)
Continuation 16137796 · Sep 21, 2018
Continuation 15495905 · Apr 24, 2017
Continuation 14659012 · Mar 16, 2015
Provisional Application 62041281 · Aug 25, 2014
Related Publication 20200254621A1 · Aug 13, 2020