ダンスもんも、RoboJockey!

このエントリーをはてなブックマークに追加

こんにちは、展示開発課 情報科学担当の鈴木です。

前回のサッカーもんも(Walky)ではロボットとのコミュニケーションについて人間側を中心にお話ししました。

今回はダンスもんもをご紹介しながらロボット側について触れてみましょう。

ダンスもんもの正式名称はRoboJockey、音楽を操るDJ(Disc Jockey)のようにロボットを操ることができます。

研究者はテーブルもんも(CRISTAL)と同じ坂本 大介さん。

坂本さんは過去にNECのロボットPaPeRoを使ったミュージカルを行い、その振り付けで非常に苦労した経験があります。

複数のロボットが一緒にダンスを踊る、そこにどんな苦労があるのか少しおつきあいください。

手元にPaPeRoがないので、AIBOを例にします。

AIBOはC++(しーぷらすぷらす)というプログラミング言語を使えば自由自在に動かすことができます。

OStatus

MoveLeg::DoInit(const OSystemEvent& event) {

NEW_ALL_SUBJECT_AND_OBSERVER;

REGISTER_ALL_ENTRY;

SET_ALL_READY_AND_NOTIFY_ENTRY;

OpenPrimitives();

NewCommandVectorData();

return oSUCCESS;

}

OStatus

MoveLeg::DoStart(const OSystemEvent& event) {

if(subject[sbjMove]->isReady()) {

AdjustDiffJointValue();

moveLegState = MLS_ADJUSTING_DIFF_JOINT_VALUE;

} else {

moveLegState = MLS_START;

}

ENABLE_ALL_SUBJECT;

ASSERT_READY_TO_ALL_OBSERVER;

return oSUCCESS;

}

上記はほんの一部です。

こんな風にがんばって書くと「AIBOの脚を512ms(約0.5秒)だけ横方向に動かす」といった細かな制御ができます。

しかし、「頭を左右に振る命令は1setで128ms(約1/8秒)かかるから…」と言ったことや「複数を同時に動かすのにサーバで命令を送るのに20ms(約1/50秒)、その反応が128msだから…」と言ったことを考えないと3台を綺麗にダンスさせることはできません。

# 人間は100ms(約1/10秒)のズレにも気がつくことができます。

わずか5分のミュージカルだとしても…あんまり作りたくないですね。

その苦労した経験から生まれたのがRoboJockey、難解なプログラミング言語の代わりにタッチパネル上でアイコンを近づけたり離したりするだけで振り付けすることができます。

2台のロボットアイコンを近づければ、2台は同じ動作で踊り始めます。

このようにテキストでなく絵やマークなどでプログラミングする方法をヴィジュアルプログラミングと呼びます。

試してみたい方は「プログラミン」や「Viscuit」などがオススメです。

ロボットを操る難しさ、そしてRooJockeyのすごさ、ご理解いただけたでしょうか?

次回ご紹介するタッチもんもはまた違ったアプローチで簡単操作を実現します。お楽しみに。

【これまでの「もんも」記事】

  1. 「もんもとすむいえ」のご紹介
  2. 裏話「もんもって何ですか?」
  3. テーブルもんも、CRISTAL!
  4. 風もんも、AirSketcher!
  5. スイッチもんも、Push-pin!
  6. 時間もんも、CastOven!
  7. 料理もんも、Cooky!
  8. 配膳もんも、Snappy!
  9. サッカーもんも、Walky!

※コメントをする際は「ブログへのコメント投稿について」をご覧ください

※「名前」は、ハンドルネームでも構いません

コメントを残す