IP Library Granted Patent US 9,751,211
Granted Patent B1
US 9,751,211 · App. 14/878,175 · Granted Sep 5, 2017

Smart robot part

Inventors: John Aaron Saunders (Arlington, MA); Michael Patrick Murphy (Arlington, MA)
Assignee: Google Inc.
B25J9/1602Y10S901/46Y10S901/50
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,751,211
App. No.
14/878,175
Granted
Sep 5, 2017
Kind
B1
Abstract

Example implementations may relate a robot part including a processor, at least one sensor, and an interface providing wireless connectivity. The processor may determine that the robot part is removablly connected to a particular robotic system and may responsively obtain identification information to identify the particular robotic system. While the robot part is removablly connected to the particular robotic system, the processor may (i) transmit, to an external computing system, sensor data that the processor received from the at least one sensor and (ii) receive, from the external computing system, environment information (e.g., representing characteristics of an environment in which the particular robotic system is operating) based on interpretation of the sensor data. And based on the identification information and the environment information, the processor may generate a command that causes the particular robotic system to carry out a task in the environment.

Claims (67)

1. A method comprising:

determining, by at least one processor of a robot part, that the robot part is removablly connected to a particular robotic system, wherein the robot part comprises at least one sensor and at least one interface providing wireless connectivity;

in response to determining that the robot part is removablly connected to the particular robotic system, obtaining, by the at least one processor, identification information to identify the particular robotic system;

while the robot part is removablly connected to the particular robotic system, (i) transmitting, by the at least one processor to at least one external computing system, sensor data that the at least one processor received from the at least one sensor and (ii) receiving, by the at least one processor from the at least one external computing system, environment information based on interpretation of the sensor data, wherein the environment information represents one or more characteristics of an environment in which the particular robotic system is operating; and

based at least in part on the identification information and the environment information, generating, by the at least one processor, a command that causes the particular robotic system to carry out a task in the environment.

2. The method of claim 1 , wherein the command causes the particular robotic system to engage in one or more particular movements, the method further comprising:

based on the one or more particular movements, determining, by the at least one processor, movement capabilities of the particular robotic system.

3. The method of claim 2 , further comprising:

transmitting, by the at least one processor to the at least one external computing system, the determined movement capabilities of the particular robotic system.

4. The method of claim 3 , further comprising:

determining, by the at least one processor, that the robot part is disconnected from the particular robotic system;

after the robot part is disconnected from the particular robotic system, determining, by the at least one processor, that the robot part is reconnected to the particular robotic system; and

in response to determining that the robot part is reconnected to the particular robotic system, obtaining, by the at least one processor from the at least one external computing system, capability information representative of the determined movement capabilities of the particular robotic system.

5. The method of claim 2 , wherein determining the movement capabilities of the particular robotic system comprises determining a kinematic model of the particular robotic system.

6. The method of claim 5 , wherein the kinematic model of the particular robotic system is representative of one or more of: (i) joint angle capabilities of the particular robotic system, (ii) velocity capabilities of the particular robotic system, or (iii) acceleration capabilities of the particular robotic system.

7. The method of claim 5 ,

wherein the particular robotic system comprises (i) one or more appendages and (ii) one or more actuators each coupled to at least one of the one or more appendages,

wherein the command causes the one or more actuators to move each of the one or more appendages to each of a plurality of spatial positions, and

wherein determining the kinematic model comprises, based on movement of each of the one or more appendages to each of the plurality of spatial positions, determining one or more of (i) a range of motion of each of the one or more appendages and (ii) degrees of freedom through which the particular robotic system is capable of moving the one or more appendages.

8. The method of claim 7 ,

wherein the command further causes the one or more actuators to move each of the one or more appendages to each of the plurality of spatial positions at each of a plurality of velocities, and

wherein determining the kinematic model further comprises, based on movement of each of the one or more appendages to each of the plurality of spatial positions at each of the plurality of velocities, determining velocities at which the particular robotic system is capable of moving the one or more appendages.

9. The method of claim 7 ,

wherein the command further causes the one or more actuators to move each of the one or more appendages to each of the plurality of spatial positions at each of a plurality of accelerations, and

wherein determining the kinematic model further comprises, based on movement of each of the one or more appendages to each of the plurality of spatial positions at each of the plurality of accelerations, determining accelerations at which the particular robotic system is capable of moving the one or more appendages.

10. The method of claim 2 , further comprising:

based on the determined movement capabilities of the particular robotic system, determining movement capabilities of the robot part, wherein the determined movement capabilities of the robot part are in effect when the robot part is removablly connected to the particular robotic system; and

transmitting, by the at least one processor to the at least one external computing system, the determined movement capabilities of the robot part.

11. The method of claim 10 , wherein determining movement capabilities of the robot part comprises determining a kinematic model of the robot part in combination with the particular robotic system.

12. The method of claim 11 , wherein the kinematic model of the robot part in combination with the particular robotic system is representative of one or more of:

(i) spatial positioning capabilities of the robot part when the robot part is removablly connected to the particular robotic system,

(ii) velocity capabilities of the robot part when the robot part is removablly connected to the particular robotic system, or

(iii) acceleration capabilities of the robot part when the robot part is removablly connected to the particular robotic system.

13. The method of claim 10 ,

wherein determining movement capabilities of the particular robotic system comprises determining joint angle capabilities of the particular robotic system,

wherein determining movement capabilities of the robot part comprises, based on the determined joint angle capabilities of the particular robotic system, determining spatial positioning capabilities of the robot part, and

wherein the spatial positioning capabilities of the robot part are in effect when the robot part is removablly connected to the particular robotic system.

14. The method of claim 10 ,

wherein determining movement capabilities of the particular robotic system comprises determining velocity capabilities of the particular robotic system,

wherein determining movement capabilities of the robot part comprises, based on the determined velocity capabilities of the particular robotic system, determining velocity capabilities of the robot part, and

wherein the velocity capabilities of the robot part are in effect when the robot part is removablly connected to the particular robotic system.

15. The method of claim 10 ,

wherein determining movement capabilities of the particular robotic system comprises determining acceleration capabilities of the particular robotic system,

wherein determining movement capabilities of the robot part comprises, based on the determined acceleration capabilities of the particular robotic system, determining acceleration capabilities of the robot part, and

wherein the acceleration capabilities of the robot part are in effect when the robot part is removablly connected to the particular robotic system.

16. The method of claim 1 , wherein the robot part comprises a first robot part, the method further comprising:

determining, by the first robot part, that a second robot part is also removablly connected to the particular robotic system, wherein the second robot part also comprises (i) at least one processor, (ii) at least one sensor, and (iii) at least one interface providing wireless connectivity; and

in response to determining that the second robot part is also removablly connected to the particular robotic system, the first robot part engaging in communications with the second robot part via the at least one external computing system.

17. The method of claim 1 , wherein the robot part is configured to couple to each of a plurality of end effectors, the method further comprising:

determining, by the at least one processor, that the robot part is coupled to a particular end effector of the plurality of end effectors; and

in response to determining that the robot part is coupled to the particular end effector, identifying, by the at least one processor, the particular end effector, wherein the command also causes the particular end effector to carry out the task.

18. The method of claim 17 , wherein identifying the particular end effector comprises obtaining, from the at least one external computing system, end effector identification information to identify the particular end effector.

19. A non-transitory computer readable medium having stored therein instructions executable by at least one processor to cause a robot part to perform functions comprising:

determining that the robot part is removablly connected to a particular robotic system, wherein the robot part comprises at least one sensor and at least one interface providing wireless connectivity;

in response to determining that the robot part is removablly connected to the particular robotic system, obtaining identification information to identify the particular robotic system;

while the robot part is removablly connected to the particular robotic system, (i) transmitting, to at least one external computing system, sensor data that the at least one processor received from the at least one sensor and (ii) receiving, from the at least one external computing system, environment information based on interpretation of the sensor data, wherein the environment information represents one or more characteristics of an environment in which the particular robotic system is operating; and

based at least in part on the identification information and the environment information, generating a command that causes the particular robotic system to carry out a task in the environment.

20. A robot part comprising:

at least one interface providing wireless connectivity;

at least one sensor;

at least one processor;

a non-transitory computer readable medium; and

program instructions stored on the non-transitory computer readable medium and executable by the at least one processor to:

determine that the robot part is removablly connected to a particular robotic system;

in response to determining that the robot part is removablly connected to the particular robotic system, obtain identification information to identify the particular robotic system;

while the robot part is removablly connected to the particular robotic system, (i) transmit, to at least one external computing system, sensor data that the at least one processor received from the at least one sensor and (ii) receive, from the at least one external computing system, environment information based on interpretation of the sensor data, wherein the environment information represents one or more characteristics of an environment in which the particular robotic system is operating; and

based at least in part on the identification information and the environment information, generate a command that causes the particular robotic system to carry out a task in the environment.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE REMOVAL OF THE INCORRECTLY RECORDED APPLICATION NUMBERS 14/149802 AND 15/419313 PREVIOUSLY RECORDED AT REEL: 44144 FRAME: 1. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Mar 4, 2024
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 068092/0502 →
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 →
CHANGE OF NAME Recorded Oct 6, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044144/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2017
From: GOOGLE, INC.
To: BOSTON DYNAMICS, INC.
Reel/Frame 043811/0967 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2015
From: SAUNDERS, JOHN AARON; MURPHY, MICHAEL PATRICK
To: GOOGLE INC.
Reel/Frame 036756/0508 →