日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ROS2学习(十).ROS概念 - 主题的统计

發(fā)布時間:2023/12/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ROS2学习(十).ROS概念 - 主题的统计 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

主題統(tǒng)計

  • 概述
  • 如何計算統(tǒng)計數(shù)據(jù)
  • 統(tǒng)計數(shù)據(jù)種類
  • 行為
  • 同ROS 1的比較
  • 支持
  • 參考

概述

ROS 2為任何訂閱所接收的消息提供綜合統(tǒng)計功能。這允許用戶收集訂閱統(tǒng)計信息,同時可以更好地描述系統(tǒng)的性能或幫助診斷當前問題。

按照接收到的消息耗時和周期提供相關度量標準。對于每一項數(shù)據(jù),本功能提供平均值、最大值、最小值、標準偏差和樣本計數(shù)等統(tǒng)計數(shù)據(jù)。 這些統(tǒng)計數(shù)據(jù)是在一個移動窗口中計算的。

如何計算統(tǒng)計數(shù)據(jù)

統(tǒng)計功能使用固定內(nèi)存在固定周期內(nèi)通過libstatistics_collector包中的工具加以計算。每個新消息的接收將會被作為現(xiàn)在度量窗口的新樣本。

  • 平均值采用移動平均值1的方法進行計算
  • 最大、最小值和樣本數(shù)在采集到新樣本時進行更新
  • 標準才使用Welford在線算法2

統(tǒng)計數(shù)據(jù)種類

  • 接收消息的間隔時間
    • 單位:毫秒
    • 使用系統(tǒng)時鐘計算接收到的兩條消息間的間隔時間
  • 接受消息的傳播耗時
    • 單位:毫秒
    • 要求消息在報頭字段中填充時間戳,以便計算單條消息從發(fā)布端發(fā)送到達消息接收端的耗時

行為

主題的統(tǒng)計默認是不啟用的。需要通過訂閱配置選項,為特定節(jié)點啟用此功能,才能收集上述相關的統(tǒng)計數(shù)據(jù)。
數(shù)據(jù)以statistics_msg/msg/MetricsMessage的形式發(fā)布到一個可配置的主題(默認為1秒發(fā)送至/statistics)。

注意
發(fā)布周期也將作為樣本采集用的窗口周期。

為了采集消息的間隔時間,我們在消息報頭字段中加入了消息時間戳,因此我們有時需要空數(shù)據(jù)以保持消息間隔的一致性。如果沒有在消息中找到相關的時間戳,所有的統(tǒng)計值都會是NaN。通過發(fā)布空數(shù)據(jù)而不是不進行消息發(fā)布,我們就可以避免信號缺失,并明確表示該數(shù)值無法被測定。
每個窗口的第一個樣本不進行測定,因為要計算統(tǒng)計信息,我們至少需要知道前一個消息的到達時間。

同ROS 1的比較

類似于ROS 1的話題統(tǒng)計,所有消息耗時和消息間隔都會被計算,從發(fā)送端開始計算。其他的ROS 1指標例如丟失的消息數(shù)量或流量,目前沒有提供。

支持

本功能現(xiàn)在僅在ROS 2 Foxy版本C++庫rclcpp中支持。未來的支持計劃可參照以下issue3。

參考


  • Moving Average ??

  • Welford在線算法 ??

  • Topic Statistics Improvements #917 ??

  • 總結

    以上是生活随笔為你收集整理的ROS2学习(十).ROS概念 - 主题的统计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。