Kinectとロボットを連動させて思いのままに操ってみよう
先日、東京エレクトロンデバイス主催で行われた「Kinect for Windows コンテスト 2012」では、医療や運動など、様々な場所でKinectが活躍する様子が紹介されました。
→参照記事:走る!噛む!測る!Kinect for Windowsコンテストで飛び出した奇想天外なアイデアたち
その中で、教育用レゴ マインドストームをKinect連動させる「Kinect フレフレ・ロボット」を発表した株式会社アフレルが、「Kinect×教育用LEGO Mindstormsセット」を新発売するというので、見学させてもらいました。
Kinectロボットプログラムの概要
このキットでは、「教育用レゴ マインドストーム」と「Kinect for Windows」を組み合わせて、体の動きにあわせてロボットを動かすプログラムを作るというセットで、高専生や大学生が対象です。
キットには以下の内容が含まれています。
- 教育用レゴ マインドストームNXT 基本セット V2
- 教育用レゴ マインドストームNXT 拡張セット V2
- 充電用DCアダプタ
- Kinect X 教育用レゴ マインドストーム 開発ガイドブック
上記に加えて、必要となる機材やソフトは以下の通りです。
- Windows 7以上搭載のPC
- PCに内蔵されたBluetoothユニット
- Kinect for Windows
- Kinect SDK
- Microsoft Visual Studio
※あらかじめKinect for Windowsが組み込まれたセットもあります。
このプログラムでは1台のPCで同時に7台までのマインドストームを制御でき、さらにPCを増やすことで最大21台までを操ることができます。それだけ多くのマインドストームが揃う機会はそうそうありませんが、学校などで導入していれば、実現できるかもしれません。
ロボットプログラムを体験
説明が終わったら、いよいよプログラミングの体験です。その前に、まずは完成したプログラムを使って、身体の動きにあわせてマインドストームが動く様子を体験させてもらいました。
2つのタイヤ(モーター)と1つのアームを動かすだけのロボット。思い通りといっても大したことはできないのでは・・?という考えは杞憂でした。右手や左手を少し上下させるだけで、左右のモーターが瞬時に反応してキビキビ動くため、思い通りに動かすためにはコツが必要です。
本人は必死に操作しているものの、その姿はなかなか滑稽で思わず笑ってしまうほど。複数人でレースをやったら、操作する側も見ている側も楽しめそうです。この時、7台の同時操作も少しだけ体験させてもらいました。
「右手をあげたら右のモーターが動く」にはどうしたらいい?
実際のプログラミング部分では、アフレルのKinectセットに付属しているテキストを見ながら、VisualStudioとKinect SDKを使って、ロボットに動きをつけていきます。
ロボットの動きをイメージしてみましょう。まずKinectが、操縦する人の身体情報(スケルトン)取得し、その情報をPCに渡します。PCが受け取ったスケルトンの情報から、プログラムがロボットにどんな動きをさせるか判断して、Bluetoothで命令を飛ばし、受け取ったロボットがその通りに動く、といった具合です。
スケルトンの部分からプログラムを作るのは大変なので、今回は、「右手、左手を動かしたらロボットが反応して動く」というほんの数行だけ作らせてもらいました。
プログラミングの面白さは、「自分のイメージする動きを、どうやって理論的にプログラムできるか」というところにあります。
例えば、「右腕をあげたら右のタイヤが動く」という動きは今回の場合、「右腕の高さが体の中心から上下にどのくらい離れているか」ということになり、
「右腕の高さ - 身体の中心点の高さ = 右モーターの動く強さ」となります。
これをプログラムにすると、以下のようになります。
同じように、右腕を下げた時はモーターが後ろに動く、同様に、左腕を上げた時、左腕を下げた時・・それぞれを想定してプログラムに加えると完成です。完成したら、ロボットがきちんと動くか試して、うまく動かないところを考えて修正します。
おわりに
最初はどれだけ動かせるのか心配だったロボットも、自分の動きで自由に動かせることができるようになると結果が目に見えてわかるため、やりがいも沸くのではないでしょうか。
レゴ マインドストームは、ブロックという特性から、開発に費用がかかる自動車のホットモックや医療現場でのリハビリ器具の開発などに活躍が期待されています。ともに将来性の高いKinectと組み合わせて開発にチャレンジしてみてください。
【参照リンク】
全世界200万台突破記念!アフレル ミリオン キャンペーン:Kinect開発にチャレンジ!
(リンク先最終アクセス:2012.11)