【仿真】Carla简易安装 Window Ubuntu均适用 附ROS的简单连接 [0]
参考与前言
本篇创建于 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个物体(包括车、行人、摩托车等等等)
接下来 我们自己放车进去,这里就用到了pygame
conda activate py37
cd PythonAPI/examples
python manual_control.py
然后把鼠标点击左下角的pygame window 用方向键,使劲一直按着 不然... 没法明显发现你在控制它 hhhh 因为油门是从小到大 慢慢上来的哈
2. 导入附加地图
注意Carla默认下载时会有几个Town的地图,但是如果你想要更多 比如:停车场测试的话,附加地图里可以找到 但是OpenDrive停车场那块有没有 我就没测试过了;最近疯狂carla 得出结论:官方文档真香!!!!
好了,回归正题:对应导入的官方链接说明
每个版本都有自己的额外资产和地图包。 这个附加包包括地图 Town06、Town07 和 Town10。 这些单独存储以减少构建的大小,因此只能在安装主包后导入。
-
为您想要的 CARLA 版本下载适当的软件包。
-
解压包:
在 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 只是拉下来做加速用的