IP Library › Granted Patent US 12,649,237
Granted Patent B2
US 12,649,237 · App. 18/269,325 · Granted Jun 9, 2026

Motion planning

Inventors: Øystein Hov Holhjem (Oslo, NO); Gudbrand Eggen (Oslo, NO); Torstein Anderssen Myhre (Oslo, NO)
Assignee: ZIVID AS
B25J9/1666B25J9/163
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 12,649,237
App. No.
18/269,325
Granted
Jun 9, 2026
Kind
B2
Abstract

A method of performing motion planning for a robot in a workspace discretized into workspace elements includes generating or receiving a first model and determining a first set comprising one or more workspace elements that are at least partially in collision with the first model for each of a plurality of states and the respective transition(s) between those states. A first mapping is generated including information regarding the first set and the respective states and transition(s). The method further includes generating or receiving a second model extending from the first model and determining a second set including one or more further workspace elements, additional to those in the first set, that are at least partially in collision with the second model for each of the plurality of states and transitions between those states. A second mapping including information regarding said second set and the respective states and transition(s) is generated.

Claims (47)

1 . A method of generating a path for a robot, wherein the robot is arranged to operate between a plurality of states in a workspace, said workspace being represented by a plurality of discretized workspace elements, wherein each of said states is connected to at least one other state via at least one respective transition, wherein the method comprises:

generating or receiving a first model;

determining a first set comprising one or more workspace elements that are at least partially in collision with the first model for each of the plurality of states and the respective transition(s) between those states;

generating a first mapping comprising information regarding said first set and the respective plurality of states and respective transition(s) for which the first model is at least partially in collision with the respective workspace elements in the first set, and storing said first mapping in a first memory area;

generating or receiving a second model that extends from the first model;

determining a second set comprising one or more further workspace elements, additional to those in the first set, that are at least partially in collision with the second model for each of the plurality of states and the respective transition(s) between those states; and

generating a second mapping comprising information regarding said second set and the respective plurality of states and respective transition(s) for which the second model is at least partially in collision with the respective workspace elements in the second set, and storing said second mapping in a second memory area;

combining at least the first and second mappings to provide the path; and

outputting the path to the robot, the path comprising instructions for moving the robot.

2 . The method as claimed in claim 1 , wherein the first model comprises a representation of a first link of the robot.

3 . The method as claimed in claim 1 , wherein the second model comprises a representation of a second link of the robot.

4 . The method as claimed in claim 1 , further comprising:

generating or receiving an additional model that extends from at least one of the first or second models;

determining an additional set comprising one or more further workspace elements, additional to those in the first and second sets, that are at least partially in collision with the additional model for each of the plurality of states and the respective transition(s) between those states; and

generating an additional mapping comprising information regarding said additional set and the respective plurality of states and respective transition(s) for which the additional model is at least partially in collision with the respective workspace elements in the additional set, and storing said additional mapping in an additional memory area.

5 . The method as claimed in claim 4 , wherein the additional model comprises a representation of an additional link of the robot.

6 . The method as claimed in claim 1 , wherein the step of determining the set of workspace elements at least partially in collision with each model comprises checking the states and transitions that are allowed by the respective dimension of movement afforded by said model.

7 . The method as claimed in claim 1 , wherein the step of determining the set of workspace elements at least partially in collision with each model comprises checking the states and transitions for collisions with a static obstacle and/or for self-collisions.

8 . The method as claimed in any preceding claim , wherein the first and second memory areas are each within a memory.

9 . The method as claimed in claim 1 , further comprising removing one or more workspace elements from the second set that are in first set.

10 . The method as claimed in claim 1 , wherein one or more workspace elements that are at least partially in collision with more than one of the models are included in the sets corresponding to each of said models.

11 . The method as claimed in claim 1 , wherein one or more workspace elements that are at least partially in collision with more than one of the models are included in the set corresponding to only one of said models.

12 . The method as claimed in claim 1 , comprising generating a base mapping comprising information regarding one or more workspace elements that are at least partially in collision with a static part of the robot.

13 . The method as claimed in claim 1 , wherein the information stored for one or more of the mappings may comprise a plurality of points of interest.

14 . The method as claimed in claim 1 , comprising discretizing the workspace into workspace elements of different shapes and/or sizes.

15 . The method as claimed in claim 1 , wherein one or more of the models is at least partially axially symmetric, the method comprising storing information regarding the workspace elements partially occupied identically for multiple rotational states in a mapping for that model only once.

16 . The method as claimed in claim 1 , wherein only workspace element information relating to workspace elements at least partially in collision with the first and/or second model and the corresponding states and/or transitions that result in the collisions for one direction of a transition are stored in the corresponding set.

17 . The method as claimed in claim 1 , wherein only the workspace element information relating to workspace elements at least partially in collision with the first and/or second model and the corresponding states and/or transitions that result in the collisions for a transition that are not found in any of the states to which said transition connects are stored in the corresponding set.

18 . The method as claimed in claim 1 , wherein workspace element information relating to workspace elements at least partially in collision with the first and/or second model and the corresponding states and/or transitions that result in the collisions that correspond to combined movements are only stored for the higher links, while the simple transitions for the lower links are reused.

19 . A motion planning system arranged to generate a path for a robot, wherein the robot is arranged to operate between a plurality of states in a workspace, said workspace being represented by a plurality of discretized workspace elements, wherein each of said states is connected to at least one other state via at least one respective transition, wherein the motion planning system is arranged to:

generate or receive a first model;

determine a first set comprising one or more workspace elements that are at least partially in collision with the first model for each of the plurality of states and the respective transition(s) between those states;

generate a first mapping comprising information regarding said first set and the respective plurality of states and respective transition(s) for which the first model is at least partially in collision with the respective workspace elements in the first set, and store said first mapping in a first memory area;

generate or receive a second model that extends from the first model;

determine a second set comprising one or more further workspace elements, additional to those in the first set, that are at least partially in collision with the second model for each of the plurality of states and the respective transition(s) between those states; and

generate a second mapping comprising information regarding said second set and the respective plurality of states and respective transition(s) for which the second model is at least partially in collision with the respective workspace elements in the second set, and store said second mapping in a second memory area;

combine at least the first and second mappings to provide the path; and

output the path to the robot, the path comprising instructions for moving the robot.

20 . A non-transitory computer-readable medium comprising instructions that, when executed by a processor, cause the processor to carry out a method of performing motion planning generating a path for a robot, wherein the robot is arranged to operate between a plurality of states in a workspace, said workspace being represented by a plurality of discretized workspace elements, wherein each of said states is connected to at least one other state via at least one respective transition, wherein the method comprises:

generating or receiving a first model;

determining a first set comprising one or more workspace elements that are at least partially in collision with the first model for each of the plurality of states and the respective transition(s) between those states;

generating a first mapping comprising information regarding said first set and the respective plurality of states and respective transition(s) for which the first model is at least partially in collision with the respective workspace elements in the first set, and storing said first mapping in a first memory area;

generating or receiving a second model that extends from the first model;

determining a second set comprising one or more further workspace elements, additional to those in the first set, that are at least partially in collision with the second model for each of the plurality of states and the respective transition(s) between those states;

generating a second mapping comprising information regarding said second set and the respective plurality of states and respective transition(s) for which the second model is at least partially in collision with the respective workspace elements in the second set, and storing said second mapping in a second memory area;

combining at least the first and second mappings to provide the path; and

output the path to the robot, the path comprising instructions for moving the robot.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2024
From: ADAPTIVE ROBOTICS AS
To: ZIVID AS
Reel/Frame 066003/0428 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2023
From: HOLHJEM, ØYSTEIN HOV; EGGEN, GUDBRAND; MYHRE, TORSTEIN ANDERSSEN
To: ADAPTIVE ROBOTICS AS
Reel/Frame 064125/0434 →
Priority Claims (1)
GB 2020505 · Dec 23, 2020 · national
Continuity (1)
Related Publication 20240051136A1 · Feb 15, 2024
References Cited (14)
US 10286551B2 · Inaba et al. · 2019 [cited by applicant]
US 20190232496A1 · Graichen et al. · 2019 [cited by applicant]
US 20190351550A1 · Fujii · 2019 [cited by examiner]
US 20200086486A1 · Graichen et al. · 2020 [cited by applicant]
US 20210308866A1 · Zhu · 2021 [cited by examiner]
WO WO2019156984A1 · 2019 [cited by applicant]
WO WO2020040979A1 · 2020 [cited by applicant]
WO WO2020117958A1 · 2020 [cited by applicant]
WO WO2020214723A1 · 2020 [cited by applicant]
International Search Report and Written Opinion, International Application No. PCT/GB2021/053396, mailed Apr. 13, 2022. [cited by applicant]
Leven et al., A Framework for Real-time Path Planning in Changing Environments, The International Journal of Robotics Research, 21(12): 999-1030 (Dec. 2002). [cited by applicant]
Schumann-Olsen et al., Parallel Dynamic Roadmaps for Real-Time Motion Planning in Complex Dynamic Scenes, 3rd Workshop on Robots in Clutter (2014). [cited by applicant]
Search Report, GB Application No. 2020505.0, dated May 28, 2021. [cited by applicant]
Yang et al., HDRM: A Resolution Complete Dynamic Roadmap for Real-Time Motion Planning in Complex Scenes, IEEE Robotics and Automation Letters, 3(1): 551-558 (Jan. 2018). [cited by applicant]