|
優勝した菅さんと着地に成功した「マジンガアBパーツ」
|
2月10日、川崎市産業振興会館にて「ROBO-ONEonPC/Sat. 2nd(ロボワン・オン・ピーシー・サテライト・セカンド)」が開催された。主催はROBO-ONE宇宙大会実行委員会。大会では2足歩行ロボットを空中に放り投げて着地させる競技も行なわれ、うち「マジンガアBパーツ」が見事に着地に成功した。
「ROBO-ONEonPC/Sat.」とは、ホビーロボットのモデルベース開発を目指す「ROBO-ONE on PC」と、ホビーロボットの宇宙での活躍を目指す「ROBO-ONE宇宙大会」とが融合したもの。宇宙大会選抜競技で課せられていた「無重量あるいは低重力環境下での実機の姿勢制御」の実現が目標だ。
「ROBO-ONE on PC/Sat. 2nd」は、シミュレーションから実機制御までを行なう4つのミッションから構成される。純粋なコンピュータ・シミュレーションであるミッション1、6軸センサーを投げてその結果をLabVIEWやMATLABといったソフトウェアで解析するミッション2、ミッション2の成果を生かして再びシミュレーションを行なうミッション3、そして実機を作って投げるミッション4だ。優勝賞金は50万円。
なかでも注目は、実機を空中に放り投げて姿勢制御、着地制御を行なわせるミッション4である。ROBO-ONEは2足歩行ロボットの競技会なので、ロボットも2足である。
このレポートでは主にミッション4について紹介するが、まず、以下、各ミッションについて簡単に解説する。
● Mission1「ROBO-ONE衛星搭載ロボットの設計および着地シミュレーション」
ミッション1はシミュレーションである。所定の位置からロボットを射出し、ロボットが両足で着地することを目指す。床面は1m四方、ロボットの着地点は射出位置から水平距離で1m以上離れている必要がある。またロボットは空中にて90度以上回転する必要がある。ロボットは、両足裏以外が接地してはならない。また、着地後3秒間は倒れてはならない。
ロボット設計にはオートデスク株式会社のInventorを使用して構造解析を行ない、そのデータをもとに、Matlab、Simlink、SimMechanicsで簡易モデルを作成してシミュレーションを行なう。
● Mission2「LabVIEW 8.5によるデータ集録・解析」
ミッション2はデータ解析である。センサーあるいはミッション1で設計したロボットにセンサーを搭載して投げて、そのデータを収集・解析する。人がロボットを投げた時の状態量を把握し、シミュレーションと実機との相違点を列挙し、シミュレーション確度を向上させることが目的だ。
センサーは、シリアル出力の3軸ジャイロと3軸加速度センサがROBO-ONE委員会から貸し出される(ROBO-ONE事務局が置かれているベストテクノジー社が試作したもの)。もちろん参加者負担であれば他のセンサーも追加してよく、センサを搭載する実機体はモデル同等の簡易モデルでもよいとされている。つまりとにかく投げてみてデータをとれというのがミッション2である。
データ集録・解析には日本ナショナルインスツルメンツ株式会社のLabVIEW 8.5を使用する。
● Mission3「集録情報を反映したシミュレーション」
ミッション3は、ミッション2のデータをもとに再度シミュレーションを行なう。
● Mission4「実機体による姿勢制御」
|
「ROBO-ONE on PC / Sat. 2nd」の様子
|
ミッション4は、実機による実験である。ロボット実機体による姿勢制御・着地制御を行なう。まず、まずロボットは第12回ROBO-ONE規定1kg以下級での参加資格を満たすこと、大きさは将来ROBO-ONE衛星へ格納することを想定し、150×150×100mmの立方体に収まること、バッテリを搭載することが必須の条件とされている。
そして、ロボットは十分な外乱を与えるために手で投げなければならない。ロボットは空中で、いずれかの軸で90度以上回転しなければならない。着地点は、投擲位置から水平距離で1m以上、その軌跡は床面から50cm以上の高さを有することが条件だ。そして着地したときは、足裏以外が設置してはならない。また着地後10秒は倒れてはならないとされている。つまり両足で着地の衝撃を吸収して踏ん張ることが求められる。
投擲チャンスは3回。3回とも両足で着地できればミッション成功とされている。
今回、当日に発表までこぎつけた参加者は全部で14名。うち、実機の投擲にまで至ったのが5名だった。
ロボットの重さはおおよそ1kg。身近な例を出すと、1kgのペットボトルを床に放り投げたときの衝撃を思い出していただけると分かりやすいと思う。1kgはけっこう重たく、しかも、はねる。ロボットがスタッと降り立つためには、最初の着地の衝撃に耐えるだけの十分な剛性と、着地した瞬間の床からの反発を足首、膝、股関節、腕や胴体など全身の関節を使ってすみやかに吸収できるだけのやわらかさが要求される。
そして空中は自由落下状態である。足や腕を使って床を蹴ることはできない。だがなんとかして空中で姿勢を整え、足から落下しなければならない。その時間は、おおよそ0.5秒あまり。
投げるのは参加者たちが寝る間を惜しみ、自腹を切って、自分で設計・製作したロボットである。それを放り投げろというのは相当に酷なチャレンジだ。
実機を投げるのは発表会会場、みんなの眼前であることとされている。予備実験を行なって壊したら身もふたもないし、そもそも予備機体があるわけでもないので、固い床(ROBO-ONEの1/4リング)に向かって投げるのは、みな初体験だ。これまでにもこの投擲チャレンジを数名のチャレンジャーたちが行なってきた。なかには惜しいロボットもあったが、多くはロボットのフレームがぐにゃりと曲がったり、ギアが欠け、破壊に至った。
そして今回、ついに、最後に投擲した「光子力研九所」チームの菅氏によるロボット「マジンガアBパーツ」の3回目(つまり一番最後)の投擲が無事着地成功にいたったわけだが、まずはこのミッション4の参加者たちの動画を順にご覧頂きたい。もちろんまず菅氏の成功動画をご覧頂いてもけっこうだが、そのあと、是非ほかの方の投擲動画もご覧頂きたい。菅氏による成功動画だけ見ると簡単に見えるかもしれないが、実際にはまったくそうでないことがよくわかるはずである。ただ投げているように見えるものもあるが、いずれも、なんとか制御を試みている。
|
|
|
【動画】菅さんの投擲3回目。投げているロボット名は「マジンガアBパーツ」。見事に着地し、歓声が上がる。詳細は後述
|
【動画】2回目。両足の着地のタイミングが速すぎ、衝撃を吸収しきれず転倒
|
【動画】1回目。投げるときに回転させすぎ、横から落ちてしまった
|
|
|
|
【動画】吉田功さんによる「rsv0」投擲。一回目のトライ
|
【動画】2回目。リアクションホイールはHDDの部品の再利用
|
【動画】3回目。片足から落下するが失敗
|
|
|
|
【動画】ナベ☆ケンの「金かGろう」投擲一回目。このロボットはリモートブレインだが外部制御装置のスイッチを入れる前に投げてしまう
|
【動画】2回目。足から落下、着地後、片足を伸ばしてなんとかしようとしている様子が確認できる
|
【動画】3回目。斜めに着地してしまう。発表はシミュレーション含めて素晴らしかったのだが。準優勝
|
|
|
|
【動画】のむむさんの「KOSO-Bot2」1回目。回転を制御しきれず斜めに着地
|
【動画】2回目。カエルのように両足で着地するが衝撃を吸収できず反発、180度回転してしまう。足裏はαゲル
|
【動画】3回目。再び一回転してしまう。のむむさんは「KOSO-Bot1号機」で以前もチャレンジしている
|
|
|
|
【動画】第2アトリエさんの「Almond」投擲1回目。回転を制御できず胴体から落下
|
【動画】2回目。同じく
|
【動画】3回目。足の側面から落下。第3位となった
|
これ以外にも、KAZZさんが「KZR-?」で着地にトライするはずだったが残念ながら当日は天候の都合でこられなくなった。
● 「光子力研九所」チーム菅さんの発表
|
着地に成功した「マジンガアBパーツ」
|
この競技はどんなものなのか。それには成功した「光子力研九所」チームの菅さんによる発表を振り返るのが一番いい。同チームの発表は非常に論理的で理路整然としており、何より説得力もあった。以下、簡単にまとめる。
この競技はおおざっぱに言えばロボットを手で投げて着地させるというものだ。そのため一部参加者達の間では「投げロボ」と呼ばれていた。だが、大ざっぱに捉えているだけではロボットを設計することはできない。ミッションの要求仕様を具体的な数字にしなければならないのである。
そこでまず菅さんは、高さ50cmの位置から仰角45度で重量1kgのロボットを投げ出したらどうなるかを計算することで、競技内容を具体的に把握することから始めた。
計算の結果、投擲されたロボットはおおよそ0.2秒で頂点に達し、0.58秒後に着地すると分かった。着地時の上下方向の速度は3.7m/秒、もし着地時のストロークが1cmの場合は70Gの加速度が機体にかかる計算だ。だがストロークがもし10cmあったら、その衝撃を7Gに減らせる。これらのことから、およそ0.6秒弱とごく短い滞空時間内での素早い姿勢制御と、衝撃を和らげるための十分なストロークが必要になることが分かる。
このミッションではロボットは手で投げなければならない。そのためロボットの上下・前後・回転方向の速度はばらつきが大きく不明である。しかしながら、つまるところすべて一面内の運動であると捉えられる。このことは、衝撃を緩和するためには投げ出し方向における十分な有効接地長さの確保が必要であることを意味する。
菅さんは、着地した瞬間のストロークをかせぐために、左右に大きく長い足を広げられる構造のロボットを、横方向から投げる投げ方を選んだ。足を前後に広げるのではなく左右を選んだのは、左右に足を広げるだけであれば余計な慣性モーメントが発生しないからだ。足の長さは可能な限りストロークをとるためにレギュレーションのなかで許される最大の長さとし、重量規制を満たすために軸数は最小とした。
ROBO-ONEはあくまで趣味なので、マイコン、センサー、バッテリ、ブラケット、配線はこれまでに製作したロボットから流用することとし、重量を計算すると400gとなった。重量制限は1kg、それに対して予備を100gとると、モーター重量は500g、モーター1個を50gで計算すると、10軸が限界になる。これらを念頭に置きつつ3DCADでモデルを検討した。
CPUの配置などを考慮して実際のモデルを決定し、軸構成は片足4軸(ロール3、ヨー1)、腰は前後方向のバランスも考えてピッチ1軸とした。設計には競技で指定されているAutodesk Inventorを使用した。
さて問題は空中での姿勢制御方法である。空中で姿勢制御する方法はいくつかある。菅さんが考慮したのは
1) 慣性モーメントを変化させる
2) 回転体をつける
3) 猫ひねり
4) スラスター
5) 揚力・浮力を用いる
の5つ。
まず、5)は規定違反なので除外される。滞空時間が短いことから複雑な運動はできないと判断し、3)と4)を除外した。残るのは1)と2)だ。2)は多くの参加者が選ぶ方法だが菅さんは歩行との両立が難しいため2)を除外し、1)を選択した。慣性モーメントを変化させるための方法は姿勢変化を選んだ。アイススケーターが大きく開いていた手を縮めると回転速度が上がる。それと同じように足を伸び縮めすることで回転速度をコントロールすることで着地姿勢をコントロールすることができる。3DCAD上で確認したところ、足をたたんだ状態と伸ばした状態とでは3倍以上もモーメントが変化することが分かった。つまり回転速度を3倍コントロールできるはずだと考えた。
着地姿勢をとったあとは、センサーを使って足平部分を水平に保つ制御を行なっている。実際に着地するときには足の長さを利用して着地ストロークを稼ぐわけだが、そのときは股関節をやわらかくしておき、しゃがみこむような姿勢を取ることになる。その変化分は他の関節を制御することで補償する。左右のバランスは左右の股関節の柔らかさで調整する。
これらをベースにInventorで機体を設計し、SimMechanicsでモデルを作成した。菅さんはここで作成した各モデルをウェブで早々に公開し、多くの参加者がこれを参考に今回のチャレンジに挑んだことも付け加えておきたい。
シミュレーションを行なったところ、空中制御と着地制御を入れることで、投げ出し時の回転速度が一定の範囲(±20%)におさまっていればの範囲で着地が可能となるという結果が出た。投げすぎるとダメだが、適切な投げ方であれば、手投げのようなばらつきが大きい場合でも着地できるということだ。
着地時の衝撃も最初に着地する足と後で着地する足それぞれの衝撃を計算し、もっとも負荷がかかることが予想される股関節のブラケットに対して強度解析を行ない、取りあえず大丈夫という結果を得た。そこで実機の製作に入った。
|
|
|
空中での姿勢制御
|
ロール軸まわりの慣性モーメント
|
着地時の姿勢制御
|
実機の姿勢制御には複数のセンサーが組み合わされている。まず姿勢角センサを使って胴体部の傾きに応じて足首関節を回転させて、足裏が地面と水平になるように制御を行なった。ロボットは股関節を動かしてもそれに対応して他の関節が動くことで、足平を水平にするように制御されている。これは、モーターの現在角をポテンショの電圧を読むことで知り、それと指令値を比較することで関節角偏差を出し、その値に応じて足首と膝の関節を動かすことで実現している。
股関節を柔らかくすることで衝撃吸収し、じわっと着地するのが狙いだったが、実際にやってみると意外と衝撃を吸収できず、困ったそうだ。反発に対してはしゃがみこむことで衝撃吸収を試みたが、これも発振しやすくあまりゲインを上げることはできなかったという。左右バランスと前後のバランスにはジャイロを使って行なっている。
さらに箱にセンサーを付けてシミュレーションの検証を行なった。ミッション2がこれに相当する。実験はロボット相当の箱にセンサーを貼り付けて放り投げ、空中での加速度・角速度の計測を行った。
その結果を踏まえて、ロボットを投げる練習(実験)を行なった。実機を放り投げると壊れるので、羽毛布団に対して何度も投げる練習を行ない、それをビデオに撮影した。その結果、空中での姿勢制御が当初のシミュレーションほど実機では十分に素早く行なえないことが分かり、それを反映してモーションの幅を小さくすることにした。これがミッション3である。
菅さんはその後も投げの練習を繰り返し、うまく行けば着地に成功するかもしれないと思えるようになった。そして当日を迎えたわけである。
菅さんの発表に対しては、審査員から「こちらが危機感におそわれる技術力の高さ。先駆的にやってみて、結果をみんなに紹介する点も素晴らしい」とコメントがあった。
ロボットは2回目の投げでモーターのギアが欠けるトラブルに見舞われ、3回目の着地成功後も、よく見るとほとんどすれすれの状態で止まっている。実に際どいところだったが、幸運をも呼び込む実力で見事成功となった。
|
|
|
シミュレーションモデル
|
シミュレーション結果
|
ブラケットの強度解析
|
|
|
|
衝撃を吸収するための機体制御
|
箱にセンサーを付けて実験
|
再シミュレーションの結果
|
|
|
【動画】シミュレーションの動画。格納状態から変形するところ
|
【動画】投擲のシミュレーション動画
|
|
|
【動画】実際に羽毛布団に投げていることろ
|
【動画】こちらは箱にセンサーを付けてデータ撮りをしているようす
|
|
着地後のマジンガアBパーツ。両足裏とも浮いているし、左側のブラケットは曲がっている
|
コマ送りで見ると、菅さんのロボット「マジンガアBパーツ」は空中で足先を下にして足平の向きを調整、そのまま片足から着地して、クビを振りながら衝撃を緩和しつつ、もう片方の足を着地させ、その後、腰関節を使って衝撃をやわらげていることが分かる。また着地後にはあまり余計な制御を入れないようにしたことも成功に繋がったようだ。
実機の動画を見たあとに改めてシミュレーション動画を見て比較すると、実機がシミュレーションをほぼ反映していることが分かる。ホビーレベルでこれができるのは驚きである。
ロボットが3度目の投擲で着地した瞬間、観客からは大きな歓声が上がった。規定では「10秒間倒れてはならない」ことになっているので、そのままの姿勢で10秒間待たなければ成功にはならないのだが、ほとんどの人がその規定のことは忘れていたのではないだろうか。
ただルール上では、1回の着地だけでは残念ながらミッション成功とはならない。「ROBO-ONE宇宙大会選抜競技」は、次の第13回ROBO-ONEと同日、3月22日に後楽園ホールにて行なわれる。1分間以内に3回着地するロボットは現れるのか。
前回の宇宙大会のとき、ステージ横からロボット投擲競技を真剣な表情で見つめていた菅さんの顔には「俺ならこうやる」と書いてあるように見えた。これからも後に続く人達がさらに出てくるに違いない。
■URL
ROBO-ONE
http://www.robo-one.com/
ROBO-ONE on PC
http://www.robo-one.com/roboonepc/index.html
■ 関連記事
・ 「第12回ROBO-ONE in 高松」開催 ~総合優勝は韓国チーム「GADGET2」、軽量級優勝は「ガルー」(2007/09/25)
・ 宇宙ロボット開発を目指す仮想宇宙大会 「第一回ROBO-ONE on PC / Sat.」開催(2007/01/30)
( 森山和道 )
2008/02/22 15:35
- ページの先頭へ-
|