サークルで使っているLEGOロボットについて

  • 4
    いいね
  • 0
    コメント

はじめに

この記事は SLP_KBITその2 Advent Calendar 2016 の9日目の記事です。
今回はほとんど内輪向けの記事になります。

組込みをメインとして活動しているETRですが、他のプロジェクトの人は「ロボットを使ってるのはわかるけどあれ何なの?」と感じていることでしょう。
そんなわけで今回は、普段使っているLEGO Mindstorms EV3というロボットと、動作させるための環境についてお話します。

LEGO Mindstorms

LEGO Mindstormsとは、モーター、センサ、マイコンを含んだ教育玩具で、LEGO社とMIT社が共同開発しています。
これまでに、第1世代のRCX、第2世代のNXT、第3世代のEV3が発売されています。
ちなみに私の代の情報環境実験Ⅱの授業まではNXTが使われていました。
特徴として、LEGOブロックでロボットを簡単に作成できる、テキストベースの本格的な制御ができる、ビジュアルベースの直感的な制御環境も提供されるといった点があげられます。

キャプチャ.PNG

何ができるか

LEGO Mindstormsの最大の特徴は、ロボットを簡単に作れることです。
LEGO社が発売しているだけあって、構成パーツはすべてLEGOのパーツとして使用できます。
そのため、物理的に動く物を短時間で作ることができます。
Youtubeで検索すると、ルービックキューブを解いたり演奏したり装着するアームを作ったりしている動画を見ることができます。
ブレッドボートと電子素子を使って何かをしたい場合は、ArduinoやRaspberry Piを使った方がいいでしょう。

EV3の構成パーツ

インテリジェントブロックEV3

処理の中心となるプロセッサにあたる部分です。
単に処理を行うだけでなく、センサの入力ポートと出力ポートを4つずつ備えています。規格はRJ45コネクタ(だったはず)です。
側面には、タイプAのUSBポートと、ミニBのUSBポートがあります。ここにWiFiドングルを指すことによってWiFiを使用することもできます。
また、Bluetoothが内蔵されていたりします。
さらに、microSDを挿入することもできます。microSDにEV3用のOSを書き込んでいる場合、そのOSを使用することができます。

45500_pbrick.jpg

モーター

Lモーター

パワフルな出力を持つモーターです。車のタイヤを回したり、アームを作って持ち上げたりすることに適しています。

45502_LargeMotor.jpg

Mモーター

精度の高い回転を行うことができるモーターです。ETRではあまり使っていません。

45503_MediumMotor.jpg

センサ

タッチセンサ

スイッチのON/OFFを取得するセンサです。ETRではロボットが何かにぶつかったのを検知するのに使っています。

45507_TouchSensor.jpg

カラーセンサ

反射光、色、周囲の明るさを取得できるセンサです。ETRではライントレースを行うのに使っています。

45506_color.jpg

超音波センサ

超音波を出して帰ってくる時間から物体との距離を測ることができるセンサです。ETRでは物体を回避するのに使用しています。

45504_UltrasonicSensor.jpg

ジャイロセンサ

傾きと角速度を測ることができるセンサです。ETRではセグウェイのような倒立したロボットを制御するために使用しています。

45505_GyroSensor.jpg

EV3の動作環境

EV3は、OSによって使用できる言語や開発環境が異なります。
ETRでは主にleJOSを使用しています。

OS 言語 開発環境
leJOS Java Eclipse/NetBeans
ev3RT C/C++ Cygwin/Windows環境のエディタ
MonoBrick C# Xamarin Studio
ev3dev C/Pyyhon/Ruby/Perlなど Tera Termなど/Linux環境のエディタ

leJOS EV3

Oracle純正の仮想マシンを含んだEV3用のLinuxOSです。
EV3のキットに付属されているデバイスを制御するためのAPIを使用できます。
また、Java SE Embeddedというプラットフォームを使用しているため、組込みシステム向けのAPIを使用することができます。

おわりに

動かしてみたい人はLegoWikiを見ながら試してください。
16日のアドベントカレンダーではIoTと絡めたプログラムの紹介を行う予定です。

この投稿は SLP_KBITその2 Advent Calendar 20169日目の記事です。