IP Library Granted Patent US 11,253,990
Granted Patent B1
US 11,253,990 · App. 16/654,658 · Granted Feb 22, 2022

Robot control

Inventors: Benjamin Holson (Sunnyvale, CA); Jeffrey Bingham (Sunnyvale, CA); Ben Berkowitz (San Francisco, CA)
Assignee: X DEVELOPMENT LLC
B25J5/007B25J9/1633B25J13/085B25J13/088
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,253,990
App. No.
16/654,658
Granted
Feb 22, 2022
Kind
B1
Abstract

Methods, apparatus, and computer readable media applicable to balancing robots. Some implementations are directed to maintaining a given end effector pose (relative to a world frame) of an end effector of a balancing robot when there is a disturbance to a balancing base of the balancing robot. Some implementations are additionally or alternatively directed to transitioning a balancing robot from a fallen configuration to a balanced configuration. Some implementations are additionally or alternatively directed to mitigating the risk that a balancing robot will fall when interacting with actuable environmental objects (e.g., doors) and/or to lessen the disturbance to a balancing base when interacting with actuable environmental objects.

Claims (43)

1. A method performed by one or more processors of a robot having a base and an end effector, the method comprising:

identifying a movement force to be applied, by the robot, to an actuable environmental object to move the actuable environmental object from a current pose to a modified pose;

determining, based on the movement force to be applied, a counteracting force that counteracts the movement force;

adjusting the end effector of the robot to apply the counteracting force to the actuable environmental object through contact with the actuable environmental object; and

while applying the counteracting force, applying the movement force to the actuable environmental object.

2. The method of claim 1 , wherein the actuable environmental object is a door.

3. The method of claim 2 , wherein the end effector is a grasping end effector and wherein adjusting the end effector to contact the actuable environmental and apply the counteracting force to the actuable environmental object comprises:

adjusting the grasping end effector to contact a protruding member of the door and applying the counteracting force via the contact with the protruding member.

4. The method of claim 3 , wherein the protruding member is a handle or a knob.

5. The method of claim 1 , wherein the movement force is a pushing force and wherein determining the counteracting force comprises:

determining, based on the movement force being the pushing force, the counteracting force to have a direction that is toward the ground.

6. The method of claim 1 , wherein the movement force is a pulling force and wherein determining the counteracting force comprises:

determining, based on the movement force being the pulling force, the counteracting force to have a direction that is away from the ground.

7. The method of claim 1 , wherein the counteracting force is applied initially without application of the counteracting force, and wherein applying the movement force occurs after the initial application of the counteracting force and while continuing to apply the counteracting force.

8. The method of claim 1 , further comprising:

while applying the counteracting force and the movement force to the actuable environmental object, iteratively increasing magnitudes of the counteracting force and the movement force.

9. The method of claim 8 , further comprising maintaining the magnitudes of the counteracting force and the movement force responsive to determining the actuable member has started to actuate.

10. The method of claim 1 , further comprising:

determining, while applying the counteracting force and the movement force, that a moment of inertia of the actuable environmental object has been exceeded; and

responsive to determining that the moment of inertia has been exceeded, applying an alternative counteracting force to the actuable environmental object.

11. The method of claim 10 , wherein the alternative counteracting force is opposed, in direction, to the counteracting force.

12. The method of claim 11 , wherein determining that the moment of inertia has been exceeded is based on sensor data from an inertial measurement unit of the robot.

13. The method of claim 1 , wherein the robot is a balancing robot and the base is a balancing base.

14. The method of claim 13 , wherein the balancing robot is in a balanced state during at least part of the time that the counteracting force is applied to the actuable environmental object.

15. The method of claim 13 , wherein the balancing robot is in a counteracting out of balance state during at least part of the time that the counteracting force is applied to the actuable environmental object, and wherein determining the counteracting force is further based on the counteracting out of balance state.

16. A method performed by one or more processors of a balancing robot having a balancing base and an end effector, the method comprising:

identifying a movement force to be applied, by the robot, to an actuable environmental object to move the actuable environmental object from a current pose to a modified pose;

determining, based on the movement force to be applied, a counteracting force that counteracts the movement force;

adjusting the balancing base of the balancing robot based on the counteracting force, wherein adjusting the balancing base of the balancing robot based on the counteracting force comprises causing the balancing base to be in a counteracting out of balance state that is based on the counteracting force; and

while in the counteracting out of balance state, causing the robot to apply the movement force to the actuable environmental object.

17. A balancing robot, comprising:

a balancing base;

an end effector;

one or more processors executing instructions, stored in memory of the balancing robot, to:

identify a movement force to be applied to an actuable environmental object to move the actuable environmental object from a current pose to a modified pose;

determine, based on the movement force to be applied, a counteracting force that counteracts the movement force;

adjust the end effector of the robot to apply the counteracting force to the actuable environmental object through contact with the actuable environmental object; and

while applying the counteracting force, apply the movement force to the actuable environmental object.

18. The method of claim 17 , wherein the counteracting force is applied initially without application of the counteracting force, and wherein in applying the movement force one or more of the processors are to apply the movement force after the initial application of the counteracting force and while continuing to apply the counteracting force.

19. The balancing robot of claim 18 , wherein the one or more processors, in executing the instructions, are further to:

determine, while applying the counteracting force and the movement force, that a moment of inertia of the actuable environmental object has been exceeded; and

responsive to determining that the moment of inertia has been exceeded, apply an alternative counteracting force to the actuable environmental object.

20. The balancing robot of claim 19 , wherein the actuable environmental object is a door.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2025
From: GOOGLE LLC
To: GDM HOLDING LLC
Reel/Frame 071109/0342 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2023
From: X DEVELOPMENT LLC
To: GOOGLE LLC
Reel/Frame 063992/0371 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 17, 2019
From: HOLSON, BENJAMIN; BINGHAM, JEFFREY; BERKOWITZ, BEN
To: X DEVELOPMENT LLC
Reel/Frame 050746/0868 →