Motion sequencer モジュールの操作方法です。シーケンスを指定する関数で指定(入力)することにより、Motion sequencerを動かします。
◀ この記事の前に: Motion sequencer( 概要 )
▶ この記事の次に: Motion sequencer( コード )
概 要
Motion sequencerは、サーボモータの操作をおこないます。Motion interpreter やアプリケーションや指示により制御を開始します。
操作の概要は以下のとおりです。
- 個々のサーボモータを操作する
- 時間に合わせてシーケンスに記載された順序でサーボモータを操作する
- シーケンスを組み合わせて実行する
操作方法
操作指示( Motion sequencer )は以下のとおりです。
シーケンスの開始
Execute sequence
概 要:
あらかじめ書き込まれたシーケンスを指定して実行します。
サーボモータの操作はシーケンスデータに書きます。シーケンスデータの詳細はこちらです。
操 作:
startSqMS( int sqNo ) または void startSqForcedMS( int sqNo ) で、シーケンスの開始を指示する。
void startSqMS( int sqNo ) シーケンスの開始 または
void startSqForcedMS( int sqNo ) シーケンスの強制開始
- int sqNo: シーケンス番号(名称)
シーケンスの開始と強制開始の違いは、前に開始したシーケンスが実行している間に、シーケンスの開始を指示した場合の動き方が異なります。以下のとおりです。
- シーケンスの開始: 現在実行しているシーケンスが終了してから、開始を指示したシーケンスを開始する
- シーケンスの強制開始: 現在実行しているシーケンスを途中で終了して、開始したシーケンスを開始する
二足歩行のシーケンスを中断するとバランスを崩して転倒する場合があります。このように一連のシーケンスを終わらせることが必要な場合は「シーケンスの開始」の使用が望ましく、前のシーケンスを中断してでもすぐに次のシーケンスを開始した方が良い場合は「シーケンスの強制開始」を使用します。例えば二足歩行中を中断してすぐに停止(直立不動の姿勢)にしたい場合などが挙げられます。この場合は直立不動の姿勢が安定しているため、その姿勢に移行できますが、基底速度を高くしている場合などは慣性力が働くためバランスを崩すことがあります。
シーケンスの停止
Quit sequence
概 要:
シーケンスを停止する。
操 作:
quitSqMS() で、シーケンスを停止する。
参考情報
参考になる情報は以下のとおりです。
このホームページ内
- Motion Interpreter( 概要 ): サーボモータ制御の最上位、Motion Interrupter の概要です。
- Motion Interpreter( 操作説明 ): アプリケーションからの操作方法です。( API )
- Motion Interpreter( コード ): コードの詳細を説明します。
- Motion sequencer( 概要 ): サーボモータの協調運動制御の概要です。
- Motion sequencer( 操作説明 ): シーケンスの開始・停止等の操作方法です。( API )
- Motion sequencer( コード ): コードの詳細を説明します。
- シーケンスデータ: シーケンスデータの仕様と作成方法です。
- Servomotor Driver( 概要 ): サーボモータそのものの制御です。( API )
- Servomotor Driver( 操作説明 ): 個々のサーボモータを制御する方法です。
- Servomotor Driver( コード ): コードの詳細を説明します。
- サーボモータの制御( コード詳説 ): バックグラウンド処理の分散化の実現方法です。
- サーボモータ: サーボモータの回路です。ハードウエアの説明です。