解决roslaunch启动stage_ros节点仿真时输出rostopic hz速率较低的问题(始终为10Hz)

2023-05-16

问题描述:

在实验过程中偶然间发现无论是odom还是laser_scan的输出频率都只有10Hz; /clock输出速率有50Hz; 

直接使用命令 rosrun stage_ros stageros test.world能够正常输出50Hz;

最初分析原因可能是处理数据太慢或者CPU被占用,导致数据更新缓慢;

查询输出topic速率的指令如下:

<<< rostopic list
/clock
/rosout
/rosout_agg
/stage/irat/cmd_vel
/stage/irat/odometry
/stage/irat/pose_ground_truth
/stage/irat/ranger_0/laserscan
/tf
<<< rostopic hz /stage/irat/odometry
subscribed to [/stage/irat/odometry]
average rate: 9.988
        min: 0.083s max: 0.122s std dev: 0.01182s window: 9
average rate: 9.999
        min: 0.083s max: 0.122s std dev: 0.01040s window: 19
average rate: 9.978
        min: 0.080s max: 0.124s std dev: 0.01185s window: 29
average rate: 9.997
        min: 0.080s max: 0.124s std dev: 0.01185s window: 39
<<< rostopic hz /stage/irat/ranger_0/laserscan
subscribed to [/stage/irat/ranger_0/laserscan]
average rate: 9.929
        min: 0.090s max: 0.115s std dev: 0.00957s window: 9
average rate: 10.001
        min: 0.086s max: 0.115s std dev: 0.00869s window: 19
average rate: 10.031
        min: 0.086s max: 0.116s std dev: 0.00851s window: 30
<<< rostopic hz /clock
subscribed to [/clock]
average rate: 50.572
        min: 0.010s max: 0.031s std dev: 0.00836s window: 48
average rate: 50.285
        min: 0.009s max: 0.031s std dev: 0.00830s window: 98
average rate: 50.180
        min: 0.008s max: 0.031s std dev: 0.00833s window: 148

查询stage ros在线库,查找有关资料:http://rtv.github.io/Stage/modules.html

尝试一下参数:

#interval_real 20
#show_clock  1
#show_clock_interval 20
#update_interval 20

均没有效果!

只有在position 和 ranger中增加 update_interval 20 才有效!因为update_interval 默认值是100ms,即10Hz

最终的test.world文件

define floorplan model
(
  # sombre, sensible, artistic
  color "gray30"

  # most maps will need a bounding box
  boundary 1
  #update_interval 20

  gui_nose 0
  gui_grid 0
  gui_outline 0
  gui_move 0
  gripper_return 0
  fiducial_return 0
  ranger_return 1
)
resolution 0.02
interval_sim 20  # simulation timestep in milliseconds
#interval_real 20
#show_clock  1
#show_clock_interval 20

# configure the GUI window
window
(
  size [ 600.000 600.000 ] # in pixels
  scale 25 # pixels per meter
  center [ 0.0  0.0 ]
  rotate [ 0.0  0.0 ]  			
  show_data 0 #1=on 0=off
)


# load an environment bitmap
floorplan
(
  name "irat-stage"
  bitmap "bitmaps/hospital_section.png"
  size [ 108.6 43.3 2.0 ]
  pose [ 0.0 0.0 0.0 0.0]
)

define laser ranger
(

  # generic model properties
  color "blue"
  size [ 0.156 0.155 0.19 ]
  update_interval 20
  sensor
  (
    range [0.0 8.0]
    fov 360.0
    samples 360    
    noise [ 0 0.01 0.01 ]
  )
)

define robot position
(
  size [ 0.33 0.33 0.2 ]
  #pose [ 0.0 0.0 0.0 0.0 ]  
  localization "gps"
  localization_origin [ 0.0 0.0 0.0 0.0 ]
  update_interval 20

  # odometry error model parameters, 
  # only used if localization is set to "odom"
  odom_error [ 0.0 0.0 0.0 0.0 ]
  #color "gray50"
  origin [ 0.0 0.0 0.0 0.0 ]
  #positonal things
  drive "diff"
  gui_nose 1
  laser(
        pose [ 0.0 0.0 0.5 0.0 ] 
	#ctrl "lasernoise" 
	alwayson 1	
	)

)
robot
(
 name "irat"
 pose [-17 8 0.0 0.0] 
 color "green"
 #ctrl "wander"
)

本系统为ros melodic, stage 版本 4.3

最终效果:

<<< rostopic hz /stage/irat/ranger_0/laserscan
subscribed to [/stage/irat/ranger_0/laserscan]
average rate: 50.487
        min: 0.001s max: 0.046s std dev: 0.01113s window: 48
average rate: 50.039
        min: 0.001s max: 0.047s std dev: 0.01061s window: 98
average rate: 50.066
        min: 0.001s max: 0.047s std dev: 0.01024s window: 148
<<< rostopic hz /stage/irat/odometry
subscribed to [/stage/irat/odometry]
average rate: 50.881
        min: 0.001s max: 0.044s std dev: 0.01059s window: 48

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决roslaunch启动stage_ros节点仿真时输出rostopic hz速率较低的问题(始终为10Hz) 的相关文章

  • 如何在bat脚本中列出指定目录下的所有文件信息

    今天在研究windows系统下的bat脚本 xff0c 想要去遍历一个目录并输出该目录下的所有文件的详细信息 经过一番查找和摸索 xff0c 使用以下代码即可实现 xff1a 64 span class token function ech
  • 解决IDEA导入maven项目Plugin ‘org.apache.maven.pluginsmaven-compiler-plugin‘ not found问题

    问题 xff1a 导入了maven项目 xff0c 报错Plugin org apache maven plugins maven compiler plugin not found等问题 xff0c 不仅仅是 maven compiler
  • ISO11898/ISO14229/ISO14230/ISO15031/ISO15765标准对比简介

    各行各业都有很多的国际标准和规范 xff0c 汽车行业也不例外 xff0c 经常遇到一套一套的标准和规范 xff0c 什么ISO11898 xff0c ISO14229 xff0c ISO14230 xff0c ISO15031 xff0c
  • 如何解决UltraCompare中中文显示乱码的问题

    作为一名程序猿 xff0c 对代码进行对比分析是经常避免不了的 xff0c 这时候就需要一个很好用的对比工具 xff0c 我选择了大名鼎鼎的Ultra Compare 但是 xff0c 使用过程中发现 xff0c 这家伙居然不支持中文 xf
  • 一文简单介绍眼图

    搞通信行业的 xff0c 经常要关注信号的传输质量 xff0c 近几年开始出现了一个新的名词 xff0c 叫眼图 xff0c 可以非常直观的体现出信号传输的情况 那么 xff0c 什么是眼图 xff0c 怎么解读眼图 xff0c 下面就为大
  • 下一代CAN通信技术CAN XL简介

    众所周知 xff0c CAN网络具有易于实现 可扩展 并支持复杂拓扑结构等诸多优点 xff0c 所以目前在各个行业特别是汽车领域 xff0c 得到了非常广泛的应用 但是 xff0c 它也存在着诸多问题 xff0c 其中最大的一点就是总线带宽
  • 聊一下质量管理体系中的DQE/SQE/PQE/CQE

    最近接触了不少质量体系的话题 xff0c 反复的听到SQE DQE等 xff0c 大概知道是跟质量管理相关的一些职位 xff0c 但是具体也不是很清楚 xff0c 于是干脆来理一下 正式开始之前 xff0c 先要介绍一下他们的老祖宗 xff
  • C语言字符串库函数 #include <string.h>

    c语言字符串库函数 include lt string h gt 在头文件 lt string h gt 中定义了两组字符串函数 第一组函数的名字以str开头 xff1b 第二组函数的名字以mem开头 只有函数memmove对重叠对象间的拷
  • gcc编译动态库静态库及Makefile知识汇总;

    gcc编译 动态库静态库及Makefile知识汇总 gcc编译过程gcc的常用选项静态库 xff0c 动态库并制作 xff1b Makefile 基本使用make工具简介 gcc编译过程 我们在Linux下使用vim命令写的 c文件 xff
  • 简单学习一下Linux中的环境变量

    环境变量 最近在学习Linux下的C程序编写 xff0c 在运行可执行程序的时候有个问题就是链接的问题 xff0c 最后通过学习才知道是因为环境变量没有设置好 xff1b 环境变量在进行linux开发过程中经常碰到 xff0c 那什么是环境
  • STM32-ESP8266wifi模块实现

    1 ESP8266WiFi模块介绍 1 1ESP8266wifi 模块 低功耗串口WiFi模块ESP8266内置一个Tensilica xff08 泰思立达 xff09 Xtensa架构的32位处理器L106 xff0c 具有5级流水线 A
  • ESP8266WiFi模块实现代码

    ESP8266WiFi模块实现TCP连接服务器 在前面的博客里 xff08 STM32 ESP8266wifi模块实现 xff09 说到了通过AT命令配置ESP8266实现TCP连接 他的流程是 xff0c 1 xff0c 使能串口 xff
  • 2021-05-14 Redis面试题 redis 部署生产环境

    redis 部署生产环境 redis cluster xff0c 10 台机器 xff0c 5 台机器部署了 redis 主实例 xff0c 另外 5 台机器部署了 redis 的从实例 xff0c 每个主实例挂了一个从实例 xff0c 5
  • 实现Basic认证

    Basic认证是一种较为简单的HTTP认证方式 xff0c 客户端通过明文 xff08 Base64编码格式 xff09 传输用户名和密码到服务端进行认证 xff0c 通常需要配合HTTPS来保证信息传输的安全 Maven依赖 lt par
  • STM32的串口空闲中断

    STM32串口使用DMA方式接收数据可以减小CPU的开销 对于接收定长数据 xff0c 可以将DMA接收缓冲区的长度设定为待接收数据的长度 xff0c 这样利用DMA的传输完成中断DMAx IT TCy就可以知道已经接收了一帧数据 对于接收
  • C#完整的通信代码(点对点,点对多,同步,异步,UDP,TCP)

    C code namespace UDPServer class Program static void Main string args int recv byte data 61 new byte 1024 构建TCP 服务器 得到本机
  • http digest认证(Java server)

    背景 xff1a 服务器接收客户端请求 xff0c 处理并验证 并返回服务器的验证结果 关于digest认证的相关概念及验证原理查看相关的说明 xff0c 此处只对处理进行贴码 CODE import com alibaba fastjso
  • 测试apache时出现[error] [client 192.168.6.1] File does not exist: /etc/httpd/htdocs

    问题 xff1a 测试apache时出现 error client 192 168 6 1 File does not exist etc httpd htdocs 解决方法 xff1a 1 创建文件夹htdocs xff08 etc ht
  • HAL库 STM32 串口通信函数

    HAL UART Receive IT串口 xff01 HAL UART Receive IT amp UART1 Handler u8 aRxBuffer RXBUFFERSIZE HAL UART Receive IT函数使用的时候 简
  • linux环境下安装QT超详细

    QT安装 1 首先下载QT安装包 QT官网 xff1a Index of archive qt 我这里使用的是qt opensource linux x64 5 14 0 run版本 2 打开终端 xff0c 输入命令 xff0c 赋予安装

随机推荐

  • 使用ssh连接虚拟机保姆级教程

    首先安装SSH 安装先检测是否已经安装SSH xff1a service ssh status 如果出现提示 xff1a ssh unrecognized service 说明没有安装openSSH xff0c 则需安装ssh SSH 服务
  • 小游戏2048设计思路超简单

    2048作为一个经典的小游戏 xff0c 对于C语言的逻辑练习是一个比较好的案例了 xff0c 看似很复杂 xff0c 但是如果掌握了设计思路 xff0c 那么就不会觉得难了 xff0c 而且会了这个之后对今后编程的也会有很大的帮助 先分析
  • ES-Elasticsearch查看所有索引及查看某索引下的信息

    1 查看所有索引 xff0c 地址栏直接访问下面的连接 http localhost 9200 cat indicesv amp pretty 2 查看某索引下存的信息 xff0c 查询的信息为索引结构信息 xff08 indexName为
  • 教你十分钟搭建博客,已在多台电脑测试,无坑

    1 前期工作 1 注册Github账号 官网地址 xff1a GitHub 2 下载安装git Git软件下载地址 xff1a Git Downloading Package git scm com 安装的话一直点next就可以了 3 绑定
  • MQTT使用TLS加密

    使用TLS加密在MQTT的使用中是比较常见的 xff0c TLS加密过程在网上有很多说明 xff0c 但是没几个应用教程的 xff0c MQTT软件中的EMQX软件是支持TLS加密的 xff0c 只不过要进行一些设置 安装EMQX软件 首先
  • linux下将QT移植至arm环境

    前言 讲下整个项目流程 xff0c 我们的目标是把qt编出来程序放在arm开发板上面跑 xff0c 首先下载QT源码和tslib源码 xff08 QT源码编译和QT程序运行需要tslib库的支持 xff09 xff0c 在虚拟机里使用交叉编
  • linux下移植onvif至arm环境

    前言 onvif是一种网络摄像头协议 xff0c linux网络摄像头这一块是需要移植onvif协议的 xff0c 整个移植过程是这样的 xff0c 首先onvif协议是依赖于gsoap的 xff0c 所以需要先将gsoap编译安装 xff
  • C语言使用二级指针实现字符串分割

    话不多说 xff0c 直接上代码 include lt stdio h gt int opt char p char ch char res char q 61 p if q 61 61 NULL q 61 61 39 0 39 retur
  • 已include包却提示未定义标识符

    已 include lt string gt xff0c include lt vector gt 却提示string xff0c vector未定义的标识符 因为没定义默认的命名空间 xff0c 改为std string xff0c st
  • jpg和png的区别小结

    png图像的大小是jpg图像大小的数倍 xff0c png为可移植网络图形格式 xff0c 也是一种位图文件存储格式 xff0c 可以进行无损压缩 xff0c jpg是最常见的图像格式 xff0c 图像占用的存储较小 xff0c 但是牺牲了
  • 色彩空间中的HSL、HSV、HSB有什么区别?

    作者 xff1a 大蔚陈 链接 xff1a https www zhihu com question 22077462 answer 29483467 来源 xff1a 知乎 著作权归作者所有 商业转载请联系作者获得授权 xff0c 非商业
  • opencv小程序练习——createBackgroundSubtractorMOG2()实现跟踪

    思想 xff1a 使用createBackgroundSubtractorMOG2 使用运动物体背景分割 使用findContours 查找轮廓并画出 实现一定感官上的跟踪功能 代码如下 xff1a include lt opencv2 o
  • opencv_tutorial_code学习——canny边缘检测后findContours

    tutorial code ShapeDescriptors findContours demo cpp 步骤 xff1a 1 灰度化 2 滤波 3 canny边缘检测 4 findContours canny output contour
  • idea开发工具右侧没有maven工具栏

    一 解决方式一 依次点击 View gt Tool Windows gt Maven xff0c 如下图 xff1a 二 解决方式二 点击如图所示IDEA界面最左下角的按钮 xff0c 如下图 xff1a 三 解决方式三 1 打开项目的 p
  • 语义分割与实例分割的区别

    目前的分割任务主要有两种 xff1a xff08 1 xff09 像素级别的语义分割 xff08 2 xff09 实例分割 这个有意思 xff0c 什么叫实例分割呢 xff1f 它与语义分割有什么区别与联系呢 xff1f 顾名思义 xff0
  • tiny-dnn配置运行

    tiny dnn是一个轻量级的CNN xff08 卷积神经网络 xff09 xff0c 不需要各种依赖和GPU xff0c 由三千多行C 43 43 代码完成 适配android平台的话 xff0c 感觉这个比较好做一点 下载地址 xff1
  • SSM笔记

    进入数据库 xff1a 34 D Program Files x86 mysql 5 7 20 winx64 bin mysql exe 34 u root p admin 展示数据库 xff1a show databases 创建数据库
  • 工程编译那点事:Makefile和cmake(一)

    makefile 前言Makefile介绍 Makefile规则make是如何工作的Makefile使用变量让make自动推导另类风格的Makefilemake中的函数文件搜索绝对顶级的大型工程Makefile 前言 一个项目 xff0c
  • 头文件相互包含问题

    先来看看以下这个例子 xff1a Keyboard h的代码为 span class token macro property span class token directive hash span span class token di
  • 解决roslaunch启动stage_ros节点仿真时输出rostopic hz速率较低的问题(始终为10Hz)

    问题描述 xff1a 在实验过程中偶然间发现无论是odom还是laser scan的输出频率都只有10Hz clock输出速率有50Hz 直接使用命令 rosrun stage ros stageros test world能够正常输出50