前部分

关于此图片提到的,有在界面里进行设置

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/bbf873c9-88c7-402e-bfa0-16c936c59a8d/Untitled.png

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/928ae823-feb0-46ff-b204-94ff62ae52e8/Untitled.png

The closest section to the vehicle is the car tip margin, which is the distance from the center of the robot to the point of lateral sampling, the length of which determines the smoothness of steering when switching between trajectories.

The next section is called the roll-in margin, which is the distance from the outer limit of the car tip margin to the point of parallel lateral sampling, the length of which is proportional to the vehicle’s velocity. The faster the vehicle is traveling, the longer this section should be to generate smooth change.

The section farthest from the vehicle is called the roll-out section, which runs from the outer limit of the roll-in zone to the end of the length of the local trajectory.

原始参数设置是在:op_trajectory_generator这个节点

使用局部路径规划算法生出roll-outs的时候有三个步骤

  1. 利用现在的位置和最大规划距离从全局路径中提取interest区域

  2. sample 新的垂直路径点对应于全局路径中提取的区域,sample的点是从car-tip margin处出发的,但是横向的 lateral距离是0,然后再sample延伸到roll-in区域的边界,再根据有的路径计算roll_out density

  3. 使用conjugate gradient平滑每一个sampled的轨迹,conjugate gradient是一种非线性 non-linear iterative optimization technique 消除在sample过程中roll-outs之间的不连续的问题 这同时也improve curvature使得转弯更顺滑

    然后trajectory vertices的密度【很好奇这里为什么不是waypoint density】是通过piece wise interpolation 计算得到的【但是没有看到哪里可以调整这个的地方】

    很多参数化的插值方法都对input noise非常敏感,从而影响到输出(比如cubic splines 在输入点距离较近时,输出会有随机的较大的震荡现象;所以这里使用的方法是结合piece wise interpolation和conjugate gradient smoothing去得到更为平滑的轨迹。因为我们输入了vectormap,结果的轨迹通常都满足了kinodynamic【但是如果vectormap的lane画的转弯半径小 那输出轨迹可能会不满足吗?】

5.2 Cost Calculation

这里主要讲的是避障,obstacle avoidance is the process of selecting the best possible trajectory from the roll-outs generated

输入:roll-outs的轨迹 和检测到的障碍物【会对障碍物在vectormap的某个区域有限制吗?】

输出:selected trajectory