目录
Autoware.ai中calibration_tools的使用
Autoware不同版本介绍
Autoware官方说明文档:https://autowarefoundation.github.io/autoware-documentation/main
Autoware.AI
第一个基于 ROS 1 发布的 Autoware 发行版,该存储库包含各种软件包,涵盖自动驾驶技术的不同方面 - 传感、驱动、定位、映射、感知和规划。由于多种原因,很难提高 Autoware.AI 的功能,已于2022年底停止维护。想要使用autoware.ai的功能,建议切换到Autoware.core/universe。 autoware.1.10版本后,标定工具箱需要另外安装。现已推出轻量级标定工具,不依赖于autoware环境,即不需要下载安装编译整个autoware环境,可独立运行。
主要支持ubuntu14.04-indigo、Ubuntu16.04-kinetic、ubuntu18.04-melodic。
Autoware.Auto
基于 ROS 2 发布的第二个 Autoware 发行版。从 Autoware.AI 开发中吸取的经验教训,Autoware.Auto 采用了不同的开发过程来开发 ROS 2 版本的 Autoware,避免了简单地将 Autoware.AI 从 ROS 1 移植到 ROS 2。取而代之的是,用适当的工程实践将代码库从头开始重写的。 auto版本对新工程师的门槛太高,且进行大规模的架构更改非常困难。 暂时没有找到属于auto版本的标定模块。
主要支持ubuntu18.04-dashing、ubuntu20.04-foxy、galactic。
Autoware.core/universe
基于ROS2,Autoware Core 继承了 Autoware.Auto 的原始策略,包含基本的运行时和技术组件,可满足自动驾驶系统所需的传感、计算和驱动等基本功能和能力。Universe 模块是 Core 模块的扩展,可由技术开发人员提供,以增强传感、计算和驱动的功能和能力。 需要另外安装Calibrtion Tools标定工具,且使用标定工具时,需要编译整个autoware环境。
主要支持ubuntu20.04-galactic、ubuntu22.04-humble。
Autoware.auto的安装及编译
参考
autoware官网:https://autowarefoundation.gitlab.io/autoware.auto/AutowareAuto/
ROS放弃指南8:Autoware.auto的安装和使用-CSDN博客
Autoware.auto常见问题及解决方案_cc1plus: error: bad value (‘nativ\x0d’) for ‘-marc-CSDN博客
源码安装及编译
环境:ubuntu20.04 + ros2 foxy
ros2已经提前安装好了,只需要安装autoware依赖即可。
安装依赖
要从源代码编译 Autoware.auto项目,必须在系统中安装以下工具。
sudo apt install -y git cmake python3-pip
pip3 install -U colcon-common-extensions vcstool
除了核心组件外,还需要一些 ROS 2 软件包
source /opt/ros/$ROS_DISTRO/setup.bash
sudo apt update
sudo apt install -y python3-rosdep
sudo rosdep init
rosdep update
为了编译时不跳过某些ros版本,可以使用以下命令
rosdep update --include-eol-distros
为了避免发生一些与软件包相关的错误
sudo apt purge -y ros-foxy-autoware-auto-msgs
sudo apt purge -y ros-foxy-acado-vendor
sudo apt install -y ros-foxy-acado-vendor
安装源码
git源码,vcstools从repos里读取各模块存储库后安装src目录下(在rosdep之前一定要记得先source ros环境!!!)
注意:最新版本的autoware.auto是只支持ROS2的foxy版本的,如果要使用其他版本,git之后一定要记得切换版本。git checkout tags/1.0.0 -b release-1.0.0。
git clone https://gitlab.com/autowarefoundation/autoware.auto/AutowareAuto.git
cd AutowareAuto
vcs import < autoware.auto.$ROS_DISTRO.repos
export ROS_VERSION=2
source /opt/ros/$ROS_DISTRO/setup.bash # 避免忘记,最好在rosdep前source一下
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
报错及解决方法
1:the following packages/stacks could not have their rosdep keys resolved to system dependencies:
解决方案:
sudo apt-get install ros-ROS版本-缺少的东西
如果之后还是报错的话,https://github.com/ros/rosdistro可以找到ros各个版本的distribution.yaml文件,在文件中直接搜索缺少的库,然后去相应的路径下载,放进AutowareAuto/src路径下:
(这里放入了osrf_testing_tools_cpp和oroccos_kdl)
安装成功后,输出如下
编译
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
报错及解决方法
1:no matching function for call to 'vesc_ackermann::AckermannToVesc::declare_parameter<double>(const char [19])'
speed_to_erpm_gain = declare_parameter<double>("speed_to_erpm_gain");
解决方案:
修改文件autoware/src/external/vesc/目录下vesc_to_odom.cpp和ackermann_to_vesc.cpp文件:
2:— stderr: mpc_controller /home/xxxxx/AutowareAuto/build/mpc_controller/single_track_dynamics/acado_integrator.c:23:27: err