此示例显示了如何使用自动驾驶工具箱在Simulink®中构建自动泊车代客泊车系统™. 它紧随其后金宝app自动泊车代客泊车MATLAB®的例子。
自动将停在停车场前面的车辆停放是一个具有挑战性的问题。车辆的自动系统预计将接管车辆并将其引导至可用的停车点。本示例重点介绍在环境中规划可行路径、从该路径生成轨迹以及使用可行控制器执行轨迹。本例不包括地图创建和动态避障。
在模拟之前helperSLCreateCostmap
函数在预处理
模型的回调函数。有关使用回调函数的详细信息,请参阅模型回调(金宝appSimulink).的helperSLCreateCostmap
函数创建停车场的静态地图,其中包含关于静止障碍物、道路标记和停放的车辆的信息。这个地图用a表示
对象。车辆成本图
使用
Simulink®中金宝app的对象车辆成本图
helperSLCreateUtilityStruct
函数转换
进入块掩码初始化中的结构数组。有关更多详细信息,请参阅初始化的面具(金宝appSimulink).车辆成本图
全局路线计划被描述为一个车道段序列,以穿越到达一个停车位。在模拟之前预处理
模型的回调函数加载路线计划,路线计划存储为表格。表格指定路段的起始和结束姿势,以及路段的属性,如限速。
routePlan = 5×3表StartPose EndPose属性 ________________ ____________________ __________ 4 12 0 56 11 0 1×1 struct 56 11 0 70 19 90 1×1 struct 70 19 32 90 70 90 1×1 struct 70 32 90 52 38 180 1×1 struct 53 38 180 36.3 44 90 1×1结构
本例中许多模块的输入和输出为Simulink总线(金宝app
类)。在金宝app模拟总线
(金宝appSimulink)预处理
模型的回调函数helperSLCreateUtilityBus
函数创建这些总线。
规划是一个分层过程,每个后续层负责更细粒度的任务行为规划师block通过为全局路线计划提供中间目标和配置,触发一系列基于全局路线计划的导航任务运动规划和轨迹生成阻碍。使用以下步骤导航每个路径段:
运动规划:使用最优快速探索随机树(RRT*)算法通过环境地图规划可行路径(
).pathPlannerRRT
车辆控制字体辅助路径分析器
为控制车辆转向和速度的车辆控制器子系统提供参考信号。
目标检查:检查车辆是否已达到分段的最终姿势,使用helperGoalChecker
.
车辆控制器子系统包含一个横向控制器斯坦利块和一个纵向控制器斯坦利块分别调节车辆的姿势和速度。要处理真实的车辆动力学[3]车型横向控制器Stanley块中的参数设置为动态自行车模型
.使用此配置,需要额外的输入,如路径曲率、车辆当前横摆角速度和当前转向角来计算转向指令。纵向控制器Stanley块使用切换比例积分控制器来计算actu发出的加速和减速指令踩下车辆上的制动器和油门。
为了演示其性能,将车辆控制器应用到车辆模型模块中,该模块包含一个简化的转向系统[3],该转向系统被建模为一阶系统车辆身体3自由度(车辆动力学区块集)区块共享于自动驾驶工具箱™和车辆动力学区块集™之间。并与运动自行车模型进行了比较自动泊车代客泊车以MATLAB®为例,该车辆模型块由于考虑了轮胎打滑和转向伺服驱动等惯性效应而更加精确。
可视化块显示车辆如何跟踪参考路径。它还显示范围内的车速和转向指令。以下图像是此示例的模拟结果:
模拟在45秒左右停止,此时车辆到达目的地。
这个例子展示了如何在Simulink中实现一个自动泊车代客。金宝app
[1] 布勒、马丁、卡尔·伊阿格尼玛和桑吉夫·辛格。DARPA城市挑战:城市交通中的自动车辆(第1版)。斯普林格出版公司,注册成立,2009年。
[2] Lepetic, Marko, Gregor Klancar, Igor Skrjanc, Drago Matko, Bostjan Potocnik,《考虑加速度限制的时间最优路径规划》。机器人技术与自主系统,第45卷,2003年第3-4期,第199-210页。
[3] 霍夫曼、加布里埃尔·M、克莱尔·J·汤姆林、迈克尔·蒙特默洛和塞巴斯蒂安·特伦。“用于越野驾驶的自动汽车轨迹跟踪:控制器设计、实验验证和赛车。”美国控制会议,2007年,第2296-2301页。