NXTでロボットを作成したときに、左右のモータを同じ速さで回転させれば真っ直ぐに進み、回転を変えれば曲がります。
そんなの常識ですね。
2つのモータの同期を取って回転させる命令に
OnFwdSync( outputs,pwr,tuenpct )
があります。
この命令の3つのパラメータ
outputs で動かすモーターを指定します。
pwr は回転させる大きさ(速さ)を指定します。
そして、3つ目のパラメータ turnpct はハンドルのようなものらしいです。
OnFwdSync( OUT_AC,-75,0 ); で真っ直ぐ前進します。
左右の車輪が正回転します。
OnFwdSync( OUT_AC,-75,100 ); で、右回りに超信地回転になります。
つまり、左の車輪は正回転、右の車輪は逆回転します。
同様に OnFwdSync( OUT_AC,-75,-100 ); で、左回りに超信地回転になります。
じゃあ、OnFwdSync( OUT_AC,-75,50 ); とするとどうなるでしょう。
私の予想では、左の車輪が正回転して、右の車輪が止まったまま・・・なのですが。
やってみると、やっぱり、右回りの超信地回転になります。
でも、良く見ると右のモーターの回転が少ないです。 (途中で弱くなる感じ・・・)
じゃあじゃあ、OnFwdSync( OUT_AC,-75,25 ); とするとどうなるでしょう。
今度は、左の車輪が正回転して、右の車輪は微妙にしか動きません。
(微妙に動くと言うことは、静止はしていない・・・)
これで判ったことは・・・
3つ目のパラメータ tunepct は -100から100 を指定できて、マイナスの数値は左回転、プラスの数値は右回転、0だと真っ直ぐ進む、ということです。