知能ロボットコンテスト2009 - 白月-R [ロボット]
本日、ご紹介するのは、電気通信大学から個人参加された方の「白月-R」です。 ロボコン界では、有名な方なのですね。
HD版は、こちらです。
このロボット、ご覧のように一次予選では、自由ボールを入れることなく敗退してしまいました。 私が気になったのは、リトライの際に気にしておられた背中にマジックテープで取り付けられた白い物体です。
競技の後、話を聞いたところ、あの中には、磁気センサが入っていて、地磁気を捕らえる事で自身の方角を検出するということでした。 方向を検出する方法としては、ジャイロや加速度センサを使う方法もあるのですが、それだと誤差が蓄積してしまうので、磁気センサを採用したということでした。 ところが、ノイズの影響でうまく方向が定まらず、このような結果になってしまったそうです。
このロボットには、4輪独立駆動・操舵という特徴もあります。 これは、四つの車輪の方向を独立に決めることができる機能です。 出走直前に同じ位置で回転出来るのも、この4輪独立操舵のおかげです。 できれば、活躍させてあげたかったロボットのひとつです。
知能ロボットコンテスト2009 - ブラック★ロックシューター [ロボット]
本日、ご紹介するのは、茨城大学 ロボット技術研究会の「ブラック★ロックシューター」です。
HD版は、こちらです。
ごらんのようにヘビ型のロボットです。 全部で10個(たぶん)の部分で構成されており、これらの部分の間をつなぐ各関節には、サーボモータが配置されています。 また、各部分には制御用マイコンと単4電池が収められています。 各部分には、車輪が付いていますが、これらは、駆動輪ではありません。 サーボモータで関節を左右に曲げて体をくねらせることによって、思うままに前進後退を行うことが出来ます。
と、説明を受けましたが、まだ、ピンときていません。 シミュレーションをやってみると、理解できるかな?
このロボット、あまりにも斬新なアイディアだったもので、ボールのあるところにたどり着くのがやっとでした。 しか~し、決勝戦終了後のデモ(エキシビション?)で、もう一度動きを披露するなど期待の大きいロボットでもあります。
知能ロボットコンテスト2009 - Monomania-II [ロボット]
Excelでホーキンス・リンクをシミュレーションする (後編) [ロボット]
前編では、「ゴール・シーク」という仕組みを使って方程式を解きました。 後編では別の仕組みを使って解きます。
ゴール・シークの問題点
ゴール・シークは、調整するパラメータが一つの場合にのみ適用出来るので、クランク角度を変えながら軌跡を求める今回のようなシミュレーションの場合には、マクロを使って処理をするなどの工夫が必要です。 加えて、ゴール・シークでは、制約条件を与える事ができません。
前編の例では、実は別の解が存在します。 これは、φが180度を越えて、リンクCDが下向きになってしまった場合の別解です。 実際の機構では、このリンクが下向きになることはないため、この解は除外しなくてはなりません。 そのため、希望する解だけを求めるには、「φは0から180の範囲に存在する。」という制約条件をつける必要があります。
さらに、ゴール・シークでは、残留誤差の制御ができません。 前編の例では、最大0.1%の誤差が残っています。 この誤差をさらに小さくしたいと思ってもゴールシークには、それを制御するすべがありません。 そこで登場するのが、「ソルバー」と呼ばれるアドインです。
ソルバーのココが凄い
ソルバーは、複数のパラメータを調整することが出来ます。 パラメータは、ソルバーのダイアログでは、「変化させるセル」で指定します。 この例では、B19からB55までの37のセルの値を調整します。
一方、「目的セル」で指定される調整のゴールは、ひとつのセルだけを指定しなくてはなりません。 この例では、「B11の値が最小になる」ようにパラメータが調整されます。 B11セルには、クランクの角度にごとに計算された"BC error"の平方和が与えられています。
B11 =SUMSQ(K19:K55)
B11セルが最小になるということは、最大誤差が最小になることを意味しています。
さらに、ソルバーでは、制約条件を与えることが出来ます。 この例では、セルB19:B55のパラメータの各要素が、C19:C55の値とD19:D55の値の間に制限されます。 C19:C55のそれぞれのセルには"0"が、D19:D55のそれぞれのセルには"180"が入っているので、リンクCDが上向きの解だけが求まります。
ソルバーには、さらにオプションが用意されています。 オプションには、いろんなパラメータがあります。 精度、公差、収束の各値を小さくすると解の誤差が小さくなります。
その他にも解を求める手法に関するオプションが用意されているので、試してみましょう。
ソルバー実行
ソルバーの実行ボタンをクリックすると、結果が出てきます。 結果自体は、マクロを使った場合と同じなのですが、マクロを書くのでもなく、ボタンひとつで、しかも制約条件を満たした解が得られるところが、ソルバーの強みです。
付録:Excelブック
このリンク先を"Linkage1.xls"という名前で保存すると、この記事で作成したExcelブックが再現できます。 多くのアドインが必要になるので、適宜インストールしてご使用ください。
参考文献
そこが知りたい!Excel VBAプロの技 Excel97/2000/2002/2003対応!
- 作者: 井川 はるき
- 出版社/メーカー: ナツメ社
- 発売日: 2003/11
- メディア: 単行本
Excelでホーキンス・リンクをシミュレーションする (前編) [ロボット]
本日のお題は、「ロボット」のシミュレーションです。 とはいっても、本格的なCADを取り入れてシミュレーションをさせるのではなく、 Micro$oft の Excel を使ったシミュレーションのお話です。
Excelのアドインを多用していますので、適宜インストールしてから試してみてください。
方程式が解ければ…
ホーキンス・リンクは、「1自由度のリンク機構」です。 そのため、モータのクランクの角度が与えられたら、各関節の位置は原則として一意に決まります。
関節の位置のうち、"D"点は、固定されているので「既知」です。
D = AD AD = 2
また、"B"点はクランクの角度θから簡単に求めることが出来ます。
B - A = AB * ej * θ AB = 1
残った"C"点は、"B"点と"D"点からの距離が2.5 (BC, CD) になる点です。 "D"点から見た"C"の角度をφとすると、
C - D = CD * ej * φ CD = 2.5 |B - C| = BC BC = 2.5
"E"点は"B"点と"C"点が求められれば、計算できます。
E = B + (C - B) * (BE / BC) BE = 5
と、書いていくと要はθからφを求めるだけの計算であることがわかります。 えぇい、このくらいの方程式解いちゃる。
と、思ったけど、ほどなく敗北。 こりゃ、めんどくさいわい。
ゴール・シークを使う
こういう方程式をヒューリスティックに解くための仕組みがExcelには装備されています。 「ゴール・シーク」というのが、そのツールの名前です。 まずは、方程式をExcelに書き出します。
A | B | |
---|---|---|
1 | AB | 1 |
2 | AD | 2 |
3 | BC | 2.5 |
4 | CD | 2.5 |
5 | BE | 5 |
6 | ||
7 | theta | 0 |
8 | phi | 0 |
9 | ||
10 | A | =0 |
11 | D | =B2 |
12 | B | =IMSUM(B10,IMPRODUCT(B1,IMEXP(COMPLEX(0,B7,"j")))) |
13 | C | =IMSUM(B11,IMPRODUCT(B4,IMEXP(COMPLEX(0,B8,"j")))) |
14 | E | =IMSUM(B12,IMPRODUCT(IMSUB(B13,B12),B5/B3)) |
15 | BC actual | =IMABS(IMSUB(B12,B13)) |
16 | BC error | =B15-B3 |
"BC actual"は、与えられたθとφから計算された"BC"の長さです。 この長さと理想的な"BC"の長さとの差を"BC error"と定義しておいて、「BC error がゼロになるφを求める」のが「ゴール」になります。
この条件で「ゴール・シーク」を動かすと、
多少の誤差は残っていますが、みごとに答えが見つかりました。 この作業をθが 0° から 360° までの範囲で変更しながら"E"点の値を記録していくと、軌跡が求まります。
考えてみたら、すごく手間のかかる作業です。 遠慮しておきます。
マクロでこなす方法が無いでもない
「ゴール・シーク」の一連の作業をマクロに記録するとこうなりました。
Sub Macro1() Range("B16").GoalSeek Goal:=0, ChangingCell:=Range("B8") End Sub
表を作っておいて、それぞれのθについてこのマクロの記述と同様の方法で解を求めれば"E"点の軌跡が求まります。
実物は、こちら。
この方法でも良いのですが、後編では、別の方法を使います。
参考文献
「ゴール・シーク」は、この文献で紹介されていました。
この本が必要になるほどのマクロは作成していません。
そこが知りたい!Excel VBAプロの技 Excel97/2000/2002/2003対応!
- 作者: 井川 はるき
- 出版社/メーカー: ナツメ社
- 発売日: 2003/11
- メディア: 単行本
ホーキンス・リンクを作った [ロボット]
今日は、メカメカしい物に挑戦です。 参考文献で見つけた、擬似直線運動を田宮の楽しい工作シリーズで構成してみました。
擬似直線運動???
これは、参考文献では、チェビシェフ・リンクとされていましたが、WEBで調べた所によるとホーキンス・リンクという名前で呼ばれていました。 チェビシェフ・リンクも、同じような軌道をたどりますが、違う構成のリンクです。 ちなみに「チェビシェフ」さんは、「チェビシェフ・フィルタ」の「チェビシェフ」さんと同一人物のようです。 でも、「ホーキンス」さんがどこの「ホーキンス」さんなのかは、わかりませんでした。
擬似直線運動とは、本来は円運動をするモータなどからの出力をリンクと呼ばれる機械的な構造で近似的な直線に変換したものです。 これをロボットの足に利用すると、直線運動なので、上下動が少なくて済み、効率的に移動が出来るというわけです。
ホーキンス・リンクの構成
ホーキンス・リンクは、 4節回転リンク機構の一種で、 クランク付きモータと二本の棒を土台に据えて、回転する関節で繋ぎます。 この時の関節同士の長さが重要である比率になっているものが、「ホーキンス・リンク」です。
今回の機構は、ユニバーサル・プレートを横にしてつくりました。 ギアボックスに可能な限り近づけて軸を通してD点としています。 A点のモータの軸からD点までの距離24mmが「2」の比率になるので、クランクの作用点Bは、モータの軸から12mmの位置の穴を使います。 「2.5」の比率は、30mm、つまり、ユニバーサルアームの6コマ分の長さです。
運動の軌跡を見る
E点にLEDをつけて長時間露光するとこんな感じです。 なかなか、直線っぽいではありませんか。
ビデオカメラで撮影した動画をビデオカメラを入手したとビデオカメラを入手した - おかわりで公開しています。
参考文献にもありましたが、 この機構は、ロボットの上に歩行パターンが現れるので、これをロボットの下に投射する機構がさらに必要です。 そうしたら、本当に歩くんだろうか?