Ununtu 18.04 安装Carla 0.9.13 以及Carla ros bridge 超级避坑指南(更新于2022.10.20)

Carla0.9.13 以及Carla ros bridge 超级避坑指南

先说一下我的安装环境:
Ubuntu18.04
ROS melody
Python2.7及Conda Python3.6
从小白开始安装到和Ros打通前前后后画了一周多时间
强调:安装前需要保证有150G的空间,否则白了个白。

站在巨人肩膀前进

首先是官方的参考文档放在这里:https://carla.readthedocs.io/en/latest/build_linux/
之后基于以下这几位大佬的帖子,但是我任然遇到很多网上找不到的坑在这里记录下。
帖子1:https://blog.csdn.net/weixin_42259296/article/details/120127475?spm=1001.2014.3001.5506
帖子2:https://blog.csdn.net/k_NGU_L/article/details/123399894?spm=1001.2014.3001.5506
帖子3:https://blog.csdn.net/weixin_36184353/article/details/126373080?spm=1001.2014.3001.5506

主要的问题总结如下(从0起步):

  1. 显卡驱动问题
  2. 网络问题
  3. Python环境问题

显卡驱动问题

新手不建议使用从英伟达官网下载自己安装
直接从系统软件和更新中的附加驱动里更新在这里插入图片描述
在这里插入图片描述
要是不显示 sudo update 一下
通过使用ubuntu-drivers devices 得到系统推荐的显卡驱动进行选择(比如:这里截图用的笔记本2060,实际操作的实验室为3090则安装的515)
可通过nvidia-smi查看系统GPU情况
详细步骤见https://blog.csdn.net/qq_42751676/article/details/121001049

之后便是进入正题安装Carla

首先就是虚幻4的安装老生常谈需要绑定E宝(Epic)

首先你需要有github和UE4的账号,没有的话注册就行没有Epic的账号可使用Steam登陆Epic,
登陆虚幻4官网www.unrealengine.com
注册完成后需要绑定github和UE4账号如下图:绑定账户的就行,多数帖子为老图,连接下没有区分。
其他可见https://blog.csdn.net/qq_31788759/article/details/86530309
在这里插入图片描述
绑定后接下来进入GITHUB中的UE4专栏https://github.com/EpicGames,
注意!!!!!!!!此时网页顶端会有一个提示邀请你加入Epic games team,必须点击!!

安装前初步的配置

要开放两个端口:

iptables -I INPUT -p tcp --dport 2000 -j ACCEPT
iptables -I INPUT -p tcp --dport 2001 -j ACCEPT
iptables-save

CARLA 需要许多不同类型的软件才能运行,废话不多说,下面的命令直接全部执行,想了解的可以自己去搜,都有。

sudo apt-get update && sudo apt-get install wget software-properties-common && sudo add-apt-repository ppa:ubuntu-toolchain-r/test && wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - && sudo apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main" && sudo apt-get update
sudo apt-get install build-essential clang-8 lld-8 g++-7 cmake ninja-build libvulkan1 python python-pip python-dev python3-dev python3-pip libpng-dev libtiff5-dev libjpeg-dev tzdata sed curl unzip autoconf libtool rsync libxml2-dev git
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/lib/llvm-8/bin/clang++ 180 && sudo update-alternatives --install /usr/bin/clang clang /usr/lib/llvm-8/bin/clang 180
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/lib/llvm-8/bin/clang++ 180 &&
sudo update-alternatives --install /usr/bin/clang clang /usr/lib/llvm-8/bin/clang 180

python3.6安装

pip3 -V
pip3 install --upgrade pip
pip install --user setuptools && pip3 install --user -Iv setuptools==47.3.1 && pip install --user distro && pip3 install --user distro && pip install --user wheel && pip3 install --user wheel auditwheel

安装Anconda

安装UE4

git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git ~/UnrealEngine_4.26

输入上面代码后需要输入你的Github账号和Token(注意不是密码,Github修改了方式)
具体Token怎么获得见此贴:
https://blog.csdn.net/m0_51693209/article/details/124664968
之后运行下面代码

cd ~/UnrealEngine_4.26
./Setup.sh && ./GenerateProjectFiles.sh && make
 cd ~/UnrealEngine_4.26/Engine/Binaries/Linux && ./UE4Editor

安装Carla

大佬们都说是可以加速编译,先运行下面代码

sudo apt-get install aria2

下载Carla,如下直接下载的最新版(当前最新即为0.9.13)

git clone https://github.com/carla-simulator/carla

(补充下载特定版本)

git clone --depth=x -b x.x.xx https://github.com/carla-simulator/carla ~/Carla_x.x.xx#将XX换为需要的版本

然后更新一下:

./Update.sh

添加环境变量 gedit ~/.bashrc也可在主目录下,使用Ctrl+H显示隐藏文件.bashrc
将此代码添加至最后 export UE4_ROOT=~/UnrealEngine_4.26

注意 从这往后开始编译,有很多坑
在你安装Carla的路径下执行(可使用cd carla(注意你自己的大小写)也可直接主目录打开carla文件夹)

make PythonAPI

这里会有网络问题,如果是校园网,尽量使用V6,
我总结的网络切换优先级 V6>镜像源>科学上网(我在没使用科学上网的前提下在阿里,中科大,华为中均成功过)

下面编译到一半有个大坑(如果你已经开始不要暂停)
xerces-c-3.2.3.tar.gz下载不到,原网址已经不提供了,不是网路问题,而是从根上就没了!原网址提供的3.3.4,有两种解决方式

第一种将位于carla//Util/BuildTools/中的Setup.sh脚本中的3.2.3改为3.2.4
具体方法见此贴后面:(但是可能会出现其它问题,不一定好用,我没有成功)
https://blog.csdn.net/weixin_42259296/article/details/120127475?spm=1001.2014.3001.5506
在这里插入图片描述

我的使用的方法是从网上自己下载下来3.2.3,如果采用我这种方式下载链接见百度云,也可自己搜(如果没有百度云连接说明我还没传上去,懒狗一个)

注意!!执行下面操作前要将修改的脚本备份以防万一!!!
具体方法是将此文件放到carla/build文件夹里,将位于carla//Util/BuildTools/中的Setup.sh脚本中的下载代码注释掉,如下图
在这里插入图片描述
注释掉后保存退出
等他报错以后接着运行

make PythonAPI

其他的错误大概率都是网络问题,我通过换源完美解决,暂时还没碰到其他的坑。
之后就是

make launch

这里耐心等待就可以,我没遇到坑如有可参考开头几篇帖子的。

弹出窗口UE4的窗口代表大概路成功了,
测试

python3 -m pip install -r requirements.txt
python3 generate_traffic.py

如果UE4里面也生成了对应车辆在跑,那就恭喜你编译成功了。

安装carla ros bridge (注意安装此的前提是安装了ROS!!)

大佬们在这部分似乎都很顺利,但是我踩了很多坑(布置为何(苦逼脸))

首先是安装问题,直接下载安装包的方式,我试过很多,都安装不成功,

我于是采用源码安装

先解释下rosdepc,一个非常牛逼的大佬做的国内rosdep镜像,具体见

https://blog.csdn.net/sinat_16643223/article/details/120950026?spm=1001.2014.3001.5506

安装ROS卡在rosdep这一步直接用此法!!

执行:sudo pip install rosdepc安装rosdepc。

mkdir -p ~/carla-ros-bridge/catkin_ws/src
cd ~/carla-ros-bridge
git clone --recurse-submodules https://github.com/carla-simulator/ros-bridge.git catkin_ws/src/ros-bridge
source /opt/ros/melodic/setup.bash # 我是Ubuntu18.04所以这里是 ROS melodic,注意你的版本
cd catkin_ws
sudo rosdepc init
rosdepc update
rosdepc install --from-paths src --ignore-src -r
catkin_make

将下面代码加到.bashrc文件中

export PYTHONPATH=$PYTHONPATH:~/carla/PythonAPI/carla/dist/carla-0.9.13-py2.7-linux-x86_64.egg

注意carla-0.9.13-py2.7-linux-x86_64.egg此文件来源路径以及名称,
对于仿真环境,我们最理想的配置应该是:
CARLA.0.9.13 + Anaconda3(python3.6) + ros(melodic) + carla-ros-bridge;

但是实际情况却是:由于我们使用的操作系统为ubuntu18.04,对应安装的ros版本是melodic,而其内置的python版本为2.7,这

与ubuntu自带内置的python版本相同。但是,我在安装CARLA那一步在/carla/PythonAPI/carla/dist/路径下生成的为python3.6版本在运行carla-ros-bridge时
会出现ImportError: dynamic module does not define module export function (PyInit__tf2)这样的问题,我尝试了

各种帖子的方法,但是都不见效果,如果你是2.7版本可忽略这一步。

我的解决方式是
先在carla路径下以make PythonAPI ARGS="--python-version=2"来编译一遍在上面路径下得到2.7版本,如果在`make

PythonAPI ARGS=“–python-version=2”`后直接make launch 我出现了很多奇奇怪怪的问题

所以我再此直接make PythonAPI 编译 再make launch 重新对Carla编译,成功解决问题。

以上这些工作都完成之后,可以尝试运行carla-ros-bridge:

carla目录下make launch启动carla

启动ros
执行:source ~/carla-ros-bridge/catkin_ws/devel/setup.bash(我是将他加到.bashrc文件中了,有大佬指出加了可能会出问题见开头帖子)
启动carla-ros-bridge:roslaunch carla_ros_bridge carla_ros_bridge.launch,在此之前,保证在其它终端运行了roscore,且carla已经运行,并点击了play播放按键。在其它终端中执行rostopic list,可以看到包含carla的节点。

  • 8
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值