自动泊车路径规划概述
自动泊车路径规划概述
1.路径规划问题的一些概念
首先让我们定义路径规划的上下文:特定的几何形状的机器人R在一个环境W中移动。
1.1 状态空间
R 拥有几个方向的自由度(如它的位姿和航向),而这几个自由度的状态可以衍生为R的状态,所有可能的状态组成的空间称为一个状态空间C。
1.2 环境
一般情况下,环境W分为障碍空间和自由空间,机器人R必须在自由空间F运动。
1.3 目标点
机器人在运动之后需要到达的一个在环境W或者状态空间C中的点。
1.4路径和轨迹
机器人的运动对应一系列的状态,如果这些状态有时间戳,我们称为轨迹,没有叫做路径。一个安全的路径或轨迹,组成他的所有的状态都必须是安全的。
1.5 全向性
机器人的全向性是指机器人在一个状态c,能够到达它的所有临近状态,通俗一点讲就是机器人能够到达他附近所有的区域。车辆不具有全向性,是因为它无法进行侧向移动。
1.6 可行性
非全向性是汽车的众多动态约束中的一种,而这些约束引出了可行性路径的概念。也就是一个可行性路径必须满足它所有的动态约束。
1.7 路径规划
基于上述的所有定义,路径规划的目的就是找到一条从当前状态到目标状态可行的安全的轨迹。
2.路径规划方法简介
2.1 从几何到可行的路径规划
这种类型的路径规划一般分为两个步骤。
- 首先获得一条从起点到终点的几何路径,这一步骤可通过Voronoi图、人工势场法、A*或者Dijstra等方法。
- 然后考虑机器人的动态约束,去调整之前的几何路径,从而获得可行的轨迹。
这类算法的优点在于它适用性很广,能够适用与各种场景和各种机器人。
缺点则是,即使生成的路径是可行的,但是看起来非常的不自然或不可预期。
2.2 基于基本运动或者基本曲线的路径规划
这种类型的路径规划方法通过基本运动或者基本曲线来生成轨迹,他们之间的不同点在于基本运动的定义,基本运动可以是以恒定速度在恒定时间的运动,也可以连续光滑的曲线。这些曲线可以是圆弧直线、贝塞尔曲线、样条曲线等等。
这类方法的优势在于规划出的轨迹是自然的,并且满足汽车动力学约束可行的。但是,如何在状态空间C去搜索这样一个路径变地更加困难,原因在于基本运动和基本曲线在状态空间中没有直接的数学表示。如何去解决这个困难,比较流行的方法有概率路径规划[Ahuactzin et al., 1991; Overmars, 1992; Sekhavat et al., 1996]、快速随机数法[La Valle and Kuffner, 1999;La Valle, 2006].
3.基于基本运动自动泊车问题描述
3.1 自动泊车问题的特殊性
自动泊车路径规划的特殊性在于,基于泊车车位的类型,我们知道我们需要寻找的是那种操作路径。
3.2 车辆模型
(1) x ˙ = S c o s ( θ ) \dot{x} = Scos(\theta)\tag{1} x˙=Scos(θ)(1)
(2) y ˙ = S s i n ( θ ) \dot{y} = Ssin(\theta)\tag{2} y˙=Ssin(θ)(2)
(3) θ ˙ = S t a n ( Θ ) L \dot{\theta} = S\frac{tan(\Theta)}{L} \tag{3} θ˙=SLtan(Θ)(3)
Note:
- 车辆的状态由它的位姿(x,y, θ \theta θ)表示,这个位置对应的是车辆后轮中心的位置
- S代表车辆的线速度, Θ \Theta Θ代表车辆的前轮转角
- L代表前后轮的轴距
3.3 环境模型
环境模型做了一些简化:
- 停车位是平行与马路的矩形区域
- 马路是两条平行线内的区域
基于以上假设,环境模型可以由三个参数表示:停车位的长度d,宽度w和马路宽度W。坐标系的原点定在停车位停车位置,这样车辆的最终的坐标都会在原点。
3.4 基础运动
我们定义基础运动如上图3所示,是在一段时间内,对车辆进行车速和转角的控制,控制变量是对时间的函数。这个运动模型可以由数学表达式(4)和(5)表示,其中涉及到有六个参数:
- λ \lambda λ