建设软件网站,东莞长安网站优化,手机微信网页版登录入口,网站迁移教材描述
自动驾驶算法使用的系统往往不是实时系统#xff0c;因此每个节点间拿到的数据可能不是同一时间的数据#xff0c;从而造成系统误差#xff0c;针对这一现象#xff0c;工程上往往采用时间对齐内插外推法。这里我们用感知障碍物来举例。
自动驾驶系统有许多重要模块…描述
自动驾驶算法使用的系统往往不是实时系统因此每个节点间拿到的数据可能不是同一时间的数据从而造成系统误差针对这一现象工程上往往采用时间对齐内插外推法。这里我们用感知障碍物来举例。
自动驾驶系统有许多重要模块假设每个模块占用一个进程即节点那么进程与进程间需要相互通信来传递数据。决策规划节点需要感知节点传来的障碍物信息来做决策规划。假设在 t 1 t1 t1时间点决策规划收到了感知障碍物的数据但这个障碍物的位姿一定是在 t 1 t1 t1时间点的位姿吗不一定因为不是实时系统数据传输存在延时所以决策规划在 t 1 t1 t1时间点收到的感知障碍物数据很可能是更早的 t 0 t0 t0时间点的数据这个时间错位可能是几毫秒到几十毫秒这个时间错位对高速场景可能最终导致障碍物实际距离差出了几米。所以针对这种非实时系统导致的时间错位的情况我们需要进行时间对齐内插外推出感知障碍物更准确的位姿。
具体做法
因为感知和定位的需要自动驾驶系统中往往存在一个全局里程计odometryodometry是个相对概念并不代表车辆真实的utm位姿只是反映了不同时间点位姿的变化过程这个里程计由translation和rotation组成反映了车辆x y z yaw pitch roll六个维度的变化。 在决策规划节点里我们需要记录odometry历史到现在的一段时间轴时间轴设置几秒即可因为延时不会太大时间轴长了反而会降低程序效率。 假设在 t 1 t1 t1时刻决策规划拿到了感知障碍物的数据那么先读取感知障碍物自带的时间戳假设为 t 0 t0 t0这个时间戳是感知发布那一帧信息时打的这个时间戳往往比此时决策规划的现在的时间更早因为信息传递需要时间。拿到这个时间戳后在第1步里记录的时间轴里去找对应的odometry的位姿并记录为 p o s e 0 pose0 pose0 根据此时的 t 1 t1 t1时刻在时间轴里去找对应的odometry的位姿并记录为 p o s e 1 pose1 pose1 由 p o s e 0 pose0 pose0和 p o s e 1 pose1 pose1可计算出从 t 0 t0 t0时刻到 t 1 t1 t1时刻的位姿转移变化矩阵记为 t f tf tf 将 t f tf tf施加到 t 0 t0 t0时刻感知障碍物的位姿上得到的结果是 t 0 t0 t0时刻感知障碍物在 t 1 t1 t1时刻时相对于本车的位姿 因为障碍物可能存在速度因此在做完tf转换后还需预测推理更准确的位置这里我们采用最简单的cv预测(恒定速度预测)注意在预测前还需对障碍物速度方向施加tf转换。预测时间为 t 1 − t 0 t1-t0 t1−t0 预测的距离方向施加在第5步得到的位姿上即可得到 t 1 t1 t1时刻相对于本车更准确的障碍物车辆的位姿坐标