今日から数回かけて、これまでに学んだFreeRTPSLEGO Mindstorms EV3で動かし、ROS 2ドライバを実装してROS 2対応を進めていきます。

LEGO Mindstorms EV3/NXT ROS indigo対応

もう2年前になりますが、僕は中部大学で開かれた第5回ROS勉強会で、EV3のROS indigo対応の話をしました。

EV3のコンピュータにはLINUXをインストールすることができます。ev3devというDEBIANベースのOSを入れることで、EV3のモータやセンサの入出力をファイルシステム経由で行うことができるようになります。

残念ながら、ev3devのバージョンが上がり、上記資料どおりの方法ではROSドライバを動かせなくなってしまいました。

そこで、その修正をする代わりに、FreeRTPSを直接EV3で実行し、クライアントPCとROS 2の通信を行うとともに、ros1_bridgeでROS 1対応も復活させようという一挙両得の意欲的な計画で進んでみます。

本日はEV3のセットアップ方法を取り上げます。

LEGO Mindstorms EV3購入

LEGO Mindstorms EV3には家庭版と教育版があります。 CPU性能や付属パーツに違いがあり、もし購入を検討していてev3devで遊ぼうと思ったら教育版を買う必要があります。

日本国内でEV3を購入するには代理店を通さなくてはなりません。 私は個人でも購入ができたアフレルを通して購入しました。

https://afrel.co.jp/product/ev3-introduction

ev3devセットアップ

まず、ev3devをインストールするためのMicro SDカードを用意してください。 8GBもあれば十分ですが、ほとんど値段が変わらないため、私はこの16GBを買いました。規格や相性などの問題を気にされる方は同じものを買われることをお勧めします。

Transcend microSDHCカード 16GB Class4 (無期限保証) TS16GUSDHC4
トランセンド・ジャパン
売り上げランキング: 77

SDカードへのev3devインストールは、ドライブ番号の間違いに注意してください。 GUIツールを使うとその恐怖を回避できます。 ただ、コマンドラインツールは何も準備なくできるので、自信のある方はそちらをどうぞ。

インストールが済んだら、SDカードをEV3に挿入しましょう。

以降の作業にはSSHでアクセスしてFreeRTPSなどをセットアップしなくてはならないため、EV3にネットワーク機能を追加するUSB無線LANアダプタか有線LANアダプタが必要です。 ev3devのLinuxカーネルは最新のものであるため、ほとんどのアダプタが動作すると思いますが、僕が購入した以下のものは動作検証済みです。

Apple AppleUSBEthernetアダプタ MC704ZM/A
アップル (2010-10-22)
売り上げランキング: 4,906

LANアダプタも接続が終わったら、ev3devを起動しましょう。 本体の真ん中の四角ボタンを押すとLEDランプが点滅して起動します。

File Browserといった文字列が並んだ画面が表示されれば、無事起動完了です。 無線LANアダプタを使う方は続けてWireless and Networksの設定に進み、SSIDとパスワードを入力しましょう。 反応の悪い方向ボタンと中央ボタンを使って入力しなくてはならないので面倒ですが、以降はSSHログインできるので我慢して入力してください。

画面の左上にIPアドレスが表示されればネットワーク接続の準備完了です。

SSHログイン

BonjourもしくはAvahiがインストール済みのPCなら、EV3のIPアドレスがわからなくてもev3dev.localでEV3にアクセスできます。

$ ping ev3dev.local
$ ssh robot@ev3dev.local
robot@ev3dev.local's password:
             _____     _
   _____   _|___ /  __| | _____   __
  / _ \ \ / / |_ \ / _` |/ _ \ \ / /
 |  __/\ V / ___) | (_| |  __/\ V /
  \___| \_/ |____/ \__,_|\___| \_/

Debian jessie on LEGO MINDSTORMS EV3!

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
robot@ev3dev:~$

デフォルトのパスワードはmakerです。セキュリティが気になる方は変更しましょう。 これで、EV3をLinuxマシンとして扱う準備が整いました。 次回はFreeRTPSをインストールしましょう。