ROS2学习笔记一:安装及测试

目录

前言

1 ROS2安装与卸载

1.1  安装虚拟机

 1.2  ROS2 humble安装

2 ROS2测试

2.1 topic测试

2.2 小海龟测试

2.3 RQT可视化

2.4 占用空间


前言

ROS2的前身是ROS,ROS即机器人操作系统(Robot Operating System),ROS为了“提高机器人软件复用率”的目标,时至今日,ROS已经广泛用于各种机器人的开发,无论是机械臂、移动机器人、水下机器人,还是人形机器人、复合机器人,统统都可以看到ROS的身影,ROS已经成为机器人领域的普遍标准。但是由于ROS自身的缺陷,如果在工业场景应用(例如无人驾驶)还需要做优化和定制,

ROS无法真正进入产业界,也自然无法产品化。为了解决这一问题,社区提出了ROS 2。使得ROS具备产品化的特性,包括实时性、适应于全平台、适用于性能低的硬件(MCU+RTOS)、分布式、数据加密和现代编程语言的支持。

1 ROS2安装与卸载

1.1  安装虚拟机

  • 安装VMvare
  • 安装Ubuntu22.04LTS

ubuntu下载地址:Ubuntu PC operating system | Ubuntu

 1.2  ROS2 humble安装

设置语言环境

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 
export LANG=en_US.UTF-8

添加源

sudo apt update && sudo apt install curl gnupg lsb-release 
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

安装ros2 humble版本

sudo apt update && sudo apt upgrade
sudo apt install ros-humble-desktop

设置ros2环境变量

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

ros2安装目录:安装目录在/opt/ros/humble下。

2 ROS2测试

2.1 topic测试

启动第一个终端,通过以下命令启动一个数据的发布者节点:

ros2 run demo_nodes_cpp talker

启动第二个终端,通过以下命令启动一个数据的订阅者节点:

ros2 run demo_nodes_py listener

如果“Hello World”字符串在两个终端中正常传输,说明通信系统没有问题。

2.2 小海龟测试

启动第一个终端,通过以下命令启动一个数据的发布者节点:

ros2 run turtlesim turtlesim_node

启动第二个终端,通过以下命令启动一个数据的订阅者节点:

 ros2 run turtlesim turtle_teleop_key

第一句指令将启动一个蓝色背景的海龟仿真器,第二句指令将启动一个键盘控制节点,在该终端中点击键盘上的“上下左右”按键控制小海龟运动。

2.3 RQT可视化

保持前面两个游戏在运行状态,打开终端,输入rqt。

选择插件,这里我们可以选择现有的几个RQT插件来试一试,可以看到和话题、参数、服务、动作四大通信组件相关的工具都有,还有一些可视化、日志和系统计算图等相关的。

选择Introspection / Node Graph,打开后就可以看到上面几个节点之间的数据关系了,是不是很方便的工具。

2.4 占用空间

ubuntu安装前大小,默认最小化安装

ubuntu安装后大小

2.5 ROS2卸载

sudo apt remove ros-humble-*
sudo apt autoremove

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

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

相关文章

[有固件程序]车载液晶驱动板(RTD2660H)Fondar下载/烧录器工具v3使用说明

液晶屏幕驱动烧录器 FONDAR2IIC使用说明 介绍 RTD2660液晶屏幕FONDAR烧录器,可烧写液晶驱动板的固件程序,简单易上手,适合开发和个人DIY爱好者,更换不同屏幕烧写不同程序,提供固件仅供测试。 软件介绍 请在Windows 10…

Delphi 11.3配置android环境

电脑安装dephi11.3的时候,勾选android sdk,但是软件安装好以后,还有问题 在Delphi—tool —options 里边,Deployment下SDKManager 中,看到SDk里边的感叹号,说明android sdk没有安装好 解决方法有2种 第一种…

一键提取视频文字或者音频

随着科技的进步,视频转文字技术已经变得越来越成熟,这种技术能够将视频中的语音转化为文字,为人们提供了极大的便利。水印云作为一款备受用户喜爱的在线视频转文字工具,凭借其高效、准确、易用的特点,在市场上占据了一…

21款奔驰GLS450升级23P驾驶辅助 半自动无人驾驶功能

辅助驾驶越来越多的被大家所青睐!为了提升驾驶安全性和舒适便捷性奔驰改装原厂半自动驾驶23P辅助系统,星骏汇小许Xjh15863 23P智能辅助驾驶系统还是很有必要的,因为在跑高速的时候可以使用23P智能驾驶的自动保持车速,保持车距&…

【算法练习】leetcode算法题合集之回溯篇

组合问题 LeetCode39: 组合总和 LeetCode39. 组合总和 目标和,除了累加所有的数外还可以用目标值减去所有的数。 添加第i个元素后,可以继续添加第i个元素。可以添加第i个元素,也可以添加索引为candidates.length-1的元素 这类回溯的问题可以…

CHS_01.1.3.1+操作系统的运行机制

CHS_01.1.3.1操作系统的运行机制 操作系统的运行机制 也就是说 操作系统在计算机上是怎么运行的这样一个问题 操作系统的运行机制 也就是说 操作系统在计算机上是怎么运行的这样一个问题 那这个小节中会涉及到这样的一些概念 我们会学习到两种类型的指令 然后两种处理机状态和两…

【软件测试】刚入行的测试人,“我“该怎么提升自己技术能力...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 一个问题&#xf…

【Helm 及 Chart 快速入门】03、Chart 基本介绍

目录 一、Chart 基本介绍 1.1 什么是 Chart 1.2 Chart ⽬录结构 1.3 Chart.yaml ⽂件 二、创建不可配置 Chart 2.1 创建 Chart 2.2 安装 Chart 三、创建可配置的 Chart 3.1 修改 chart 3.2 安装 Chart 一、Chart 基本介绍 1.1 什么是 Chart Helm 部署的应…

LORA的基本原理

本文将介绍如下内容: 什么是Lora高效微调的基本原理LORA的实现方式LORA为何有效? 一、什么是LoRA LoRA 通常是指低秩分解(Low-Rank Decomposition)算法,是一种低资源微调大模型方法,论文如下: LoRA: Low…

大厂都在用的监控高可用方案,小公司还不赶紧学起来?

有一次在一家国企时,他们是使用的dockernginx做为自己的“云”。同时,监控告警平台也不完善,虽然使用的是PrometheusGrafana,但仅仅是用来“看大屏”。 同时所有的报警都是一个一个的脚本去写的,例如写一个python脚本…

卢森堡市场开发攻略,带你走进全球最富有的国家

卢森堡位于西欧,位于欧洲的十字路口,地理位置非常重要。卢森堡是高度发达的资本主义国家,人均gdp全球最高,是当之无愧的全球最富国家。卢森堡对外开放度高,很多产品依赖进口,也是一个非常不错的市场&#x…

医疗门诊诊所预约挂号视频问诊小程序开发

医疗门诊诊所预约挂号视频问诊小程序开发 医疗门诊诊所预约挂号视频问诊小程序开发 用户注册、登录:用户通过手机号注册、登录小程序账号,校验用户身份信息。预约挂号:用户选择就诊科室、日期和时间,预约医生门诊,并…

【OpenCV学习笔记06】- 制作使用轨迹条控制的调色板

这是对于 OpenCV 官方文档的 GUI 功能的学习笔记。学习笔记中会记录官方给出的例子,也会给出自己根据官方的例子完成的更改代码,同样彩蛋的实现也会结合多个知识点一起实现一些小功能,来帮助我们对学会的知识点进行结合应用。 如果有喜欢我笔…

简单易懂的PyTorch线性层解析:神经网络的构建基石

目录 torch.nn子模块Linear Layers详解 nn.Identity Identity 类描述 Identity 类的功能和作用 Identity 类的参数 形状 示例代码 nn.Linear Linear 类描述 Linear 类的功能和作用 Linear 类的参数 形状 变量 示例代码 nn.Bilinear Bilinear 类的功能和作用 B…

申请Certum IP证书的方法

Certum是波兰的一家数字证书颁发机构,可以为只有公网IP地址的网站提供IP证书的申请服务,为网站传输信息进行加密,提高网站SEO排名。Certum旗下的IP证书产品不多,其中比较受欢迎的就是DV基础型IP证书。今天就随SSL盾小编了解Certum…

社交通证经济学:Web3时代的社交奖励系统

Web3时代的到来带来了区块链技术和去中心化的新范式,社交媒体也在这场变革中经历着深刻的改变。 社交通证经济学作为Web3时代社交媒体的创新实践,重新定义了用户在平台上的价值和奖励体系。本文将深入探讨Web3时代社交通证经济学的背景、工作原理以及对…

最新版docker-compose安装

Ubuntu/Kali 下载安装最新版 docker-compose # FastGit加速 sudo curl -L "https://hub.fgit.cf/docker/compose/releases/download$(curl -L -i -s -o /dev/null -w "%{url_effective}\n" https://hub.fgit.cf/docker/compose/releases/latest | awk -F tag …

2024新年烟花代码完整版

文章目录 前言烟花效果展示使用教程查看源码HTML代码CSS代码JavaScript 新年祝福 前言 在这个充满希望和激动的2024年,新的一年即将拉开帷幕,而数字科技的创新与发展也如火如荼。烟花绚丽多彩的绽放,一直以来都是新年庆典中不可或缺的元素。…

学会这13个 Git 命令就够了!

提到版本控制工具Git,相信很多开发者都知道,其实我们在99%的日常时间里,只需要学会以下13个git命令就行了,让我们来一起看看吧! 1、git init 这个命令是初始化一个新的Git仓库,即在当前目录中创建一个名为…

为什么伦敦金交易应该使用4小时以上的周期?

做伦敦金前,要先对市场走势进行分析。而分析市场总是涉及时间周期等问题,这也是投资者们存在疑惑的地方。到底我们需要选择什么时间周期呢?各人有个人的看法,而其中一种意见是,我们不应该使用低于4小时的周期&#xff…