https://carla.readthedocs.io/en/0.9.13/start_quickstart/
Ubuntu 18.04
CARLA 0.9.13
8 GB
以上显卡现存20 GB
以上硬盘空间Python 2
或者 Python 3
pip
检查 pip
版本
# For Python 3
pip3 -V
# For Python 2
pip -V
升级 pip 版本
# For Python 3
pip3 install --upgrade pip
# For Python 2
pip install --upgrade pip
tcp
默认端口 2000 和 2001打卡官方 Github
链接 https://github.com/carla-simulator/carla/blob/master/Docs/download.md 选择 0.9.13 版本,如下图所示
tar -xzvf CARLA_0.9.13.tar.gz
将下载的 AdditionalMaps_0.9.13.tar.gz
放到 carla
的 import
目录下
cd CARLA_0.9.13/
./ImportAssets.sh
CARLA 0.9.12
之前的版本不需要安装 Python
库,它们带有一个 .egg
文件,开箱就可以使用。CARLA 0.9.12+
以上版本改变了这种行为,有几个选项可以用来安装客户端库。
.egg file
CARLA
在PythonAPI/carla/dist/
中为不同的Python
版本提供了.egg
文件,开箱即可使用。在PythonAPI/examples
中的每个例子脚本都包括一个自动寻找这个文件的代码片段。在Linux
中,你可能需要把这个文件添加到你的PYTHONPATH
中。如果您之前用
pip
安装了客户端库,它将优先于.egg
文件,你需要先卸载之前的库。
.whl file
CARLA
为不同的Python
版本提供.whl
文件。你需要安装.whl
文件。.whl
文件可以在PythonAPI/carla/dist/
中找到。每个支持的Python
版本有一个文件,用文件名表示 (例如,carla-0.9.12-cp36-cp36m-manylinux_2_27_x86_64.whl 表示Python 3.6)。
建议在虚拟环境中安装CARLA客户端库,以避免在使用多个版本时发生冲突。如果你以前安装了客户端库,你应该在安装新库之前卸载旧库。
# Python 3
pip3 install <wheel-file-name>.whl
# Python 2
pip install <wheel-file-name>.whl
Downloadable Python package
CARLA
客户端库可以从PyPi
下载。这个库与Python 2.7
,3.6
,3.7
, 和3.8
版本兼容。要安装它,你需要pip/pip3
的20.3版本或以上。
建议在虚拟环境中安装CARLA
客户端库,以避免在使用多个版本时发生冲突。
# Python 3
pip3 install carla
# Python 2
pip install carla
本次安装选择第三种方式安装,安装步骤见下面
下载 miniconda
,地址 https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
安装
./Miniconda3-latest-Linux-x86_64.sh
conda create -n py27 python=2.7
conda create -n py38 python=3.8
此处可以选择安装不同的版本,注意:ros-bridge
需要安装到 python2.7
的环境中。
通过如下命令查看当前环境已经拥有的虚拟环境:
$ conda info -e
# conda environments:
base /home/wohu/miniconda3
py27 * /home/wohu/miniconda3/envs/py27
py38 /home/wohu/miniconda3/envs/py38
可选命令:
conda config --set auto_activate_base false # 关闭自动激活 base 环境
conda config --set report_errors false
激活某个版本的环境
conda activate py38
去激活当前的虚拟环境
conda deactivate
如果 pip
需要升级,则执行命令
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U
永久更换 pip
源为清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
在 py38
虚拟环境中执行,安装 CARLA
执行所需要的依赖
pip install pygame numpy
在 py38
虚拟环境中执行
pip install carla
安装依赖库
sudo apt-get install -y libomp5
在命令行启动 CARLA
cd CARLA_0.9.13/
./CarlaUE4.sh
正常启动后如下图所示:
一个包含城市景观的窗口将弹出,这就是观众视角,使用鼠标和 WASD
键在城市中飞行,按住鼠标右键来控制方向。
如果电脑显卡性能较差,可以添加如下可选参数调低渲染 level
:
./CarlaUE4.sh -quality-level=Low
启动 CARLA
时,有一些配置选项可用:
carla-rpc-port=N
:侦听端口 N
处的客户端连接。默认情况下,流式端口 Streaming port
设置为 N+1
;carla-streaming-port=N
:指定用于传感器数据流的端口。 使用 0 获取随机未使用的端口。 第二个端口将自动设置为 N + 1
;quality-level={Low,Epic}
:更改图形质量级别;-carla-server
:让 carla
以服务的方式运行;-benchmark -fps=15
:引擎以1/15秒的固定时间逐步运行;-windowed -ResX=800 -ResY=600
:屏幕窗口大小;脚本 PythonAPI/util/config.py
提供了更多的配置选项,应该在服务端启动后运行。
./config.py --no-rendering # Disable rendering
./config.py --map Town05 # Change map
./config.py --weather ClearNoon # Change weather
./config.py --help # Check all the available configuration options
服务端运行之后,等待客户端与之连接,可以用下面的方法连接服务端。
在 py38
虚拟环境中执行
cd PythonAPI\examples
python -m pip install -r requirements.txt
python generate_traffic.py
上面命令行执行后不要关闭。
在 py38
虚拟环境中执行以下命令,用于生成人工控制汽车。
cd PythonAPI\examples
python manual_control.py
W
: 前进。↑
键也可以前进。S
: 刹车。↓
键也可以 刹车A/D
: A
左转 D
右转。←
也可以左转,→
也可以右转。Q
: Q
倒车标志。Q+W
可以倒车。Space
: 空格是手刹。和 S
不同。P
: 开启/关闭自动驾驶模式。M
: 切换到手动模式。,/.
: 加减挡。,
减档 .
加档CTRL + W
: 同时按下 CTRL + W
,在放开 CTRL + W
,车会一直以 60 km/h 的速度前进L
: 控制车灯切换。雾灯、近光灯等切换。SHIFT + L
: 切换远光灯Z/X
: 转向灯。Z
左转向,X
右转向。I
: 车内照明灯。TAB
: 切换视角 or N
: 切换不同类型的 camera
和 lidar
, [1-9] : 切换不同类型的 camera
和 lidar
,和 N
不同,N
每按下一次,sensor
顺序切换。按下数字键,可直接切换到对应 sensor
G
: toggle radar visualizationC
: 切换天气,(Shift+C ,天气有多种,切换顺序和C相反)Backspace
: 换车型V
: 选地图图层 (Shift+V ,地图有多个图层,切换顺序和V 相反)B
: 加载当前的地图图层(Shift+B 卸载当前的地图图层)R
: 时时记录车辆走行情况CTRL + R
: 切换到 R做的记录 (replacing any previous)CTRL + P
: 回放R的记录CTRL + +
: increments the start time of the replay by 1 second (+SHIFT = 10 seconds)CTRL + -
: decrements the start time of the replay by 1 second (+SHIFT = 10 seconds)F1
: 显示/不显示页面左侧和sensor相关的一些信息,例如加速度,陀螺仪,GNSS等H/?
: H和?可以弹出帮助命令ESC
: 退出pygame