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

【ROS】ROS1工具详解

1、roscore

1.1 说明

运行roscore,将会启动三个功能:ROS Master主节点、ROS参数服务器和记录ROS日志输出节点

1.2 用法

roscore [可选参数]

1.3 参数详解

  • -h, --help,帮助信息

  • -p PORT, --port=PORT,指定端口号,默认是11311,如果指定了端口,需要设置环境变量ROS_MASTER_URI,让其它节点知道这个端口,例如: export ROS_MASTER_URI=http://YourPC:1234/

  • -v,打印详细信息 ,加上-v,启动时多了如下几行
    … loading XML file [/opt/ros/melodic/etc/ros/roscore.xml]
    … executing command param [rosversion roslaunch]
    Added parameter [/rosversion]
    … executing command param [rosversion -d]
    Added parameter [/rosdistro]
    Added core node of type [rosout/rosout] in namespace [/]

  • -w NUM_WORKERS, --numworkers=NUM_WORKERS,自定义工作线程个数

  • -t TIMEOUT, --timeout=TIMEOUT,自定义socket连接超时时间,单位秒

  • –master-logger-level=MASTER_LOGGER_LEVEL设置日志等级(‘debug’, ‘info’, ‘warn’, ‘error’, ‘fatal’)

  • –sigint-timeout=SIGINT_TIMEOUT,使用SIGINT信号来杀死核心core的超时时间,单位秒

  • –sigterm-timeout=SIGTERM_TIMEOUT,使用SIGTERM信号来杀死核心core的超时时间,单位秒

2、rosrun

2.1 说明

rosrun先加载包,然后尝试在包里找可执行程序;如果找到了就运行这个可执行程序

2.2 用法

rosrun [--prefix cmd] [--debug] 包名 可执行程序 [可执行程序的参数]

2.3 参数详解

  • –debug,打印调试信息,例如在运行小乌龟时,添加–debug后,增加的信息如下:
    $ rosrun --debug turtlesim turtlesim_node
    [rosrun] Looking in catkin libexec dirs:
    /opt/ros/melodic/lib/turtlesim
    /opt/ros/melodic/share/turtlesim
    [rosrun] Looking in rospack dir: /opt/ros/melodic/share/turtlesim
    [rosrun] Searching for turtlesim_node with permissions /111
    [rosrun] Running /opt/ros/melodic/lib/turtlesim/turtlesim_node

  • –prefix,rosrun调用exec执行命令,例如使用gdb调试时
    $ rosrun --prefix ‘gdb -ex run --args’ turtlesim turtle_teleop_key
    GNU gdb (Ubuntu 8.1.1-0ubuntu1) 8.1.1
    ……
    Use arrow keys to move the turtle. ‘q’ to quit.
    Thread 1 “turtle_teleop_k” received signal SIGINT, Interrupt.
    ……
    (gdb)

3、rostopic

3.1 说明

rostopic用来打印ROS的话题信息
例如:列出小乌龟的话题

~$ rostopic list
/rosout
/rosout_agg
/turtle1/cmd_vel
/turtle1/color_sensor
/turtle1/pose

3.2 用法

rostopic后跟子命令,子命令如下:

  • rostopic bw 按主题显示使用的带宽
  • rostopic delay 显示主题相对于时间戳的延迟
  • rostopic echo 将消息打印到屏幕
  • rostopic find 按类型查找主题
  • rostopic hz 显示主题的发布率
  • rostopic info 打印有关活动主题的信息
  • rostopic list 列出活动主题
  • rostopic pub 将数据发布到主题
  • rostopic type 打印主题或字段类型

3.3 参数详解

3.3.1 rostopic bw

  • -h 打印帮助信息,下面的命令相同,不再赘述
  • -w 设置统计次数,当超过这个次数后,就不再打印带宽信息,默认是100

3.3.2 rostopic delay

  • -w 设置统计次数,当超过这个次数后,就不再打印延时信息,默认是100
  • –tcpnodelay,使用TCP_NODELAY,禁用Nagle算法,Nagle算法的作用是减少小包的数量

3.3.3 rostopic echo

  • -b BAGFILE, --bag=BAGFILE,从 .bag文件中获取信息
  • -p,使用友好的格式打印
    -w NUM_WIDTH,固定宽度的数值
    –filter=FILTER-EXPRESSION,筛选信息
    –nostr 不显示非字符串
    –noarr 不现实数组
    -c, --clear打印下一条时,先清理屏幕
    -a, --all,显示.bag文件的所有信息,必须和-b一起使用
    -n COUNT,显示指定个数的信息
    –offset,显示和当前时间的偏移,单位秒

3.3.4 rostopic hz

用法:rostopic hz [options] /topic_0 [/topic_1 [topic_2 […]]]
参数:

  • -w WINDOW, --window=WINDOW,统计屏率
  • –filter=EXPR,过滤
  • –wall-time使用现实时间
  • –tcpnodelay,使用TCP_NODELAY,禁用Nagle算法,Nagle算法的作用是减少小包的数量

3.3.5 rostopic list

  • -b BAGFILE, --bag=BAGFILE 列出在 .bag 中的主题
  • -v, --verbose列出主题的详细信息
  • -p,只列出发布者
  • -s,只列出订阅者
  • –host列出主机名
~$ rostopic list --host 
Host [lesen-system-product-name]:/rosout/rosout_agg

3.3.6 rostopic pub

用法: rostopic pub /topic type [args…]
参数:

  • -v,打印详细信息
  • -r RATE, --rate=RATE,发布速率
  • -1, --once ,发布一次然后退出
  • -f FILE, --file=FILE,从YAML文件中读取
  • -l, --latch,使能锁存
  • -s, --substitute-keywords,添加关键字
  • –use-rostime使用rostime作为时间戳,否则使用walltime(实际时间)

4、rosservice

4.1 说明

rosservice用来管理ROS本身的服务

4.2 用法

rosservice后跟子命令,子命令如下:

  • rosservice args,打印服务参数
  • rosservice call,使用提供的参数调用服务
  • rosservice find,按服务类型查找服务
  • rosservice info,打印有关服务的信息
  • rosservice list,列出活动服务
  • rosservice type,打印服务类型
  • rosservice uri,打印服务ROSRPC的uri

5、rosnode

5.1 说明

rosnode用来打印节点信息

5.2 用法

rosnode后跟子命令,子命令如下:

  • rosnode ping,测试是否能和节点ping通
  • rosnode list,列出活跃的节点
  • rosnode info,打印节点信息
  • rosnode machine,列出在特定计算机上运行的节点
  • rosnode kill,杀死指定的节点
  • rosnode cleanup,清除无法访问节点的注册信息

6、rosparam

6.1 说明

rosparam用从ROS参数服务上获取、设置、删除参数

6.2 用法

rosparam后跟子命令,子命令如下:

  • rosparam set,设置参数
  • rosparam get,获取参数
  • rosparam load,从文件中加载参数
  • rosparam dump,将参数写入文件
  • rosparam delete,删除参数
  • rosparam list,列出所有参数的名字

7、rosmsg

7.1 说明

rosmsg用于显示ROS消息的信息

7.2 用法

rosmsg后跟子命令,子命令如下:

  • rosmsg show,显示消息内容
  • rosmsg info,列出消息的别名
  • rosmsg list,列出所有的消息
  • rosmsg md5,显示消息的md5值
  • rosmsg package,列出指定包中的消息
  • rosmsg packages,列出指定多个包中的消息

8、rossrv

8.1 说明

rossrv用于显示ROS的服务类型

8.2 用法

rossrv后跟子命令,子命令如下:

  • rossrv show,显示服务描述
  • rossrv info,显示服务别名
  • rossrv list,列出所有的服务类型
  • rossrv md5,显示服务类型md5值
  • rossrv package,列出指定包的服务类型
  • rossrv packages,列出指定多个包的服务类型

9、robbag

9.1 说明

bag是ROS中的一种文件格式,用于存储ROS消息数据。rosbag命令可以记录、回放和操作bag。

9.2 用法

robbag后跟子命令,子命令如下:

  • robbag check,确定一个bag是否可以在当前系统中播放,或者是否可以迁移
  • robbag compress,压缩一个或多个bag文件
  • robbag decompress,解压缩一个或多个bag文件
  • robbag decrypt,解密缩一个或多个bag文件
  • robbag encrypt,加密缩一个或多个bag文件
  • robbag filter,过滤bag里的指定内容
  • robbag fix,修复bag文件中的消息,以便在当前系统中播放
  • robbag info,总结一个或多个bag文件的内容
  • robbag play,以时间同步的方式播放一个或多个bag文件的内容
  • robbag record,记录指定主题的bag文件
  • robbag reindex,重新索引一个或多个bag过滤器

10、rospack

10.1 说明

rospack用于查看包信息

10.2 用法

  • -q,不输出错误报告

rospack后跟子命令,子命令如下:

  • rospack cflags-only-I [–deps-only] [package]
  • rospack cflags-only-other [–deps-only] [package]
  • rospack depends [package] (alias: deps)
  • rospack depends-indent [package] (alias: deps-indent)
  • rospack depends-manifests [package] (alias: deps-manifests)
  • rospack depends-msgsrv [package] (alias: deps-msgsrv)
  • rospack depends-on [package]
  • rospack depends-on1 [package]
  • rospack depends-why --target= [package] (alias: deps-why)
  • rospack depends1 [package] (alias: deps1)
  • rospack export [–deps-only] --lang= --attrib= [package]
  • rospack find [package]
  • rospack langs
  • rospack libs-only-L [–deps-only] [package]
  • rospack libs-only-l [–deps-only] [package]
  • rospack libs-only-other [–deps-only] [package]
  • rospack list
  • rospack list-duplicates
  • rospack list-names
  • rospack plugins --attrib= [–top=] [package]
  • rospack profile [–length=] [–zombie-only]
  • rospack rosdep [package] (alias: rosdeps)
  • rospack rosdep0 [package] (alias: rosdeps0)
  • rospack vcs [package]
  • rospack vcs0 [package]

相关文章:

【ROS】ROS1工具详解

1、roscore 1.1 说明 运行roscore,将会启动三个功能:ROS Master主节点、ROS参数服务器和记录ROS日志输出节点 1.2 用法 roscore [可选参数]1.3 参数详解 -h, --help,帮助信息 -p PORT, --portPORT,指定端口号,默认…...

论Plant Simulation中的Init的使用及调用顺序

往期内容回顾: 一文搞懂Plant Simulation中的Rotation设置 Plant Simulation与python之Socket通信的数据交互问题 自主移动机器人模型制作 写在开头 在阅读之前,可以先尝试回答一下如下问题,如果都能答得上来,这篇文章就可以忽略不看了。 Q1:对于主模型中包括多…...

nginx实现正向代理

1.下载nginx nginx: download 选择自己需要的版版本下载下来 2.解压文件修改ngixn.conf配置文件 events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout…...

【spark】

实验5 Spark Structured Streaming编程实践 实验内容和要求 0.结构化流练习任务 0.1 讲义文件源-json数据任务。按照讲义中json数据的生成及分析,复现实验,并适当分析。 (1)创建程序生成JSON格式的File源测试数据 import osimp…...

ADO.NET 面试题

这里写自定义目录标题 什么是 ADO.NET?ADO.NET 的主要特点有哪些?ADO.NET 的四个组件分别是什么?什么是 Connection 串?Connection 的状态有哪些?什么是 DataAdapter?DataAdapter 的作用是什么?…...

第三篇、基于Arduino uno,用oled0.96寸屏幕显示dht11温湿度传感器的温度和湿度信息——结果导向

0、结果 说明:先来看看拍摄的显示结果,如果是你想要的,可以接着往下看。 1、外观 说明:本次使用的oled是0.96寸的,别的规格的屏幕不一定适用本教程,一般而言有显示白色、蓝色和蓝黄一起显示的&#xff0…...

什么是npu算力盒子,算力是越大越好吗?

一、什么是npu算力盒子?该怎么选? NPU(神经处理单元)算力盒子是一种专门用于进行人工智能计算的硬件设备,其中集成了高性能的NPU芯片。NPU是一种针对深度学习任务进行优化的处理器,具备高度并行计算和低功…...

后端返回文件流时,前端如何处理并成功下载流文件以及解决下载后打开显示不支持此文件格式

一、文件和流的关系 文件(File)和流(Stream)是既有区别又有联系的两个概念。 文件 是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。 存储介质:文件是指在各种存储介质上(如硬盘、可…...

Ansible的脚本-playbook 剧本

目录 1.剧本(playbook) 1.playbook介绍 2. playbooks 的组成 3.案例:编写httpd的playbook 4.定义、引用变量 5.指定远程主机sudo切换用户 6.when条件判断 7.迭代 2.playbook的模块 1.Templates 模块 2.tags 模块 3.Roles 模块 1.…...

python lambda表达式表达式详解及应用

目录 Python Lambda表达式的优势 Lambda表达式用法 1. 当作参数传递 2. 使用Lambda表达式过滤列表 3. 使用Lambda表达式计算数学表达式 4. 使用Lambda表达式作为返回值 5. 实现匿名回调函数 Lambda表达式注意事项 总结 Lambda表达式是Python中的一种匿名函数&#xff…...

Windows 10计算机性能优化:让你的电脑更流畅

Windows 10是目前最流行的操作系统之一,但在长期使用过程中,可能会出现一些性能方面的问题。本文将为你介绍如何选择合适的Windows 10版本,并提供一些优化技巧,使你的电脑性能更加流畅。此外,还将特别关注游戏用户和工…...

SpringMVC底层原理源码解析

SpringMVC的作用毋庸置疑&#xff0c;虽然我们现在都是用SpringBoot&#xff0c;但是SpringBoot中仍然是在使用SpringMVC来处理请求。 我们在使用SpringMVC时&#xff0c;传统的方式是通过定义web.xml&#xff0c;比如&#xff1a; <web-app><servlet><servle…...

【CSS系列】第八章 · CSS浮动

写在前面 Hello大家好&#xff0c; 我是【麟-小白】&#xff0c;一位软件工程专业的学生&#xff0c;喜好计算机知识。希望大家能够一起学习进步呀&#xff01;本人是一名在读大学生&#xff0c;专业水平有限&#xff0c;如发现错误或不足之处&#xff0c;请多多指正&#xff0…...

janus videoroom 对接freeswitch conference 篇1

janus videoroom 实时性非常好&#xff0c; freeswitch conference的功能也很多 &#xff0c;有没办法集成到一块呢 让很多sip 视频终端也能显示到videoroom 里面&#xff0c; 实现方式要不两种 1.改源码实现 &#xff08;本文忽略 难度高&#xff09; 2.找一个videoroom管…...

cs109-energy+哈佛大学能源探索项目 Part-2.1(Data Wrangling)

博主前期相关的博客见下&#xff1a; cs109-energy哈佛大学能源探索项目 Part-1&#xff08;项目背景&#xff09; 这次主要讲数据的整理。 Data Wrangling 数据整理 在哈佛的一些大型建筑中&#xff0c;有三种类型的能源消耗&#xff0c;电力&#xff0c;冷冻水和蒸汽。 冷冻…...

__101对称二叉树------进阶:你可以运用递归和迭代两种方法解决这个问题吗?---本题还没用【迭代】去实现

101对称二叉树 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a; 原题链接&#xff1a; 101. 对称二叉树 https://leetcode.cn/problems/symmetric-tree/ 完成情况&#xff1a; 解题思路&#xff1a; 递归的难点在于&#xff1a;找到可以…...

怎么取消只读模式?硬盘进入只读模式怎么办?

案例&#xff1a;电脑磁盘数据不能修改怎么办&#xff1f; 【今天工作的时候&#xff0c;我想把最近的更新的资料同步到电脑上的工作磁盘&#xff0c;但是发现我无法进行此操作&#xff0c;也不能对磁盘里的数据进行改动。有没有小伙伴知道这是怎么一回事&#xff1f;】 在使…...

如何使用Java生成Web项目验证码

使用Java编写Web项目验证码 验证码是Web开发中常用的一种验证方式,可以防止机器恶意攻击。本文将介绍如何使用Java编写Web项目验证码,包括步骤、示例和测试。 步骤 1. 添加依赖 首先需要在项目中添加以下依赖: <dependency><groupId>com.google.code.kaptc…...

【读书笔记】《亲密关系》

作者&#xff1a;美国的罗兰米勒 刚拿到这本书的时候&#xff0c;就被最后将近100页的参考文献折服了&#xff0c;让我认为这本书极具专业性。 作者使用了14章&#xff0c;从人与人之间是如何相互吸引的&#xff0c;讲到如何相处与沟通&#xff0c;后又讲到如何面对冲突与解决矛…...

面试季,真的太狠了...

金三银四面试季的复盘&#xff0c;真的太狠了… 面试感受 先说一个字 是真的 “ 累 ” 安排的太满的后果可能就是一天只吃一顿饭&#xff0c;一直奔波在路上 不扯这个了&#xff0c;给大家说说面试吧&#xff0c;我工作大概两年多的时间&#xff0c;大家可以参考下 在整个面…...

三天打通全流程,游戏搬砖线下学习,到底适合哪些人?

“线上自己琢磨1个月&#xff0c;不如线下3天。” 第一期线下课学员原话。如果你正在观望 CSGO 游戏搬砖这个项目&#xff0c;或者已经在线上自学了一段时间&#xff0c;却总觉得“差点意思”&#xff0c;那今天这篇内容&#xff0c;值得你认真看完。它来自我们第一期线下课的真…...

AI技术变革下的SEO关键词优化新模式探索

在AI技术的推动下&#xff0c;SEO关键词优化正在经历深刻的变革。AI不仅改变了关键词选择的方式&#xff0c;还极大提升了布局的精准度。通过分析用户行为和市场趋势&#xff0c;AI能够自动推荐最有效的关键词&#xff0c;并实时调整优化策略。这一特点使得企业能够快速响应竞争…...

从H100集群到STM32H7:SITS2026首次公开“超低资源LLM”部署框架(支持<512KB RAM,精度损失<1.2%)

第一章&#xff1a;SITS2026演讲&#xff1a;大模型边缘部署技术 2026奇点智能技术大会(https://ml-summit.org) 在SITS2026主会场的Keynote环节&#xff0c;来自MIT边缘AI实验室与华为昇腾联合团队的报告首次系统性披露了面向10亿参数级大语言模型&#xff08;LLM&#xff0…...

把近万个源文件喂给AI之前,我先做了一件事刀

插件化架构 v3 版本最大的变化是引入了模块化插件系统。此前版本中集成在核心包里的原生功能&#xff0c;现在被拆分成独立的插件。 每个插件都是一个独立的 Composer 包&#xff0c;包含 Swift 和 Kotlin 代码、权限清单以及原生依赖。开发者只需安装实际用到的插件&#xff0…...

聊一聊 C# 中的闭包陷阱:foreach 循环的坑你还记得吗?诖

. GIF文件结构 相比于 WAV 文件的简单粗暴&#xff0c;GIF 的结构要精密得多&#xff0c;因为它天生是为了网络传输而设计的&#xff08;包含了压缩机制&#xff09;。 当我们用二进制视角观察 GIF 时&#xff0c;它是由一个个 数据块&#xff08;Block&#xff09; 组成的&…...

终极frpc-desktop版本发布checklist:确保质量的10个关键步骤

终极frpc-desktop版本发布checklist&#xff1a;确保质量的10个关键步骤 frpc-desktop是一款FRP跨平台桌面客户端&#xff0c;通过可视化配置帮助用户轻松实现内网穿透。本文将分享确保版本发布质量的10个关键步骤&#xff0c;帮助开发团队打造稳定可靠的桌面应用。 1. 版本号…...

终极Windows驱动清理指南:用Driver Store Explorer释放20GB磁盘空间

终极Windows驱动清理指南&#xff1a;用Driver Store Explorer释放20GB磁盘空间 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer Driver Store Explorer&#xff08;简称RAPR&#xff09…...

OBS背景移除插件终极指南:三步实现专业级绿幕效果

OBS背景移除插件终极指南&#xff1a;三步实现专业级绿幕效果 【免费下载链接】obs-backgroundremoval An OBS plugin for removing background in portrait images (video), making it easy to replace the background when recording or streaming. 项目地址: https://gitc…...

告别裸机轮询:用STM32串口中断+DMA实现高效数据收发(附F103/F4代码对比)

STM32串口通信进阶&#xff1a;中断与DMA的高效实战指南 在嵌入式开发中&#xff0c;串口通信如同系统的神经末梢&#xff0c;承担着设备间数据交换的重任。当项目从简单的调试打印升级到高速数据流处理时&#xff0c;传统的轮询方式往往显得力不从心。本文将带您深入STM32的US…...

Stable-Diffusion-v1-5-archiveWebUI插件开发指南:Python扩展接口与SDK文档

Stable-Diffusion-v1-5-archive WebUI插件开发指南&#xff1a;Python扩展接口与SDK文档 1. 引言&#xff1a;为什么需要开发自己的WebUI插件&#xff1f; 如果你已经用了一段时间的Stable Diffusion v1.5 Archive&#xff0c;可能会发现一个痛点&#xff1a;每次生成图片都要…...