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.hqwc.cn/news/465098.html

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

相关文章

机器学习:Softmax介绍及代码实现

Softmax原理 Softmax函数用于将分类结果归一化,形成一个概率分布。作用类似于二分类中的Sigmoid函数。 对于一个k维向量z,我们想把这个结果转换为一个k个类别的概率分布p(z)。softmax可以用于实现上述结果,具体计算公式为: 对于…

【Spring学习】Spring Data Redis:RedisTemplate、Repository、Cache注解

1,spring-data-redis官网 1)特点 提供了对不同Redis客户端的整合(Lettuce和Jedis)提供了RedisTemplate统一API来操作Redis支持Redis的发布订阅模型支持Redis哨兵和Redis集群支持基于Lettuce的响应式编程支持基于JDK、JSON、字符…

Duilib List 控件学习

这是自带的一个示例; 一开始运行的时候List中是空的,点击Search按钮以后就填充列表框; 先看一下列表框列头是在xml文件中形成的; <List name="domainlist" bkcolor="#FFFFFFFF" ... menu="true"> <ListHeader height="24…

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;就需要开始对数据进行…

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

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

STM32 STD/HAL库驱动W25Q64模块读写字库数据+OLED0.96显示例程

STM32 STD/HAL库驱动W25Q64 模块读写字库数据OLED0.96显示例程 &#x1f3ac;原创作者对W25Q64保存汉字字库演示&#xff1a; W25Q64保存汉字字库 &#x1f39e;测试字体显示效果&#xff1a; &#x1f4d1;功能实现说明 利用W25Q64保存汉字字库&#xff0c;OLED显示汉字的时…

opencv mat用法赋值克隆的操作和一些基本属性

//Mat基本结构 (头部 数据部分) //赋值的话 就是修改了指针位置 但还是指向了原来数据 并没创建数据 本质上并没有变 //只有克隆或者拷贝时 它才会真正复制一份数据 //代码实现 //创建方法 - 克隆 //Mat m1 src.clone(); //复制 //Mat m2; //src.copyTo(m2); //赋值法 …

C语言求解猴子分桃子

问题&#xff1a;海滩上有一堆桃子&#xff0c;五只猴子来分。第一只猴子把这堆桃子平均分为五份&#xff0c;多了一个&#xff0c;这只 猴子把多的一个扔入海中&#xff0c;拿走了一份。第二只猴子把剩下的桃子又平均分成五份&#xff0c;又多了 一个&#xff0c;它同样把多的…

DataBinding简易入门

简介 DataBinding是Google在18年推出的数据绑定框架&#xff0c;采用了MVVM模式来降低各模块之间代码的耦合度&#xff0c;使得整体代码逻辑设计更加清晰。众所周知&#xff0c;MVVM类似于MVC&#xff0c;主要目的是为分离View&#xff08;视图&#xff09;和Model&#xff08…

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

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

如何入门AI Agent?

随着chatgpt问世&#xff0c;大模型已经在加速各行各业的变革&#xff0c;这是我之前对AI Agent行业的粗浅判断。 下面给大家介绍一下如何制作AI Agent&#xff0c;我会用我开发的全赞AI为例子进行简要的介绍&#xff0c;下面是一种工具型AI Agent的框架图 这是一个大量使用工具…

探索海洋世界,基于YOLOv8全系列【n/s/m/l/x】参数模型开发构建海洋场景下海洋生物检测识别分析系统

前面的博文中&#xff0c;开发实践过海底相关生物检测识别的项目&#xff0c;对于海洋场景下的海洋生物检测则很少有所涉及&#xff0c;这里本文的主要目的就是想要开发构建基于YOLOv8的海洋场景下的海洋生物检测识别系统。 首先看下实例效果&#xff1a; 简单看下实例数据情况…