PreScan第四课:PreScan模型接入控制算法的接口

目录

  • 模型建立基础
  • 控制算法的接口
  • 接口的实现
  • 视频资料

模型建立基础

为了自己和他人学习的需要,建了一个PreScan的QQ群:613469333(已满)/ 778225322(可加),加群前请私聊群主(QQ:2059799865)加入。群管理需要花费时间和精力,为了鼓励管理员和群成员积极互动,入群需交¥9.99的群费。

模型建立的基础是会新建道路、配置车辆、新建Path等等,这一部分可以在前三次总结中看到:
PreScan第一课:软件简介和基础
PreScan第二课:构建实验
PreScan第三课:Sensors Model
Bilibili上我也录制了基础的视频,可以辅助学习:
PreScan场景建立实例+讲解

控制算法的接口

任何无人驾驶仿真软件都需要有确定的输入、输出,即接口。输入输出内部是留给我们发挥的空间,即算法设计。
一般的控制算法的接口为:Throttle、Brake、Steering。当然一般情况下也需要接入各种传感器的输出接口,这个只要新建对应的传感器就可以得到传感器输出接口。接口的输出格式可以在help中查到。

接口的实现

接口实现需要首先现在GUI中进行设置,然后才可以在Regenerate生成的MDL中看到。新建基础场景包括以下步骤

  1. 新建实验。包含以下元素:Road、Path、Actor
  2. 选择车辆动力学模型。然后在车辆actor的object configuration中先选择车辆的模型,一般情况下二自由度车辆模型就足够使用,毕竟不是传统的车辆动力学建模。
    PreScan第四课:PreScan模型接入控制算法的接口_第1张图片
  3. 选择Path Follower。这样可以默认跟随车辆所处的Path,也可以设置是否预瞄,以及预瞄的时间等参数。
    PreScan第四课:PreScan模型接入控制算法的接口_第2张图片PreScan第四课:PreScan模型接入控制算法的接口_第3张图片
  4. 生成Simulink模型。可以看到PathFollower中可以输出Steering、Throttle、Brake。PathFollower的simulink模型生成之后调整成如下布局:
    PreScan第四课:PreScan模型接入控制算法的接口_第4张图片PreScan有一个非常Bug的地方是生成的模型非常之乱。如果在GUI中调整某些参数之后,重新Regerenate之后,修改部分又会重新排版。因此如果想用这个软件,要慢慢习惯这种蛋疼的设定。别强迫着自己非要摆得非常整齐,没有必要。
  • 建议将生成的模型调整成上图的布局。快速看懂模型的方法是首先察看模型的IO,这里显然是State,点进去会发现State里面有各种车辆的动力学参数。实际上车辆State的调节是一个反馈的过程。State里面通过Bus总线选出需要使用的动力学参数。
  • 红色框选部分是常用的控制接口。可以看出是直连到后面的2D车辆模型。
  • 蓝色框选部分是初始速度和期望速度。控制算法里面的期望速度一般来自结合周围车辆和控制算法推导的速度
  • 黑色部分值得注意。这里面的v0并不是车辆的实际车速,而是初始速度,至于原因可以进入PathFollower中看到,我踩过这个坑。所以上图可以看出接到动力学模型的实际车速我从State中摘出来的。

为了自己和他人学习的需要,建了一个PreScan的QQ群:613469333,加群前请私聊群主(QQ:2059799865)加入。群管理需要花费时间和精力,为了鼓励管理员和群成员积极互动,入群需交¥4.99的群费。

视频资料

这部分可以在Bilibili中看到对应的视频分享。
PreScan视频

你可能感兴趣的:(【PreScan】)