Ubuntu22.04配置ROS2 Humble

本文涉及的产品
资源编排,不限时长
简介: 这篇文章是关于如何在Ubuntu 22.04系统上配置ROS2 Humble的详细教程,包括虚拟机安装、环境配置、网络设置、软件源更换、ROS1和ROS2的安装步骤。

一、简介

这个系列的文章是笔者在自学ROS的过程中的记录,由于装双系统切换比较麻烦,笔者采用了虚拟机的办法

二、Ubuntu的安装

①虚拟机方式

1.下载安装虚拟机

VMware16是一款功能超级强大的电脑虚拟机软件,通过这款软件,我们就可以在原有的系统上再运行其它的操作系统,包括了Windows、Linux等等,首先下载并安装虚拟机,不提供下载资源

2.下载Ubuntu22.04镜像

Ubuntu22.04LTS-amd64
Ubuntu22.04LTS-RaspberryPi

3.在VMware内安装Ubuntu22.04

在VMware里新建虚拟机,镜像文件选择为下载好的ubuntu-22.04-desktop-amd64.iso
按照自身需求选择选项,笔者使用的AMD CPU 需要在bios里开启 AMD-V功能才可以使用虚拟机功能
如果有其他报错就按照报错的提示上百度找报错信息做修改

②盘烧录方式

1.准备microSD卡

2.下载Ubuntu镜像

Ubuntu22.04LTS-amd64
Ubuntu22.04LTS-RaspberryPi

3.使用balenaEtcher将镜像烧录至microSD卡

4.插入树莓派等设备开机使用

三、Ubuntu环境配置

0.修改显示设置(对于独立屏幕设备)

在config中添加以下内容:
(以微雪的5inch HDMI AMOLED为例,其他屏幕设备配置有所不同,需咨询具体厂家)

hdmi_force_hotplug=1 
config_hdmi_boost=10
disable_overscan=1
hdmi_group=2
hdmi_mode=87
hdmi_timings=960 0 190 4 32 544 0 10 10 12 0 0 0 60 0 41000000 3

1. 关闭 sudo 密码

命令行经常会使用到sudo命令,关闭sudo密码可以不用每次都输入密码
Ctrl+Alt+T打开终端
在终端输入命令sudo visudo,打开 visudo;

sudo visudo

在文本中找到 %sudo ALL=(ALL:ALL) ALL 这一行
修改为%sudo ALL=(ALL:ALL) NOPASSWD:ALL

%sudo ALL=(ALL:ALL) NOPASSWD:ALL

2.配置网络环境(仅虚拟机)

虚拟机环境网络经常会有问题,显示无wifi适配器,此处以windows为例,打开‘网络和Internet设置’→更改适配器选项→选中WLAN并右键→打开属性→选中‘共享’,勾选‘允许其他网络的用户通过此计算机的Internet’来连接,并在下方‘家庭网络连接’选中 VMware Network Adapter VMnet8
切换到VMware,打开左上角‘编辑’,打开‘虚拟网络编辑器’,选择‘桥接模式’,选择自己本机的适配器
如果使用以太网有线连接可忽视(2.配置网络环境)

3.修改源

sudo gedit /etc/apt/sources.list

备份内容并修改为

# 本镜像仅包含 32/64 位 x86 架构处理器的软件包,在 ARM(arm64, armhf)、PowerPC(ppc64el)、RISC-V(riscv64) 和 S390x 等架构的设备上(对应官方源为ports.ubuntu.com)请使用 ubuntu-ports 镜像。
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

如果是树莓派等arm架构处理器设备,则修改内容为ubuntu-ports
通过如下命令查看架构

uname -a
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-proposed main restricted universe multiverse

可选的一键更改源:

sudo sed -i "s#ports.ubuntu.com#mirrors.ustc.edu.cn#g" sources.list

4.更新软件

在终端中执行检查更新

sudo apt update

然后执行更新

sudo apt upgrade

5.其他配置

安装PIP

sudo apt install pip

配置pip源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

配置github加速

sudo apt install cgit
git config --global url."https://gitclone.com/".insteadOf https://

安装命令行管理工具terminator

sudo apt install terminator

安装屏幕保护工具

sudo apt-get install xscreensaver

安装屏幕录制工具

sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt-get update
sudo apt-get install obs-studio
obs

安装微信

  1. Wine环境包下载

  2. 微信(wine)包下载

  3. 在下载目录下执行

sudo dpkg -i ukylin-wine_70.6.3.25_amd64.deb
sudo dpkg -i ukylin-wechat_3.0.0_amd64.deb

四、安装ROS

①安装ROS1 Noetic (只需ROS2可跳过)

如果需要安装ROS1 Noetic

1、添加软件源-sources.list

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

2.添加密钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

3.更新软件源

sudo apt update

4.安装桌面完整版 : 包含ROS、rqt、rviz、机器人通用库、2D/3D 模拟器、导航以及2D/3D感知

sudo apt install ros-noetic-desktop-full

5.安装完后再执行一次以解压

sudo apt install ros-noetic-desktop-full

6.初始化rosdep(rosdep用于解决功能包安装系统依赖,是ROS必须的组件)

sudo rosdep init
rosdep update

首先安装pip并安装rosdepc

sudo apt-get install python3-pip
sudo pip install rosdepc

然后使用国内版rosdepc

sudo rosdepc init
rosdepc update

6、设置环境变量(bash)
由于后续会频繁在终端中输入ros命令,设置环境变量方便之后使用

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

7.测试
ROS环境已经配好,开个core测试能不能进,如果想多测试一下可以跑个turtle

roscore

② 安装ROS2 Humble

一键安装:

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

手动安装:
1、添加软件源-sources.list

echo "deb [arch=$(dpkg --print-architecture)] https://repo.huaweicloud.com/ros2/ubuntu/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

2.添加密钥

sudo apt install curl gnupg2 -y
curl -s https://gitee.com/ohhuo/rosdistro/raw/master/ros.asc | sudo apt-key add -

3.更新软件源

sudo apt update

4.安装桌面完整版

sudo apt install ros-humble-desktop

5.安装其他依赖

sudo apt install python3-argcomplete -y

6.配置ROS环境变量

echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc

7.初始化rosdep(rosdep用于解决功能包安装系统依赖,是ROS必须的组件)

sudo pip install rosdepc

然后使用国内版rosdepc

sudo rosdepc init
rosdepc update

对于某新建的工作空间,如果希望添加到环境变量,可以使用:

echo "source /home/ubuntu/ros2_ws/install/setup.bash" >> ~/.bashrc

/home/ubuntu/ros2_ws/为工作空间的路径

pwd # 查看当前路径
目录
相关文章
|
8天前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
22 2
|
1月前
|
网络协议 Ubuntu 网络安全
|
1月前
|
消息中间件 监控 Ubuntu
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
72 3
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
|
1月前
|
资源调度
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
37 2
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
|
1月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
261 3
|
2月前
|
Ubuntu 网络安全 开发工具
Ubuntu19.04的安装过程详解以及操作系统初始化配置
本文详细介绍了Ubuntu 19.04操作系统的安装过程、初始化配置、网络设置、软件源配置、SSH远程登录以及终端显示设置。
87 1
Ubuntu19.04的安装过程详解以及操作系统初始化配置
|
2月前
|
存储 Prometheus 监控
在Ubuntu系统上安装与配置Prometheus的步骤
通过以上步骤,您应该已经成功在Ubuntu系统上安装并配置了Prometheus。您现在可以开始使用Prometheus收集和分析您的系统和应用程序的指标数据了。
166 1
|
1月前
|
Ubuntu 网络协议 Linux
liunx各大发行版(centos,rocky,ubuntu,国产麒麟kylinos)网卡配置和包管理方面的区别
liunx各大发行版(centos,rocky,ubuntu,国产麒麟kylinos)网卡配置和包管理方面的区别
108 0
|
2月前
|
Ubuntu Oracle 关系型数据库
Oracle VM VirtualBox之Ubuntu 22.04LTS双网卡网络模式配置
这篇文章是关于如何在Oracle VM VirtualBox中配置Ubuntu 22.04LTS虚拟机双网卡网络模式的详细指南,包括VirtualBox网络概述、双网卡网络模式的配置步骤以及Ubuntu系统网络配置。
233 3
|
2月前
|
Ubuntu 开发工具 虚拟化
MacOS系统基于VMware Fusion配置Ubuntu 22.04LTS环境
这篇文章介绍了如何在MacOS系统上使用VMware Fusion虚拟化软件配置Ubuntu 22.04 LTS环境,包括自定义VMware Fusion网段、Ubuntu系统安装、配置root用户登录、设置静态IP地址、修改默认网卡名称、配置PS1变量、设置登录界面为字符界面、修改软件源和进行vim基础优化等步骤。
328 2