分享好友 最新动态首页 最新动态分类 切换频道
一文看懂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方法会在被调用的下一帧将参数应用到车辆上。


总结

最新文章
看来,谷歌也在劫难逃!
原来,收拾英伟达之际,中国信创产业链厂商也不装了,去Android竟然就公开定在2027年之前!这意味着什么?板子这次是打在英伟达AI算力上,可下一个要收拾的却轮到Android了。关键是,留给谷歌作出反应的时间也不多了。很简单,美国对华芯片
WORDPRESS成品网站免费的样式,轻松搭建高效便捷的在线平台!
1. 什么是WORDPRESS成品网站?免费的样式助力初学者快速上手使用WORDPRESS成品网站是构建网站的一种高效方式,尤其是对初学者来说,其免费的样式可以帮助用户快速实现网站上线。这些成品网站通常包含预设的页面布局、功能模块和设计元素,
有哪些汽车搭电宝充气泵一体机推荐
这两款车的马力不同,外观设计不同,车身尺寸也不同。但是传祺gm8和别克gl8都是中大型mpv,这两款车是同级别车型。别克GL8采用2.0升涡轮增压发动机,传祺GM8也采用2.0升涡轮增压发动机。别克GL8搭载的2.0升涡轮增压发动机代这两款车的马力
百度蜘蛛池租用:阿里蜘蛛池,高效SEO优化工具,助力网站流量倍增的秘诀解析
阿里蜘蛛池,百度蜘蛛池租用首选,高效SEO优化工具。采用先进技术,快速提升网站流量,助力企业实现业绩倍增。解析秘诀,助您掌握SEO优化之道。本文目录导读:阿里蜘蛛池简介阿里蜘蛛池的有效性分析阿里蜘蛛池的使用技巧随着互联网的飞速发
微信视频号爱心多少可以买,视频号刷爱心多少
微信视频号爱心多少钱可以买,视频号大拇指价格多钱问题:微信视频号爱心多少钱可以买?回答:微信视频号爱心的价格是0.35元每个,100个起。如果需要1000个甚至更多价格会有一定幅度优惠。微信视频号爱心用什么用?爱心是一个作品热度的表
跨境人必学!各大海外广告平台流量解析
做跨境烧过钱的人都知道,海外的广告平台那是五花八门,什么样的广告形式都见过。但什么平台适合自己的品?哪些平台的用户群体和我的契合度高?要回答这些问题,首先要对平台有一定的认知,下面,我们一起来盘点一下常见的广告投放平台。Go
Win10重装系统后打开软件很卡怎么解决?
最近有很多用户反映自己在重装系统后,电脑变得很卡,打开软件都难。很多用户不知道是什么原因,这里小编为大家整理了Win10打开软件很卡怎么回事以及相关的改善方法。一起来看看吧!Win10打开软件很卡原因:1、第一点,引起这一原因很多时
杭州专业SEO优化服务,助您网站流量倍增,品牌声名远播
杭州SEO优化推广公司,专注于为企业网站提升流量,助力品牌知名度飞跃。凭借专业技术和丰富经验,助力企业快速抢占市场先机,实现线上业务增长。随着互联网技术的飞速发展,企业对网络营销的重视程度日益加深,SEO(搜索引擎优化)推广作为
长沙发布:儿童编程启蒙培训班top5名单一览
想要早早培养孩子的逻辑思维能力却不知道如何下手,有没有合适的少儿编程机构呢?小编给大家整理了2023年排名靠前的少儿编程培训机构,排名不分先后,仅供参考。1.童程童美少儿编程2.lego乐高教育3.极客晨星4.核桃编程5.斯坦星球以上几家少
干货分享领英账号怎么注册,谷歌商店账号购买
如下:《干货分享:领英账号怎么注册、谷歌商店账号如何购买》随着互联网的发展和全球化的趋势,社交媒体和数字化平台的重要性日益凸显。领英和谷歌商店作为两大的网络平台,已经成为人们职业发展和生活娱乐的重要组成部分。本文将为您详细
相关文章
推荐文章
发表评论
0评