ロボット制御とは

ロボットの制御プログラムとは

一般的に産業用ロボットは移動させたい位置を記憶(教示)させて、その位置へどのようにして移動するか指示(制御プログラム)するティーチングプレイバック方式で動作させます。

制御プログラムはロボットの種類やメーカ、業界ごとに詳細は異なりますが、大別すると次のパターンに分けることができます。

  • 位置データと命令データが独立しており、移動命令や入出力の処理、繰り返しや条件分岐などの命令を組み合わせて、プログラムを記述する方法です。各メーカで少しずつ記述方法は違いますが、Basic言語やC言語と同じような記述方法が主流です。
  • ティーチングを行いながら、その場所にどのように動作するかを指定する方法です。移動する位置にロボットを移動させ、その場所に移動する速度や入出力の条件などを設定して記憶させます。

タイムチャート

タイムチャート(タイミングチャートともいう)とは横軸に時間、縦軸に動作または信号のオン/オフを記述した図を指します。停止もしくはオフしている状態と、動作もそくはオンしている状態を線で表現したものです。

機械のシリンダやモータなどの動作を時間に沿って表現する場合、加減速時間があり、それを考慮して斜めの線を記述することがあります。機械設計担当者は移動距離や速度を考えながら、それぞれの機器の動作を考え、全体の時間を検討します。

ものの動作からセンサのオン/オフで記述する場合は、加減速時間は考慮せず、縦に垂直に線を記述します。

この際、シリンダのバルブをオンさせた際、そこからシリンダが前進端に行き切った状態で前進端号がオンするため、時間のずれが発生します。

制御設計担当者はものの動作から信号のオン/オフをこのタイムチャートに記述し、プログラムを考える際の材料とします。

動作とフローチャート図

ロボットプログラムは、一般的にロボットの動きに沿った記述が行われます。「Aの位置へ移動する」→「つかむ」→「Bの位置へ移動する」→「離す」→「元の位置へ戻る」、といった動作の順番に記号を記述します。このような実際の動きの順番やプログラムの動作順序などを、記号を使用して視覚的にわかりやすくした図で表現します。これをフローチャート図といいます。

フローチャート図は、動作や分岐判断を表す記号と、それらの動作の流れを表す矢印で記述されます。

フローチャート図はロボットや装置の動作の順番を記述する際だけでなく、情報処理の分野や事務などの作業フローを記述する際にも使用されます。

記号については、「JIS X 0121:1986情報処理用流れ図・プログラム網図・システム資源図記号」で規定されています。

ロボットの安全

ロボットは非常停止スイッチや安全策に取り付けられた安全スイッチなどを入力信号として受け、ロボットプログラムと関係なく、ロボットを緊急停止させたり、サーボを切ることができます。

それとは別に他の機器との干渉をセンサで検知したり、他の機器からの信号を確認し、ロボットを止めたり、他の機器へ動作しないよう指令を出したりするロボットのプログラムを記述する必要があります。

これは標準の安全機能とは別に、設備ごとにロボットプログラムを作成する人が考え、記述する必要があります。

ロボットでよく行われる制御

ロボットは使用目的に応じてさまざまな処理を行います。

ピック&プレース

特定の場所からワークを取り、指定された場所に移載して置く一連の動作をいいます。

外部入力による処理

センサやPLCからの信号をロボットは入力信号として受け取り、プログラムにてその信号のオンかオフで動作を変化させます。

出力信号による外部制御

モータやPLCなどをロボットの外部出力信号に接続し、ロボットのプログラムからその出力信号のオン/オフを制御することで外部の機器を動作させます。

変数による演算

ロボットのプログラム中で四則演算や論理演算を行い、その答えからロボットの動作回数や動作ポジションを変更することが可能です。入出力信号などと連携し、外部の状況に応じてロボットの動作を変化させることが可能です。

外部機器からのデータ処理

外部機器からの入力信号を、ロボットプログラムが数字や文字のデータとして受け取り、演算することができます。そのデータをロボットの座標データとして処理したり、位置の補正値とすることが可能です。

プログラムの作成、編集

ロボットのプログラムを、新規で作成したり既存のプログラムを編集するには2通りの方法があります。

ティーチペンダントから入力、編集を行う

入力方法は、メーカにより大きく違う場合があります。キーにより1文字ずつ入力する場合と、画面に表示されるコマンドを選択する方法法があります。

パソコンのソフトウェアを使用しプログラムの作成や編集を行う

最近では同じソフトウェアでシミュレーションもできるようになっており、ロボットがなくてもプログラムの作成と動作確認が可能です。編集ソフトウェアはロボットメーカがそれぞれ独自のものを出しています。ロボットのコントローラとUSBやイーサネットで接続し、プログラムや位置データのダウンロード(パソコンかロボットのコントローラに送る)したり、アップロード(ロボットのコントローラからパソコンに送ること)したりすることを行います。

マルチ・タスク制御

ロボットのコントローラでは、複数のプログラムを同時に実行することが可能です。同時に同じ関節のモータを複数のプログラムで制御することはできませんが、モータを動作させるプログラムとセンサを常に監視するプログラム、ロボットの動作とセンサを監視し、その状況に合わせて外部の機器を動作させるプログラムなど、複数のプログラムで別々の処理をさせ、効率的に周辺機器とロボットを動作させるプログラムを作ることが可能です。

ロボットプログラムの命令

ロボットのプログラムの命令には次のようなものがあります。

移動命令

指定した位置へ移動させる命令。直線補間や円弧保管で移動します。

速度命令

移動する速度を指定します。実際の速度(mm/分)や指定の速度のパーセンテージ(%)で指定します。また、加減速を指定する命令も用意されています。加減速を調整することで、タクトや停止位置精度に影響を及ぼします。

入出力命令

外部と信号やデータの受け渡しを行う命令。信号のオン/オフやRS-232C、イーサネットなどでのデータ通信を行う命令もあります。

繰り返し処理命令

同じ処理を指定した回数、または無限に繰り返す命令のことです。

分岐、ジャンプ命令

指定した条件の結果を元に、次の動作を選択し実行します。検査後不良品を捨てるなどの処理を行います。

演算命令

四則演算や三角関数などの演算以外に位置データを演算する命令など、ロボット特有の演算命令も用意されています。

その他専用命令

溶接ロボットやパレタイジングロボットなど、ある作業を専門とするロボットにはその作業に特化した命令が用意されています。

ロボットのティーチング

特別教育

産業用ロボットが関わる業務に従事する作業員のほか、メンテナンスを担当する全ての従事者には、「特別教育」を受けることが労働安全衛生法第59条第3項で規定されています。特別教育で学ぶべき項目も法律で定められています。

ティーチング作業

ロボットが動作するには

ロボットはあらかじめ教えられた動作を実行する機械です。

教示作業の手順

具体的な教示作業は次のような順序で行います。

①プログラム作成

教示内容を保存するためのプログラムに名前を付けて保存します。

②ロボットを教示位置に移動

ティーチペンダントを使ってプログラムで使用したい位置にロボットを移動させます。

③教示位置の記憶

ティーチペンダントを使って名前を付けて、現在の位置(姿勢)を覚えさせます。

④ロボットを次の位置に移動

ロボットを次に記憶する位置に移動させ、その点を記憶します。

⑤必要な作業点数を教示

作業に必要な教示を全て①~③のように行います。

ティーチング作業時の安全

操作権の考え方

ロボットには「操作権」という考え方があります。メーカにより「制御権」など他の表現もありますが、同じ内容を指しています。ロボットが工場内で使われるとき、必ずしも操作する場所からロボットが直接見えるとは限りません。このようなときに、ロボットの教示作業やメンテナンスでロボットを触ろうとロボットの作業範囲内に入った時に、外部から誤ってロボットを起動できないようにする必要があります。

ロボットにコントローラの操作パネル、ティーチペンダント、パソコンなど、複数の機器が接続されていても、同時にロボットに対する操作(運転、サーボオンなどの動作指令)が有効な機器を1つに制限します。このとき、この限られた1つの機器が「操作権を得ている」状態といいます。

操作権には優先順位があります。順位の高い順から、「ティーチペンダント」、「ロボットコントローラ」、「外部機器からの操作」となっています。

ロボットの動作範囲内で作業する可能性が高いティーチング作業者の安全のために、ティーチペンダントの操作権取得操作が最優先されます。次いで、ロボットコントローラのパネル操作が優先されます。これは、システムトラブル時などに単体動作を行うためです。

反対に、停止やサーボオフなどロボットを停止させるような操作は、安全上操作権がなくても行えるようになっています。

サーボ電源

ロボットの各軸はサーボモータと呼ばれるモータで動作させています。教示を行うモードにした際はサーボ電源はオフとなっています。これは作業者の意志と関係なくロボットが動作することを防ぐためです。

教示作業を行うには、「操作権」を有効にした後にサーボ電源をオンにする必要があります。このサーボ電源をオンにするためには、「デッドマンスイッチ」をオンにする必要があります。

「デッドマンスイッチ」は3ポジションスイッチとなっており、力をかけていないときはオフ、適度に力をかけているときはオン、力強く力をかけるとオフとなるスイッチです。これは操作する人がサーボ電源をオンにする意思を持って軽く力を入れてサーボ電源をオンにし、もし危険を感じた際に手を離したり、恐怖を感じ強く力を入れた場合にサーボ電源がオフになるような構造になっています。

教示作業時に発生する事故が多いため、数多くの安全装置が使用されています。

ロボットの座標系

ロボットをティーチングする際、座標系を選択し操作します。座標系には、間接座標系・直交座標系・ツール座標系などがあります。

間接座標系

ロボットの各関節の回転角度を値とする座標系のことをいいます。6軸多関節型ロボットの場合、間接座標は6個の要素で成り立っています。

直交座標系

直交座標系とは、互いに直交している座標軸を指定することによって、定まる座標系のことをいいます。例えば点P=(50,-10,20)の点は、X軸の+(+)方向に50、Y軸の-(マイナス)方向に10、Z軸方向の+(プラス)方向に20示した位置となります。

ツール座標系

ツール座標系とは、ロボットのハンド先端を原点とした直交座標系のことをいいます。ハンドの向きに対する前進・後退動作を行うため、ハンドの向きを変えずに動作させることができます。

6軸多関節型ロボットの場合、ツール座標は直交座標と同じく6個の要素で成り立っており、座標値を(0,0,0,0,0,0)のように表記した場合は、先頭からそれぞれX,Y,Z,A,B,Cを表しています。