(57)【要約】  作業記述作成装置は、産業用ロボットの作業記述情報を容易に作成することが可能である。たとえば、作業記述作成装置１は、部品階層設定部１００は、３Ｄ−ＣＡＤ図面データから選択された産業用ロボットの部品の階層関係を設定する。作業記述部１１０は、部品階層設定部１００により設定された部品が一致する箇所の同次座標変換行列を算出し、該同次座標変換行列に対応した作業記述情報２２０を作成する。アニメーション作成部１２０は、作業記述部１１０により作成された作業記述情報２２０に対応した動作のアニメーションを作成する。入力部５０は、マウスなどのポインティングデバイスを有し、３Ｄ−ＣＡＤ図面データ２１０が表示された画面を移動するポインタを操作する。
2018181229.tif 000002
【特許請求の範囲】
【請求項１】
３Ｄ−ＣＡＤ図面データから選択された産業用ロボットの部品の階層関係を設定する部品階層設定部と、
前記部品階層設定部により設定された前記部品が一致する箇所の同次座標変換行列を算出し、該同次座標変換行列に対応した作業記述情報を作成する作業記述部と、
前記作業記述部により作成された前記作業記述情報に対応した動作のアニメーションを作成するアニメーション作成部と、
前記３Ｄ−ＣＡＤ図面データが表示された画面を移動するポインタを操作するポインティングデバイスを有する入力部と、
を備えることを特徴とする産業用ロボットの作業記述作成装置。
【請求項２】
前記作業記述情報は、
前記ロボットの作業点と複数の補助点との間の移動順序を設定し、
前記補助点として、動作を待機させる待機点を少なくとも一つ含む
ことを特徴とする請求項１に記載の産業用ロボットの作業記述作成装置。
【請求項３】
３Ｄ−ＣＡＤ図面データから選択された産業用ロボットの部品の階層関係を設定し、
設定された前記部品が一致する箇所の同次座標変換行列を算出し、該同次座標変換行列に対応した作業記述情報を作成し、
作成された前記作業記述情報に対応した動作のアニメーションを作成し、
ポインティングデバイスを有する入力部を用いて前記３Ｄ−ＣＡＤ図面データが表示された画面を移動するポインタを操作することを特徴とする産業用ロボットの作業記述作成方法。
【請求項４】
前記作業記述情報は、
前記ロボットの作業点と複数の補助点との間の移動順序を設定し、
前記補助点として、動作を待機させる待機点を少なくとも一つ含む
ことを特徴とする請求項３に記載の産業用ロボットの作業記述作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用ロボットの作業記述作成装置および産業用ロボットの作業記述作成方法に関する。
【背景技術】
【０００２】
従来から、組み立て用途等の産業用ロボットについて、組み立てる部品（ワーク）の座標を変換する座標情報処理装置の技術が存在する。たとえば、特許文献１には、一方のアセンブリデータのアセンブリ座標系での座標を他方のアセンブリデータのアセンブリ座標系での座標値に変換する技術が記載されている。この座標情報処理装置は、複数のアセンブリデータと、複数の部品データと、を記憶するための記憶部を備える。また、各アセンブリデータは、対応する部品データの各モデル座標系とアセンブリ座標系との変換情報を含む。また、座標情報処理装置は、座標指示手段、共通部品検索手段と、座標変換手段とを含む。座標指示手段は、指定座標を指示する。また、共通部品検索手段は、第１および第２のアセンブリデータに対応する同一の部品データを検索するための手段である。また、座標変換手段は、検索された部品データを介して、第１及び第２のアセンブリデータのアセンブリ座標系を変換情報を用いて関連付けることにより、指定座標を対応する座標値に変換する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−０７００４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された技術では、変換された座標から、組み立て用途等の産業用ロボットの実際の作業記述情報を作成することはできなかった。これは、例えば、組み立て用途の多関節のロボットにおいては、ロボットの位置と姿勢をユーザが座標を与えて指定することは難しいためであった。【０００５】
本発明は、このような状況に鑑みてなされたものであり、容易に産業用ロボットの作業記述情報を作成する作業記述作成装置を提供する。また、本発明は、このような状況に鑑みてなされたものであり、容易に産業用ロボットの作業記述情報を作成する作業記述作成方法を提供する。
【課題を解決するための手段】
【０００６】
本発明の作業記述作成装置は、３Ｄ−ＣＡＤ図面データから選択された産業用ロボットの部品の階層関係を設定する部品階層設定部と、前記部品階層設定部により設定された前記部品が一致する箇所の同次座標変換行列を算出し、該同次座標変換行列に対応した作業記述情報を作成する作業記述部と、前記作業記述部により作成された前記作業記述情報に対応した動作のアニメーションを作成するアニメーション作成部と、前記３Ｄ−ＣＡＤ図面データが表示された画面を移動するポインタを操作するポインティングデバイスを有する入力部と、を備えることを特徴とする。【０００７】
本発明の作業記述作成装置では、３Ｄ−ＣＡＤ図面データから選択された産業用ロボットの部品の各種データに階層関係を設定し、産業用ロボットの実際の作業記述情報を構造化することが容易に作成することが可能になる。また、階層関係に基づいて表示された部品（の座標値）を、ポインティングデバイスを用いた直感的な操作を行うことにより、自動的に座標変換を行うことが可能になる。【０００８】
また、本発明の作業記述作成装置は、前記作業記述情報は、前記産業用ロボットの作業点と複数の補助点との間の移動順序を設定し、前記補助点として、動作を待機させる待機点を少なくとも一つ含むことを特徴とする。このように構成することで、実際の産業用ロボットの動作を作業記述情報として出力することが容易となる。【０００９】
本発明の作業記述作成方法は、３Ｄ−ＣＡＤ図面データから選択された産業用ロボットの部品の階層関係を設定し、設定された前記部品が一致する箇所の同次座標変換行列を算出し、該同次座標変換行列に対応した作業記述情報を作成し、作成された前記作業記述情報に対応した動作のアニメーションを作成し、ポインティングデバイスを有する入力部を用いて前記３Ｄ−ＣＡＤ図面データが表示された画面を移動するポインタを操作することを特徴とする。【００１０】
本発明の作業記述作成方法では、３Ｄ−ＣＡＤ図面から選択された産業用ロボットの部品の各種データに階層関係を設定し、産業用ロボットの実際の作業記述情報を構造化することが容易に作成することが可能になる。また、階層関係に基づいて表示された部品（の座標値）を、ポインティングデバイスを用いた直感的な操作を行うことにより、自動的に座標変換を行うことが可能になる。【００１１】
また、本発明の作業記述作成方法は、前記作業記述情報は、前記産業用ロボットの作業点と複数の補助点との間の移動順序を設定し、前記補助点として、動作を待機させる待機点を少なくとも一つ含むことを特徴とする。このように構成することで、実際の産業用ロボットの動作を作業記述情報として出力することが容易となる。
【発明の効果】
【００１２】
本発明によれば、３Ｄ−ＣＡＤ図面データから選択された産業用ロボットの部品の各種データに階層関係を設定し、産業用ロボットの実際の作業記述情報を構造化することが容易に作成することが可能になる。また、階層関係に基づいて表示された部品（の座標値）を、ポインティングデバイスを用いた直感的な操作を行うことにより、自動的に座標変換を行うことが可能になる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係る作業記述作成装置の制御構成を示すブロック図である。
【図２】図１に示す作業記述情報の構成を示すブロック図である。
【図３】本発明の実施形態に係る作業記述作成処理のフローチャートである。
【図４】図１に示す３Ｄ−ＣＡＤ図面データが表示された画面例である。
【図５】図１に示す３Ｄ−ＣＡＤ図面データに含まれるワークの例を示す概念図である。
【図６】図３に示す作業記述作成処理のＧＵＩの画面例である。
【図７】図３に示す部品階層設定処理で設定される座標系ツリーを説明する概念図である。
【発明を実施するための形態】
【００１４】
＜実施形態＞
〔作業記述作成装置１の構成〕
まず、図１及び図２により、本発明の実施形態に係る作業記述作成装置１の制御構成について説明する。作業記述作成装置１は、産業用ロボットの作業記述情報２２０を作成する装置であり、たとえば、ＰＣ（Personal Computer）またはワークステーション等である。この産業用ロボットは、例えば、部品等の素材（以下、「ワーク」という。）を把持し、組み立てる用途等に用いられる組み立て用ロボット（以下、「ロボット」という。）である。
【００１５】
本形態では、ロボットは、図４に示す水平多関節型ロボットであり、ワークを指定された地点から別の指定された地点まで搬送する等の動作を行なう。ロボットは、図４に示すように、符号を付記していないが、本体主部と第１アームと第２アームとハンドツールとを備えている。第１アームの基端側は、本体主部に回動可能に連結されている。第２アームの基端側は、第１アームの先端側に回動可能に連結されている。第２アームの先端側には、回転軸が回転可能に取りつけられ、さらに、上下方向に直線的に移動する部分が装備されている。この上下方向に直線的に移動する部分には、チャック等を有するハンドツールが保持されている。このように、ロボットは、複数のアームを連結して各アームを水平に回動させ、所定のハンドツールを使用して、部品の搬送や組付け、ネジ締め等の作業を行う。
【００１６】
作業記述作成装置１は、主に、制御部１０、記憶部２０、Ｉ／Ｏ部３０、表示部４０、及び入力部５０により構成されている。
【００１７】
制御部１０は、作業記述作成装置１全体を制御する。制御部１０は、記憶部２０に予め記憶された動作プログラム、ファイル等を読み出して実行する。制御部１０は、たとえば、ＭＰＵ（Micro Processing Unit）、ＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）等の制御演算手段である。本実施形態では、制御部１０は、図１に示すように、部品階層設定部１００、作業記述部１１０、及びアニメーション作成部１２０を備えている。なお、詳細な説明は後述する。
【００１８】
記憶部２０は、制御部１０が実行する動作プログラム及び処理に必要な各種データ等を記憶する。記憶部２０は、ＲＡＭ（Random Access Memory ）、ＲＯＭ（Read Only Memory）を備えており、さらに、フラッシュメモリ（Flash Memory）やＳＳＤ（Solid State Drive）、ＨＤＤ（Hard Disk Drive）などの記憶装置、または光ディスクや半導体メモリ等の一時的でない記録媒体、またはこれらを適宜組み合わせたものである。本実施形態では、記憶部２０は、図１に示すように、作業記述作成プログラム２００、３Ｄ−ＣＡＤ図面データ２１０、及び作業記述情報２２０を格納する。なお、詳細な説明は後述する。
【００１９】
Ｉ／Ｏ部３０は、制御部１０とその他の周辺機器とのデータおよび制御信号の入出力制御を行うその他の周辺機器とのデータおよび制御信号の入出力制御を行う。本実施形態では、Ｉ／Ｏ部３０は、外部の機器と接続するためのチップセット（Chipset）、Ｉ／Ｏ（Input / Output）等の回路とインターフェイスである。Ｉ／Ｏ部３０は、ＲＳ−２３２ＣやＵＳＢ等の汎用シリアルインターフェイス、パラレルインターフェイス、デジタルビデオインターフェイス等を含んでいる。また、Ｉ／Ｏ部３０は、ＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）の外部ネットワークに接続するためのネットワークインターフェイスも含んでいる。
【００２０】
表示部４０は、制御部１０からの指示にしたがって各種データ等を表示する。表示部４０は、液晶ディスプレイ、有機ＥＬ（Organic Electro-Luminescence）ディスプレイ等のドットマトリクスディスプレイ及びＬＥＤ（Light Emitting Diode）等の表示装置から構成されている。表示部４０には、ＧＵＩ（Graphical User Interface）により、各種データやグラフ等が表示される。表示部４０は、たとえば、図４に示す３Ｄ−ＣＡＤ図面データが表示された画面や図６に示す作業記述作成処理のＧＵＩの画面等を表示する。
【００２１】
入力部５０は、ユーザの指示を入力する入力装置から入力される入力データを制御部１０に送信する。入力装置は、キーボードやスイッチ、マウスやデジタイザ等のポインティングデバイス、タッチパネル等である。また、入力部５０は、フラッシュメモリや光学メモリ媒体等の記録媒体を接続するためのメモリーカード接続部を備えている。特に、本形態では、マウス等のポインティングデバイスを用いてドラッグアンドドロップを行い、直感的な操作を行う。
【００２２】
つぎに、図１に示す制御部１０を構成する、部品階層設定部１００、作業記述部１１０、及びアニメーション作成部１２０について説明する。
【００２３】
部品階層設定部１００は、３Ｄ−ＣＡＤ図面から選択されたロボットの部品の階層関係を設定する。この部品は、ロボットのアセンブリや部品や可動単位である「ノード」や、ワークを含む。部品階層設定部１００は、ロボットの部品の親子関係を示す仕組みを構成している。具体的には、ロボットの部品の親子関係を、図７に示すように、ツリー構造として表している。例えば、ロボットに装着されたハンド２１２（ハンドツール）と言う関係では、ロボットが親でハンド２１２（ハンドツール）が子の関係となる。
【００２４】
作業記述部１１０は、部品階層設定部１００により設定された部品が一致する箇所の同次座標変換行列を算出し、この同次座標変換行列に対応した作業記述情報２２０を作成する。たとえば、作業座標系を用いて表された部品の入力データ（同次座標変換行列）を、設定された箇所を示す、ワールド座標系を用いて表わされた変換データ（同次座標変換行列）に変換する。なお、同次座標変換行列は、所定の座標系上における指定した位置と姿勢を表している。作業記述部１１０は、記憶部４０に格納されている作業記述作成プログラム２００を実行し、変換データ（同次座標変換行列）を算出する。
【００２５】
アニメーション作成部１２０は、作業記述部１１０により作成された作業記述情報２２０に対応した動作のアニメーションを作成する。
【００２６】
図１に示す記憶部２０を構成する、作業記述作成プログラム２００、３Ｄ−ＣＡＤ図面データ２１０、及び作業記述情報２２０について説明する。
【００２７】
（作業記述作成プログラム）
作業記述作成プログラム２００は、ＯＳ（Operating System）上のアプリケーションソフトウェア（Application Software）等と、このアプリケーションソフトウェアに機能を追加するためのアドイン（Add-in）等のプログラム及びデータである。作業記述作成プログラム２００は、記録媒体から記憶部２０に格納され、又は外部ネットワークからダウンロードされてインストールされてもよい。作業記述作成プログラム２００が実行されると、ＧＵＩによりユーザの指示が取得される。そして、ロボットの３Ｄ−ＣＡＤ図面データ２１０から、直接、作業記述情報２２０が作成される。
【００２８】
本実施形態では、作業記述作成プログラム２００は、マウス等のポインティングデバイスを用いてドラッグアンドドロップによる自動変換を実現している。簡単に説明すれば、この操作を実現するには、一旦作業空間の座標系（作業座標系またはユーザ座標系）での値に変換して、ロボットの座標系（ワールド座標系）に変換すればよい。具体的な手順は以下の通りである。変換元と変換先は既知であるので、まず変換元からロボット（親）のポインタを順次辿って作業座標系まで遡る。その際に、必要に応じて変換作業を行うことで、変換元の値を作業座標系における値に変換できる。また、同様に変換先からロボット（親）のポインタを順次辿って作業座標系まで遡る。その際に、必要に応じて変換行列を計算していくことにより、作業座標系から変換先への変換行列が求まる。最後に作業座標系の値に変換行列を作用させて、変換先の値を得る。変換元が各軸値の場合には、一旦変換値に変換する作業が必要になるが、ロボットの部品により判断して必要に応じて変換作業を行えばよい。
【００２９】
３Ｄ−ＣＡＤ図面データ２１０は、ロボットの組立作業工程図面や設計図等である三次元（Three Dimension、３Ｄ）ＣＡＤ（Computer-Aided Design）データである。３Ｄ−ＣＡＤ図面データ２１０は、一般的なファイル形式で、実際の大きさを示す座標データを含んでいる。また、３Ｄ−ＣＡＤ図面データ２１０は、図示しない記録媒体や外部ネットワークから取得されて、記憶部２０に記憶される。３Ｄ−ＣＡＤ図面データ２１０の詳細については、実際の処理での座標の扱いとともに説明する。
【００３０】
作業記述情報２２０は、作成された、ロボットの動作記述を示す情報である。また、作業記述情報２２０は、記憶部２０に記憶され、図示しない記憶媒体へ出力することも可能である。また、作業記述情報２２０は、ロボットの作業点と複数の補助点との間の移動順序を設定し、補助点として、動作を待機させる待機点を少なくとも一つ含んでいる。
【００３１】
図２（ａ）によると、作業記述情報２２０は、座標系ノード３００及び作業プログラム３１０を含んでいる。
【００３２】
図２（ｂ）によると、座標系ノード３００は、自ノード識別番号、ノード名称、親ノード、子ノードリスト、自ノード同次座標変換行列等を含むデータである。自ノード識別番号は、自ノードを識別するための番号等のＩＤ（Identification）である。自ノードの識別番号は、例えば、後述する座標系ツリーのルートにあたる［ワールド］ノードの識別番号は「０」となり、それ以降追加された順の番号が付与される。ノード名称は、ＧＵＩにてユーザにより設定されたノードの名称を示す文字列等である。親ノードは、自ノードの親ノードの識別番号である。子ノードリストは、自ノードに接続されている子ノードの識別番号のリストである。この子ノードは、複数あってもよい。自ノード同次座標変換行列は、親ノードの座標を原点とした座標系で表した自ノードの４ｘ４同次座標変換行列である。同次座標変換行列とは、所定の位置と姿勢を表している。一般的には、同次座標変換行列は、４次元（４×４）の行列で構成されている。また、この同次座変換行列で算出された所定の座標系上の座標値は、（Ｘ、Ｙ、Ｚ、α、β、γ）で示すことができ、Ｘ軸、Ｙ軸及びＺ軸の位置座標値を表している。また、α、β及びγは、姿勢座標値（回転角度）である。なお、［ワールド］ノードについては、親ノードがないため、単位行列の同次座標変換行列であってもよい。
【００３３】
図２（ｃ）によると、作業プログラム３１０は、プログラム識別番号、プログラム名称、把持ワークノード番号、作業対象ワークノード番号、動作姿勢識別番号、動作シーケンス識別番号、作業点、補助点リスト、作業内容識別番号等を含むデータである。
【００３４】
プログラム識別番号は、作業プログラム３１０を識別するための番号等のＩＤ（Identification）である。プログラム識別番号としては、例えば、正の整数値が設定される。プログラム名称は、ＧＵＩ等にてユーザにより設定された作業プログラム３１０の名称を示す文字列等である。把持ワークノード番号は、ロボットのハンド（ハンドツール）２１２（図５）が把持する対象となるワーク２１１（図５）のノード番号である。作業対象ワークノード番号は、作業対象側のワーク２１１のノード番号である。動作姿勢識別番号は、右手、左手等の動作姿勢を識別するための番号である。動作シーケンス識別番号は、動作シーケンスを識別するための番号である。
【００３５】
作業点は、３Ｄ−ＣＡＤ図形のワールド座標系に基づいた作業空間である作業座標系で設定された動作の目標点（４ｘ４同次座標変換行列で示す）である。すなわち、作業点は、後述するワーク２１１の合致により算出された、ノードを動作させた際に停止させる位置を示す。補助点リストは、作業座標系で設定された、補助点を表す４ｘ４同次座標変換行列のリストである。この補助点は、３Ｄ−ＣＡＤ図形内に図面データが存在しない位置において設定した動作の目標点である。すなわち、補助点も、ノードを動作させた際に補助的な位置に停止させる位置を示す。詳細については後述する。作業内容識別番号は、ＧＲＡＳＰ（把持）、ＲＥＬＥＡＳＥ（離す）等の作業内容を識別するための番号である。なお、「合致」とは、たとえば、ワーク２１１の変換値（座標値）をロボットのハンド（ハンドツール）２１２の変換値（座標値）へドラッグアンドドロップすれば、この操作によりワーク２１１において登録された変換値をロボットのハンド（ハンドツール）２１２における値に変換してロボットに登録するという処理である。本実施形態では、この「合致」という処理は、作業記述作成プログラム２００を実行することで自動的に行うことが可能になる。具体的には、作業記述作成装置１は、ロボットの各部品でドラッグアンドドロップを可能とすることにより、直感的な操作で異なる座標系で設定した値を自動的に変換している。
【００３６】
なお、制御部１０は、記憶部２０のＲＯＭやＨＤＤやＳＳＤ等に格納された作業記述作成プログラム２００をＲＡＭ等に展開して実行することで、部品階層設定部１００、作業記述部１１０、及びアニメーション作成部１２０として機能する。
【００３７】
〔作業記述作成処理〕
次に、図３〜図７により、本発明の実施の形態に係る作業記述作成処理の説明を行う。本実施形態の作業記述作成処理では、３Ｄ−ＣＡＤ図面データ２１０を用いてロボットを構成する各ノード及びワーク２１１の座標を変換可能にし、動作パス位置データを含む作業記述情報２２０を自動生成し、その動作を確認する。本実施形態の作業記述作成処理は、主に制御部１０が、記憶媒体である記憶部２０に記憶された作業記述作成プログラム２００を、各部と協働し、ハードウェア資源を用いて実行する。以下で、図３のフローチャートにより、作業記述作成処理の詳細をステップ毎に説明する。
【００３８】
（ステップＳ１０１）
まず、部品階層設定部１００が、部品階層設定処理を行う。この処理において、部品階層設定部１００は、取得された３Ｄ−ＣＡＤ図面データ２１０から選択されたロボットのノードの階層関係をＧＵＩにて設定する。
【００３９】
図４及び図５を参照して、作業記述の作成対象となる３Ｄ−ＣＡＤ図面データ２１０について説明する。図４の画面例５００は、記録媒体や外部ネットワークからユーザの指示により取得した３Ｄ−ＣＡＤ図面データ２１０を表示部４０に表示した例である。また、画面例５００には、各種指示を与えるその他のＧＵＩについても表示されている。
【００４０】
図５（ａ）（ｂ）は、３Ｄ−ＣＡＤ図面データ２１０に含まれる、ロボットの作業対象側のワーク２１１が配置されたパレット等を示す図である。図５（ａ）に示すように、３Ｄ−ＣＡＤ図面データ２１０のパレットには、作業対象側のワーク２１１を全て描画しておく。すなわち、作業対象となる３Ｄ−ＣＡＤ図面データ２１０内には、組み立て作業に必要な装置、ワーク２１１等がすべて描画され、配置されている。これにより、部品階層設定部１００は、ロボットが動作すべき作業点や位置・姿勢等を３Ｄ−ＣＡＤ図面データ２１０から抽出することが可能となる。つまり、この３Ｄ−ＣＡＤ図面データ２１０から必要な座標、姿勢等を抽出し、作業記述作成プログラムに展開することが可能となる。なお、パレットが交換され、又はパーツフィーダー等を用いて供給される繰り返し作業用のワーク２１１の場合には、その旨、指定することが可能である。
【００４１】
図５（ｃ）は、３Ｄ−ＣＡＤ図面データ２１０のロボットのハンド２１２の例を示す図である。この図のように、３Ｄ−ＣＡＤ図面データ２１０には、ロボットのハンド２１２が、ロボットに装着された状態で含まれる。これにより、ロボットの作用点に対するハンド２１２の位置関係を算出することが可能である。また、ハンド２１２はワーク２１１を把持または吸着した状態で描かれる。これにより、ワーク２１１とハンド２１２の位置関係を算出可能となる。
【００４２】
次に、図６により、部品階層設定部１００のＧＵＩについて説明する。図６は、表示部４０に表示されるＧＵＩの画面例５１０である。この図の例において、「座標系構成」の「座標系」の表示欄では、作業記述情報２２０の座標系ノード３００として出力される座標系ツリーを設定する。この座標系ツリーにおいて、ユーザは、ロボットのモデルを選択し、このモデルに対応した関節を含むハンド２１２やパレット等のアセンブリ（部品）をノードとしてドラッグし、座標系ツリーの対象ノードにドロップする。なお、「合致」とは、たとえば、ワーク２１１の変換値（座標値）をロボットのハンド（ハンドツール）２１２の変換値（座標値）へドラッグアンドドロップすれば、この操作によりワーク２１１において登録された変換値をロボットのハンド（ハンドツール）２１２における値に変換してロボットに登録するという処理である。本実施形態では、この「合致」という処理は、作業記述作成プログラム２００を実行することで自動的に行うことが可能になる。具体的には、作業記述作成装置１は、ロボットの各部品でドラッグアンドドロップを可能とすることにより、直感的な操作で異なる座標系で設定した値を自動的に変換している。
【００４３】
図７により、この座標系ノード３００の詳細について説明する。初期状態ではルートノードとして「ワールド」ノードのみ存在する。ドラッグされた各ノードは、ドロップしたノードに結合された子ノードとなる。すなわち、ロボットをツリー形式の「座標系ツリー」で定義可能である。各ノードには、ロボット側のノードと、作業対象側のワーク２１１が配置されたパレット等のノードとが存在する。各ノードの枝には、それぞれのワーク２１１が設定される。「ワールド」ノードは、ワールド座標系である。このワールド座標系は、作業記述作成装置に唯一存在する座標であり、一般的には装置の取付基準位置を原点とする直交座標系である。このため、各座標系で行われる座標変換は、最低限このワールド座標に対する変換・逆変換を行うものである必要がある。なお、図４には、ワールド座標系は、Ｘ，Ｙ、Ｚ軸で示す座標系で示している。また、子ノードは、ユーザ座標系または作業座標系である。このユーザ座標系は、機構の動作における各種の場面に応じて適宜使用されるものであり、ユーザが機構の座標（点や点列）の指定を感覚的に分かり易くできるようにしたものである。例えば、ロボットのハンドの動作と共に移動する座標系や、カメラ座標系や、ワーク座標系等が用いられる。なお、子ノード挿入の際、ユーザが任意に名前を入力可能である。また、子ノードは折り畳んで表示可能である。また、座標系ツリー内のノードの移動、コピー、削除等の編集も可能である。
【００４４】
再び図６を参照すると、ＧＵＩにおいて、ロボットのモデルを指定した時点で、「マニピュレータタイプ」、「リンクパラメータ」、「ジョイント動作エリア」等が自動的に設定される。なお、これらを手動設定することも可能である。この場合、「マニピュレータタイプ」は、何軸何関節のロボットであるか、複数のタイプから設定可能である。また、「リンクパラメータ」としては、各アームの長さを指定可能である。また、「ジョイント動作エリア」は、複数ある関節の動作角度の上限や下限を設定可能である。また、後述する作業点から補助点までの動作の分割数等についても設定可能である。
【００４５】
また、動作タイプの設定欄では、作業点及び／又は補助点間を移動させる「Ｐ−Ｐ（Ｐｏｉｎｔ  ｔｏ  Ｐｏｉｎｔ）」、実際の移動パスを座標や数式や角度等で指定する「Ｐａｔｈ」等をラジオボタンやドロップダウンメニューで設定可能である。
【００４６】
また、動作タイプが選択された場合、その各動作についての詳細を設定可能である。図６の例においては、Ｐ−Ｐ動作枠内の「ハンドリングする１つの部品の２つ状態を選ぶ」の箇所において、作業名の設定（名称）と、ロボット側でハンド２１２等が把持しているワーク２１１（Ｒｏｂｏｔ側）と、パレット等に配置された作業対象側のワーク２１１（作業対象側）とを選択する。
【００４７】
具体的には、作業名の設定（名称）として、例えば、「ｓｈａｆｔ＿ｐｉｃｋ＿ｆｒｏｍ＿ｃｏｎｖｅｙｏｒ」「ｗｏｒｋ１＿ｆｒｏｍ＿ｐａｌｌｅｔ１」等のプログラム名称に対応した作業名を設定可能である。
【００４８】
動作シーケンスの各動作においては、ロボット側でハンド（ハンドツール）２１２等が把持しているワーク２１１と、パレット等に配置された作業対象側のワーク２１１とが選択される。これらのワーク２１１は、ロボットの動作により把持、移動、組み立て等される同じワーク２１１（１つの部品）であることを示す。ここで、ワーク２１１の選択は、例えば、座標系リストから対象ノードをドラッグして、対象ワーク設定エリアにドロップ等することで選択可能である。また、直接入力フィールドにおいて、ロボット側のワーク２１１を「シャフト￥ハンド￥ワーク」、パレット等の作業対象側のワーク２１１を「シャフト￥パレット￥ワーク」「／ワールド／取り出しパレット１／ワーク」等として直接入力することとも可能である。
【００４９】
なお、複数のワーク２１１を設定する場合には、「対象点複数」のチェックボックスと数とを指定することで、座標系ツリーで設定された、パレット等に描画された対象作業側のワーク２１１を複数指定することも可能である。また、図示しないものの、動作姿勢の選択として、「マニピュレータタイプ」に応じてドロップダウンリストに姿勢候補を表示し、その中から「右手」や「左手」等を選択可能である。
【００５０】
部品階層設定部１００は、これらの選択されたワーク２１１の座標により、作業点を算出する。すなわち、動作の目標点である、例えば、ロボット側でハンド２１２等が把持しているワーク２１１と合致した座標と、パレット等に配置された作業対象側のワーク２１１と合致した座標とが作業点として算出される。この「合致」は、例えば、ハンド（ハンドツール）２１２等の取り付け原点、ワーク２１１の図形（ポリゴン）の重心位置、面との交点、ロボットのハンド２１２と接触する点の位置等を、モデルやマニピュレータタイプに対応して詳細な座標を算出可能である。また、作業対象側のワーク２１１の座標から、ワーク２１１を把持する「Ｐｉｃｋ」座標が算出される。なお、「合致」とは、たとえば、ワーク２１１の変換値（座標値）をロボットのハンド（ハンドツール）２１２の変換値（座標値）へドラッグアンドドロップすれば、この操作によりワーク２１１において登録された変換値をロボットのハンド（ハンドツール）２１２における値に変換してロボットに登録するという処理である。本実施形態では、この「合致」という処理は、作業記述作成プログラム２００を実行することで自動的に行うことが可能になる。具体的には、作業記述作成装置１は、ロボットの各部品でドラッグアンドドロップを可能とすることにより、直感的な操作で異なる座標系で設定した値を自動的に変換している。
【００５１】
また、「動作シーケンス」の選択として、複数の動作シーケンス候補をドロップダウンリストに表示し、その中から選択することが可能である。本実施形態の動作シーケンスは、作業点と、複数の補助点との間の移動順序を設定したものである。図６の例では、動作シーケンスとして、補助点として待機点を１つ設定する、「待機点（待機位置）→作業点（Ｐｉｃｋ位置）→待機点（待機位置）」が選択されている。また、部品階層設定部１００は、選択された動作シーケンスに対応した補助点の設定も行う。ここで、補助点は、ロボットのシャフト等の動作時に必要な座標の点であるものの、３Ｄ−ＣＡＤ図面データ２１０上のワーク２１１の座標とは直接一致しない点である。たとえば、特定の位置に移動したことをアーム等のセンサで検知した場合に、このセンサが検知してから特定時間だけ待機しないと安定しない場合に、この待機する点（待機点）を補助点として設定する。補助点は、経路を生成するために補間法補助点が必要とされるときに補間法により生成する点（位置）である。補助点としては、ベジェカーブのハンドルや、始点や終点の指定における円の中心点等があり、例えば代表点の２点と半径とから算出された円の中心座標や、経由点として自動算出された上昇点や、自由曲線の方向ベクトルを定義するための点等がある。
【００５２】
また、待機点の定義として、「作業対象上空」「待機点選択」等を設定可能である。図６の例においては、選択されている動作シーケンスに合わせた補助点の設定を行う例として、作業点上空ｘ［ｍｍ］の「待機点」を指定している。たとえば、補助点として、「Ｐｉｃｋ」座標から１５ｍｍ上昇した座標の位置の待機点を設定したとすると、この補助点は、３Ｄ−ＣＡＤ図面データ２１０上に図形データとしては存在しない位置なので、単純に合致で算出することはできない。このため、補助点として「Ｐｉｃｋ位置の１５ｍｍ上昇した位置」というように設定することが可能である。また、作業点のシーケンス制御として、ドロップダウンリスト内の作業内容候補から、実際の作業内容を選択する。この作業内容としては、ＧＲＡＳＰ（掴む）、ＲＥＬＥＡＳＥ（離す）、左右の回転等を選択可能である。
【００５３】
（ステップＳ１０２）
次に、作業記述部１１０が、作業記述処理を行う。この処理において、作業機述部は、ノードとワーク２１１とが一致する箇所の同次座標変換行列を算出し、該同次座標変換行列に対応した作業記述情報２２０を作成する。具体的には、作業記述部１１０は、図６のＧＵＩの例では「完了（作業関数作成）」のボタンが押下されると、作業機述部は、ＧＵＩで設定された内容に対応した作業記述情報２２０を作成する。具体的には、作業記述部１１０は、親ノード座標系で表した子ノード座標系の同次座標変換行列を算出し、作業記述情報２２０として座標系ノード３００と作業プログラム３１０とを出力する。
【００５４】
この出力の際、まず、作業記述部１１０は、作業点の同次座標変換行列を算出する。具体的には、作業記述部１１０は、選択された作業座標系のワーク２１１と、ハンド２１２が把持しているワーク２１１とを合致させ、作業座標系上でのハンド２１２の取り付け原点等であるロボットの作用点の同次座標変換行列を算出する。また、作業記述部１１０は、設定内容に従って、作業座標系上での補助点の同次座標変換行列を算出する。また、作業記述部１１０は、作業点及び補助点の位置をワールド座標系での同次座標変換行列にも変換する。これを、逆キネマティクス演算によりジョイント座標に変換する。変換されたジョイント座標は、アニメーション作成部１２０にて、３Ｄモデルを動作させる際に使用可能である。作業記述部１１０は、座標系ツリーの情報をデータ化して座標系ノード３００として出力する。
【００５５】
また、作業記述部１１０は、動作シーケンスの各動作について、作業プログラム３１０として出力する。たとえば、図６のように、パレット上のシャフトを「ＰｉｃｋＵｐ」する動作シーケンスの作業プログラム３１０の場合、作業記述部１１０は、次のような処理を出力する。
１）．Ｐ−Ｐ動作にて、Ｐｉｃｋ位置の上空１５ｍｍの待機点へ移動する。
２）．Ｐｉｃｋ位置へ下降する。
３）．ｇｒａｓｐの動作を行う。
４）．Ｐｉｃｋ位置の上空１５ｍｍの待機点へ上昇する。
作業記述部１１０は、これらを、組み立てる全てワーク２１１に関して、作業プログラム３１０として出力する。
【００５６】
作業記述部１１０は、出力された座標系ノード３００と作業プログラム３１０とを含む作業記述情報２２０のファイルを、一旦、記憶部２０に保存する。この作業記述情報２２０のファイルは、例えば、テキスト形式やバイナリ形式で出力することが可能である。なお、ＧＵＩとして、図示しないものの、設定された作業プログラム３１０をリスト表示する作業プログラム３１０の管理機能等も備えていてもよい。また、作成した作業プログラム３１０の保存、読み込み機能も備えていてもよい。また、作業記述情報２２０のファイルを図示しない記録媒体に保存したり、外部ネットワークへ送信したりすることも可能である。
【００５７】
（ステップＳ１０３）
次に、アニメーション作成部１２０が、動作確認処理を行う。アニメーション作成部１２０は、作成された作業記述情報２２０に対応した動作のアニメーションを作成して、表示部４０に表示する。具体的には、アニメーション作成部１２０は、図５の画面例５００のＧＵＩ中の「Ｓｉｍｕｌａｔｉｏｎ」や、図６の画面例５１０の「Ａｎｉｍａｔｉｏｎ駆動」のボタンが押下されたことを検出する。すると、アニメーション作成部１２０は、作業記述情報２２０の座標系ノード３００と作業プログラム３１０とを用いた３Ｄアニメーションをレンダリングして表示する。また、アニメーション作成部１２０は、３Ｄアニメーションのレンダリング時に、作業点や補助点の位置を描画して確認させることも可能である。この際、アニメーション作成部１２０は、設定された作業点、補助点をドロップダウンリストで選択させてもよい。また、アニメーション作成部１２０は、例えば、各作業点、補助点がクリックされたり、動作シーケンス中の図示しない「移動」ボタンがクリックされたりしたことを検出すると、産業用ロボットの各モデルについて、当該作業点、補助点の位置、動作の段階まで、動作シーケンスに沿ってアニメーション動作させる。以上により、本発明の実施の形態に係る作業記述作成処理を終了する。
【００５８】
〔本実施形態の主な効果〕
以上のように構成することで、以下のような効果を得ることができる。
作業記述作成装置１（作業記述作成方法）は、３Ｄ−ＣＡＤ図面データ２１０から選択されたロボットのノードの階層関係を設定する部品階層設定部１００と、部品階層設定部１００により設定されたノードとワーク２１１が一致する箇所の同次座標変換行列を算出し、該同次座標変換行列に対応した作業記述情報２２０を作成する作業記述部１１０と、作業記述部１１０により作成された作業記述情報２２０に対応した動作のアニメーションを作成するアニメーション作成部１２０と、３Ｄ−ＣＡＤ図面データ２１０が表示された画面を移動するポインタを操作するマウスなどのポインティングデバイスを有する入力部５０と、を備えている。このように構成することで、ロボットの組立作業工程のような３Ｄ−ＣＡＤ図面データ２１０から、ロボットの作業記述情報２２０を半自動で生成することができる。具体的には、作業記述作成装置１では、３Ｄ−ＣＡＤ図面データ２１０から選択された（産業用）ロボットの部品の各種データに階層関係を設定し、（産業用）ロボットの実際の作業記述情報を構造化することが容易に作成することが可能になる。また、階層関係に基づいて表示された部品（の座標値）を、ポインティングデバイス（入力部５０）を用いた直感的な操作を行うことにより、自動的に座標変換を行うことが可能になる。
【００５９】
また、作業記述作成装置１（作業記述作成方法）により、３Ｄ−ＣＡＤ図面データ２１０から容易にシャフトやハンド（ハンドツール）２１２の位置と姿勢とを指定したり、動作をアニメーションで直観的に確認したりすることが可能となる。
【００６０】
さらに、作業記述作成装置１（作業記述作成方法）は、作業記述情報２２０は、ロボットの作業点と複数の補助点との間の移動順序を設定し、補助点として、動作を待機させる待機点を少なくとも一つ含むことを特徴とする。このように構成することで、ワーク２１１の合致だけでは算出できない補助点を設定して、実際の産業用ロボットの動作を作業プログラム３１０として出力することが容易となる。
【００６１】
また、作業記述作成装置１（作業記述作成方法）では、３Ｄ−ＣＡＤ図面から選択された産業用ロボットの部品の各種データに階層関係を設定し、産業用ロボットの実際の作業記述情報を構造化することが容易に作成することが可能になる。また、階層関係に基づいて表示された部品（の座標値）を、ポインティングデバイスを用いた直感的な操作を行うことにより、自動的に座標変換を行うことが可能になる。たとえば、作業記述作成装置１（作業記述作成方法）では、「合致」という処理を行い、ワーク２１１の変換値（座標値）をロボットのハンド（ハンドツール）２１２の変換値（座標値）へドラッグアンドドロップすれば、この操作によりワーク２１１において登録された変換値をロボットのハンド（ハンドツール）２１２における値に変換してロボットに登録することが可能になる。すなわち、この「合致」という処理は、作業記述作成プログラム２００を実行することで自動的に行うことが可能になる。より具体的には、作業記述作成装置１は、ロボットの各部品でドラッグアンドドロップを可能とすることにより、直感的な操作で異なる座標系で設定した値を自動的に変換している。
【００６２】
〔他の実施の形態〕
上述の実施形態では、作業記述作成装置１で作業記述情報２２０を作成し、アニメーションを作成する例について説明した。しかしながら、サーバーと通常のＰＣ等のクライアント端末を用いたシステムで作業記述情報２２０を作成し、アニメーションを作成することも可能である。この場合、例えば、端末に作業記述作成プログラム２００のクライアント端末で実行し、動作記述情報を作成する。この上で、この動作記述情報に対応した動作のシミュレーションをサーバー上で実行し、サーバーからジョイント座標データをクライアント端末に送信する。これをクライアント端末でモデルに反映し、レンダリングして、表示部４０にアニメーション表示する。この場合、クライアント端末でサーバーのＩＰアドレスやポート番号することで、ＴＣＰ／ＩＰを使用して接続することが可能である。
【００６３】
また、作業記述作成装置１は、上述の実施形態の他にも、図示しないプリンタ等の出力手段、ユーザ認証手段、不正コピーを防ぐためのドングル、及びカメラ等を備えていてもよい。また、表示部４０と入力部５０とは一体的に形成されていてもよい。
【００６４】
上記の実施形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【符号の説明】
【００６５】
１  作業記述作成装置
１０  制御部
２０  記憶部
３０  Ｉ／Ｏ部
４０  表示部
５０  入力部
１００  部品階層設定部
１１０  作業記述部
１２０  アニメーション作成部
２００  作業記述作成プログラム
２１０  ３Ｄ−ＣＡＤ図面データ
２１１  ワーク
２１２  ハンド
２２０  作業記述情報
３００  座標系ノード
３１０  作業プログラム
５００、５１０  画面例
【図１】
2018181229.tif 000003
【図２】
2018181229.tif 000004
【図３】
2018181229.tif 000005
【図４】
2018181229.tif 000006
【図５】
2018181229.tif 000007
【図６】
2018181229.tif 000008
【図７】
2018181229.tif 000009
【国際調査報告】
2018181229.tif 000010
2018181229.tif 000011
2018181229.tif 000012
2018181229.tif 000013