分享好友 最新动态首页 最新动态分类 切换频道
一文看懂CARLA中的车辆动力学
2024-12-29 05:52

前言

本文详细介绍CARLA的动力学模型,以便开发者能更加得心应手地使用CARLA。


什么是车辆动力学?

车辆动力学是研究车辆在不同驾驶条件下的运动和力学特性的学科。它涉及到汽车的运动、操作和控制,以及汽车所受到的各种力和力矩。

在车辆动力学的研究中,需要考虑多种复杂的因素,如车辆的重量、重心位置、空气阻力、摩擦力、惯性等。这些因素会对车辆的运动产生影响,从而影响驾驶者的操控感受和车辆的安全性能。车辆动力学主要研究以下几个方面: 为了在仿真世界中实现车辆动力学,首先需要实现物理引擎;下面简要介绍一下CARLA底层采用的Unreal Engine(虚幻引擎,简称UE)的物理引擎。


UE的物理引擎

目前业界主要有三大物理引擎,分别是PhysX、Havok、Bullet。PhysX:由NVIDIA开发的实时物理模拟引擎,广泛用于游戏开发,提供高性能、精确和逼真的物理模拟功能。Havok:一款可靠且广泛应用的物理引擎,提供出色的碰撞检测和物体模拟功能,被广泛应用于游戏和影视制作领域。Bullet:开源的物理引擎,具有广泛的跨平台支持,并以其稳定性和高性能而闻名,被广泛应用于游戏和动画领域。Unreal Engine(简称UE)原生默认支持PhysX物理引擎解决方案,这也是大部分项目常用的技术方案。与此同时,UE 从4.23版本之后,也推出了Unreal Chaos物理系统。对于大多数项目而言,Unreal PhysX基本能够满足需求,可以良好地支持常规场景查询和物理模拟。Chaos的主要技术目标是实现大规模物理可破坏组件的使用。如果项目具有大量高级物理模拟和可破碎建筑,那么使用Chaos会带来更稳定和高效的性能。在一般场景查询方面,PhysX的性能优于Chaos,只有在处理高级大规模可破坏物体模拟时,Chaos才能展现其优势。CARLA用于模拟车辆在各种复杂交通场景下的自动驾驶性能,较少涉及破碎效果的模拟。因此,对于CARLA来说,PhysX物理系统是个不错的选择(UE从V5开始,抛弃了PhysX,如果要使用UE5或为更长远做打算,也建议选用Chaos)。


UE 的车辆动力学

CARLA当前版本(0.9.15)基于UE4.26,这个版本的UE同时支持PhysXVehicles和ChaosVehicles(前者被标记为deprecated),但基于上面的分析,CARLA中依旧选用了PhysXVehicles。

我们来对比一下这两个插件的组成部分,可以看出二者功能是相似的:

可以在 UnrealEditor -> Edit -> Plugins 中搜索到PhysXVehicles插件。


车轮

车轮作为汽车基础部件,被定义在名为VehicleWheel的类中。车轮拥有多个参数,其中部分重要的参数如下:

车轮位置(Location)和速度(Velocity)也是车轮参数的一部分,可以用于定位和测量车轮的状态。


车辆运动组件

汽车运动组件的核心在于UWheeledVehicleMovementComponent4W,它实现了四轮车辆的动态表现。其中包含的参数集不容忽视,包括但不限于以下几个:


车辆引擎

车辆引擎是汽车动力组件中不可或缺的一部分,下面是该部分的各项参数和功能。


变速器

变速器是车辆运动组件的一个部分,数据详细如下:


CARLA的车辆动力学

CARLA车辆的基类是CarlaWheeledVehicle,它继承自PhysXVehicle组件的WheeledVehicle。生成车辆时,这个类的构造函数初始化了VehicleBounds和baseMovementComponent,前者用于保存和获取车辆的长宽高,后者是继承于UE的MovementComponent的移动组件类。在这个类的BeginPlay函数中,设置了车门以及初始化了轮胎摩擦力。另外类中有一些设置(Setter)和获取(Getter)函数,包括车辆状态、控制信号、BoundingBox、物理(动力学)特性等。

CARLA支持UE PhysX车辆动力学,也支持CarSim车辆动力学,默认为前者。

VehicleControl是一个结构体,包括了控制车辆所需的所有变量,即油门、转向、刹车等。当车辆接收到输入的控制信号时,CARLA车辆移动组件会调用ProcessControl函数来将控制信号应用到车辆上。

其中第3行GetVehicleMovementComponent函数是PhysXVehicle组件的一个API,用于获取车辆的移动组件:

最后,CARLA车辆的物理特性用VehiclePhysicsControl来表示,其包含了上文中的部分物理特性,另外还有2个关于车辆本身的物理特性:

如果要在CARLA中设置车辆的动力学参数,例如下面这样即可:

CARLA Vehicle的apply_physics_control方法会在被调用的下一帧将参数应用到车辆上。


总结

最新文章
《剑网三》在配置有什么要求?,剑网三配置和lol相比
题中游戏现在对台式电脑基本画质要求是酷睿I3以上处理器、4G以上内存、GT610以上独立显卡,高效画质要求是酷睿I5或锐龙R5以上处理器、8G以上内存、GTX1050/1050TI以上独立显卡(可见下图),电影画质要求在高效画质的基础上显卡换RTX2060。
网站SEO优化 站内优化和站外优化的具体内容和区别
随着互联网的发展,越来越多的企业开始意识到网络营销的重要性。对于想要在互联网上获得更多曝光和流量的企业来说,搜索引擎优化已经成为一种非常有效的方式。在SEO中,站内优化和站外优化是两个非常重要的方面。站内优
贵阳爱采购代运营的选择
爱采购店铺运营技巧:重复商品是指商家发布的新品,与之前发布的产品信息中,主图、详情、参数属性等内容完全相同,划重点:如何避免重复商品呢?一、上新产品主图避免相同,二、产品属性差数避免相同,三、产品详情页内容避免相同四、上新
王曼昱:巴黎奥运“黑马”制霸之路,细数日乒高手对她的赞誉
在刚刚结束的WTT福冈总决赛,王曼昱不负众望,成功斩获女单冠军,证明了其在巴黎奥运周期国乒女队中的绝对实力。作为一颗崛起的新星,王曼昱的比赛风格与成绩引发了国内外乒乓球界的广泛关注,尤其是日乒女队的高度评价更是凸显了她的国际
sem点击费多少钱,sem关键词扣费方式
    sem点击费多少钱,sem关键词扣费方式      例如,如果有干洗店这个词的话,就比较贵。 如果给这个词加上竞价的话,我想每次的点击费用在100元左右。 一些行业的关键词竞争非常激烈,同行也很多,网络市场缺乏管理它们的健全
昆明鹏欣漫城都荟户型面积品质怎么样?一起来看看详细介绍
鹏欣漫城都荟能不能始终如一保持开发水准呢?正在交付的二期已经用实际呈现给出了答案。鹏欣漫城都荟的三期住宅是按照小组团模式沿谊康南路东西展开的,每个组团对应一个地块设置一个主题,彼此之间相对独立,在最大程度上保证居住和物业管
群聊智能AI机器人:革命性技术的引领者
一、智能AI机器人:朋友圈的“小助手”在现今这个高速发展的信息时代,我们对于沟通和交流的需求越来越迫切。而群聊智能AI机器人就像是朋友圈中的“小助手”,为我们的生活带来了诸多便利和惊喜。二、智能AI机器人的工作方式:看得懂你的心
看来,谷歌也在劫难逃!
原来,收拾英伟达之际,中国信创产业链厂商也不装了,去Android竟然就公开定在2027年之前!这意味着什么?板子这次是打在英伟达AI算力上,可下一个要收拾的却轮到Android了。关键是,留给谷歌作出反应的时间也不多了。很简单,美国对华芯片
WORDPRESS成品网站免费的样式,轻松搭建高效便捷的在线平台!
1. 什么是WORDPRESS成品网站?免费的样式助力初学者快速上手使用WORDPRESS成品网站是构建网站的一种高效方式,尤其是对初学者来说,其免费的样式可以帮助用户快速实现网站上线。这些成品网站通常包含预设的页面布局、功能模块和设计元素,
相关文章
推荐文章
发表评论
0评