prescan与simulink联合仿真之---从prescan中导出全局路径(道路的点的坐标)到matlab/simulink,全局路径模块的制作方法

本文是基于B站上的“忠厚老实的老王”up主的课程做的笔记,方便忘记的时候回来翻看。B站参考视频链接如下:
https://www.bilibili.com/video/BV1TQ4y1i7Uo?spm_id_from=333.999.0.0

prescan中新建的道路,作为自定义的全局路径。代替地图和导航路径,专注于做局部路径规划。

  1. 首先点击File,新建一个实验,New Experiment ,名字我命名为了testemplammer,保存路径自定义。按照步骤123建立如图所示的道路,初学者建议直道+弯道。道路的长度和宽度可以自定义。
  2. 并添加轨迹。
  3. 再添加一辆车Audi_A8,并把这辆车拖到轨迹的起点处(将车拖到轨迹上,轨迹变成蓝绿色后松手即可)。

车本身是自带定位的,车放到轨迹上之后,沿着路径走的话,就会实时把定位信息传给Matlab。

  1. 右键车,点击Objective Configuration,设置下车辆沿轨迹行驶的初速度和末速度。都设置为10m/s。
    在这里插入图片描述
    在这里插入图片描述

  2. 配置车辆的动力学模型,选择prescan自带的2D动力学模型。
    在这里插入图片描述

  3. 配置车辆的驾驶员模型,让车辆沿着设定好的轨迹跟随行驶。
    在这里插入图片描述
    速度、动力学模型和驾驶员模型都配置好后,点击OK。

  4. prescan中点击Bulild
    在这里插入图片描述

  5. 只能从prescan中打开Matlab,不能自己去桌面打开。点击prescan
    在这里插入图片描述
    点击这个绿色图标或者从prescan manager管理器中点击打开Matlab。

  6. Matlab显示打开成功,界面如下:
    在这里插入图片描述

  7. 在matlab左侧的当前文件夹会看到刚才命名的实验,双击它将它选为当前路径。
    在这里插入图片描述
    在这里插入图片描述

  8. 双击后会看到自己命名的cs.slx文件,双击它打开simulink模型,如下图所示:
    在这里插入图片描述
    下边那个灰色的车是我自己另外添加的,其实只有上边一辆车,这里我把它选中,右键点击Comment Out 先注释掉了。

  9. 双击模型中的车,进去以后,
    在这里插入图片描述
    将x,y连接到 to Workspace 模块中,to workspace 模块的设置如下图所示:仿真时间设置成0.1秒,因为初始速度和末速度都设置的是10m/s,仿真时间0.1秒即每隔一米采样一次。
    在这里插入图片描述

  10. 将simulink仿真时间设置成300秒,(10m/s的速度,300秒就是3公里,如果自己添加的道路长度没有3000米,仿真时间就要比300秒小,总之就是要让车以10m/s的速度跑完自己建立的道路长度。)

  11. 运行仿真,如下图所示,车正在跑,进度为百分之24
    在这里插入图片描述

  12. 等车跑完以后,matlab工作区就会出现两个变量。
    在这里插入图片描述
    双击点开,可以看到,大概是每0.1秒采样一次,没有那么精确,但是精度也够了。
    在这里插入图片描述

  13. 我们只需要第二列的数据,因此,在matlab命令行窗口输入:

global_path_x=global_path_x_original.data
global_path_y=global_path_y_original.data

工作区就会多出两个变量:global_path_x和global_path_y。将这两个变量另存为global_path.mat文件。如下图所示:
在这里插入图片描述

  1. 接下来,我们写自己的算法时,就只需要加载这个mat文件,不用每次都去采集一遍全局路径了,直接用这个数据即可。
load('global_path.m')
  1. 在simulink里面也可以制作一个全局导航的路径模块:
    在这里插入图片描述
    利用两个constant模块将matlab工作区中的两个变量加载进来,用bus creator 模块将两个输入创建总线,最后封装成子系统,如下图所示:
    在这里插入图片描述
    总而言之,先采集全局路径到matlab工作区,再将全局path加载到simulink当中,就做好了全局path采集工作,这个全局routing是一个比较通用的模块,后续可以用来规划局部路径。
  • 9
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论
car与simulink联合仿真大总结-car与simulink联合仿真大总结.rar 一直困扰我的acar与simulink联合仿真今天终于做通了,以发此贴给大家一些建议。我做的这个例子很简单,主要目的是将acar和simulink调通。 使用的软件平台:adams2005r2,matlab7.01 步骤如下: 1, 打开car的例子mdi_demo_vehicle_it,在tools/plugin manger调出controls 安装如下图片设置control: 然后按ok键 2, 对整车进行仿真,安装如下的图片进行设置,注意mode of simulation选择为files_only. 3, 按ok之后产生几个文件 4, 在matlab用编辑器打开Controls_Plant_1.m 修改ADAMS_prefix = ' Controls_Plant_1' ;为ADAMS_prefix = 'AA_iso_lane_change' 5, 打开AA_iso_lane_change.m文件,将ADAMS_outputs修改为'testrig.steering_wheel_angle'; 6, 将ADAMS_init = 'file/command=Controls_Plant_1_controls.acf' ;改为ADAMS_init = 'file/command=AA_iso_lane_change_controls.acf' ; 7, 打开matlab,在光标后输入Controls_Plant_1,出现 %%% INFO : ADAMS plant actuators names : 1 testrig.steering_wheel_torque %%% INFO : ADAMS plant sensors names : 1 testrig.steering_wheel_angle 再输入adams_sys弹出一个adams_sub的plant 8, 新建一个simulink model,将adams_sub放入这个控制系统系统,plant的输入是转向力矩(再这里是个正弦函数副值为150),输出是转向角度。 9, 设置adams_sub的参数 其output files prefix设置为‘AA_iso_lane_change’其他的参数如图所示。所建立的控制框图如下,注意这是个开环系统。 simulink上的仿真按钮,会弹出adams的dos框图,adams进行不断的迭代,直到仿真结束。 10, 仿真结束之后产生的文件有 这些文件可以在adams的后处理使用。 11, 个人感觉最重要的的几就是:将adams_server.py,adams_plant.dll,decode.m这三个文件找到(这三个文件在我的附件),放入当前的工作目录,这样可以大大减少出错的机会,还有就是adams和matlab的工作目录选为同一个工作目录。Car与simulink仿真 和 view与simulink仿真区别的地方就是文件名要一直,否则很容易出问题,这就是为什么要修改m文件的原因所在。 Duanxc314于06.5.19

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Judith Chai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值