(57)【要約】【課題】多関節ロボットを制御する動作プログラムの可否を判定する判定装置を提供する。【解決手段】判定装置は、複数軸から成る多関節ロボットの動作プログラムの可否を判定する判定装置であって、過去に使用した動作プログラムにより規定される多関節ロボットの姿勢制御に基づいて、多関節ロボットが取り得る各軸の軸角度の範囲を示す範囲情報を記憶する記憶部と、新たな多関節ロボットの動作を規定する新たな動作プログラムの入力を受け付ける受付部と、受付部が受け付けた新たな動作プログラムにより多関節ロボットを稼働させた場合に多関節ロボットがとる姿勢全てにおける複数の軸の軸角度が、範囲情報において規定される各軸の軸角度の範囲内に含まれているかに基づいて、当該新たな動作プログラムの可否を判定する判定部と、判定部が判定した判定結果を出力する出力部とを備える。【選択図】図１
2019166602.tif 000002
【特許請求の範囲】
【請求項１】
複数軸から成る多関節ロボットの動作プログラムの可否を判定する判定装置であって、
過去に使用した動作プログラムにより規定される多関節ロボットの姿勢制御に基づいて、前記多関節ロボットが取り得る各軸の軸角度の範囲を示す範囲情報を記憶する記憶部と、
新たな多関節ロボットの動作を規定する新たな動作プログラムの入力を受け付ける受付部と、
前記受付部が受け付けた新たな動作プログラムにより前記多関節ロボットを稼働させた場合に前記多関節ロボットがとる姿勢全てにおける前記複数の軸の軸角度が、前記範囲情報において規定される各軸の軸角度の範囲内に含まれているかに基づいて、当該新たな動作プログラムの可否を判定する判定部と、
前記判定部が判定した判定結果を出力する出力部とを備える
判定装置。
【請求項２】
前記範囲情報は、前記複数軸のうち、前記多関節ロボットの先端側の３軸をそれぞれ第１軸、第２軸、第３軸として、三次元平面上に、前記第１軸と、前記第２軸と、前記第３軸との各軸の軸角度の範囲を示す情報であり、
前記判定部は、前記受付部が受け付けた動作過程で前記多関節ロボットを動作させた場合の、前記多関節ロボットの前記第１軸と、前記第２軸と、前記第３軸の軸角度の範囲が、前記範囲情報で規定される前記第１軸と、前記第２軸と、前記第３軸の軸角度の範囲内に含まれるかを判定する
ことを特徴とする請求項１に記載の判定装置。
【請求項３】
前記多関節ロボットは６軸ロボットであって、
前記範囲情報は、前記複数軸のうち、前記多関節ロボットの前記先端側とは逆側の３軸をそれぞれ第４軸、第５軸、第６軸として、三次元平面上に、前記第４軸と、前記第５軸と、前記第６軸との各軸の軸角度の範囲を示す情報であり、
前記判定部は、前記受付部が受け付けた動作過程で前記多関節ロボットを動作させた場合の、前記多関節ロボットの前記第４軸と、前記第５軸と、前記第６軸の軸角度の範囲が、前記範囲情報で規定される前記第４軸と、前記第５軸と、前記第６軸の軸角度の範囲内に含まれるかを判定する
ことを特徴とする請求項２に記載の判定装置。
【請求項４】
前記多関節ロボットの所定の軸について、当該所定の軸がとることができない軸角度を禁止範囲情報として入力される入力部を更に備え、
前記判定部は、前記禁止範囲情報に、前記受付部が受け付けた動作プログラムにより前記多関節ロボットを稼働させた場合にとる姿勢のうち、前記所定の軸が前記禁止範囲情報に含まれるときに、前記新たな動作プログラムを不可と判定する
ことを特徴とする請求項１〜３のいずれか一項に記載の判定装置。
【請求項５】
複数軸から成る多関節ロボットの動作プログラムの可否を判定する判定方法であって、
過去に使用した動作プログラムにより規定される多関節ロボットの姿勢制御に基づいて、前記多関節ロボットが取り得る各軸の軸角度の範囲を示す範囲情報を記憶する記憶部にアクセス可能なコンピュータが、
新たな多関節ロボットの動作を規定する新たな動作プログラムの入力を受け付ける受付ステップと、
前記受付ステップにおいて受け付けた新たな動作プログラムにより前記多関節ロボットを稼働させた場合に前記多関節ロボットがとる姿勢全てにおける前記複数の軸の軸角度が、前記範囲情報において規定される各軸の軸角度の範囲内に含まれているかに基づいて、当該新たな動作プログラムの可否を判定する判定ステップと、
前記判定ステップによる判定結果を出力する出力ステップとを含む
判定方法。
【請求項６】
複数軸から成る多関節ロボットの動作プログラムの可否を判定する判定プログラムであって、
過去に使用した動作プログラムにより規定される多関節ロボットの姿勢制御に基づいて、前記多関節ロボットが取り得る各軸の軸角度の範囲を示す範囲情報を記憶する記憶部にアクセス可能なコンピュータに、
新たな多関節ロボットの動作を規定する新たな動作プログラムの入力を受け付ける受付機能と、
前記受付機能が受け付けた新たな動作プログラムにより前記多関節ロボットを稼働させた場合に前記多関節ロボットがとる姿勢全てにおける前記複数の軸の軸角度が、前記範囲情報において規定される各軸の軸角度の範囲内に含まれているかに基づいて、当該新たな動作プログラムの可否を判定する判定機能と、
前記判定機能が判定した判定結果を出力する出力機能とを実現させる
判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多関節ロボットを制御する動作プログラムの可否を判定する判定装置、判定出力方法及び判定プログラムに関する。
【背景技術】
【０００２】
近年、各種のロボットの制御において、プログラマが動作プログラムを作成し、当該動作プログラムをロボットに入力することで、想定の動作をさせる。このような動作プログラムにおいては、一般的に、プログラムで規定されるロボットの姿勢が適切かは適宜プログラマが判定することが多いがその処理は煩雑なものとなることが多い。そこで、特許文献１には、ロボットの軌道を作成する方法であって、ロボットの軌道情報に対する変更操作に基づいて編集されたロボット軌道情報の視覚的イメージを表示し、当該イメージにおいてロボットの軌道を教示する教示点を選択し、ロボットの該教示点の位置・姿勢の変更入力を受け付け、変更された位置・姿勢がロボットの移動可能領域内にあるかを判別する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１４４５３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記特許文献１に示す技術は、ロボット軌道の途中の変更された教示点の位置や姿勢が、ロボットの移動可能領域内にあるか否かを判別するだけで、変更が適正かどうかまでしか判定できないという問題があった。そして、ロボットの制御にあっては、動作プログラムそのものが正常に動作するかを容易に判別できることが要望されている。
【０００５】
そこで、本発明は上記問題に鑑みてなされたものであり、ロボットの動作を規定する動作プログラムそのものが、当該ロボットにおいて実行可能かどうかを容易に判定できる判定装置、判定出力方法、判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る判定装置は、複数軸から成る多関節ロボットの動作プログラムの可否を判定する判定装置であって、過去に使用した動作プログラムにより規定される多関節ロボットの姿勢制御に基づいて、多関節ロボットが取り得る各軸の軸角度の範囲を示す範囲情報を記憶する記憶部と、新たな多関節ロボットの動作を規定する新たな動作プログラムの入力を受け付ける受付部と、受付部が受け付けた新たな動作プログラムにより多関節ロボットを稼働させた場合に多関節ロボットがとる姿勢全てにおける複数の軸の軸角度が、範囲情報において規定される各軸の軸角度の範囲内に含まれているかに基づいて、当該新たな動作プログラムの可否を判定する判定部と、判定部が判定した判定結果を出力する出力部とを備える。
【０００７】
また、本発明の一態様に係る判定出力方法は、複数軸から成る多関節ロボットの動作プログラムの可否を判定する判定方法であって、過去に使用した動作プログラムにより規定される多関節ロボットの姿勢制御に基づいて、多関節ロボットが取り得る各軸の軸角度の範囲を示す範囲情報を記憶する記憶部にアクセス可能なコンピュータが、新たな多関節ロボットの動作を規定する新たな動作プログラムの入力を受け付ける受付ステップと、受付ステップにおいて受け付けた新たな動作プログラムにより多関節ロボットを稼働させた場合に多関節ロボットがとる姿勢全てにおける複数の軸の軸角度が、範囲情報において規定される各軸の軸角度の範囲内に含まれているかに基づいて、当該新たな動作プログラムの可否を判定する判定ステップと、判定ステップによる判定結果を出力する出力ステップとを含む。
【０００８】
また、本発明の一態様に係る判定プログラムは、複数軸から成る多関節ロボットの動作プログラムの可否を判定する判定プログラムであって、過去に使用した動作プログラムにより規定される多関節ロボットの姿勢制御に基づいて、多関節ロボットが取り得る各軸の軸角度の範囲を示す範囲情報を記憶する記憶部にアクセス可能なコンピュータに、新たな多関節ロボットの動作を規定する新たな動作プログラムの入力を受け付ける受付機能と、受付機能が受け付けた新たな動作プログラムにより多関節ロボットを稼働させた場合に多関節ロボットがとる姿勢全てにおける複数の軸の軸角度が、範囲情報において規定される各軸の軸角度の範囲内に含まれているかに基づいて、当該新たな動作プログラムの可否を判定する判定機能と、判定機能が判定した判定結果を出力する出力機能とを実現させる。
【０００９】
また、上記判定装置において、範囲情報は、複数軸のうち、多関節ロボットの先端側の３軸をそれぞれ第１軸、第２軸、第３軸として、三次元平面上に、第１軸と、第２軸と、第３軸との各軸の軸角度の範囲を示す情報であり、判定部は、受付部が受け付けた動作過程で多関節ロボットを動作させた場合の、多関節ロボットの第１軸と、第２軸と、第３軸の軸角度の範囲が、範囲情報で規定される第１軸と、第２軸と、第３軸の軸角度の範囲内に含まれるかを判定することとしてもよい。
【００１０】
また、上記判定装置において、多関節ロボットは６軸ロボットであって、範囲情報は、複数軸のうち、多関節ロボットの先端側とは逆側の３軸をそれぞれ第４軸、第５軸、第６軸として、三次元平面上に、第４軸と、第５軸と、第６軸との各軸の軸角度の範囲を示す情報であり、判定部は、受付部が受け付けた動作過程で多関節ロボットを動作させた場合の、多関節ロボットの第４軸と、第５軸と、第６軸の軸角度の範囲が、範囲情報で規定される第４軸と、第５軸と、第６軸の軸角度の範囲内に含まれるかを判定することとしてもよい。
【００１１】
また、上記判定装置において、多関節ロボットの所定の軸について、当該所定の軸がとることができない軸角度を禁止範囲情報として入力される入力部を更に備え、判定部は、禁止範囲情報に、受付部が受け付けた動作プログラムにより多関節ロボットを稼働させた場合にとる姿勢のうち、所定の軸が禁止範囲情報に含まれるときに、新たな動作プログラムを不可と判定することとしてもよい。
【発明の効果】
【００１２】
判定装置は、多関節ロボットのための新たな動作プログラムが正常に動作するか否かを判定することができる。
【図面の簡単な説明】
【００１３】
【図１】判定装置の構成例を示すブロック図である。
【図２】多関節ロボットの一例を示す外観図である。
【図３】動作プログラムの一例を示すデータ概念図である。
【図４】判定装置のグループ表示処理の動作例を示すフローチャートである。
【図５】判定装置による判定の概念を示す図である。
【図６】判定装置の他の構成例を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施態様に係る判定装置について、図面を参照しながら詳細に説明する。
【００１５】
＜実施形態１＞
＜構成＞
図１に示すように、本発明に係る判定装置１００は、受付部１１０と、記憶部１２０と、制御部１３０と、出力部１４０とを備える。判定装置１００は、多関節ロボット１の動作を規定する動作プログラムの可否を判定する装置である。ここで動作プログラムは、多関節ロボット１の動作を規定するものであって、その動作手順を規定するものである。当該動作手順には、例えば、多関節ロボットの各関節の回転や実質的処理（例えば、溶接、物体の把持、何らかの施工など）などが含まれる。また、動作プログラムの可否とは、動作プログラムが正常に動作する否かを示す。
【００１６】
ここで、多関節ロボット１について説明する。図２は、多関節ロボット１の一例である。図２には、多関節ロボット１が、６軸ロボットであって溶接ロボットである例を示している。本実施の形態における多関節ロボット１は、６軸ロボットであるとして説明するが、多関節ロボット１が６軸ロボットに限定されるものではないことは言うまでもない。６軸ロボットは、図２に示すように、軸Ａ１（第６軸）が、矢印Ｒ１で示される方向に回動し、軸Ａ１に接続された軸Ａ２（第５軸）が、矢印Ｒ２で示される方向に回動する。軸Ａ２に接続されたアームＭ１が軸Ａ２を中心に回動することで、当該アームＭ１の先に接続された軸Ａ３も移動する。軸Ａ３（第４軸）は、矢印Ｒ３で示される方向に回動する。軸Ａ３に接続されたアームＭ２は、軸Ａ３の回動に伴って、軸Ａ３を中心に回動することで、当該アームＭ２の先に接続された軸Ａ５（第２軸）も移動する。また、アームＭ２は、軸Ａ４（第３軸）を中心に矢印Ｒ４で示される方向に回動する。これに伴い、軸Ａ５もまた、軸Ａ４を中心に回動することになる。軸Ａ５は、矢印Ｒ５で示される方向に回動する軸であり、これに伴って、軸Ａ５の先に接続されているアームＭ３も回動する。アームＭ３は、軸Ａ６（第１軸）を中心に、矢印Ｒ６で示される方向に回動し、これに伴って、多関節ロボット１の先端部の溶接打点も回動する。なお、多関節ロボット１は、従来のものと同様であるとして、詳細な構成についての説明は割愛する。
【００１７】
これらの軸Ａ１〜軸Ａ６の各軸の回動により、多関節ロボット１は、先端の溶接点を任意の位置に移動させることができる。判定装置１００は、図１に示すように多関節ロボット１と有線または無線により通信可能に接続されてよく、多関節ロボット１を制御できるように構成されてもよい。
【００１８】
図１に戻って、受付部１１０は、多関節ロボット１を制御するための新たな動作プログラムの入力を受け付ける入力インターフェースである。当該入力は、完成した動作プログラムそのものの入力であってもよいし、ユーザから動作プログラムを規定する各ステップの入力を順次受け付けて判定装置１００上で動作プログラムを生成するための入力であってもよい。受付部１１０は、完成した動作プログラムの入力を受け付ける場合には、例えば、通信により他の装置からの入力を受け付ける通信装置により実現されるものであってもよいし、動作プログラムを記録した記録媒体が接続されるポートにより実現されるものであってもよい。また、直接動作プログラムの各ステップの入力を受け付ける場合には、例えば、ユーザからの入力を受け付けるためのタッチパネルやハードウェアキー、マウスなどのポインティングデバイスなどにより実現されるものであってもよい。また、更には、動作プログラムの入力は実機（多関節ロボット１）を実際にユーザの手で動かし、その過程を動作プログラムとして受け付けるものであってもよい。即ち、多関節ロボット１の先端をユーザが動かし、多関節ロボット１は、その過程における軸値を逐次、出力する。そして、受付部１１０は、多関節ロボット１から逐次出力された軸値の連なりを動作プログラムとして受け付けることとしてもよい。
【００１９】
また、受付部１１０は、多関節ロボット１の各軸について稼働不可能な軸角度の範囲の入力をユーザから受け付け、制御部１３０に伝達する。当該稼働不可能な軸角度は、予めユーザが多関節ロボット１の定性的な情報として認識している軸角度であってよい。
【００２０】
記憶部１２０は、判定装置１００が動作上必要とする各種プログラム及び各種データを記憶する機能を有する。記憶部１２０は、各種の記録媒体により実現され、例えば、ＨＤＤ（Hard Disc Drive）、ＳＳＤ（Solid State Drive）、フラッシュメモリなどにより実現できる。記憶部１２０は、過去において多関節ロボット１を動作させた動作プログラムを複数、記憶している。過去において動作させたということは、当該動作プログラムは、多関節ロボット１を確実に問題なく動作させることができたという実績を有し、当該動作プログラムで規定される多関節ロボット１の姿勢は、多関節ロボット１が取り得る姿勢であることが保証される。過去において実行した動作プログラムには、多関節ロボット１の各姿勢における軸角度が定義されており、過去の動作プログラムを記憶していることにより、多関節ロボット１が取り得る各軸の軸角度の範囲を示す範囲情報を記憶しているともいえる。以降、受付部１１０が受け付けた新たな動作プログラムを、「新動作プログラム」と呼称し、記憶部１２０において記憶されている過去の動作プログラムを、「旧動作プログラム」と呼称する。また、記憶部１２０は、受付部１１０が受け付けた新動作プログラムの可否を判定するための判定プログラムを記憶している。また、記憶部１２０は、多関節ロボット１の制御用インターフェースとして機能するインターフェースプログラムを記憶していてもよく、多関節ロボット１の各種制御値（信号値、パラメータ値など）を記憶することとしてもよい。
【００２１】
制御部１３０は、判定装置１００の各部を制御する機能を有する。制御部１３０は、記憶部１２０に記憶されている判定プログラムを読み出して実行することにより、判定装置１００としての機能を実行するプロセッサとして実現することができる。制御部１３０は、受け付けた新動作プログラムの可否を判定する判定部１３１として機能する。制御部１３０は、記憶部１２０に記憶されている複数の旧動作プログラムを参考に、各軸の稼働範囲を特定する。例えば、制御部１３０は、６軸からなる多関節ロボット１の先端側の３軸（Ａ４〜Ａ６）について、旧動作プログラムで規定されている軸値を３次元グラフ上にプロットする。そして、最外部にあるプロット点を結んで当該３軸の取り得る範囲情報として特定する。同様に制御部１３０は、新動作プログラムについても、規定されている軸角度を当該３次元グラフ上にプロットする。そして、旧動作プログラムで示される範囲情報内に新動作プログラムの全ての軸角度のプロット点が含まれているか否かを判定する。制御部１３０は、当該判定を、多関節ロボット１の先端側の３軸と、根元側の３軸（Ａ１〜Ａ３）とについて行い、先端側の３軸と根元側の３軸との双方において、新動作プログラムの軸角度のプロット点全てが、旧動作プログラムにより規定される軸角度範囲に含まれている場合に、新動作プログラムは、正常に動作し得るプログラムであるとして、「可」と判定し、新動作プログラムの軸角度のプロット点のうち１つでも旧動作プログラムにより規定される軸角度範囲に含まれない場合に、新動作プログラムは、正常に動作し得ないプログラムであるとして、「不可」と判定する。そして、制御部１３０は、出力部１４０に当該判定結果を出力するように指示する。
【００２２】
そして、出力部１４０は、判定部１３１による判定結果を出力する機能を有する。即ち、出力部１４０は、受付部１１０が受け付けた新動作プログラムが、動作プログラムとして正常に動作するか否かを示す情報を出力する。当該出力は、文字の表示、画像の表示、音声による出力などにより実現することができ、判定装置１００に接続もしくは備えられたモニターやスピーカなどにより実現することができる。出力部１４０は、新動作プログラムの可否を示す文字情報や、旧動作プログラムと新動作プログラムとのそれぞれの軸値範囲を示す図５のようなグラフを出力することができる。
【００２３】
以上が判定装置１００の構成である。
【００２４】
＜データ＞
図３は、新動作プログラム及び旧動作プログラムの構成の一例であり、そのデータ概念図である。
【００２５】
図３に示すように、動作プログラム３００は、一例として、ステップ情報３０１と、軸角度情報３０２とが対応付けられた情報である。
【００２６】
ステップ情報３０１は、動作プログラム３００中で、多関節ロボット１が動作する手順を示す情報であり、当該順序に従って、多関節ロボット１は動作することになる。
【００２７】
軸角度情報３０２は、対応するステップ番号を実行する際に、多関節ロボット１の各軸がとるべき軸角度を示す情報である。当該軸角度を出力することで、多関節ロボット１は、当該軸角度で示される角度に回転する。なお、動作プログラム３００において、軸角度情報３０２に代えて、多関節ロボット１が実行すべき他の処理（例えば、多関節ロボット１が溶接ロボットであれば、打点への溶接をする、多関節ロボット１がハンドマニピュレータであれば、所定の物体を把持するなど）が定義されてもよい。
【００２８】
以上が動作プログラムの構成の一例である。
【００２９】
＜動作＞
図３は、判定装置１００によるグラフ表示処理における動作例を示すフローチャートである。
【００３０】
（ステップＳ４０１）
ステップＳ４０１において、受付部１１０は、新動作プログラムの入力を受け付ける。受付部１１０は、受け付けた新動作プログラムを制御部１３０に伝達する。その後に、判定装置１００は、ステップＳ４０２の処理に移行する。
【００３１】
（ステップＳ４０２）
ステップＳ４０２において、受付部１１０は、ユーザから、多関節ロボット１がその構造上、元々稼働不可能となる軸角度がある場合に、その原因となる軸とその軸角度範囲を示す情報の入力を受け付ける。当該範囲がない場合には、本処理は省略することができる。受付部１１０は、受け付けた軸と軸角度範囲を禁止範囲情報として、制御部１３０に伝達する。その後に、判定装置１００は、ステップＳ４０３の処理に移行する。
【００３２】
（ステップＳ４０３）
ステップＳ４０３において、制御部１３０は、過去に使用した動作プログラムから規定される多関節ロボット１の各軸の稼働範囲を特定する。即ち、制御部１３０は、記憶部１２０に記憶されている過去動作プログラムを参照して、各軸について、動作し得る軸範囲を特定する。その後に、判定装置１００は、ステップＳ４０４の処理に移行する。
【００３３】
（ステップＳ４０４）
ステップＳ４０４において、制御部１３０は、新動作プログラムで規定される先端側の３軸（Ａ４〜Ａ６）の稼働範囲が、ステップＳ４０３において特定した先端側の３軸の軸範囲に含まれるか否かを判定する。新動作プログラムで規定される先端側の３軸の稼働範囲全てが、ステップＳ４０３において特定した先端側の３軸の軸範囲に含まれると判定した場合には（ＹＥＳ）、ステップＳ４０５の処理に移行し、含まれていないと判定した場合には（ＮＯ）、ステップＳ４０７の処理に移行する。
【００３４】
（ステップＳ４０５）
ステップＳ４０５において、制御部１３０は、新動作プログラムで規定される先端側とは反対側の根元側の３軸（Ａ１〜Ａ３）の稼働範囲が、ステップＳ４０３において特定した根元側の３軸の軸範囲に含まれるか否かを判定する。新動作プログラムで規定される根元側の３軸の稼働範囲全てが、ステップＳ４０３において特定した根元側の３軸の軸範囲に含まれると判定した場合には（ＹＥＳ）、ステップＳ４０６の処理に移行し、含まれていないと判定した場合には（ＮＯ）、ステップＳ４０７の処理に移行する。
【００３５】
（ステップＳ４０６）
ステップＳ４０６において、制御部１３０は、入力された新動作プログラムを、「可」と判定し、出力部１４０に、「可」であることを示す情報を出力させて処理を終了する。
【００３６】
（ステップＳ４０７）
ステップＳ４０７において、制御部１３０は、入力された新動作プログラムを、「不可」と判定し、出力部１４０に「不可」であることを示す情報を出力させて処理を終了する。
【００３７】
図４に示す処理によって、判定装置１００は、多関節ロボット１に対して入力する新動作プログラムが、プログラムとして適正か否かを判定することができる。
【００３８】
＜具体例＞
各軸の軸角度範囲の判定例を、図５を用いて説明する。
【００３９】
図５は、旧動作プログラムによって規定される多関節ロボット１の軸Ａ４〜Ａ６の軸角度範囲５００と、新動作プログラムによって規定される多関節ロボット１の軸Ａ４〜Ａ６の軸角度範囲５１０（図５の斜線部）とを三次元的に示したグラフである。
【００４０】
軸角度範囲５００は、記憶部１２０に記憶されている旧動作プログラムによって定まるものであり、この範囲内に、新動作プログラムの軸角度範囲５１０が収まっていなければ、「不可」となる。
【００４１】
図５は、新動作プログラムの軸Ａ４〜Ａ６の軸角度範囲５１０が、旧動作プログラムによって規定される軸角度範囲５００内に含まれる場合を示している。この場合には、判定装置１００は、（軸Ａ１〜Ａ３についての判定もしたうえで）新動作プログラムは、「可」であると判定する。
【００４２】
なお、図示していないが、判定装置１００は、軸Ａ１〜Ａ３の軸角度についても同様の判定をする。
【００４３】
＜まとめ＞
上記実施の形態に係る判定装置１００によれば、実際に稼働が保証されている旧動作プログラムを参照することで、多関節ロボット１の各軸が取り得る軸角度を特定し、新動作プログラムが実際に動作し得るかを判定することができる。したがって、ユーザは新動作プログラムの詳細を検証せずとも、新動作プログラムが適正に動作するか否かを知ることができるので、動作プログラムを作成するユーザの作成負担を軽減することができる。
【００４４】
＜補足＞
上記実施形態に係る判定装置は、上記実施形態に限定されるものではなく、他の手法により実現されてもよいことは言うまでもない。以下、各種変形例について説明する。
【００４５】
（１）上記実施の形態においては特に示していないが、判定装置１００は、図５に示すようなグラフを表示するとともに、各動作プログラムにおける各ステップをポイントとしてプロットしておいてもよい。そして、当該グラフにおいて、軸角度範囲５１０が、軸角度範囲５００よりもはみ出している箇所（ポイント）をユーザが発見した場合に、受付部１１０は、ユーザから当該箇所（ポイント）を指定する入力を受け付けてもよい。このとき、制御部１３０は、指定された箇所（ポイント）に対応する、当該箇所に対応する新動作プログラムのステップ番号を特定し、新動作プログラムの該ステップ番号もしくは当該ステップ番号に対応するプログラム部分を出力部１４０に出力させることとしてもよい。当該処理によれば、ユーザは、新動作プログラムの問題箇所を容易に特定することができるとともに、その修正も容易になる。
【００４６】
（２）上記実施の形態においては、多関節ロボット１の一例として６軸ロボットを用いて説明したが、多関節ロボット１は６軸ロボットに限るものではない。５軸ロボットや７軸ロボットなどであってもよいことは言うまでもない。
【００４７】
（３）上記実施の形態においては、判定装置１００の新動作プログラムの軸角度範囲を、先端側の３軸と、根元側の３軸とで判定をしているが、これはその限りではない。多関節ロボット１を構成する任意の３軸を選択し、当該３軸について、図５に示すような判定を行うこととしてもよい。なお、先端側の３軸と、根元側の３軸とで判定し、図５に示すような情報を出力することにより、多関節ロボット１のプログラマにとっては、それぞれの３軸で多関節ロボット１の姿勢を想起しやすいというメリットがあり、先端側の３軸の方が、根元側の３軸よりも多関節ロボット１の姿勢を想起しやすい。
【００４８】
（４）上記実施形態においては、判定装置１００を機能するプロセッサが判定プログラム等を実行することにより、新動作プログラムの可否を判定することとしているが、これは装置に集積回路（ＩＣ（Integrated Circuit）チップ、ＬＳＩ（Large Scale Integration））等に形成された論理回路（ハードウェア）や専用回路によって実現してもよい。また、これらの回路は、１または複数の集積回路により実現されてよく、上記実施形態に示した複数の機能部の機能を１つの集積回路により実現されることとしてもよい。ＬＳＩは、集積度の違いにより、ＶＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩなどと呼称されることもある。すなわち、図９に示すように、判定装置１００を構成する各機能部は、物理的な回路により実現されてもよい。図９に示すように、判定装置１００は、受付回路１１０ａと、記憶回路１２０ａと、制御回路１３０ａ（算出回路１３１ａ）と、出力回路１４０ａとを備え、各回路は、上述の同名の機能部と同様の機能を有する。
【００４９】
また、上記判定プログラムは、プロセッサが読み取り可能な記録媒体に記録されていてよく、記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記判定プログラムは、当該判定プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記プロセッサに供給されてもよい。本発明は、上記判定プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００５０】
なお、上記判定プログラムは、例えば、ActionScript、JavaScript（登録商標）などのスクリプト言語、Objective-C、Java（登録商標）などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。
【００５１】
（５）上記実施形態及び各補足に示した構成は、適宜組み合わせることとしてもよい。
【符号の説明】
【００５２】
１  多関節ロボット
１００  判定装置
１１０  受け付け部
１２０  記憶部
１３０  制御部
１３１  判定部
１４０  出力部
【図１】
2019166602.tif 000003
【図２】
2019166602.tif 000004
【図３】
2019166602.tif 000005
【図４】
2019166602.tif 000006
【図５】
2019166602.tif 000007
【図６】
2019166602.tif 000008