【仿真】Carla简易安装 Window Ubuntu均适用 附ROS的简单连接 [0]

参考与前言

  1. CARLA Documentation 官方文档
  2. 后续链接:【仿真】Carla介绍与使用 [1]

本篇创建于 2020/12/18,安装方式为压缩包安装,无需UE4等软件,但是前提是需要一个2G 以上显存的GPU,更多关于GPU及驱动的安装可见:Ubuntu下的NVIDIA显卡【驱动&CUDA 安装与卸载】;对于Window呢,只要-p端口是开放的 问题都不大

所有以下的截图均在本人操作下截图

更新记录:

2022/11/7:看到阅读量上来了,为了不与时间脱节,特此重新排一下整个过程,主要是将ROS-Bridge给附录上,因为CARLA可以有自己的一套玩法,更多请见:张聪明的CARLA专栏 自认为写了非常完整的一套CARLA教程,但是可能会随时间而过时 比如CARLA发布了正式版1.0开头的 hhh,添加了后话等等

0. 下载及解压压缩包

这是官方的github地址,然后免源码安装的压缩包,解压即可,github地址点击此:https://github.com/carla-simulator/carla/releases

提前提醒.... 可能很慢。经提醒,此链接有国内镜像版:https://mirrors.sustech.edu.cn/carla/ 推荐内地同学走镜像下来 速度超快

GITHUB下载截图:

南科大镜像下载截图(亲测均可以运行,注意选择Window的时候 再进到Window目录哈):

下载后跳转目录并解压:

tar -xzvf CARLA_0.9.10.1.tar.gz

压缩成功后如上图:

如果你压缩失败了 请查看自己是否下载完全了这个压缩包 或者是copy的时候是否是完整的,验证方法可以在window里解压 看看能不能解压出来,如果window能解压,同样的文件大小在ubuntu解压不成功【一定确认好!文件被完整的复制过来了】,恭喜你碰到了和我一样的问题:

问题原因:在我的情况下是内存条崩了,不要犹豫直接换掉内存条吧,我是直到重装了系统才发现一直报错 一直装不好,换掉了内存条就直接OK了【吐槽万紫千红真的垃圾】

1. 运行Carla

运行,直接在终端输入:

./CarlaUE4.sh

可以得到这样子的图:

接下来的操作请确保在python 3.7下,这是我的解决办法:

anaconda下载 请参考:ubuntu的软件包及便携系列【ROS】快乐使用Python 相关记录 镜像替换等 自用

因为CARLA需要在python3.7下运行,但是如果下载了anaconda的话 一般都会下载并默认最新的python,所以我们需要下载anaconda并配置环境

conda create -n py37 python=3.7
conda activate py37

pip升级 换源pip 请在python3.7环境下安装这些依赖:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install pygame numpy

好了让我们回到CARLA,不然无法运行.py文件,如果点进去查看 可以看到示例下的py文件都有自己去查找egg库

cd PythonAPI/examples
python spawn_npc.py -n 80

表明导入80个物体(包括车、行人、摩托车等等等)

看的很清楚了吧 先换到自己的3.7环境,然后运行.py文件。

接下来 我们自己放车进去,这里就用到了pygame

conda activate py37
cd PythonAPI/examples
python manual_control.py

在这里插入图片描述

然后把鼠标点击左下角的pygame window 用方向键,使劲一直按着 不然... 没法明显发现你在控制它 hhhh 因为油门是从小到大 慢慢上来的哈

2. 导入附加地图

注意Carla默认下载时会有几个Town的地图,但是如果你想要更多 比如:停车场测试的话,附加地图里可以找到 但是OpenDrive停车场那块有没有 我就没测试过了;最近疯狂carla 得出结论:官方文档真香!!!!

好了,回归正题:对应导入的官方链接说明

每个版本都有自己的额外资产和地图包。 这个附加包包括地图 Town06、Town07 和 Town10。 这些单独存储以减少构建的大小,因此只能在安装主包后导入。

  1. 为您想要的 CARLA 版本下载适当的软件包。

  2. 解压包:

    在 Linux 上:

    将包移动到 Import 文件夹并运行以下脚本以提取内容:

    	cd path_to_carla
    	./ImportAssets.sh
    

    在 Windows 上:

    直接提取根文件夹中的内容。

下面小白式教学:
在这里插入图片描述
然后下载后,把压缩包移到如图所示carla文件夹位置:
在这里插入图片描述

cd CARLA_0.9.10.1
./ImportAssets.sh

然后就完成了,接下来就可以在carla里进行读取这个附加城镇的信息了
在这里插入图片描述

后话

自此,有关CARLA 安装 就已经结束了,后面的话 可以再按顺序看看 张聪明的CARLA专栏 很多文章后面也留了课后作业(当然都有附完整代码答案哈),比如生成一辆车,比如生成行人重复过马路的场景,等等等,还有如何进行数据集的创建和收集,这是老胡提的需求,顺便写了个完整的教程

如果后面有什么简单的需求 也可以留言 说不定 我就又有素材写一篇了 hhhh

所有这些都是为爱发电,包括专栏也是完全免费的,后续的博文我也不会设置仅粉丝阅读等选项了,让大家能无障碍学习;但是记住 这些都是 为爱发电,并不意味着我是大家的免费的私人答疑者,请大家尽量有问题 评论区留言,可能有其他同学可以回复你这些问题呢

最后,授之以鱼不如授之以渔,希望大家能通过这系列教程 将学习这一技能衍生到其他任何的软件中去

附 ROS-bridge 连接 (可跳过)

注意这一章节 不是必需品!甚至在后面的CARLA教程中都没有用到ROS-bridge 这一工具,因为CARLA可以由自己的agent等进行操作,无需ROS进行topic之类的,当然如果是要做仿真测试,比如没有实车 但是想测试Autoware等开源自动驾驶库,则可以使用这一章节进行初步部署

注意由于Autoware 1.14 还是melodic,所以以下的测试平台是:Ubuntu 18.04 Melodic 默认py是2.7 所以需要一些复杂操作

如果不用Autoware 建议直接走到20.04 这样就是py3的天下了

apt-get

官方安装教程

cd Documents #这是我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] http://dist.carla.org/carla $(lsb_release -sc) main"
sudo apt-get update # Update the Debian package index
sudo apt-get install carla-ros-bridge

如果不是最新的版本(其他版本的话 请自行更改最后一句安装指令)

sudo apt-get install carla-ros-bridge=0.9.10-1

source

如果有修改这个代码的必要的话 建议使用源码安装,不过记得从git里改一下tag版本 不然master链接最新版本,目前是0.9.11

# Setup folder structure
mkdir -p ~/carla-ros-bridge/catkin_ws/src
cd ~/carla-ros-bridge
git clone https://gitee.com/roshandaddy/ros-bridge.git
cd ros-bridge

# 如果下载的版本是以前的版本记得加上下面的这部 切到tag = 0.9.10
git fetch --all --tags
git checkout tags/0.9.10.1 -b myversion 

git submodule update --init
cd ../catkin_ws/src
ln -s ../../ros-bridge
source /opt/ros/melodic/setup.bash # Watch out, this sets ROS melodic 
cd ..



# Install required ros-dependencies
rosdep update
rosdep install --from-paths src --ignore-src -r

# Build
catkin_make

运行ROS-Bridge节点

source /opt/carla-ros-bridge/melodic/setup.bash

roslaunch

需要在.bashrc里:

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

然后就可以roslaunch了:

# Option 1: start the ros bridge
roslaunch carla_ros_bridge carla_ros_bridge.launch

# Option 2: start the ros bridge together with RVIZ
roslaunch carla_ros_bridge carla_ros_bridge_with_rviz.launch

# Option 3: start the ros bridge together with an example ego vehicle
roslaunch carla_ros_bridge carla_ros_bridge_with_example_ego_vehicle.launch

在这里插入图片描述
这是运行option 3的画面,在rviz里调出来看了一下lidar_point和odometry消息

附带 Autoware 截图

Carla与Autoware之间可以通过ROS转换消息后,经过frame_id的处理,在Carla中使用Autoware【主要是最近移植的时候室内场地有限,传感器也没完全所以就刚好探索一下】

这是Autoware中的ndt_mapping节点运行的情况图(跑了一下小圈的回环)

在这里插入图片描述

更多Autoware与carla联合仿真,见其他博文及gitee链接:

张聪明的Self-Driving 无人驾驶专栏 有关Autoware的部分哈,可以看到有些博文里的截图就是仿真里的 hhhh

gitee pull 但是我没咋写这些readme 只是拉下来做加速用的

posted @ 2022-01-21 10:52  Kin_Zhang  阅读(1454)  评论(0编辑  收藏  举报