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 # 查看当前路径
目录
相关文章
|
2月前
|
人工智能 Ubuntu 前端开发
Dify部署全栈指南:AI从Ubuntu配置到HTTPS自动化的10倍秘籍
本文档介绍如何部署Dify后端服务及前端界面,涵盖系统环境要求、依赖安装、代码拉取、环境变量配置、服务启动、数据库管理及常见问题解决方案,适用于开发与生产环境部署。
523 1
|
3月前
|
Ubuntu Linux 网络安全
Linux服务器之Ubuntu的安装与配置
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!
|
2月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
219 18
|
2月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
238 17
|
2月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
326 7
|
3月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
213 16
|
2月前
|
消息中间件 人工智能 运维
Ubuntu环境下的 RabbitMQ 安装与配置详细教程
本文聚焦在Ubuntu下RabbitMQ安装与配置教程,旨在帮助读者快速构建稳定可用的消息队列服务。
|
3月前
|
缓存 监控 Ubuntu
在Ubuntu 16.04上配置GitLab Runner以激活GitLab CI/CD流程
完成以上步骤后,每当代码被推送到远端仓库中相对应分支上时,GitLb CI / CD 流水线就会自动触发,并由之前注册好了 GitLb runner 的机器去完成定义好了 ` .gitlabcicd.yml ` 文件里面定义好各种任务(如编译测试部署等).
102 13
|
3月前
|
XML Ubuntu Java
如何在Ubuntu系统上安装和配置JMeter和Ant进行性能测试
进入包含 build.xml 的目录并执行:
164 13
|
4月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu上配置phpMyAdmin和WordPress环境的步骤
执行以上步骤后,你将成功配置Ubuntu系统上的phpMyAdmin和WordPress环境。需要注意的是,应该根据自己实际的环境如具体的Ubuntu版本、WordPress版本和个人的安全需求做适当调整。此配置指南假定你拥有一个干净的Ubuntu服务器环境,某些步骤比如MySQL的root密码已经设置好了。
114 14