EV3 デバイスの利用

LEGO Mindstorms のセンサーとモーター

LEGO Mindstorms EV3 には標準で、以下のようなモーター・センサーが付属しています。

  • ジャイロセンサー x1
  • カラーセンサー x1
  • タッチセンサー x2
  • 超音波距離センサー x1
  • モーター(L)x2
  • モーター(M)x1

センサー類は、プッシュスイッチは ON/OFF 値を取得可能で、超音波センサー、ジャイロセンサーは連続値を出力可能、カラーセンサーはいくつかの色を認識することもできます。 モーターは2種類(L、M)あり、それぞれ PWM(トルク)制御、速度制御、位置制御が可能で、これらの制御のゲイン等も変更できます。 以下に、EV3 のセンサーとモーターの使用を表示します。

ジャイロセンサー
45505_GyroSensor.jpg
確度モード: 精度 +/- 3°
角速度モード: 最大 440 deg/sec
サンプリングレート 1,000 Hz
カラーセンサー
45506_color.jpg
計測: 赤色光の反射光、周囲の明るさ、色
検出カラー数: 8色 (無色、黒、青、緑、黄、赤、白、茶)
サンプリングレート 1,000 Hz
距離 約1mm~18mm(アフレル調査値)
タッチセンサー
45507_TouchSensor.jpg
オン (1)、オフ (0)
スイッチ可動域: 約4mm
超音波センサー
45504_UltrasonicSensor.jpg
距離計測可能範囲: 3cmから250cm
距離計測精度: +/- 1 cm
前面電飾: 点灯:超音波発信中、点滅:超音波観測中
EV3 Lモーター
45502_LargeMotor.jpg
フィードバック: 1°単位
回転数: 160から170RPM
定格トルク: 0.21 N・m (30oz*in)
停動トルク: 0.42 N・m (60oz*in)
重さ: 76 g
EV3 Mモーター
45503_MediumMotor.jpg
フィードバック 1°単位
回転数: 240から250RPM
定格トルク: 0.08 N・m (11oz*in)
停動トルク: 0.12 N・m (17oz*in)
重さ: 36 g

sysfs 経由でのアクセス

ev3dev からこれらのデバイスにアクセスするには、sysfs という仕組みを経由してアクセスします。 sysfs は /sys 以下にある疑似的なファイルシステムで、ここに存在するファイルに値を書き込んだり読み込んだりすることで、モーターの制御やセンサーデータへのアクセスが可能になります。

sysfs 経由でのデバイスのアクセス方法に関しては、以下の ev3dev のドキュメントに詳細が記載されています。

具体的には、以下のようにアクセスします。

モーターの制御例

モーターを連続回転するには、ポートAにモーター(L/Mどちらでもよい)をコマンドラインから以下のように入力します。

 # echo 50 > /sys/class/tacho-motor/motor0/duty_cycle_sp
 # echo run-forever > /sys/class/tacho-motor/motor0/command

現在の位置を表示させるにはこのように入力します。止めるには Ctrl+C

 # while true; do echo -en "\033[0G$(cat /sys/class/tacho-motor/motor0/speed)   "; done
回転を止めるには、以下のように入力します。

 # echo stop > /sys/class/tacho-motor/motor0/command

センサーの例

センサーなども同様のアクセス法で利用できます。 カラーセンサーをポート1に接続します。カラーセンサーの先1cm位のところに赤いものを置いてください。 以下のようなコマンドを入力すると、5と表示されます。

 # echo "COL-COLOR" > /sys/class/lego-sensor/sensor1/mode
 # cat /sys/class/lego-sensor/sensor1/value1
 5

カラーセンサーには、いくつかのモードがあり、上ではカラー検出モードを使用しました。このモードでは、以下の8つの色 (ただし、0は何もないことを意味する) を認識します。

番号 0 1 2 3 4 5 6 7

コマンドラインからは以上のようにアクセスできますが、プログラムからこれらの操作をしようとすると非常に面倒な手続きが必要になります。

プログラムからデバイスにアクセスためのアクセスライブラリがありますので、これを利用します。

ダウンロード

最新バージョン

初めての方へ

Windows msi(インストーラ) パッケージ (サンプルの実行ができます。)

C++,Python,Java,
Toolsを含む
1.2.0-RELEASE

RTコンポーネントを開発するためには開発環境のインストールが必要です。詳細はダウンロードページ

統計

Webサイト統計
ユーザ数:1761
プロジェクト統計
RTコンポーネント292
RTミドルウエア23
ツール20
文書・仕様書1

旧Webサイト

OpenRTM.org旧Webサイト

OpenHRP3

動力学シミュレータ

Choreonoid

モーションエディタ/シミュレータ

OpenHRI

対話制御コンポーネント群

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク

VirCA

遠隔空間同士を接続し、実験を行うことが可能な仮想空間プラットホーム