商品分類列表PRODUCTS

搜尋
Kvaser 台灣原廠授權代理 集研科技

ROS 機器人也能接 Kvaser:CAN 介面整合入門

技術文章|ROS|Linux|SocketCAN|CANlib|機器人|自駕平台

許多機器人與自駕研究都以 ROS(Robot Operating System)開發,但底盤、馬達驅動器與電池常透過 CAN 匯流排溝通。要讓 ROS 程式收送 CAN 訊息,就需要一個在 Linux 上穩定運作的 CAN 介面。本文說明 Kvaser 介面與 ROS 的整合方式。

集研科技為 Kvaser 台灣原廠授權代理商,提供 Kvaser 介面選型與中文技術支援。

Kvaser 有 ROS 支援嗎?

有。AutonomouStuff 已以 Kvaser Linux 驅動為基礎,為 Kvaser 介面建立 ROS 支援,套件公開在 GitHub:github.com/astuff/kvaser_interface。這個整合套件由 AutonomouStuff 維護,相關問題可洽 AutonomouStuff 支援。

在 Linux 上使用 Kvaser 的三種方式

ROS 套件

使用 AutonomouStuff 的 kvaser_interface,直接在 ROS 中收送 CAN 訊息。

SocketCAN

Kvaser 介面支援 Linux SocketCAN,可用 Linux 標準的 CAN 網路介面開發。

CANlib SDK

Kvaser 免費 SDK,提供 C、C++、C#、Python 等範例;Python 另有原廠 pycanlib。

實際案例:Formula Student 無人車隊

愛沙尼亞 Team Tallinn(塔林應用科技大學與塔林理工大學)參加 Formula Student 無人駕駛(DV)組。車隊原本自製的 CAN 介面板接微控制器沒問題,接上電腦處理器卻出現掉訊框與匯流排錯誤。

改用 Kvaser USBcan Pro 2xHS v2 CB(雙通道、無外殼電路板版本)後,以兩個通道分別連接 1 Mbit/s 與 500 kbit/s 兩條不同速率的 CAN 匯流排,並在 Ubuntu 上透過 SocketCAN 函式庫與 ROS 驅動完成設定。

「電腦與 CAN 匯流排之間的介面問題都已解決,沒有掉訊框,也沒有匯流排錯誤。」
── Tauri Tammaru,Team Tallinn 隊長/總工程師

→ 更多大學自駕車隊案例

想先有一台可以練習的平台?

集研科技代理的 CanEduDev Rover 是 1/5 比例的自駕研究平台,可用於 ROS2 自動化應用與 CAN 通訊分析,並搭配 Kvaser 工具進行通訊分析與資料記錄。→ CanEduDev Rover 自駕研究平台

常見問題

Q1:ROS 套件是 Kvaser 提供的嗎?
不是。ROS 支援套件由 AutonomouStuff 以 Kvaser Linux 驅動為基礎建立並維護,套件相關問題請洽 AutonomouStuff;Kvaser 硬體與驅動相關問題,歡迎洽詢集研科技。
Q2:不用 ROS,可以直接用 Python 控制 Kvaser 嗎?
可以。Kvaser 提供免費 CANlib SDK 與原廠 Python 函式庫 pycanlib。
Q3:開發時要怎麼監看 CAN 訊息?
可使用 Kvaser 免費的匯流排分析軟體 CanKing 7,提供 Windows 與 Linux(x64 與 ARM)版本。

延伸閱讀與相關產品

ROS 專案要接 CAN?

集研科技為 Kvaser 台灣原廠授權代理商。告訴我們您的作業系統、通道數與匯流排速率,我們協助選型與報價。

※ 應用案例取材自 Kvaser 發布之案例資料,產品規格以原廠最新資料為準。