IP Library Granted Patent US 9,280,159
Granted Patent B1
US 9,280,159 · App. 14/703,050 · Granted Mar 8, 2016

Shutdown method by using local control board

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 9,280,159
App. No.
14/703,050
Granted
Mar 8, 2016
Kind
B1
Abstract

The present application discloses implementations that involve shutdowns of a robotic system. An example may include controlling, by a robotic system, a plurality of motors of the robotic system with a central processing unit (CPU). The example may also include determining, by the robotic system, an error condition of the robotic system, where the error condition prevents the CPU from controlling at least one of the plurality of motors. The example may also include causing a plurality of motor driver boards to control the plurality of motors of the robotic system in response to determining the error condition of the robotic system. The example may also include receiving, by the plurality of motors, one or more commands from the plurality of motor driver boards to move the robotic system to a stationary position and park the robotic system in the stationary position.

Claims (60)

1. A method comprising:

controlling, by a robotic system, a plurality of motors of the robotic system with a central processing unit (CPU);

determining, by the robotic system, an error condition of the robotic system, wherein the error condition prevents the CPU from controlling at least one of the plurality of motors;

in response to determining the error condition of the robotic system, causing a plurality of motor driver boards to control the plurality of motors of the robotic system;

receiving, by the plurality of motors, one or more commands from the plurality of motor driver boards;

based on the received one or more commands from the plurality of motor driver boards, causing the robotic system to move to a stationary position; and

parking the robotic system in the stationary position.

2. The method of claim 1 , wherein each of the plurality of motors includes a single motor driver board used to control a given motor in response to determining the error condition of the robotic system.

3. The method of claim 1 , wherein causing the robotic system to move to the stationary position comprises:

determining a confidence level of parking the robotic system at a given location;

determining that the confidence level exceeds a target threshold; and

in response to determining that the confidence level exceeds the target threshold, parking the robotic system at the given location.

4. The method of claim 1 , wherein the stationary position of the robotic system is determined based on an environment surrounding the robotic system.

5. The method of claim 4 , wherein the environment includes an obstacle, and wherein determining the stationary position of the robotic system comprises navigating the robotic system to avoid contact with the obstacle.

6. The method of claim 1 , wherein the stationary position of the robotic system is determined based on one or more of a current velocity, a current position, and a current acceleration of the robotic system.

7. The method of claim 1 , wherein the error condition of the robotic system comprises a loss of communication between the CPU and at least one of the plurality of motors.

8. The method of claim 1 , further comprising:

transmitting an error message indicating the error condition of the robotic system; and

providing visual feedback of the error condition of the robotic system via an indicator on the robotic system.

9. The method of claim 1 , wherein the plurality of motors control one or more legs of the robotic system.

10. The method of claim 1 , wherein the stationary position comprises one of a plurality of stationary positions in an environment of the robotic system, and wherein causing the robotic system to move to the stationary position comprises:

determining a location of the robotic system in the environment of the robotic system;

determining a given stationary position of the plurality of stationary positions that is nearest the determined location of the robotic system; and

navigating the robotic system to the given stationary position.

11. A non-transitory computer readable medium having stored thereon instructions, that when executed by a central processing unit (CPU), cause a robotic system to perform operations comprising:

controlling a plurality of motors of the robotic system with the CPU;

determining an error condition of the robotic system, wherein the error condition prevents the CPU from controlling at least one of the plurality of motors;

in response to determining the error condition of the robotic system, causing a plurality of motor driver boards to control the plurality of motors of the robotic system;

receiving one or more commands from the plurality of motor driver boards;

based on the received one or more commands from the plurality of motor driver boards, causing the robotic system to move to a stationary position; and

parking the robotic system in the stationary position.

12. The non-transitory computer readable medium of claim 11 , wherein causing the robotic system to move to the stationary position comprises:

determining a confidence level of parking the robotic system at a given location;

determining that the confidence level exceeds a target threshold; and

in response to determining that the confidence level exceeds the target threshold, parking the robotic system at the given location.

13. The non-transitory computer readable medium of claim 11 , wherein the stationary position of the robotic system is determined based on one or more of a current velocity, a current position, and a current acceleration of the robotic system.

14. The non-transitory computer readable medium of claim 11 , wherein the operations further comprise:

transmitting an error message indicating the error condition of the robotic system; and

providing visual feedback of the error condition of the robotic system via an indicator on the robotic system.

15. The non-transitory computer readable medium of claim 11 , wherein the stationary position comprises one of a plurality of stationary positions in an environment of the robotic system, and wherein causing the robotic system to move to the stationary position comprises:

determining a location of the robotic system in the environment of the robotic system;

determining a given stationary position of the plurality of stationary positions that is nearest the determined location of the robotic system; and

navigating the robotic system to the given stationary position.

16. A robotic system comprising:

one or more robotic legs connected to a main body;

a central processing unit (CPU);

a plurality of motors including a plurality of motor driver boards; and

a non-transitory data storage including program instructions stored thereon that when executed by one or more processors of the robotic system, cause the robotic system to:

control the plurality of motors of the robotic system with the CPU;

determine an error condition of the robotic system, wherein the error condition prevents the CPU from controlling at least one of the plurality of motors;

in response to determining the error condition of the robotic system, cause the plurality of motor driver boards to control the plurality of motors of the robotic system;

receive one or more commands from the plurality of motor driver boards;

based on the received one or more commands from the plurality of motor driver boards, cause the robotic system to move to a stationary position; and

park the robotic system in the stationary position.

17. The robotic system of claim 16 , wherein each of the plurality of motors includes a single motor driver board used to control a given motor in response to determining the error condition of the robotic system.

18. The robotic system of claim 16 , wherein the plurality of motors control the one or more robotic legs connected to the main body of the robotic system.

19. The robotic system of claim 16 , wherein the program instructions are further executable by the one or more processors to cause the robotic system to:

transmit an error message indicating the error condition of the robotic system; and

provide visual feedback of the error condition of the robotic system via an indicator on the robotic system.

20. The robotic system of claim 16 , wherein the stationary position of the robotic system is determined based on one or more of a current velocity, a current position, and a current acceleration of the robotic system.

Assignments (4)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2017
From: X DEVELOPMENT LLC
To: SCHAFT INC.
Reel/Frame 043547/0563 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2016
From: GOOGLE INC.
To: X DEVELOPMENT LLC
Reel/Frame 039900/0610 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2015
From: ITO, NOBUYUKI; URATA, JUNICHI
To: GOOGLE INC.
Reel/Frame 035556/0041 →