IP Library Granted Patent US 10,589,428
Granted Patent B1
US 10,589,428 · App. 14/872,531 · Granted Mar 17, 2020

Automatic distribution of control functions between multiple knob controllers based on proximity and relative positioning of the knobs

Inventors: Jeffrey Linnell (Woodside, CA); Kendra Byrne (San Francisco, CA); Matthew Bitterman (San Francisco, CA); Tobias Kinnebrew (San Francisco, CA)
Assignee: Verily Life Sciences LLC
B25J13/006B25J13/02Y10S901/02
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 10,589,428
App. No.
14/872,531
Granted
Mar 17, 2020
Kind
B1
Abstract

Example implementations may relate to methods and systems for determining operational modes for a particular arrangement of controllers. Accordingly, a computing device may detect that a first controller is within a threshold distance of a second controller. Responsively, the device may determine a spatial arrangement of the first and second controllers. The device may then determine a set of operational modes that corresponds to the spatial arrangement, where the set includes (i) a first operational mode that corresponds to a first location in the spatial arrangement and (ii) a second operational mode that corresponds to a second location in the spatial arrangement. The device may then load (i) the first operational mode to whichever of the first and second controllers is in the first location and (ii) the second operational mode to whichever of the first and second controllers is in the second location.

Claims (62)

1. A method comprising:

detecting, by a computing device, that a first controller is within at least a threshold distance of a second controller, wherein the first and second controllers are each configurable to operate at least one component of a robotic device;

in response to at least the detecting, determining a spatial arrangement of the first and second controllers;

determining a set of operational modes that corresponds to the spatial arrangement, wherein the set comprises at least (i) a first operational mode that corresponds to a first location in the spatial arrangement and (ii) a second operational mode that corresponds to a second location in the spatial arrangement; and

the computing device loading (i) the first operational mode to whichever of the first and second controllers is in the first location in the spatial arrangement and (ii) the second operational mode to whichever of the first and second controllers is in the second location in the spatial arrangement.

2. The method of claim 1 ,

wherein the at least one component comprises a joint of the robotic device,

wherein the first operational mode corresponds to generation of output data that is used to determine commands for controlling rotation of the joint about a particular axis, and

wherein the second operational mode corresponds to generation of different output data that is used to determine commands for controlling rotation of the joint about another axis that is different from the particular axis.

3. The method of claim 1 ,

wherein the at least one component comprises a joint of the robotic device,

wherein the first operational mode corresponds to generation of output data that is used to determine commands for controlling translation of the joint along a particular axis, and

wherein the second operational mode corresponds to generation of different output data that is used to determine commands for controlling translation of the joint along another axis that is different from the particular axis.

4. The method of claim 1 ,

wherein the first operational mode corresponds to generation of output data that is used to determine commands for controlling direction of movement of the at least one component, and

wherein the second operational mode corresponds to generation of different output data that is used to determine commands for controlling speed of movement of the at least one component.

5. The method of claim 1 , further in response to the detecting, determining a spatial location of the at least one component relative to the spatial arrangement, wherein determining the set is also based at least in part on the spatial location of the at least one component relative to the spatial arrangement.

6. The method of claim 1 , further in response to the detecting, determining respective orientations of the first and second controllers, wherein determining a set of operational modes that corresponds to the spatial arrangement comprises determining a set of operational modes that corresponds to the spatial arrangement and to the respective orientations.

7. The method of claim 6 , further in response to the detecting, determining an orientation of the at least one component relative to the respective orientations of the first and second controllers, wherein determining the set is also based at least in part on the orientation of the at least one component relative to the respective orientations of the first and second controllers.

8. The method of claim 1 , wherein the first and second controllers each comprises a respective rotatable knob including a respective touchpad arranged to sense touch gestures on a surface of the respective rotatable knob.

9. The method of claim 8 ,

wherein the first operational mode corresponds to generation of output data that is indicative of (i) touch data at the respective touchpad of the first controller and (ii) rotation of the respective rotatable knob of the first controller, and

wherein the second operational mode corresponds to generation of different output data that is indicative of (i) touch data at the respective touchpad of the second controller and (ii) rotation of the respective rotatable knob of the second controller.

10. The method of claim 1 , wherein detecting, by a computing device, that a first controller is within at least a threshold distance of a second controller comprises:

determining a distance between the first and second controllers; and

determining that the distance is less than a threshold distance.

11. The method of claim 1 , wherein detecting, by a computing device, that a first controller is within at least a threshold distance of a second controller comprises:

receiving, by the computing device, a communication from the first controller, wherein the communication indicates a detection by the first controller that the first controller is within at least a threshold distance of the second controller.

12. A non-transitory computer readable medium having stored therein instructions executable by one or more processors to cause a computing device to perform functions comprising:

detecting that a first controller is within at least a threshold distance of a second controller, wherein the first and second controllers are each configurable to operate at least one component of a robotic device;

in response to at least the detecting, determining a spatial arrangement of the first and second controllers;

determining a set of operational modes that corresponds to the spatial arrangement, wherein the set comprises at least (i) a first operational mode that corresponds to a first location in the spatial arrangement and (ii) a second operational mode that corresponds to a second location in the spatial arrangement; and

loading (i) the first operational mode to whichever of the first and second controllers is in the first location in the spatial arrangement and (ii) the second operational mode to whichever of the first and second controllers is in the second location in the spatial arrangement.

13. The non-transitory computer readable medium of claim 12 ,

wherein the at least one component comprises a joint of the robotic device,

wherein the first operational mode corresponds to generation of output data that is used to determine commands for controlling rotation of the joint about a particular axis, and

wherein the second operational mode corresponds to generation of different output data that is used to determine commands for controlling rotation of the joint about another axis that is different from the particular axis.

14. The non-transitory computer readable medium of claim 12 ,

wherein the at least one component comprises a joint of the robotic device,

wherein the first operational mode corresponds to generation of output data that is used to determine commands for controlling translation of the joint along a particular axis, and

wherein the second operational mode corresponds to generation of different output data that is used to determine commands for controlling translation of the joint along another axis that is different from the particular axis.

15. The non-transitory computer readable medium of claim 12 ,

wherein the first operational mode corresponds to generation of output data that is used to determine commands for controlling direction of movement of the at least one component, and

wherein the second operational mode corresponds to generation of different output data that is used to determine commands for controlling speed of movement of the at least one component.

16. The non-transitory computer readable medium of claim 12 , further in response to the detecting, determining a spatial location of the at least one component relative to the spatial arrangement, wherein determining the set is also based at least in part on the spatial location of the at least one component relative to the spatial arrangement.

17. The non-transitory computer readable medium of claim 12 , further in response to the detecting, determining respective orientations of the first and second controllers, wherein determining a set of operational modes that corresponds to the spatial arrangement comprises determining a set of operational modes that corresponds to the spatial arrangement and to the respective orientations.

18. The non-transitory computer readable medium of claim 12 ,

wherein the first and second controllers each comprises a respective rotatable knob including a respective touchpad arranged to sense touch gestures on a surface of the respective rotatable knob,

wherein the first operational mode corresponds to generation of output data that is indicative of (i) touch data at the respective touchpad of the first controller and (ii) rotation of the respective rotatable knob of the first controller, and

wherein the second operational mode corresponds to generation of different output data that is indicative of (i) touch data at the respective touchpad of the second controller and (ii) rotation of the respective rotatable knob of the second controller.

19. A computing system comprising:

one or more processors;

a non-transitory computer readable medium; and

program instructions stored on the non-transitory computer readable medium and executable by the one or more processors to:

detect that a first controller is within at least a threshold distance of a second controller, wherein the first and second controllers are each configurable to operate at least one component of a robotic device;

in response to at least the detecting, determine a spatial arrangement of the first and second controllers;

determine a set of operational modes that corresponds to the spatial arrangement, wherein the set comprises at least (i) a first operational mode that corresponds to a first location in the spatial arrangement and (ii) a second operational mode that corresponds to a second location in the spatial arrangement; and

load (i) the first operational mode to whichever of the first and second controllers is in the first location in the spatial arrangement and (ii) the second operational mode to whichever of the first and second controllers is in the second location in the spatial arrangement.

20. The computing system of claim 19 ,

wherein the at least one component comprises a joint of the robotic device,

wherein the first operational mode corresponds to generation of output data that is used to determine commands for controlling rotation of the joint about a particular axis, and

wherein the second operational mode corresponds to generation of different output data that is used to determine commands for controlling rotation of the joint about another axis that is different from the particular axis.

Assignments (4)
CHANGE OF ADDRESS Recorded Nov 19, 2024
From: VERILY LIFE SCIENCES LLC
To: VERILY LIFE SCIENCES LLC
Reel/Frame 069390/0656 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2018
From: X DEVELOPMENT LLC
To: VERILY LIFE SCIENCES LLC
Reel/Frame 047168/0925 →
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 Oct 1, 2015
From: LINNELL, JEFFREY; BYRNE, KENDRA; BITTERMAN, MATTHEW; KINNEBREW, TOBIAS
To: GOOGLE INC.
Reel/Frame 036704/0865 →
Cited By (3)
US 12,214,495 US 12,441,005 US 12,447,618