PreScan学习(1):关于用PreScan仿真时如何接入控制算法的学习

     近期刚刚接触PreScan软件,学习资料较少,一开始不知道如何将自己的控制算法加入场景生成的simulink模型,看了一些demo,问了一些大佬之后有了一点点认知。做一个分享,有错请指出。第一次发文,不喜轻喷。

1、关于PreScan
关于PreScan是什么以及怎么安装就不讲了,移步度娘。
2、PreScan的教程
能查到资料很少,网上有一版官方的学习资料,PreScan basic 2 day training, 很详细的那种,从基础教你建立场景,很实在可以好好看看。
3、基础——如何接入控制
举个栗子。现在建了一个场景,里边有一辆车,我想要控制它,输入输出的接口是什么样子的呢?
首先,先来明确一点,如果不是要求对车辆的动力学建模十分的精确,只是普通的仿真的话,可以使用PreScan中自带的2自由度模型。然后在设置好了之后,将driver modle里边选择path follow。这个时候呢,当你设定了轨迹以后,车辆是按照预设的值,直接给了车辆动力学模型输入量,主要的信号是方向盘转角、油门开度、制动。
设置好参数以后,build,然后在模型里Regenerate一下,然后就会出现传感器部分,驾驶员模型部分以及动力学模型部分和其他部分。
PreScan学习(1):关于用PreScan仿真时如何接入控制算法的学习_第1张图片
上面的图当中,没有使用外加的控制模型去控制车辆的运动,所以驾驶员模型输出的三个主要的信号直接是动力学模型的输入:方向盘转角、油门开度、制动。
同时,如果是自己的控制算法,一般也是对上述三个量进行控制,也就是说自己的控制模型的输出端应该含有这三个量其中的一部分或者全部。
拿一个Demo举例子。
打开demo中的ACC_ISO_test002。截一部分图如下:
PreScan学习(1):关于用PreScan仿真时如何接入控制算法的学习_第2张图片
上图中两个红色的框和两个绿色的框分别是油门开度和制动信号,可以看出,从驾驶员模型当中输出的两个信号,没有直接连在动力学模型,而是输入给了ACC_Model,然后经过了ACC算法,ACC_Model模块输出了计算后的油门和制动,将这个信号再输入给动力学模型,这样可以达到控制的效果。
上面也很明显,ACC不对转向进行控制,所以方向盘转角信号是直接从驾驶员模型到了车辆动力学模型而没有经过ACC算法。
总结一下就是,可以直接把需要控制的信号拉出来,作为自己控制模块的接口,然后再将输出的信号输入给车辆模型端,以此来进行车辆控制。
#s/

你可能感兴趣的:(智能驾驶)