(57)【特許請求の範囲】
【請求項１】
直動軸上を左右方向に移動する回転駆動部に後端が固定されることでθ方向に旋回可能に構成され、先端にツールが装着されるアームを備え、
前記アームの先端が後端よりも左側に位置する状態で制御を行う右手系と、前記アームの先端が後端よりも右側に位置する状態で制御を行う左手系とを有し、
前記ツールが到達可能な範囲である動作可能領域が、前記右手系と前記左手系とにおいて一部分で重複する関係にあるロボットの動作をシミュレーションするもので、前記動作可能領域を描画表示する表示手段を有するロボットシミュレータにおいて、
前記ツールの動作可能領域内に障害物が位置すると、前記障害物に応じて再設定した前記右手系，前記左手系それぞれの動作可能領域の画像を前記表示手段に色分けして描画表示することを特徴とするロボットシミュレータ。
【請求項２】
前記ロボットのアームに装着される各種のツール毎に、各手系について障害物が存在しない状態での動作可能領域が、手系毎に異なる表示色となるよう各手系単位で予め設定されたデータが記憶される記憶手段と、
選択されたツールに応じて、設定された動作可能領域のデータを各手系について前記記憶手段より読み出す領域データ読出し手段と、
前記動作可能領域内に配置される障害物の位置データが設定されると、前記障害物の周辺について各手系の動作可能領域を計算して、前記表示手段に描画表示する表示制御手段とを備えることを特徴とする請求項１記載のロボットシミュレータ。
【請求項３】
前記表示制御手段は、前記障害物の位置が変更されると、その変更された位置に応じて各手系の動作可能領域を再計算し、更新した画像を前記表示手段に描画表示することを特徴とする請求項２記載のロボットシミュレータ。
【請求項４】
前記表示制御手段は、前記障害物周辺における動作可能領域の画像を、基礎となる各手系の動作可能領域の画像の上に重ねて表示することを特徴とする請求項３記載のロボットシミュレータ。
【請求項５】
直動軸上を左右方向に移動する回転駆動部に後端が固定されることでθ方向に旋回可能に構成され、先端にツールが装着されるアームを備え、前記アームの先端が後端よりも左側に位置する状態で制御を行う右手系と、前記アームの先端が後端よりも右側に位置する状態で制御を行う左手系とを有し、前記ツールが到達可能な範囲である動作可能領域が、前記右手系と前記左手系とにおいて一部分で重複する関係にあるロボットの動作をシミュレーションするもので、前記動作可能領域を描画表示する表示手段を有するロボットシミュレータの制御方法において、
前記ツールの動作可能領域内に障害物が位置すると、前記障害物に応じて再設定した前記右手系，前記左手系それぞれの動作可能領域の画像を前記表示手段に色分けして描画表示することを特徴とするロボットシミュレータの制御方法。
【請求項６】
前記ロボットのアームに装着される各種のツール毎に、各手系について障害物が存在しない状態での動作可能領域のデータを、手系毎に異なる表示色となるよう各手系単位で予め設定しておき、
選択されたツールに応じて、設定された動作可能領域のデータを各手系について読み出し、
前記動作可能領域内に配置される障害物の位置データが設定されると、前記障害物の周辺について各手系の動作可能領域を計算して、前記表示手段に描画表示することを特徴とする請求項５記載のロボットシミュレータの制御方法。
【請求項７】
前記障害物の位置が変更されると、その変更された位置に応じて各手系の動作可能領域を再計算し、更新した画像を前記表示手段に描画表示することを特徴とする請求項６記載のロボットシミュレータの制御方法。
【請求項８】
前記障害物周辺における動作可能領域の画像を、基礎となる各手系の動作可能領域の画像の上に重ねて表示することを特徴とする請求項７記載のロボットシミュレータの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の制御系を有するロボットの動作をシミュレーションし、その動作領域の画像を表示手段に表示するロボットシミュレータ，及びロボットシミュレータの制御方法に関する。
【背景技術】
【０００２】
図７に示すように、例えばＸθ機構を有するロボット５１は、リニアアクチュエータで構成される直線移動部５２と、この直線移動部５２によりＸ方向（図中左右方向）に変位する回転駆動部５３と、この回転駆動部５３に回転中心となる基部があり、先端部がθ方向に回転移動されるアーム５４とを備えている。そして、アーム５４の先端部にはツール５５が装着され、アーム５４の基部をＸ方向に移動させると共に、アーム５４の先端側をＺ軸回りにθ方向に回転させてツール５５の位置決めを行う。
【０００３】
この場合、図８（ａ）に示すように、アーム５４の向きに応じて、制御系，制御形態が右手系と左手系とに分かれる。すなわち、アーム５４の向きが右手側となる場合は右手系となり、アーム５４の向きが左手側となる場合は左手系となる。
すると、ロボット５１の動作領域は、右手系でのみ作業可能な領域（Area1）と、左手系でのみ作業可能な領域（Area3）と、左右いずれの手系でも作業可能な領域（Area2）との３つに分類される（図８（ｂ）参照）。
【０００４】
このように構成されるロボット５１の動作領域内に、図９に示すように障害物５６が存在する場合は、その障害物５６の位置，形状，サイズに応じて、ロボット５１の制御系が右手系の場合（ａ）と左手系の場合（ｂ）とで、障害物５６の周辺部分についてアーム５４の先端部が及ばず動作が不能となるエリアが異なる。また、右手系，左手系の何れによっても動作が不能となるエリアも発生する。
そのため、上記の動作不能エリアがどのような分布になるのかを直観的に把握することは困難になる。したがって、ロボット５１を設置して実際に動作させる以前に、上記の動作不能エリア、又は当該エリアを除く動作可能エリアがどのような分布になるのかを把握できれば、プログラミング作業又はティーチング作業を効率的に行うことが可能になる。
【０００５】
例えば、ロボットの動作をシミュレートして表示装置に表示させる技術は、特許文献１等に開示されている。
【特許文献１】特開平７−２１４４８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１では、ロボットの制御系が異なる場合に応じて動作可能エリア又は動作不能エリアを表示するものではない。特許文献１の表示形態は、同文献の図８に示されているように、ロボット１の全体を斜視図的に捉えて、プログラムに応じたロボット１の動作を３次元表示するものである（段落［００４４］参照）。
このような表示形態によれば、ロボット１をシミュレーション動作させた結果で動作不能となるエリアが生じるか否かを判別するしかない。したがって、図８に示すように、手系に応じて動作可能エリアが異なる場合、そのエリア分布がどの様になるのかは明確に把握しづらく、プログラミング作業やティーチング作業の効率化を図ることはできない。
【０００７】
本発明は上記事情に鑑みてなされたものであり、その目的は、複数の制御系を有するロボットについて、各制御系の動作可能領域が明確に把握できるように画像を表示するロボットシミュレータ，及びロボットシミュレータの制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
請求項１記載のロボットシミュレータによれば、ツールが到達可能な範囲である動作可能領域が、右手系と左手系とにおいて一部分で重複する関係にあるロボットの動作をシミュレーションする場合に、ツールの動作可能領域内に障害物が位置すると、障害物に応じて再設定した右手系，左手系それぞれの動作可能領域の画像を前記表示手段に色分けして描画表示する。このように構成すれば、各手系によって異なる障害物周辺の動作可能領域が明確に判別可能な状態で表示されるので、どの範囲までの作業をどの手系によって行えば良いのかを容易に把握することができる。したがって、その表示を参照することで、プログラミング作業やティーチング作業を効率的に行えるようになる。
【０００９】
請求項２記載のロボットシミュレータによれば、記憶手段には、ロボットの各手系について障害物が存在しない状態での動作可能領域が、異なる表示色となるよう各制御系単位で予め設定されたデータが記憶される。そして、領域データ読出し手段は、選択されたツールに応じて設定された動作可能領域のデータを、各手系について記憶手段より読み出し、表示制御手段は、その動作可能領域内に配置される障害物の位置データが設定されると、障害物の周辺について各手系の動作可能領域を計算して表示手段に描画表示する。
すなわち、障害物が配置された場合に、ロボットの各手系によって動作が不能となる領域は障害物の周辺となる部分であるから、専らその周辺部分について動作可能領域を計算すれば良く、計算処理を簡単にして描画表示を行うまでの時間を短縮することができる。
【００１０】
請求項３記載のロボットシミュレータによれば、表示制御手段は、障害物の位置が変更されると、その変更された位置に応じて各手系の動作可能領域を再計算し、更新した画像を表示手段に描画表示する。したがって、障害物の位置が変更されても、簡単な計算処理によって位置変更に応じた各手系の動作可能領域を短時間で表示できる。
【００１１】
請求項４記載のロボットシミュレータによれば、表示制御手段は、障害物周辺における動作可能領域の画像を、基礎となる各手系の動作可能領域の画像の上に重ねて表示する。すなわち、動作可能領域を計算するのは障害物が位置する座標周辺だけであり、しかもその計算結果である障害物周辺での手系単位で色分けされた領域を、基本となる動作可能領域上に挿入するだけなので、障害物を移動させた場合でも、現在の障害物周辺の動作可能領域の表示画像を消去し、移動先の障害物周辺の動作可能領域を再計算し、その計算結果の画像を再挿入するという手順だけで済むから処理に手間取ることがない。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施例について図１乃至図６を参照して説明する。図３乃至図６は、図７でモデル的に示したロボット５１の具体的な構成例を示すもので、図３はロボットの斜視図、図４はロボットの正面図である。尚、図３及び図４では、ケーブル、空圧パイプなどの図示を省略している。ロボット１は、直動ユニット２に旋回ユニット（懸架ユニットに相当）３を直線移動可能に懸架して構成されており、直動ユニット２を、天井（静止部位に相当）に水平に固定したり、図示しない脚部（静止部位に相当）に水平に固定したりすることにより所定の作業領域に設置される。
【００１３】
直動ユニット２は直動軸４を主体として構成されている。直動軸４には長尺方向に沿ってガイドレール５が設けられており、そのガイドレール５に沿って一対のスライダ６が直線移動可能に装着されている。直動軸４は図示しないボールネジを備えており、そのボールネジがスライダ６に固定されている図示しないナットに螺挿されている。ボールネジは直動軸用モータ７により締結ユニット８で減速された状態で回転するようになっており、その回転に伴ってスライダ６がガイドレール５に沿って直線移動する。
【００１４】
直動軸用モータ７はベース部材９を介して締結ユニット８に固定されている。ベース部材９は直動軸４から水平方向に突出しており、その突出部位の一方の側面にボックスコネクタ１０が装着されている。ベース部材９の他方の側面にはボックス１１が水平方向となるように固定されており、ボックスコネクタ１０を通じて、信号ケーブルＣや図示しない電源ケーブル及び空圧チューブがボックス１１内に導入されている。スライダ６の下面には懸架ベース１２が連結されており、その懸架ベース１２に旋回ユニット３が固定されている。
【００１５】
図５は、ロボット１の下面を示す斜視図で、旋回ユニット３を取外して示している。懸架ベース１２は旋回ユニット３がネジ止めされる部材であり、側面にカバー部材１３及びＬ字状のケーブルダクト１４が一体に設けられている。
ボックス１１には配線保持具としてのケーブルベア（登録商標）１５の一端が接続されており、そのケーブルベア１５が直動軸４に沿って水平方向に延設されている。このケーブルベア１５は、直動ユニット２と旋回ユニット３との間を曲面を持つ曲げ状態で接続するもので、曲げ方向が水平方向となるようにボックス１１と接続されている。
【００１６】
直動軸４の側面には長手方向に沿って長板状の保持部材１６がスペーサ１７を介して固定されており、ボックス１１から直動軸４の側面に沿って延設したケーブルベア１５が保持部材１６に沿って当接している。ケーブルベア１５は、中間部が水平方向への曲げ状態で折り返されてケーブルダクト１４に連結されている。
以上のように直動ユニット２が構成されており、直動ユニット２を構成する懸架ベース１２に旋回ユニット３が固定されている。ケーブルベア１５及びケーブルダクト１４を通過したケーブル及び空圧チューブは旋回ユニット３と接続されている。ここで、ケーブルベア１５は、ロボット１の最上端よりも低くなるように配置されている。
【００１７】
図６は旋回ユニット３を模式的に示す断面図である。旋回ユニット３は、支持部１８、駆動部（駆動源に相当）１９、従動部２０、旋回アーム（可動部材に相当）２１、昇降部２２から構成されている。支持部１８の側方に駆動部１９が並設されていると共に、支持部１８に従動部２０が回転可能に支持されている。駆動部１９は、回転軸用モータ２３のシャフト２４に駆動プーリ２５が装着されて構成されている。従動部２０は、支持部１８に回転可能に支持されたシャフト２６の上端に従動プーリ２７が装着され、下端に旋回部２８が装着されて構成されている。駆動プーリ２５と従動プーリ２７とはタイミングベルト２９により連結されており、回転軸用モータ２３により旋回部２８が回転するようになっている。この場合、駆動部１９は、頭部が直動軸４の側方に位置してカバー部材１３に収納された形態となっている。
【００１８】
従動部２０の旋回部２８に旋回アーム２１が固定されている。従って、回転軸用モータ２３の回転に伴って旋回アーム２１が水平方向に旋回するようになっている。旋回アーム２１内には昇降用モータ３０が配設されている。この昇降用モータ３０のシャフト３１の先端にはピニオンギア３１ａが形成されている。
【００１９】
旋回アーム２１の先端に昇降部２２が装着されている。昇降部２２は、ベース部材３２と主スライダ３３と従スライダ３４とを所謂テレスコピック機構により互いに連結して構成されている。従スライダ３４にはラック３５が固定されており、そのラック３５に昇降用モータ３０のピニオンギア３１ａが噛合っている。
【００２０】
従スライダ３４には回転モータ３６が装着されており、その回転モータ３６によりフランジ３７が回転するようになっている。このフランジ３７には図示しないハンドを装着するようになっている。この場合、フランジ３７に装着されたハンドが空圧で動作する場合は、ケーブルベア１５内を通過した空圧チューブから給圧用ソレノイドバルブの動作に応じて空気がハンドに供給される。主スライダ３３及び従スライダ３４は昇降用モータ３０の駆動に応じて昇降するようになっている。
【００２１】
そして、上記各モータ７，２３，３０，３６及び給圧用ソレノイドバルブは制御装置４０により制御されるようになっている。制御装置４０には、周辺機器としてティーチィングペンダント４１およびプログラム入力用のパソコン４２などが接続されている。パソコン（領域データ読み出し手段，表示制御手段）４２は、周知の汎用パーソナルコンピュータであり、具体的には図示しないが、ＣＰＵ，ＲＯＭ，ＲＡＭやハードディスクなどの記憶装置（記憶手段）、通信用のインターフェイス等により構成されている。
【００２２】
パソコン４２には、本発明のロボットシミュレータとしても機能するアプリケーションプログラムがハードディスク上にインストールされている。そして、シミュレータとして動作する場合の表示は、ディスプレイ（表示手段）４３で行うようになっている。但し、ロボットシミュレータには必ずしもプログラム入力用のパソコンを用いる必要はなく、例えばシミュレータとしての機能に特化した装置を別途構成しても良い。
【００２３】
次に、本実施例の作用について図１及び図２も参照して説明する。本発明はパソコン４２によるロボットシミュレータの機能に特徴を有しており、その作用を説明するには構造がモデル的である方が容易であるため図７に示すロボット５１を用いて説明する。尚、ロボット５１の直線移動部５２はロボット１の直動ユニット２に対応し、回転駆動部５３は旋回ユニット３に対応し、アーム（回転部材）５４は旋回アーム２１に対応している。
そして、パソコン４２のハードディスク上には、図８（ａ）,（ｂ）に示すようなロボット５１の右手系，左手系それぞれの動作可能エリアを示す描画表示用のデータ（使用されるツール５５の種類に応じて異なる）が予め記憶されている。
【００２４】
図２は、パソコン４２がロボットシミュレータとして動作する場合の制御内容を概略的に示すフローチャートである。図２（ａ）において、ユーザがロボット５１に装着させるツール５５を選択すると（ステップＳ１）、パソコン４２は、選択されたツール５５の種類に応じた動作可能エリアのデータを各手系毎に読み出す（ステップＳ２）。それから、各手系の動作可能エリアを色分けして、ディスプレイ４３に重ねて表示する。この場合、下層の画像と上層の画像とで重なる部分の表示色が異なる場合は、当該部分についてはそれらを混合した色で表示される。
例えば、図８（ａ）に示す右手系については赤色，左手系については青色で表示し分けると、図８（ｂ）に示すように、双方の動作可能エリアが重なるArea2については紫色で表示される。次に、動作可能エリア内に障害物５６が配置された場合の表示処理を行う（ステップＳ４）。
【００２５】
図２（ｂ）は、ステップＳ４の処理内容を詳細に示すものである。先ず、障害物５６の周辺を「チェックエリア」に設定すると（ステップＳ５）、そのチェックエリアを所定単位面積のメッシュ状に分割する（ステップＳ６）。そして、分割したエリアごとに、アーム５４の右手系，左手系による動作の可否を計算する（ステップＳ７）。
【００２６】
次に、障害物５６が移動されたことにより、設定したチェックエリアの全ての境界部について動作可能エリアの変化がないかどうかを判断し（ステップＳ８）、変化がなければ（ＹＥＳ）、ステップＳ２で読み出したデフォルトの動作可能エリアに対して変化が生じた個所をディスプレイ４３に表示させる（ステップＳ９）。
一方、ステップＳ８において、チェックエリアの境界部の一部に動作可能エリアの変化が生じた場合は（ＮＯ）、その変化は境界部の更に外側にも拡がっている可能性がある。そこで、動作可能エリアに変化が生じた境界部については、チェックエリアを拡張して（ステップＳ１０）ステップＳ６に戻り、ステップＳ８で「ＹＥＳ」と判断するまで上記の処理を繰り返し実行する。
【００２７】
図１は、図２の処理結果によりディスプレイ４３に表示される画像イメージの一例を示すものであり、ロボット５１のＸθ平面における動作エリアを２次元表示している。障害物５６の周辺については、図中右辺側について左手系のみで動作可能なエリアＡＬと、図中左辺側について右手系のみで動作可能なエリアＡＲと、図中左辺側及び上辺側について右手系，左手系の何れでも動作不能となるエリアＡＩ１，エリアＡＩ２とが、異なる色で表示される。但し図１では、右手系による動作可能エリアは４５度ハッチング（例えば赤色に対応）、左手系による動作可能エリアは１３５度ハッチング（例えば青色に対応）、何れの手系でも動作可能なエリアはクロスハッチング（例えば紫色に対応）、動作不能エリアはハッチング抜き（例えば白色に対応）により図示している。
したがって、ユーザは、ディスプレイ４３の表示を参照すれば、ロボット５１を障害物５６の周辺で動作させる場合、その各部についてアーム５４を右手系，左手系の何れで動作させるべきかを、各エリアの色分け表示により直観的に把握することが可能となる。
【００２８】
以上のように本実施例によれば、ロボット５１の各制御系，右手系，左手系につき設定される動作可能エリアの一部が重複する場合、その動作可能エリア内に障害物５６が位置すると、パソコン４２は、障害物５６に応じて再設定した各手系の動作可能エリアの画像をディスプレイ４３に色分けして描画表示するので、ユーザは、どの範囲までの作業をどの制御系によって行えば良いのかを容易に把握することができ、その表示を参照することで、プログラミング作業やティーチング作業を効率的に行えるようになる。
【００２９】
また、パソコン４２のハードディスクには、ロボット５１の各手系について障害物５６が存在しない状態での動作可能エリアが、異なる表示色となるよう各手系単位で予め設定されたデータが記憶されており、選択されたツールに応じて設定された動作可能エリアのデータを、当該エリアの一部が重複する手系についてハードディスクより読み出し、その動作可能エリア内に配置される障害物５６の位置データが設定されると、障害物５６の周辺について各制御系の動作可能エリアを計算してディスプレイ４３に描画表示する。
すなわち、障害物５６が配置された場合に、ロボット５１の各手系によって動作が不能となるエリアは障害物５６の周辺となる部分であるから、専らその周辺部分について動作可能エリアを計算すれば良く、計算処理を簡単にして描画表示を行うまでの時間を短縮することができる。
【００３０】
更に、パソコン４２は、障害物５６の位置が変更されると、その変更された位置に応じて各手系の動作可能エリアを再計算すると、更新した画像をディスプレイ４３に描画表示するので、障害物５６の位置が変更されても、簡単な計算処理によって位置変更に応じた各制御系の動作可能エリアを短時間で表示できる。
【００３１】
また、パソコン４２は、障害物５６の周辺における動作可能エリアの画像を、基礎となる各制御系の動作可能エリアの画像の上に重ねて表示する。すなわち、動作可能エリアを計算するのは、障害物５６が位置する座標周辺だけであり、しかもその計算結果である障害物５６周辺での制御系単位で色分けされたエリアを、基本となる動作可能エリアの上に挿入しているだけなので、障害物５６を移動させた場合でも、現在の障害物５６周辺の動作可能エリアの表示画像を消去し、移動先の障害物５６周辺の動作可能エリアを再計算し、その計算結果の画像を再挿入するという手順だけで済むから、処理に手間取ることがない。このような処理形態は、各工場単位で、様々な設置バリエーションを考える必要があるロボットのラインを設計するためのシミュレータに特に適している。
【００３２】
本発明は上記し、又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
各表示色については、適宜変更して実施すれば良い。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施例であり、ディスプレイに表示される画像イメージを示す図
【図２】制御内容を示すフローチャート
【図３】ロボットの斜視図
【図４】ロボットの正面図
【図５】旋回ユニットを取外して示すロボットの下面側斜視図
【図６】旋回ユニットの構造を模式的に示す縦断面図
【図７】従来技術を示す、Ｘθ機構を備えたロボットの構成をモデル的に示す図
【図８】ロボットの各手系による作業エリアを示す図
【図９】障害物が配置された場合の図８相当図
【符号の説明】
【００３４】
図面中、１はロボット、２は直動ユニット（直線移動部）、３は旋回ユニット（回転駆動部）、２１は旋回アーム（回転部材）、４０は制御装置（領域計算手段，作業位置決定手段）、５１はロボット、５２は直線移動部、５３は回転駆動部、５４はアーム（回転部材）を示す。
【図１】
0004951782.tif 000002
【図２】
0004951782.tif 000003
【図３】
0004951782.tif 000004
【図４】
0004951782.tif 000005
【図５】
0004951782.tif 000006
【図６】
0004951782.tif 000007
【図７】
0004951782.tif 000008
【図８】
0004951782.tif 000009
【図９】
0004951782.tif 000010