当前位置: 首页 > news >正文

第 3 课 ROS 常用术语及命令说明

1.ROS文件系统的组成

        ROS 文件是由 Packages Manifests package.xml )组成。
        Packages:功能包,是 ROS 软件中的基本单元,包含节点源码、配置文件、数据定义等。
        Manifest( package xml ):功能包的描述文件,用于定义功能包相关元信息之间的依赖关系,这些信息包括版本、维护者和许可协议等。

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 命令可以大致分为五个类型: ROS shell 命令、 ROS 执行命令、 ROS 信息命令、ROS catkin 命令、 ROS 功能包命令。下面是部分常用的基本命令,大家可简单学习一下:
  • 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等基础知识,这篇文章我们就开始深入了解面向对象多态、抽象类和接口的学习。 多态 多态是在继承/实现情况下的一种现象&#xf…...

【征稿进行时|见刊、检索快速稳定】2024年经济发展与旅游管理国际学术会议(ICEDTM 2024)

【征稿进行时|见刊、检索快速稳定】2024年经济发展与旅游管理国际学术会议(ICEDTM 2024) 2024 International Conference Economic Development and Tourism Management(ICEDTM 2024) 一、【会议简介】 ICEDTM 2024将围绕"旅游管理”“经济发展”的最新研究领域&#xff…...

瑞_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

本文介绍的系统主要分为两个部分&#xff1a;一是前台界面&#xff1a;用户通过注册登录可以实现音乐播放、新闻浏览、留言评论等功能&#xff1b;另一个是后台界面&#xff1a;音乐网站管理员对用户信息进行管理&#xff0c;上传更新音乐资源&#xff0c;发布最新音乐资讯等功…...

进销存+小程序商城:实现批发零售企业的互联网转型与管理升级

在当今互联网高速发展的时代&#xff0c;越来越多的批发零售企业开始开始考虑转型。在这个行业中&#xff0c;企业要想取得更好的发展&#xff0c;就要积极地拥抱互联网。专属的订货商城小程序是企业转型的第一步。通过将进销存与订货商城一体化&#xff0c;企业可以更好地满足…...

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开发工具包&#xff08;Java Development Kit&#xff09;的一个版本。JDK是用于开发和运行Java应用程序的软件包&#xff0c;它包含了编译器、调试器、运行时环境和其他一些实用工具。JDK 17是Java的最新版本&#xff0c;它提供了许多新的功能、增强和改进。 使用…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统&#xff0c;智慧工地全套源码&#xff0c;java版智慧工地源码&#xff0c;支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求&#xff0c;提供“平台网络终端”的整体解决方案&#xff0c;提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...