(57)【要約】【課題】オペレータの熟練度に関わりなく、オペレータに直感的に分かりやすく操作させること。【解決手段】実施形態の一態様に係るロボットシミュレータは、画像生成部と、表示部と、表示制御部と、シミュレート指示部とを備える。画像生成部は、少なくとも冗長軸を有するロボット、および、かかるロボットの所定の制御点を原点とする３次元座標軸を操作可能な操作ハンドルを含む仮想画像を生成する。表示部は、画像を表示する。表示制御部は、上記画像生成部によって生成された上記仮想画像を上記表示部へ表示させる。シミュレート指示部は、上記操作ハンドルに対するオペレータの操作を受け付けた場合に、かかる操作に基づく上記制御点の変位量または上記３次元座標軸の回転量を取得し、取得した変位量または回転量に応じて上記ロボットの姿勢を変更した上記仮想画像を上記画像生成部に再生成させる。【選択図】図２
2014161921.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも冗長軸を有するロボット、および、該ロボットの所定の制御点を原点とする３次元座標軸を操作可能な操作ハンドルを含む仮想画像を生成する生成部と、
表示部と、
前記生成部によって生成された前記仮想画像を前記表示部へ表示させる表示制御部と、
前記操作ハンドルに対するオペレータの操作を受け付けた場合に、該操作に基づく前記制御点の変位量または前記３次元座標軸の回転量を取得し、取得した該変位量または該回転量に応じて前記ロボットの姿勢を変更した前記仮想画像を前記生成部に再生成させるシミュレート指示部と
を備えることを特徴とするロボットシミュレータ。
【請求項２】
前記操作ハンドルは、
前記３次元座標軸の一軸ごとに該一軸方向に沿って前記制御点を変位させる変位ハンドル、および、前記３次元座標軸を一軸ごとに該一軸まわりに回転させる回転ハンドルの双方またはいずれか一方を含むこと
を特徴とする請求項１に記載のロボットシミュレータ。
【請求項３】
前記変位ハンドルは、
前記３次元座標軸の一軸ごとに該一軸方向に沿った両向き矢印の形状をなしており、該両向き矢印それぞれは、前記制御点から分離して配置されること
を特徴とする請求項２に記載のロボットシミュレータ。
【請求項４】
少なくとも前記３次元座標軸の座標系を選択可能な操作部品
をさらに有し、
前記生成部は、
前記操作部品からオペレータが所望の座標系を選択することによって、該座標系に応じた前記３次元座標軸を有する前記操作ハンドルを前記仮想画像に含ませること
を特徴とする請求項１、２または３に記載のロボットシミュレータ。
【請求項５】
前記冗長軸は、
前記ロボットの有する腕部に含まれ、
前記操作ハンドルの少なくとも一つは、
前記制御点を固定した状態で前記腕部の肘の角度を変化させる肘角動作のためのものであって、
前記シミュレート指示部は、
当該操作ハンドルに対する操作を受け付けた場合に、該操作ハンドルに含まれる前記回転ハンドルの回転に追従して前記ロボットが前記肘角動作を行うように前記仮想画像を前記生成部に再生成させること
を特徴とする請求項２、３または４に記載のロボットシミュレータ。
【請求項６】
前記操作ハンドルは、
前記オペレータのドラッグ操作によって操作されること
を特徴とする請求項１〜５のいずれか一つに記載のロボットシミュレータ。
【請求項７】
前記ロボットは、
２つの前記腕部を有する双腕ロボットであって、
前記シミュレート指示部は、
一方の前記腕部を操作対象とする前記操作ハンドルに対する操作を受け付けた場合に、該操作に基づく前記変位量または前記回転量に応じて双方の前記腕部を連動させた前記仮想画像を前記生成部に再生成させること
を特徴とする請求項５または６に記載のロボットシミュレータ。
【請求項８】
前記生成部は、
前記操作ハンドル、および、当該操作ハンドルの操作対象である前記ロボットの部位を、その他の前記操作ハンドルおよびその他の前記ロボットの部位とは区別して示す前記仮想画像を生成すること
を特徴とする請求項１〜７のいずれか一つに記載のロボットシミュレータ。
【請求項９】
前記生成部は、
前記制御点から任意の方向に伸び、端点が任意のモデルとの交点となるように描かれるガイドラインを前記仮想画像に含ませること
を特徴とする請求項１〜８のいずれか一つに記載のロボットシミュレータ。
【請求項１０】
前記任意の方向は、鉛直下向きであること
を特徴とする請求項９に記載のロボットシミュレータ。
【請求項１１】
少なくとも冗長軸を有するロボット、および、該ロボットの所定の制御点を原点とする３次元座標軸を操作可能な操作ハンドルを含む仮想画像を生成する生成部と、
表示部と、
前記生成部によって生成された前記仮想画像を前記表示部へ表示させる表示制御部と、
前記操作ハンドルに対するオペレータの操作を受け付けた場合に、該操作に基づく前記制御点の変位量または前記３次元座標軸の回転量を取得し、取得した該変位量または該回転量に応じて前記ロボットの姿勢を変更した前記仮想画像を前記生成部に再生成させるシミュレート指示部と、
前記仮想画像の任意の時点における前記ロボットの姿勢を該ロボットの教示点と関連付けた教示点情報を記憶する記憶部と、
前記記憶部によって記憶された前記教示点情報に基づいて前記ロボットを教示する教示部と
を備えることを特徴とするロボット教示装置。
【請求項１２】
少なくとも冗長軸を有するロボット、および、該ロボットの所定の制御点を原点とする３次元座標軸を操作可能な操作ハンドルを含む仮想画像を生成する生成工程と、
前記生成工程によって生成された前記仮想画像を表示部へ表示させる表示制御工程と、
前記操作ハンドルに対するオペレータの操作を受け付けた場合に、該操作に基づく前記制御点の変位量または前記３次元座標軸の回転量を取得し、取得した該変位量または該回転量に応じて前記ロボットの姿勢を変更した前記仮想画像を前記生成工程に再生成させるシミュレート指示工程と、
前記仮想画像の任意の時点における前記ロボットの姿勢を該ロボットの教示点と関連付けた教示点情報を記憶する記憶工程と、
前記記憶工程によって記憶された前記教示点情報に基づいて前記ロボットを教示する教示工程と
を含むことを特徴とするロボット教示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、ロボットシミュレータ、ロボット教示装置およびロボット教示方法に関する。
【背景技術】
【０００２】
従来、所定の加工作業等をロボットに行わせるにあたり、あらかじめロボットの動作をシミュレート演算してコンピュータのディスプレイ上などにグラフィック表示するロボットシミュレータが種々提案されている。
【０００３】
かかるロボットシミュレータを用いることによって、オペレータは、実際にロボットを動作させることなく、ロボットが障害物に干渉しないかといった検証をグラフィック表示によって行いながら教示データを作成することができる。
【０００４】
ところで、教示データの作成の操作にはある程度オペレータの熟練度が求められる。
【０００５】
このため、近年では、タッチパネル上に表示したロボットのグラフィック画像の周囲に「上」、「下」、「左」、「右」といった動作方向を示す文言を用いたタッチキーを表示し、かかるタッチキーを押圧させるように操作を平易化した手法も提案されている（たとえば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３９０１７７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来のロボットシミュレータには、オペレータの熟練度に関わりなく、オペレータに直感的に分かりやすくロボットを操作させるという点で更なる改善の余地がある。
【０００８】
たとえば、上述のように動作方向を示す文言を用いたタッチキーを表示する場合に、ロボットが多軸を有しており、きわめて多方向への可動が可能であるような場合、多くのタッチキーの表示が必要となり、かえって操作が分かりにくくなるおそれがある。
【０００９】
また、上述のような「左」や「右」といった文言であらわされる方向は、絶対的な方向ではなく相対的な方向を示すため、オペレータがロボットの動作方向を直感的に把握しにくいことも考えられる。
【００１０】
実施形態の一態様は、上記に鑑みてなされたものであって、オペレータの熟練度に関わりなく、オペレータに直感的に分かりやすく操作させることができるロボットシミュレータ、ロボット教示装置およびロボット教示方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
実施形態の一態様に係るロボットシミュレータは、生成部と、表示部と、表示制御部と、シミュレート指示部とを備える。前記生成部は、少なくとも冗長軸を有するロボット、および、該ロボットの所定の制御点を原点とする３次元座標軸を操作可能な操作ハンドルを含む仮想画像を生成する。前記表示部は、画像を表示する。前記表示制御部は、前記生成部によって生成された前記仮想画像を前記表示部へ表示させる。前記シミュレート指示部は、前記操作ハンドルに対するオペレータの操作を受け付けた場合に、前記操作に基づく前記制御点の変位量または前記３次元座標軸の回転量を取得し、取得した該変位量または該回転量に応じて前記ロボットの姿勢を変更した前記仮想画像を前記生成部に再生成させる。
【発明の効果】
【００１２】
実施形態の一態様によれば、オペレータの熟練度に関わりなく、オペレータに直感的に分かりやすく操作させることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施形態に係るロボットシミュレータを含むロボットシステムの全体構成を示す模式図である。
【図２】図２は、実施形態に係るロボットシミュレータの構成を示すブロック図である。
【図３Ａ】図３Ａは、表示部へ表示される仮想画像の一例を示す模式図（その１）である。
【図３Ｂ】図３Ｂは、マウスカーソルを各軸へ近づけた場合の一例を示す模式図である。
【図３Ｃ】図３Ｃは、ガイドラインの説明図である。
【図３Ｄ】図３Ｄは、表示部へ表示される仮想画像の一例を示す模式図（その２）である。
【図４】図４は、制御点情報の設定例を示す図である。
【図５Ａ】図５Ａは、操作ハンドルの一例を示す図である。
【図５Ｂ】図５Ｂは、変位ハンドルの説明図である。
【図５Ｃ】図５Ｃは、回転ハンドルの説明図である。
【図６Ａ】図６Ａは、変位ハンドルを操作した場合のシミュレーション動作の具体例を示す図（その１）である。
【図６Ｂ】図６Ｂは、変位ハンドルを操作した場合のシミュレーション動作の具体例を示す図（その２）である。
【図６Ｃ】図６Ｃは、変位ハンドルを操作した場合のシミュレーション動作の具体例を示す図（その３）である。
【図７Ａ】図７Ａは、回転ハンドルを操作した場合のシミュレーション動作の具体例を示す図（その１）である。
【図７Ｂ】図７Ｂは、回転ハンドルを操作した場合のシミュレーション動作の具体例を示す図（その２）である。
【図７Ｃ】図７Ｃは、回転ハンドルを操作した場合のシミュレーション動作の具体例を示す図（その３）である。
【図８Ａ】図８Ａは、肘角動作の操作ハンドルを操作した場合のシミュレーション動作の具体例を示す図（その１）である。
【図８Ｂ】図８Ｂは、肘角動作の操作ハンドルを操作した場合のシミュレーション動作の具体例を示す図（その２）である。
【図８Ｃ】図８Ｃは、肘角動作の操作ハンドルを操作した場合のシミュレーション動作の具体例を示す図（その３）である。
【図９Ａ】図９Ａは、連動選択時のシミュレーション動作の具体例を示す図（その１）である。
【図９Ｂ】図９Ｂは、連動選択時のシミュレーション動作の具体例を示す図（その２）である。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して、本願の開示するロボットシミュレータ、ロボット教示装置およびロボット教示方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【００１５】
また、以下では、ディスプレイ等の表示部に対し、ロボットおよび周辺設備の３次元モデルのグラフィック画像を表示するロボットシミュレータを例に挙げて説明を行う。なお、かかる３次元モデルのグラフィック画像については、以下、「仮想画像」と記載する場合がある。
【００１６】
図１は、実施形態に係るロボットシミュレータ１０を含むロボットシステム１の全体構成を示す模式図である。
【００１７】
図１に示すように、ロボットシステム１は、ロボットシミュレータ１０と、ロボット制御装置２０と、ロボット３０とを備える。また、ロボットシミュレータ１０は、シミュレータ制御装置１１と、表示部１２と、操作部１３と、教示点情報ＤＢ（データベース）１４とを備える。
【００１８】
シミュレータ制御装置１１は、ロボットシミュレータ１０全体を制御するコントローラであり、演算処理処置や記憶装置などを含んで構成される。また、シミュレータ制御装置１１は、表示部１２、操作部１３および教示点情報ＤＢ１４といったロボットシミュレータ１０を構成する各種装置と情報伝達可能に接続される。
【００１９】
そして、シミュレータ制御装置１１は、操作部１３を介したオペレータの操作に基づいてその動作をシミュレート演算したロボット３０の仮想画像を表示部１２に対して出力する。
【００２０】
また、シミュレータ制御装置１１は、同じく操作部１３を介したオペレータの操作に基づいてロボット３０の仮想画像からロボット３０の教示点を取得し、教示点情報ＤＢ１４へ登録することが可能である。
【００２１】
表示部１２は、いわゆるディスプレイ等の表示デバイスである。また、操作部１３は、マウス等のポインティングデバイスである。なお、操作部１３は、必ずしもハードウェア部品として構成される必要はなく、たとえば、タッチパネルディスプレイに表示されたタッチキーなどのソフトウェア部品であってもよい。
【００２２】
教示点情報ＤＢ１４は、ロボット３０に対する「教示点」に関する情報が登録されるデータベースである。
【００２３】
ここで、「教示点」とは、ロボット３０を再生動作させる際にロボット３０の各関節が経由するべき目標位置となる情報であり、たとえば、ロボット３０の各軸を駆動させるサーボモータに設けられた各エンコーダのパルス値として記憶される。ロボット３０は、複数の教示点の情報に基づいて動作するため、教示点情報ＤＢ１４にはロボット３０の動き（教示プログラム）毎に複数の教示点が関連付けられて記憶されている。
【００２４】
換言すると、ロボット３０の教示プログラムには、複数の教示点および各教示点間の補間動作命令やエンドエフェクタへの動作命令などの組合せ情報が含まれており、教示点情報ＤＢ１４は、ロボット３０の教示プログラム毎にそれに含まれる教示点の情報を記憶するようになっている。そして、ロボット３０を再生動作させる際には、かかる教示プログラムに基づいてロボット３０が動かされることとなる。
【００２５】
かかる教示点情報ＤＢ１４は、実際のロボット３０の動作を制御するコントローラであるロボット制御装置２０と情報伝達可能に接続されており、ロボット制御装置２０は、かかる教示点情報ＤＢ１４に登録された教示点に基づいてロボット３０の各種動作を制御する。
【００２６】
なお、図１では、教示点情報ＤＢ１４（ロボットシミュレータ１０）とロボット制御装置２０とを接続しているが、ロボットシミュレータ１０にて登録された教示点の情報をロボット制御装置２０内の所定の記憶部（図示略）に保存できるよう構成されていれば、教示点情報ＤＢ１４（ロボットシミュレータ１０）とロボット制御装置２０とは必ずしも接続されている必要はない。
【００２７】
たとえば、ロボットシミュレータ１０にて登録された教示点の情報を、ＵＳＢ（Universal  Serial  Bus）メモリ等の媒体にコピーした後、かかる媒体をロボット制御装置２０に接続して、所定の操作によりロボット制御装置２０内の所定の記憶部（図示略）に保存するようにしてもよい。
【００２８】
なお、図１では、説明を分かりやすくする観点から、教示点情報ＤＢ１４とシミュレータ制御装置１１とを別体で構成した例を示しているが、教示点情報ＤＢ１４をシミュレータ制御装置１１内部の記憶部に記憶させることとしてもよい。
【００２９】
本実施形態におけるロボット３０は、第１アーム３１および第２アーム３２の２つ腕部と、胴体部３３とを備える双腕ロボットである。胴体部３３は、床面などに固定された基台部（符号略）に対し、軸ＰＶまわりに旋回可能に設けられる（図中の矢印１０１参照）。
【００３０】
第１アーム３１は、左腕として胴体部３３に設けられる。具体的には、第１アーム３１は、複数のリンクから構成され、軸Ｓ、軸Ｌ、軸Ｅおよび軸Ｕまわりにそれぞれ回転可能な関節を備える（図中の矢印１０２〜１０５参照）。
【００３１】
また、第１アーム３１はさらに、軸Ｒ、軸Ｂおよび軸Ｔまわりにそれぞれ回転可能な関節を備える（図中の矢印１０６〜１０８参照）。また、第１アーム３１はさらに、これらの各関節を動作させるアクチュエータを内蔵している。なお、アクチュエータとしてはサーボモータを好適に用いることができる。サーボモータは、ロボット制御装置２０からの動作指示に基づいて第１アーム３１の各関節を駆動する。
【００３２】
また、軸Ｔまわりに回転する先端可動部には、エンドエフェクタであるハンドが取り付けられる（図示略）。また、ハンドは、ロボット３０が行う作業の内容に応じて、所定のハンドリングツール（以下、「ツール」と記載する）を保持する場合がある。
【００３３】
すなわち、第１アーム３１は、７軸を有する。かかる７軸には、冗長軸として上述の軸Ｅが含まれており、ツールの位置および姿勢を変えずに肘の角度だけを変えるという肘角動作を可能にしている。肘角動作のシミュレーションについては、図８Ａ〜図８Ｃを用いて後述する。
【００３４】
第２アーム３２は、右腕として胴体部３３に設けられる。具体的な構成は、第１アーム３１と左右が異なるのみでほぼ同様であるため、ここでの説明を省略する。
【００３５】
また、ロボットシミュレータ１０では、第１アーム３１、第２アーム３２および胴体部３３それぞれを個別の制御単位とみなす。なお、以下では、オペレータがシミュレート指示を与えるにあたり選択することとなる制御単位のうち、選択中のものを「操作対象」と記載する場合がある。
【００３６】
なお、図１では、ロボット３０が、双腕ロボットである場合を例示しているが、ロボットシステム１に適用されるロボットは、単腕ロボットであってもよいし、２つ以上の腕を備える多腕ロボットであってもよい。また、ロボット３０は複数であってもよい。
【００３７】
次に、実施形態に係るロボットシミュレータ１０のブロック構成について、図２を用いて説明する。図２は、実施形態に係るロボットシミュレータ１０のブロック図である。なお、図２では、ロボットシミュレータ１０の説明に必要な構成要素のみを示しており、一般的な構成要素についての記載を省略している。
【００３８】
また、図２を用いた説明では、主としてシミュレータ制御装置１１の内部構成について説明することとし、既に図１で示した表示部１２、操作部１３および教示点情報ＤＢ１４については説明を簡略化する場合がある。
【００３９】
図２に示すように、シミュレータ制御装置１１は、制御部１１１と、記憶部１１２とを備える。制御部１１１は、画像生成部１１１ａと、表示制御部１１１ｂと、操作受付部１１１ｃと、操作量取得部１１１ｄと、シミュレート指示部１１１ｅと、教示点取得部１１１ｆと、登録部１１１ｇとをさらに備える。記憶部１１２は、モデル情報１１２ａと、制御点情報１１２ｂとを記憶する。
【００４０】
画像生成部１１１ａは、モデル情報１１２ａおよび制御点情報１１２ｂに基づいて仮想画像を生成する。モデル情報１１２ａは、ロボット３０の種別や周辺設備の種別ごとにあらかじめ定義された描画情報を含む情報である。
【００４１】
また、制御点情報１１２ｂは、ロボット３０の制御点をあらかじめ定義した情報である。画像生成部１１１ａは、たとえば、かかる制御点を原点とする３次元座標軸を操作可能な操作ハンドル（後述）などを含ませながら仮想画像を生成する。なお、制御点情報１１２ｂの詳細については、図４を用いて後述する。
【００４２】
また、画像生成部１１１ａは、生成した仮想画像を表示制御部１１１ｂに対して出力する。表示制御部１１１ｂは、画像生成部１１１ａから受け取った仮想画像を表示部１２へ表示させる。
【００４３】
ここで、画像生成部１１１ａが生成し、表示制御部１１１ｂを介して表示部１２へ表示される仮想画像の一例について、図３Ａ〜図３Ｄを用いて説明する。
【００４４】
図３Ａおよび図３Ｄは、表示部１２へ表示される仮想画像の一例を示す模式図（その１）および（その２）である。また、図３Ｂは、マウスカーソルＣを各軸へ近づけた場合の一例を示す模式図である。また、図３Ｃは、ガイドラインの説明図である。なお、図３Ａおよび図３Ｄでは、ロボット３０以外の周辺設備の仮想画像は省略して描いている。
【００４５】
図３Ａに示すように、仮想画像は、表示部１２の表示領域の一つである表示ウィンドウ１２０に表示される。なお、仮想画像には、所定の制御点とともに、かかる制御点を原点とする３次元座標軸を操作可能な操作ハンドルが含まれる。
【００４６】
たとえば、図３Ａには、制御点ＴＣＰと、これを原点とする３次元座標軸の操作ハンドルＨ１をはじめとする操作ハンドルＨ１〜Ｈ５が含まれた仮想画像を例示している。これら操作ハンドルＨ１〜Ｈ５は、オペレータが操作部１３を介して、たとえば、ドラッグ操作することが可能な操作部品である。
【００４７】
具体的には、操作ハンドルＨ１は、第１アーム３１に対するティーチング操作を受け付ける操作部品である。また、図３Ａに示すように、操作ハンドルＨ１の制御点ＴＣＰは、第１アーム３１先端に取り付けられたハンドの代表点や、ハンドが保持するツールの代表点に設定される。
【００４８】
なお、かかる制御点ＴＣＰのような所定の制御点の位置は、前述の制御点情報１１２ｂによって規定される。ここで、図４を用いて、かかる制御点情報１１２ｂの設定例について説明しておく。
【００４９】
図４は、制御点情報１１２ｂの設定例を示す図である。図４に示すように、制御点情報１１２ｂは、たとえば、「ツール有無」項目と、「ツール種別」項目と、「制御点」項目とを含んだ情報である。なお、図４では、説明を分かりやすくするため、各項目のデータをテキストであらわして示しているが、格納されるデータのデータ形式を限定するものではない。
【００５０】
「ツール有無」項目には、ロボット３０のハンド（図示略）によってツールが保持されるか否か、すなわち、「ツール有り」であるか「ツール無し」であるかを規定するデータが格納される。
【００５１】
また、「ツール種別」項目には、ツールの種別を示すデータが格納される。また、「制御点」項目には、ツールの種別に応じた制御点の位置を示すデータ（たとえば、ハンドとの相対位置を示す座標値など）が格納される。なお、ハンドに保持されるツールの形状によっては、ハンドに対する操作ハンドルの３次元座標軸の姿勢を適切に設定することで、オペレータがロボット３０を操作しやすくなる場合がある。このような場合に備え、「制御点」項目に操作ハンドルの姿勢を示すデータ（たとえば、ハンドに対する３次元座標軸の姿勢など）を格納できるように構成してもよい。このようなツールに応じて設定された座標系を、便宜上「ツール座標系」と呼称することがある。
【００５２】
そして、たとえば、図３Ａに示す例の場合、ハンドによって「第１ツール」が保持されると仮定される場合には、かかる「第１ツール」の「先端部」が所定の制御点として規定されることとなる。
【００５３】
また、ハンドによって「第２ツール」が保持されると仮定される場合には、かかる「第２ツール」の「中心部」が所定の制御点として規定されることとなる。
【００５４】
また、「ツール無し」である場合には、あらかじめ定められた「ハンド基準点」が所定の制御点として規定されることとなる。
【００５５】
すなわち、制御点情報１１２ｂは、ロボット３０が用いるツールの種別とかかる種別に対応してあらかじめ用意された制御点とを関連付けたデータベースであると言える。
【００５６】
そして、上述の画像生成部１１１ａは、ロボット３０が用いると仮定されるツールの種別に応じた所定の制御点をかかる制御点情報１１２ｂから取得し、取得した所定の制御点に基づいて仮想画像を生成することとなる。
【００５７】
なお、かかる所定の制御点を原点として生成される操作ハンドルの詳細については、図５Ａ〜図５Ｃを用いて後述する。また、本実施形態では、図４に示す制御点情報１１２ｂの設定例に基づき、所定の制御点（すなわち制御点ＴＣＰ）が、ロボット３０が「第１ツール」を保持する場合のその「先端部」であるものとして説明を進める。
【００５８】
図３Ａ〜図３Ｄの説明に戻る。図３Ａに示すように、仮想画像にはさらに、第２アーム３２の操作ハンドルＨ２、胴体部３３の旋回動作の操作ハンドルＨ３、第１アーム３１の肘角動作の操作ハンドルＨ４および第２アーム３２の肘角動作の操作ハンドルＨ５が含まれる。
【００５９】
なお、たとえば、操作対象が第１アーム３１である場合、その操作ハンドルＨ１は、図３Ａに示すように、一例として実線表示される。また、このとき、その他の操作ハンドルＨ２〜Ｈ５は、図３Ａに示すように、一例として破線表示される。なお、この場合の操作ハンドルＨ１をカラー表示とし、その他の操作ハンドルＨ２〜Ｈ５をモノクロ表示とするように、色によって表示を区別することとしてもよい。また、操作ハンドルＨ１をその他の操作ハンドルＨ２〜Ｈ５より大きく表示するようにし、大きさによって表示を区別することとしてもよい。
【００６０】
または、操作ハンドルＨ１を含む第１アーム３１をカラー表示とし、第２アーム３２や第２アーム３２に係る操作ハンドルＨ５をモノクロ表示とするようにしてもよい。このように、操作対象となっている操作ハンドルやアーム以外をモノクロ表示にすることによって、オペレータは、現在操作対象となっている操作ハンドルやアームを直感的に識別することができる。ここで、かかる一例の表示イメージを図３Ｄに示しておく。なお、図３Ｄでは、モノクロ表示の部分を破線であらわして描いている。
【００６１】
このように、本実施形態の双腕ロボットのような複数のアームを備えたロボットに対してティーチング操作を行う際に、あらかじめ指定したティーチング操作対象のアームを図３Ｄのように直感的に識別できるように表示することで、意図しないアームについてティーチングを行ってしまうことを回避できる。
【００６２】
さらに、図３Ｂに示すように、第１アーム３１が操作対象である場合に、かかる第１アーム３１の各軸にマウスカーソルＣを近づけると、各軸の操作ハンドルＨ６を表示するようにしてもよい。
【００６３】
また、図３Ａに示すように、操作ハンドルＨ１の制御点ＴＣＰからは、たとえば、鉛直下向きに伸びるガイドラインＧＬを表示することとしてもよい。なお、図３Ａでは、かかるガイドラインＧＬの端点ＥＰが床面にまで達する場合を例示しているが、図３Ｃに示すように、端点ＥＰが任意のモデルＭとの交点となるようにガイドラインＧＬを表示してもよい。また、オペレータが識別しやすいように、ガイドラインＧＬを赤色など目立つ色で表示してもよい。
【００６４】
このように、いわばレーザーポインタ状のガイドラインＧＬを表示することによって、たとえば、図３Ａに示すように、仮想画像がロボット３０を斜め方向から見るようなものであっても、オペレータが確実にロボット３０と、周辺機器や障害物との位置関係を把握することができる。
【００６５】
すなわち、ロボット３０と、周辺機器や障害物との干渉を確実に防止する精度の高いティーチングを、オペレータの熟練度に関わりなく、オペレータに直感的に分かりやすく行わせることができる。
【００６６】
なお、図３Ａおよび図３Ｃでは、ガイドラインＧＬは鉛直下向きに伸びることとしたが、作業スペースの形状や、周辺機器、障害物の位置などに応じて、任意の方向に切り替え可能であることとしてもよい。
【００６７】
オペレータは、操作部１３を介し、たとえば、図３Ａに示す操作ハンドルＨ１〜Ｈ５を操作することによって、仮想画像中のロボット３０に対してシミュレーション動作を行わせるシミュレート指示を与えることとなる。その具体例については、図５Ａ〜図８Ｃを用いて後述する。また、本実施形態では、操作ハンドルＨ１〜Ｈ５を総称する場合、「操作ハンドルＨ」と記載する場合がある。
【００６８】
また、図３Ａに示すように、表示ウィンドウ１２０には、入力ボタンＢ１〜Ｂ５が設けられる。入力ボタンＢ１〜Ｂ５もまた、オペレータが操作部１３を介して操作することが可能な操作部品である。
【００６９】
そして、たとえば、入力ボタンＢ１およびＢ２には、単独／連動切り替え機能を割り当てることができる。ロボットシミュレータ１０は、入力ボタンＢ１が押下された場合、操作対象の制御単位のみ（たとえば、第１アーム３１のみ）をシミュレーション動作させる。
【００７０】
また、入力ボタンＢ２が押下された場合、ロボットシミュレータ１０は、操作対象の制御単位とその他の制御単位と（たとえば、第１アーム３１および第２アーム３２）を連動させてシミュレーション動作させる。かかる連動時の具体例については、図９Ａおよび図９Ｂを用いて後述する。
【００７１】
また、たとえば、入力ボタンＢ３には、操作ハンドルＨ１〜Ｈ５の表示／非表示の切り替え機能を割り当てることができる。また、たとえば、入力ボタンＢ４には、ハンドに保持されたツール名の表示機能を割り当てることができる。
【００７２】
また、たとえば、入力ボタンＢ５には、かかる入力ボタンＢ５の押下時点におけるロボット３０の各軸の位置を教示点として教示点情報ＤＢ１４へ登録する登録機能を割り当てることができる。
【００７３】
また、図３Ａに示すように、表示ウィンドウ１２０には、さらに操作部品としてプルダウンメニューＰ１が設けられる。プルダウンメニューＰ１には、操作ハンドルＨ１、Ｈ２の座標系（たとえば、ロボット座標／ベース座標／ユーザ座標／ツール座標など）の切り替え機能を割り当てることができる。
【００７４】
ここで、ロボット座標は、たとえば、第１アーム３１や第２アーム３２の胴体部３３への取付部を原点とする座標系として設定してもよい。また、ベース座標は、胴体部３３の基台部への取付部を原点とする座標系として設定してもよい。
【００７５】
このように、プルダウンメニューＰ１により座標系を切り替えることで、操作ハンドルを、選択した座標系に基づくように変化させることができる。たとえば、図３Ａでは、操作ハンドルＨ１は、ツール座標系に基づいて操作されるようになっているが、これをワールド座標系（後述）に基づいて操作するようにすることができる。
【００７６】
そして、かかるプルダウンメニューＰ１からオペレータが所望の座標系を選択することによって、画像生成部１１１ａは、選択された座標系に応じた直交座標軸などを有する操作ハンドルＨを含む仮想画像を生成する。
【００７７】
その他にも、ロボットシミュレータ１０は、操作部１３を介したオペレータの操作に従って、表示部１２上の仮想画像であるロボット３０の各関節を個別に駆動させたり、仮想画像をどの方向からみた状態で表示するかといった視点の変更や表示の拡大／縮小を行ったりすることができる。
【００７８】
また、仮想画像内の特定点にハンドやツールが到達するようなロボット３０の各関節位置を逆キネマティクス演算により求めて、到達した状態のロボット３０の仮想画像を生成および表示することも可能である。
【００７９】
さらに、オペレータの操作に従って、教示点情報ＤＢ１４に登録された教示点を読み出し、特定の教示点に到達した状態のロボット３０の仮想画像を表示することもできる。ただし、ロボットシミュレータにおけるこのような機能は公知のものであるので、本実施形態に係る部分以外の詳細な説明は省略する。
【００８０】
図２の説明に戻り、シミュレータ制御装置１１の操作受付部１１１ｃについて説明する。操作受付部１１１ｃは、操作部１３を介して入力されるオペレータの入力操作を受け付け、かかる入力操作がシミュレート指示に関するものであれば、受け付けた入力操作を操作量取得部１１１ｄに対して通知する。なお、ここにいうシミュレート指示に関する入力操作は、既に図３Ａに示した例で言えば、操作ハンドルＨ１〜Ｈ５に対する操作に対応する。
【００８１】
また、操作受付部１１１ｃは、入力操作が教示点の登録指示に関するものであれば、受け付けた入力操作を教示点取得部１１１ｆに対して通知する。なお、ここにいう教示点の登録指示に関する入力操作は、既に図３Ａに示した例で言えば、入力ボタンＢ５に対する操作に対応する。
【００８２】
操作量取得部１１１ｄは、操作受付部１１１ｃから通知された入力操作の内容を解析して、制御点の変位量およびかかる制御点を原点とする３次元座標軸の回転量を取得し、取得した変位量および回転量をシミュレート指示部１１１ｅに対して通知する。
【００８３】
シミュレート指示部１１１ｅは、操作量取得部１１１ｄから通知された変位量および回転量に応じてロボット３０の姿勢を変更した仮想画像を再生成させるシミュレート指示を画像生成部１１１ａに対して通知する。
【００８４】
そして、画像生成部１１１ａは、シミュレート指示部１１１ｅから受け取ったシミュレート指示に基づいて仮想画像を再生成し、表示制御部１１１ｂを介して表示部１２へ表示させる。これにより、仮想画像は連続して変化するシミュレーション動作を行うこととなる。
【００８５】
ここで、図５Ａ〜図８Ｃを用いて、具体的な操作ハンドルＨの操作とそれにともなう仮想画像のシミュレーション動作について説明する。まず、図５Ａ〜図５Ｃを用いて、操作ハンドルＨの具体例から説明する。なお、以下では、所定の制御点を「制御点ＴＣＰ」で統一して説明する。
【００８６】
図５Ａは、操作ハンドルＨの一例を示す図である。また、図５Ｂは、変位ハンドルＨｘの説明図である。また、図５Ｃは、回転ハンドルＨＲｘの説明図である。
【００８７】
なお、図５Ａには、大文字のＸ，Ｙ，Ｚを付した３次元のＸＹＺ座標軸を示しているが、かかるＸＹＺ座標軸は、いわゆるワールド座標系などの空間全体をあらわす座標系であって、図３Ａの表示ウィンドウ１２０の左下に表示されたＸＹＺ座標軸に相当する。以下に説明する操作ハンドルＨの座標系は、これとは異なるローカル座標系（ツール座標系など）のｘｙｚ座標軸であらわすこととするが、説明の便宜上、ｘ軸はＸ軸に、ｙ軸はＹ軸に、ｚ軸はＺ軸にそれぞれ平行であるものとする。
【００８８】
図５Ａに示すように、操作ハンドルＨは、制御点ＴＣＰを原点とするｘｙｚ座標軸を操作するための操作部品である。かかる操作ハンドルＨには、ｘｙｚ座標軸の一軸ごとにかかる一軸方向に沿って制御点ＴＣＰを変位させる変位ハンドルＨｘ，Ｈｙ，Ｈｚが含まれる。
【００８９】
なお、変位ハンドルＨｘ，Ｈｙ，Ｈｚは、それぞれ対応するｘｙｚ座標軸の一軸の軸方向に沿った立体的な両向き矢印の形状をなしている。また、変位ハンドルＨｘ，Ｈｙ，Ｈｚそれぞれは、制御点ＴＣＰから分離して配置される。これら変位ハンドルＨｘ，Ｈｙ，Ｈｚは、既に図３Ａに示した例で言えば、操作ハンドルＨ１およびＨ２に含まれている。
【００９０】
また、図５Ａに示すように、操作ハンドルＨには、ｘｙｚ座標軸を一軸ごとにかかる一軸まわりに回転させる回転ハンドルＨＲｘ，ＨＲｙ，ＨＲｚが含まれる。
【００９１】
なお、回転ハンドルＨＲｘ，ＨＲｙ，ＨＲｚは、それぞれ対応するｘｙｚ座標軸の一軸まわりに沿った立体的な両向き矢印の形状をなしている。これら回転ハンドルＨＲｘ，ＨＲｙ，ＨＲｚは、既に図３Ａに示した例で言えば、操作ハンドルＨ１〜Ｈ５に含まれている。
【００９２】
ここで、図５Ｂで変位ハンドルＨｘを採り上げ、かかる変位ハンドルＨｘを操作する場合の具体例について説明する。なお、図５Ｂでは、変位ハンドルＨｙ，Ｈｚおよび回転ハンドルＨＲｘ，ＨＲｙ，ＨＲｚの図示を省略している。
【００９３】
図５Ｂに示すように、変位ハンドルＨｘは、操作部１３を介したオペレータのドラッグ操作によって操作される（図中の矢印５０１参照）。なお、このとき、変位ハンドルＨｘは、対応するｘ軸方向に沿ったドラッグ操作が可能である。
【００９４】
そして、図５Ｂに示すように、たとえば、矢印５０１に示すドラッグ操作によるドラッグ量が１変位量に相当すれば、画像生成部１１１ａは、制御点ＴＣＰおよびこれを原点とするｘｙｚ座標軸を、ｘ軸方向に沿って１変位量分、変位させる（図中の矢印５０２参照）。
【００９５】
すなわち、かかる場合、ＸＹＺ座標軸（図５Ａ参照）における変位前の制御点ＴＣＰの座標値が（Ｘ，Ｙ，Ｚ）＝（０，０，０）であった場合、変位後の制御点ＴＣＰの座標値は（Ｘ，Ｙ，Ｚ）＝（１，０，０）となり、ｘｙｚ座標軸は、かかる変位後の制御点ＴＣＰを原点として形成されることとなる。
【００９６】
そして、画像生成部１１１ａは、変位後の制御点ＴＣＰおよびｘｙｚ座標軸に基づいてロボット３０の仮想画像を再生成し、シミュレーション動作を行わせる。
【００９７】
無論、変位ハンドルＨｘは、その立体的な両向き矢印の形状が示す通り、図中の矢印５０１とは逆向きのドラッグ操作が可能である。
【００９８】
なお、図５Ｂには示していないが、変位ハンドルＨｙについて同様のドラッグ操作を行えばｙ軸方向に沿って、また、変位ハンドルＨｚについて同様のドラッグ操作を行えばｚ軸方向に沿って、それぞれ制御点ＴＣＰおよびこれを原点とするｘｙｚ座標軸が変位される。
【００９９】
次に、図５Ｃで回転ハンドルＨＲｚを採り上げ、かかる回転ハンドルＨＲｚを操作する場合の具体例について説明する。なお、図５Ｃでは、変位ハンドルＨｘ，Ｈｙ，Ｈｚおよび回転ハンドルＨＲｘ，ＨＲｙの図示を省略している。
【０１００】
図５Ｃに示すように、回転ハンドルＨＲｚもまた、操作部１３を介したオペレータのドラッグ操作によって操作される（図中の矢印５０３参照）。なお、このとき、回転ハンドルＨＲｚは、マウスカーソルＣを用いて、対応するｚ軸まわりに沿ったドラッグ操作が可能である。
【０１０１】
そして、図５Ｃに示すように、たとえば、矢印５０３に示すドラッグ操作によるドラッグ量が３０°の回転量に相当すれば、画像生成部１１１ａは、ｘｙｚ座標軸をｚ軸まわりに３０°回転させる（図中の矢印５０４参照）。
【０１０２】
そして、画像生成部１１１ａは、回転後のｘｙｚ座標軸に基づいてロボット３０の仮想画像を再生成し、シミュレーション動作を行わせる。
【０１０３】
無論、回転ハンドルＨＲｚもまた、その立体的な両向き矢印の形状が示す通り、図中の矢印５０３とは逆向きのドラッグ操作が可能である。かかる場合、ｘｙｚ座標軸は、図５Ｃに示した例とは逆向きに回転することとなる。
【０１０４】
なお、図５Ｃには示していないが、回転ハンドルＨＲｘについて同様のドラッグ操作を行えばｘ軸まわりに、また、回転ハンドルＨＲｙについて同様のドラッグ操作を行えばｙ軸まわりに、それぞれｘｙｚ座標軸が回転される。
【０１０５】
このように、操作ハンドルＨは、制御点ＴＣＰを原点とするｘｙｚ座標軸にそれぞれ対応付けられるとともにそれぞれ両向き矢印の形状をなした変位ハンドルＨｘ，Ｈｙ，Ｈｚおよび回転ハンドルＨＲｘ，ＨＲｙ，ＨＲｚを含む。これにより、オペレータの熟練度に関わりなく、オペレータに直感的に分かりやすく操作させることができる。
【０１０６】
なお、操作ハンドルＨの形状は、図５Ａに示した一例に限られるものではない。たとえば、変位ハンドルＨｘ，Ｈｙ，Ｈｚおよび回転ハンドルＨＲｘ，ＨＲｙ，ＨＲｚを片矢印としてもよい。
【０１０７】
次に、図６Ａ〜図６Ｃを用いて、操作ハンドルＨ（図５Ａ参照）の変位ハンドルＨｚを操作した場合の仮想画像におけるロボット３０のシミュレーション動作の具体例について説明する。図６Ａ〜図６Ｃは、変位ハンドルＨｚを操作した場合のシミュレーション動作の具体例を示す図（その１）〜（その３）である。
【０１０８】
なお、ここでは、説明の便宜上、回転ハンドルＨＲｘ，ＨＲｙ，ＨＲｚの図示を省略している。
【０１０９】
図６Ａに示すように、表示部１２の表示ウィンドウ１２０に対し、ロボット３０の仮想画像が表示されているものとする。そして、ここで、オペレータによって、変位ハンドルＨｚが図中の矢印６０１の示す向きにドラッグ操作されたものとする。
【０１１０】
かかる場合、図６Ｂに示すように、まず、操作ハンドルＨが、オペレータのドラッグ操作におけるドラッグ量に応じた変位量分、ｚ軸方向に沿って変位する（図中の矢印６０２参照）。すなわち、制御点ＴＣＰおよび制御点ＴＣＰを原点とするｘｙｚ座標軸全体が、ｚ軸方向に沿って変位する。
【０１１１】
つづいて、図６Ｃに示すように、第１アーム３１の先端可動部が、操作ハンドルＨに追従して変位する。すなわち、仮想画像においては、図中の矢印６０３の向きに第１アーム３１を移動させるロボット３０のシミュレーション動作が描かれることとなる。
【０１１２】
なお、図６Ａ〜図６Ｃでは、変位ハンドルＨｚを操作した場合のシミュレーション動作を例に挙げたが、変位ハンドルＨｘ，Ｈｙについても、それぞれが対応付けられたｘ軸およびｙ軸について同様の動きを示すことは言うまでもない。
【０１１３】
つづいて、図７Ａ〜図７Ｃを用いて、操作ハンドルＨの回転ハンドルＨＲｘを操作した場合の仮想画像におけるロボット３０のシミュレーション動作の具体例について説明する。図７Ａ〜図７Ｃは、回転ハンドルＨＲｘを操作した場合のシミュレーション動作の具体例を示す図（その１）〜（その３）である。
【０１１４】
なお、ここでは、説明の便宜上、変位ハンドルＨｘ，Ｈｙ，Ｈｚの図示を省略している。
【０１１５】
図７Ａに示すように、表示部１２の表示ウィンドウ１２０に対し、ロボット３０（主に第１アーム３１）の仮想画像が表示されているものとする。そして、ここで、オペレータによって、回転ハンドルＨＲｘが図中の矢印７０１の示す向きにドラッグ操作されたものとする。
【０１１６】
かかる場合、図７Ｂに示すように、まず、ｘｙｚ座標軸が、オペレータのドラッグ操作におけるドラッグ量に応じた回転量分、ｘ軸まわりに回転する（図中の矢印７０２参照）。
【０１１７】
つづいて、図７Ｃに示すように、第１アーム３１の先端可動部が、回転後のｘｙｚ座標軸に追従するように描かれる。すなわち、ここでは、先端可動部の向きを図中の矢印７０３の向きに沿って変更させる第１アーム３１のシミュレーション動作が描かれることとなる。
【０１１８】
なお、図７Ａ〜図７Ｃでは、回転ハンドルＨＲｘを操作した場合のシミュレーション動作を例に挙げたが、回転ハンドルＨＲｙ，ＨＲｚについても、それぞれが対応付けられたｙ軸およびｚ軸について同様の動きを示すことは言うまでもない。
【０１１９】
つづいて、図８Ａ〜図８Ｃを用いて、肘角動作の操作ハンドルＨ５を操作した場合の仮想画像におけるロボット３０のシミュレーション動作の具体例について説明する。図８Ａ〜図８Ｃは、肘角動作の操作ハンドルＨ５を操作した場合のシミュレーション動作の具体例を示す図（その１）〜（その３）である。
【０１２０】
なお、ここでは、第２アーム３２に対応した操作ハンドルＨ５を採り上げるが、第１アーム３１に対応した操作ハンドルＨ４についても同様の操作を行うこととなるため、ここでの説明を省略する。
【０１２１】
図８Ａに示すように、肘角動作の操作ハンドルＨ５には、マウスカーソルＣを用いたドラッグ操作によって鉛直軸まわりに回転させることが可能な回転ハンドル（図５Ｃの回転ハンドルＨＲｚ参照）が含まれる。
【０１２２】
そして、ここで、図８Ｂに示すように、オペレータによって図中の矢印８０１の示す向きにドラッグ操作が行われたものとする。
【０１２３】
かかる場合、図８Ｂに示すように、操作ハンドルＨ５の回転ハンドルが、オペレータのドラッグ操作におけるドラッグ量に応じた回転量分、鉛直軸まわりに回転する（図中の矢印８０２参照）。
【０１２４】
つづいて、図８Ｂに示すように、第２アーム３２が、かかる回転ハンドルの回転に追従して、制御点ＴＣＰを固定した状態で肘の角度を変化させるように描かれる。すなわち、ここでは、第２アーム３２の位置や姿勢を保ったまま、図中の矢印８０３の向きに沿って第２アーム３２を回り込ませる肘角動作のシミュレーション動作が描かれることとなる。
【０１２５】
そして、図８Ｃに示すように、オペレータによって図中の矢印８０４の示す向きにドラッグ操作が行われれば、操作ハンドルＨ５の回転ハンドルが、これに応じて図中の矢印８０５の向きに回転する。
【０１２６】
そして、これにともない、第２アーム３２が、かかる回転ハンドルの回転に追従して、今度は図中の矢印８０６の向きに沿って肘角動作を行うシミュレーション動作が描かれることとなる。
【０１２７】
こうした操作を行うことで、オペレータは、第２アーム３２の先端部の位置や姿勢を保ったままで、第２アーム３２が周辺機器や障害物と干渉しにくい形態を取らせたり、第２アーム３２の各軸の関節の回転量が、その限界値に至らない形態を取らせたりすることができる。
【０１２８】
次に、図３Ａに示した入力ボタンＢ２が押下された状態の連動選択時のシミュレーション動作について、図９Ａおよび図９Ｂを用いて説明する。図９Ａおよび図９Ｂは、連動選択時のシミュレーション動作の具体例を示す図（その１）および（その２）である。
【０１２９】
まず、連動選択時において、操作対象が第１アーム３１であるものとする。また、ここで、図９Ａに示すように、操作ハンドルＨ１の変位ハンドルが、図中の矢印９０１に示す向きにドラッグ操作されたものとする。
【０１３０】
かかる場合、図９Ｂに示すように、第１アーム３１は、ドラッグ操作の操作量に応じ、その先端可動部を図中の矢印９０２に示す向きに上昇させるように描かれる。そして、このとき、連動選択時であるならば、第２アーム３２もまた第１アーム３１と同時に、第１アーム３１と同一の変位量で、その先端可動部を図中の矢印９０３に示す向きに上昇させるように描かれる。
【０１３１】
つまり、オペレータは、それぞれのアームを個別にシミュレーション動作させる必要がなく、一方のアームの操作ハンドルのみについてドラッグ操作を行えばよい。この機能は、双腕ロボットの場合において、第１アーム３１と第２アーム３２の各々の先端部のハンドやツールの相対的な位置関係や姿勢関係を変化させずにシミュレーション動作させたい場合などに有用である。
【０１３２】
なお、連動選択時に限らないが、図９Ｂに斜線で塗りつぶした部位として示すように、シミュレーション動作によって各軸の関節の現在の回転量が、その限界値にどの程度近づいているかを明示することとしてもよい。たとえば、図９Ｂには、ドラッグ操作に基づく第２アーム３２の先端可動部の上昇によって、かかる第２アーム３２の軸Ｕの関節の回転量が、限界値に近いもしくは限界値となることを明示する例を示している。
【０１３３】
なお、図９Ｂにはあらわれないが、この限界値に関する明示を、たとえば、限界値まで残り１０％を切ればオレンジ表示に、また、残り３％を切れば赤色表示にするといった具合に、色分けによって区別するようにしてもよい。
【０１３４】
かかる場合の具体的な例を挙げると、Ｕ軸の回転可能範囲が所定の原点から±１００°であった場合に、Ｕ軸の基準位置からの回転量の絶対値が９０°を超えるとオレンジ表示になり、回転量の絶対値が９７°を超えると赤色表示になる。
【０１３５】
こうした表示を行うことにより、いずれの関節が限界値に近い状態にあるかをオペレータに直感的に分かりやすく示し、かかる関節が限界値から遠ざかる状態とするように操作を促すことができる。
【０１３６】
図２の説明に戻り、シミュレータ制御装置１１の教示点取得部１１１ｆについて説明する。教示点取得部１１１ｆは、操作受付部１１１ｃから入力ボタンＢ５（図３Ａ参照）が押下された通知を受け取り、かかる入力ボタンＢ５の押下された時点における仮想画像上のロボット３０の各軸の位置を教示点として取得する。
【０１３７】
また、教示点取得部１１１ｆは、取得した教示点を登録部１１１ｇに対して通知する。登録部１１１ｇは、教示点取得部１１１ｆから受け取った教示点を、教示点情報ＤＢ１４へ登録する。
【０１３８】
そして、ロボット制御装置２０は、かかる教示点情報ＤＢ１４に登録された教示点の組み合わせに基づいてロボット３０の各種動作を制御することとなる。したがって、教示点取得部１１１ｆおよび登録部１１１ｇは、教示点情報ＤＢ１４を介してロボット３０を教示する「教示部」であるとも言える。
【０１３９】
記憶部１１２は、ハードディスクドライブや不揮発性メモリといった記憶デバイスであり、モデル情報１１２ａおよび制御点情報１１２ｂを記憶する。なお、モデル情報１１２ａおよび制御点情報１１２ｂの内容については既に説明したため、ここでの記載を省略する。
【０１４０】
また、図２を用いた説明では、シミュレータ制御装置１１が、あらかじめ登録されたモデル情報１１２ａおよび制御点情報１１２ｂなどに基づいてロボット３０の仮想画像を生成する例を示したが、シミュレータ制御装置１１と相互通信可能に接続された上位装置から画像生成に必要となる情報を逐次取得することとしてもよい。
【０１４１】
上述してきたように、実施形態に係るロボットシミュレータは、画像生成部（生成部）と、表示部と、表示制御部と、シミュレート指示部とを備える。画像生成部は、少なくとも冗長軸を有するロボット、および、かかるロボットの所定の制御点を原点とする３次元座標軸を操作可能な操作ハンドルを含む仮想画像を生成する。
【０１４２】
表示部は、画像を表示する。表示制御部は、上記画像生成部によって生成された上記仮想画像を上記表示部へ表示させる。
【０１４３】
シミュレート指示部は、上記操作ハンドルに対するオペレータの操作を受け付けた場合に、かかる操作に基づく上記制御点の変位量または上記３次元座標軸の回転量を取得し、取得した変位量または回転量に応じて上記ロボットの姿勢を変更した上記仮想画像を上記画像生成部に再生成させる。
【０１４４】
したがって、実施形態に係るロボットシミュレータによれば、オペレータの熟練度に関わりなく、オペレータに直感的に分かりやすく操作させることができる。
【０１４５】
なお、上述した実施形態では、仮想画像上のロボットの各軸の位置を教示点として取得し、教示点情報として登録可能なロボットシミュレータを例に挙げて説明したが、かかるロボットシミュレータをロボット教示装置として構成してもよい。
【０１４６】
また、上述した実施形態では、仮想画像上でのみシミュレーション動作を行わせる場合を例に挙げたが、オペレータによる操作ハンドルの操作に応じて実際にロボットを動作させることとしてもよい。
【０１４７】
また、上述した実施形態では、主に操作部としてマウスを用い、かかるマウスによって操作ハンドルのドラッグ操作を行う場合を例に挙げたが、これに限られるものではない。たとえば、表示部をいわゆるマルチタッチ対応のタッチパネルなどで構成し、かかるタッチパネルに対するオペレータのマルチタッチ操作によって操作ハンドルをドラッグすることとしてもよい。
【０１４８】
また、上述した実施形態では、仮想画像が３次元モデルのグラフィック画像である場合について説明したが、次元数を限定するものではなく、たとえば、２次元モデルであってもよい。
【０１４９】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【０１５０】
１    ロボットシステム
１０    ロボットシミュレータ
１１    シミュレータ制御装置
１２    表示部
１３    操作部
１４    教示点情報ＤＢ
２０    ロボット制御装置
３０    ロボット
３１    第１アーム
３２    第２アーム
３３    胴体部
１１１    制御部
１１１ａ  画像生成部
１１１ｂ  表示制御部
１１１ｃ  操作受付部
１１１ｄ  操作量取得部
１１１ｅ  シミュレート指示部
１１１ｆ  教示点取得部
１１１ｇ  登録部
１１２    記憶部
１１２ａ  モデル情報
１１２ｂ  制御点情報
１２０    表示ウィンドウ
Ｂ      軸
Ｂ１〜Ｂ５    入力ボタン
Ｃ      マウスカーソル
Ｅ      軸
ＥＰ    端点
ＧＬ    ガイドライン表示
Ｈ、Ｈ１〜Ｈ６    操作ハンドル
ＨＲｘ、ＨＲｙ、ＨＲｚ    回転ハンドル
Ｈｘ、Ｈｙ、Ｈｚ    変位ハンドル
Ｌ      軸
Ｍ      モデル
Ｐ１    プルダウンメニュー
ＰＶ    軸
Ｒ      軸
Ｓ      軸
Ｔ      軸
ＴＣＰ  制御点
Ｕ      軸
【図１】
2014161921.tif 000003
【図２】
2014161921.tif 000004
【図３Ａ】
2014161921.tif 000005
【図３Ｂ】
2014161921.tif 000006
【図３Ｃ】
2014161921.tif 000007
【図３Ｄ】
2014161921.tif 000008
【図４】
2014161921.tif 000009
【図５Ａ】
2014161921.tif 000010
【図５Ｂ】
2014161921.tif 000011
【図５Ｃ】
2014161921.tif 000012
【図６Ａ】
2014161921.tif 000013
【図６Ｂ】
2014161921.tif 000014
【図６Ｃ】
2014161921.tif 000015
【図７Ａ】
2014161921.tif 000016
【図７Ｂ】
2014161921.tif 000017
【図７Ｃ】
2014161921.tif 000018
【図８Ａ】
2014161921.tif 000019
【図８Ｂ】
2014161921.tif 000020
【図８Ｃ】
2014161921.tif 000021
【図９Ａ】
2014161921.tif 000022
【図９Ｂ】
2014161921.tif 000023