10
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CANable 2.0で高速can通信 with ROS 2

Posted at

動作環境

OS Ubuntu22, Ubuntu24
ROS 2 Humble, Jazzy
CANアダプタ CANable 2.0 Nano, Pro

インストール

sudo apt install update
sudo apt install can-utils

公式サイトでファームウェアを更新します

CANableのボタンを押しながら接続して、上記サイトでcandlelightを書き込んでください

Candlelightファームウェアにアップデートすると、CANableはsocketcanでネイティブCANデバイスとして表示されます。slcandは不要です! slcandが完全にバイパスされるため、シリアルラインファームウェアよりもパフォーマンスが向上します。Linuxとsocketcanを使用すれば、標準のcan-utilsコマンドラインユーティリティやWiresharkを使ってバスと通信できます。注:CANable 2.0用のCandlelightファームウェアは現在、FDフレームをサポートしていません。

権限設定

書き込みが終了したらUSBを再接続してください。

sudo dmesg

でVendor, Product, Serialを取得しメモしてください。

例:

[43777.014514] usb 9-1: new full-speed USB device number 9 using xhci_hcd
[43777.168286] usb 9-1: New USB device found, idVendor= {Vendor} , idProduct= {Product} , bcdDevice= 0.00
[43777.168296] usb 9-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[43777.168300] usb 9-1: Product: canable2 gs_usb
[43777.168304] usb 9-1: Manufacturer: canable.io
[43777.168308] usb 9-1: SerialNumber: {Serial}

sudo権限で /etc/udev/rules.d/99-canable.rules を作成して以下を記入してください

SUBSYSTEM=="usb", ATTR{idVendor}=="Vendor", ATTR{idProduct}=="Product", ATTR{serial}=="Serial", SYMLINK+="can", \
RUN+="/sbin/ip link set can0 type can bitrate 1000000", \
RUN+="/sbin/ip link set can0 up"

bitrateのあとの1000000は通信速度bpsです。
複数台使う場合はここを変更する必要があります。
以下コマンドで設定を適用したら完成です!

sudo udevadm control --reload-rules
sudo udevadm trigger
candump can0

で受信したメッセージを表示することができます

ROS2で使う

このリポジトリをcloneしてcolcon buildしてください

ros2 run canable canable_node

送受信をROS 2でやることができます。
HumbleとJazzyで動作確認しています

/can/receive トピックに受信したデータが流れます

/can/transmit トピックに送られたデータをCANに転送します

サンプル

さいごに

即席で書いた記事なのでうまくいかない等あるとおもいます
問題等あればコメントやTwitter等で連絡いただければ全力でサポートします!

10
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?