【自动驾驶】Ubuntu22.04源码安装Autoware Core/Universe

server/2024/12/17 2:40:37/

自动驾驶】Ubuntu22.04源码安装Autoware Core/Universe

  • 官方源码安装教程
  • 前置条件
  • 安装ROS2 Humble
  • 安装Autoware Core/Universe
    • 配置开发环境
    • 配置工作空间
    • 设置控制台

官方源码安装教程

链接:https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/source-installation/

前置条件

  1. Ubuntu 22.04
  2. CPU with 8 cores
  3. 16GB RAM
  4. [Optional] NVIDIA GPU (4GB RAM)
  5. Git

安装ROS2 Humble

使用鱼香ROS脚本进行安装

wget http://fishros.com/install -O fishros && . fishros

安装Autoware Core/Universe

配置开发环境

选择一个目录,克隆autowarefoundation/autoware,并进入项目目录

git clone https://github.com/autowarefoundation/autoware.git
cd autoware

使用官方提供的脚本自动安装依赖

sudo ./setup-dev-env.sh

过程installing ansible from spec 'ansible==6.*'可能比较漫长,属于正常现象
若出现如下错误:

fatal: [localhost]: FAILED! => {"changed": false, "dest": "/usr/share/keyrings/ros-archive-keyring.gpg", "elapsed": 0, "gid": 0, "group": "root", "mode": "01204", "msg": "Request failed: <urlopen error [Errno 111] Connection refused>", "owner": "root", "size": 1167, "state": "file", "uid": 0, "url": "https://raw.githubusercontent.com/ros/rosdistro/master/ros.key"}

与ROS 2 GPG 密钥访问链接失败有关,第一种解决方案是使用VPN;第二中解决方案需要查找raw.githubusercontent.com的IP地址并修改/etc/hosts,参考链接。

配置工作空间

创建src目录并克隆存储库,使用vcstool创建工作空间

cd autoware
mkdir src
vcs import src < autoware.repos

安装ROS依赖包

source /opt/ros/humble/setup.bash
# Make sure all previously installed ros-$ROS_DISTRO-* packages are upgraded to their latest version
sudo apt update && sudo apt upgrade
rosdep update
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

安装和配置ccache,加快连续build

# 安装ccache
sudo apt update && sudo apt install ccache# 创建ccache的配置文件
mkdir -p ~/.cache/ccache
touch ~/.cache/ccache/ccache.conf# 设置最大缓存大小
echo "max_size = 60G" >> ~/.cache/ccache/ccache.conf
# 将下面内容加入到 `~/.bashrc` 文件中
export CC="/usr/lib/ccache/gcc"
export CXX="/usr/lib/ccache/g++"
export CCACHE_DIR="$HOME/.cache/ccache/"
# 验证ccache是否可以正常运行
# # 查看此项:Cache size (GB): 0.00 / 60.00 (0.00 %)
source ~/.bashrc
ccache -s

构建工作空间,Autoware使用colon构建工作空间

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

设置控制台

默认情况下,ROS2的日志不会对输出着色。为了着色,需要将如下内容添加到~/.bashrc

 export RCUTILS_COLORIZED_OUTPUT=1

为了自定义日志格式,可以将如下内容加入到~/.bashrc

export RCUTILS_CONSOLE_OUTPUT_FORMAT="[{severity} {time}] [{name}]: {message} ({function_name}() at {file_name}:{line_number})"

http://www.ppmy.cn/server/150784.html

相关文章

基于微信小程序的校园二手交易平台系统设计与开发ssm+论文源码调试讲解

第2章 程序开发技术 2.1 Mysql数据库 为了更容易理解Mysql数据库&#xff0c;接下来就对其具备的主要特征进行描述。 &#xff08;1&#xff09;首选Mysql数据库也是为了节省开发资金&#xff0c;因为网络上对Mysql的源码都已进行了公开展示&#xff0c;开发者根据程序开发需…

安卓开发实现图像处理相关功能

彩色图像转换黑白图像实验 基本图形绘制与填充实验 Mat像素操作实验 图像滤波实验 图像轮廓特征检测实验 图像局部特征检测实验 人脸美颜

图像融合算法笔记2024 CDTNet

目录 ControlCom-Image-Composition CDTNet-High-Resolution-Image-Harmonization 依赖项: trilinear 效果图: 推理代码ok 只支持linux系统: ControlCom-Image-Composition CDTNet-High-Resolution-Image-Harmonization 开源地址: GitHub - bcmi/CDTNet-High-Reso…

C#析构函数、静态类和密封类、属性和字段、静态成员

析构函数 静态类和密封类 不能包含非静态属性&#xff0c;也不能包含非静态方法 只能包含非静态属性和静态方法 不能通过new实例化对象 属性和字段 静态成员

面经案例+

首先配置路由 一级路由&#xff1a;在routes中配置首页Layout和面经详情ArticleDetail 二级路由&#xff1a;在首页Layout的路由配置中配置children路由&#xff0c;分别是列表&#xff0c;收藏&#xff0c;喜欢&#xff0c;我的 其次在首页Layout中用router-link替换a标签&a…

STM32串口接收与发送(关于为什么接收不需要中断而发生需要以及HAL_UART_Transmit和HAL_UART_Transmit_IT的区别)

一、HAL_UART_Transmit和HAL_UART_Transmit_IT的区别 1. HAL_UART_Transmit_IT&#xff08;非阻塞模式&#xff09;&#xff1a; HAL_UART_Transmit_IT 是非阻塞的传输函数&#xff0c;也就是说&#xff0c;当你调用 HAL_UART_Transmit_IT 时&#xff0c;它不会等到数据完全发…

redis 架构详解

Redis架构详解可以从以下几个方面进行阐述&#xff1a; 一、部署架构 Redis有多种部署架构&#xff0c;适用于不同的应用场景和需求&#xff0c;主要包括以下几种&#xff1a; 单机模式&#xff08;Standalone Mode&#xff09; 特点&#xff1a;部署简单&#xff0c;配置方便…

union find算法 c++

1.原理参考 labuladong-fucking-algorithm/算法思维系列/UnionFind算法详解.md at master jiajunhua/labuladong-fucking-algorithm GitHub 2.初级模式 #include <iostream>class UF {public:// 记录连通分量/* 构造函数&#xff0c;n 为图的节点总数 */UF(int n) {…