ROS2: Ubuntu22.04にArduino, Teensy, micro-rosの環境を準備する
海洋ロボコンをやってた人です。
今回は、Teensy4.1 + micro-ros-arduinoの開発環境及びテストを以下のように試してみました。
すでに、素晴らしい記事がたくさんありますので、こちらではUbuntu22.04にArduino周りの開発環境を構築し、micor-ros-arduinoを試すまでの手段を雑になぐり書きしていきます。
開発準備環境
- Laptop PC
- Ubuntu 22.04 ROS2 Humble
※2023/02/26追記: 本記事の「ROS2」表記、正しくは「ROS 2」です。
Ubuntu22.04へTeensy4.xの開発環境を準備
各ソフトウェアをインストールするために、アーキテクチャを調べておきます
uname -m
--------------------
x86_64
Ubuntu 22.04へArduino IDEへインストール
Legacy IDE(1.8.x)からLinux 64 bits
を選択して.tar.xzファイルをインストールする
ファイル解答後、任意のディレクトリに場所を移動し、インストールする
tar xvf arduino-1.8.19-linux64.tar.xz
mkdir -p ~/.local/
mv arduino-1.8.19 ~/.local/
cd ~/.local/arduino-1.8.19/
bash arduino-linux-setup.sh $USER
sudo reboot
cd ~/.local/arduino-1.8.19/
sudo bash install.sh
Arduino IDEのバージョンが「Arduino 2.x.x Software Development」のときはFile > Preferences から「,」単位で"Additional boards manager URLs"を追加すればBOARDS MANAGERから追加できる
ESP32ボードのインストール
ubuntu22.04にArduino環境を準備しているので、こちらもインストールしておく。
Arduino IDE側でFile > Preferences > Additional Boards Manager URLs
と選択
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Tools > Boards > Boards Manager
でesp32をインストール。
というエラーが発生した場合
sudo pip3 install pyserial
sudo pip3 install esptool
Teensyduinoのインストール
Download Teensyduino, Version 1.57のページに飛ぶのでLinux Installer (X86 64bit)
を選択してインストール
cd ./Downloads/
chmod u+x TeensyduinoInstall.linux64
./TeensyduinoInstall.linux64 --dir=/home/ubuntu/.local/arduino-1.8.19
また、アプリケーションを起動し
./TeensyduinoInstall.linux64
Nextで勧めてくと、ERROR in /etc/udev/rules.d/00-teensy.rulesとエラーが生じることがあるので
sudo cp /tmp/00-teensy.rules /etc/udev/rules.d/
# または
cd /tmp
wget https://www.pjrc.com/teensy/00-teensy.rules
sudo cp 00-teensy.rules /etc/udev/rules.d/
で対応・解決させます。
micro_ros_arduinoライブラリのインストール
Githubページ右上のCode > Download ZIP
からZIPをダウンロード。
Arduino IDE側で
Sketch > Include Library > Add .Zip library
でダウンロードしたZIPを選択してインストールする。
micro_ros_arduinoでTeensy-ROS2を試す
ボードの選択
Tools > Board > Teensyduino > Tennsy4.1
サンプルプログラムを書き込む
File > Examples > INCOMPATIBLE > micro_ros_arduino
というエラーでプログラムを書き込めない場合は、micro_ros_arduinoのplatform_teensy.txt
のコンパイル情報をarduino-1.8.19下のplatform.txtにデータ転送します。
export ARDUINO_PATH=/home/ubuntu/.local/arduino-1.8.19/
cd $ARDUINO_PATH/hardware/teensy/avr/
curl https://raw.githubusercontent.com/micro-ROS/micro_ros_arduino/humble/extras/patching_boards/platform_teensy.txt > platform.txt
Arduino 2.X.Xの場合は以下
cd ~/.arduino15/packages/teensy/hardware/avr/1.58.2
curl https://raw.githubusercontent.com/micro-ROS/micro_ros_arduino/humble/extras/patching_boards/platform_teensy.txt > platform.txt
これで再び、プログラムを書き込んでみて、上手くできればOK
を参考に、micro_rosのワークスペース等を準備してサンプルプログラムを走らせます。
Sample Programs
Reference
Arduino IDEをUbuntu 20.04にインストールする
Discussion