Autoware.universe部署01:Ubuntu20.04安装Autoware.universe并与Awsim联调

这篇具有很好参考价值的文章主要介绍了Autoware.universe部署01:Ubuntu20.04安装Autoware.universe并与Awsim联调。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


本文介绍Autoware.universe在Ubuntu20.04中的详细安装步骤,并测试一些Autoware.universe的基本功能,最后测试使用官方模拟器进行联调,本系列其他文章:
Autoware.universe部署02:高精Lanelet2地图的绘制
Autoware.universe部署03:与Carla(二进制版)联调
Autoware.universe部署04:universe传感器ROS2驱动

引言

本文介绍Autoware.universe在Ubuntu20.04中的详细安装步骤,基于ROS2 Galactic,其官方网站:Autoware Documentation
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

注意:左上角选择Galactic版本
最终运行效果:
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

一、安装依赖

在第3步自动安装依赖时,可以将ROS2 Galactic一并安装,也可以提前自己手动安装。

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 自动安装相关依赖

cd autoware
./setup-dev-env.sh

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

试了一下这个不太行,接下来再全部手动安装,按照官方给定的每一步骤链接进入获得安装命令(注意:进入之后要选择Galactic版本,如下图左上角,但是官方给的实际上有一点点问题,可以参考我下面的步骤):
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

1.4 安装显卡驱动

查看推荐显卡

ubuntu-drivers devices

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

安装recommend推荐显卡版本,这里推荐的是535版本

sudo apt-get install nvidia-driver-535

要选择版本不然会自动更新内核。 但是我安装535会黑屏,只能安装了510,由于是刚安装的系统,更新了内核也没太大的影响,另外安装版本太低的话也不行,因为下面安装CUDA要求最小版本

1.5 安装ROS2 Galactic

鱼香ros一键安装:

wget http://fishros.com/install -O fishros && . fishros
  • 选择[1]:一键安装:ROS(支持ROS和ROS2,树莓派Jetson)
  • 选择[1]:更换系统源再继续安装,若是已经换过源可以选择[2]不更换源
  • 选择[2]:更换系统源并清理第三方源
  • 选择[3]:galactic(ROS2)
  • 选择[1]:galactic(ROS2)桌面版
    ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

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

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

如果报以上的错误,就安装依赖:

sudo apt install python3-testresources

下面命令若是遇到问题可以参考文章:Ubuntu20.04同时安装ROS1和ROS2共存,科学上网或者使用鱼香ROS rosdepc

sudo rosdep init
rosdep update

若报错:

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无法连接,需要解决GitHub的raw.githubusercontent.com无法连接问题
通过https://www.ipaddress.com/首页,输入raw.githubusercontent.com查询到真实IP地址,修改hosts Ubuntu:

sudo gedit /etc/hosts

添加查到的ip内容保存,再重启网络就好了即可

185.199.108.133 raw.githubusercontent.com
sudo /etc/init.d/network-manager restart

然后输入sudo rosdep init就可以了

:后面我又发现一种更好的办法,参考:https://mirrors.tuna.tsinghua.edu.cn/help/rosdistro/

# 手动模拟 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
# 后面的参数是为了不跳过ROS版本
rosdep update --include-eol-distros

# 每次 rosdep update 之前,均需要增加该环境变量
# 为了持久化该设定,可以将其写入 .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
# 注意官网给的是mian,humble的,需要改成galactic
wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/galactic/amd64.env && source /tmp/amd64.env

如果第一句报以下问题:拒绝连接,有两种解决办法(推荐第二种
(1)科学上网
(2)amd64.env是一些软件对应版本的环境变量,我们其实在1.2节已经下载了,source一下就好了

cd autoware_universe/
source amd64.env

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

# 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

下面这句报以下错误,将ROS版本变量改成galactic(报这个错是因为下载了main-对应humble的amd.env,上面改成galactic版本理论上就不会报这个错)
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

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上面已经处理过一次了,这里可以只source(找不到就再复制一次)

1.9 安装autoware_core

pip3 install gdown

1.10 安装autoware universe dependencies

sudo apt install geographiclib-tools

# Add EGM2008 geoid grid to geographiclib
# 下面过程很慢,耐心等待
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

一般来说以上过程会安装成功,但是安装最后一步的时候可能报下面的错,有以下两种解决办法(推荐第二种):
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

(1)使用aptitude能调整依赖版本(慎用,建议用第二种方法)

sudo apt-get install aptitude
sudo aptitude install cuda-${cuda_version_dashed}

--no-install-recommends 参数是用于在安装软件包时禁止安装推荐的附加软件包,只安装 CUDA 11.6 的核心组件,可以帮助减少安装的软件包数量,节省磁盘空间并降低系统中的冗余,不需要可以取消。
选择Y会重装显卡驱动(我的会重装535,但是会黑屏,因此没有用这个办法)
(2)使用手动安装方法:

nvidia-smi

查看显卡驱动支持最高CUDA版本是12.1, 到cuda-toolkit-archive,选择需要的CUDA(最好是env中写的11.6.2)版本下载,如下图,选择runfile(local),并使用生成的指令进行下载和安装
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

回车取消安装显卡驱动,然后选择最后的安装:
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

安装成功之后环境配置,在.bashrc文件末尾添加环境变量:

sudo gedit ~/.bashrc
# 添加以下内容:
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

验证是否安装成功

nvcc -V

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

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代码库

(1)创建 src 文件夹

cd autoware_universe/
mkdir src

(2)修改 autoware.repos 文件

sudo gedit autoware.repos

在autoware.repos 文件中,28行位置加入以下内容

universe/external/open_planner:
    type: git
    url: https://github.com/ZATiTech/open_planner.git
    version: main

(3)下载代码库到本地

vcs import src < autoware.repos

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

2.2 安装 Autoware ROS依赖包

(1)rosdep update

rosdep update

如果遇到问题(一般都会遇到,注意如果成功但是跳过了galactic也是不行的,例如下图),解决办法参考1.6节最后的办法
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

(2)安装ROS依赖

source /opt/ros/galactic/setup.bash
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

安装ROS依赖时报错:

/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

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

参考https://blog.csdn.net/yuteng12138/article/details/130123995:

pip install --upgrade --user setuptools==58.3.0

安装时依赖版本太高:

ros-galactic-tvm-vendor : Depends: ocl-icd-opencl-dev but it is not going to be installed

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
使用aptitude可以对依赖降级,:保持原状N,接下来全输入y

sudo aptitude install ros-galactic-tvm-vendor

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

安装ROS依赖时,安装open3d速度慢,报错问题可以参考:https://blog.csdn.net/yuteng12138/article/details/130123620

pip install open3d

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

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 包名
# 遇到编译错误继续编译其他模块
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --continue-on-error

在编译过程中卡死或者崩溃,或者其他问题,可以多试几次或者参考官方:build-issues,下面是我遇到的编译报错以及解决办法

2.4 编译报错

(1)fmt报错: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> >)'

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

说明缺少fmt库,去官网tag/8.1.1下载源码
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

解压后使用cmake编译:

cd fmt-8.1.1
mkdir build && cd build
cmake -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE ..
make -j8
sudo make install

如果安装之后仍然报上面的错误,打开对应代码(最外层的头文件),添加头文件如下:

#define FMT_HEADER_ONLY 
#include <fmt/format.h>

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

(2)遇到下面的错误 error: implicitly-declared ‘constexpr Eigen::......
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

Eigen3的版本太低,重装3.4以上版本的Eigen。
(3)报Eigen错误:

/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版本太高导致的编译错误,不能使用未初始化的变量,要想不降低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;
}

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

(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"

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

在static_centerline_optimizer包的cmakelists中添加头文件引用

include_directories(
    SYSTEM
    ${EIGEN3_INCLUDE_DIR}
)

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
编译完成!

三、 运行示例

简单运行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

打开官方的一个仿真示例,这个仿真不需要开模拟器,初始位姿随便给,方便体验各种功能
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

3.1 路径规划与车道跟随

首先通过2D Pose Estimate给定初始位姿,小车模型会出现:
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
再通过2D Goal Pose给定目标位姿生成路径
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
新启动一个终端,发布以下消息(或者直接点击RVIZ中的Engage),开启自动驾驶:

ros2 topic pub /autoware/engage autoware_auto_vehicle_msgs/msg/Engage '{engage: True}' -1

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

3.2 倒车入库

首先通过自主导航或重开给定初始位姿行驶到停车场:
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
然后给定目标停车位姿(大概是base_link位置),点击RVIZ中的Engage即可自动倒车入库:
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
有障碍物时的倒车入库:
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

3.3 添加行人与车辆

点击工具栏中的2D Dummy Car2D Dummy Pedestrian按钮。通过在地图上点击和拖动设置虚拟物体的位姿。在工具属性中设置物体的速度- > 2D假车/行人面板。
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

可以在车辆行驶过程中添加横穿车辆来测试车辆的避障能力
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

3.4 交通灯识别仿真

默认情况下,地图上的交通信号灯都被视为设置为绿色。因此,当创建一条通过交通灯的交叉路口的路径时,自我车辆将在不停车的情况下通过交叉路口。
下面的步骤说明如何设置和重置交通信号灯,以测试Planning将如何响应。首先要显示出交通灯ID,在话题的Map-> Lanelet2VectorMap->Namespaces中点选交通灯ID(还可以选择行驶线等其他可视化组件),然后重新选择Map即可显示:
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

(1)设置交通灯:转到Panels - >添加新的Panel,选择TrafficLightPublishPanel,然后按OK键;
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

(2)在TrafficLightPublishPanel中,设置交通灯的ID和颜色;
(3)单击Set按钮,Set-Traffic-Light;
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

(4)最后,点击PUBLISH按钮,将交通灯状态发送到模拟器。任何经过所选交通灯的规划路径都会随之改变。
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
可以手动设置交通灯颜色模拟交通灯变化,以观察汽车在经过路口时根据红绿灯的行驶情况,可以看到改成绿灯之后可以正常通行:
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

3.5 靠边停车

3.5.1 平移停靠

在有路边停靠车道的位置设置目标,当有足够的距离进行平缓地变道停车时,即可平移停靠
(路径平缓,不会停车转向):
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

3.5.2 几何停靠

当停靠的距离不够时,会进行几何停靠(中间两次停车进行转向):
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
或者被挡住:
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

3.5.3 后向停靠

3.6 路边起步

3.6.1 平移起步

当车辆在路边停靠车道要驶入行驶车道,且前后均没有障碍物(或者足够远)时,即可启用平移起步:
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

3.6.2 几何起步与后向起步

当车前方停有障碍物,后方没有障碍物时,起步会先后退,拉到足够距离再进行几何起步(与平移起步的区别是中间会停下来转向,因为前方障碍物过近),大致过程如下:
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
或者是后面障碍物有一定空间,也会先退一段,然后起步:
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

3.7 变道

变道需要有可变道车道,即同向相邻车道(可变道),如下图所示,我在原有地图上简单画了一条(绘制方法参考:Autoware.universe部署02:高精Lanelet2地图的绘制),并设置了可变道,然后规划路径时即可变道:
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

3.8 禁停区

在某些车道路段,是不允许停车的,比如建筑门口。如下图如果将规划目标设置在禁停区,那么车辆将在行驶到禁停区域之前停止:
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
但是规划的路径是可以穿过禁停区域的,只是不允许在此路段停车
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

四、安装Awsim

参考官方教程AWSIM v1.0.1,在.bashrc中添加以下内容:

Add the following to .bashrc

export ROS_LOCALHOST_ONLY=1
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp  # 上面环境配置时已经添加

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二进制文件:AWSIM_v1.0.1.zip,解压之后运行:

sudo chmod +x ./<path to AWSIM folder>/AWSIM.x86_64
./<path to AWSIM folder>/AWSIM.x86_64

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
目前官方的模拟器功能还比较少,只有下方进度条可以调节渲染频率
开启后可以看到模拟器输出的传感器消息以及接收的底盘控制消息:

ros2 topic list

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

五、Autoware与Awsim联调

首先下载模拟器地图:nishishinjuku_autoware_map.zip,包括高精地图以及点云地图。
同时启动Awsim和Autoware,注意更换为你下载的地图地址

./<path to AWSIM folder>/AWSIM.x86_64

# 新开一个终端
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手动设置2D Pose Estimate,使用RViz手动设置2D Goal Pose,设置2d Checkpoint Pose(可选),路径生成。
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶

新启动一个终端,发布以下消息(或者点击RVIZ中的Engage),开启自动驾驶:

ros2 topic pub /autoware/engage autoware_auto_vehicle_msgs/msg/Engage '{engage: True}' -1

ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶
ubuntu20.04安装autoware,Autoware.universe部署与调试,ubuntu,自动驾驶,linux,Autoware,辅助驾驶文章来源地址https://www.toymoban.com/news/detail-703134.html

到了这里,关于Autoware.universe部署01:Ubuntu20.04安装Autoware.universe并与Awsim联调的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【基于Ubuntu20.04的Autoware.universe安装过程】方案三:Docker | 详细记录 | 全过程图文 by.Akaxi

    目录 一、Autoware.universe背景 二、安装说明 三、安装git 四、克隆autoware 五、安装cuda 六、安装Docker软件 七、安装Nvidia Container Toolkit 八、安装Rocker 九、拷贝Autoware的Docker镜像 十、创建autoware_map文件夹 十一、启动docker 十二、源码拷贝 十三、安装依赖 十四、编译Autoware.universe 十

    2024年04月10日
    浏览(59)
  • Ubuntu20.04部署安装Kubernetes1.23<最新尝试,无坑版>

    节点安排: name IP master 172.16.10.21 node1 172.16.10.22 node2 172.16.10.23 如果接下来的步骤中没有特殊指明是哪台机器要做的话,就都要执行 1.1.首先安装ubuntu的虚拟机,配置静态IP地址,使其能够正常上网,更换为国内镜像源,并且能够被xshell正常连接上(如果这步出现问题可以查看

    2024年02月11日
    浏览(57)
  • 【ubuntu】ubuntu 20.04安装docker,使用nginx部署前端项目,nginx.conf文件配置

    docker 官网:Install Docker Engine on Ubuntu 1.将apt升级到最新 2.使用apt安装 docker 和 docker-compose (遇到提示输入 y ) 3.将当前用户添加到docker用户组 4.运行hello-world 运行成功 1.修改配置文件 修改conf/nginx.conf 2.重新挂载 给容器设置自启动(如果提示就去掉sudo) 给docker设置开机自启动

    2024年01月20日
    浏览(54)
  • 《Kubernetes部署篇:Ubuntu20.04基于二进制安装安装kubeadm、kubelet和kubectl》

    由于客户网络处于专网环境下, 使用kubeadm工具安装K8S集群 ,由于无法连通互联网,所有无法使用apt工具安装kubeadm、kubelet、kubectl,当然你也可以使用apt-get工具在一台能够连通互联网环境的服务器上下载kubeadm、kubelet、kubectl软件包,然后拷贝到专网主机上,通过dpkg工具安装

    2024年02月10日
    浏览(47)
  • Ubuntu20.04部署ntp服务

    系统版本 ip地址 Ubuntu20.04镜像 服务端 Ubuntu20.04 10.1.0.55 ubuntu-20.04.5-live-server-amd64 客户端 Ubuntu20.04 10.1.0.56 ubuntu-20.04.5-live-server-amd64 ntp服务安装包: ntp_4.2.8p12+dfsg-3ubuntu4.20.04.1_amd64.deb ntpdate安装包: ntpdate_4.2.8p12+dfsg-3ubuntu4.20.04.1_amd64.deb Ubuntu下载地址: https://ubuntu.com/download/serv

    2024年02月07日
    浏览(56)
  • ubuntu 20.04部署brc20 ordinals铭文

    1、btc节点部署文档详见btc节点部署 官方文档 2、更改之前节点部署rpc访问方式 下载bitcoin包后相对路径:bitcoin-26.0/share/rpcauth/rpcauth.py 文件 执行文件 创建cookie文件 注释掉bitcoin.conf的账号密码 3、编译ordinals代码 根据情况,如果没有rust环境执行安装 4、同步ordinals数据

    2024年01月16日
    浏览(55)
  • 【Ubuntu20.04】使用 systemd 进行服务部署

    ExecStart,改成自己脚本的路径,比如程序启动脚本 Restart,异常重启 RestartSec,异常后多少秒后重启 StartLimitInterval,异常后重试多少次,0 一直重试 将上述文件命名为 your_app.serivce ,放入 /etc/systemd/system 目录下 比如,你的服务名称叫 your_app 服务启用 服务启动 服务重新启动

    2024年04月25日
    浏览(40)
  • Ubuntu20.04使用cephadm部署ceph集群

    Cephadm通过在单个主机上创建一个Ceph单机集群,然后向集群中添加主机以扩展集群,进而部署其他服务。 VMware安装Ubuntu20.04并使用Xshell连接虚拟机:https://blog.csdn.net/gengduc/article/details/134889416 Python3 Systemd Podman或Docker 时间同步chrony或NTP LVM2 主机名hostname 硬盘设备 ip地址 Ceph服务

    2024年02月05日
    浏览(42)
  • Ubuntu 20.04 安装宋体

    环境:         ubuntu 20.04,英文环境,但已经安装中文包 检查ubuntu中安装的中文字体 命令: fc-list :lang=zh 检查ubuntu中安装的所有字体 命令: fc-list 宋体下载: Simsun Font - Free Fonts 网盘分享:链接: https://pan.baidu.com/s/12fSpgkUWuWsh-OU32q1WCA 提取码: wpia 或者从win10上拷贝,但是拷贝的

    2024年02月10日
    浏览(47)
  • Ubuntu20.04部署编译LVI-SAM

    该动图来自LVI-SAM开源地址(https://github.com/TixiaoShan/LVI-SAM) 近期在学习SLAM相关知识,拜读了此篇经典论文LVI-SAM,因为部署的时候系统版本与开源略有不同,遇到一些问题,故在此记录一下。 若是大手子,请直接忽视本文。 衷心建议大家先参照开源各版本进行环境配置,可以

    2024年02月11日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包