|
Algorithm 2: Hybrid A* |
| 1 |
Initialization of openset, closeset |
| 2 |
openset.push(start) |
| 3 |
while openset is not empty do
|
| 4 |
|
|
|
| 5 |
|
|
if exists RS path then
|
| 6 |
|
|
|
|
return the path |
| 7 |
|
|
end |
| 8 |
|
|
for calculated by kinematic equation do
|
| 9 |
|
|
|
|
Collision avoidance |
| 10 |
|
|
|
|
if not exists in closeset then
|
| 11 |
|
|
|
|
|
|
|
| 12 |
|
|
|
|
|
|
if not exists in openset orthen
|
| 13 |
|
|
|
|
|
|
|
|
|
| 14 |
|
|
|
|
|
|
|
|
|
| 15 |
|
|
|
|
|
|
|
|
|
| 16 |
|
|
|
|
|
|
|
|
if not exists in openset then
|
| 17 |
|
|
|
|
|
|
|
|
|
|
openset.push() |
| 18 |
|
|
|
|
|
|
|
|
else |
| 19 |
|
|
|
|
|
|
|
|
|
|
openset.update(next node) |
| 20 |
|
|
|
|
|
|
|
|
end |
| 21 |
|
|
|
|
|
|
end |
| 22 |
|
|
|
|
end |
| 23 |
|
|
end |
| 24 |
end |