DARPA Grand挑战赛Overbot的软硬件架构,轨迹规划和车辆控制

原文标题: Trajectory Generation and Control Methodology for an Autonomous Ground Vehicle

论文来源: Autonomous Systems Laboratory, Computer Engineering Department, University of California, SantaCruz

摘要

这篇文章用的车辆是Overbot,该车原来是设计用来参加DARPA Grand挑战赛的,后来被改装成无人车研究的平台。这样一个完整的平台考虑到了新算法的开发和验证,执行器和传感器与现有框架的融合。本文描述了一下软硬件的交互,提出了一种在复杂障碍物情形下寻找基于曲线spline-based路径的方法。总共测试了多种控制方法,路径规划和控制在600米的道路上得到了验证。

Nomenclature术语

DARPA Grand挑战赛Overbot的软硬件架构,轨迹规划和车辆控制

DARPA Grand挑战赛Overbot的软硬件架构,轨迹规划和车辆控制

1 OVERBOT介绍

DARPA Grand挑战赛Overbot的软硬件架构,轨迹规划和车辆控制

硅谷工程师在2004和2005年参加DARPA Grand挑战赛的时候设计制造的,但是Overbot没有完成任意一场比赛,2005年被捐赠给加利福利亚大学的无人系统实验室。

Overbot是一辆完全自主的无人车,可以跟随一系列GPS轨迹点,车辆被设计成遍历每一个路径点,并且在走直线的时候保持在一定的拐弯半径中,最终避让所有的障碍物。为了完成这个任务,车辆配备了各种传感器,执行器和定制的软件来导航,在无人驾驶中,车辆完全自主无需任何的人为输入信息。

1.1 硬件架构

车辆可以在山区或者岩石地形中运行,速度可以达到40mph,并且能翻越大型障碍物。

车顶安装了拥有180度环视的红外线激光雷达,随着射线beam旋转就能计算出出距离。在Overbot上面,激光雷达被安装在一个定制的万向接头mount上,这样就能让激光雷达扫描到地面得到地形图。万向接头是由伺服servo电机驱动的,可以根据车辆姿态进行俯仰调整,另外Overbot还配备了彩色相机,ccd相机(659*494分辨率resolution),摄像头安装和激光类似,非常适合获取地形terrain。

Crossbow AHRS 400CB-200是一个姿态attitude和朝向heading参考系统,包含了3轴加速度计,罗盘rate gyro,和一个3轴磁力计magnetometer。通过融合这些测量单元,就能估计出横滚角roll,俯仰角pitch,和旋转角yaw,同时得到对应的变化率。精度方面,俯仰和横滚精度是±2.5度,旋转角精度是±4度,但在实际中受噪声影响susceptible特别大。

为了让车辆从一个位置自主地到达另一个位置,非常有必要得到一个车辆位置的精确测量。Overbot依赖于Novatel家的GPS设备,使用差分differential corrections纠正使得定位误差在0.1米之内。

在Overbot地盘chassis上,使用伽利略运动Galil motion控制器来控制转向,油门,刹车和换挡shifting。工业伺服电机旋转方向盘连杆steering shaft,而原本的方向盘齿轮依然被用来控制车辆。一个修正的巡航控制单元来操作油门,一个螺旋传动screw drive和线缆驱动actuate车辆的刹车踏板……(现在不都是线控了嘛,太low了)

所有的子系统都被以太网和一系列路由器连接,所有的通信都通过设备与设备之间的UDP协议user datagram protocol包裹进行通信。

1.2 软件架构

Overbot在一个装有单核奔腾Single Pentium处理器的片上电脑onboard上运行,机器通过在QNX实时操作系统上运行软件来控制车辆。这个软件被分为几个处理线程,每一个线程都服务于一个不同的任务,几个进程在一起定义了传感器的信息输入,并且在尾部定义了执行器的输出,每个线程都代表一个服务,一般情况下只和自己上下级的进程进行通讯。
DARPA Grand挑战赛Overbot的软硬件架构,轨迹规划和车辆控制

GPSINS Server

最顶层的软件架构是GPSINS进程server,在Novatel GPS接收器和Omnistar High Performance subscription的加持下,定位精度可以达到分米decimeter级别。惯导结合使用卡尔曼滤波可以达到60hz的计算速度,最后GPS接收器和AHRS惯导共同提供了车辆的位置和方位信息。

Map Server

视觉部分的计数都在Map Server中实现,首先使用laser range finder来监视环境并寻找障碍物,将激光雷达的倾角和车辆的位置以及方位进行对比,就能表示出物理环境中的测量点。随着车辆前进,激光雷达不断地扫描地面,这些点累积起来,就能代表物体的表面并最终得到对障碍物的定义。所有的障碍物最终都被投射到地面并创建一个二维的,离散的地图。

Move Server

根据GPSINS的数据,规划出一条到达期望目的地的路径,Move Server主要部分是车辆的动力学和误差检测,总的来说,Move Server努力使车辆在遵循车速限制的条件下,保持速度尽可能快。一些简单的动力学限制可以用方位信息计算出来,动力学主要根据曲率和地形的不同来限制车辆的速度。最后,速度,转向和曲率信息都被计算出来,并分发到对应的速度和方向模块中。

Speed Server

主要是处理硬件运动限制,控制油门,刹车和方向盘,从Move Server接受指令,并转换到执行器来改变速度,加速度和方向盘转角。

Direction Server

接受Move Server的指令,并发送给硬件控制器。

注: 这一段作者的写作思路非常混乱,非常没有条理性,我的理解可能也存在问题。


2 Path Planning

Overbot是被设计跟随一系列路径点的,这些点描述了车辆的理想nominal路径。每一个点都必须被顺序遍历,同时还要维持在理想路径的最大误差范围maximum radius内。这个距离定义了一个关于路径的长廊corridor about path,限制了车辆允许占据的空间。在每个离散时间点中,轨迹都利用车辆的当前位置和方位,通过定义好的长廊corridor(应该翻译成可行空间?)和障碍物地图obstacle map规划出轨迹Trajectory。

接下来介绍两种路径规划path planning技巧

2.1 Arc Based Paths基于圆弧的路径

DARPA Grand挑战赛Overbot的软硬件架构,轨迹规划和车辆控制

符号 含义
WGoalGPSW_{G o a l}^{G P S} 目标点位置
WVGPSW_{V}^{G P S} 车辆当前所在点位置
θV\theta_{V} 车辆当前朝向角度

在这种情况下,目标路径是连接车辆当前位置WVGPSW_{V}^{G P S}和目标点位置WGoalGPSW_{G o a l}^{G P S}的一条圆弧,具体做法为:做一条车辆前进速度方向的垂线,再做一条连接WVGPSW_{V}^{G P S}WGoalGPSW_{G o a l}^{G P S}直线的垂直平分线,相交的点即为圆心点。如果找不到合适的点,就移动WGoalGPSW_{G o a l}^{G P S}的位置,随着WGoalGPSW_{G o a l}^{G P S}WVGPSW_{V}^{G P S}越近,越容易找到一条没有障碍物的路径。

可行路径wedge是利用Bresenham算法,通过离散化pixelizing圆弧arcs来得到的。这种算法的太过简单性simplicity能把用于计算轨迹的运行时间限制在合理范围内,这对一个RTOS来说非常有必要,但是只能用简单圆弧的方法限制了在复杂环境中的移动能力。为了保证一个障碍物无碰的路径,路径长度常常会被减低,并且可能无法规划出一条穿过障碍物的路径,最终无法在多障碍物环境中通过traverse。

2.2 Spline Based Path基于采样点的路径

DARPA Grand挑战赛Overbot的软硬件架构,轨迹规划和车辆控制

三次样条曲线cubic spline的方法,克服了圆弧方法的不足,样条曲线spline是一种分段piecewise的多项式函数,在轨迹规划中,样条曲线被限制成二阶导数second derivative连续,来确保路径,朝向角heading和方向盘steering转角的连续性。

为了解决圆弧方法的短视short sightedness,路径被设计成3个连续consecutive的路径点,超过3个连续点的路径超过了传感器的输入范围不被考虑。通过使用3个点,rotation确保了必须的单调性monotonicity来计算样条曲线路径,rotation定义了一个新的参考框架reference frame,并且允许样条曲线可以被给定的路径点插值interpolated。

为了确保路径的有效性,样条曲线被重新映射道GPS参考框架中,路径被离散到障碍物地图obstacle map中并且每个点pixel都被评估(安全性),每个被视觉感知到的障碍物进行膨胀inflated后保存到地图中,膨胀enlarging障碍物可以补偿车辆的宽度,这样只需要评估车辆的中心点在路径中的位置

曲线在每一个给定的碰撞旁边弯曲bend。新的点在碰撞周边vicinity of the violation进行3次样条插值cubic interpolation,通过不断地引进额外的点,曲线就可以避开障碍物,且维持在定义好的宽度内defined corridor,这个过程不断被重复,直到寻找道一条完全无碰的轨迹。

这种方法需要更多的运行时间,但是在典型的应用typical application中能生成更好的路径。


3 Contorl 控制

DARPA Grand挑战赛Overbot的软硬件架构,轨迹规划和车辆控制

PD控制
cCommand=cff+kyYError+kθθError c_{C o m m a n d}=c_{f f}+k_{y} * Y_{E r r o r}+k_{\theta} * \theta_{E r r o r}
PID控制
cCommand=cff+kyYError+kθθError+kiiError c_{C o m m a n d}=c_{f f}+k_{y} * Y_{E r r o r}+k_{\theta} * \theta_{E r r o r}+k_{i} * i_{E r r o r}
控制效果对比
DARPA Grand挑战赛Overbot的软硬件架构,轨迹规划和车辆控制


4 Conclusion结论

DARPA Grand挑战赛Overbot的软硬件架构,轨迹规划和车辆控制

Reference

1
Tomas Berglund, Hkan Jonsson, and Inge Sderkvist. An obstacle-avoiding minimum variation b-spline problem. Proceedings of the 2003 International Conference on Geometric Modeling and Graphics, 2003.
2
Jack E Bresenham. Algorithm for computer control of a digital plotter. IBM Systems Journal, 4(1):25,1965.
3
John Connors and Gabriel Hugh Elkaim. Analysis of a spline based, obstacle avoiding path planning algorithm. Proceedings of the Vehicular Technology Conference, 2007.
4
John Connors and Gabriel Hugh Elkaim. Experimental results for spline based obstacle avoidance of an off-road ground vehicle. Proceedings of the ION Global Navigation Satellite Systems Conference, 2007.
5
John Connors and Gabriel Hugh Elkaim. Manipulaiting b-spline based paths for obstacle avoidance in autonomous ground vehicles. Proceedings of the ION National Technical Meeting, 2007.
6 Carl de Boor. A Practical Guide to Splines. Springer, revised edition, 1978.
7 Gabriel Elkaim, John Connors, and John Nagle. The overbot: An off-road autonomous ground vehicletestbed. Proceedings of the ION Global Navigation Satellite Systems Conference, 2006.
8 Crossbow Technology Incorporated. Ahrs400 series users manual. http://www.xbow.com, 2005.
9 NovAtel Incorporated. Novatel propak-lb plus user manual. http://www.novatel.com, 2005.
10
SICK Incorporated. Laser measurement systems technical description. http://www.mysick.com, 2003.