当前位置:   article > 正文

CARLA 笔记(02)— Ubuntu 安装 CARLA(服务端、客户端、安装 miniconda、创建虚拟环境、更换 pip 源、生成交通流、人工控制车辆按键)_carla可以安装在虚拟机里吗

carla可以安装在虚拟机里吗

https://carla.readthedocs.io/en/0.9.13/start_quickstart/

1. 预置条件

  • 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
  • 1
  • 2
  • 3
  • 4
  • 5

升级 pip 版本

 # For Python 3
 pip3 install --upgrade pip

 # For Python 2
 pip install --upgrade pip

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • tcp 默认端口 2000 和 2001

2. 安装 CARLA 服务端

2.1 下载安装包

打卡官方 Github 链接 https://github.com/carla-simulator/carla/blob/master/Docs/download.md 选择 0.9.13 版本,如下图所示

carla
将这两个文件都下载下来。

2.2 解压

tar -xzvf CARLA_0.9.13.tar.gz
  • 1

2.3 导入附加地图

将下载的 AdditionalMaps_0.9.13.tar.gz 放到 carlaimport 目录下

map
然后执行命令导入附加的地图

cd CARLA_0.9.13/
./ImportAssets.sh
  • 1
  • 2

3. 安装 CARLA 客户端

CARLA 0.9.12 之前的版本不需要安装 Python 库,它们带有一个 .egg 文件,开箱就可以使用。CARLA 0.9.12+ 以上版本改变了这种行为,有几个选项可以用来安装客户端库。

  • .egg file

CARLAPythonAPI/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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 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
  • 1
  • 2
  • 3
  • 4
  • 5

本次安装选择第三种方式安装,安装步骤见下面

3.1 安装 miniconda

下载 miniconda ,地址 https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

安装

./Miniconda3-latest-Linux-x86_64.sh
  • 1

3.2 创建虚拟环境

conda create -n py27 python=2.7
conda create -n py38 python=3.8
  • 1
  • 2

此处可以选择安装不同的版本,注意: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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

可选命令:

conda config --set auto_activate_base false # 关闭自动激活 base 环境
conda config --set report_errors false
  • 1
  • 2

激活某个版本的环境

conda activate py38
  • 1

去激活当前的虚拟环境

conda deactivate
  • 1

3.3 更换 pip 源

如果 pip 需要升级,则执行命令

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U
  • 1

永久更换 pip 源为清华源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
  • 1

3.4 安装依赖

py38 虚拟环境中执行,安装 CARLA 执行所需要的依赖

pip install pygame numpy
  • 1

3.5 安装 carla 客户端

py38 虚拟环境中执行

pip install carla
  • 1

4. 服务端运行

安装依赖库

sudo apt-get install -y libomp5
  • 1

在命令行启动 CARLA

cd CARLA_0.9.13/
./CarlaUE4.sh
  • 1
  • 2

正常启动后如下图所示:

carla

一个包含城市景观的窗口将弹出,这就是观众视角,使用鼠标和 WASD 键在城市中飞行,按住鼠标右键来控制方向。

如果电脑显卡性能较差,可以添加如下可选参数调低渲染 level:

 ./CarlaUE4.sh -quality-level=Low
  • 1

启动 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
  • 1
  • 2
  • 3
  • 4
  • 5

5. 客户端运行

服务端运行之后,等待客户端与之连接,可以用下面的方法连接服务端。

5.1 生成交通流

py38 虚拟环境中执行

cd PythonAPI\examples
python -m pip install -r requirements.txt 
python generate_traffic.py  
  • 1
  • 2
  • 3

上面命令行执行后不要关闭。

5.2 人工控制

py38 虚拟环境中执行以下命令,用于生成人工控制汽车。

cd PythonAPI\examples
python manual_control.py 
  • 1
  • 2

manual_control
键盘 B 按键可以切换自动控制和人工控制

在这里插入图片描述
各个字母代表含义:

  • 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 : 切换不同类型的 cameralidar , [1-9] : 切换不同类型的 cameralidar,和 N 不同,N 每按下一次,sensor 顺序切换。按下数字键,可直接切换到对应 sensor
  • G : toggle radar visualization
  • C : 切换天气,(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
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/110565
推荐阅读
相关标签
  

闽ICP备14008679号