ubuntu中尝试安装ros2

首先,ubuntu打开后有个机器人栏目,打开后,有好多可选的,看了半天

,好像是博客,算了,没啥关系,再看看其他菜单

这些都不是下载链接。先不管,考虑了一下,问了ai,决定下个虚拟机吧,性能好点的就是visualbox了。新电脑,前置安装vc运行时库

Latest supported Visual C++ Redistributable downloads | Microsoft Learnicon-default.png?t=N7T8https://learn.microsoft.com/en-GB/cpp/windows/latest-supported-vc-redist?view=msvc-170其次安装visualbox

Oracle VM VirtualBoxicon-default.png?t=N7T8https://www.virtualbox.org/

还没用过,试试看

根据网上的教程,下载这个版本吧

安装完成

下来根据ros教程一步步安装

  • Ubuntu (Debian packages)就是安装包,安装过程通过命令行在线下载就行,没有直接下载整体安装包。

然后,tmd我想骂人了,虚拟机里安装的ubuntu居然打不开命令行。。。。wocao

重新弄个u盘,在实体机上装ubuntu吧,dayede

找到

rufus-3.22.exe

这玩意说是可以在windows上安装ubuntu

准备在我windows上安装双系统

然后,分区又碰到麻烦,算了,直接把硬盘干了,整个装ubuntu

Ubuntu (Debian packages) — ROS 2 Documentation: Humble documentationicon-default.png?t=N7T8https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html

系统安装好后,按照官网步骤,最主要是

sudo apt install ros-humble-desktop

然后发现软件源的问题,需要更换国内的

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ lsb_release -cs main" > /etc/apt/sources.list.d/ros-latest.list'

这个命令的作用是为Ubuntu系统配置中科大(USTC)镜像站提供的ROS软件包仓库,并不是更新源本身。具体步骤如下:

  • sudo sh -c:执行后面的命令片段,这里的 -c 参数表示后面跟着要执行的命令字符串。

  • . /etc/lsb-release:读取 /etc/lsb-release 文件的内容,该文件包含了当前Ubuntu发行版的信息,如版本代号(codename)。

  • echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ lsb_release -cs main" > /etc/apt/sources.list.d/ros-latest.list: 这部分是在创建一个新的APT软件源列表文件,指向中科大的ROS Ubuntu镜像。其中 lsb_release -cs 命令会获取当前系统的Ubuntu版本代号,然后将中科大的ROS仓库地址和版本代号一起写入到 /etc/apt/sources.list.d/ros-latest.list 文件中。

这样一来,当您后续执行 apt update 更新软件包列表时,系统就会从中科大的ROS镜像下载ROS相关的软件包,而不是官方或其他默认源。所以,这个命令实际上完成了添加ROS特定源的操作,而非更新已存在的源信息。

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654 

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

记得运行sudo apt update命令来更新软件包,让镜像生效

其中碰到一个公钥的问题,这么解决的

# 确保当前用户具有足够的权限
sudo -s# 清除已存在的 ros2.gpg 文件(如果存在)
rm -f /etc/apt/trusted.gpg.d/ros2.gpg# 正确地重新导出公钥为 ASCII-armored 格式并保存
gpg --export --armor F42ED6FBAB17C654 > /etc/apt/trusted.gpg.d/ros2.asc# 更新软件包列表,并检查是否成功导入了公钥
apt-get update

继续开始核心安装工作

sudo apt install ros-humble-desktop

所有安装自动进行,还是满简单的。

有三个版本,我选择了桌面版本

顺利安装成功,然后运行helloworld demo测试,一切顺利。

更多的功能研究,Tutorials — ROS 2 Documentation: Humble documentationicon-default.png?t=N7T8https://docs.ros.org/en/humble/Tutorials.html这个位置有更多的案例和tutorails。

更多学习:安装小乌龟,从教学教程。

sudo apt updatesudo apt install ros-humble-turtlesim
ros2 run turtlesim turtlesim_noderos2 run turtlesim turtle_teleop_key

安装rqt模拟器

sudo apt updatesudo apt install ~nros-humble-rqt*

大概就是这样吧,机器人没有体验到,倒是感觉作了一个小游戏。

感觉吧,ros2的作用就是多控1的感觉,比如给一个控制点,添加很多因素,ros的作用就是综合判断根据规则给出决策,也不知道我判断对不对。

初步研究到此为止了,等我后续弄好硬件再来玩玩。

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

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

相关文章

数据库恢复

文章目录 前言一、事务1.概念2.定义语句3.ACID特性 二、数据库恢复的必要性1.为什么要进行数据库恢复2.数据库恢复机制的作用 三、数据恢复使用的技术1.数据转储2.登记日志文件 四 、不同故障的数据恢复策略1.事务内部的故障2.系统故障3.介质故障 五、具有检查点的恢复技术1.检…

接口测试--apipost接口断言详解

在做接口测试的时候,会对接口进行断言,一个完整的接口测试,包括:请求->获取响应正文->断言。 一、apipost如何进行断言 apipost的断言设置实在后执行脚本中进行编写的。apipost本身提供了11中断言: apt.asser…

利用Python和pandas库进行股票技术分析:移动平均线和MACD指标

利用Python和pandas库进行股票技术分析:移动平均线和MACD指标 介绍准备工作数据准备计算移动平均线计算MACD指标结果展示完整代码演示 介绍 在股票市场中,技术分析是一种常用的方法,它通过对股票价格和交易量等历史数据的分析,来…

单片机学习笔记---蜂鸣器播放提示音音乐(天空之城)

目录 蜂鸣器播放提示音 蜂鸣器播放音乐(天空之城) 准备工作 主程序 中断函数 上一节讲了蜂鸣器驱动原理和乐理基础知识,这一节开始代码演示! 蜂鸣器播放提示音 先创建工程:蜂鸣器播放提示音 把我们之前模块化的…

【机器学习】数据清洗之识别异常点

🎈个人主页:甜美的江 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:机器学习 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步…

Modern C++ 内存篇2 - 关于relocation的思考

在上一节《Modern C 内存篇1 - std::allocator VS pmr-CSDN博客》我们详细讨论了关于如何判断用不用memmove优化的代码,结论可以总结为: 只有_Tp是trivial 且 用std::allocator 才会调用memmove。 所有case如下表格所示: No_Tpallocator typ…

渗透专用虚拟机(公开版)

0x01 工具介绍 okfafu渗透虚拟机公开版。解压密码:Mrl64Miku,压缩包大小:15.5G,解压后大小:16.5G。安装的软件已分类并在桌面中体现,也可以使用everything进行查找。包含一些常用的渗透工具以及一些基本工…

C语言rand随机数知识解析和猜数字小游戏

rand随机数 rand C语言中提供了一个可以随机生成一个随机数的函数&#xff1a;rand&#xff08;&#xff09; 函数原型&#xff1a; int rand(void);rand函数返回的值的区间是&#xff1a;0~RAND_MAX(32767)之间。大部分编译器都是32767。 #include<stdlib.h> int ma…

VTK 三维场景的基本要素(相机) vtkCamera

观众的眼睛好比三维渲染场景中的相机&#xff0c;在VTK中用vtkCamera类来表示。vtkCamera负责把三维场景投影到二维平面&#xff0c;如屏幕&#xff0c;相机投影示意图如下图所示。 1.与相机投影相关的要素主要有如下几个&#xff1a; 1&#xff09;相机位置: 相机所处的位置…

EMC学习笔记(二十四)降低EMI的PCB设计指南(四)

降低EMI的PCB设计指南&#xff08;四&#xff09; 1.电路板分区2.信号走线2.1 电容和电感串扰2.2 天线2.3 端接和传输线2.4输入端的阻抗匹配 tips&#xff1a;资料主要来自网络&#xff0c;仅供学习使用。 1.电路板分区 电路板分区与电路板平面规划具有相同的基本含义&#x…

Java常用类与基础API--String的实例化与连接操作

文章目录 一、String实例化的两种方式&#xff08;1&#xff09;两种方式&#xff08;2&#xff09;举例1、案例12、案例2 &#xff08;3&#xff09;内存分配&#xff08;4&#xff09;面试题1、题12、题2 二、String的连接操作&#xff08;1&#xff09;案例1、案例剖析2、in…

Linux--目录结构

目录 一、Linux的目录结构二、常用的目录介绍 一、Linux的目录结构 Linux的目录结构是一个树型结构。 Windos 系统可以拥有多个盘符&#xff0c;如C盘&#xff0c;D盘,E盘。 Linux 木有盘符这个概念&#xff0c;只有一个根目录 /&#xff08;相当于文件夹&#xff09;&#xf…

苍穹外卖实操笔记六---缓存商品,购物车功能

苍穹外卖实操笔记六—缓存商品&#xff0c;购物车功能 一.缓存菜品 可以使用redis进行缓存&#xff1b;另外&#xff0c;在实现缓存套餐时可以使用spring cache提高开发效率&#xff1b;   通过缓存数据&#xff0c;降低访问数据库的次数&#xff1b; 使用的缓存逻辑&#…

【开源】基于JAVA+Vue+SpringBoot的公司货物订单管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 客户管理模块2.2 商品维护模块2.3 供应商管理模块2.4 订单管理模块 三、系统展示四、核心代码4.1 查询供应商信息4.2 新增商品信息4.3 查询客户信息4.4 新增订单信息4.5 添加跟进子订单 五、免责说明 一、摘要 1.1 项目…

Stable Diffusion 模型下载:DreamShaper(梦想塑造者)

文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十 下载地址 模型介绍 DreamShaper 是一个分格多样的大模型&#xff0c;可以生成写实、原画、2.5D 等多种图片&#xff0c;能生成很棒的人像和风景图。 条目内容类型大模型基础模型SD 1…

Elasticsearch:使用查询规则(query rules)进行搜索

在之前的文章 “Elasticsearch 8.10 中引入查询规则 - query rules”&#xff0c;我们详述了如何使用 query rules 来进行搜索。这个交互式笔记本将向你介绍如何使用官方 Elasticsearch Python 客户端来使用查询规则。 你将使用 query rules API 将查询规则存储在 Elasticsearc…

HTTP网络通信协议基础

目录 前言&#xff1a; 1.HTTP协议理论 1.1协议概念 1.2工作原理 2.HTTP抓包工具 2.1Fiddler工具 2.2抓包原理 3.HTTP协议格式 3.1HTTP请求 3.2HTTP响应 3.3格式总结 前言&#xff1a; 在了解完网络编程的传输层UDP和TCP通信协议后&#xff0c;就需要开始对数据进行…

mac卸载被锁定的app

sudo chflags -hv noschg /Applications/YunShu.app 参考&#xff1a;卸载云枢&#xff08;MacOS 版&#xff09;

13. 串口接收模块的项目应用案例

1. 使用串口来控制LED灯工作状态 使用串口发送指令到FPGA开发板&#xff0c;来控制第7课中第4个实验的开发板上的LED灯的工作状态。 LED灯的工作状态&#xff1a;让LED灯按指定的亮灭模式亮灭&#xff0c;亮灭模式未知&#xff0c;由用户指定&#xff0c;8个变化状态为一个循…

【漏洞复现】狮子鱼CMS文件上传漏洞(image_upload.php)

Nx01 产品简介 狮子鱼CMS&#xff08;Content Management System&#xff09;是一种网站管理系统&#xff0c;它旨在帮助用户更轻松地创建和管理网站。该系统拥有用户友好的界面和丰富的功能&#xff0c;包括页面管理、博客、新闻、产品展示等。通过简单直观的管理界面&#xf…