登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
社区
BBS
广播
Follow
园子
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP申请
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
自动驾驶 | 为CarLA添加一辆小米SU7 Part I
自动驾驶 | 为CarLA添加一辆小米SU7 Part I
[ 复制链接 ]
丧血槌
2025-6-2 00:37:49
自动驾驶 | 为CarLA添加一辆小米SU7 Part I
导言
什么是CarLA?
CarLA是一款基于虚幻引擎4(Unreal Engine 4)构建的开源自动驾驶仿真平台,为自动驾驶算法的研发、测试与验证提供高保真的虚拟环境。其核心特性包括:
高精度地图与传感器模拟
:支持激光雷达、摄像头、毫米波雷达等多种传感器的物理级仿真。
动态交通场景
:内置行人、车辆、交通信号等交互元素,可模拟复杂城市路况。
模块化设计
:用户可通过Python或C++ API灵活控制环境参数、交通流及智能体行为。
通过从源码构建CarLA,我们可以通过UE4编辑器快速便捷地为它添加一款载具。
准备工作
为了将自定义的一款载具添加到CarLA中,你需要做好如下准备工作:
已经准备好的载具模型
一份从源码构建的CarLA和UE4编辑器(详见https://carla.readthedocs.io/en/latest/build_windows/#windows-build)
安装好CarLA API的Python环境
最新版本的Blender
在本文中,我将以小米 SU7为例,将这款载具添加到CarLA中,你可以在Sketchfab中下载到所需要的资源:
https://sketchfab.com/3d-models/xiaomi-su7-ca2cda599f5341068c992c9f44551bf9
准备要导入的载具
模型准备
首先将你所需要的模型下载到本地并解压,在这里我选择了gltf格式
打开blender,选择file -> import -> gltf即可导入:
接下来我们开始检查并整理模型,打开face orientation,检查所有面的内外朝向都没问题(确保没有面的外侧是红色的)
为了方便后续骨骼绑定,我强烈建议将模型划分为四个轮子和车身两个部分:
接下来,我们将模型缩放到以米为单位,并且以x轴为正前方,z轴朝上,并且车轮是刚好接地的:
(Optional)如果你希望给载具更多细节,可以从官方下载车牌并置于车头和车尾(https://carla-assets.s3.us-east-005.backblazeb2.com/fbx/LicensePlate.rar)
骨架对齐
接下来,我们从官网下载所需要的载具骨架(https://carla-assets.s3.us-east-005.backblazeb2.com/fbx/VehicleSkeleton.rar),选择file -> import -> fbx导入到blender中
五个骨骼为:Vehicle_Base,Wheel_Front_Left,Wheel_Front_Right,Wheel_Rear_Left以及Wheel_Rear_Right,分别对应车身,左前轮,右前轮,左后轮以及右后轮。
小心地将四个轮子的骨骼尾部对齐到车轮的中心
接下来为Base和Wheels各添加一个Modifier -> Deform -> Armature,object选择我们的骨架
顶点组绑定
接下来为每个轮子绑定到和四个骨骼同名的顶点组上:
车身绑定为Vehicle_Base:
做完这些工作之后,理论上你就已经完成了骨骼绑定,你可以通过在Pose Mode下进行摆布验证骨骼是否都被正确绑定了
材质命名
在导出之前,强烈建议按照CarLA的材质命名标准(M_CarPart_CarName)进行重新命名:
导出模型
上述工作都就绪之后,我们可以导出模型,选择file -> export -> fbx,按照图中的设置导出模型
导入UE4 Editor
首先打开UE4 Editor,进入Content->Carla->Static->Car->4Wheeled下新建一个文件夹命名为我们的载具,并将我们导出的fbx进行导入,在导入的时候选择材质继承M_CarPaint_Master,并重载Base Color(不要吐槽画质为什么突然变低了,因为我的UE4是编译在远程的工作机上的)
导入完成之后,我们打开骨骼模型
但是看着好像和我们在blender看到的模型不太一样
不用担心,接下来我们把车灯和车窗换成已经有的透明材质(我这里为了偷懒,直接使用了特斯拉现成的车灯材质,大家不要学我,为了美观我还把车漆调成了小米SU7的经典配色)
创建物理资产
如图打开物理资产
如图选择四个轮子,选择sphere后重新生成碰撞体
再把物理类型调成Kinematic
同理vehicle_base选择为Single Convex Hull之后再重新生成(这样的碰撞基本够用,如果你还需要更精细的类型就需要自行创建模型),物理类型是Default
创建动画
首先右键新建一个动画蓝图
父类选择VehicleAnimIsntance,骨骼选择我们已经有的骨骼
接下来,我们找到Content->Carla->Static->Car->4Wheeled->Tesla->Tesla_Animation并打开,复制蓝图中的所有节点
再见这些节点粘贴到我们刚才新建的动画蓝图中,完成连线并点击左上角的编译,保存并退出
配置载具蓝图
打开Content->Carla-Blueprints->Vehicles,创建一个新的文件夹并命名为我们的载具
右键选择新建蓝图,选择VehicleWheel,分别为BP_SU7_FrontWheel和BP_SU7_RearWheel
其中FrontWheel如下配置:
Collision Mesh选择为Wheel_Shape,Radius和Width按照实际模型填写(这里因为和特斯拉的车辆尺寸差不多,所以我偷懒了直接使用特斯拉的尺寸),选择不被手刹影响,并且舵角为70
RearWheel也同理,只是勾选可以被手刹影响,并且舵角为0
保存并点击左上角编译之后,我们在原地右键新建一个蓝图,选择BaseVehiclePawn
点击打开,分别在Mesh配置我们刚才准备好的动画、骨骼模型以及VehicleMovement中配置四个轮子的蓝图
点击左上角编译并保存退出
注册载具
打开Content->Carla-Blueprints->Vehicles->VehicleFactory,点开Vehicles
新建一个元素,填入汽车厂商以及型号,并指定为我们刚才创建的载具蓝图,完成之后保存编译退出
测试载具
完成上述所有工作之后,点击右上角的Launch,启动CarLA
待CarLA启动之后,我们打开控制台进入安装有CarLA API的环境,找到官方提供manual_control.py脚本,增加参数--filter su7并启动
接下来请通过
轻推w键
以享受你的驾驶之旅!
结语
本文讲述如何将一个模型作为载具添加到CarLA模拟器中,但是注意,目前这个载具还不支持
灯光开关
、
车门开闭
以及
LiDAR光线反射
,我们会在下一个部分进行讲述(如果我还没有弃坑的话)
参考文献
https://carla.readthedocs.io/en/latest/tuto_A_add_vehicle/#add-a-new-vehicle
https://www.youtube.com/watch?v=0F3ugwkISGk
https://github.com/carla-simulator/carla/issues/1779
https://sketchfab.com/3d-models/xiaomi-su7-ca2cda599f5341068c992c9f44551bf9
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
那些年搞不懂的高深术语——依赖倒置•控制反转•依赖注入•面向接口编程
如何优雅的使用RabbitMQ
分布式锁1 Java常用技术方案
浅谈我对DDD领域驱动设计的理解
游戏编程十年总结(下)
【前端性能】高性能滚动 scroll 及页面渲染优化
验证码对抗之路及现有验证机制介绍
从零开始入门 K8s | 手把手带你理解 etcd
中文写程序,何陋之有?
NHibernate之旅(2):第一个NHibernate程序
公司的中场
[一步一步MVC]第一回:使用ActionSelector控制Action的选择
.net环境下跨进程、高频率读写数据
FFmpeg开发笔记(六十二)Windows给FFmpeg集成H.266编码器vvenc
Android 系统缺陷不完全点评
模板模式
谈谈如何从本质上理解sql语句, 存储过程,ORM之间的联系和取舍。
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
安全
签约作者
程序园优秀签约作者
发帖
丧血槌
2025-6-2 00:37:49
关注
0
粉丝关注
10
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9986
背竽
9994
猷咎
9992
4
凶契帽
9992
5
终秀敏
9990
6
裴涛
9990
7
里豳朝
9990
8
处匈跑
9990
9
黎瑞芝
9990
10
松菊
9990
查看更多