SBPL lattice planner's motion primtive

asked 2020-09-16 23:59:56 -0500

Brolin gravatar image

updated 2020-09-17 02:14:47 -0500

I am trying to understand the motion primitive file genmprim_unicycle.m used by the SBPL_lattice_planner.

image description

I understand the second part of the file where they use the basemprimendpts* arrays to generate the intermediate poses to generate the path. But I don't understand how they ended up with the array for basemprimendpts*.

I read through all the tutorials in, in particular this tutorial explains how the calculation is done. But the equations which are supposed to be images are not showing up properly since the images are broken due to which I can not understand the equations. (Let me know if it shows up properly for you).

Back to the question. Lets take for example, from this tutorial I see that for moving 8 units at 45 degree, the calculation should be like

x = 8 * cos (45) = 5.66

y = 8 * sin (45) = 5.66

Rounding up the values I can say that (x, y) is (6, 6) which is relatable with

basemprimendpts45_c(2,:) = [6 6 0 forwardcostmult]

But I cannot understand how they calculated the values for forward turn which is represented by

basemprimendpts45_c(3,:) = [5 7 1 forwardandturncostmult]; as seen from the above image. Also I have one more doubt. What does it mean 1/16 theta change. Is it 1/16th change of 45 degree or 1/16th of 360 degree ?.

Can someone please help me understand the motion primitive file !!

Thank you in advance.

edit retag flag offensive close merge delete