一:电脑配置
carla支持windows,Linux系统构建,官方对于安装电脑的最低配置要求是拥有6G显存的GPU,推荐8G显存的GPU,至少需要20G的存储空间,所有对电脑的配置要求是不小的挑战。
我所使用电脑的硬件配置:32G内存、AMD R7处理器 、NVIDIA RTX 3090显卡;软件配置:ubuntu18.04(linux开发是主流),Ros1(melodic),Python2.7等
二:Carla软件安装方式
以下为nvidia-driving部分,如果安装好的可以跳过了
nvidia驱动的安装:炫酷的界面就是用显卡驱动炫出来的,没有显卡驱动,显示不出来画面也是理所应当的;
备份 /etc/apt/sources.list 文件
cp /etc/apt/sources.list /etc/apt/sourses.list.backup
如果上述操作被 permission denied 就加 sudo 再运行:
sudo cp /etc/apt/sources.list /etc/apt/sourses.list.backup
用 gedit 修改源列表内容
sudo gedit /etc/apt/sources.list #删除原内容,添加以下内容 (阿里源/清华源)
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb Index of /ubuntu/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror bionic main restricted universe multiverse
# deb-src Index of /ubuntu/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror bionic main restricted universe multiverse
deb Index of /ubuntu/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror bionic-updates main restricted universe multiverse
# deb-src Index of /ubuntu/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror bionic-updates main restricted universe multiverse
deb Index of /ubuntu/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror bionic-backports main restricted universe multiverse
# deb-src Index of /ubuntu/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror bionic-backports main restricted universe multiverse
deb Index of /ubuntu/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror bionic-security main restricted universe multiverse
# deb-src Index of /ubuntu/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror bionic-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb Index of /ubuntu/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror bionic-proposed main restricted universe multiverse
# deb-src Index of /ubuntu/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror bionic-proposed main restricted universe multiverse
更新一下:
sudo apt-get update
安装依赖项
分别执行两条命令安装安装 NVIDIA 显卡依赖软件
sudo dpkg --add-architecture i386
sudo apt install build-essential libc6:i386
屏蔽开源驱动 nouveau
终端输入
sudo gedit /etc/modprobe.d/blacklist.conf
在文本最后添加以下两行内容后,保存并关闭(用于禁用 nouveau 第三方驱动,之后也不需要改回来)
blacklist nouveau
options nouveau modeset=0
依次执行以下命令,使禁用生效并重启系统
sudo update-initramfs -u
sudo reboot
重启后,输入以下命令验证是否生效 (友情提示:如果哪天显卡驱动因为突然断电、关机重启等原因崩了的时候,但安装包还在,那么就从这一步开始快速重装)
lsmod | grep nouveau
若没有输出,则禁用生效
关闭图形界面
按 Ctrl-Alt+F2 进入命令行界面 (还有其它进入方式,比如 Ctrl-Alt+F1 ~ F7 都可以试一下),输入用户名和密码登录(一定要在命令行页面,而不是终端)需要输入login和password;
输入以下命令,禁用 X-Window 服
sudo service lightdm stop # 这会关闭图形界面
注意:我的电脑上没有安装 lightdm,图形界面是 GTK3 的,所以如果提示 unit lightdm.service not loaded,则需要先安装lightdm
sudo apt-get install lightdm
安装完毕后跳出一个界面 (有 GTK3 和 lightdm 两个选项),选择 lightdm
此时,再执行 sudo service lightdm stop 以禁用 X-Window 服务
(若安装过其他版本或其他方式安装过驱动执行此项,应先卸载原有驱动,以下是其中一种方式)
sudo apt-get remove nvidia-*
安装驱动
如果驱动文件默认下载在 Downloads 目录下,则先进入该目录
cd Downloads/
给驱动 run 文件赋予执行权限 (注意驱动文件名要与自己下载的相符)
sudo chmod a+x NVIDIA-Linux-x86_64-455.23.04.run
安装驱动 (注意驱动文件名要与自己下载的相符)
#台式机运行
sudo ./NVIDIA-Linux-x86_64-455.23.04.run –no-opengl-files-no-x-check -no-nouveau-check
#笔记本运行
sudo ./NVIDIA-Linux-x86_64-455.23.04.run
各项分别表示:
–no-opengl-files 只安装驱动文件而不安装OpenGL文件 - 这个参数最重要
–no-x-check 安装驱动时不检查 X 服务
–no-nouveau-check 安装驱动时不检查 nouveau
安装过程中,如果出现下面的问题 (可能 部分 或 全部 遇到),按键盘左、右键选中对应选项后,按回车继续:如果错了,可能导致安装失败或存在隐患。注意,上述最重要的一步问你是否使用 nv 的 xconfig 文件,一定要选 yes,否则在启动 x-window 时不会使用 nv 驱动!
检查是否安装成功在命令行界面 / 终端均可检查
nvidia-smi # 如果出现GPU列表,则驱动安装成功
输出类似以下的信息,即表示正常安装成功
ps:其实有这个也不代表显卡驱动是装好的,也有可能是假装装好了,这个时候可以用一个网站验证一下;
volumeshader_bm
如果转动起来不卡说明显卡安装的没有问题。
volumeshader_bm
难点:python版本的混淆;ubuntu18.04中自带的python是2.7版本的,但是后面会涉及好几次python版本的对应,其他的博客上会建议安装anconda建立虚拟环境,虽然之前学deeplearning的时候确实很方便,但是对于小白来讲就求简,一步一步的来。
看看当前python的版本
python --version
Python 2.7.17
如果是2.7就可以继续朝下走,如果不是就需要切换python的版本了
sudo update-alternatives --config python
有 2 个候选项可用于替换 python (提供 /usr/bin/python)。
选择 路径 优先级 状态
------------------------------------------------------------
0 /usr/bin/python3.6 1 自动模式
* 1 /usr/bin/python2.7 0 手动模式
2 /usr/bin/python3.6 1 手动模式
要维持当前值[*]请按<回车键>,或者键入选择的编号:
下载及解压压缩包
这是官网的GitHub地址,然后免源码安装的压缩包,解压即可, github地址点击此:https://github.com/carla-simulator/carla/releases
需要科学上网,可以通过网址 https://mirrors.sustech.edu.cn/carla/ 速度较快
github截图
这个地方用0.9.12做实例,实际上下载0.9.13
下载后跳转目录并压缩
tar -xzvf CARLA_0.9.13.tar.gz
由于考虑到git clone的传输量,Carla官方将其余的地图文件单独放置,需要单独下载
无需将地图资源解压直接放到对应的文件目录一把梭哈
cd Carla0.9.13
./importAssets.sh
然后就完成了,接下来就可以在carla里进行读取这个附加城镇的信息了
配置python静态变量信息
(1)在Carla的安装文件目录下,找到PythonAPI/carla/dist中有不同版本的.egg文件(python2 和 python3)
由于我们一开始就选择使用2.7所以打开该目录下的终端,输入
pwd #查找当前文件夹得目录
另开一个终端,到根目录下
cd ~
编辑.bashrc文件
sudo gedit .bashrc
在最后一行中添加export
export PYTHONPATH=$PYTHONPATH:/home/用户名/sim_ws/carla_0.9.13/PythonAPI/carla/dist/carla-0.9.13-py2.7-linux-x86_64.egg
source 一下
source .bashrc
运行Carla
下载依赖
pip install --user pygame numpy &&
pip3 install --user pygame numpy
终端中输入
./CarlaUE4.sh
三:carla_ros_bridge安装
Carla版本:0.9.13 Carla_ros_bridge的版本:0.9.10-1
1.源码安装(推荐)
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/noetic>/setup.bash
cd catkin_ws
以上的指令:mkdir -p ~/carla-ros-bridge/catkin_ws/src 、-P的意思是可以连续的建立文件夹;在git clone的时候如果中断就是网的问题可以多拉几下,科学上网才是王道啊!;source /opt/ros/<melodic/noetic>/setup.bash 这句指令中实际上只需要执行source /opt/ros/melodic/setup.bash基于melodic版本的ros1,或者source /opt/ros/noetic/setup.bash版本的ros,别无脑的复制指令,思考一下到底安装的是什么类型的ros,可以cd /opt/ros/下,ls看看到底是什么版本的ros;
rosdep update
rosdep install --from-paths src --ignore-src -r
catkin build
rosdep update容易出错,主要的问题还是归结到网络问题、可以使用鱼香ros来解决即rosdepc update,可以发现更新成功;rosdep install --from-paths src --ignore-src -r 在执行这一行的时候出现了一个报错pip module not install, 最终的发现pip --version对应的版本是python3的,但是我在全局变量.bashrc中使用的是python2.7,所以就加key,下载了一个python2得pip
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
sudo python2 get-pip.py
再重新执行rosdepc就成功了再catkin_make一下没有任何问题了但是需要住哟每次在roslaunch的时候需要source一下,如果电脑上一共拥有两套carla_ros_bridge需要用哪个的时候就去source哪个;
2.apt-get方式(不推荐)
这种方式安装出来的carla_ros_bridge在启动的时候(1)会非常的黑,(2)是非常的卡、究其原因是apt-get install的方式获取的是官方已经编译好的包,我的carla-ros-bridge的版本是0.9.10-1。
cd Path_of_carla #carla的安装位置
make PythonAPI ARGS"--python-version=2"
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1AF1527DE64CB8D9
sudo add-apt-repository "deb [arch=amd64] Index of /carla $(lsb_release -sc) main"
sudo apt-get update # Update the Debian package index
sudo apt-get install carla-ros-bridge
对于apt-get方式安装的bridge的效果:
source /opt/carla-ros-bridge/melodic/setup.bash
roslaunch carla_ros_bridge carla_ros_bridge_with_example_ego_vehicle.launch
解决办法:在代码中调节前后相机的iso的值(注意前后相机都需要改动)
sudo gedit /opt/carla-ros-bridge/melodic/share/carla_ego_vehicle/config/sensors.json
可以将数值改到4000,ctrl+s保存好,退出重新launch一下,发现黑的问题解决了但是太卡的问题依然没有解决。
carla安装
四:调试
出现报错:
WARNING:Client API Vwesion = 0.9.13
WARNING: Simulator API VErsion = 0.9.12
出现这个问题的原因是python中carla库的版本和Carla的版本不匹配导致的;所以正确的姿势应该是:
卸载掉高版本的carla库,下载与Carla仿真器版本相匹配的库
解决
sudo uninstall carla
pip3 install carla == 0.9.12
再次运行python2 ./manual_control.py 问题解决
电脑太卡,需要有一个终端把仿真器打开,可以在后台运行
./CarlaUE4.sh -quality-level=Epic -RenderOffScreen