本文介紹Autoware.universe在Ubuntu20.04中的詳細(xì)安裝步驟,并測(cè)試一些Autoware.universe的基本功能,最后測(cè)試使用官方模擬器進(jìn)行聯(lián)調(diào),本系列其他文章:
Autoware.universe部署02:高精Lanelet2地圖的繪制
Autoware.universe部署03:與Carla(二進(jìn)制版)聯(lián)調(diào)
Autoware.universe部署04:universe傳感器ROS2驅(qū)動(dòng)
引言
本文介紹Autoware.universe在Ubuntu20.04中的詳細(xì)安裝步驟,基于ROS2 Galactic,其官方網(wǎng)站:Autoware Documentation
注意
:左上角選擇Galactic
版本
最終運(yùn)行效果:
一、安裝依賴
在第3步自動(dòng)安裝依賴時(shí),可以將ROS2 Galactic一并安裝,也可以提前自己手動(dòng)安裝。
1.1 安裝git
sudo apt-get -y update
sudo apt-get -y install git
1.2 克隆Autoware到本地
mkdir autoware_universe
cd autoware_universe/
git clone https://github.com/autowarefoundation/autoware.git -b galactic
1.3 自動(dòng)安裝相關(guān)依賴
cd autoware
./setup-dev-env.sh
試了一下這個(gè)不太行,接下來(lái)再全部手動(dòng)安裝,按照官方給定的每一步驟鏈接進(jìn)入獲得安裝命令(注意
:進(jìn)入之后要選擇Galactic版本
,如下圖左上角,但是官方給的實(shí)際上有一點(diǎn)點(diǎn)問(wèn)題,可以參考我下面的步驟):
1.4 安裝顯卡驅(qū)動(dòng)
查看推薦顯卡
ubuntu-drivers devices
安裝recommend推薦顯卡版本,這里推薦的是535版本
sudo apt-get install nvidia-driver-535
要選擇版本不然會(huì)自動(dòng)更新內(nèi)核。 但是我安裝535會(huì)黑屏,只能安裝了510,由于是剛安裝的系統(tǒng),更新了內(nèi)核也沒(méi)太大的影響,另外安裝版本太低的話也不行,因?yàn)橄旅姘惭bCUDA要求最小版本
1.5 安裝ROS2 Galactic
魚(yú)香ros一鍵安裝:
wget http://fishros.com/install -O fishros && . fishros
- 選擇[1]:一鍵安裝:ROS(支持ROS和ROS2,樹(shù)莓派Jetson)
- 選擇[1]:更換系統(tǒng)源再繼續(xù)安裝,若是已經(jīng)換過(guò)源可以選擇[2]不更換源
- 選擇[2]:更換系統(tǒng)源并清理第三方源
- 選擇[3]:galactic(ROS2)
- 選擇[1]:galactic(ROS2)桌面版
1.6 安裝ros2_dev_tools
sudo apt update && sudo apt install -y \
build-essential \
cmake \
git \
python3-colcon-common-extensions \
python3-flake8 \
python3-pip \
python3-pytest-cov \
python3-rosdep \
python3-setuptools \
python3-vcstool \
wget
python3 -m pip install -U \
flake8-blind-except \
flake8-builtins \
flake8-class-newline \
flake8-comprehensions \
flake8-deprecated \
flake8-docstrings \
flake8-import-order \
flake8-quotes \
pytest-repeat \
pytest-rerunfailures \
pytest \
setuptools
如果報(bào)以上的錯(cuò)誤,就安裝依賴:
sudo apt install python3-testresources
下面命令若是遇到問(wèn)題可以參考文章:Ubuntu20.04同時(shí)安裝ROS1和ROS2共存,科學(xué)上網(wǎng)或者使用魚(yú)香ROS rosdepc
sudo rosdep init
rosdep update
若報(bào)錯(cuò):
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.
原因是GitHub的raw.githubusercontent.com無(wú)法連接,需要解決GitHub的raw.githubusercontent.com無(wú)法連接問(wèn)題
通過(guò)https://www.ipaddress.com/首頁(yè),輸入raw.githubusercontent.com查詢到真實(shí)IP地址,修改hosts Ubuntu:
sudo gedit /etc/hosts
添加查到的ip內(nèi)容保存,再重啟網(wǎng)絡(luò)就好了即可
185.199.108.133 raw.githubusercontent.com
sudo /etc/init.d/network-manager restart
然后輸入sudo rosdep init就可以了
注
:后面我又發(fā)現(xiàn)一種更好的辦法,參考:https://mirrors.tuna.tsinghua.edu.cn/help/rosdistro/
# 手動(dòng)模擬 rosdep init
sudo mkdir -p /etc/ros/rosdep/sources.list.d/
sudo curl -o /etc/ros/rosdep/sources.list.d/20-default.list https://mirrors.tuna.tsinghua.edu.cn/github-raw/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
# 為 rosdep update 換源
export ROSDISTRO_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml
# 后面的參數(shù)是為了不跳過(guò)ROS版本
rosdep update --include-eol-distros
# 每次 rosdep update 之前,均需要增加該環(huán)境變量
# 為了持久化該設(shè)定,可以將其寫(xiě)入 .bashrc 中,例如
echo 'export ROSDISTRO_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml' >> ~/.bashrc
1.7 安裝rmw_implementation
# wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/main/amd64.env && source /tmp/amd64.env
# 注意官網(wǎng)給的是mian,humble的,需要改成galactic
wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/galactic/amd64.env && source /tmp/amd64.env
如果第一句報(bào)以下問(wèn)題:拒絕連接,有兩種解決辦法(推薦第二種
)
(1)科學(xué)上網(wǎng)
(2)amd64.env是一些軟件對(duì)應(yīng)版本的環(huán)境變量,我們其實(shí)在1.2節(jié)已經(jīng)下載了,source一下就好了
cd autoware_universe/
source amd64.env
# For details: https://docs.ros.org/en/galactic/How-To-Guides/Working-with-multiple-RMW-implementations.html
sudo apt update
rmw_implementation_dashed=$(eval sed -e "s/_/-/g" <<< "${rmw_implementation}")
sudo apt install ros-${rosdistro}-${rmw_implementation_dashed}
# (Optional) You set the default RMW implementation in the ~/.bashrc file.
echo '' >> ~/.bashrc && echo "export RMW_IMPLEMENTATION=${rmw_implementation}" >> ~/.bashrc
下面這句報(bào)以下錯(cuò)誤,將ROS版本變量改成galactic(報(bào)這個(gè)錯(cuò)是因?yàn)橄螺d了main-對(duì)應(yīng)humble的amd.env,上面改成galactic版本理論上就不會(huì)報(bào)這個(gè)錯(cuò))
1.8 安裝pacmod
# wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/galactic/amd64.env && source /tmp/amd64.env
cd autoware_universe/
source amd64.env
# Taken from https://github.com/astuff/pacmod3#installation
sudo apt install apt-transport-https
sudo sh -c 'echo "deb [trusted=yes] https://s3.amazonaws.com/autonomoustuff-repo/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/autonomoustuff-public.list'
sudo apt update
sudo apt install ros-${rosdistro}-pacmod3
wget上面已經(jīng)處理過(guò)一次了,這里可以只source(找不到就再?gòu)?fù)制一次)
1.9 安裝autoware_core
pip3 install gdown
1.10 安裝autoware universe dependencies
sudo apt install geographiclib-tools
# Add EGM2008 geoid grid to geographiclib
# 下面過(guò)程很慢,耐心等待
sudo geographiclib-get-geoids egm2008-1
1.11 安裝pre_commit
clang_format_version=14.0.6
pip3 install pre-commit clang-format==${clang_format_version}
# Install Golang (Add Go PPA for shfmt)
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt install golang
1.12 安裝CUDA
# wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/galactic/amd64.env && source /tmp/amd64.env
cd autoware_universe/
source amd64.env
# Modified from:
# https://developer.nvidia.com/cuda-11-4-4-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_network
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
sudo apt-get update
cuda_version_dashed=$(eval sed -e "s/[.]/-/g" <<< "${cuda_version}")
sudo apt install cuda-${cuda_version_dashed} --no-install-recommends
一般來(lái)說(shuō)以上過(guò)程會(huì)安裝成功,但是安裝最后一步的時(shí)候可能報(bào)下面的錯(cuò),有以下兩種解決辦法(推薦第二種):
(1)使用aptitude能調(diào)整依賴版本(慎用,建議
用第二種方法)
sudo apt-get install aptitude
sudo aptitude install cuda-${cuda_version_dashed}
--no-install-recommends
參數(shù)是用于在安裝軟件包時(shí)禁止安裝推薦的附加軟件包,只安裝 CUDA 11.6 的核心組件,可以幫助減少安裝的軟件包數(shù)量,節(jié)省磁盤空間并降低系統(tǒng)中的冗余,不需要可以取消。
選擇Y會(huì)重裝顯卡驅(qū)動(dòng)(我的會(huì)重裝535,但是會(huì)黑屏,因此沒(méi)有用這個(gè)辦法)
(2)使用手動(dòng)安裝方法:
nvidia-smi
查看顯卡驅(qū)動(dòng)支持最高CUDA版本是12.1, 到cuda-toolkit-archive,選擇需要的CUDA(最好是env中寫(xiě)的11.6.2)版本下載,如下圖,選擇runfile(local),并使用生成的指令進(jìn)行下載和安裝
回車取消安裝顯卡驅(qū)動(dòng),然后選擇最后的安裝:
安裝成功之后環(huán)境配置,在.bashrc文件末尾添加環(huán)境變量:
sudo gedit ~/.bashrc
# 添加以下內(nèi)容:
export PATH=/usr/local/cuda-11.6/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
或者終端輸入以下命令添加:
# Taken from: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions
echo 'export PATH=/usr/local/cuda-11.6/bin${PATH:+:${PATH}}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc
驗(yàn)證是否安裝成功
nvcc -V
1.13 安裝cuDNN and TensorRT
# wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/galactic/amd64.env && source /tmp/amd64.env
cd autoware_universe/
source amd64.env
# Taken from: https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing
sudo apt-get install libcudnn8=${cudnn_version} libcudnn8-dev=${cudnn_version}
sudo apt-mark hold libcudnn8 libcudnn8-dev
sudo apt-get install libnvinfer8=${tensorrt_version} libnvonnxparsers8=${tensorrt_version} libnvparsers8=${tensorrt_version} libnvinfer-plugin8=${tensorrt_version} libnvinfer-dev=${tensorrt_version} libnvonnxparsers-dev=${tensorrt_version} libnvparsers-dev=${tensorrt_version} libnvinfer-plugin-dev=${tensorrt_version}
sudo apt-mark hold libnvinfer8 libnvonnxparsers8 libnvparsers8 libnvinfer-plugin8 libnvinfer-dev libnvonnxparsers-dev libnvparsers-dev libnvinfer-plugin-dev
二、編譯源碼
2.1 下載Universe代碼庫(kù)
(1)創(chuàng)建 src 文件夾
cd autoware_universe/
mkdir src
(2)修改 autoware.repos 文件
sudo gedit autoware.repos
在autoware.repos 文件中,28行位置加入以下內(nèi)容
universe/external/open_planner:
type: git
url: https://github.com/ZATiTech/open_planner.git
version: main
(3)下載代碼庫(kù)到本地
vcs import src < autoware.repos
2.2 安裝 Autoware ROS依賴包
(1)rosdep update
rosdep update
如果遇到問(wèn)題(一般都會(huì)遇到,注意
如果成功但是跳過(guò)了galactic也是不行的,例如下圖),解決辦法參考1.6節(jié)最后的辦法
(2)安裝ROS依賴
source /opt/ros/galactic/setup.bash
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
安裝ROS依賴時(shí)報(bào)錯(cuò):
/usr/bin/pip3:6: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
from pkg_resources import load_entry_point
參考https://blog.csdn.net/yuteng12138/article/details/130123995:
pip install --upgrade --user setuptools==58.3.0
安裝時(shí)依賴版本太高:
ros-galactic-tvm-vendor : Depends: ocl-icd-opencl-dev but it is not going to be installed
使用aptitude可以對(duì)依賴降級(jí),:保持原狀N,接下來(lái)全輸入y
sudo aptitude install ros-galactic-tvm-vendor
安裝ROS依賴時(shí),安裝open3d速度慢,報(bào)錯(cuò)問(wèn)題可以參考:https://blog.csdn.net/yuteng12138/article/details/130123620
pip install open3d
2.3 編譯工作空間
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
# 只編譯指定包
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-select 包名
# 忽略指定包
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-ignore 包名
# 遇到編譯錯(cuò)誤繼續(xù)編譯其他模塊
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --continue-on-error
在編譯過(guò)程中卡死或者崩潰,或者其他問(wèn)題,可以多試幾次或者參考官方:build-issues,下面是我遇到的編譯報(bào)錯(cuò)以及解決辦法
2.4 編譯報(bào)錯(cuò)
(1)fmt報(bào)錯(cuò):undefined reference to fmt::v8::vformat[abi:cxx11](fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<fmt::v8::appender, char> >)'
說(shuō)明缺少fmt庫(kù),去官網(wǎng)tag/8.1.1下載源碼
解壓后使用cmake編譯:
cd fmt-8.1.1
mkdir build && cd build
cmake -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE ..
make -j8
sudo make install
如果安裝之后仍然報(bào)上面的錯(cuò)誤,打開(kāi)對(duì)應(yīng)代碼(最外層的頭文件),添加頭文件如下:
#define FMT_HEADER_ONLY
#include <fmt/format.h>
(2)遇到下面的錯(cuò)誤 error: implicitly-declared ‘constexpr Eigen::......
Eigen3的版本太低,重裝3.4以上版本的Eigen。
(3)報(bào)Eigen錯(cuò)誤:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:504:7: error: ‘*((void*)&<anonymous> +48)’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
504 | m_storage = std::move(other.m_storage);
這是gcc版本太高導(dǎo)致的編譯錯(cuò)誤,不能使用未初始化的變量,要想不降低gcc版本,可以修改eigen頭文件
sudo gedit /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h
# 504行:
// m_storage = std::move(other.m_storage);
DenseStorage<Scalar, Base::MaxSizeAtCompileTime, Base::RowsAtCompileTime, Base::ColsAtCompileTime, Options> temp = std::move(other.m_storage);
m_storage = temp;
# 511行:
//EIGEN_STRONG_INLINE PlainObjectBase(const PlainObjectBase& other): Base(), m_storage(other.m_storage) { }
EIGEN_STRONG_INLINE PlainObjectBase(const PlainObjectBase& other): Base(){
DenseStorage<Scalar, Base::MaxSizeAtCompileTime, Base::RowsAtCompileTime, Base::ColsAtCompileTime, Options> temp = std::move(other.m_storage);
m_storage = temp;
}
(4)找不到頭文件
src/universe/autoware.universe/planning/static_centerline_optimizer/src/utils.cpp:17:10: fatal error: behavior_path_planner/data_manager.hpp: No such file or directory
17 | #include "behavior_path_planner/data_manager.hpp"
在static_centerline_optimizer包的cmakelists中添加頭文件引用
include_directories(
SYSTEM
${EIGEN3_INCLUDE_DIR}
)
編譯完成!
三、 運(yùn)行示例
簡(jiǎn)單運(yùn)行Universe,$HOME/autoware_map/sample-map-planning
為從官方下載的地圖:
gdown -O ~/autoware_map/ 'https://docs.google.com/uc?export=download&id=1499_nsbUbIeturZaDj7jhUownh5fvXHd'
unzip -d ~/autoware_map ~/autoware_map/sample-map-planning.zip
修改為你自己的路徑
source install/setup.bash
ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/autoware_map/sample-map-planning vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit
打開(kāi)官方的一個(gè)仿真示例,這個(gè)仿真不需要開(kāi)模擬器,初始位姿隨便給,方便體驗(yàn)各種功能
3.1 路徑規(guī)劃與車道跟隨
首先通過(guò)2D Pose Estimate
給定初始位姿,小車模型會(huì)出現(xiàn):
再通過(guò)2D Goal Pose
給定目標(biāo)位姿生成路徑
新啟動(dòng)一個(gè)終端,發(fā)布以下消息(或者直接點(diǎn)擊RVIZ中的Engage
),開(kāi)啟自動(dòng)駕駛:
ros2 topic pub /autoware/engage autoware_auto_vehicle_msgs/msg/Engage '{engage: True}' -1
3.2 倒車入庫(kù)
首先通過(guò)自主導(dǎo)航或重開(kāi)給定初始位姿行駛到停車場(chǎng):
然后給定目標(biāo)停車位姿(大概是base_link位置),點(diǎn)擊RVIZ中的Engage
即可自動(dòng)倒車入庫(kù):
有障礙物時(shí)的倒車入庫(kù):
3.3 添加行人與車輛
點(diǎn)擊工具欄中的2D Dummy Car
或2D Dummy Pedestrian
按鈕。通過(guò)在地圖上點(diǎn)擊和拖動(dòng)設(shè)置虛擬物體的位姿。在工具屬性中設(shè)置物體的速度- > 2D假車/行人面板。
可以在車輛行駛過(guò)程中添加橫穿車輛來(lái)測(cè)試車輛的避障能力
3.4 交通燈識(shí)別仿真
默認(rèn)情況下,地圖上的交通信號(hào)燈都被視為設(shè)置為綠色。因此,當(dāng)創(chuàng)建一條通過(guò)交通燈的交叉路口的路徑時(shí),自我車輛將在不停車的情況下通過(guò)交叉路口。
下面的步驟說(shuō)明如何設(shè)置和重置交通信號(hào)燈,以測(cè)試Planning將如何響應(yīng)。首先要顯示出交通燈ID,在話題的Map-> Lanelet2VectorMap->Namespaces中點(diǎn)選交通燈ID(還可以選擇行駛線等其他可視化組件),然后重新選擇Map即可顯示:
(1)設(shè)置交通燈:轉(zhuǎn)到Panels - >添加新的Panel,選擇TrafficLightPublishPanel,然后按OK鍵;
(2)在TrafficLightPublishPanel中,設(shè)置交通燈的ID和顏色;
(3)單擊Set按鈕,Set-Traffic-Light;
(4)最后,點(diǎn)擊PUBLISH按鈕,將交通燈狀態(tài)發(fā)送到模擬器。任何經(jīng)過(guò)所選交通燈的規(guī)劃路徑都會(huì)隨之改變。
可以手動(dòng)設(shè)置交通燈顏色模擬交通燈變化,以觀察汽車在經(jīng)過(guò)路口時(shí)根據(jù)紅綠燈的行駛情況,可以看到改成綠燈之后可以正常通行:
3.5 靠邊停車
3.5.1 平移???/h4>
在有路邊??寇嚨赖奈恢迷O(shè)置目標(biāo),當(dāng)有足夠的距離進(jìn)行平緩地變道停車時(shí),即可平移停靠
(路徑平緩,不會(huì)停車轉(zhuǎn)向):
3.5.2 幾何???/h4>
當(dāng)??康木嚯x不夠時(shí),會(huì)進(jìn)行幾何??浚ㄖ虚g兩次停車進(jìn)行轉(zhuǎn)向):
或者被擋住:
3.5.3 后向???/h4>
3.6 路邊起步
3.6.1 平移起步
當(dāng)車輛在路邊停靠車道要駛?cè)胄旭傑嚨?,且前后均沒(méi)有障礙物(或者足夠遠(yuǎn))時(shí),即可啟用平移起步:
3.6.2 幾何起步與后向起步
當(dāng)車前方停有障礙物,后方?jīng)]有障礙物時(shí),起步會(huì)先后退,拉到足夠距離再進(jìn)行幾何起步(與平移起步的區(qū)別是中間會(huì)停下來(lái)轉(zhuǎn)向,因?yàn)榍胺秸系K物過(guò)近),大致過(guò)程如下:
或者是后面障礙物有一定空間,也會(huì)先退一段,然后起步:
3.7 變道
變道需要有可變道車道,即同向相鄰車道(可變道),如下圖所示,我在原有地圖上簡(jiǎn)單畫(huà)了一條(繪制方法參考:Autoware.universe部署02:高精Lanelet2地圖的繪制),并設(shè)置了可變道,然后規(guī)劃路徑時(shí)即可變道:
3.8 禁停區(qū)
在某些車道路段,是不允許停車的,比如建筑門口。如下圖如果將規(guī)劃目標(biāo)設(shè)置在禁停區(qū),那么車輛將在行駛到禁停區(qū)域之前停止:
但是規(guī)劃的路徑是可以穿過(guò)禁停區(qū)域的,只是不允許在此路段停車
四、安裝Awsim
參考官方教程AWSIM v1.0.1,在.bashrc中添加以下內(nèi)容:
Add the following to .bashrc
export ROS_LOCALHOST_ONLY=1
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp # 上面環(huán)境配置時(shí)已經(jīng)添加
if [ ! -e /tmp/cycloneDDS_configured ]; then
sudo sysctl -w net.core.rmem_max=2147483647
sudo ip link set lo multicast on
touch /tmp/cycloneDDS_configured
fi
安裝依賴:
sudo apt update
sudo apt install libvulkan1
下載Awsim二進(jìn)制文件:AWSIM_v1.0.1.zip,解壓之后運(yùn)行:
sudo chmod +x ./<path to AWSIM folder>/AWSIM.x86_64
./<path to AWSIM folder>/AWSIM.x86_64
目前官方的模擬器功能還比較少,只有下方進(jìn)度條可以調(diào)節(jié)渲染頻率
開(kāi)啟后可以看到模擬器輸出的傳感器消息以及接收的底盤控制消息:
ros2 topic list
五、Autoware與Awsim聯(lián)調(diào)
首先下載模擬器地圖:nishishinjuku_autoware_map.zip,包括高精地圖以及點(diǎn)云地圖。
同時(shí)啟動(dòng)Awsim和Autoware,注意更換為你下載的地圖地址
./<path to AWSIM folder>/AWSIM.x86_64
# 新開(kāi)一個(gè)終端
cd autoware_universe
source install/setup.bash
ros2 launch autoware_launch e2e_simulator.launch.xml vehicle_model:=sample_vehicle sensor_model:=awsim_sensor_kit map_path:=<your mapfile location>
利用RViz手動(dòng)設(shè)置2D Pose Estimate
,使用RViz手動(dòng)設(shè)置2D Goal Pose
,設(shè)置2d Checkpoint Pose
(可選),路徑生成。
新啟動(dòng)一個(gè)終端,發(fā)布以下消息(或者點(diǎn)擊RVIZ中的Engage
),開(kāi)啟自動(dòng)駕駛:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-703134.html
ros2 topic pub /autoware/engage autoware_auto_vehicle_msgs/msg/Engage '{engage: True}' -1
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-703134.html
到了這里,關(guān)于Autoware.universe部署01:Ubuntu20.04安裝Autoware.universe并與Awsim聯(lián)調(diào)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!