第 3 课 ROS 常用术语及命令说明
1.ROS文件系统的组成
2.了解ROS的基本术语
下表是对 ROS 的部分基本术语的解释说明:
| 术语名称 | 说明 |
| 节点管理器 (ROSMaster ) | 负责节点之间的连接与消息通信。 |
| 节点( Node ) | 在 ROS 中运行的最小处理单元,通常是一个可执行文件。每 个节点可使用话题或服务与其它节点进行通信。 |
| 消息( Message ) | 是 int 、 float 和 boolean 等数据类型的变量。 |
| 话题( Topic ) | 一种单向异步通信机制。通过发布消息到话题或订阅话题的 形式,可以在节点之间实现数据的传输。话题的类型由对应 消息的类型决定。 |
| 发布( Publish ) | 以与话题内容对应的消息类型发送数据。 |
| 发布者( Publisher ) | 为执行发布,发布者节点在主节点上注册自己的话题等多种信息,并向希望订阅的订阅者节点发送消息。 |
| 订阅( Subscrib ) | 以与话题内容对应的消息类型接收数据。 |
| 订阅者( Subscriber ) | 为执行订阅,订阅者节点在主节点上注册自己的话题等多种信息,并从主节点接收所有发布了此节点需订阅话题的发布者节点的信息 |
| 服务( Service ) | 一种双向同步通信机制。服务客户端请求对应于特定目的任务的服务,服务服务端进行服务响应。 |
| 服务服务器 (Service Server ) | 以请求作为输入,响应作为输出的节点。 |
| 服务客户端 ( Service Client ) | 以响应作为输入,请求作为输出的节点。 |
3.了解 ROS 的常用文件
下表是对 ROS 中部分常用文件的介绍说明:
| 术语名称 | 说明 |
| urdf 文件 | 描述机器人所有元素的模型文件,包含连杆( link )、关节( joint )、 运动学参数(axis )、动力学参数( dynamics )、可视化模型( visual ) 和碰撞检测模型(collision )。 |
| srv 文件 | 存放在 srv 文件夹下,用于定义 ROS 服务消息,包含请求和响应两个部分,请求与响应之间使用符号“ --- ”进行分隔。 |
| msg 文件 | 存放在 msg 文件夹下,用于定义 ROS 话题消息。 |
| package.xml | 描述功能包的属性,包含功能包的名字、版本号、作者等。 |
| CmakeLists.txt | 编译配置文件,使用 Cmake 编译。 |
| launch 文件 | 启动文件,包含系统性启动机器人所需的 node 和 services 。 |
4.了解常用命令
-
ROS shell 命令
| 命令 | 命令释义 | 详细说明 |
| roscd | ros+cd(changes directory) | 移动到指定的 ROS 功能包目录 |
| rosls | ros+ls(lists files) | 显示 ROS 功能包的文件和目录 |
| rosed | ros+ed(editor) | 编辑 ROS 功能包的文件 |
| roscp | ros+cp(copies files) | 复制 ROS 功能包的文件 |
| rospd | ros+pushd | 添加目录至 ROS 目录索引 |
| rosd | ros+directory | 显示 ROS 目录索引中的目录 |
-
ROS 执行命令
| 命令 | 命令释义 | 详细说明 |
| roscore | ros+core | 启动 ROS Master 节点管理器 |
| rosrun | ros+run | 启动 ROS 节点 |
| roslaunch | ros+launch | 启动 launch 文件 |
| rosclean | rosclean | 检查或删除 ROS 日志文件 |
-
ROS 信息命令
| 命令 | 命令释义 | 详细说明 |
| rostopic | ros+topic | 确认 ROS 话题信息 |
| rosservice | ros+service | 确认 ROS 服务信息 |
| rosnode | ros+node | 确认 ROS 节点信息 |
| rosparam | ros+param(parameter) | 确认和修改 ROS 参数信息 |
| rosbag | ros+bag | 记录和回放 ROS 消息 |
| rosmsg | ros+msg | 显示 ROS 消息类型 |
| rossrv | ros+srv | 显示 ROS 服务类型 |
| rosversion | ros+version | 显示 ROS 功能包的版本信息 |
| roswtf | ros+wtf | 检查 ROS 系统 |
-
ROS catkin 命令
| 命令 | 详细说明 |
| catkin_create_pkg | 自动生成功能包 |
| catkin_make | 基于 catkin 构建系统,构建目录中所有的功能包 |
| catkin_eclipse | 修改以 catkin 构建系统生成的功能包,使其能在 Eclipse环境中使用 |
| catkin_prepare_release | 更新由命令“ catkin_generate_changelog ”生成的CHANGELOG.rst 文件 |
| catkin_generate_changelog | 在发布时生成或更新 CHANGELOG.rst 文件 |
| catkin_init_workspace | 初始化 catkin 构建系统的工作目录 |
| catkin_find | 搜寻所有正在使用的工作目录 |
-
ROS 功能包命令
| 命令 | 命令释义 | 详细说明 |
| rospack | ros+pack(age) | 查看与 ROS 功能包相关的信息 |
| rosinstall | ros+install | 安装 ROS 附加功能包 |
| rosdep | ros+dep(endencies) | 安装指定功能包的依赖性文件 |
| roslocate | ros+locate | 显示 ROS 功能包相关信息 |
| roscreate-pkg | ros+create-pkg | 自动生成 ROS 功能包(用于旧的 rosbuild 系统) |
| rosmake | ros+make | 构建 ROS 功能包(用于旧的 rosbuild 系统) |
相关文章:
第 3 课 ROS 常用术语及命令说明
1.ROS文件系统的组成 ROS 文件是由 Packages 和 Manifests ( package.xml )组成。 Packages:功能包,是 ROS 软件中的基本单元,包含节点源码、配置文件、数据定义等。 Manifest( package xml &#x…...
基于AidLux的智慧教育版面分析应用
基于AidLux的智慧教育版面分析应用 1. Aidlux平台介绍 融合架构操作系统AidLux,可以为单一ARM设备同时提供Android和Linux运行环境,双系统既能独立使用又能相互通信。 非虚拟机方式实现双系统融合并行 同时拥有两个系统的完整用户体验无需重启即可在两个系统之间…...
Spring | Spring框架最基本核心的jar包、Spring的入门程序、依赖注入
目录: 1.Spring框架最基本、最核心的jar包2.Spring的入门程序3.依赖注入3.1 依赖注入的概念3.2 依赖注入的实现方式 1.Spring框架最基本、最核心的jar包 Spring是一个轻量级框架,Spring最基本、最核心的的jar包括 : beans、context、core、expression。 …...
[晓理紫]每日论文推送(有中文摘要,源码或项目地址)--大模型相关、扩散模型、视觉导航
专属领域论文订阅 VX关注{晓理紫|小李子},每日更新论文,如感兴趣,请转发给有需要的同学,谢谢支持 分类: 大语言模型LLM视觉模型VLM扩散模型视觉导航具身智能,机器人强化学习开放词汇,检测分割 LLM 标题:…...
【软件项目管理_软件工程】软件项目管理课后相关习题
(1)需求分析是回答系统必须(A)的问题。 A.做什么 B.怎么做 C.何时做 D.为谁做(2)WBS非常重要,下列哪项不是其很重要的原因(D)。 A.帮助组织工作 B.防止遗漏工作 C.为项目估算提供…...
Docker-Compose:教你入门到精通
引言 在当今的软件开发和运维领域,容器技术已经成为了一种非常重要的技术。而Docker-Compose作为Docker的重要工具之一,可以帮助我们轻松地管理和运行容器化的应用程序。本文将详细介绍Docker-Compose的入门到精通知识,帮助你更好地掌握这项技…...
软件设计不是CRUD(10):低耦合模块设计理论——业务抽象:从需求中提取业务维度
接上文《软件设计不是CRUD(9):低耦合模块设计理论——设计落地所面临的挑战》 2、什么是业务抽象 业务抽象是一种将需求落地成模块功能的设计思想,是对业务需求和技术设计进行转换、隔离的一种分析方法。经过业务抽象后的业务模块一般具有较高的业务屈服度,能更大程度满…...
S1-08 流和消息缓冲区
流缓冲区 流缓冲区一般用在不同设备或者不同进程间的通讯,为了提高数据处理效率和性能,设置的一定大小的缓冲区,流缓冲区可以用来存储程序中需要处理的数据、对象、报文等信息,使程序对可以对这些信息进行预处理、排序、过滤、拆…...
Java重修第五天—面向对象3
通过学习本篇文章可以掌握如下知识 1、多态; 2、抽象类; 3、接口。 之前已经学过了继承,static等基础知识,这篇文章我们就开始深入了解面向对象多态、抽象类和接口的学习。 多态 多态是在继承/实现情况下的一种现象…...
【征稿进行时|见刊、检索快速稳定】2024年经济发展与旅游管理国际学术会议(ICEDTM 2024)
【征稿进行时|见刊、检索快速稳定】2024年经济发展与旅游管理国际学术会议(ICEDTM 2024) 2024 International Conference Economic Development and Tourism Management(ICEDTM 2024) 一、【会议简介】 ICEDTM 2024将围绕"旅游管理”“经济发展”的最新研究领域ÿ…...
瑞_Java开发手册_(四)安全规约
🙊前言:本文章为瑞_系列专栏之《Java开发手册》的安全规约篇。由于博主是从阿里的《Java开发手册》学习到Java的编程规约,所以本系列专栏主要以这本书进行讲解和拓展,有需要的小伙伴可以点击链接下载。本文仅供大家交流、学习及研…...
Docker 安全必知:最佳实践、漏洞管理与监控策略
容器安全是实施和管理像 Docker 这样的容器技术的关键方面。它包括一组实践、工具和技术,旨在保护容器化应用程序及其运行的基础架构。在本节中,我们将讨论一些关键的容器安全考虑因素、最佳实践和建议。 容器隔离 隔离对于确保容器化环境的强大性和安全…...
【Flutter】多线程
Flutter 作为一个跨平台的UI库,前面的Flutter 架构有涉及到,Flutter 架构中的运行的多个线程。那么最为一个Flutter开发者,我们如何创建线程呢 多线程 上述我们提及到了,架构层涉及的多线程问题。比如说 主线程, 平台线程&#x…...
STM32-实时时钟RTC-1
...
node(express.js创建项目)+连接mysql数据库
1.node npm的安装 2.express的安装 全局安装:npm install express -gnpm install -g express-generator// ps: 4.0版本把generator分离出来了,需要单独安装3.创建express项目 express 项目名称 cd 项目名称 npm install npm start4.项目中安装数据库 npm install…...
【FLV】记录 H.264的解析
参考 FLV 文件格式分析 知乎大神的FLV文件格式分析。 FLV 首先下发9个字节的FLV 头 -2024-01-08 11:38:29.698 INFO [32196] [evplayer_client_main@153] player clinet run … 2024-01-08 11:38:29.702 INFO [2276] [evplayer_client_main::<lambda_1>::operator ()@14…...
nodejs+vue+ElementUi音乐分享社交网站77l8j
本文介绍的系统主要分为两个部分:一是前台界面:用户通过注册登录可以实现音乐播放、新闻浏览、留言评论等功能;另一个是后台界面:音乐网站管理员对用户信息进行管理,上传更新音乐资源,发布最新音乐资讯等功…...
进销存+小程序商城:实现批发零售企业的互联网转型与管理升级
在当今互联网高速发展的时代,越来越多的批发零售企业开始开始考虑转型。在这个行业中,企业要想取得更好的发展,就要积极地拥抱互联网。专属的订货商城小程序是企业转型的第一步。通过将进销存与订货商城一体化,企业可以更好地满足…...
Tomcat解压打包文件和并部署
一、文件压缩和上传解压 1.本地打包好dist.tar.gz文件 2.通过xftp拖拽上传到知道文件夹下,或者通过命令: cp dist.tar.gz /path/to/destination/folder注:将dist.tar.gz复制到 /path/to/destination/folder文件夹下,该文件夹只是举个例子怎么复制和解压! 3.进入/path/…...
JDK17
JDK 17是Java开发工具包(Java Development Kit)的一个版本。JDK是用于开发和运行Java应用程序的软件包,它包含了编译器、调试器、运行时环境和其他一些实用工具。JDK 17是Java的最新版本,它提供了许多新的功能、增强和改进。 使用…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...
