封面图片来自网络
今天分析一下carsim这个软件。
事实上我用carsim用的不是很多。
只是因为用过几次,所以想简单介绍一下。
我大部分时间都是在用prescan。
偶尔用carsim还是因为想在prescan里面实现高自由度车辆模型的仿真。
但是, 这并不是说carsim不好。
相反cars相当强大。
为啥我不用呢,因为我觉得prescan就足够了。
还有就是我不喜欢carsim的GUI。。。
软件简介
不废话,下图是carsim官网。
https://www.carsim.com/www.carsim.com
Mechanical Simulation
Mechanical Simulationwww.carsim.com
Mechanical Simulation 官网
如大家所看到的,carsim只是Mechanical Simulation cooperation的一个产品。他们还有truck sim,bikesim ,Suspension sim等等各种各样的sim.(这里sim指的就是simulation的意思)。提供各种SIL,HIL仿真,33家OEM验证,给150家公司提供服务。厉害厉害
强大的功能,强大的阵容
据我所知,carsim才是研究车辆动力学中的标配。价格也比dSPACE的工具链便宜很多。所以各大高校也都在用。
$20,000 Desktop systems to $100,000,000 full-vehicle simulators.
Driving Simulatorswww.carsim.com
大学生方程式赛车建模仿真
不仅如此,因为很多人使用,carsim的培训资源非常丰富。中文也有很多资料。所以学起来相对容易一些。
他还提供下面这种仿真软件+硬件的设备。
说出来可能你们不信,这个东西要比想象中的要复杂很多。
我们之前买了一套没有软件加持的纯硬件。
所以要连接硬件和软件和图像。当然图像是通过carsim自动生成的。那么唯一的问题就是软件和硬件。但是连接I/O比想象中的要难。因为这又涉及到嵌入式(硬件的单片机+pc)系统的通信,CAN信号读取,实时反馈信号给方向盘和底座上的roll,pitch,yaw控制系统(也算一种悬架)。最终不了了之,可能是因为我菜把。。
平台
跟dSPACE,prescan一样,我用carsim也是基于SIMULINK的。
当然,carsim对各种第三方平台也都很友好。提供多种interface。
支持各种第三方软件
仿真
软件如何使用呢,这里简单介绍一下。
打开软件。选择要使用的数据库(就是包含车辆各种信息的数据)
然后就能看见我们的车子了。这里我们可以调试,改变车辆的所有参数。车身参数,悬架,前后轮详细数据等等都可以调节。非常细致。如果对车辆本身参数没什么要求,我们也可以直接用他们提供的demo车。
事实上,在研究自动驾驶算法的时候,车子本身的参数我们能获取就好,不至于说我要调节某个参数。细调某个参数并不断进行测试的是整车厂应该做的事情,不是自动驾驶工程师该做的事情。并不是说他不重要,而是各有各的职责。没必要越界做自己不适合做的事情。
配置车辆参数
构建场景并进行可视化操作。下图是他们demo的一个视频展示。可以看到图像质量还是很不错的。黄色箭头是每个轮胎受的力。
实际上这些就是carsim提供的大部分功能。
自动驾驶更重要的是算法,车辆本身的控制相对来说就没那么重要了。
车辆仿真可视化
当然,ADAS相关的东西也是必不可少的。虽然我没有用过,但是通过carsim的GUI,相信应该比较容易上手,且功能也应该相当强大
ADAS 场景
场景配置,传感器配置
传感器识别物体的方式
下图是carsim在simulink里面应用。 可以看到最左上端有个红色的小车模块,名字叫carsim s function。这个小模块里面就包含了所有在carsim里面设置的参数及相关的动力学仿真。
我们使用的时候,只要在carsim设置input和output,调用特定output的时候,用simulink的mux模块拆开(如果你愿意,可以把这些再用CANbus 模块绑定起来使用)使用。其余的功能就是simulink可以提供的了。比如数据记录,可视化,数据图表生成。
控制模块由simulink 提供,carsim提供车辆动力学仿真模型,还有就是车辆运行场景可视化,传感器仿真等一系列操作。
比如下图中就是carsim提供车辆动力学计算,场景可视化,simulink提供ABS算法,数据记录及可视化。
Carsim实际使用:ABS的仿真
总结
总的来说,carsim是一个非常强大的车辆动力学仿真软件。非常值得学习。
ASM,carsim,prescan都是类似的概念。
这些软件提供车辆动力学仿真,场景构建,传感器构建,数据interface构建,然后再由SIMULINK平台构建控制算法。
复杂程度:ASM>Carsim>Prescan
上手容易度:Prescan>Carsim>ASM
适合用来做自动驾驶算法验证:Prescan>Carsim>ASM
学习资源:Carsim>Prescan>ASM
专业程度:Carsim>ASM>Prescan
图像生成质量:Prescan>ASM>Carsim
价格优势:Carsim>Prescan>ASM
说到价格优势,其实还有一个很强大的软件叫Matlab! 实际上matlab也提供自动驾驶toolbox。只要1000rmb左右,非常便宜。配合matlab的机器学习工具箱,robotics 工具箱,做自动驾驶算法验证应该是足够了。下次有机会分享matlab这个toolbox的使用心得。
谢谢支持,各位看官的关注就是持续更新的动力~
看完就别吝啬点赞加关注啦~
同时也希望朋友往咱们专栏投稿,让我们在无人车算法的造诣上不停的成长~!