【仿真】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 只是拉下來做加速用的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM