(4)ModalAI VOXL

文章目錄

前言

4.1 購買什么

4.2 硬件設置

4.3 VOXL 攝像機配置

4.4 自動駕駛儀配置

4.4.1 使用 OpticalFlow 進行 EKF3 光源轉換

4.5 視頻


前言

本文介紹了如何將 ModalAI VOXL-CAMArduPilot 配合使用,以替代 GPS,從而實現 Loiter、PosHold、RTL、Auto 等定位控制模式。


VOXL-CAM 中的 VOXL 電路板可以單獨(individually?)購買,作為配套計算機使用。此外,還可提供更新、功能更強大的 VOXL 2 配套計算機(VOXL 2 companion computer?)。

Note

ArduPilot 4.3(及更高版本)支持 VOXL 攝像頭。

  • 4.1 購買什么

  • VOXL CAM + TOF Dev Kit
  • Flight Controller Telemetry Cable
  • Optionally an 8GB or larger SD Card

4.2 硬件設置

如上圖所示,將 VOXL 攝像機連接到自動駕駛儀。在這些說明中使用的是自動駕駛儀的 Telem2 端口。

VOXL 攝像頭安裝在飛行器前部,使 Wifi 天線從攝像頭底部伸出。

4.3 VOXL 攝像機配置

ModalAI’s VOX-CAM setup instructions here

讓相機正常工作的最基本步驟包括:

  • 在 Ubuntu 工作站上設置 adb(Setup adb);
  • 將攝像機連接到 Ubuntu 工作站,啟動 adb shell 并運行 voxl-configure-vision-px4(run voxl-configure-vision-px4)(注:當要求輸入 IP 地址時,可直接按 <enter> 鍵);
  • 運行“systemctl enable voxl-mavlink-server”配置 mavlink 服務器自動啟動;
  • 可選擇運行“systemctl status voxl-vision-px4”(run “systemctl status voxl-vision-px4”)來檢查 VOXL 是否正在生成良好的位置估計值。

4.4 自動駕駛儀配置

用地面站(如任務規劃器)連接自動駕駛儀,檢查是否設置了以下參數:

  • SERIAL2_PROTOCOL = 2(MAVLink2)。請注意,這假定攝像機已連接到自動駕駛儀的“Telem2”端口;
  • SERIAL2_BAUD = 921(921600 波特);
  • 可選擇設置 SERIAL2_OPTIONS? = 1024(不轉發 mavlink 至/從),禁止將攝像機的里程測量信息發送至 GCS;
  • 可選擇設置 SR2_EXTRA3 = 0,禁止向攝像機發送 SYSTEM_TIME 信息,因為已知 SYSTEM_TIME 會導致攝像機丟失位置估計值(例如,質量降為-1)。請注意,這需要將攝像機連接到自動駕駛儀的第二個 mavlink 端口(例如通常的 Telem2);
  • VISO_TYPE = 3 (voxl);
  • 將 VISO_POS_X、VISO_POS_Y、VISO_POS_Z 設置為相機在無人機上相對于重心的位置。詳見傳感器位置偏移補償(sensor position offset compensation);
  • 可選擇將 VISO_QUAL_MIN 增至 10(或更高),以便僅在質量為 10%(或更高)時才消耗相機的估計值。

如果只使用 VOXL 攝像機進行位置估算和航向(例如不使用 GPS):

  • EK3_SRC1_POSXY?= 6 (ExternalNav);
  • EK3_SRC1_VELXY?= 6 (ExternalNav);
  • EK3_SRC1_POSZ?= 6 (ExternalNav);
  • EK3_SRC1_VELZ?= 6 (ExternalNav);
  • EK3_SRC1_YAW?= 6 (ExternalNav)。

修改參數后,重啟自動駕駛儀。與地面站連接,(如果使用任務規劃器)在地圖上單擊鼠標右鍵,選擇“在此設置原點”、“在此設置 EKF 原點”,告訴 ArduPilot 飛行器的位置,它就會立即出現在地圖上。

用于室內/室外轉換(例如室內使用 VOXL 攝像頭,室外使用 GPS+指南針):

  • EK3_SRC1_POSXY?= 3 (GPS);
  • EK3_SRC1_VELXY?= 3 (GPS);
  • EK3_SRC1_POSZ?= 1 (Baro);
  • EK3_SRC1_VELZ?= 0 (None);
  • EK3_SRC1_YAW?= 1 (Compass);
  • EK3_SRC2_POSXY?= 6 (ExternalNav);
  • EK3_SRC2_VELXY?= 6 (ExternalNav);
  • EK3_SRC2_POSZ?= 6 (ExternalNav);
  • EK3_SRC2_VELZ?= 6 (ExternalNav);
  • EK3_SRC2_YAW?= 6 (ExternalNav);
  • RC6_OPTION? = 90(EKF Pos 信號源)允許飛行員使用通道 6 在信號源 1(如 GPS+指南針)和信號源 2(如 VOXL 攝像機)之間切換。開關的低位置為源 1(GPS+指南針),中間位置為源 2(如 VOXL),高位置為源 3(如無),這將導致 EKF 失去位置估計并觸發 EKF 故障安全。為避免飛行員錯誤觸發 EKF 故障保護,您可能需要將 EK3_SRC1_xxx 或 EK2_SRC2_xxx 復制到 EK3_SRC3_xx;
  • RC7_OPTION = 80(Viso Align)允許飛行員在飛行前使用通道 7 將攝像機的偏航與 AHRS/EKF 偏航重新對齊。起飛前重新調整偏航是個好主意,否則可能會發生位置失控(又稱“廁所保齡球”)。

修改參數后,重新啟動自動駕駛儀

有關 GPS/Non-GPS 轉換的更多詳情,請點擊此處(GPS/Non-GPS Transitions can be found here)。

為了在 VOXL 出現故障時使用光流和測距儀作為備份,這里提供了一個用于外部導航/光流轉換的 Lua 小程序(ExternalNav/Optical flow transitions is here)。

4.4.1 使用 OpticalFlow 進行 EKF3 光源轉換

如果需要在外部導航流和光學流之間切換,請參閱外部導航流/光學流轉換(ExternalNAV/Optical Flow Transitions)

4.5 視頻

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/84212.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/84212.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/84212.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大模型高效微調方法綜述:P-Tuning軟提示與lora低秩微調附案例代碼詳解

Prompt Tuning 和 P-Tuning 都屬于“軟提示”&#xff08;soft prompt&#xff09;范式&#xff0c;但 P-Tuning 首次提出用小型 LSTM/MLP 對提示嵌入進行編碼生成&#xff0c;而 Prompt Tuning&#xff08;又稱 Soft Prompt Tuning&#xff09;則直接對一段可訓練的嵌入序列做…

圖解深度學習 - 深度學習的工作原理

上一篇&#xff0c;我們已經知道機器學習是將輸入&#xff08;比如圖像&#xff09;映射到目標&#xff08;比如數字“4”&#xff09;的過程。這一過程是通過觀察許多輸入和目標的示例來完成的。 我們還知道&#xff0c;深度神經網絡通過一系列簡單的數據變換&#xff08;層&…

實現圖片自動壓縮算法,canvas壓縮圖片方法

背景&#xff1a; 在使用某些支持webgl的圖形庫&#xff08;eg&#xff1a;PIXI.js&#xff0c;fabric.js&#xff09;場景中&#xff0c;如果加載的紋理超過webgl可處理的最大紋理限制&#xff0c;會導致渲染的紋理缺失&#xff0c;甚至無法顯示。 方案 實現圖片自動壓縮算…

周界安全防護新突破:AI智能分析網關V4周界入侵檢測算法的技術應用

一、方案概述 在安防周界防護領域&#xff0c;傳統紅外對射、電子圍欄等防護系統弊端顯著&#xff0c;其誤報率高&#xff0c;易受飛鳥、樹枝等干擾&#xff0c;且在惡劣天氣、復雜光照下難以精準識別入侵。隨著安全需求升級&#xff0c;基于AI智能分析網關V4的周界翻越入侵檢…

解決服務器重裝之后vscode Remote-SSH無法連接的問題

在你的windows命令窗口輸入&#xff1a; ssh-keygen -R 服務器IPssh-keygen 不是內部或外部命令 .找到Git(安裝目錄)/usr/bin目錄下的ssh-keygen.exe(如果找不到&#xff0c;可以在計算機全局搜索) 2.屬性–>高級系統設置–>環境變量–>系統變量,找到Path變量&#…

leetcode 33. Search in Rotated Sorted Array

題目描述 可以發現的是&#xff0c;將數組從中間分開成左右兩部分的時候&#xff0c;一定至少有一部分的數組是有序的。左部分[left,mid-1]&#xff0c;右部分[mid1,right]。 第一種情況&#xff1a;左右兩部分都是有序的&#xff0c;說明nums[mid]就是整個數組的最大值。此時…

推薦一款滴滴團隊開源流程圖編輯框架logic-flow

LogicFlow 是一款基于 JavaScript 的流程圖編輯框架&#xff0c;提供直觀的可視化界面&#xff0c;幫助用戶輕松創建、編輯和管理復雜的工作流、業務邏輯或流程模型。其核心優勢在于低代碼化、高度可定制和強交互性&#xff0c;適用于業務系統開發、BPMN 流程設計、決策樹建模等…

java 進階 1.0.3

Thread API說明 自己滾去看文檔 CPU線程調度 每一個線程的優先使用權都是系統隨機分配的&#xff0c;人人平等 誰先分配到就誰先用 也可以耍賴&#xff0c;就是賦予某一個線程擁有之高使用權&#xff1a;優先級 這樣的操作就叫做線程調度 最基本的是系統輪流獲得 java的做法是搶…

匯川EasyPLC MODBUS-RTU通信配置和編程實現

累積流量計算(MODBUS RTU通信數據處理)數據處理相關內容。 累積流量計算(MODBUS RTU通信數據處理)_流量積算儀modbus rtu通訊-CSDN博客文章瀏覽閱讀219次。1、常用通信數據處理MODBUS通信系列之數據處理_modbus模擬的數據變化后會在原來的基礎上累加是為什么-CSDN博客MODBUS通…

【機械視覺】Halcon—【二、Halcon算子全面介紹(超詳細版)】

介紹 Halcon 的算子&#xff08;operators&#xff09;按照功能被系統性地劃分為多個類別&#xff0c;官方文檔中目前&#xff08;Halcon 22.11 版本&#xff09;共有 19 個主分類&#xff0c;每個主分類下還有若干子分類。 本人在此對這19個分類的常用核心算子進行了一系列的…

Https流式輸出一次輸出一大段,一卡一卡的-解決方案

【背景】 最近遇到一個奇怪的現象&#xff0c;前端vue&#xff0c;后端python&#xff0c;服務部署在服務器上面后&#xff0c;本來一切正常&#xff0c;但公司說要使用https訪問&#xff0c;想著也沒什么問題&#xff0c;切過去發現在沒有更改任何代碼的情況下&#xff0c;ht…

Vue常用自定義指令-積累的魅力【VUE】

前言 在【自定義指令—v2與v3之間的區別【VUE基礎】一文中&#xff0c;整理了自定義指令部分vue2和vue3 兩個版本的區別&#xff0c;有興趣的伙伴或者針對自定義部分比較迷茫的伙伴可以跳轉看一下。此次主要介紹一些自己積累的一些自定義指令的代碼&#xff0c;與大家一起分享。…

【mysql】mysql的高級函數、高級用法

mysql是最常用的數據庫之一&#xff0c;常見的函數用法大家應該都很熟悉&#xff0c;本文主要例舉一些相對出現頻率比較少的高級用法 (注&#xff1a;需注意mysql版本&#xff0c;大部分高級特性都是mysql8才有的) 多值索引與虛擬列 主要是解決字符串索引問題&#xff0c;光說…

C#日期和時間:DateTime轉字符串全面指南

C#日期和時間&#xff1a;DateTime轉字符串全面指南 在 C# 開發中&#xff0c;DateTime類型的時間格式化是高頻操作場景。無論是日志記錄、數據持久化&#xff0c;還是接口數據交互&#xff0c;合理的時間字符串格式都能顯著提升系統的可讀性和兼容性。本文將通過 20 實戰示例…

Canvas設計圖片編輯器全講解(一)Canvas基礎(萬字圖文講解)

一、前序 近兩年AI發展太過迅速&#xff0c;各類AI產品層出不窮&#xff0c;AI繪圖/AI工作流/AI視頻等平臺的蓬勃發展&#xff0c;促使圖片/視頻等復雜內容的創作更加簡單&#xff0c;讓更多普通人有了圖片和視頻創作的機會。另一方面用戶內容消費也逐漸向圖片和視頻傾斜。在“…

Javase易混點專項復習02_static關鍵字

1. static關鍵字1.1概述1.2修飾一個成員變量例&#xff1a;1.2.1靜態屬性與非靜態屬性示例及內存圖對比 1.3修飾一個方法&#xff08;靜態方法&#xff09;1.4.static修飾成員的訪問特點總結1.5動態代碼塊和靜態代碼塊1.5.1動態代碼塊1.5.2 靜態代碼塊 1.6帶有繼承的對象創建過…

C++滑動門問題(附兩種方法)

題目如下&#xff1a; 滑動窗口 - 題目 - Liusers OJ ——引用自OJ網站 方法如下&#xff1a; 1.常規思想 #include<bits/stdc.h> using namespace std; int main() {int n,k;int a[110];cin>>n>>k;for(int i0;i<n;i){cin>>a[i];}for(int i0;i…

mysql連接池druid監控配置

文章目錄 前置依賴啟用配置訪問監控一些問題 前置 連接池有很多類型&#xff0c;比如 c3p0&#xff0c;比如 hikariCP&#xff0c;比如 druid。c3p0 一些歷史項目可能用的比較多&#xff0c;hikariCP 需要高性能的項目比較多&#xff0c;druid 性能也很好&#xff0c;而且還提…

Jetson系統燒錄與環境配置全流程詳解(含驅動、GCC、.Net設置)

Jetson系統燒錄與環境配置全流程詳解&#xff08;含驅動、GCC、.Net設置&#xff09; 目錄1. 準備工作與工具安裝1.1 主機系統要求1.2 安裝 SDK Manager 2. JetPack 系統燒錄流程2.1 Jetson 進入恢復模式2.2 使用 SDK Manager 燒錄 JetPack 3. Jetson 系統基礎設置4. 配置 .Net…

分布式緩存:緩存的三種讀寫模式及分類

文章目錄 緩存全景圖Pre緩存讀寫模式概述1. Cache Aside&#xff08;旁路緩存&#xff09;工作流程優缺點 2. Read/Write Through&#xff08;讀寫穿透&#xff09;工作流程優缺點典型場景 3. Write Behind Caching&#xff08;異步寫回&#xff09;工作流程優缺點典型場景 緩存…