LEGO EV3


20130817lego_ev3_finish

FabLab Kannai に、LEGO の新型ロボットキット EV3 が届きました。
7月に開催した アフレルEV3キャラバン100 のお礼として頂いたものです。
アフレルさん、ありがとうございます。

さっそく、組み立ててみました。
20130817lego_ev3_parts20130817lego_ev3_partslist

まず、右と左のモーターを作ります。
20130817lego_ev3_moter_left20130817lego_ev3_motor_right

2時間ほどで、くるま型の基本ができました。
20130817lego_ev3_car

試運転します。
前機種のNXTに比べて、電源投入時の起動が遅くなっています。
OS に Linux を採用しているためだと思います。

さらに、リフト用のモータ、距離センサ、方位センサ、タッチセンサ、カラーセンサなどを追加します。
20130817lego_ev3_motor_lift20130817loeg_ev3_sensor_gyro20130817lego_ev3_sensor_distance

これで完成です。
20130817lego_ev3_finish


Arduinoでデータハーベスティング – FabLab Kannai


20130810fablab_meeting

2013年8月10日、FabLab Kannai で行われた Arduinoでデータハーベスティング にスタッフとして参加した。

Arduino を使って、データを計測・収集するやりかたを実習します。
– 温度センサーを使ってみる
– 電池で動かしてみる
– カレンダクロックで時間を取得する
– microSDカードにデータを格納する
– 無線通信でデータを送信する
20130810fablab_arduino_120130810fablab_arduino_2

私は裏メニューの Alpha Rex を組み立てる を担当していました。
LEGOマインドストーム で、2足歩行ロボット を組み立てます。
20130810fablab_nxt_parts20130810fablab_nxt_dismantle

2時間ほどで、足が2脚と中央モーターが出来ました。
20130810fablab_nxt_assemble2013fablab_nxt_legs

そこでハタと困ったことに気づいた。どうみてもパーツが足りない。
慌ててネットで調べてみると、NXT 2.0 キットでは Alpha Rex は組み立てられないとのこと。
ええっ! キットの箱にはデカデカと Alpha Rex の絵があるのに。(^^:
仕方ないので、後半は組み立てた部分をばらして、簡単な車を作りました。


LEGO マインドストーム を公開しました


201307013mindstorm_logo

「LEGO マインドストーム」を Google Play に公開しました。
Android 端末から LEGO Mindstorms NXT を操縦するコントローラです。

このアプリは、2年前にマインドストームを購入したときから、開発を開始しています。その後、徐々に改良してきました。
もう少し機能を追加して、ソースコードを奇麗にしたら、アプリを公開しよう、思いながら、延ばし延ばしになっていました。

明日開催される Google Demo Party にマインドストームを展示します。
これを機会に、Google Play に公開しました。

マインドストームは、7年前から市販されているロボットなので、Google Play には関連アプリが30個ほど公開されています。
今回のアプリの特徴は、ジョイステックコントローラー から操縦できることです。
Android 4.1 (API 16) から追加された InputManager を使っています。
ひとまず、世界初みたいです。

詳しい使い方は LEGO マインドストーム をご覧ください。

関連
アンドロイド から マインドストーム を動かす
アンドロイド の傾きセンサで マインドストーム を動かす
MINDdroid – Shooterbot
入力デバイスの一覧を取得する


Android端末からロボットを操縦する


LEGO MindStroms

LOGO社が販売している学習用のロボットのキットです。
これを使ったロボットのコンテストが世界中で開催されています。

Android の傾きセンサで LEGO MindStroms を操縦する
Android と MindStroms の間の通信には Bluetooth を使用した。
Android の傾きセンサーを使って、MindStroms の進む方向を制御する。
Android のプログラムには、JAVA ではなく、App Inventor を使用した。

Pololu m3pi

Pololu社が販売しているマイクロマウス型のロボットです。
マイコンにはNXP社のmbedを使用しています。
NXP社やARM社の展示会でもよくデモをしています。

Android 端末から pololu m3pi を操縦する
Android と m3pi の間の通信には Bluetooth を使用した。
Android のタッチパネルを使って、m3pi の進む方向を制御する。
Android のプログラムには、JAVA を使用した。


MINDdroid – AlphaRex


MINDdroid は、アンドロイドからマインドストームを操縦する LEGO の公式アプリです。

マインドストームでは AlphaRex という2足歩行のロボットを組立ることができます。
MINDdroid には、Shooterbot 以外に、AlphaRex を使ったデモが含まれています。
AlphaRex を歩かせたり、首を回したり、音楽を鳴らしたり、センサーを読み取り、アンドロイド端末にしゃべらせたり出来ます。

このアプリは、標準のマインドストームでは動作しません。
MINDGameZ と同様に leJOS ( Java for LEGO Mindstorms ) という環境で動作します。
マインドストームのOSを入れ替えるようです。

MINDdroid 1.2: New Features
YouTube Preview Image

関連
MINDdroid – Shooterbot
MINDdroid – MINDGameZ
・MINDdroid – AlphaRex


MINDdroid – MINDGameZ


MINDdroid は、アンドロイドからマインドストームを操縦する LEGO の公式アプリです。

MINDdroid には、 Shooterbot 以外に、MINDGameZ というゲームが含まれています。
1台のマインドストームで、9人までのプレーヤーが遊べます。
プレーヤーは紙に描かれた道を操縦してポイントを集めます
マインドストームに光センサーと取り付けて、道の境を検出します。
道をはみ出すとゲームオーバーです。
速さと時間でポイントが決まります。

このゲームは、標準のマインドストームでは動作しません。
leJOS ( Java for LEGO Mindstorms ) という環境で動作します。
マインドストームのOSを入れ替えるようです。

MINDGameZ: First Candidate
YouTube Preview Image


MINDdroid – Shooterbot


MINDdroid は、アンドロイドからマインドストームを操縦する LEGO の公式アプリです。

Shooterbot を傾きセンサで動かします。
Shooterbot controlled with MINDdroid
YouTube Preview Image

ソースコードが github で公開されています。

関連
・MINDdroid – Shooterbot
MINDdroid – MINDGameZ
MINDdroid – AlphaRex


アンドロイド の傾きセンサで マインドストーム を動かす


YouTube Preview Image

この記事は 日本 App Inventor ユーザー会 Advent Calendar 2011 という企画の1つのエントリです。

以前、書籍 30分でつくれるAndroidアプリ に紹介されている方法で、アンドロイドからマインドストームを動してみました
それは、タッチパネル上のボタンを押すと、マインドストームが前進するというものでした。

今回は、アンドロイドの傾きセンサを利用してみました。
きっかけは、日本App Inventorユーザー会 のMLで下記のようなやりとりがあったことです。

機械電気科 都島工業
このプログラムの場合ボタンを押したら指定時間(もしくは距離?)進むのですが、そうでは無くボタンを押している間だけ進むと言う形に変えたいと思っています。

大和田 (私)
ボタンを押している間だけ走るという方が自然なので僕も挑戦したのですが、現在の App Inventor のButtonコンポーネントのイベントではボタンを押した時しか分からず、ボタンから指を離したイベントがないのです。

つれもて
本屋さんで立ち読みをしていたら マインドストームを加速度センサーで操作って掲載されていました。これの方がスマートフォンらしいですね。

AppInventor の 傾きセンサコンポーネント を調べてみたら、pitch(前後の傾き) roll(左右の傾き)が取得できるようです。
そこで傾きが10以上なら半速前進、20以上なら全速前進、としてみました。

ソースコードは code.google に置いています。

スクリーンショット

デザイナー (Designer)

ブロックエディタ (Blocks Editor)
AppInventor の ifコンポーネント には elseif がないので、else の中に ifコンポーネントを置くという不格好な構成になってしまいました。

動かしてみる。 上段のビデオ。

関連
アンドロイド から マインドストーム を動かす

参考
2011年 オクトバ大忘年会 アフターレポート!
マインドストームを持込んだところ、記事に掲載して頂きました。


マインドストーム ライントレーサー


YouTube Preview Image

自立走行の定番 ライントレーサー をマインドストームで試してみました
マインドストームにはカラーセンサが付属しています。
これで床面の濃淡を2値で判定します。
明るければ左方向に、暗ければ右方向に、進むようにします。
これらは、書籍 入門 LEGO MINDSTORMS NXT にて説明されています。

プログラム

試験走行
ロボットは Shooter bot 2 と同じものです。
少しパラメータの調整が必要でした。
モーター出力が100%だと、簡単にコースアウトしました。
出力が70%くらいがいいみたいです。

完成
首を振りながら進む姿がちょっと可愛い。
上段のビデオ。

関連
マインドストーム Shooter bot 2
入門 LEGO MINDSTORMS NXT 第2版

参考
ライントレースのプログラム


入門 LEGO MINDSTORMS NXT 第2版


マインドストーム に付属している NXTソフトウェア には親切なマニュアルがついている。
しかし、PCで読むオンラインマニュアルなのと、英語なので、読みやすいとはいえない。
そこで、概要を把握するために、この本を読んでみました。
高校生くらいを対象にしている感じで、図も多く文章も平易でわかりやすかったです。