PreScan快速入门到精通第二十一讲驾驶员模型之驾驶员在环

在PreScan中,可以通过两种不同的方式加入驾驶员行为:1)外部方向盘与手动输入,即驾驶员在环。2)路径跟随者Simulink块(有或没有预览)。驾驶员行为与Simple Dynamics车辆模型结合使用

如果在 "动态 "选项卡中选择了 "Dynamics "模型,则启用 "DriverModel "选择。如果用户仍然需要不使用Dynamics的Driver Model,则在Dynamics选项卡中选择 "User specified",然后选择空文件作为Model文件。然后将 "未指定 "设置为模型文件类型。驾驶员在环(外置方向盘)驾驶员在环的功能可以利用外部力反馈方向盘,演示控制和决策算法的功能。它可以让所做的实验中实际驾驶。注1:在使用方向盘功能之前,需要安装方向盘驱动程序。注2:在PreScan编辑器或Simulink中没有检查,以验证所选控制器是否存在于当前系统中。用户有责任在启动仿真时确保硬件的连接。注3:方向盘界面只在仿真过程中有效(因此不是动画)。注4:当实验中使用方向盘时,建议最低仿真速率为20Hz。为了实现平稳的转向,你可能需要将Simulink的更新速率提高到100Hz以上。注5:在某些特定情况下,可能会出现方向盘不能正常工作或MATLAB在运行实验时崩溃的情况。改变方向盘连接的USB端口可以解决这个问题。在一台机器上配置实验,并将其转移到另一台机器上时,也会出现这种情况。注6: 当使用 "用户指定动力学"时,最大档位设置为20,刹车压力设置为150巴。这些可以在控制器界面自动手动块掩码中配置。当在PreScan GUI中选择游戏控制器选项时,将启用一个部分,允许用户选择方向盘、换挡策略和是否应该启用力反馈。PreScan支持以下方向盘:罗技MOMO罗技G27罗技G29当选择一个支持的方向盘时,PreScan会自动将按钮映射到正确的功能上(如换挡),并设置轴的正确范围(如转向角度)。用户还可以选择 "自定义游戏控制器"。当选择此选项时,用户有责任在Simulink中设置正确的按钮映射和范围设置。这个过程将在Add CustomSteering Wheel中讨论。对于换挡策略的选择,有两个选项:手动换挡自动换挡控制选择手动换挡,可以使用方向盘上的左/右翻板或外置换挡器进行换挡。需要注意的是,在初始化阶段,车辆以空挡启动,用户必须换挡才能使车辆行驶。在自动换挡中,这是作为算法的一部分来完成的。踏板用于油门、刹车和离合器。注:为了强制仿真时间与真实时间相等,可能需要将 "仿真时间刻度 "的值改为1。注:选择罗技G29时,请确保方向盘上的模式设置为PS4。Simulink表示法当从编辑器中选择了一个方向盘时,人机界面设备(HID)控制器将被放置在 "编译表 "上的相应角色中。当存在简单动力学块时,HID输出将被自动连接。

当从PreScan编辑器启用方向盘和方向盘执行器时,生成的块不会在Simulink中自动连接。这要通过将方向盘可视化输出(Steer_Vis)与方向盘正确的旋转轴连接来手动完成。对于提供的模型,这就是滚动轴(x轴)。请注意,操纵杆的输出角度是以度为单位的,而方向盘执行器希望其输入是以弧度为单位的。最后,根据公约,正的侧倾角会导致负的方向盘角。因此,应该放在块之间的最终增益的值为K = -pi / 180。HID_Controller:

HID控制器的输出如下:参数                           描述                                                                                单位方向盘转向角度deg节气门0-100%的节气门。%刹车制动压力bar自动/手动在自动和手动换挡之间切换0]=自动换档[1] = 手动换档[-]自动变速箱自动换档的档位[-1] = 倒车[0]=中性[1]=驱动[-]手动变速箱手动换档的档位[-1]=倒车[0]=中性[1...最大档位]=档位数[-]制动器VIS用于可视化的制动信号[-]倒挡VIS用于可视化的倒档信号。[-]方向盘VIS用于可视化的转向信号[deg]在HID控制器内有两个额外的子系统,一个是操纵杆专用块(如G29_Control),另一个是控制器接口自动-手动块。该接口块将操纵杆输出转换为正确的格式,用于简单动力学和可视化,同时考虑到所选的换挡策略:自动或手动选挡。

操纵杆块的输入是导致方向盘力反馈效果的参数。PreScan支持两种类型的效果。周期效果--导致重复的预定义方向盘位移的效果(例如正弦波)。弹簧效果--导致方向盘向预定义方向盘角度或向外施加力的效果。力反馈没有默认的实现,默认情况下是关闭的。用户可以自行设计力反馈逻辑。

注:由于方向盘的惯性和内部工作的原因,周期波的理想形状和实际形状可能会有差异。在控制器块的掩码中,需要提供方向盘的设备ID。默认情况下,该值设置为0,对应于Windows检测到的第一个控制器。对于每一个额外连接的控制器,它们的ID会增加一个,例如第二个控制器的设备ID为1,第三个控制器的设备ID为2,等等。另请参见添加多个方向盘。

操纵杆专用块操纵杆块的输入是:参数                               描述                                                                                    单位周期性_开/关开关使方向盘的周期性效果。[0]为关闭[1]为开启。[-]周期波类型周期效应波类型。[2] 正弦波[4] 方波[8]三角波[16] 锯齿状上波[32] 锯齿状下波[-]周期_周期信号的周期。[s]期限_幅度周期信号的幅度为0-100%。[%]弹簧力_开关开关使方向盘上的弹簧效果。[0]为关闭[1]为开启。[-]弹簧力_中心角弹簧效果的中心角。该值的有效范围取决于所选择的操纵杆。例如,罗技MOMO的有效范围为[-120 +120]度,而罗技G29的有效范围为[-450 +450]度。[deg]弹簧力_饱和度弹簧饱和度的最大輸出力。如果达到设定的最大值,进一步移动滚轮不会增加弹簧力,而是保持最大值。这个值是在0-100%的范围內。[%]弹簧力弹簧效应的力。负的弹簧力使方向盘远离中心角,正的弹簧力使方向盘转向中心角。这个值的范围是[-100% +100%]。[%]操纵杆块的输出是:参数                               描述                                                                             单位转向转向角。这个角度的范围由驱动轮的物理转向角决定。[deg]节气门油门百分比,比例为0-100%。[%]刹车0-100%的制动百分比[%]离合器离合器的比例为0-100%。[%]变速箱档位:[-1]=倒车[-1]=倒车[0]=空挡[1...最大档位]=档位数[-]在每个操纵杆专用块(G27_Control, G29_Control, Momo_Control)中都有一个通用操纵杆块。这个模块能够与当前系统中的任何类型的游戏控制器进行通信。该系统中的所有其他组件都是为了提供正确的按钮映射,并为所选的方向盘设置正确的范围。

注:在通用操纵杆块的掩码上,用户可以指定一个替代频率。这个频率应该是仿真频率的整数倍。例如,当模拟频率为100 Hz时,操纵杆频率可以是100、50、25或20 Hz。添加自定义方向盘无论何时添加自定义方向盘,用户都要提供正确的映射和范围设置。Custom_Control块的布局与其他操纵杆专用块相同,但其逻辑需要由用户添加。

参数                         描述                                                                                             单位周期性[1]开关使方向盘的周期性效果。[-]周期性[2]0]为关闭,[1]为开启。[-]周期性[3]周期效应波类型。[2] 正弦波[4] 方波[8]三角波[16] 锯齿状上波[32] 锯齿状下波[ms]周期性[4]信号的周期。[-]弹簧[1]在[0  65535]范围内的周期信号的幅度。[-]弹簧[2]范围[-32768  +32767]內的弹簧效果中心角。[-]弹簧[3]弹簧饱和度在[0 65535]范围內。[-]弹簧[4]在[-32768 +32767]范围內的弹簧作用力。[-]参数                         描述                                                                                        单位axes范围[-32768  +32767]内所有可用轴位置的向量。[-]buttons所有可用按钮值的向量,未按为0,按了为1。未按压为0,按压为1。[-]hats所有可用的hats值的向量。根据按下的方向,hats的值或值的组合如下。1]上[2]右[4] 下[8]左[-]添加自定义控制器涉及以下步骤。1.       确定哪些轴对应转向、油门、刹车和离合器,并将这些轴连接到正确的输出端口。2.       映射按钮并连接到齿轮按钮逻辑。a.       确定哪些按钮对应于上、下档,并将其连接到ShiftDownBtn和ShiftUpBtn。b.       确定哪些按钮对应于变速箱档位选择,并将这些信号提供给GearButtonSignals。c.       提供所有有效的齿轮(按连续顺序),并连接到齿轮信号学。3.       确定方向盘上转向角的物理限制,并将这些值提供给弹簧中心角和方向盘角的重映射子系统。注意:当手动映射转向角时,请考虑到惯例,例如逆时针转向角对应的是一个正角。增加多个方向盘PreScan支持多个角色由不同的方向盘控制,然而每个控制器只能控制一个角色。这意味着每个放在编译表上的控制器应该有一个 在开始模拟之前,唯一的设备ID。如果不这样做,将导致Simulink错误。由于所有的方向盘最初放在编译表上的设备ID都是0,所以用户应该先进行正确的调整,将每个控制器设置为正确的设备ID。如果不知道哪个设备ID对应哪个方向盘,用户可以启动Simulink仿真,检查MATLAB命令行,下面的片段显示了一个可以打印的例子。检测到的输入设备:设备0:罗技G29驱动力赛车方向盘USB设备1:罗技MOMO赛车USB。有了这些信息,用户可以将正确的ID设置为正确的控制器。然而,如果使用了两个相同的控制器(例如两个罗技G29),命令行输出是不确定的。在这种情况下,建议采用试错的方法来匹配正确的设备ID。当用户想在Alienware PC上运行带有操纵杆功能的PreScan时,应用程序在运行实验时可能会崩溃。出现这种错误的原因是Alienware错误地将其专用主输入/输出(MIO)板注册为具有力反馈的人机接口设备。当PreScan试图初始化所有带有触觉反馈的操纵杆时,该设备会导致无法恢复的错误。解决方案是(暂时)禁用机器上的MIO设备。下面的步骤描述了这个过程。1.       单击 "开始",然后单击"控制面板"。2.       单击 "硬件和声音"。3.       单击 "设备管理器"。4.       打开 "人机界面设备 "部分,寻找符合HID标准的设备。

5.       右键单击设备并选择属性。6.       打开 "详细信息 "选项卡,寻找 "硬件 Ids "属性。7.       如果Value字段显示Vendor ID为VID_187C,则该设备为MIO板,应禁用。关闭窗口。

8.       在设备上右击,选择 "禁用"。

9.       对所有符合HID标准的设备重复步骤4-8,并确保与VendorID对应的所有设备都被禁用。10.     关闭 "设备管理器 "并重新启动电脑。重启后,Alienware可能会显示一些错误,因为它无法再与现在被禁用的MIO板通信。这些警告可以被丢弃。11.     (还原)可以通过浏览到设备管理器(步骤1-3),右键单击禁用HID兼容设备并选择启用来还原该过程。进行这些更改后,需要重新启动。注1:在设备管理器中进行修改时,用户需要拥有本机的管理权限。注2:对于老版本的Alienware,MIO设备被称为Master IO Filter Driver。注3:卸载设备不会有任何影响,因为Windows会在重启后再次重新安装它们。

(0)

相关推荐