數據採集服務 Data Acquisition Service
前言大綱
示例程序演示如何創建數據採集插件服務並運行該服務,以便它可以與機器人上的數據採集服務進行通信。 數據採集插件服務用於與外部負載和硬件通信,從這些傳感器檢索數據,並將數據保存在數據採集存儲服務中。
DataAcquisitionPluginService 基礎類別(在 data_acquisition_plugin_service.py 中定義)可用於創建數據採集插件服務。 示例目錄包含多個不同的示例插件,每個插件都包含在自己的文件夾中,這些插件使用這些幫助函數來創建插件服務,這些服務可以從各種傳感器(包括 Piksi GPS 或點雲生產服務,例如 Velodyne)收集數據 ,或保存與傳感器相關的 json 格式的元數據 ( gps_metadata_plugin_service.py )。
設置相依性
請注意,此命令必須從包含將運行的特定插件服務文件的目錄中運行。
運行數據採集範例插件服務
要從此示例目錄運行插件服務,請發出以下命令:
python3 {PLUGIN_FILE_NAME} --guid {GUID} --secret {SECRET} --host-ip {IP_WHERE_PLUGIN_WILL_RUN} --port {PORT_THE_PLUGIN_WILL_MONITOR} {ROBOT_IP}
注意:點雲插件將要求您傳遞註冊的服務名稱。 您可以通過運行 python -m bosdyn.client --username {USER} --password {PASSWORD} {ROBOT_IP} 目錄列表來找到它。
此示例將兩個不同的 IP 地址作為參數。 --host-ip 參數描述將運行數據採集插件服務的計算機的 IP 地址。 存在幫助程序來嘗試確定正確的 IP 地址。 此命令必須在將運行插件服務的同一台計算機上運行:
python3 -m bosdyn.client --username {USER} --password {PASSWORD} {ROBOT_IP} self-ip
由於示例是為運行負載計算機而創建的,因此它需要輸入參數 --guid(唯一生成的負載說明符)和 --secret(與負載關聯的私有字符串)用於將運行示例的已註冊負載計算機插件。有關詳細信息,請參閱有關 外掛負載軟件配置 configuration of payload software 的文檔。
對於 Spot CORE,默認情況下,此信息將位於文件 : /opt/payload_credentials/payload_guid_and_secret 中。
請注意,您可以通過使用 負載範例 the payloads example 將其註冊為失重負載並為您的計算機創建 GUID 和密碼,從而在您的 PC 上本地運行示例插件。
最後,可以使用 --port (”PORT_THE_PLUGIN_WILL_MONITOR”) 參數指定示例插件服務的端口號。可以繞過端口參數並允許選擇隨機端口號,但不鼓勵這樣做,因為重新啟動可能會導致服務偵聽端口發生意外更改。端口號將與 --host-ip ("IP_WHERE_PLUGIN_WILL_RUN") 一起使用,以完全指定兩個服務在外掛負載 計算機上運行的位置。不同插件的端口號不能相同,必須是開放的,不能被本地防火牆屏蔽,否則機器人和其他應用程序將無法訪問該服務。
可以通過在主機 (Linux) 上運行以下命令來打開服務使用的網絡端口:
測試數據採集插件
與數據採集服務通信
運行與數據採集服務通信的示例:
python3 data_acquisition_example.py --username {USER} --password {PASSWORD} {ROBOT_IP}
從數據採集商店下載
python3 data_acquisition_download.py --username {USER} --password {PASSWORD} {ROBOT_IP} --query-from-timestamp 2020-09-01T00:00:00.0Z --query-to-timestamp 2020-09-04T00:00:00.0Z
請注意,默認情況下,下載腳本會將數據保存到當前目錄,但 --destination-folder 參數可用於更改下載數據的保存位置。
使用 Docker 運行數據採集插件服務
安裝和設置 docker 後,可以將任何數據採集插件服務創建到 docker 容器中,保存為 tar 文件,然後使用 Portainer 在 Spot CORE 上運行。 在插件的特定目錄中,每個插件服務都有 Dockerfile。 這些文件將創建一個安裝了所有必要相依性的 docker 容器,並將啟動插件服務。
按照 本節 this section 開始的有關如何構建和使用 docker 鏡像的說明進行操作。 運行本示例中包含的插件所需的應用程序參數是 --host-ip HOST_COMPUTER_IP --guid GUID --secret SECRET ROBOT_IP。
參考資料
- Data Acquisition Plugin Services
- aggregate : 總計的
留言
張貼留言
Aron阿龍,謝謝您的留言互動!