無人機也在用 CAN:認識 UAVCAN 與工業級無人機案例
技術文章|無人機|UAV|UAVCAN|電池通訊|Kvaser U100
一般人對無人機的印象,多半是消費型空拍機。但在工業與專業領域,無人機要載重、要長時間飛行、要在電磁環境複雜的現場穩定運作,機上各模組之間的通訊可靠度就非常重要。本文介紹專為無人系統設計的 UAVCAN 協定,以及瑞典工業級無人機製造商的實際案例。
集研科技為 Kvaser 台灣原廠授權代理商,提供 Kvaser CAN 介面與中文技術支援。
什麼是 UAVCAN?
UAVCAN 是一種為高可靠、即時的載具內部網路設計的通訊協定,在豐富的抽象化與確定性之間取得平衡,讓複雜的載具系統也能驗證安全關鍵應用。
發布/訂閱+請求/回應
支援無狀態的發布與訂閱訊息,以及請求與回應互動。
去中心化
各節點共用匯流排,在匯流排上擁有平等的權利。
輕量、開源
實作負擔低,以 MIT 授權公開在 GitHub,不需事先申請即可使用。
UAVCAN 的目標應用包括航太、自駕車、工業機器人與太空載具等安全關鍵領域;UAVCAN v1 版本並加入 CAN FD 支援。
想比較 UAVCAN 與 CANopen、J1939 等其他高層協定,請參考:CAN 高層協定介紹。
案例:瑞典工業級無人機 Airolit 以 Kvaser U100 驗證電池通訊
Airolit 是瑞典無人機(UAV)供應商,自行開發工業級無人機平台,產品包括載重 5 kg 的 Explorian XLT,以及載重 3 kg、IP55 等級的 Airolit S1,服務民間與國防客戶,應用於情報、偵察與搜救任務。
Airolit 使用 Kvaser U100 CAN 轉 USB 介面測試電池通訊:確認 CAN 驅動實作正確、電池送出正確的訊框,且沒有通訊延遲。相較於業餘機型常用的 UART/序列通訊,CAN 具有更好的可靠度與抗電磁干擾能力。
「我們需要確認 CAN 驅動實作正確,也就是電池送出正確的訊框、沒有通訊延遲。我們使用自行開發的軟體,很欣賞 Kvaser 工具的彈性與 Linux 支援。」
── Philip Karlsson Gisslow,Airolit 技術長(CTO)
常見問題
Q1:無人機一定用 CAN 嗎?
不一定。從 Kvaser 應用案例來看,業餘機型常用 UART/序列通訊,而工業級機型(如 Airolit)選用 CAN,看重的是可靠度與抗電磁干擾能力。
Q2:UAVCAN 只能用在無人機嗎?
不是。UAVCAN 的目標應用包括航太、自駕車、工業機器人與太空載具等安全關鍵領域。
Q3:Kvaser 介面可以在 Linux 上用嗎?
可以。Airolit 的技術長也特別提到 Kvaser 工具的 Linux 支援。Kvaser 提供 CANlib SDK,並支援 Linux SocketCAN。
※ 應用案例取材自 Kvaser 發布之案例資料,產品規格以原廠最新資料為準。