Prescan和Simulink 学习笔记和问题记录(2)
问题2:如何自己搭建PreScan中的:车辆(被控对象)、路径(预设路径)、道路?建立一个完整闭环的PreScan模型接入控制算法的接口?
1. 首先,了解什么是接口?
任何无人驾驶仿真软件都需要有确定的输入、输出,即接口。输入输出内部是留给我们发挥的空间,即算法设计。
一般的控制算法的接口为:Throttle、Brake、Steering。当然一般情况下也需要接入各种传感器的输出接口,这个只要新建对应的传感器就可以得到传感器输出接口。
2. 其次,基于PreScan界面搭建一个简单的环境:道路、路径、车辆。如图1所示。
图 1:
3. 对模型进行配置
(1)右键点击 车辆,点击 Object configuration ,先选择车辆的模型 Dynamics, 一般选择2自由度模型。不做传统的车辆,2自由度够用了。如图2.
图 2:
(2)再选择 DriverModel来配置路径,选择路径跟随 Path Follow,也可以勾选是否选择预瞄点 Preview。如图3。
4. 编译,再生成Simulink模型。
可以看到PathFollower中可以输出Steering、Throttle、Brake,并直接连接动力学模型,是主要的控制输出接口。PathFollower的simulink模型生成之后调整布局如下(个人有强迫症,看了想调整一下,其实没什么必要):
(1)红色部分为Bus 总线输出各种动力学参数,可以看到接口连接回到路径跟踪模块,形成闭环。
(2)绿色部分是动力学模型 To 路径跟踪模块,主要将X,Y方向的速度返回给路径跟中模块。
(3)蓝色部分为初始速度和期望速度,控制算法里面的期望速度一般来自结合周围车辆和控制算法推导的速度。
(4)橙色部分是常用的控制输出接口,连接动力学模型的输入。
5. 总结
以上就是 建立一个完整闭环的PreScan模型接入控制算法的接口 基本流程,后续还将继续总结加入传感器后的思考。