IP Library Granted Patent US 9,561,589
Granted Patent B2
US 9,561,589 · App. 14/602,700 · Granted Feb 7, 2017

Methods and systems for selecting a velocity profile for controlling a robotic device

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,561,589
App. No.
14/602,700
Granted
Feb 7, 2017
Kind
B2
Abstract

Methods and systems for selecting a velocity profile for controlling a robotic device are provided. An example method includes receiving via an interface a selection of a robotic device to control, and receiving via the interface a request to modify a velocity profile of the robotic device. The velocity profile may include information associated with changes in velocity of the robotic device over time. The method may further include receiving a selected velocity profile, receiving an input via the interface, and determining a velocity command based on the selected velocity profile and the input. In this manner, changes in velocity of the robotic device may be filtered according to a velocity profile selected via the interface.

Claims (39)

1. A method comprising:

storing a plurality of velocity profiles, wherein each of the plurality of velocity profiles comprises a respective acceleration rate limit;

receiving, by a device, information associated with an environment in which a robotic device is operating;

receiving, by the device, an indication of a current payload of the robotic device;

based at least in part on the information associated with the environment in which the robotic device is operating and the current payload of the robotic device, selecting, by the device from among the plurality of velocity profiles, a velocity profile for the robotic device, the selecting being based on the acceleration rate limit of the velocity profile;

receiving, by the device, an input indicating a command for controlling the robotic device, wherein the command includes a change in velocity;

determining by the device, a velocity command for the robotic device based on the selected velocity profile and the received input, wherein the determined velocity command includes information for implementing the change in velocity over time; and

controlling the robotic device based on the determined velocity command.

2. The method of claim 1 , wherein controlling the robotic device based on the determined velocity command comprises:

generating a control signal indicating the determined velocity command; and

providing the control signal to the robotic device.

3. The method of claim 1 , wherein the information associated with the environment in which the robotic device is operating comprises a distance to an object in the environment.

4. The method of claim 1 , wherein the information associated with the environment in which the robotic device is operating comprises an indication of a presence of a user in the environment.

5. The method of claim 1 , wherein the information associated with the environment comprises an elevation profile, and wherein the device selects the velocity profile based at least in part on the elevation profile.

6. The method of claim 1 , wherein the information associated with the environment comprises a floor plan.

7. The method of claim 1 , wherein the information associated with the environment comprises an identification of a type of surface over which the robotic device is traversing, and wherein the device selects the velocity profile based at least in part on the type of surface.

8. The method of claim 1 , wherein the information associated with the environment is received from the robotic device.

9. The method of claim 1 , wherein the velocity profile comprises a velocity profile selected from the group consisting of a linear profile, a 7-segment S-curve profile, an asymmetric profile, an exponential profile, and a logarithmic profile.

10. A device comprising:

at least one processor; and

memory including instructions executable by the at least one processor to cause the device to perform functions comprising:

storing a plurality of velocity profiles, wherein each of the plurality of velocity profiles comprises a respective acceleration rate limit,

receiving information associated with an environment in which a robotic device is operating,

receiving an indication of a current payload of the robotic device;

based at least in part on the information associated with the environment in which the robotic device is operating and the current payload of the robotic device, selecting a velocity profile for the robotic device from among the plurality of velocity profiles, the selecting being based on the acceleration rate limit of the velocity profile, and

controlling changes in velocity over time for the robotic device using the selected velocity profile.

11. The device of claim 10 , wherein the information associated with the environment in which the robotic device is operating comprises a distance to an object in the environment.

12. The device of claim 10 , wherein the information associated with the environment in which the robotic device is operating comprises an indication of a presence of a user in the environment.

13. The device of claim 10 , wherein the information associated with the environment comprises a map of the environment.

14. The device of claim 10 , wherein the information associated with the environment comprises an identification of a type of surface over which the robotic device is traversing, and wherein the velocity profile is selected based at least in part on the type of surface.

15. A robotic device comprising:

at least one processor; and

memory including instructions executable by the at least one processor to cause the robotic device to perform functions comprising:

storing a plurality of velocity profiles, wherein each of the plurality of velocity profiles comprises a respective acceleration rate limit;

determining information associated with an environment in which the robotic device is operating;

determining a current payload of the robotic device;

based at least in part on the information associated with the environment in which the robotic device is operating and the current payload of the robotic device, selecting a velocity profile for the robotic device from among the plurality of velocity profiles, the selecting being based on the acceleration rate limit of the velocity profile; and

controlling changes in velocity over time for the robotic device using the selected velocity profile.

16. The robotic device of claim 15 , wherein the functions further comprise sending an indication of the selected velocity profile to a device that is located remotely from the robotic device.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2025
From: GOOGLE LLC
To: GDM HOLDING LLC
Reel/Frame 071109/0342 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2023
From: X DEVELOPMENT LLC
To: GOOGLE LLC
Reel/Frame 064658/0001 →
CHANGE OF NAME Recorded Oct 6, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044144/0001 →
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 Jan 22, 2015
From: DESAI, MUNJAL; HICKMAN, RYAN; LEWIS, THOR; KOHLER, DAMON
To: GOOGLE INC.
Reel/Frame 034791/0380 →