関連知識

リアルタイム制御を意識する

あらかじめ決められた時間のなかで制御を行うことをリアルタイム制御と言います。ロボットは周りとのやりとりや歩行など時間を意識した制御が必要です。

◀ この記事の前に: 機能構成図
▶ この記事の次に: リアルタイム制御の時間感覚

スマートフォンやPCとの違い

スマートフォンでソーシャルメディア( LINEなどのSNS )を操作する場合や、PCで Excelなどで計算をする場合は、あまり時間を気にしなくても問題ありません。SNSであれば相手の返事が気になるとか、Excelで大量のデータを早く処理してもらいたいという気持ちはありますが、多少遅くても待つことはできます。例えば自動車の制御では待つことは難しくなります。エンジンの制御( 燃焼噴射装置など )は、エンジンの回転数に合わせて燃料を噴射しないとエンジンは回り続けてくれません。自動運転で急に障害物が飛び出した場合は、それを衝突しないようにすぐに回避することが必要です。ロボットも同じで歩行する場合の各サーボモータは、決められた順序で決められた時間に合わせて動作することが必要です。常に時間を気にしながら、時間内に処理を行うことが求められます。

Qumcum Lab. の歩行はサーボモータを制御することにより実現します。サーボモータの仕様から msec( 1/1000秒 )単位の時間で制御を行います。実際は精度を上げたり滑らかな動作を実現するために、μsec( 1/1000000秒 )単位で処理を行います。

リアルタイム制御のプログラミングは常に時間を意識して行うことが必要です。プログラムの途中に待ち時間を入れたり、長い処理は問題を起こす原因になります。その原因を作らない技術を使用してプログラミングしていきます。

自律運動と随意運動

リアルタイム制御で大切なことは常に継続する制御と、必要に応じて起動する制御を意識して処理することです。これ動物の自律運動と随意運動に似ています。自律運動と随意運動は以下のとおりです。

  • 自律運動: 動物の心臓や肺、胃腸などの運動は自分自身の意思で動かしていません。意識しなくても問題なく動くように調整されています。
  • 随意運動: 自らの意思や気持ちに基づいて行う運動です。歩くことや話すことなどです。止めることもできますし、自分の周りに合わせて対応することもあります。 

ロボットも電源電圧の監視や、サーボモータの制御出力( 基本的な制御 )など継続して行い続けることが必要です。これは自律運動に似ています。リモコンの指示で歩行を始めたり、障害物を検知して止まったりすることは随意運動に似ています。

大切なことは常にしなくてはいけない処理があり、その処理は時間が決められていることです。
プログラムも常にしなくてはいけない処理を、必要な時間( タイミングと処理時間 )で行うことが求められます。

バックグラウンド処理とフォアグランド処理

バックグラウンド処理とフォアグラウンド処理は、コンピューターシステムで優先度によって処理を分けた場合に使用される考え方です。利用者に直接接している処理がフォアグランド処理、その裏で利用者と直接接しておらずに動いている処理がバックグラウンド処理です。例えば、ホームページの URLを入力して閲覧する場合はフォアグランド処理で、閲覧中にファイルをダウンロードしているのはバックグラウンド処理になります。

リアルタイム制御は相手が利用者(人)でなく制御対象(物)になります。
利用者が相手のシステムでは利用者にとって良いようにフォアグランド処理を優先することが多いと思います。リアルタイム制御のように相手が制御対象の場合は、制御対象を優先します。制御対象の方が時間的に制約が多いからです。そのためリアルタイム制御はバックグラウンド処理を優先することになります。

リアルタイム制御ではバックグラウンド処理は常に時間を意識している点から同期処理、フォアグランド処理はその合間で必要に応じて処理を行う点から非同期処理になります。

リアルタイム制御システムの進歩: リアルタイム制御に関して詳しく説明しています。/ Texas Instruments

参考情報

参考になる情報は以下のとおりです。

このホームページ内

  • 複数のMCUをつなぐ: このロボットには複数の MCUが搭載されています。その MCU間の接続の概要です。

他のWebサイト

カテゴリー
最近の記事 おすすめ記事

記事一覧を表示するには、カスタム投稿「ブログ」にて、4つ以上記事を作成してください。

記事一覧を表示するには、カスタム投稿「ブログ」にて、4つ以上記事を作成してください。

TOP