ROBOBASIC講座(PTP, WAIT)
【PTP(ピー・ティー・ピー】
サーボモーターの同時の動作制御機能を ON/OFFする。
構文:PTP [SETON/SETOFF/ALLON/ALLOFF]
例:
- PTP SETON(通常使用設定) : PTP機能をグループ別に設定する。
- PTP SETOFF(通常使用解除) :グループ別に設定された PTP機能を解除する。
- PTP ALLON(全体設定) :すべてのサーボモーターの PTP機能を設定する。
- PTP ALLOFF(全体解除) :すべてのサーボモーターの PTP機能を解除する。
【WAIT(ウエイト】
命令語の処理が終わるまで待つ。
構文:WAIT
例:MOVE 120, 100, 140, 90, 70, 150
WAIT
《PTP制御とは》
PTPは、Point To Pointの略です。PTP制御はロボットのモータ制御において、より自然な動きにさせるための最も単純な方法です。飛び飛びの点(ポーズ)をモータの角度で指定して制御するため、このような名称が付けられています。
ロボザックでは、MOVEコマンドを使って、各関節の角度を指定して動きを制御しています。また、モータのスピードは各モータごとに設定できるわけではないので、基本的にPTP制御をしてやらないと不自然な動きになってしまうはずです。
つまり、次の点(ポーズ)へ動く為に動かさなくてはいけない角度は、各モータごとに異なっているはずです(ま、同じ場合もあるかもしれません)。それなのに、どのモータも同じスピードで動いたら、各モータごとに、ポーズをとるまでの時間が異なってしまうからです。
PTPコマンドを使うと、グループごとのモータ、もしくは全部のモータのスピードを、多く動かさなくてはいけないモータはより速く、少しだけ動かせばよいモータはより遅く動かすことで、指定したポーズの角度に、できるだけ同時に到達するように、自動的に調整してくれます。
ということで、PTPコマンドは、MOVEコマンドを使う限り、基本的にオンにしておく必要がありますが、他にMOVEコマンドとペアにしてよく使うのが、WAITコマンドです。WAITコマンド自体は前のコマンドの処理が終了するまで待たせるためのコマンドです。基本的にはMOVEコマンドによりモータが動いている最中に、次のコマンドが実行されては困ると思いますので、要所にはWAITコマンドを入れておくのが無難だと思います。
《その他の制御用語》
- CP制御(Continious path control):ロボザックにはできない制御です。この方法は軌道を指定し、それに沿う様に動かさせる方法です。軌道を指定する。例えば、手を水平に左右に動かすといった感じです。軌道に沿った各点における各関節の角度は、軌道からの逆算して求めることになるのでコンピュータの処理能力が必要になります。
- 感覚制御(Sensory control):ロボザック50号以降、いくつかのセンサーが付いてきています。この制御方法はそういったセンサーから得られた値をもとに、ロボットを動作させる制御方法をいいます。
- 適応制御(Adaptive control):環境の変化などに応じて制御系の特性を、所要の条件を満たすように変化させる制御方法をいいます。転倒した状態から起き上がる為の制御が、これになるのかな??例えば、ぷちさんが、ロボザックで転倒から起き上がるプログラミングみたいなの。。。
- 学習制御(Learning control):過去に得られた制御過程をもとに、制御パラメタ、又はアルゴリズムを、逐次所要の条件を満たすように変更していく制御のことをいいます。やろうと思えば、ロボザックでも学習能力を持たせたプログラミングもできるんじゃないかなぁと思います。
----------------
にほんブログ村
| 固定リンク
「ROBOBASIC講座」カテゴリの記事
- IF文の中のIF文(2008.10.31)
- 制限の勧め(2008.10.09)
- ROBOBASIC講座(GYROSET, GYRODIR, GYROSENSE)(2008.09.21)
- ROBOBASIC講座(MOVEPOS、POS)(2008.08.21)
- ROBOBASIC講座(TIPS: FILL文)(2008.07.15)
この記事へのコメントは終了しました。
コメント