自主驾驶车辆跟踪与记录合成数据
今天的博文是Veer Alakshendra写的,教育技术传教士在MathWorks学生竞争的团队。
与汽车工业的进步,各种各样的学生比赛有介绍了无人驾驶的类别,团队的目标是设计和建立一个自治的车辆,可以参加不同的学科。
使用MATLAB和Simu金宝applink,你可以设计自动驾驶系统功能包括传感、路径规划、传感器融合和控制系统。
在本文中,我们将演示一种方法来驱动自主车辆在一个闭环电路。这里的任务是开车在未知环境中避免碰撞与锥确保完成必要的圈。
场景创建
第一步是创建一个3 d模拟环境组成的车辆,追踪,和视锥细胞。的车辆动力学Blockset工具箱来安装预先构建的3 d场景模拟仿真软件的建模和可视化工具。金宝app这些3 d场景可视化使用虚幻引擎从史诗般的游戏。
从当前的问题需要一个定制的场景,我们使用了虚幻编辑器和车辆动力学Blockset接口为虚幻引擎4项目支持包金宝app建立现场。
学习如何定制场景(图2),请按以下步骤的解释文档。另外,我们还可以使用走鹃为自动驾驶设计3 d场景模拟。
图1所示。自定义场景不真实
图2所示。创建的步骤一个自定义场景
Lap1:环境映射
图3所示。金宝app环境仿真软件模型映射
下一个任务是环境地图。上一节中提到的,无人驾驶车辆在一个未知的环境中,由锥保持两岸的轨道。检测第一圈锥和生成参考路径,我们已经建立了一个仿真软件模型如图3所示。金宝app图4显示了执行的步骤模型在第一圈:
图4所示。环境映射的框图表示
- 激光雷达安装:激光雷达的目的是测量锥之间的距离。的模拟3 d激光雷达块提供了一个接口以3 d激光雷达传感器仿真环境。使用呈现环境虚幻引擎从史诗般的游戏。块返回一个与指定的点云的视野和角分辨率。
- 锥检测(图6):锥的目标检测算法是集群中所有的点属于一个锥和识别锥的位置。这是通过计算连续点的点云之间的距离。点属于同一锥接近对方,而锥相对较远的地区。聚类后,锥形的中点的均值锥中所有的点的位置。
图5所示。激光雷达处理和控制
图6所示。显示锥中发现点云的阴谋
- 驱动控制:司机控制器算法理解锥的位置在激光雷达点云。该算法有两个目标:
- 确定面前的两个最重要的视锥
- 避免撞到任何锥
这是通过寻找最近的两个锥和计算这些锥的中点。算法产生加速度,控制命令对这个中点。该算法也限制了车辆的最大速度预设阈值。
- 车辆动力学(图7):车辆的车辆动力学模型包括身体,简化传动系统、动力传动系统、纵向轮和运动指导。该模型的目的是计算车辆的位置和姿态基于转向,加速和减速命令。学习如何模拟纵向和横向车辆动力学、参考视频。的模拟3 d车辆与地面块和模拟3 d场景配置块用于设置3 d仿真环境虚幻引擎。
图7所示。汽车模型
- 输出:一旦我们运行模拟、激光雷达成功检测到锥。此外,车辆地图环境并生成参考轨迹。然而,车辆的最大速度缓慢移动8 m / s。
Lap2:参考轨迹跟踪
在第二圈,车辆跟踪从第一圈模拟获得的参考路径。图8显示了仿真软件模型。金宝app相比过去的模型,在这个模型中,我们已经删除了激光雷达,增加了纵向和横向控制器。
图8所示。金宝app为参考轨迹跟踪仿真软件模型
现在,这是一个经典的闭环控制系统的问题,控制器的任务是输出所需的控制命令,命令加速,减速命令跟踪参考路径以更高的速度。
图9。第二圈闭环框图
- 横向控制器:纯追求控制器已被用于车辆的横向控制。在仿真软件中实现控制器使用金宝app单纯的追求块来测量目标的方向。此外,目标方向转换成所需的转向角使用车轮转向角公式。了解更多关于车辆路径跟踪控制器使用纯粹的追求,请参考视频。
图10。纯追求控制器
- 纵向控制器:纵向驱动程序块是用来控制车辆的速度。具体地说,它是一个PI控制器产生的致动器信号的参考速度。
图11。纵向驱动程序
请注意,目前,我们简化了程序开发速度剖面通过使用一个查找表来定义速度在不同的地区。然而,推荐使用速度分析器块自动化速度剖面生成的过程。
- 结果:图12显示模拟轨迹的对比和参考轨迹。从结果很明显,横向控制器成功地跟踪参考路径。除了横向控制行动,纵向驱动程序可以调节所需的速度。
图12所示。车辆轨迹获得在第二圈
总结
这篇文章表明MathWorks工具可用于自动驾驶车辆闭环跟踪上存在障碍。您可以扩展这种方法和利用提供的例子文档设计和模拟你的自主车辆。
学习资源:
联系我们
请随时向我们伸出援手racinglounge@mathworks.com如有查询。同时,加入我们的MATLAB和Simulink赛车休金宝app息室脸谱网集团最新的技术文章、视频、以及即将举行的现场会议。
- 类别:
- 自动驾驶
评论
留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。