ロボット格闘 1
ドラクエⅩが楽しそうなのに指をくわえるしかないrealteckです。
前回の記事に続いてトルク系のネタでいこうと思ったのですが、あまりまとまらなかった上、ROBO-ONEも近いということで、ロボット格闘を対人格闘と比較しながら勝手に考察してみようと思います。
とても大雑把にわけて、格闘には打撃(パンチ、キック)と柔術(投げ、極め←関節技)があり、今回は特に打撃、それもわかりやすく「パンチ」をメインに考えていきます。投げに関しては追々考察するかもしれませんね。関節技はまだ考えにくいかなと思います。できても相手ロボットのサーボを壊すだけの迷惑行為ですしww。
さてロボットにおける打撃ですが、現在のロボット格闘のルールを見ると大半が倒れることを勝ち負けの判定基準としてます。もちろんロボットは感情(痛み)を表に出さないし、打撃の効き具合で判定するのは困難ですからね。
逆に、先日のオリンピックでもやっていたボクシングなどでは、1ラウンドごとに判定をしていきます。これはどちらが有効打を出しているか等で決めるそうですが、この辺は人間の格闘ならではですね。
また、人間の格闘においては目への直接の攻撃とか、噛んだり頭突きをするのは反則だったりします。この辺もロボット格闘には見られませんね。
私が最近感じるのは、人間同士の格闘は「痛み」を、ロボット同士の格闘では「倒れること」を勝ち負けの基準にしていることによって生じる違いです。目的が変われば技の出し方も変わります。パンチにも顕著に現れているとするのが私の考えです。
よく格闘技の練習で、突きは最大の力で最速の突きを入れ最速で引け、と言われることがあります。プロの格闘家の試合を見ていても、グロッキー状態は除くとして、普段はキレのいいパンチを出します。あれはパンチが早いからキレがいいと感じますが、最速で引いていることにもポイントがあります。
また打撃を与えるときは最大の力を出しきるために、最大限腕が伸びたところで相手の急所に当たるようにします。腕が曲がったまま相手にパンチする人は見た事無いですし、あったとしても弱そうですねw。
これらを踏まえて考えると、人間はしっかりと打撃を与えていますが、伸びきったところを目標にしているためよく避けられたりしていますね。表現は適当でないかもしれませんが、人間のパンチは「当てる」という表現よりも「かする」という表現が近い気もします。
実際の試合を見ていても、傍目にはアゴにかすっただけのようなパンチが決定打なんてことは珍しくないです。
対してロボット格闘技は相手を倒すことが目標になります。かする程度のパンチではビクともしません。試合でもカツンカツンと当たるだけで、全く相手を倒せていないなんて試合は目にしますよね。
もし足が地面に対して滑りにくいなら、すっと手を相手の機体につけてドーンッと押すパンチが一番有効だと思います。人を後ろから押すときにドーンッとやるようなイメージです。これは言うならば与える加速度(力?)が大きく、その場にいさせないパンチでしょうか。先ほどの人間のパンチには、人間に対して与える加速度はほとんどありませんが、このパンチなら速度0からmaxの状態まで与えられます。
ですがこれをやると技が決まらない、もしくは滑るだけというパターンが多いと思います。
と、残念ですが1回の考察では技全てには触れられないので、今回は足を滑らせないパンチを考えていきたいと思います。相手の足を滑らせさせずにいかに動かし、倒すか、がポイントです。
そもそも足が滑るとはどういう状態でしょうか。
ロボットには足裏があり、グリップ剤や滑り剤(?)が貼られていたりするわけですが、その足裏が静止摩擦力の最大値を超えて滑っているということです。この状態における摩擦力は動摩擦力と呼ばれますが、滑っているということはこの動摩擦力は非常に小さいわけです(大げさに言えば氷の上)。まずはこれを防ぐパンチを考えてみましょう。
※以下は考察例の一部
1つ目は静止摩擦力が最大になる前に重心などを最大速度にする方法。この重心などとは、どこにあたってもいいから結果的に重心が最大速度になるようにするということです。そして重心を最大速度で移動させ、足裏が静止状態にあるままで動力学上の重心位置(通常の重心位置に慣性力その他を考慮したもの)を足裏上から外します。この辺はZMP理論の話だと思います。足裏動かぬまま動力学上の重心位置が足裏から外れれば、いわゆる倒れる寸前の状態であり、通常はジャイロや加速度センサで倒れないようミキシングさせたりするわけですが、そのミキシングでは制御しきれないところまで一気に押しやれれば有効です。
つまりは最速で長い距離を移動させることで、いうなればみんな大好きジオ・アサルトが代表例です。
昔のROBO-ONEでは普通に見られたヘッドバッドとか前転キックも近いような気がします。
人間のパンチとの違いをはっきりさせると、最速でグーっと押しこむという表現でしょうか。
2つ目は速度でなく重さを使う方法。外部から力が加わらないと考えるとき、運動量保存則により重量が一定のものに衝突するとき、その重量が一定の相手の初速度が0(最初は静止状態)で運動量が0とすると、与える側は速度の他に重量を重くすることで運動量が与えられます(もちろん外部の力はあるし、実際は保存は難しいですが)。要はパンチの手を重くしてドッカーンと殴る感じです。某モンスターなどがやってますよね。設計段階で攻撃の可否が限られるのがネックです。
3つ目は考えを変えて重心を上にずらす。つまり相手の足にかかる力を少なくして横に力を与えて倒す方法。例えるならば掬い上げ攻撃やアッパーです。←自分は第17回大会を見たあと、アッパーの応酬になると思っていました。
つまり先ほどの説明で出たZMP的にいえば縦方向の力である重力を少なくして、横方向の力の比率を大きくしてしまおうという考え(おそらく)。幸いにして今のロボットは足が長く、また股関節の間に引っ掛けられる部分が多く、さらに重心をどんなに下げられても腰付近までなので、現環境はこの攻撃も有効な環境だと思います。
ただ重心を持ち上げるのには、肩サーボや肘サーボにトルク、または速度が必要なのでこれも設計段階でできるかが限られてしまいます。
と、まあ足裏を滑らせないパンチを考えてもさらっと3つ出てきました。
もちろん上位ランカーはこの程度の技の種類では無いでしょうし、間合いが近づいた時の小さなパンチとか、あるいは抱き投げとか、いろんなタイプの攻撃があるので、みなさんも頑張って考えてみて下さい。
自分は動かせるロボットが今無いので考えるしかありませんが、攻撃モーションについてもそろそろ考えていこうかなと思います。今回も持論ましましなのでご利用は自己責任で。間違いの指摘は絶賛受付中です。
う~ん今回のネタはもっと深まりそうですね。後日修正よりも、これからの記事でどんどん付け足す感じで展開できれば面白いですが。ほんと物理と数学は使いよう。
以下個人的な話
予備校夏期講習終わりました。とはいえ来週から後半戦です。
そんな来週はいよいよROBO-ONEですね。決勝は何がなんでも見に行くつもりです。この土日が母校の文化祭に被ってしまったので、初日は予選の時間には会場に着ければなと思っています。
あと・・・まあリアルで会った方は少ないですが、声かけていただけるとものすごく喜びます。
会場で会いたいって方とか、一緒に見たいって方はtwitterのDM(超推奨)ですとか、あるいはブログ右下のメールフォームで「会場のどこどこで何時に」って頂ければ向かいますのでご連絡下さい。会場内限定で。連絡は相互にやりとりできる媒体がいいです。
楽しいROBO-ONEになると良いですね。もちろん次回は大会レポートのつもりです。
参加者の皆さん、頑張って下さい。ファンの1人として応援しています。ではでは。