以下、実施形態について、図面を参照しつつ詳細に説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。
〔ロボットシステム〕
本実施形態に係るロボットシステム1は、操作者により予め教示された動作をロボットに繰り返し自動実行させるシステムである。ロボットシステム1の用途に特に制限はない。ロボットシステム1の用途の具体例としては、ロボットに加工又は組立て等を実行させる産業用途が挙げられる。
ロボットシステム1は、ロボット10と、制御システム100とを備える。ロボット10は、例えば6軸の垂直多関節ロボットであり、基部11と、先端部12と、多関節アーム20とを有する。基部11は、ロボット10の作業エリアにおいて例えば床面に設置されている。多関節アーム20は、基部11及び先端部12を接続する。
多関節アーム20は複数の関節を有し、当該複数の関節の動作角度を変更することで基部11に対する先端部12の位置及び姿勢を変更する。例えば多関節アーム20は、旋回部21と、第一アーム22と、第二アーム23と、手首部24と、アクチュエータ41,42,43,44,45,46とを有する。旋回部21は、鉛直な軸線Ax1まわりに旋回可能となるように、基部11の上部に設けられている。すなわち多関節アーム20は、軸線Ax1まわりに旋回部21を旋回可能とする関節31を有する。
第一アーム22は、軸線Ax1に交差(例えば直交)する軸線Ax2まわりに揺動可能となるように旋回部21に接続されている。すなわち多関節アーム20は、軸線Ax2まわりに第一アーム22を揺動可能とする関節32を有する。なお、ここでの交差とは、所謂立体交差のように、互いにねじれの関係にある場合も含む。以下においても同様である。
第二アーム23は、軸線Ax1に交差する軸線Ax3まわりに揺動可能となるように、第一アーム22の端部に接続されている。すなわち多関節アーム20は、軸線Ax3まわりに第二アーム23を揺動可能とする関節33を有する。軸線Ax3は軸線Ax2に平行であってもよい。
手首部24は、旋回アーム26及び揺動アーム27を有する。旋回アーム26は、第二アーム23の中心に沿って第二アーム23の端部から延出しており、第二アーム23の中心に沿う軸線Ax4まわりに旋回可能である。すなわち多関節アーム20は、軸線Ax4まわりに旋回アーム26を旋回可能とする関節34を有する。揺動アーム27は、軸線Ax4に交差(例えば直交)する軸線Ax5まわりに揺動可能となるように旋回アーム26の端部に接続されている。すなわち多関節アーム20は、軸線Ax5まわりに揺動アーム27を揺動可能とする関節35を有する。
先端部12は、揺動アーム27の中心に沿う軸線Ax6まわりに旋回可能となるように、揺動アーム27の端部に接続されている。すなわち多関節アーム20は、軸線Ax6まわりに先端部12を旋回可能とする関節36を有する。
アクチュエータ41,42,43,44,45,46は、例えば電動モータを動力源とし、多関節アーム20の複数の関節31,32,33,34,35,36をそれぞれ駆動する。例えばアクチュエータ41は、軸線Ax1まわりに旋回部21を旋回させ、アクチュエータ42は軸線Ax2まわりに第一アーム22を揺動させ、アクチュエータ43は軸線Ax3まわりに第二アーム23を揺動させ、アクチュエータ44は軸線Ax4まわりに旋回アーム26を旋回させ、アクチュエータ45は軸線Ax5まわりに揺動アーム27を揺動させ、アクチュエータ46は軸線Ax6まわりに先端部12を旋回させる。すなわちアクチュエータ41〜46は、関節31〜36をそれぞれ駆動する。
なお、上述したロボット10の構成はあくまで一例である。ロボット10は、基部に対する先端部の位置及び姿勢を多関節アームにより変更する限りいかに構成されていてもよい。例えばロボット10は、上記6軸の垂直多関節ロボットに冗長軸を追加した7軸のロボットであってもよい。また、ロボット10は所謂スカラー型のロボットであってもよい。
〔制御システム〕
制御システム100は、ロボット10を制御するためのシステムであり、コントローラ200と操作用デバイス300とを備える。コントローラ200は、操作者により教示されたロボット10の動作内容を動作プログラムとして保持し、当該動作プログラムに従ってロボット10を制御する。操作用デバイス300は、操作者による操作入力を取得し、当該操作入力に基づく指令を生成してコントローラ200に出力する。以下、コントローラ200及び操作用デバイス300の構成を詳細に例示する。
(コントローラ)
図2に示すように、コントローラ200は、動作プログラムに従って多関節アーム20により先端部12を動作させるようにロボット10を制御することと(以下、「プレイモード制御」という。)、操作用デバイス300からの制御指令に従って多関節アーム20により先端部12を動作させるようにロボット10を制御することと(以下、「教示モード制御」という。)を実行するように構成されている。例えばコントローラ200は、機能上の構成(以下、「機能モジュール」という。)として、モデル情報保持部211と、プログラム保持部212と、逆運動学演算部213と、制御実行部214とを有する。
モデル情報保持部211は、ロボット10の各部のサイズ(例えば第一アーム22、第二アーム23、旋回アーム26、揺動アーム27の長さ等)を含むモデル情報を記憶する。プログラム保持部212は、操作用デバイス300を用いて操作者により教示された動作内容を動作プログラムとして記憶する。動作プログラムは、時系列に並ぶ複数の動作命令を含む。動作命令は、基部11に対する先端部12の目標位置及び目標姿勢を定める移動命令を含む。
逆運動学演算部213は、目標位置及び目標姿勢に従って先端部12を動作させるための関節角度目標値(関節31,32,33,34,35,36の動作角度目標値)を逆運動学演算により算出する。上記教示モード制御において、逆運動学演算部213は、操作用デバイス300からの制御指令により定められた目標位置及び目標姿勢に従って先端部12を動作させるための関節角度目標値を算出する。上記プレイモード制御において、逆運動学演算部213は、上記動作プログラムの動作命令により定められた目標位置及び目標姿勢に従って先端部12を動作させるための関節角度目標値を算出する。
制御実行部214は、関節角度目標値に従って、アクチュエータ41,42,43,44,45,46により関節31,32,33,34,35,36をそれぞれ駆動するように多関節アーム20を制御する。
(操作用デバイス)
操作用デバイス300は、コントローラ200が上記教示モード制御を実行する際に、動作教示用の操作入力に従ってロボット10を動作させるための制御指令を生成してコントローラ200に出力することを実行するように構成されている。操作用デバイス300は、所謂タブレット型の端末であり、タッチパネル381と、姿勢センサ382とを有する。
タッチパネル381(操作入力部)は、例えば液晶モニタ又は有機ELモニタ等の表示装置と、タッチパッド等の接触位置検出装置とを重ねあわせた入力装置である。タッチパネル381は、表示装置の画面に触れることによる操作入力を取得する。
姿勢センサ382(デバイス姿勢検出部)は、操作用デバイス300の姿勢(すなわちタッチパネル381の姿勢)を検出する。例えば姿勢センサ382はジャイロセンサであり、互いに直交する三本の軸線まわりの操作用デバイス300の姿勢変化(すなわちタッチパネル381の姿勢変化)を検出する。
操作用デバイス300は、ロボット10の制御用の第一座標系C1におけるタッチパネル381の姿勢を姿勢センサ382により検出することと、第一座標系C1に対して回転可能な第二座標系C2をタッチパネル381の姿勢に応じて回すことと(図9参照)、タッチパネル381への操作入力に従って、第二座標系C2における先端部12の動作指令を生成することと、先端部12の動作指令を第一座標系C1における先端部12の動作指令に変換することと、第一座標系C1における先端部12の動作指令に従ってロボット10を制御するための制御指令を出力することと、を実行するように構成されている。
第一座標系C1は、基部11に対する先端部12の位置及び姿勢を一意に定めることが可能な座標系であればよい。例えば第一座標系C1は、基部11に固定された座標系であり、互いに直交する三つの座標軸(X軸C11、Y軸C12及びZ軸C13)を有する。Z軸C13は鉛直(水平面に垂直)であり、上方がZ軸C13の正方向である。
第二座標系C2も、互いに直交する三つの座標軸(X軸C21、Y軸C22及びZ軸C23)を有する。第一座標系C1に対する第二座標系C2の回転角度は、X軸C21、Y軸C22及びZ軸C23が、X軸C11、Y軸C12及びZ軸C13にそれぞれ一致した状態を初期状態として定義される。
操作用デバイス300は、少なくとも一つの操作画像を含む操作画面をタッチパネル381に表示するように画面データを出力することを更に実行し、操作画像内の少なくとも一点を指定するポイント操作がなされた場合に、当該一点と操作画像内の基準点との位置関係に相関するように第二座標系C2における先端部12の動作方向を決定し、該一点と当該基準点との距離に相関するように先端部12の動作のスカラー量を決定し、当該動作方向及び当該スカラー量を含む先端部12の動作指令を生成するように構成されていてもよい。操作用デバイス300は、少なくとも一軸線まわりの第二座標系C2の回転を規制することを更に実行するように構成されていてもよい。
例えば操作用デバイス300は、操作画面の表示及び操作入力の取得用の機能モジュールとして、操作入力部311と、入力内容識別部312と、画面出力部313と、雛形データ保持部314と、関節情報保持部315と、角度情報取得部316と、入力内容保持部317とを備え、第二座標系C2の回転用の機能モジュールとして、デバイス姿勢検出部321と、姿勢演算部322と、座標回転部323と、座標回転規制部324と、モード切替部325と、キャリブレーション部351と、未設定報知部352とを備え、制御指令の生成及び出力用の機能モジュールとして、指令生成部330と、指令変換部341と、指令出力部342とを備える。
操作入力部311は、ロボットを操作するための入力部である。例えば操作入力部311は、操作入力用の操作画面を表示し、操作画面に対する操作入力を取得する。操作入力の具体例としては、ポイント操作及びドラッグ操作が挙げられる。ポイント操作は、操作画面内の少なくとも一点を指定する操作である。ポイント操作は、操作画面内の複数の点を同時に指定する操作も含む。ドラッグ操作は、操作画面内の少なくとも一点を指定したまま当該一点を移動させる操作である。ドラッグ操作は、操作画面内の複数の点を指定したまま当該複数の点を移動させる操作も含む。例えば操作入力部311は、上記タッチパネル381により構成される。操作入力部311は、タッチパネル381に操作画面を表示し、タッチパネル381へのタッチ操作に基づいて当該操作画面への操作入力を取得する。
入力内容識別部312は、操作入力部311への操作入力の内容を識別する。例えば入力内容識別部312は、タッチパネル381へのタッチ操作の位置(以下、「タッチ位置」という。)と、操作画面との位置関係に基づいて操作入力部311への操作入力の内容を識別する。例えば入力内容識別部312は、操作画面が少なくとも一つの操作画像を含んでおり、タッチ位置が操作画像内に位置する場合に、ポイント操作位置が当該操作画像内のどの位置にあるかによって操作画像への操作内容を識別する。より具体的に、入力内容識別部312は、操作画面が一つのボタンの画像を含んでおり、タッチ位置が当該ボタンの画像内に位置する場合に、当該ボタンを押す操作が行われたものと識別する。
雛形データ保持部314は、操作入力部311に表示する操作画面の雛形データを保持する。雛形データ保持部314は、複数種類の操作画面の雛形データを保持していてもよい。
関節情報保持部315は、複数の関節31,32,33,34,35,36ごとに、可動角等を含む情報(以下、「関節情報」という。)を保持している。角度情報取得部316は、関節31,32,33,34,35,36の角度のステータス情報を取得する。例えば角度情報取得部316は、関節31,32,33,34,35,36の角度のステータス情報をコントローラ200の制御実行部214から取得する。
入力内容保持部317は、入力内容識別部312により識別された操作入力部311への操作入力の内容を保持する。入力内容保持部317が保持する内容は、操作入力に従った処理の実行時に参照される。
画面出力部313は、少なくとも一つの操作画像を含む操作画面を操作入力部311に表示するように画面データを出力する。画面出力部313は、操作入力部311への操作入力に応じて、複数種類の操作画面のいずれかを選択し、選択した操作画面の画面データを操作入力部311に出力してもよい。例えば画面出力部313は、雛形データ保持部314が保持する複数種類の雛形データのいずれかを、操作入力部311への操作入力に応じて選択し、その雛形データに基づいて画面データを生成する。
画面出力部313は、関節31,32,33,34,35,36ごとの角度のステータスと、関節31,32,33,34,35,36ごとの角度のリミットとを合わせて示す角度インジケータの画像を更に含む操作画面を操作入力部311に表示するように画面データを出力してもよい。例えば画面出力部313は、関節情報保持部315が保持する関節31,32,33,34,35,36の関節情報と、角度情報取得部316が取得する関節31,32,33,34,35,36のステータス情報とに基づいて角度インジケータの表示用データを生成する。
画面出力部313は、入力内容識別部312により識別された操作入力の内容に基づいて、操作画面の表示状態を更新してもよい。例えば画面出力部313は、操作入力の内容がいずれかの操作画像に対する操作であると識別された場合、当該操作が行われていることを当該操作画像の表示状態によって示すように画面データを更新する。例えば画面出力部313は、操作入力の内容が操作画面内のボタンを押す操作であると識別された場合、当該ボタンを強調表示するように画面データを更新する。
ここで、画面出力部313が表示する複数種類の操作画面を具体的に例示する。例えば、複数種類の操作画面は、固定座標モードの操作画面400と、可動座標モードの操作画面500とを含む。固定座標モードは、第一座標系C1における先端部12の動作指令を入力する操作モードである。可動座標モードは、第一座標系C1に対して回転可能な第二座標系C2における先端部12の動作指令を入力する操作モードである。
図3に示すように、操作画面400は、位置指令入力部421,422,423と、回転指令入力部431,432,433と、入力モード切替ボタン411とを有する。位置指令入力部421は、X軸C11における先端部12の位置を指定するための入力部である。位置指令入力部422は、Y軸C12における先端部12の位置を指定するための入力部である。位置指令入力部423は、Z軸C13における先端部12の位置を指定するための入力部である。
回転指令入力部431は、X軸C11まわりの先端部12の回転角度を指定するための入力部である。回転指令入力部432は、Y軸C12まわりの先端部12の回転角度を指定するための入力部である。回転指令入力部433は、Z軸C13まわりの先端部12の回転角度を指定するための入力部である。入力モード切替ボタン411は、操作画面400を他の操作画面に切り替えるためのボタンである。なお、操作用デバイス300は、タッチパネル381外に操作画面の切り替え用のボタンを備えていてもよい。この場合、操作画面400は入力モード切替ボタン411を有していなくてもよい。
図4に示すように操作画面500は、規制モード設定画像511と、少なくとも一つの操作画像512と、角度インジケータ513と、キャリブレーションボタン514と、入力モード切替ボタン515とを有する。
規制モード設定画像511は、第一座標系C1に対して第二座標系C2を回転させる際に少なくとも一軸線まわりの第二座標系C2の回転を規制する規制モードと、第一座標系C1に対して第二座標系C2を回転させる際にいずれの軸線まわりにも第二座標系C2の回転の規制を行わないフリーモードとの選択入力を行うための画像である。規制モードの具体例としては、一方向に沿った基準軸線RLまわりの第二座標系C2の回転を許容しつつ、基準軸線に垂直な軸線まわりの第二座標系C2の回転を規制するモードが挙げられる。以下、これを「第一規制モード」という。
基準軸線RLは鉛直であってもよい。例えば、基準軸線RLは第一座標系C1のZ軸C13に一致している。この場合、第一規制モードにおいては、Z軸C23がZ軸C13に一致した状態にて、Z軸C13まわりの第二座標系C2の回転が許容され、X軸C11まわり及びY軸C12まわりの第二座標系C2の回転が規制(例えば禁止)される。
なお、規制モードは上述した第一規制モードに限られない。例えば規制モード設定画像511は、いずれか一軸線まわりの第二座標系C2の回転のみを規制するモードを選択し得るように構成されていてもよい。
少なくとも一つの操作画像512は、第二座標系C2における先端部12の動作指令を入力するための画像である。少なくとも一つの操作画像512は、第二座標系C2において先端部12を移動させる指令を入力するための移動ツール画像を含む。例えば少なくとも一つの操作画像512は、上記基準軸線RL(Z軸C13,C23)に沿って先端部12を移動させる指令を入力するための第一移動ツール画像521と、基準軸線RLに垂直な面(例えばX軸C21及びY軸C22を含む平面)に沿って先端部12を移動させる指令を入力するための第二移動ツール画像522とを別に含む。
第一移動ツール画像521は、一本の描画ライン532に沿うように描画される一つの一次元操作系530を含み、一次元操作系530は第二座標系C2に設定された一本の移動ラインML3に対応付けられている。例えば、描画ライン532は操作画面500の上下方向に沿った直状ラインであり、移動ラインML3はZ軸C23に沿った直状ラインである。
一次元操作系530は、描画ライン532上の一点(以下、「基準点531」という。)から上方に順に並ぶ複数のポイントエリア533A,533Bと、基準点531から下方に順に並ぶ複数のポイントエリア534A,534Bとを有する。ポイントエリア533A,533B,534A,534Bは、移動ラインML3に沿った先端部12の移動方向及び移動のスカラー量を指定するためのエリアである。先端部12の移動方向は、ポイントエリア533A,533B,534A,534Bと基準点531との相対的な位置関係に基づいて決定される。例えば、基準点531より上方のポイントエリア533A,533Bのいずれかが指定(例えばポイント操作により指定)されると、先端部12の移動方向がZ軸C23の正方向に決定される。基準点531より下方のポイントエリア534A,534Bのいずれかが指定されると、先端部12の移動方向がZ軸C23の負方向に決定される。
先端部12の移動のスカラー量は、基準点531からポイントエリア533A,533B,534A,534Bまでの距離に基づいて決定される。例えば、ポイントエリア533A,534Aに比較して基準点531から遠いポイントエリア533B,534Bが指定されると、ポイントエリア533A,534Aが指定される場合に比較して先端部12の移動のスカラー量が大きい値に決定される。
複数のポイントエリア533A,533B,534A,534Bの幅(描画ライン532に直交する方向の幅)が、基準点531側から遠ざかるのに応じて大きくなっていてもよい。すなわち、ポイントエリア533B,534Bの幅W2が、ポイントエリア533A,534Aの幅W1より大きくなっていてもよい。
図示の例において、一次元操作系530は、基準点531から上方に向うにつれて徐々に幅広となる逆三角領域を有し、当該逆三角領域の下側がポイントエリア533Aを構成し、当該逆三角領域の上側がポイントエリア533Bを構成している。同様に、一次元操作系530は、基準点531から下方に向うにつれて徐々に幅広となる三角領域を有し、当該三角領域の上側がポイントエリア534Aを構成し、当該三角領域の下側がポイントエリア534Bを構成している。
第二移動ツール画像522は、互いに交差する複数本の描画ラインにそれぞれ沿うように描画される複数の一次元操作系を含み、当該複数の一次元操作系は、第二座標系C2で互いに交差するように設定された複数本の移動ラインにそれぞれ対応している。例えば第二移動ツール画像522は、互いに直交する二本の描画ライン541,551にそれぞれ沿うように描画される二つの一次元操作系540,550を含み、当該二つの一次元操作系は、第二座標系C2で互いに直交するように設定された複数本の移動ラインML1,ML2にそれぞれ対応している。
例えば、描画ライン541は操作画面500の上下方向に沿った直状ラインであり、移動ラインML1はX軸C21に沿った直状ラインである。描画ライン551は操作画面の左右方向に沿った直状ラインであり、移動ラインML2はY軸C22に沿った直状ラインである。
一次元操作系540は、描画ライン541,551の交点(以下、「基準点542」という。)から上方に順に並ぶ複数のポイントエリア543A,543B,543Cと、基準点542から下方に順に並ぶ複数のポイントエリア544A,544B,544Cとを有する。ポイントエリア543A,543B,543C,544A,544B,544Cは、移動ラインML1に沿った先端部12の移動方向及び移動のスカラー量を指定するためのエリアである。
先端部12の移動方向は、ポイントエリア543A,543B,543C,544A,544B,544Cと基準点542との相対的な位置関係に基づいて決定される。例えば、基準点542より上方のポイントエリア543A,543B,543Cのいずれかが指定されると、先端部12の移動方向がX軸C21の正方向に決定される。基準点542より下方のポイントエリア544A,544B,544Cのいずれかが指定されると、先端部12の移動方向がX軸C21の負方向に決定される。
先端部12の移動のスカラー量は、基準点542からポイントエリア543A,543B,543C,544A,544B,544Cまでの距離に基づいて決定される。例えば、ポイントエリア543A,544Aに比較して基準点542から遠いポイントエリア543B,544Bが指定されると、ポイントエリア543A,544Aが指定される場合に比較して先端部12の移動のスカラー量が大きい値に決定される。ポイントエリア543B,544Bに比較して基準点542から更に遠いポイントエリア543C,544Cが指定されると、ポイントエリア543B,544Bが指定される場合に比較して先端部12の移動のスカラー量が更に大きい値に決定される。
複数のポイントエリア543A,543B,543C,544A,544B,544Cの幅(描画ライン541に直交する方向の幅)が、基準点542側から遠ざかるのに応じて大きくなっていてもよい。すなわち、ポイントエリア543B,544Bの幅W12が、ポイントエリア543A,544Aの幅W11より大きく、ポイントエリア543C,544Cの幅W13が、ポイントエリア543B,544Bの幅W12より更に大きくなっていてもよい。
図示の例において、一次元操作系540は、基準点542から上方に向うにつれて徐々に幅広となる扇形領域を有し、当該扇形領域の中心側がポイントエリア543Aを構成し、当該扇形領域の外周側がポイントエリア543Cを構成している。これらの間がポイントエリア543Bを構成している。同様に、一次元操作系540は、基準点542から下方に向うにつれて徐々に幅広となる扇形領域を有し、当該扇形領域の中心側がポイントエリア544Aを構成し、当該扇形領域の外周側がポイントエリア544Cを構成している。これらの間がポイントエリア544Bを構成している。
一次元操作系550は、基準点542から左方に順に並ぶ複数のポイントエリア553A,553B,553Cと、基準点542から右方に順に並ぶ複数のポイントエリア554A,554B,554Cとを有する。ポイントエリア553A,553B,553C,554A,554B,554Cは、移動ラインML2に沿った先端部12の移動方向及び移動のスカラー量を指定するためのエリアである。
先端部12の移動方向は、ポイントエリア553A,553B,553C,554A,554B,554Cと基準点542との相対的な位置関係に基づいて決定される。例えば、基準点542より左方のポイントエリア553A,553B,553Cのいずれかが指定されると、先端部12の移動方向がY軸C22の正方向に決定される。基準点542より右方のポイントエリア554A,554B,554Cのいずれかが指定されると、先端部12の移動方向がY軸C22の負方向に決定される。
先端部12の移動のスカラー量は、基準点542からポイントエリア553A,553B,553C,554A,554B,554Cまでの距離に基づいて決定される。例えば、ポイントエリア553A,554Aに比較して基準点542から遠いポイントエリア553B,554Bが指定されると、ポイントエリア553A,554Aが指定される場合に比較して先端部12の移動のスカラー量が大きい値に決定される。ポイントエリア553B,554Bに比較して基準点542から更に遠いポイントエリア553C,554Cが指定されると、ポイントエリア553B,554Bが指定される場合に比較して先端部12の移動のスカラー量が更に大きい値に決定される。
複数のポイントエリア553A,553B,553C,554A,554B,554Cの幅(描画ライン551に直交する方向の幅)が、基準点542側から遠ざかるのに応じて大きくなっていてもよい。すなわち、ポイントエリア553B,554Bの幅W22が、ポイントエリア553A,554Aの幅W21より大きく、ポイントエリア553C,554Cの幅W23が、ポイントエリア553B,554Bの幅W22より更に大きくなっていてもよい。
図示の例において、一次元操作系550は、基準点542から左方に向うにつれて徐々に幅広となる扇形領域を有し、当該扇形領域の中心側がポイントエリア553Aを構成し、当該扇形領域の外周側がポイントエリア553Cを構成し、これらの間がポイントエリア553Bを構成している。同様に、一次元操作系550は、基準点542から右方に向うにつれて徐々に幅広となる扇形領域を有し、当該扇形領域の中心側がポイントエリア554Aを構成し、当該扇形領域の外周側がポイントエリア554Cを構成し、これらの間がポイントエリア554Bを構成している。
角度インジケータ513は、関節31,32,33,34,35,36ごとの角度のステータスと、関節31,32,33,34,35,36ごとの角度のリミットとを合わせて示す画像である。角度インジケータ513は、複数の角度バー561A,561B,561C,561D,561E,561Fと、リミットライン562,563とを含む。複数の角度バー561A,561B,561C,561D,561E,561Fは、複数の関節31,32,33,34,35,36にそれぞれ対応している。角度バー561A,561B,561C,561D,561E,561Fは上下に並び、それぞれ左右方向に延びている。角度バー561A,561B,561C,561D,561E,561Fのそれぞれは左右方向に移動可能なステータスマーカ564を含んでおり、左右方向におけるステータスマーカ564の位置によって関節角度の大きさを示す。例えば、関節角度が大きくなるにつれてステータスマーカ564は右側に移動する。
リミットライン562は、関節角度の下限を示すラインであり、角度バー561A,561B,561C,561D,561E,561Fの左端部に交差している。リミットライン563は、関節角度の上限を示すラインであり、角度バー561A,561B,561C,561D,561E,561Fの右端部に交差している。
キャリブレーションボタン514は、第一座標系C1に対する第二座標系C2の姿勢を予め設定された初期姿勢にすること指示するためのボタンである。初期姿勢は、例えばX軸C21、Y軸C22及びZ軸C23がX軸C11、Y軸C12及びZ軸C13にそれぞれ一致した姿勢である。
入力モード切替ボタン515は、操作画面500を他の操作画面に切り替えるためのボタンである。上述のように、操作用デバイス300がタッチパネル381外に操作画面の切り替え用のボタンを備えている場合、操作画面500は入力モード切替ボタン515を有していなくてもよい。
なお、複数種類の操作画面は、上述した操作画面400,500の他の操作画面を含んでいてもよい。例えば、複数種類の操作画面は、固定座標モード及び可動座標モードのいずれとも異なるモード(例えば第一座標系C1及び第二座標系C2のいずれとも異なる座標系における先端部12の動作を指定する操作モード)にてロボット10を操作するための操作画面を含んでいてもよい。また、操作画面400,500のそれぞれの画面構成も適宜変更可能である。
図5に示す操作画面501は、一次元操作系530のポイントエリア533A,533B,534A,534B、一次元操作系540のポイントエリア543A,543B,543C,544A,544B,544C、及び一次元操作系550のポイントエリア553A,553B,553C,554A,554B,554Cのそれぞれを楕円形にしたものである。操作画面501においても、複数のポイントエリア533A,533B,534A,534Bの幅は、基準点531側から遠ざかるのに応じて大きくなっている。複数のポイントエリア543A,543B,543C,544A,544B,544Cの幅は、基準点542側から遠ざかるのに応じて大きくなっている。複数のポイントエリア553A,553B,553C,554A,554B,554Cの幅は、基準点542側から遠ざかるのに応じて大きくなっている。
一次元操作系530において隣り合うポイントエリア同士は互いに離れており、ポイントエリア同士の間が指定されても先端部12の移動指令は生成されない。すなわち一次元操作系530は、ポイントエリア同士の間にポイント操作を無視する不感エリア535を有する。一次元操作系540において隣り合うポイントエリア同士も互いに離れており、ポイントエリア同士の間が指定されても先端部12の移動指令は生成されない。すなわち一次元操作系540は、ポイントエリア同士の間にポイント操作を無視する不感エリア545を有する。一次元操作系550において隣り合うポイントエリア同士も互いに離れており、ポイントエリア同士の間が指定されても先端部12の移動指令は生成されない。すなわち一次元操作系550は、ポイントエリア同士の間にポイント操作を無視する不感エリア555を有する。
図6に示す操作画面503は、操作画面500に量設定ツール画像610を付加した操作画面である。量設定ツール画像610は、操作画像512により入力される動作指令のスカラー量を指示するための画像である。動作指令のスカラー量が量設定ツール画像610により指示されるので、操作画像512において動作指令のスカラー量を指示する必要はない。このため操作画面503の一次元操作系530においては、複数のポイントエリア533A,533Bが一つのポイントエリア533に集約され、複数のポイントエリア534A,534Bが一つのポイントエリア534に集約されている。操作画面503の一次元操作系540においては、複数のポイントエリア543A,543B,543Cが一つのポイントエリア543に集約され、複数のポイントエリア544A,544B,544Cが一つのポイントエリア544に集約されている。操作画面503の一次元操作系550においては、複数のポイントエリア553A,553B,553Cが一つのポイントエリア553に集約され、複数のポイントエリア554A,554B,554Cが一つのポイントエリア554に集約されている。
図7に示す操作画面502は、操作画面500に第一回転ツール画像523及び第二回転ツール画像524を付加した操作画面である。第一回転ツール画像523及び第二回転ツール画像524は、いずれも操作画像512の一種であり、第二座標系C2において先端部12を回転させる指令を入力するための画像である。
第一回転ツール画像523は、描画ライン532に対応付けて描画される一つの単軸操作系570を含む。単軸操作系570は、一次元操作系530よりも外側において、描画ライン532を挟む二つのポイントエリア571,572を有する。ポイントエリア571,572は、描画ライン532に対応付けられた移動ラインML3まわりの先端部12の回転方向を指定するためのエリアである。ポイントエリア571が指定される場合の先端部12の回転方向と、ポイントエリア572が指定される場合の先端部12の回転方向とは互いに逆向きとなる。これを直感的に認識させるように、ポイントエリア571,572は、いずれも描画ライン532の逆側に向いた曲がった矢印形状に描画される。
第二回転ツール画像524は、描画ライン541,551にそれぞれ対応付けて描画される二つの単軸操作系580,590を含む。単軸操作系580は、一次元操作系540よりも外側において、描画ライン541を挟む二つのポイントエリア581,582を有する。ポイントエリア581,582は、描画ライン541に対応付けられた移動ラインML1まわりの先端部12の回転方向を指定するためのエリアである。ポイントエリア581が指定される場合の先端部12の回転方向と、ポイントエリア582が指定される場合の先端部12の回転方向とは互いに逆向きとなる。これを直感的に認識させるように、ポイントエリア581,582は、いずれも描画ライン541の逆側に向いた曲がった矢印形状に描画される。
単軸操作系590は、一次元操作系550よりも外側において、描画ライン551を挟む二つのポイントエリア591,592を有する。ポイントエリア591,592は、描画ライン551に対応付けられた移動ラインML2まわりの先端部12の回転方向を指定するためのエリアである。ポイントエリア591が指定される場合の先端部12の回転方向と、ポイントエリア592が指定される場合の先端部12の回転方向とは互いに逆向きとなる。これを直感的に認識させるように、ポイントエリア591,592は、いずれも描画ライン551の逆側に向いた曲がった矢印形状に描画される。
図4〜7に示した操作画面500,501,502,503のいずれにおいても、基準点531,542及び描画ライン532,541,551が図示されているが、基準点及び描画ラインは必ずしも図示されなくてもよい。基準点が図示されない操作画像512であっても、操作画像512内のいずれか一点を基準点と仮定した場合に次の条件が成立すれば、当該操作画像512は基準点を含むと言える。
条件1) ポイント操作により指定された点(以下、「操作点」という。)と基準点との位置関係と先端部12の移動方向とが相関する。
条件2) 操作点と基準点との距離と先端部12の移動のスカラー量とが相関する。
また、描画ラインが図示されない操作画像512であっても、次の条件が成立すれば、当該操作画像512は描画ラインを含むと言える。
条件11) 一本のラインに沿っていることが明らかな一次元操作系を操作画像512が含んでいる。
条件12) 当該一次元操作系に対してポイント操作を行うと、第二座標系C2に固定された一本のラインに沿って先端部12が移動する。
図2に戻り、デバイス姿勢検出部321は、第一座標系C1における操作入力部311の姿勢を検出する。例えばデバイス姿勢検出部321は、姿勢センサ382により構成される。
姿勢演算部322は、規制モード設定画像511において、少なくとも一軸線(例えば基準軸線RLに垂直な軸線)まわりの第二座標系C2の回転を規制する規制モードが選択されている場合に、デバイス姿勢検出部321により検出される情報に基づいて、当該一軸線に垂直な軸線まわりの操作入力部311の回転角度を算出する。例えば姿勢演算部322は、規制モード設定画像511において上記第一規制モードが選択されている場合に、上記基準軸線RL(例えばZ軸C13)まわりの操作入力部311の回転角度θ1と、基準軸線に垂直な軸線まわりの操作入力部311の回転角度θ2とを算出する(図8参照)。基準軸線に垂直な軸線は、タッチパネル381の表示面に平行であってもよいし、タッチパネル381の表示面に接していてもよい。
座標回転部323は、第二座標系C2を操作入力部311の姿勢に応じて回す。図9は、座標回転部323による処理の一例を示す図であり、操作入力部311がZ軸C13まわりに回転した場合を示している。この場合、座標回転部323は、Z軸C13まわりにおいて、操作入力部311の回転と同じ方向に第二座標系C2を回転させる。この際に、座標回転部323は、Z軸C13まわりの第二座標系C2の回転角度を、Z軸C13まわりの操作入力部311の回転角度と等しくする。
座標回転部323は、少なくとも一軸線(例えば基準軸線RLに垂直な軸線)まわりの第二座標系C2の回転を規制する規制モードが選択されている場合に、当該一軸線まわりの操作入力部311の回転角度を姿勢演算部322から取得し、これに応じて当該一軸線(例えば基準軸線RL)まわりに第二座標系C2を回転させてもよい。
座標回転規制部324は、少なくとも一軸線まわりの第二座標系C2の回転を規制する。例えば座標回転規制部324は、上記第一規制モードにて第二座標系C2の回転を規制する。すなわち座標回転規制部324は、上記基準軸線まわりの第二座標系C2の回転を許容しつつ、基準軸線に垂直な軸線まわりの第二座標系C2の回転を規制する。
基準軸線は鉛直であってもよい。この場合、座標回転規制部324は、Z軸C23がZ軸C13に一致した状態にて、Z軸C13まわりの第二座標系C2の回転を許容し、X軸C11まわり及びY軸C12まわりの第二座標系C2の回転を規制(例えば禁止)する。なお、規制モードは上述した第一規制モードに限られない。例えば座標回転規制部324は、いずれか一軸線まわりの第二座標系C2の回転のみを規制してもよい。
モード切替部325は、座標回転規制部324による第二座標系C2の回転の規制を行う規制モードと、座標回転規制部324による第二座標系C2の回転の規制を行わないフリーモードとを切り替える。モード切替部325は、操作入力部311への入力に応じて規制モードとフリーモードとを切り替えてもよい。例えばモード切替部325は、上述した規制モード設定画像511への入力に応じて規制モードとフリーモードとを切り替える。規制モード設定画像511において、複数種類の規制モードを選択可能である場合、モード切替部325は、座標回転規制部324によりいずれの規制モードで第二座標系C2の回転の規制を行わせるのかを更に切り替えてもよい。
キャリブレーション部351は、第一座標系C1に対する第二座標系C2の姿勢を予め設定された初期姿勢にするキャリブレーションを、操作入力部311への入力に応じて実行する。例えばキャリブレーション部351は、操作画面500のキャリブレーションボタン514へのポイント操作がなされた場合にキャリブレーションを行う。初期姿勢の一例としては、X軸C21、Y軸C22及びZ軸C23がX軸C11、Y軸C12及びZ軸C13にそれぞれ一致する姿勢が挙げられる。
図10に示すように、操作入力部311の操作画面の上下方向をX軸C11に沿わせた状態にてキャリブレーションが実行されると、以後の操作においては、操作画面の上下方向が第二座標系C2のX軸C21に沿い、操作入力部311の左右方向が第二座標系C2のY軸C22に沿った状態が維持される。
未設定報知部352は、キャリブレーション部351によりキャリブレーションが実行されていない場合に、初期姿勢が未設定であることを報知する。例えば未設定報知部352は、ロボットシステム1の起動時に第二座標系C2の姿勢を初期姿勢にする。この処理は、操作入力部311の操作画面の向きとは無関係に実行されるので、以後の操作においては、操作画面の上下方向が第二座標系C2のX軸C21に沿っておらず、操作入力部311の左右方向が第二座標系C2のY軸C22に沿っていない状態(以下、「方向不一致状態」という。)が生じ得る。方向不一致状態が生じることによって、キャリブレーションが実行されていないことが操作者に報知される。なお、未設定報知部352は、キャリブレーションが実行されていないことを操作入力部311への警告表示等により報知してもよい。
指令生成部330は、現在選択されている操作モードの種類に応じたロボット10の動作指令を生成する。例えば現在選択されている操作モードが上述した固定座標モードである場合、指令生成部330は、固定座標モード用の操作画面400への入力に従って、第一座標系C1における先端部12の動作指令を生成する。
現在選択されている操作モードが上述した可動座標モードである場合、指令生成部330は、可動座標モード用の操作画面500への入力に従って、第二座標系C2における先端部12の動作指令を生成する。例えば指令生成部330は、操作画像512内の少なくとも一点を指定するポイント操作がなされた場合に、当該一点と当該操作画像512内の基準点との位置関係に相関するように第二座標系C2における先端部12の動作方向を決定し、当該一点と当該基準点との距離に相関するように先端部12の動作のスカラー量を決定し、当該動作方向及び当該スカラー量を含む先端部12の動作指令を生成する。スカラー量とは、動作の大きさを示す量である。スカラー量の具体例としては、先端部12の動作の速さ、動作ピッチの大きさ、及び加速度の大きさ等が挙げられる。
例えば指令生成部330は、より細分化された機能モジュールとして、第一移動指令生成部331と第二移動指令生成部332とを有する。第一移動指令生成部331は、第一移動ツール画像521への入力に従って、基準軸線RL(例えばZ軸C23)に沿った先端部12の移動指令を生成する。例えば第一移動指令生成部331は、一次元操作系530の少なくとも一点を指定するポイント操作がなされた場合に、一次元操作系530に対応する移動ラインML3において、当該一点と一次元操作系530の基準点531との位置関係に相関するように移動方向を決定し、当該一点と基準点531との距離に相関するようにスカラー量を決定し、当該移動方向及び当該スカラー量を含む移動指令を生成する。
例えば第一移動指令生成部331は、一次元操作系530のいずれかのポイントエリア(ポイントエリア533A,533B,534A,534Bのいずれか)を指定するポイント操作がなされた場合に、一次元操作系530に対応する移動ラインML3において、当該ポイントエリアと基準点531との位置関係に相関するように移動方向を決定し、当該ポイントエリアと基準点531との距離に相関するようにスカラー量を決定する。
第二移動指令生成部332は、第二移動ツール画像522への操作入力に従って、基準軸線RLに直交する軸線(例えばX軸C21及びY軸C22)に沿った第二座標系C2における先端部12の移動指令を生成する。例えば第二移動指令生成部332は、複数の一次元操作系540,550のうちいずれか一つの一次元操作系の少なくとも一点を指定するポイント操作がなされた場合に、当該一次元操作系に対応する移動ラインにおいて、当該一点と当該一次元操作系の基準点との位置関係に相関するように移動方向を決定し、当該一点と当該基準点との距離に相関するように移動のスカラー量を決定する。
例えば第二移動指令生成部332は、一次元操作系540のいずれかのポイントエリア(ポイントエリア543A,543B,543C,544A,544B,544Cのいずれか)を指定するポイント操作がなされた場合に、一次元操作系540に対応する移動ラインML1において、当該ポイントエリアと基準点542との位置関係に相関するように移動方向を決定し、当該ポイントエリアと基準点542との距離に相関するように移動のスカラー量を決定する。
第二移動指令生成部332は、一次元操作系550のいずれかのポイントエリア(ポイントエリア553A,553B,553C,554A,554B,554Cのいずれか)を指定するポイント操作がなされた場合に、一次元操作系550に対応する移動ラインML2において、当該ポイントエリアと基準点542との位置関係に相関するように移動方向を決定し、当該ポイントエリアと基準点542との距離に相関するように移動のスカラー量を決定する。
上記操作画面503(図6参照)の説明にて例示したように、操作画面が量設定ツール画像610を更に有している場合、第一移動指令生成部331及び第二移動指令生成部332は、量設定ツール画像610への入力に応じて移動指令のスカラー量を決定してもよい。この場合、第一移動指令生成部331及び第二移動指令生成部332は、ポイントエリア533,534,543,544,553,554へのポイント操作に応じて先端部12の移動方向を決定する。
第一移動指令生成部331及び第二移動指令生成部332は、少なくとも一軸線(例えば基準軸線RLに垂直な軸線)まわりの第二座標系C2の回転を規制する規制モードが選択されている場合に、当該一軸線に垂直な軸線まわりの操作入力部311の回転角度を姿勢演算部322から取得し、これに応じて移動指令のスカラー量を決定してもよい。
上記操作画面502(図7参照)の説明にて例示したように、操作画面が第一回転ツール画像523及び第二回転ツール画像524を更に有している場合、指令生成部330は、第一回転ツール画像523及び第二回転ツール画像524への入力に従って、第二座標系C2における先端部12の回転指令を更に生成してもよい。
例えば指令生成部330は、第一回転指令生成部333と第二回転指令生成部334とを更に有してもよい。第一回転指令生成部333は、第一回転ツール画像523への入力に従って、基準軸線RL(例えばZ軸C23)まわりの先端部12の回転指令を生成する。例えば第一回転指令生成部333は、単軸操作系570の少なくとも一点を指定するポイント操作がなされた場合に、単軸操作系570に対応する移動ラインML3まわりにおいて、当該一点と描画ライン532との位置関係に相関するように回転方向を決定する。例えば第一回転指令生成部333は、単軸操作系570のいずれかのポイントエリア(ポイントエリア571,572のいずれか)を指定するポイント操作がなされた場合に、単軸操作系570に対応する移動ラインML3まわりの先端部12の回転方向を決定する。
第二回転指令生成部334は、第二回転ツール画像524への操作入力に従って、基準軸線RLに直交する軸線(例えばX軸C21及びY軸C22)まわりの先端部12の回転指令を生成する。例えば第二回転指令生成部334は、複数の単軸操作系580,590のうちいずれか一つの単軸操作系の少なくとも一点を指定するポイント操作がなされた場合に、当該単軸操作系に対応する移動ラインまわりにおいて、当該一点と当該単軸操作系の描画ラインとの位置関係に相関するように回転方向を決定する。例えば第二回転指令生成部334は、単軸操作系580のいずれかのポイントエリア(ポイントエリア581,582のいずれか)を指定するポイント操作がなされた場合に、単軸操作系580に対応する移動ラインML1まわりにおいて、当該ポイントエリアと描画ライン541との位置関係に相関するように回転方向を決定する。第二回転指令生成部334は、単軸操作系590のいずれかのポイントエリア(ポイントエリア591,592のいずれか)を指定するポイント操作がなされた場合に、単軸操作系590に対応する移動ラインML2まわりにおいて、当該ポイントエリアと描画ライン551との位置関係に相関するように回転方向を決定する。
指令変換部341は、指令生成部330が第二座標系C2における先端部12の動作指令を生成する場合に、当該動作指令を第一座標系C1における先端部12の動作指令に変換する。例えば指令変換部341は、第一座標系C1に対する第二座標系C2の回転角度に対応する回転行列を第二座標系C2における先端部12の動作指令に乗算して第一座標系C1における先端部12の動作指令を算出する。指令出力部342は、第一座標系C1における先端部12の動作指令に従ってロボット10を制御するための制御指令をコントローラ200の逆運動学演算部213に出力する。
(制御システムのハードウェア構成)
図11に示すように、コントローラ200は、回路290を有する。回路290は、少なくとも一つのプロセッサ291と、メモリ292と、ストレージ293と、ドライバ294と、通信ポート295とを含む。ストレージ293は、コンピュータによって読み取り可能な不揮発型の記憶媒体(例えばハードディスク又はフラッシュメモリ)である。ストレージ293は、コントローラ200の各機能モジュールを構成するためのプログラムを記憶する。メモリ292は、ストレージ293からロードしたプログラム及びプロセッサ291による演算結果等を一時的に記憶する。プロセッサ291は、メモリ292と協働して上記プログラムを実行することで、コントローラ200の各機能モジュールを構成する。ドライバ294は、プロセッサ291からの指令に応じてアクチュエータ41〜46に駆動電力を出力する。通信ポート295は、プロセッサ291からの指令に応じ、操作用デバイス300との間でネットワーク通信を行う。
操作用デバイス300は、上記タッチパネル381及び姿勢センサ382と、回路390とを備える。回路390は、少なくとも一つのプロセッサ391と、メモリ392と、ストレージ393と、入出力ポート394と、通信ポート395とを含む。ストレージ393は、コンピュータによって読み取り可能な不揮発型の記憶媒体(例えばフラッシュメモリ)である。
ストレージ393は、少なくとも一つの操作画像512を含む操作画面を操作入力部311に表示するように画面データを出力することと、ロボット10の制御用の第一座標系C1における操作入力部311の姿勢を検出することと、第一座標系C1に対して回転可能な第二座標系C2を操作入力部311の姿勢に応じて回すことと、操作画像512内の少なくとも一点を指定するポイント操作がなされた場合に、当該一点と当該操作画像512内の基準点531,542との位置関係に相関するように第二座標系C2における先端部12の動作方向を決定し、当該一点と当該基準点531,542との距離に相関するように先端部12の動作のスカラー量を決定し、当該動作方向及び当該スカラー量を含む先端部12の動作指令を生成することと、先端部12の動作指令を第一座標系C1における先端部12の動作指令に変換することと、第一座標系C1における先端部12の動作指令に従ってロボット10を制御するための制御指令を出力することと、を含む制御方法を操作用デバイス300に実行させるためのプログラムを記憶している。
ストレージ393は、ロボット10の制御用の第一座標系C1における操作入力部311の姿勢を検出することと、第一座標系C1に対して回転可能な第二座標系C2を操作入力部311の姿勢に応じて回すことと、操作入力部311への操作入力に従って、第二座標系C2における先端部12の動作指令を生成することと、第二座標系C2における先端部12の動作指令を第一座標系C1における先端部12の動作指令に変換することと、第一座標系C1における先端部12の動作指令に従ってロボット10を制御するための制御指令を出力することと、少なくとも一軸線まわりの第二座標系C2の回転を規制することと、を含む制御方法を操作用デバイス300に実行させるためのプログラムを記憶していてもよい。例えばストレージ393は、操作用デバイス300の各機能モジュールを構成するためのプログラムを記憶する。
メモリ392は、ストレージ393からロードしたプログラム及びプロセッサ391による演算結果等を一時的に記憶する。プロセッサ391は、メモリ392と協働して上記プログラムを実行することで、操作用デバイス300の各機能モジュールを構成する。入出力ポート394は、プロセッサ391からの指令に応じてタッチパネル381及び姿勢センサ382からの信号を取得し、また、タッチパネル381へ信号を出力する。通信ポート395は、プロセッサ291からの指令に応じ、コントローラ200との間でネットワーク通信を行う。
〔制御手順〕
続いて、制御方法の一例として、制御システム100が実行する制御手順を例示する。この制御手順は、ロボット10の制御用の第一座標系C1における操作入力部311の姿勢を検出することと、第一座標系C1に対して回転可能な第二座標系C2を操作入力部311の姿勢に応じて回すことと、操作画像512内の少なくとも一点を指定するポイント操作がなされた場合に、当該一点と当該操作画像512内の基準点531,542との位置関係に相関するように第二座標系C2における先端部12の動作方向を決定し、当該一点と当該基準点531,542との距離に相関するように先端部12の動作のスカラー量を決定し、当該動作方向及び当該スカラー量を含む先端部12の動作指令を生成することと、先端部12の動作指令を第一座標系C1における先端部12の動作指令に変換することと、第一座標系C1における先端部12の動作指令に従ってロボット10を制御するための制御指令を出力することと、を含む。
この制御手順は、第一座標系C1に対して回転可能な第二座標系C2を操作入力部311の姿勢に応じて回すことと、操作入力部311への操作入力に従って、第二座標系C2における先端部12の動作指令を生成することと、第二座標系C2における先端部12の動作指令を第一座標系C1における先端部12の動作指令に変換することと、第一座標系C1における先端部12の動作指令に従ってロボット10を制御するための制御指令を出力することと、少なくとも一軸線まわりの第二座標系C2の回転を規制することと、を含んでもよい。
以下、制御手順を、画面データ出力手順(操作画面の画面データを出力する手順)と、可動座標モードによる制御指令出力手順(操作用デバイス300からコントローラ200に制御指令を出力する手順)と、キャリブレーション手順(キャリブレーションの実行手順)と、制御実行手順(制御指令に応じた制御の実行手順)とに分けて例示する。
(画面データ出力手順)
図12に示すように、操作用デバイス300は、ステップS01,S02,S03を実行する。ステップS01では、画面出力部313が、雛形データ保持部314から初期の操作画面の雛形データを取得する。いずれの操作画面を初期画面とするかは予め設定されている。ステップS02では、画面出力部313が、操作画面を操作入力部311に表示するように画面データを出力する。ステップS03では、入力内容識別部312が、操作入力部311に操作モードを変更する操作入力があったか否かを確認する。入力内容識別部312は、例えば入力モード切替ボタン411,515へのポイント操作がなされたか否かを確認する。
ステップS03において操作モードを変更する入力があった場合、操作用デバイス300はステップS04を実行する。ステップS04では、画面出力部313が、変更後の操作モードに対応した操作画面の雛形データを取得する。
次に、操作用デバイス300はステップS05,S06を実行する。ステップS03において操作モードを変更する操作入力がなかった場合、操作用デバイス300は、ステップS04を実行することなくステップS05,S06を実行する。ステップS05では、角度情報取得部316がコントローラ200の制御実行部214から関節31,32,33,34,35,36の角度のステータス情報を取得する。ステップS06では、入力内容識別部312が、操作画面400,500への操作入力がなされたか否かを確認する。
ステップS06において操作画面400,500への操作入力がなされていた場合、操作用デバイス300はステップS07を実行する。ステップS07では、入力内容識別部312が、操作内容を判定する。例えば入力内容識別部312は、操作画像512のいずれかのポイントエリアの位置とポイント操作により指定された位置とが一致する場合に、当該ポイントエリアを指定する操作がなされたと判定し、判定結果を入力内容保持部317に保存する。
次に、操作用デバイス300は、ステップS08,S09を実行する。ステップS06において操作画面400,500への操作入力がなされていなかった場合、操作用デバイス300はステップS07を実行することなくステップS08,S09を実行する。ステップS08では、画面出力部313が、操作入力部311への操作入力の状態及び関節31,32,33,34,35,36の角度のステータス情報等に応じて操作画面の画面データを修正する。画面出力部313は、例えば、ポイント操作の対象部分(例えばポイントエリア等)を強調表示する。また、画面出力部313は、関節31,32,33,34,35,36の角度のステータス情報に応じて角度インジケータ513の表示データを更新する。ステップS09では、画面出力部313が、操作画面の画面データを操作入力部311に出力する。その後、操作用デバイス300は処理をステップS03に戻す。以後、操作入力部311への操作入力の有無を監視しながら、画面出力部313から311への操作画面の画面データの出力が繰り返される。
(制御指令出力手順)
図13に示すように、操作用デバイス300は、ステップS11,S12,S13,S14,S15,S16を実行する。ステップS11では、姿勢演算部322が、デバイス姿勢検出部321から、第一座標系C1における操作入力部311の姿勢を表す情報を取得する。ステップS12では、姿勢演算部322が、デバイス姿勢検出部321から取得した情報に基づいて操作入力部311の姿勢を算出する。ステップS13では、モード切替部325が、規制モード設定画像511への入力に基づいて規制モード又はフリーモードを切り替える。ステップS14では、座標回転規制部324が、規制モードに従って第二座標系C2の回転を規制するように、第二座標系C2の回転角度を決定する。例えば、第一規制モードが選択されている場合、座標回転規制部324は、X軸C11及びY軸C12まわりの第二座標系C2の回転角度をゼロにし、姿勢演算部322により算出されるZ軸C13まわりの操作入力部311の回転角度をZ軸C13まわりの第二座標系C2の回転角度とする。ステップS15では、座標回転部323が、座標回転規制部324により決定された回転角度に従って、第二座標系C2を回転させる座標回転処理を実行する。ステップS16では、指令生成部330が、第一移動ツール画像521及び第二移動ツール画像522のいずれか一方への操作入力の有無を確認する。
ステップS16において第一移動ツール画像521及び第二移動ツール画像522のいずれか一方への操作入力があった場合、操作用デバイス300はステップS17を実行する。ステップS17では、第一移動指令生成部331又は第二移動指令生成部332が、第二座標系C2における先端部12の移動指令を生成する。ステップS17の具体的な処理内容は後述する。
ステップS16において第一移動ツール画像521及び第二移動ツール画像522のいずれか一方への操作入力がなかった場合、操作用デバイス300はステップS18を実行する。ステップS18では、指令生成部330が、第一回転ツール画像523及び第二回転ツール画像524のいずれか一方への操作入力の有無を確認する。
ステップS18において第一回転ツール画像523及び第二回転ツール画像524のいずれか一方への操作入力があった場合、操作用デバイス300はステップS19を実行する。ステップS19では、第一回転指令生成部333又は第二回転指令生成部334が、先端部12の回転方向を決定する。ステップS19の具体的な処理内容は後述する。
ステップS17又はステップS19を実行した後、操作用デバイス300はステップS21,S22を実行する。ステップS21では、指令変換部341が、ステップS17又はステップS19で生成された第二座標系C2における先端部12の動作指令を、第一座標系C1における先端部12の動作指令に変換する。ステップS22では、指令出力部342が、ステップS21で変換された第一座標系C1における先端部12の動作指令を出力する。
ステップS22を実行した後、操作用デバイス300は処理をステップS11に戻す。ステップS18において操作入力がなかった場合も、操作用デバイス300は処理をステップS11に戻す。以後、第一移動ツール画像521、第二移動ツール画像522、第一回転ツール画像523及び第二回転ツール画像524への操作入力の有無を監視しながら、操作用デバイス300からコントローラ200への制御指令の出力が繰り返される。
続いて、ステップS17における移動指令の生成手順を例示する。図14に示すように、操作用デバイス300は、ステップS31を実行する。ステップS31では、指令生成部330が、第一移動ツール画像521へのポイント操作の有無を確認する。
ステップS31において第一移動ツール画像521へのポイント操作があった場合、操作用デバイス300はステップS32,S33,S34を実行する。ステップS32では、第一移動指令生成部331が、先端部12の移動方向を基準軸線RLに沿うように決定する。例えば、ポイントエリア533A,533Bのいずれかがポイント操作により指定されると、第一移動指令生成部331は、先端部12の移動方向をZ軸C23の正方向に決定する。ポイントエリア534A,534Bのいずれかがポイント操作により指定されると、第一移動指令生成部331は、先端部12の移動方向をZ軸C23の負方向に決定する。ステップS33では、第一移動指令生成部331が、先端部12の移動のスカラー量を決定する。例えば、ポイントエリア533B,534Bのいずれかがポイント操作により指定されると、第一移動指令生成部331は、先端部12の移動のスカラー量を、ポイントエリア533A,534Aのいずれかが指定された場合に比較して大きい値に決定する。ステップS34では、第一移動指令生成部331が、ステップS32で決定した移動方向及びステップS33で決定したスカラー量に基づいて、移動後の先端部12の目標位置を算出する。
ステップS31において第一移動ツール画像521ではなく第二移動ツール画像522へのポイント操作があった場合、操作用デバイス300はステップS35を実行する。ステップS35では、第二移動指令生成部332が、基準軸線RLに垂直な面に沿った先端部12の移動方向を決定する。例えば、ポイントエリア543A,543B,543Cのいずれかがポイント操作により指定されると、第二移動指令生成部332は、先端部12の移動方向をX軸C21の正方向に決定する。ポイントエリア544A,544B,544Cのいずれかがポイント操作により指定されると、第二移動指令生成部332は、先端部12の移動方向をX軸C21の負方向に決定する。ポイントエリア553A,553B,553Cのいずれかがポイント操作により指定されると、第二移動指令生成部332は、先端部12の移動方向をY軸C22の正方向に決定する。ポイントエリア554A,554B,554Cのいずれかがポイント操作により指定されると、第二移動指令生成部332は、先端部12の移動方向をY軸C22の負方向に決定する。
続いて、操作用デバイス300はステップS36,S37を実行する。ステップS36では、第二移動指令生成部332が、先端部12の移動のスカラー量を決定する。例えば、ポイントエリア543A,544Aに比較して基準点542から遠いポイントエリア543B,544Bが指定されると、第二移動指令生成部332は、ポイントエリア543A,544Aが指定される場合に比較して先端部12の移動のスカラー量を大きい値に決定する。ポイントエリア543B,544Bに比較して基準点542から更に遠いポイントエリア543C,544Cが指定されると、第二移動指令生成部332は、ポイントエリア543B,544Bが指定される場合に比較して先端部12の移動のスカラー量を更に大きい値に決定する。ステップS37では、第二移動指令生成部332が、ステップS35で決定した移動方向及びステップS36で決定したスカラー量に基づいて、移動後の先端部12の目標位置を算出する。ステップS34又はステップS37の実行により、操作用デバイス300は移動指令の生成手順を完了する。
続いて、ステップS19における回転指令の生成手順を例示する。図15に示すように、操作用デバイス300は、ステップS41を実行する。ステップS41では、指令生成部330が、第一回転ツール画像523へのポイント操作の有無を確認する。
ステップS41において第一回転ツール画像523へのポイント操作があった場合、操作用デバイス300は、ステップS42,S43を実行する。ステップS42では、第一回転指令生成部333が、基準軸線RLまわりの先端部12の回転方向を決定する。例えば、単軸操作系570の一点が指定されると、第一回転指令生成部333は、単軸操作系570に対応する移動ラインML3まわりの先端部12の回転方向を、ポイントエリア571,572のいずれが指定されたかに応じて決定する。ステップS43では、第一回転指令生成部333が、ステップS42で決定した回転方向に基づいて、回転後の先端部12の目標位置を算出する。
ステップS41において第一回転ツール画像523ではなく第二回転ツール画像524へのポイント操作があった場合、操作用デバイス300は、ステップS44,S45を実行する。ステップS44では、第二回転指令生成部334が、基準軸線RLに直交する軸線まわりの先端部12の回転方向を決定する。例えば、単軸操作系580の一点が指定されると、第二回転指令生成部334は、単軸操作系580に対応する移動ラインML1まわりの先端部12の回転方向を、ポイントエリア581,582のいずれが指定されたかに応じて決定する。単軸操作系590の一点が指定されると、第二回転指令生成部334は、単軸操作系590に対応する移動ラインML2まわりの先端部12の回転方向を、ポイントエリア591,592のいずれが指定されたかに応じて決定する。ステップS45では、第二回転指令生成部334が、ステップS44において決定した回転方向に基づいて、回転後の先端部12の目標位置を算出する。ステップS43又はステップS45の実行により、操作用デバイス300は先端部12の回転指令の生成手順を完了する。
(キャリブレーション手順)
図16に示すように、操作用デバイス300は、ステップS51,S52を実行する。ステップS51では、未設定報知部352が、ロボットシステム1の起動時に第二座標系C2の姿勢を初期姿勢にする。言い換えれば、未設定報知部352は、仮のキャリブレーションを実行する。ステップS52では、キャリブレーション部351が、キャリブレーションボタン514へのポイント操作がなされたか否かを確認する。
ステップS52においてキャリブレーションボタン514へのポイント操作があった場合、操作用デバイス300はステップS53を実行する。ステップS53では、キャリブレーション部351がキャリブレーションを実行する。即ち、キャリブレーション部351が、第一座標系C1に対する第二座標系C2の姿勢を予め設定された初期姿勢にする。例えば、キャリブレーション部351は、X軸C21、Y軸C22及びZ軸C23を、X軸C11、Y軸C12及びZ軸C13に一致させる。
ステップS53を実行した後、操作用デバイス300は処理をステップS52に戻す。ステップS52においてキャリブレーションボタンの操作がなかったと判定した場合も、操作用デバイス300は処理をステップS52に戻す。以後、操作用デバイス300は、キャリブレーションボタン514へのポイント操作の有無を監視し、キャリブレーションボタン514へのポイント操作に応じてキャリブレーションを実行することを繰り返す。
(制御実行手順)
図17に示すように、コントローラ200は、ステップS61,S62,S63を実行する。ステップS61では、逆運動学演算部213が、操作用デバイス300の指令出力部342からの制御指令の取得を待機する。ステップS62では、逆運動学演算部213が、制御指令により定められた目標位置及び目標姿勢に従って、逆運動学演算により、先端部12を動作させるための関節角度目標値を算出する。ステップS63では、制御実行部214が、関節角度目標値に従って、アクチュエータ41,42,43,44,45,46により関節31,32,33,34,35,36をそれぞれ駆動するようにロボット10を制御する。以後、コントローラ200は、操作用デバイス300からの制御指令に応じて関節角度目標値を算出し、当該関節角度目標値に従ってロボット10を制御することを繰り返す。
〔本実施形態の作用効果〕
以上に説明したように操作用デバイス300は、先端部12と、基部11と、基部11に対する先端部12の位置及び姿勢を変更する多関節アーム20とを有するロボット10を操作するための操作入力部311と、先端部12の動作指令を入力するための少なくとも一つの操作画像512を含む操作画面500,501,502,503を操作入力部311に表示するように画面データを出力する画面出力部313と、ロボット10の制御用の第一座標系C1における操作入力部311の姿勢を検出するデバイス姿勢検出部321と、第一座標系C1に対して回転可能な第二座標系C2を操作入力部311の姿勢に応じて回す座標回転部323と、操作画像512内の少なくとも一点を指定するポイント操作がなされた場合に、当該一点と当該操作画像512内の基準点531,542との位置関係に相関するように第二座標系C2における先端部12の動作方向を決定し、当該一点と当該基準点531,542との距離に相関するように先端部12の動作のスカラー量を決定し、当該動作方向及び当該スカラー量を含む先端部12の動作指令を生成する指令生成部330と、先端部12の動作指令を第一座標系C1における先端部12の動作指令に変換する指令変換部341と、第一座標系C1における先端部12の動作指令に従ってロボット10を制御するための制御指令を出力する指令出力部342と、を備える。
指令生成部330は、ポイント操作により指定される点(以下、「指定点」という。)の位置に基づいて移動方向及びスカラー量の両方を決定する。したがって、操作用デバイス300は、操作性向上に有効である。指定点と基準点531,542との位置関係に相関するように移動方向が設定され、指定点と基準点531,542との距離に相関するようにスカラー量が設定される。したがって、移動方向及びスカラー量がいかに設定されるかを操作者が直感的に理解し易い。このため、操作性の更なる向上に有効である。なお、ポイント操作による入力によれば、スライド操作に比較して、操作者の認識と入力内容とのずれが生じ難い。従って、操作性向上に有効である。なお、スカラー量は先端部12の動作の速さを含んでいてもよい。
少なくとも一つの操作画像512は、先端部12を移動させる指令を入力するための第一移動ツール画像521及び第二移動ツール画像522を含み、第一移動ツール画像521及び第二移動ツール画像522は、一本の描画ライン532,541,551に沿うように描画される少なくとも一つの一次元操作系530,540,550を含み、当該一次元操作系530,540,550は第二座標系C2に設定された一本の移動ラインML1,ML2,ML3に対応付けられ、指令生成部330は、第一移動ツール画像521及び第二移動ツール画像522への入力に従って、第二座標系C2における先端部12の移動指令を生成する第一移動指令生成部331及び第二移動指令生成部332を有し、第一移動指令生成部331及び第二移動指令生成部332は、一次元操作系の少なくとも一点を指定するポイント操作がなされた場合に、当該一次元操作系530,540,550に対応する移動ラインML1,ML2,ML3において、当該一点と当該一次元操作系530,540,550の基準点531,542との位置関係に相関するように移動方向を決定し、当該一点と当該基準点531,542との距離に相関するようにスカラー量を決定し、当該移動方向及び当該スカラー量を含む移動指令を生成してもよい。この場合、操作画像512の一次元操作系530,540,550を第二座標系C2の一本の移動ラインML1,ML2,ML3に対応付けることで、いずれの方向に先端部12が移動するのかを操作者に明確に認識させることができる。
第二移動ツール画像522は、少なくとも一つの一次元操作系540,550として、互いに交差する複数本の描画ライン541,551にそれぞれ沿うように描画される複数の一次元操作系540,550を含み、当該複数の一次元操作系540,550は、第二座標系C2で互いに交差するように設定された複数本の移動ラインML1,ML2にそれぞれ対応し、第二移動指令生成部332は、複数の一次元操作系540,550のうちいずれか一つの一次元操作系540,550の少なくとも一点を指定するポイント操作がなされた場合に、当該一次元操作系540,550に対応する移動ラインML1,ML2において、当該一点と当該一次元操作系540,550の基準点542との位置関係に相関するように移動方向を決定し、当該一点と当該基準点542との距離に相関するようにスカラー量を決定してもよい。この場合、一つの操作画像512でより多様な移動方向の指定を可能にしつつ、いずれの方向に先端部12が移動するのかを操作者に明確に認識させることができる。
少なくとも一つの一次元操作系530,540,550は、基準点531,542側から順に並ぶ複数のポイントエリア533A,533B,534A,534B,543A,543B,543C,544A,544B,544C,553A,553B,553C,554A,554B,554Cを有し、第一移動指令生成部331及び第二移動指令生成部332は、一次元操作系530,540,550のいずれかのポイントエリアを指定するポイント操作がなされた場合に、当該一次元操作系530,540,550に対応する移動ラインML1,ML2,ML3において、当該ポイントエリアと当該基準点531,542との位置関係に相関するように移動方向を決定し、当該ポイントエリアと当該基準点531,542との距離に相関するようにスカラー量を決定してもよい。この場合、ポイントエリアを選択する方式によって、ポイント操作位置のばらつきに起因する操作入力のばらつきを抑制し、操作性を更に向上させることができる。
少なくとも一つの一次元操作系530,540,550は、ポイントエリア533A,533B,534A,534B,543A,543B,543C,544A,544B,544C,553A,553B,553C,554A,554B,554C同士の間に、ポイント操作を無視する不感エリア535,545,555を有していてもよい。この場合、ポイントエリア間に不感エリア535,545,555を設けることによって、ポイントエリアの誤選択を抑制し、操作性を更に向上させることができる。
複数のポイントエリア533A,533B,534A,534B,543A,543B,543C,544A,544B,544C,553A,553B,553C,554A,554B,554Cの幅W1,W2,W11,W12,W13,W21,W22,W23が、基準点531,542側から遠ざかるのに応じて大きくなっていてもよい。この場合、ポイントエリアとスカラー量との関係を操作者に直感的に認識させ易い。
少なくとも一つの操作画像512は、先端部12を回転させる指令を入力するための第一回転ツール画像523及び第二回転ツール画像524を更に含み、指令生成部330は、第一回転ツール画像523及び第二回転ツール画像524への入力に従って、第二座標系C2における先端部12の回転指令を生成する第一回転指令生成部333及び第二回転指令生成部334を更に有していてもよい。この場合、先端部12の姿勢も第二座標系C2で指定可能である。したがって、操作性の更なる向上に有効である。
多関節アーム20は複数の関節31,32,33,34,35,36を含み、画面出力部313は、複数の関節31,32,33,34,35,36ごとの角度のステータスと、複数の関節31,32,33,34,35,36ごとの角度のリミットとを合わせて示す角度インジケータ513を更に含む操作画面500,501,502,503を操作入力部311に表示するように画面データを出力してもよい。この場合、ロボット10の可動限界を把握しながらの操作が可能である。したがって、操作性の更なる向上に有効である。
操作用デバイス300は、第一座標系C1に対する第二座標系C2の姿勢を予め設定された初期姿勢にするキャリブレーションを、操作入力部311への入力に応じて実行するキャリブレーション部351と、キャリブレーション部351によりキャリブレーションが実行されていないことを報知する未設定報知部352とを更に備えていてもよい。この場合、操作者の方向感覚に合った操作性をより確実に提供することができる。
操作用デバイス300は、先端部12と、基部11と、基部11に対する先端部12の位置及び姿勢を変更する多関節アーム20とを有するロボット10を操作するための操作入力部と、ロボット10の制御用の第一座標系C1における操作入力部311の姿勢を検出するデバイス姿勢検出部321と、第一座標系C1に対して回転可能な第二座標系C2を操作入力部311の姿勢に応じて回す座標回転部323と、操作入力部311への操作入力に従って、第二座標系C2における先端部12の動作指令を生成する指令生成部330と、第二座標系C2における先端部12の動作指令を第一座標系C1における先端部12の動作指令に変換する指令変換部341と、第一座標系C1における先端部12の動作指令に従ってロボット10を制御するための制御指令を出力する指令出力部342と、少なくとも一軸線まわりの第二座標系C2の回転を規制する座標回転規制部324と、を備える。
この操作用デバイス300によれば、操作入力部311の姿勢に応じて回る第二座標系C2にて先端部12の移動指令を入力することが可能である。したがって、操作者の方向感覚に合った操作入力が可能となる。また、操作入力部311の姿勢に応じた第二座標系C2の回転方向を制限するため、第二座標系C2の過度な回転が抑制される。このため、第二座標系C2の過度な回転に起因する操作者の方向感覚からの乖離が抑制される。従って、操作用デバイス300は操作性向上に有効である。
座標回転規制部324は、一方向に沿った基準軸線RLまわりの第二座標系C2の回転を許容しつつ、基準軸線RLに垂直な軸線まわりの第二座標系C2の回転を規制してもよい。この場合、操作者にとって、第二座標系C2の過度な回転が更に抑制される。したがって、操作性向上に更に有効である。
基準軸線RLは鉛直であってもよい。操作者の方向感覚において、前後左右は操作者の向きに応じて変わるが、鉛直方向は普遍となり易い。この性質に合わせ、基準軸線RLを鉛直とすることで、より操作者の方向感覚に合った操作入力が可能となる。
操作用デバイス300は、基準軸線RLに沿って先端部12を移動させる指令を入力するための第一移動ツール画像521と、基準軸線RLに垂直な面に沿って先端部12を移動させる指令を入力するための第二移動ツール画像522とを別に含む操作画面500,501,503を操作入力部311に表示するように画面データを出力する画面出力部313を更に備え、指令生成部330は、第一移動ツール画像521への操作入力に従って第二座標系C2における先端部12の移動指令を生成する第一移動指令生成部331と、第二移動ツール画像522への操作入力に従って第二座標系C2における先端部12の移動指令を生成する第二移動指令生成部332と、を有していてもよい。この場合、操作入力部の姿勢が変わっても不動な軸線(基準軸線RL)に沿った移動指令と、操作入力部311の姿勢に応じて回る軸線に沿った移動指令とで、ツール画像を分ける。したがって、より操作者の方向感覚に合った操作入力が可能となる。
第一移動指令生成部331は、第一移動ツール画像521内の少なくとも一点を指定するポイント操作がなされた場合に、第一移動ツール画像521内における当該一点の位置に基づいて、基準軸線RLに沿った先端部12の移動方向を決定し、第二移動指令生成部332は、第二移動ツール画像522内の少なくとも一点を指定するポイント操作がなされた場合に、第二移動ツール画像522内における当該一点の位置に基づいて、基準軸線RLに垂直な面に沿った先端部12の移動方向を決定してもよい。ポイント操作による入力によれば、スライド操作に比較して、操作者の認識と入力内容とのずれが生じ難い。したがって、操作性向上に更に有効である。また、基準軸線RLに沿った移動指令については一次元的な操作入力を可能にし、基準軸線RLに垂直な面内の移動指令については、二次元的な操作入力を可能にする。したがって、より操作者の方向感覚に合った入力が可能となる。
第一移動ツール画像521は、一本の描画ライン532に沿うように描画される一つの一次元操作系530を含み、当該一次元操作系530は第二座標系C2において基準軸線RLに沿うように設定された一本の移動ラインML3に対応し、第二移動ツール画像522は、互いに交差する複数本の描画ライン541,551にそれぞれ沿うように描画される複数の一次元操作系540,550を含み、当該複数の一次元操作系540,550は、第二座標系C2において基準軸線RLに垂直な面内で互いに交差するように設定された複数の移動ラインML1,ML2にそれぞれ対応し、第一移動指令生成部331は、第一移動ツール画像521の一次元操作系530の少なくとも一点を指定するポイント操作がなされた場合に、当該一次元操作系530に対応する移動ラインML3において、当該一次元操作系530内の当該一点の位置に応じて移動方向を決定し、第二移動指令生成部332は、第二移動ツール画像522の複数の一次元操作系540,550のうちいずれか一つの一次元操作系540,550の少なくとも一点を指定するポイント操作がなされた場合に、当該一次元操作系540,550に対応する移動ラインML1,ML2において、当該一次元操作系540,550内の当該一点の位置に応じて移動方向を決定してもよい。この場合、操作入力に従って、基準軸線RLに垂直な面内のいずれの方向に先端部12が移動するのかをより明確に操作者に認識させることができる。
操作画面503は、移動指令のスカラー量を指示する量設定ツール画像610を更に含み、第一移動指令生成部331及び第二移動指令生成部332は、量設定ツール画像610への入力に応じて移動指令のスカラー量を決定してもよい。この場合、スカラー量を操作画像512とは別の操作画像で入力する。したがって、過大なスカラー量の入力を抑制できる。
操作画面502は、先端部12を回転させる指令を入力するための第一回転ツール画像523及び第二回転ツール画像524を更に含み、指令生成部320は、第一回転ツール画像523及び第二回転ツール画像524への入力に従って、第二座標系C2における先端部12の回転指令を生成する第一回転指令生成部333及び第二回転指令生成部334を更に有していてもよい。この場合、先端部12の姿勢も第二座標系C2で指定可能となるため、操作性の更なる向上に有効である。
多関節アーム20は複数の関節31,32,33,34,35,36を含み、画面出力部313は、複数の関節31,32,33,34,35,36ごとの角度のステータスと、複数の関節31,32,33,34,35,36ごとの角度のリミットとを合わせて示す角度インジケータ513を更に含む操作画面500,501,502,503を操作入力部311に表示するように画面データを出力してもよい。この場合、ロボット10の可動限界を把握しながらの操作が可能となるため、操作性の更なる向上に有効である。
操作用デバイス300は、座標回転規制部324による第二座標系C2の回転の規制を行う規制モードと、座標回転規制部324による第二座標系C2の回転の規制を行わないフリーモードとを切り替えるモード切替部325を更に備えていてもよい。この場合、操作者のニーズにより柔軟に適応可能となる。
操作用デバイス300は、第一座標系C1に対する第二座標系C2の姿勢を予め設定された初期姿勢にすることを、操作入力部311への入力に応じて実行するキャリブレーション部351と、初期姿勢がキャリブレーション部351により設定されていない場合に、初期姿勢が未設定であることを報知する未設定報知部352とを更に備えていてもよい。この場合、操作者の方向感覚に合った操作性をより確実に提供することができる。
座標回転部323が、一軸線まわりの第二座標系C2の回転を規制する場合に、デバイス姿勢検出部321により検出される情報に基づいて、当該一軸線に垂直な軸線まわりの操作入力部311の回転角度を算出する姿勢演算部322を更に備え、指令生成部330は、当該一軸線に垂直な軸線まわりの操作入力部311の回転角度に応じて動作指令のスカラー量を決定してもよい。この場合、操作入力部311の姿勢情報を有効に活用できるため、操作性の更なる向上に有効である。
以上、実施形態について説明したが、本発明は必ずしも上述した形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変形が可能である。