ubuntu24.04安装布置ros

最近换电脑布置机器人环境,下了24.04,但是网上的都不太合适,于是自己试着布置好了,留作有需要的人一起看看。

文章目录

目录

前言

一、确认 ROS 发行版名称

二、检查你的 Ubuntu 版本

三、安装正确的 ROS 发行版

 四、对于Ubuntu24.04

五、错误检查

安装完成之后检查ros:

3检查环境变量

4. 重新安装 ROS 2

5. 检查 Python 环境

6. 运行 ROS 2 示例

总结



前言

布置ros。


一、确认 ROS 发行版名称

  • ROS 1 和 ROS 2 的发行版名称是不同的。以下是一些常见的 ROS 发行版名称:

    • ROS 1:

      • noetic(适用于 Ubuntu 20.04)

    • ROS 2:

      • humble(适用于 Ubuntu 22.04)

      • iron(适用于 Ubuntu 22.04)

      • rolling(持续更新的开发版本)

二、检查你的 Ubuntu 版本

  • 运行以下命令检查你的 Ubuntu 版本:

  • lsb_release -a
  • 根据你的 Ubuntu 版本选择合适的 ROS 发行版:

    • Ubuntu 20.04:ROS 1 noetic 或 ROS 2 foxy

    • Ubuntu 22.04:ROS 2 humble 或 iron

    • Ubuntu 24.04:目前 ROS 尚未正式支持,但你可以尝试使用 rolling 版本。

三、安装正确的 ROS 发行版

如果你使用的是 Ubuntu 22.04,可以尝试安装 ROS 2 humble

sudo apt update
sudo apt install ros-humble-desktop

 如果你使用的是 Ubuntu 20.04,可以尝试安装 ROS 1 noetic

sudo apt update
sudo apt install ros-noetic-desktop

 四、对于Ubuntu24.04

如果你使用的是 Ubuntu 24.04(noble),ROS 尚未正式支持该版本。你可以尝试以下方法:

  1. 使用 Docker:安装 Docker:

sudo apt update
sudo apt install docker.io

拉取 ROS 2 Humble 的 Docker 镜像:

sudo docker pull osrf/ros:humble-desktop

运行 ROS 容器:

sudo docker run -it osrf/ros:humble-desktop

2.使用 rolling 版本

  • rolling 是 ROS 2 的持续更新版本,可能支持较新的 Ubuntu 发行版。

  • 添加 rolling 的源:

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

 导入 GPG 密钥:

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

 更新并安装:

sudo apt update
sudo apt install ros-rolling-desktop

 这里我直接安装的rolling版本

 刚开始还以为ros有问题后来发现ros命令可以实现

五、错误检查

安装完成之后检查ros:

 1.看版本

ros2 --version

我这里不能显示版本,可能是 这个命令不能用

2.检查 ros2 命令

  • 运行以下命令检查 ros2 命令是否可用:

which ros2
  • 如果输出类似 /opt/ros/rolling/bin/ros2,说明 ros2 命令已正确安装。

3检查环境变量

  • 确保你已经正确设置了 ROS 2 的环境变量。运行以下命令:

source /opt/ros/rolling/setup.bash

4. 重新安装 ROS 2

  • 如果上述步骤未能解决问题,可以尝试重新安装 ROS 2:

    1. 移除现有的 ROS 2 安装:

sudo apt remove ros-rolling-desktop
sudo apt autoremove

 2.重新安装 ROS 2:

sudo apt update
sudo apt install ros-rolling-desktop

5. 检查 Python 环境

  • ROS 2 依赖于 Python 3。确保你的系统上安装了正确版本的 Python 3:

python3 --version

 如果输出不是 Python 3.8 或更高版本,请安装或更新 Python 3:

sudo apt update
sudo apt install python3

6. 运行 ROS 2 示例

  • 如果 ros2 --version 仍然无法正常工作,可以尝试运行一个 ROS 2 示例来验证安装:

ros2 run demo_nodes_cpp talker
  • 如果示例能够正常运行,说明 ROS 2 已正确安装,只是 ros2 --version 命令存在问题。

 这里可以成功运行。

总结

Ubuntu24.04布置ros

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/69431.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是中间件中间件有哪些

什么是中间件? 中间件(Middleware)是指在客户端和服务器之间的一层软件组件,用于处理请求和响应的过程。 中间件是指介于两个不同系统之间的软件组件,它可以在两个系统之间传递、处理、转换数据,以达到协…

linux下Maven的安装配置详解

一. maven下载 官网下载后上传到服务器 二. 压缩文件解压安装 tar -zxvf 压缩包.tar.gz -C 目标目录 tar -zxvf apache-maven-3.9.9-bin.tar.gz -C /usr/local三. 更换国内镜像 进入maven文件夹内部 创建依赖仓库 mkdir repository2. 编辑setting.xml 文件 vim conf/…

(1/100)每日小游戏平台系列

每日小游戏平台 项目简介以及地址 准备开发一个一百天小游戏平台,使用Flask构建的简单游戏导航网站,无需登录,让大家在返工的同时也可以愉快的摸鱼玩耍。 每天更新一个小游戏上传,看看能不能坚持一百天。 这些小游戏主要使用前端…

解锁Spring Boot 3.1 + JDK 17:分布式系统的变革力量

分布式系统发展的现状与挑战 在当今数字化时代,分布式系统已成为互联网技术领域的核心支撑。从电商平台的海量交易处理,到社交网络的实时互动,再到金融领域的安全交易保障,分布式系统无处不在,它如同无形的纽带&#…

Qt:Qt Creator项目创建

目录 认识Qt Creator Qt Creator概览 使用Qt Creator新建项目 选择项目模板 选择项目路径 选择构建系统 填写类信息设置界面 选择语言和翻译文件 选择Qt套件 选择版本控制系统 最终效果 认识Qt Creator Qt Creator概览 从开始菜单或者快捷方式打开Qt Creator集成开…

Vue笔记(六)

一、路由设计配置--一级路由配置 在路由文件(一般是 router/index.js )里定义路由对象数组,每个对象包含 path (路由路径,如 / 代表首页)、 name (路由名称,方便代码引用&#xff09…

webpack【初体验】使用 webpack 打包一个程序

打包前 共 3 个文件 dist\index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Webpack 示例&…

Spring Boot接入Deep Seek的API

1&#xff0c;首先进入deepseek的官网&#xff1a;DeepSeek | 深度求索&#xff0c;单击右上角的API开放平台。 2&#xff0c;单击API keys&#xff0c;创建一个API&#xff0c;创建完成务必复制&#xff01;&#xff01;不然关掉之后会看不看api key&#xff01;&#xff01;&…

02.07 TCP服务器与客户端的搭建

一.思维导图 二.使用动态协议包实现服务器与客户端 1. 协议包的结构定义 首先&#xff0c;是协议包的结构定义。在两段代码中&#xff0c;pack_t结构体都被用来表示协议包&#xff1a; typedef struct Pack {int size; // 记录整个协议包的实际大小enum Type type; …

笔灵ai写作技术浅析(六):智能改写与续写

笔灵AI写作中的智能改写和续写技术是其核心功能之一,旨在帮助用户生成高质量、多样化的文本内容。 一、智能改写技术 1. 基本原理 智能改写的目标是在保持原文语义不变的前提下,对文本进行重新表述,生成语法正确、语义连贯且风格多样的新文本。其核心思想是通过语义理解和…

3.如何标注数据集

软件安装&#xff1a; Labelme&#xff0c;打开链接之后跳转如下&#xff1a; 这里往下翻&#xff0c;如下&#xff1a; 选择上图圈起来的exe进行下载就可以了&#xff0c;下载完成之后就可以双击直接打开了。如果通过github下载很慢的话可以直接选择通过网盘分享的文件&…

【分布式理论7】分布式调用之:服务间的(RPC)远程调用

文章目录 一、RPC 调用过程二、RPC 动态代理&#xff1a;屏蔽远程通讯细节1. 动态代理示例2. 如何将动态代理应用于 RPC 三、RPC序列化与协议编码1. RPC 序列化2. RPC 协议编码2.1. 协议编码的作用2.2. RPC 协议消息组成 四、RPC 网络传输1. 网络传输流程2. 关键优化点 一、RPC…

SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来Matlab实现

SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来Matlab实现 目录 SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来Matlab实现预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来&#xff08;优…

智慧停车场解决方案(文末联系,领取整套资料,可做论文)

一、方案概述 本智慧停车场解决方案旨在通过硬件设备与软件系统的深度整合&#xff0c;实现停车场的智能化管理与服务&#xff0c;提升车主的停车体验&#xff0c;优化停车场运营效率。 二、硬件架构 硬件设备说明&#xff1a; 车牌识别摄像机&#xff1a;安装在停车场入口和…

DeepSeek开源多模态大模型Janus-Pro部署

DeepSeek多模态大模型部署 请自行根据电脑配置选择合适环境配置安装conda以及gitJanus 项目以及依赖安装运行cpu运行gpu运行 进入ui界面 请自行根据电脑配置选择合适 本人家用电脑为1060&#xff0c;因此部署的7B模型。配置高的可以考虑更大参数的模型。 环境配置 安装conda…

C#常用集合优缺点对比

先上结论&#xff1a; 在C#中&#xff0c;链表、一维数组、字典、List<T>和ArrayList是常见的数据集合类型&#xff0c;它们各有优缺点&#xff0c;适用于不同的场景。以下是它们的比较&#xff1a; 1. 一维数组 (T[]) 优点&#xff1a; 性能高&#xff1a;数组在内存中…

python-leetcode-删除有序数组中的重复项 II

80. 删除有序数组中的重复项 II - 力扣&#xff08;LeetCode&#xff09; class Solution:def removeDuplicates(self, nums: List[int]) -> int:if len(nums) < 2:return len(nums)j 2 # 允许最多两个相同的元素for i in range(2, len(nums)):if nums[i] ! nums[j - 2…

如何启用 Apache Rewrite 重写模块 ?

Apache 的 mod_rewrite 是最强大的 URL 操作模块之一。使用 mod_rewrite&#xff0c;您可以重定向和重写 url&#xff0c;这对于在您的网站上实现 seo 友好的 URL 结构特别有用。在本文中&#xff0c;我们将引导您了解如何在基于 Debian 和基于 RHEL 的系统上在 Apache 中启用 …

动手学图神经网络(9):利用图神经网络进行节点分类 WeightsBiases

利用图神经网络进行节点分类Weights&Biases 引言 在本篇博客中,将深入探讨如何使用图神经网络(GNNs)来完成节点分类任务。以 Cora 数据集为例,该数据集是一个引用网络,节点代表文档,推断每个文档的类别。同时,使用 Weights & Biases(W&B)来跟踪实验过程和…

STM32单片机学习记录(2.9)

一、STM32 15.1 - FLASH闪存 1. FLASH简介 &#xff08;1&#xff09;STM32系列的FLASH包含程序存储器、系统存储器和选项字节三个部分&#xff0c;通过闪存存储器接口&#xff08;外设&#xff09;可以对程序存储器和选项字节进行擦除和编程&#xff1b; &#xff08;2&#x…