正確に回転するには
今回はロボットをいかに正確に曲げるかについてメカとプログラムの協調設計という観点から説明する。FLLのロボット競技においては、他の動作もそうであるが「正確に」曲がるということが求められる。特に高得点を狙おうとすると、個別の動作の正確さが非常に重要である。
ロケットなど非常に信頼性が求められる機器に対して信頼度の計算が行われる。例えば個別の信頼度をβi(0≦βi≦1)とすると、全体の信頼度βはその積であるβ=β1xβ2x…xβnによって求められる。
FLL2006の欧州世界大会では上位チームは決勝も含めた8回の競技中3回は満点を取っている。つまりβが0.4程度を要求される。これは一見低いように思えるが、9個のミッションの信頼性は極めて高いものが要求され、さらにその中を構成する個別の曲がる動作などは0.9を超える信頼性が要求される。
図1(1)にロボットが曲がる場合の模式図を示す。図1(1)において、タイヤ3と4にモーターが接続されており、これらが逆回転することによりモーメントがロボット全体に発生し曲がることができる。いわゆる二輪の後輪駆動方式である。四輪駆動も不可能ではないが、FLLの場合モーターの数が3個に制約されているため、二輪駆動式を前提にする。この場合実際に曲がるのに際してタイヤ1と2は引きずられることになる。
曲がることに対する影響ファクター
曲がるということに対しての影響をおよぼすファクターを図1(2)に示す。
まず1の「モーターの駆動アルゴリズム」については、タイヤ3と4に対し左右それぞれのモーターをどの強さでどれくらいの時間駆動するかということである。タイヤ3と4を最大限に駆動すると急激に曲がることができるが、回転半径がタイヤ3と4の間隔の半分になるため、回転の精度が落ちる。
逆にタイヤ3と4を同じ方向に回転させ、タイヤ3をゆっくりあるいは、止めてタイヤ4のみを駆動する方法も考えられるが、これを行うとタイヤ3がタイヤ4に引きずられてなかなか正確に曲がらない。
もっとも良いのはタイヤ4を強く駆動し、タイヤ3をタイヤ4に引きずられない程度に逆方向に弱く回転させ、タイヤ3を軸として曲がることである。これにより回転半径をタイヤ3と4の間隔分取ることができ、タイヤ3と4を反対に回したときより、倍の精度を出すことができる。この例と実際の補正方法も含めて、次のページで解説する。
2の駆動輪は摩擦を大きくするため、ゴムタイヤを使う。しかも接地面積が大きいものが有効である。図1(3)に欧州世界大会で実際に子供達が設計したロボットの例を示す。ここでは後輪は太い接地面積の大きいタイヤを使っている。前輪はゴムを取ったタイヤであり、逆にこちらは堅牢で接地面積が小さく、滑りやすくしている。ゴムタイヤは微小な埃やゴミがつきやすい。これらの影響も大きく、タイヤ掃除が欠かせない。
3の「ロボットの重心と質量」は、モーターを同じ駆動力で駆動させても全体の動きに影響する。特に重心は重要で、2のように、いくらタイヤ1と2を滑りやすいものを使っても重心がタイヤ1、2にかかっていると、まったく曲がらず、曲がる角度も極めて正確さを欠く。これは前輪が滑り出す前の静止摩擦係数が大きくなるため、滑り出すまでのばらつきが大きくなるためである。ただし、これにはトレードオフがあり、重心が後輪側にあるほど直進時の安定性は悪くなる。
4の「電池電圧」は、特に電圧が落ちてくるほど駆動力が弱くなってくるので、時間などで回転を制御する場合にその補正を行う必要がある。特にプログラム上同じレベルでモーターを駆動しても、その勢いが電池電圧で異なるために、モーターを停止してからのイナーシャーにより実際にロボットが停止するまでのぶれが大きくなる。これは回転センサをモーターにつけたとして、回転センサの値が目的値になったらモーターを止める方法でも防げず、実際にモーターを停止してからのブレが大きいことが問題になる。 次のページ