Kinectとロボットを連動させて思いのままに操ってみよう

2012年11月7日(水)
Think IT編集部

先日、東京エレクトロンデバイス主催で行われた「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)

“オープンソース技術の実践活用メディア” をスローガンに、インプレスグループが運営するエンジニアのための技術解説サイト。開発の現場で役立つノウハウ記事を毎日公開しています。

2004年の開設当初からOSS(オープンソースソフトウェア)に着目、近年は特にクラウドを取り巻く技術動向に注力し、ビジネスシーンでOSSを有効活用するための情報発信を続けています。クラウドネイティブ技術に特化したビジネスセミナー「CloudNative Days」や、Think ITと読者、著者の3者をつなぐコミュニティづくりのための勉強会「Think IT+α勉強会」、Web連載記事の書籍化など、Webサイトにとどまらない統合的なメディア展開に挑戦しています。

また、エンジニアの独立・起業、移住など多様化する「働き方」「学び方」「生き方」や「ITで社会課題を解決する」等をテーマに、世の中のさまざまな取り組みにも注目し、解説記事や取材記事も積極的に公開しています。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています