IP Library Granted Patent US 10,107,632
Granted Patent B2
US 10,107,632 · App. 15/939,635 · Granted Oct 23, 2018

Assisted roadmap generation

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,107,632
App. No.
15/939,635
Granted
Oct 23, 2018
Kind
B2
Abstract

Systems and methods related to roadmaps for mobile robotic devices are provided. A computing device can receive a roadmap. The roadmap can include an intersection between first and second edges. The computing device can determine a transition curve between the first and second edges and includes first, second, and third curve segments. The first and second curve segments can connect at a first curve junction point. The second and third curve segments can connect at a second curve junction point. The first and third curve segments each include a segment of an Euler spiral and the second curve segment can be a circular curve segment having a fixed radius. The computing device can update the roadmap by replacing the intersection between the first and second edges with the transition curve. The computing device can provide the updated roadmap.

Claims (35)

1. A method, comprising:

determining, by a computing device, a roadmap of an environment, the roadmap comprising a transition curve between a first edge and a second edge, the transition curve comprising a first curve segment, a second curve segment, and a third curve segment, wherein the first curve segment connects to the second curve segment at a first curve junction point, wherein the second curve segment connects to the third curve segment at a second curve junction point, wherein the first and third curve segments each comprise a segment of an Euler spiral, and wherein the second curve segment is a circular curve segment having a fixed radius;

providing, by the computing device, the roadmap of the environment to a robotic device; and

providing, by the computing device to the robotic device, instructions causing the robotic device to follow the roadmap of the environment to travel from an origin in the environment to a destination in the environment by following at least the first curve segment, the second curve segment, and the third curve segment of the transition curve as determined in the roadmap of the environment.

2. The method of claim 1 , wherein a first curvature of the first curve segment at the first curve junction point is within a threshold amount of a second curvature of the second curve segment at the first curve junction point.

3. The method of claim 2 , wherein a third curvature of the second curve segment at the second curve junction point is within the threshold amount of a fourth curvature of the third curve segment at the second curve junction point.

4. The method of claim 1 , wherein the first curve junction point is selected based on one or more of: a turning radius of the robotic device, a maximum speed of the robotic device, or a maximum acceleration of the robotic device.

5. The method of claim 1 , wherein the fixed radius is based upon a turning radius of the robotic device.

6. The method of claim 1 , wherein the roadmap represents traversable areas of a warehouse.

7. The method of claim 1 , further comprising:

determining a maximum length that the first curve segment travels along the first edge; and

determining the transition curve between the first edge and the second edge based on the maximum length.

8. The method of claim 1 , wherein the roadmap comprises another intersection between the second edge and a third edge, and wherein the method further comprises:

determining a second transition curve between the second edge and the third edge using the computing device, wherein the second transition curve comprises a fourth curve segment, a fifth curve segment, and a sixth curve segment, wherein the fourth and sixth curve segments each comprise a segment of an Euler spiral, and wherein the fifth curve segment is a circular curve segment having a second fixed radius.

9. The method of claim 8 , wherein the first and third edges are in a same direction, and wherein the transition curve and the second transition curve are oriented different from each other.

10. The method to claim 8 , wherein the fourth curve segment connects to the fifth curve segment at a third curve junction point, and wherein the fifth curve segment connects to the sixth curve segment at a fourth curve junction point.

11. The method of claim 10 , wherein a first curvature of the fourth curve segment at the third curve junction point is within a threshold amount of a second curvature of the fifth curve segment at the third curve junction point, and wherein a third curvature of the fifth curve segment at the fourth curve junction point is within a threshold amount of a fourth curvature of the sixth curve segment at the fourth curve junction point.

12. The method of claim 1 , wherein the method further comprises:

displaying the roadmap using a user interface of the computing device, wherein the user interface enables modification of the transition curve between the first edge and the second edge.

13. A computing device, comprising:

one or more processors; and

data storage including at least computer-executable instructions stored thereon that, when executed by the one or more processors, cause the computing device to perform functions comprising:

determining a roadmap of an environment, the roadmap comprising a transition curve between a first edge and a second edge, the transition curve comprising a first curve segment, a second curve segment, and a third curve segment, wherein the first curve segment connects to the second curve segment at a first curve junction point, wherein the second curve segment connects to the third curve segment at a second curve junction point, wherein the first and third curve segments each comprise a segment of an Euler spiral, and wherein the second curve segment is a circular curve segment having a fixed radius;

providing, the roadmap of the environment to a robotic device; and

providing to the robotic device, instructions causing the robotic device to follow the roadmap of the environment to travel from an origin in the environment to a destination in the environment by following at least the first curve segment, the second curve segment, and the third curve segment of the transition curve as determined in the roadmap of the environment.

14. The computing device of claim 13 , wherein a first curvature of the first curve segment at the first curve junction point is within a threshold amount of a second curvature of the second curve segment at the first curve junction point.

15. The computing device of claim 14 , wherein a third curvature of the second curve segment at the second curve junction point is within the threshold amount of a fourth curvature of the third curve segment at the second curve junction point.

16. The computing device of claim 13 , wherein the first curve junction point is selected based on one or more of: a turning radius of the robotic device, a maximum speed of the robotic device, or a maximum acceleration of the robotic device.

17. The computing device of claim 13 , wherein the fixed radius is based upon a turning radius of the robotic device.

18. The computing device of claim 13 , further comprising a user interface, wherein the functions further comprise displaying the roadmap using the user interface of the computing device.

19. The computing device of claim 18 , wherein the user interface enables modification of the transition curve between the first edge and the second edge.

20. A non-transitory computer readable medium having stored thereon instructions, that when executed by one or more processors, cause the one or more processors to perform functions comprising:

determining a roadmap of an environment, the roadmap comprising a transition curve between a first edge and a second edge, the transition curve comprising a first curve segment, a second curve segment, and a third curve segment, wherein the first curve segment connects to the second curve segment at a first curve junction point, wherein the second curve segment connects to the third curve segment at a second curve junction point, wherein the first and third curve segments each comprise a segment of an Euler spiral, and wherein the second curve segment is a circular curve segment having a fixed radius;

providing, the roadmap of the environment to a robotic device; and

providing, to the robotic device, instructions causing the robotic device to follow the roadmap of the environment to travel from an origin in the environment to a destination in the environment by following at least the first curve segment, the second curve segment, and the third curve segment of the transition curve as determined in the roadmap of the environment.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2020
From: X DEVELOPMENT LLC
To: GOOGLE LLC
Reel/Frame 052732/0470 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2020
From: X DEVELOPMENT, LLC
To: GOOGLE LLC
Reel/Frame 052448/0011 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2018
From: LALONDE, GEOFFREY; ANDERSON-SPRECHER, PETER
To: X DEVELOPMENT LLC
Reel/Frame 047315/0753 →