BDDF 資料下載

前言大綱

這個例子展示如何從 GRPC 日誌 和/或 數據緩沖服務下載數據作為 bddf 數據。 bddf 格式是波士頓動力公司在 2.1 中添加到 SDK 中的文件格式。

設置相依性

此範例需要安裝 bosdyn API 和客戶端,並且必須使用 python3 運行。使用 pip,可以使用以下命令安裝這些相依性:
python3 -m pip install -r requirements.txt

運行示例

本例中有兩個腳本。 第一個是 bddf_download.py,它從機器人下載指定數據並將其保存為 bddf 文件。

另一個示例腳本是 bddf_read.py,它提取並打印存儲在 bddf 文件中的 protobuf 消息。

要查看腳本當前支持的消息類型,請運行:

$ python3 ./bddf_read.py types

要列出給定 bddf 文件中的可用消息系列,請嘗試

$ python3 ./bddf_read.py series {bddf-file}

要在 bddf 文件中提取和打印所有操作員註釋消息,請運行

$ python3 ./bddf_read.py show {bddf-file} bosdyn.api.OperatorComment

要顯示存儲在 bddf 文件中的 RobotId()  GRPC 請求消息,請使用

$ python3 ./bddf_read.py show-grpc {bddf-file} bosdyn.api.RobotIdRequest

要在下面的示例命令行中運行腳本 bddf_download.py,我們將使用以下變量(Bourne-shell 語法):
USERNAME=
PASSWORD=
ROBOT_IP=

DOWNLOAD_BDDF="python3 bddf_download.py --username ${USERNAME} --password ${PASSWORD} ${ROBOT_IP}"

指定時間跨度Specifying time spans

要獲取在 bddf_download.py 中,為數據選擇指定時間跨度所支持的格式列表:
$ python3 bddf_download.py ${ROBOT_IP} --help-timespan
A timespan is {val} or {val}-{val} where:

{val} has one of these formats:
- yyyymmdd_hhmmss  (e.g., 20200120_120000)
- yyyymmdd         (e.g., 20200120)
-  {n}d    {n} days ago
-  {n}h    {n} hours ago
-  {n}m    {n} minutes ago
-  {n}s    {n} seconds ago
- nnnnnnnnnn[.nn]       (e.g., 1581869515.256)  Seconds since epoch
- nnnnnnnnnnnnnnnnnnnn  Nanoseconds since epoch

For example:
 '5m'                    From 5 minutes ago until now.
 '20201107-20201108'     All of 2020/11/07.

基本資料下載

下載過去 5 分鐘(默認時間跨度)的所有數據。數據默認保存到./download.bddf。
$ ${DOWNLOAD_BDDF}

操作員評論

下載最後一天發送到數據緩衝區的所有操作員評論並保存到comments.bddf。

$ ${DOWNLOAD_BDDF} --timespan 1d --type bosdyn.api.OperatorComment -o comments.bddf

打印評論:

$ python3 ./bddf_read.py show comments.bddf bosdyn.api.OperatorComment

事件

從 2022/11/07 上存儲在數據緩衝區中的所有事件下載,並保存到 events.bddf

$ ${DOWNLOAD_BDDF} --timespan 20201107-20201108 --type bosdyn.api.Event -o events.bddf

打印事件

$ python3 ./bddf_read.py show events.bddf bosdyn.api.Event

GRPC 請求/響應

下載 20 分鐘前到 10 分鐘前的 robots-id GRPC 請求/響應,並將它們存儲在文件 robots-id.bddf 中。

$ ${DOWNLOAD_BDDF} --timespan 20m-10m --service robot-id -o robot-id.bddf

打印請求和響應消息 :
$ python3 ./bddf_read.py show-grpc robot-id.bddf bosdyn.api.RobotIdRequest
$ python3 ./bddf_read.py show-grpc robot-id.bddf bosdyn.api.RobotIdResponse


參考資料

特色、摘要,Feature、Summary:

關鍵字、標籤,Keyword、Tag:

留言

這個網誌中的熱門文章

Ubuntu 常用指令、分類與簡介

iptables的觀念與使用

網路設定必要參數IP、netmask(遮罩)、Gateway(閘道)、DNS

了解、分析登錄檔 - log

Python 與SQLite 資料庫

Blogger文章排版範本

Pandas 模組

如何撰寫Shell Script

查詢指令或設定 -Linux 線上手冊 - man

下載網頁使用 requests 模組