提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

从这里开始,我将开始进行Carla仿真环境搭建。
目标为:
1.搭建符合我们真实车辆的仿真模型,包括车辆尺寸和传感器
2.完整的ROS接口
3.车辆与行人仿真


本次,主要目的在于根据Carla官方教程和各种前辈们的教程来搭建自车模型
Carla官方文档:https://carla.readthedocs.io/en/0.9.12/tuto_A_add_vehicle/

总的教程导览可以参考B站链接(大体上是视频所展示那样,但是具体会有些更简单的方法,可以看看视频来了解大概是怎样,具体操作还是参考下文吧):https://www.bilibili.com/video/BV1Vf4y1s7Tz?from=search&seid=2900206206203873143&spm_id_from=333.337.0.0

准备工作

1. 安装blender

blender是一款优秀的开源三维编辑软件,可以在多个平台使用,就在最近出了3.0升级版,我们正好来看看好用不。
官网链接:https://www.blender.org/
根据需要下载win,ubuntu等,下载后直接点击安装,这里不赘述。

blender 常用命令:
s:缩放
r:旋转
g:平移(+x, y, z实现固定轴平移)
ctrl+j:合并
alt+z:半透明(以此在编辑模式下可以选中前后所有点)
p:拆分(编辑模式下,拆分已选中部分为新个体)


2. 安装UE4 vehicle(虚幻4)插件

这个插件可以方便的绑定车辆骨架和你的车辆3d模型,虽然骨架的名字后面还需要进一步修改和重新绑定
下载地址(同地址有教程,非常棒!):https://continuebreak.com/creations/ue4-vehicle-rigging-addon-blender/


3. 用插件绑定车辆骨架

根据插件教程就可以绑定车辆骨架
其中教程部分如果英文听不懂,附上大佬们贴了字幕的B站视频链接:
https://www.bilibili.com/video/av82874419/
车辆模型可以先在网上下一个来练手:https://www.cgtrader.com/welcome
或者:https://clara.io/library?query=Truck&gameCheck=true&public=true&sort=


4. 修改骨架名称并重新绑定

根据官方教程,我们需要将我们的骨架命名为如下:
其中四个轮子的名字一定要对应且不能更改
车身部分可以不一样的名称(官方文档里写的VehicleBase但是官方的骨架里面又是Vehicle_Base)
Front left wheel: Wheel_Front_Left
Front right wheel: Wheel_Front_Right
Rear left wheel: Wheel_Rear_Left
Rear right wheel: Wheel_Rear_Right
Rest of the mesh: Vehicle_Base

总的绑定方法可以参考:How to rig vehicle in Blender 2.8 for UE4


5. 导出.fbx文件

导出时选择导出.fbx文件,注意如下图中的几个红框部分内容
在这里插入图片描述

6. 源码安装编译虚幻4引擎和Carla

参考官方文档即可安装: https://carla.readthedocs.io/en/0.9.12/build_linux/
其中需要注意的是:
1. 安装版本:

#下载carla源代码
git clone https://github.com/carla-simulator/carla
#切换到想要安装的版本分支下(如安装0.9.12)
cd carla
git checkout 0.9.12
#更新和下载资产库
./Update.sh

2. 编译指定python版本的client端
因为ros的bridge用的是python,当我直接make PythonAPI 后它生成了python 3.6版的库,这让我在编译ros bridge时报错,所以我编译了python 2.7的版本,用起来没问题。

# Delete versions as required
make PythonAPI ARGS="--python-version=2.7, 3.6, 3.7, 3.8"
# 我使用以下:
make PythonAPI ARGS="--python-version=2.7"

生成车辆文件

1.引入库

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.读入数据

代码如下(示例):

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。


在UE4中打开

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

问题

1. carla帧率太低,只有3帧

Inside the Unreal Editor click on ‘Edit’ in the top bar,
then under ‘General’ go to ‘Performance’ and deactivate the flag ‘Use Less CPU when in Background’.

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐