(57)【特許請求の範囲】
【請求項１】
ロボットが担う作業の内容を示す作業プログラムを生成するためのテンプレートを該作業の情報に関連付けて記憶する記憶部と、
前記作業に含まれる作業工程に応じた設定画面を順に表示部に表示させるとともに、前記ロボットが前記作業を行う際の作業条件を管理者に入力させるための設定画面を前記表示部に表示させる表示制御部と、
管理者により入力された前記作業条件が予め設定された閾値を満たすか否かを判定する判定部と、
管理者により選択された作業に対応する前記テンプレートと、前記設定画面において管理者により入力された設定情報及び前記作業条件とに基づいて、該作業の内容を示す前記作業プログラムを生成する作業プログラム生成部と、
を含み、
前記表示制御部は、前記入力された作業条件が前記閾値を満たさない場合、前記作業条件の再入力を促すメッセージを前記表示部に表示させる、
ことを特徴とするロボット制御装置。
【請求項２】
前記表示制御部は、前記作業に用いられる工具及び部品を管理者に選択させるための選択画面を前記設定画面に含める、ことを特徴とする請求項１に記載のロボット制御装置。
【請求項３】
前記作業プログラム生成部は、前記作業工程ごとに該作業工程の内容を示す工程作業プログラムを生成し、前記生成された各工程作業プログラムに基づいて前記作業プログラムを生成する、ことを特徴とする請求項１又は２に記載のロボット制御装置。
【請求項４】
前記作業の情報には、該作業を担うロボットを識別するためのロボット識別情報が関連付けられている、ことを特徴とする請求項１から３の何れか１項に記載のロボット制御装置。
【請求項５】
前記表示制御部は、各作業工程に応じた前記設定画面のそれぞれに、それまでの作業工程により製造された状態を示すモデル画像を含める、ことを特徴とする請求項１から４の何れか１項に記載のロボット制御装置。
【請求項６】
ロボットが担う作業に含まれる作業工程に応じた設定画面を表示部に表示させるとともに、前記ロボットが前記作業を行う際の作業条件を管理者に入力させるための設定画面を前記表示部に表示させる表示制御部と、
管理者により入力された前記作業条件が予め設定された閾値を満たすか否かを判定する判定部と、
前記設定画面において管理者により入力された設定情報及び前記作業条件に基づいて、前記作業の内容を示す作業プログラムを生成する作業プログラム生成部と、
を含み、
前記表示制御部は、前記入力された作業条件が前記閾値を満たさない場合、前記作業条件の再入力を促すメッセージを前記表示部に表示させる、
ことを特徴とするロボット制御装置。
【請求項７】
前記表示制御部は、前記作業に用いられる工具及び部品を示すモデル画像を前記表示部に表示させる、ことを特徴とする請求項１から６の何れか１項に記載のロボット制御装置。
【請求項８】
ロボットが担う作業の内容を示す作業プログラムを生成するためのテンプレートを該作業の情報に関連付けて記憶する記憶部から、管理者により選択された作業に対応する前記テンプレートを取得し、
前記作業に含まれる作業工程に応じた設定画面を順に表示部に表示させとともに、前記ロボットが前記作業を行う際の作業条件を管理者に入力させるための設定画面を前記表示部に表示させ、
管理者により入力された前記作業条件が予め設定された閾値を満たすか否かを判定し、
前記入力された作業条件が前記閾値を満たさない場合、前記作業条件の再入力を促すメッセージを前記表示部に表示させ、
前記取得された前記テンプレートと、前記設定画面において管理者により入力された設定情報及び前記作業条件とに基づいて、該作業の内容を示す前記作業プログラムを生成する、
ことを特徴とするロボット制御方法。
【請求項９】
ロボットが担う作業に含まれる作業工程に応じた設定画面を表示部に表示させとともに、前記ロボットが前記作業を行う際の作業条件を管理者に入力させるための設定画面を前記表示部に表示させ、
管理者により入力された前記作業条件が予め設定された閾値を満たすか否かを判定し、
前記入力された作業条件が前記閾値を満たさない場合、前記作業条件の再入力を促すメッセージを前記表示部に表示させ、
前記設定画面において管理者により入力された設定情報及び前記作業条件に基づいて、前記作業の内容を示す作業プログラムを生成する、
ことを特徴とするロボット制御方法。
【請求項１０】
さらに、前記作業に用いられる工具及び部品を示すモデル画像を前記表示部に表示させる、ことを特徴とする請求項８又は９に記載のロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボット制御装置及びロボット制御方法に関する。
【背景技術】
【０００２】
産業用多関節ロボットその他の産業用ロボットには、コンピュータを中心として構成されたロボット制御装置が接続され、該ロボット制御装置は、動作制御プログラムに基づきロボットの動作を制御する。すなわち、動作制御プログラムが実行されると、ロボットに各種の制御命令が送信され、これによりロボットは所期の動作を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−１１９８２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数のロボットが配置される製造現場では、それぞれのロボットにおいて、適切な動作制御プログラムが実行される必要がある。この動作制御プログラムは、ロボットが担う作業内容を示す作業プログラムに、ロボットの設置位置及び姿勢の情報を含む動作経路が関連付けられている。各ロボットに所期の作業を行わせるためには、各ロボットに応じた適切な作業プログラムを作成する必要がある。しかしながら、作業プログラムを作成する作業は主に管理者（オペレータ）の手作業によるため、一般には熟練した技術が要求される。
【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、ロボットが担う作業内容を示す作業プログラムを容易に作成することができるロボット制御装置及びロボット制御方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明に係るロボット制御装置は、ロボットが担う作業の内容を示す作業プログラムを生成するためのテンプレートを該作業の情報に関連付けて記憶する記憶部と、前記作業に含まれる作業工程に応じた設定画面を順に表示部に表示させる表示制御部と、管理者により選択された作業に対応する前記テンプレートと、前記設定画面において管理者により入力された設定情報とに基づいて、該作業の内容を示す前記作業プログラムを生成する作業プログラム生成部と、を含む。
【０００７】
本発明に係るロボット制御方法は、ロボットが担う作業の内容を示す作業プログラムを生成するためのテンプレートを該作業の情報に関連付けて記憶する記憶部から、管理者により選択された作業に対応する前記テンプレートを取得し、前記作業に含まれる作業工程に応じた設定画面を順に表示部に表示させ、前記取得された前記テンプレートと、前記設定画面において管理者により入力された設定情報とに基づいて、該作業の内容を示す前記作業プログラムを生成する。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係るロボット制御装置の構成図である。
【図２】タスクプランニングに係るロボット制御装置の構成図である。
【図３】作業テーブルの一例を模式的に示す図である。
【図４】サブジョブプログラムのテンプレートの一例を模式的に示す図である。
【図５】ＣＡＤデータテーブルの一例を模式的に示す図である。
【図６】作業パラメータテーブルの一例を模式的に示す図である。
【図７】ロボット情報テーブルの一例を模式的に示す図である。
【図８】タスクプランニングにおける設定画面の一例を模式的に示す図である。
【図９】タスクプランニングに係るロボット制御装置の構成図である。
【図１０】ロボット制御装置のタスクプランニングの動作を示す図である。
【図１１】ロボット制御装置のタスクプランニングの動作を示す図である。
【図１２】初期設定画面（設定画面０ｘ）の一例を模式的に示す図である。
【図１３】設定画面１ｘの一例を模式的に示す図である。
【図１４】設定画面２ｘの一例を模式的に示す図である。
【図１５】更新後の設定画面２ｘの一例を模式的に示す図である。
【図１６】設定画面３ｘの一例を模式的に示す図である。
【図１７】更新後の設定画面３ｘの一例を模式的に示す図である。
【図１８】設定画面４ｘの一例を模式的に示す図である。
【図１９】設定画面５ｘの一例を模式的に示す図である。
【図２０】工程２における設定画面５ｘの一例を模式的に示す図である。
【図２１】工程３における設定画面５ｘの一例を模式的に示す図である。
【図２２】作業プログラムの一例を模式的に示す図である。
【図２３】パスプランニングに係るロボット制御装置の構成図である。
【図２４】パスプランニングにおける設定画面の一例を模式的に示す図である。
【図２５】パスプランニングに係るロボット制御装置の構成図である。
【図２６】ロボット制御装置のパスプランニングの動作を示す図である。
【図２７】ロボット制御装置のパスプランニングの動作を示す図である。
【図２８】初期設定画面（設定画面０ｙ）の一例を模式的に示す図である。
【図２９】設定画面１ｙの一例を模式的に示す図である。
【図３０】設定画面２ｙの一例を模式的に示す図である。
【図３１】設定画面３ｙの一例を模式的に示す図である。
【図３２】設定画面３ｙの一例を模式的に示す図である。
【図３３】設定画面３ｙの一例を模式的に示す図である。
【図３４】動作制御プログラムの一例を模式的に示す図である。
【図３５】ロボットシステムの全体構成図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づき詳細に説明する。
【００１０】
図１は、本発明の実施形態に係るロボット制御装置の構成図である。ロボット制御装置１は、１台又は複数台のロボット（例えば、産業用多関節ロボット）の動作を支援・管理する。ロボット制御装置１とロボットとは、ネットワークを介して通信することができる。図１では、１台のロボット制御装置１と３台のロボット３０Ａ，３０Ｂ，３０Ｃとが、ネットワークを介して通信可能に接続されている。なお、１台のロボット制御装置１に４台以上のロボット３０が接続されていてもよい。また、１台のロボット制御装置１に１台のロボット３０が接続された１つのロボットシステムが複数設けられていてもよい。
【００１１】
本実施形態に係るロボット制御装置１は、ロボット３０の導入前やロボット３０の配置換えの前、すなわちロボット制御装置１とロボット３０とがオフライン環境にある初期設定段階において、ロボット３０の動作を制御するための動作制御プログラムを生成するものである。動作制御プログラムは、ロボット３０が担う作業の内容を示す作業プログラムに、ロボット３０の設置位置及び姿勢の情報を含む動作経路（動作パス）情報が関連付けられたものである。ロボット３０は、動作制御プログラムに基づき所期の動作を実行する。ロボット制御装置１は、動作制御プログラムを生成するための機能として、ロボット３０が担う作業に係る作業プログラムを生成するためのタスクプランニングを実行するタスクプランナとしての機能と、ロボット３０の動作経路を生成するためのパスプランニングを実行するパスプランナとしての機能とを有している。
【００１２】
図１に示すように、ロボット制御装置１は、ハードディスクや半導体メモリなどの記憶部１０２と、ＣＰＵを中心に構成された制御部１０４と、ロボット３０Ａ，３０Ｂ，３０Ｃと通信するためのネットワークアダプタなどの通信部１０６と、タスクプランニング及びパスプランニングを実行する際に管理者に対して各種設定画面（操作画面）を表示する表示部１０７と、を有している。なお、タスクプランニング及びパスプランニングは、ロボット制御装置１にロボット３０Ａ，３０Ｂ，３０Ｃが接続される前の初期設定段階において実行されるものであるため、図１では便宜上、ロボット制御装置１に接続されるべきロボット３０Ａ，３０Ｂ，３０Ｃを、仮想的に示している。以下では、タスクプランニング及びパスプランニングそれぞれを実行するロボット制御装置１の構成について説明する。また以下では、主に、１台のロボット制御装置１と、これに接続されるべき１台のロボット３０Ａとを例に挙げる。
【００１３】
［タスクプランニング］
図２は、タスクプランニングを実行するための要素を含むロボット制御装置１の構成図である。同図に示すように、制御部１０４は、操作受付部１１、作業取得部１２、作業工程取得部１３、部品情報取得部１４、工具情報取得部１５、パラメータ取得部１６、ロボット情報取得部１７、作業プログラム生成部１８、及び表示制御部１９を含んでいる。これらは、ＣＰＵを中心として構成された制御部１０４においてプログラムが実行されることにより実現される機能である。記憶部１０２には、記憶領域として、作業データ領域５ａ、テンプレートデータ領域５ｂ、ＣＡＤデータ領域５ｃ、スキルデータ領域５ｄ、ロボットデータ領域５ｅ、作業プログラム領域５ｆが設けられている。
【００１４】
ロボット制御装置１の各要素の機能について説明する。
【００１５】
表示制御部１９は、管理者（オペレータ）の指示（操作）を受け付けるための各種設定画面を表示部１０７に表示させ、操作受付部１１は、管理者の指示を受け付ける。管理者は、タスクプランニングの設定画面において、例えばロボット制御装置１に接続されたキーボードやマウス等の操作部（不図示）を使用して指示を行う。
【００１６】
ロボット制御装置１は、管理者の指示内容に基づいて、ロボット３０Ａが担う作業の内容を示す作業プログラムを生成する。ここで、作業（ジョブ）は、複数の作業工程（サブジョブ）を含む。例えば、作業（ジョブ）としての「モータケーシング部品の組み付け」には、押し当て作業（工程１：サブジョブ１）、ピック作業（工程２：サブジョブ２）、及び挿入作業（工程３：サブジョブ３）の３つの作業工程（サブジョブ）が含まれる。ロボット３０Ａは、上記一連の作業工程を含む作業に対応する作業プログラムに基づき動作を行う。
【００１７】
作業取得部１２は、管理者が所望の作業を選択すると、その選択結果を取得する。選択対象の作業は作業データ領域５ａに予め登録されており、管理者は、設定画面（設定画面０ｘ）において複数の作業から、作業プログラムの作成をするべき作業を選択する。作業データ領域５ａには、図３に示すように、例えば作業Ａ、作業Ｂ、作業Ｃ等の作業名と、各作業に含まれる作業工程とが関連付けて記録された作業テーブルが記憶されている。例えば作業Ａには、工程１（サブジョブ１）、工程２（サブジョブ２）、及び工程３（サブジョブ３）の３つの作業工程（サブジョブ）が関連付けられている。また作業取得部１２は、管理者により選択された作業に関連付けられた作業工程の情報も取得する。
【００１８】
作業工程取得部１３は、管理者が選択した作業に含まれる作業工程のうち管理者が設定画面（設定画面１ｘ）において所望の作業工程を選択すると、その選択結果を取得するとともに、テンプレートデータ領域５ｂから、選択された作業工程に対応するサブジョブプログラム（工程作業プログラム）のテンプレートを取得する。テンプレートには、プログラムのスタイルや定型句などが保存されている。テンプレートデータ領域５ｂには、作業に含まれる作業工程に対応するサブジョブプログラムのテンプレートが記憶されている。作業工程が複数存在する場合は、作業工程毎にサブジョブプログラムのテンプレートが関連付けられている。例えば、図４に示すように、作業Ａに対して、工程１（サブジョブ１）、工程２（サブジョブ２）、及び工程３（サブジョブ３）の３つの作業工程（サブジョブ）のプログラムのテンプレートが記憶されている。
【００１９】
部品情報取得部１４は、管理者が選択した作業に対応する部品（作業対象物）の情報や、管理者が設定画面（設定画面２ｘ）において選択した部品の情報を、ＣＡＤデータ領域５ｃから取得する。ＣＡＤデータ領域５ｃには、図５に示すように、作業、作業工程、及び部品情報が関連付けて記録されたＣＡＤデータテーブルが記憶されている。部品情報には、部品名、部品の識別情報（部品ＩＤ）、部品の３次元モデルデータが含まれる。また部品情報取得部１４は、管理者が設定画面（設定画面２ｘ）において選択した作業台の情報を、ＣＡＤデータ領域５ｃから取得する。各部品情報には、座標系（部品座標系）が関連付けられ、作業台の情報には、座標系（作業座標系）が関連付けられている。
【００２０】
工具情報取得部１５は、管理者が選択した作業に対応する工具の情報や、管理者が設定画面（設定画面２ｘ）において選択した工具の情報を、ＣＡＤデータ領域５ｃから取得する。ＣＡＤデータ領域５ｃのＣＡＤデータテーブルにはさらに、図５に示すように、工具情報が関連付けて記録されている。工具情報には、工具名、工具の識別情報（工具ＩＤ）、工具の３次元モデルデータが含まれる。また、各工具情報には、座標系（工具座標系）が関連付けられている。
【００２１】
パラメータ取得部１６は、管理者が設定画面（設定画面３ｘ）において設定した作業パラメータ（作業条件）を取得する。また、パラメータ取得部１６は、スキルデータ領域５ｄを参照して、管理者が設定した作業パラメータが、作業工程に適切な値（予め設定された規定パラメータ（閾値））を満たすか否かを判定する。すなわち、パラメータ取得部１６は判定部としての機能も有する。スキルデータ領域５ｄには、図６に示すように、作業、作業工程、及び規定パラメータが関連付けて記録された作業パラメータテーブルが記憶されている。作業パラメータは、例えば部品間の距離、位置、押し当て力、把持力などである。
【００２２】
ロボット情報取得部１７は、管理者が設定画面（設定画面４ｘ）において選択したロボットの情報を、ロボットデータ領域５ｅから取得する。ロボットデータ領域５ｅには、図７に示すように、作業及びロボット情報が関連付けて記録されたロボット情報テーブルが記憶されている。ロボット情報には、ロボット名、ロボットの識別情報（ロボットＩＤ）、ロボットの外形状を示す３次元モデルデータが含まれる。また各ロボット情報には、座標系（ロボット座標系）が関連付けられている。
【００２３】
作業プログラム生成部１８は、作業工程取得部１３により取得されたサブジョブプログラムのテンプレートに、部品情報取得部１４により取得された部品情報、工具情報取得部１５により取得された工具情報、パラメータ取得部１６により取得された作業パラメータ、及び、ロボット情報取得部１７により取得されたロボット情報を組み込み、サブジョブプログラムを生成する。また、作業プログラム生成部１８は、生成したサブジョブプログラムに基づき、作業に対応する作業プログラムを生成する。作業プログラム生成部１８は、生成した作業プログラムをサブジョブプログラムに関連付けて作業プログラム領域５ｆに記憶する。
【００２４】
また、ロボット制御装置１では、表示制御部１９が、上記各要素の処理に応じた設定画面（上記設定画面０ｘ〜４ｘを含む）を表示部１０７に表示させる。各設定画面の具体例は後述する。タスクプランニングにおける設定画面には、例えば図８に示すように、部品欄、工具欄、半製品欄、環境モデル欄、作業工程欄、作業シーケンス欄が含まれる。
【００２５】
表示制御部１９は、各設定画面を表示させるための要素として、図９に示すように、設定画面表示部１９ａ、部品欄設定部１９ｂ、工具欄設定部１９ｃ、環境モデル欄設定部１９ｄ、パラメータ設定部１９ｅ、半製品欄設定部１９ｆ、作業工程欄設定部１９ｇ、作業シーケンス欄設定部１９ｈを含んでいる。また、記憶部１０２には、記憶領域としてさらに、設定画面データ領域５ｇ、部品データ領域５ｈが設けられている。なお、図９では、図２に示した制御部１０４に設けられる各要素は省略している。
【００２６】
管理者が選択した作業が作業取得部１２により取得されると、設定画面表示部１９ａは、設定画面データ領域５ｇから、管理者が選択した作業に対応する設定画面を取得し、部品欄設定部１９ｂは、部品情報取得部１４により取得された部品の３次元モデルデータをＣＡＤデータ領域５ｃ（図５参照）から取得して設定画面の部品欄に設定（登録）し、工具欄設定部１９ｃは、工具情報取得部１５により取得された工具の３次元モデルデータをＣＡＤデータ領域５ｃから取得して設定画面の工具欄に設定（登録）し、環境モデル欄設定部１９ｄは、部品情報取得部１４により取得された部品及び作業取得部１２により取得された作業により製造される製品の３次元モデルデータをＣＡＤデータ領域５ｃから取得して設定画面の環境モデル欄に設定（登録）する。各欄に設定された３次元モデルデータは設定画面に画像として表示される。また部品欄設定部１９ｂは、部品欄に設定した各部品の３次元モデルデータを部品データ領域５ｈに記憶する。
【００２７】
半製品欄設定部１９ｆは、部品データ領域５ｈを参照して、各作業工程が実行された段階（途中の製造状態（半製品））の３次元モデルデータを取得し、設定画面の半製品欄に設定（登録）する。設定画面の半製品欄には、半製品の画像が表示される。
【００２８】
作業工程欄設定部１９ｇは、設定画面上で管理者により選択された選択対象物（部品、工具等の３次元モデルデータ）を、設定画面の作業工程欄に設定（登録）する。作業工程欄に設定する方法は、例えば部品欄に設定（表示）された部品画像を管理者がマウスポインタでドラッグし、作業工程欄にドロップする方法であってもよいし、作業工程欄に複数の部品名を一覧表示させて、管理者がマウスポインタで所望の部品名をクリックする方法であってもよい。設定画面の作業工程欄には、設定された部品、工具等の画像が表示される。
【００２９】
作業シーケンス欄設定部１９ｈは、各作業工程に対応する工程名を作業シーケンス欄に設定（登録）する。各工程名には、サブジョブプログラムが関連付けられており、工程名を選択（クリック）すると、対応するサブジョブプログラムの内容が設定画面に表示される。
【００３０】
ここで、ロボット制御装置１における作業プログラムの生成方法（タスクプランニング）について、具体例を挙げて説明する。ここでは、「モータケーシング部品の組み付け」の作業（以下、作業Ａと称す。）に対応する作業プログラムの生成方法を例に挙げる。また、作業Ａには、押し当て作業（工程１）、ピック作業（工程２）、及び挿入作業（工程３）の３つの作業工程が含まれるものとする。
【００３１】
図１０及び図１１は、ロボット制御装置１の動作を示す図である。同図では、管理者の操作フローと、管理者の操作に基づくロボット制御装置１の動作フローと、表示部１０７の表示フローとを並行して示している。なお、表示部１０７の表示処理は、ロボット制御装置１における表示制御部１９の表示命令に従って行われる。
【００３２】
まず、タスクプランニングの処理が開始されると、表示部１０７に初期設定画面が表示される（Ｓ１０１）。初期設定画面には、例えば図１２に示すように、管理者に作業を選択させるための画面（設定画面０ｘ）が表示される。管理者は、図１２の初期設定画面において、作業として「作業Ａ」を選択して決定ボタンを押下する（Ｓ１０２）。作業取得部１２が管理者による選択結果（作業Ａ）を取得すると、部品情報取得部１４は、ＣＡＤデータ領域５ｃ（図５参照）から作業Ａに対応する部品ＰＦ１，ＰＦ２，ＰＦ３の３次元モデルデータを取得し、工具情報取得部１５は、ＣＡＤデータ領域５ｃから作業Ａに対応する工具Ｔ１の３次元モデルデータを取得する（Ｓ１０３）。
【００３３】
次に、設定画面表示部１９ａは、設定画面データ領域５ｇから作業Ａに対応する設定画面（図８参照）を取得し、部品欄設定部１９ｂは、上記取得された部品ＰＦ１，ＰＦ２，ＰＦ３の３次元モデルデータを設定画面の部品欄に設定し、工具欄設定部１９ｃは、上記取得された工具Ｔ１の３次元モデルデータを設定画面の工具欄に設定し、環境モデル欄設定部１９ｄは、部品ＰＦ１，ＰＦ２，ＰＦ３、作業台ＷＳ１、及び完成品の３次元モデルデータを設定画面の環境モデル欄に設定する。また、作業工程欄設定部１９ｇは、作業Ａに含まれる工程１〜工程３の情報を設定画面の作業工程欄に設定し、作業シーケンス欄設定部１９ｈは、設定画面の作業シーケンス欄に工程０を設定する。これにより表示部１０７には、各設定部により各表示欄が設定された設定画面１ｘが表示される（Ｓ１０４）。図１３には、設定画面１ｘの一例を示している。
【００３４】
次に、設定画面１ｘにおいて、管理者が作業Ａに含まれる「工程１」を選択する（Ｓ１０５）。例えば、管理者はマウスを使用して設定画面上の「工程１」をクリックする。管理者により「工程１」が選択されると、作業工程取得部１３は、テンプレートデータ領域５ｂ（図４参照）から、「工程１」に対応するサブジョブ１プログラムのテンプレートを取得し（Ｓ１０６）、作業工程欄設定部１９ｇは、部品、工具及び作業台を設定するための設定欄を作業工程欄に表示させる（Ｓ１０７）。図１４には、上記設定欄を含む設定画面２ｘの一例を示している。
【００３５】
次に、設定画面２ｘにおいて、管理者が部品ＰＦ１、工具Ｔ１及び作業台ＷＳ１を選択する（Ｓ１０８）。例えば、管理者は、マウスを使用して設定画面２ｘの部品欄に設定されている部品ＰＦ１をドラッグして作業工程欄にドロップし、工具欄に設定されている工具Ｔ１をドラッグして作業工程欄にドロップし、環境モデル欄に設定されている作業台ＷＳ１をドラッグして作業工程欄にドロップする。これにより、作業工程欄設定部１９ｇは、部品ＰＦ１、作業台ＷＳ１及び工具Ｔ１を作業工程欄に設定し、設定画面２ｘが図１５に示すように更新される（Ｓ１０９）。また部品情報取得部１４は、管理者により選択された部品ＰＦ１及び作業台ＷＳ１の情報をＣＡＤデータ領域５ｃから取得し、工具情報取得部１５は、管理者により選択された工具Ｔ１の情報をＣＡＤデータ領域５ｃから取得する（Ｓ１１０）。なお、部品ＰＦ１、作業台ＷＳ１及び工具Ｔ１の情報には、各座標系が関連付けられている。
【００３６】
次に、作業工程欄設定部１９ｇは、作業パラメータを設定するための設定欄を作業工程欄に表示させる（Ｓ１１１）。図１６には、上記設定欄を含む設定画面３ｘの一例を示している。
【００３７】
次に、設定画面３ｘにおいて、管理者が作業パラメータを設定（入力）する（Ｓ１１２）。例えば、管理者は、作業台ＷＳ１と部品ＰＦ１との距離（接近高さ）Ｄ（ｍｍ）＝３０と、押し当て反力Ｆ（Ｎ）＝５を設定する。これにより設定画面３ｘは、図１７に示すように更新される（Ｓ１１３）。
【００３８】
管理者により作業パラメータが設定されると、パラメータ取得部１６は、作業パラメータが予め設定された規定パラメータ（閾値）を満たすか否かを判定する（Ｓ１１４）。作業パラメータが閾値を満たさない場合、表示制御部１９は、作業パラメータの再入力を促すメッセージを表示部１０７に表示させる（Ｓ１１５）。
【００３９】
作業パラメータが閾値を満たす場合、作業工程欄設定部１９ｇは、ロボットを選択するための設定欄を作業工程欄に表示させる（Ｓ１１６）。図１８には、上記設定欄を含む設定画面４ｘの一例を示している。
【００４０】
次に、設定画面４ｘにおいて、管理者がロボット３０Ａを選択する（Ｓ１１７）。ロボット情報取得部１７は、管理者により選択されたロボット３０Ａの情報を、ロボットデータ領域５ｅ（図７参照）から取得する（Ｓ１１８）。ロボット３０Ａの情報には、ロボット座標系が関連付けられている。
【００４１】
次に、管理者が、設定画面４ｘに含まれる設定完了ボタンを押下すると（Ｓ１１９）、作業プログラム生成部１８は、サブジョブ１プログラムのテンプレートに、部品ＰＦ１、工具Ｔ１、作業台ＷＳ１、作業パラメータ（Ｄ＝３０、Ｆ＝５）、ロボット３０Ａの各情報を組み込み、サブジョブ１プログラム（図２２参照）を生成する（Ｓ１２０）。また、半製品欄設定部１９ｆは、作業台ＷＳ１に部品ＰＦ１を押し当てた状態（半製品：工程１の完成品）を設定画面の半製品欄に設定し、作業シーケンス欄設定部１９ｈは、サブジョブ１プログラムが関連付けられた「工程１」を作業シーケンス欄に設定する（Ｓ１２１）。図１９には、上記設定された設定画面５ｘの一例を示している。作業シーケンス欄の「工程１」をクリックすると、サブジョブ１プログラム（図２２参照）の内容が表示される。
【００４２】
次に、管理者がタスクプランニングの続行指示を行う（例えば設定画面５ｘの「次工程へ」をクリックする）と（Ｓ１２２）、表示部１０７には、再び、各設定部により各欄が設定された設定画面１ｘが表示される（Ｓ１２３）。管理者は、設定画面１ｘ（図１３参照）において作業Ａに含まれる「工程２」を選択する（Ｓ１２３）。以降、上述したＳ１０６〜Ｓ１２０と同様の処理が行われ、「工程２」に対応するサブジョブ２プログラム（図２２参照）が生成される。図２０には、工程２における設定画面５ｘの一例を示している。さらに、作業Ａに含まれる「工程３」に対しても同様の処理が行われ、これにより「工程３」に対応するサブジョブ３プログラム（図２２参照）が生成される。図２１には、工程３における設定画面５ｘの一例を示している。
【００４３】
最後に、管理者がタスクプランニングの完了指示を行う（例えば設定画面５ｘの「完了」をクリックする）と（Ｓ１２５）、作業プログラム生成部１８は、作業Ａに含まれる工程１〜３に対応するサブジョブ１プログラム、サブジョブ２プログラム及びサブジョブ３プログラムに基づき、作業Ａに対応する作業プログラムを生成する（Ｓ１２６）。図２２には、サブジョブ１プログラム、サブジョブ２プログラム及びサブジョブ３プログラムと、これらサブジョブプログラムにより生成される、作業Ａに対応する作業プログラムの例を示している。作業プログラム生成部１８は、作業Ａに対応する作業プログラムを、サブジョブ１プログラム、サブジョブ２プログラム及びサブジョブ３プログラムに関連付けて、作業プログラム領域５ｆに記憶する。
【００４４】
本実施形態に係るロボット制御装置１のタスクプランニングによれば、ロボットが担う作業の内容を示す作業プログラムを容易に作成することができるとともに、管理者は作業プログラムの生成過程（状況）を把握（視認）することができる。また、上記タスクプランニングにより生成された作業プログラムは、作業内容を記述したものでありロボット及び作業台の位置情報を含まないため、例えばロボットの種類や位置が変更された場合にも利用することができる。
【００４５】
［パスプランニング］
上記のタスクプランニングの処理が終了すると、続いて、管理者は、ロボット制御装置１に、ロボット３０Ａの設置位置及び姿勢の情報を含む軌道（動作経路）を生成するためのパスプランニングの処理を実行させる。以下、パスプランニングの処理について説明する。なお、説明の便宜上、上記タスクプランニングを実行するための要素と同一の機能を有する要素には同一の符号を付し、その説明を省略する。
【００４６】
制御部１０４は、パスプランニングを実行するための要素として、図２３に示すように、プログラム取得部２１、位置取得部２２、動作判定部２３、経路生成部２４、位置調整部２５、動作制御プログラム生成部２６、尤度算出部２７を含んでいる。これらは、ＣＰＵを中心として構成された制御部１０４においてプログラムが実行されることにより実現される機能である。また記憶部１０２には、記憶領域として、位置データ領域５ｉ、動作制御プログラム領域５ｊが設けられている。
【００４７】
また表示制御部１９は、上記タスクプランニングと同様、管理者の指示を受け付けるための各種設定画面を表示部１０７に表示させ、操作受付部１１は、管理者の指示を受け付ける。管理者は、パスプランニングの設定画面において、例えばロボット制御装置１に接続されたキーボードやマウス等の操作部を使用して指示を行う。
【００４８】
ロボット制御装置１は、管理者の指示内容に基づいて、ロボット３０が作業プログラムに係る作業を実行するためのロボット３０の動作経路を生成する。ここでは、ロボット３０Ａに関する、上記作業Ａ、作業Ａに含まれる工程１、工程２、工程３を例に挙げる。
【００４９】
ロボット制御装置１の各要素の機能について説明する。
【００５０】
作業プログラム領域５ｆには、作業Ａに対応する作業プログラムが、サブジョブ１プログラム、サブジョブ２サブプログラム及びサブジョブ３プログラムに関連付けて記憶されている。上記タスクプランニングで生成された作業プログラムに係る各サブジョブプログラム（図２２参照）の位置・座標情報を表す記述（例えば、Ｃｏｏｒｄ、Ｐ１、Ｐ２）は不定であり、パスプランニングの処理により決定される。なお、「Ｃｏｏｒｄ」は、例えば（ｘ、ｙ、ｚ）の座標情報を表し、Ｃｏｏｒｄ１の座標系ファイル１がサブジョブ１プログラムに関連付けられ、Ｃｏｏｒｄ２の座標系ファイル２がサブジョブ２プログラムに関連付けられ、Ｃｏｏｒｄ３の座標系ファイル３がサブジョブ３プログラムに関連付けられて作業プログラム領域５ｆに記憶されている。
【００５１】
位置データ領域５ｉには、部品、工具、作業台、ロボットの各座標系が記憶される。例えば、部品ＰＦ１，ＰＦ２，ＰＦ３、工具Ｔ１、作業台ＷＳ１、ロボット３０Ａの各座標系が記憶されている。また、位置データ領域５ｉには、ロボットの設置位置に対する、部品、工具、及び作業台の設計上の相対位置（位置測定データ）が記憶される。これにより、例えば部品ＰＦ１，ＰＦ２，ＰＦ３、工具Ｔ１、作業台ＷＳ１、ロボット３０Ａの位置関係（座標位置）が特定される。なお、ロボット３０Ａ，３０Ｂ，３０Ｃは人手で任意にロボット設置位置に配置されるので、それらロボット３０Ａ，３０Ｂ，３０Ｃに対する各作業台の実際の相対位置は、設計上のそれとは異なり得る。部品、工具、及び作業台３８の設計上の相対位置は、各ロボット設置位置に関連づけて記憶されている。このように、位置データ領域５ｉには、各ロボットの座標位置が、各ロボット識別情報に関連付けて記憶されている。
【００５２】
動作制御プログラム領域５ｊには、上記タスクプランニングより生成された作業プログラムに、パスプランニングにより生成された動作経路が関連付けられた動作制御プログラムが記憶される。
【００５３】
プログラム取得部２１は、作業プログラム領域５ｆから、パスプランニングの処理対象となる作業プログラムを取得する。ここでは、作業Ａに対応する作業プログラムを取得する。この作業プログラムには、サブジョブ１プログラム、サブジョブ２プログラム及びサブジョブ３プログラムと、座標系ファイル１，２，３とがそれぞれ関連付けられている。プログラム取得部２１は、例えば、管理者がパスプランニングを開始する指示を行ったときに、上記作業プログラムを取得する。
【００５４】
位置取得部２２は、位置データ領域５ｉから、部品、工具、作業台、ロボットの位置（座標系）を取得する。ここでは、部品ＰＦ１，ＰＦ２，ＰＦ３、工具Ｔ１、作業台ＷＳ１、ロボット３０Ａの位置（座標系）を取得する。
【００５５】
動作判定部２３は、位置取得部２２により取得された位置情報に基づいて、各工程における動作において、動作の開始点及び到達点が可動範囲内（所定範囲内）にあるか否かを判定する。なお可動範囲は、位置取得部２２により取得された位置情報に基づいて算出される。また、動作判定部２３は、位置取得部２２により取得された位置情報に基づいて、各工程における動作において、ロボット３０Ａが他のロボット３０Ｂ，３０Ｃや周辺の物体等の被干渉物に干渉するか否かを判定する。すなわち、動作判定部２３は、動作範囲チェック及び干渉チェックを行う。動作判定部２３は、動作範囲チェックにおいて動作の開始点及び到達点が可動範囲内にある場合は正常と判定し、干渉チェックにおいてロボットが被干渉物に干渉しない場合は正常と判定し、これら以外は異常と判定する。動作範囲チェック及び干渉チェックは、ＣＡＤデータ領域５ｃに記憶される３次元モデルデータを用いて、ロボット３０の作業空間における動きを仮想空間内でシミュレーションして行うことができる。
【００５６】
経路生成部２４は、動作判定部２３による判定結果に基づいて、製造工程順における前後の工程間のロボットの動作経路を生成する。例えば、経路生成部２４は、工程０と工程１の間のロボット３０Ａの動作経路０−１を生成し、工程１と工程２の間のロボット３０Ａの動作経路１−２を生成し、工程２と工程３の間のロボット３０Ａの動作経路２−３を生成する。また経路生成部２４は、生成した各動作経路情報を作業プログラム領域５ｆに記憶する。
【００５７】
位置調整部２５は、動作判定部２３による判定結果が異常の場合に、作業台とロボットとの位置関係を仮想空間内で調整する。
【００５８】
動作制御プログラム生成部２６は、経路生成部２４により生成された動作経路を、上記タスクプランニングより生成された作業プログラムに関連付けて動作制御プログラムを生成する。動作制御プログラム生成部２６は、生成した動作制御プログラムを動作制御プログラム領域５ｊに記憶する。
【００５９】
また、表示制御部１９は、上記タスクプランニングと同様、上記各要素の処理に応じた設定画面を表示部１０７に表示させる。各設定画面の具体例は後述する。パスプランニングにおける設定画面には、例えば図２４に示すように、作業シーケンス欄、動作経路生成ログ欄、環境モデル欄が含まれる。表示制御部１９は、各設定画面を表示させるための要素として、図２５に示すように、作業シーケンス欄設定部１９ｉ、ログ欄設定部１９ｊ、環境モデル欄設定部１９ｋを含んでいる。
【００６０】
設定画面表示部１９ａは、設定画面データ領域５ｇから、管理者が選択した作業に対応する設定画面を取得して、表示部１０７に表示させる。
【００６１】
作業シーケンス欄設定部１９ｉは、管理者が選択した作業が作業取得部１２により取得されると、作業プログラム領域５ｆを参照して、該作業に対応する作業シーケンス（作業プログラムに関連付けられたサブジョブプログラムを含む工程）（図２２参照）を作業シーケンス欄に設定（登録）する。
【００６２】
ログ欄設定部１９ｊは、作業シーケンス欄に設定された各工程の作業シーケンスのうち管理者が選択した工程に関する動作経路の生成過程のログを動作経路生成ログ欄に表示する。このログ表示により、管理者は動作経路の生成過程（状況）を把握することができる。
【００６３】
環境モデル欄設定部１９ｋは、位置取得部２２により取得された部品、工具、作業台、ロボットの位置情報と、ＣＡＤデータ領域５ｃに記憶されている各３次元モデルデータに基づいて、３次元モデルの画像を環境モデル欄に表示する。また、環境モデル欄設定部１９ｋは、動作判定部２３による判定結果に基づいて、部品、工具、作業台、ロボットの位置関係を表示する。
【００６４】
ここで、ロボット制御装置１における動作経路の生成方法（パスプランニング）について、具体例を挙げて説明する。ここでは、上記タスクプランニングにより生成された作業Ａに対応する動作経路の生成方法を例に挙げる。
【００６５】
図２６及び図２７は、ロボット制御装置１の動作を示す図である。同図では、管理者の操作フローと、管理者の操作に基づくロボット制御装置１の動作フローと、表示部１０７の表示フローとを並行して示している。なお、表示部１０７の表示処理は、ロボット制御装置１における表示制御部１９の表示命令に従って実行される。
【００６６】
まず、パスプランニングの処理が開始されると、表示部１０７に初期設定画面が表示される（Ｓ２０１）。初期設定画面には、例えば図２８に示すように、管理者に作業を選択させるための画面（設定画面０ｙ）が表示される。管理者は、初期設定画面において、作業として「作業Ａ」を選択して決定ボタンを押下する（Ｓ２０２）。作業取得部１２が管理者による選択結果（作業Ａ）を取得すると、プログラム取得部２１は、作業プログラム領域５ｆから作業Ａの作業プログラムを取得する（Ｓ２０３）。
【００６７】
次に、設定画面表示部１９ａは、設定画面データ領域５ｇから作業Ａに対応する設定画面（図２４参照）を取得し、作業シーケンス欄設定部１９ｉは、作業Ａの作業プログラムの作業シーケンスを設定画面の作業シーケンス欄に設定し、環境モデル欄設定部１９ｋは、ＣＡＤデータ領域５ｃに記憶されている各３次元モデルデータに基づいて、３次元モデルを環境モデル欄に設定する。これにより表示部１０７には、各設定部により各欄が設定された設定画面１ｙが表示される（Ｓ２０４）。図２９には、設定画面１ｙの一例を示している。
【００６８】
次に、設定画面１ｙにおいて、管理者が作業シーケンス欄の「工程１」を選択する（Ｓ２０５）。例えば、管理者はマウスを使用して設定画面上の「工程１」をクリックする。管理者により「工程１」が選択されると、プログラム取得部２１は、作業プログラム領域５ｆから工程１のサブジョブ１プログラムを取得し（Ｓ２０６）、位置取得部２２は、位置データ領域５ｉから、部品、工具、作業台、ロボット３０Ａの位置（座標系）を取得する（Ｓ２０７）。
【００６９】
次に、動作判定部２３は、プログラム取得部２１により取得されたサブジョブ１プログラムと、位置取得部２２により取得された位置情報とに基づいて、動作範囲チェック及び干渉チェックを行う（Ｓ２０８）。両チェックで正常の場合、経路生成部２４は、工程０と工程１の間のロボット３０Ａの動作経路０−１を生成し、生成した動作経路０−１をサブジョブ１プログラム（図２２参照）に関連付けて作業プログラム領域５ｆに記憶する（Ｓ２０９）。ログ欄設定部１９ｊは、動作経路０−１の生成過程のログをログ設定欄に表示させる（Ｓ２１０）。図３０は、ログが表示された設定画面２ｙの一例を示している。
【００７０】
なお動作範囲チェック及び干渉チェックの少なくとも何れかで異常の場合は、位置調整部２５が、ロボット３０Ａの位置を仮想空間内で調整し（Ｓ２１１）、その後Ｓ２０８に戻る。
【００７１】
上記のようにして生成された動作経路０−１により、サブジョブ１プログラムの位置・座標情報（Ｃｏｏｒｄ、Ｐ１、Ｐ２）が決定される。
【００７２】
次に、管理者が作業シーケンス欄の「工程２」を選択すると（Ｓ２１２）、プログラム取得部２１は、作業プログラム領域５ｆから工程２のサブジョブ２プログラムを取得し（Ｓ２１３）、位置取得部２２は、位置データ領域５ｉから、部品、工具、作業台、ロボット３０Ａの位置（座標系）を取得する（Ｓ２１４）。
【００７３】
次に、動作判定部２３は、プログラム取得部２１により取得されたサブジョブ２プログラムと、位置取得部２２により取得された位置情報とに基づいて、動作範囲チェック及び干渉チェックを行う（Ｓ２１５）。ここでは動作範囲チェックで異常となった場合を詳細に説明する。位置調整部２５は、ロボット３０Ａの位置を仮想空間内で調整する（Ｓ２１６）。例えば、工程２におけるロボット３０Ａの到達点がＸ座標上で−αｍｍであった場合は、ロボット３０Ａのベース位置をＸ座標上で＋αｍｍに調整する。位置調整後、Ｓ２１５に戻り、再度、動作範囲チェック及び干渉チェックを行う。再チェックでは、工程２に対する位置調整を行うと、以前の工程１の動作位置が変動し、可動範囲内から外れたり、被干渉物に干渉したりする可能性があるため、以前の工程１についても再度動作範囲チェック及び干渉チェックを行う。
【００７４】
経路生成部２４は、上記位置調整が終了すると、工程１と工程２の間のロボット３０Ａの動作経路１−２を生成し、生成した動作経路１−２をサブジョブ２プログラム（図２２参照）に関連付けて作業プログラム領域５ｆに記憶する（Ｓ２１７）。ログ欄設定部１９ｊは、動作経路１−２の生成過程のログをログ設定欄に表示させる（Ｓ２１８）。図３１は、ログが表示された設定画面３ｙの一例を示している。なお、環境モデル欄設定部１９ｋは、動作範囲チェック及び干渉チェックにより検出された異常個所を環境モデル欄に表示させてもよい。図３２は、ロボット３０Ａの動作範囲が可動範囲内から外れた場合を示している。なお異常個所を特定し易くするために、マークを付してもよいし色付けしてもよい。図３３は、ロボット３０Ａが、他の物体に干渉した場合を示している。
【００７５】
上記のようにして生成された動作経路１−２により、サブジョブ２プログラムの位置・座標情報（Ｃｏｏｒｄ、Ｐ１、Ｐ２）が決定される。同様に、工程３に関して生成された動作経路２−３がサブジョブ３プログラム（図２２参照）に関連付けて作業プログラム領域５ｆに記憶される。そして、動作経路２−３によりサブジョブ３プログラムの位置・座標情報（Ｃｏｏｒｄ、Ｐ１、Ｐ２）が決定される。
【００７６】
工程３に関する動作経路２−３が生成されると、動作制御プログラム生成部２６は、動作経路０−１、動作経路１−２、及び動作経路２−３がそれぞれ関連付けられた、サブジョブ１プログラム、サブジョブ２プログラム及びサブジョブ３プログラムに基づき、作業Ａに対応する動作制御プログラムを生成する（Ｓ２１９）。図３４には動作制御プログラムの一例を示している。動作制御プログラム生成部２６は、生成した作業Ａに対応する動作制御プログラムを動作制御プログラム領域５ｊに記憶する。
【００７７】
ロボット３０Ａは、ロボット制御装置１で生成された動作制御プログラムに基づき、作業Ａに応じた動作を実行する。
【００７８】
本実施形態に係るロボット制御装置１のパスプランニングによれば、動作経路を容易に作成することができるとともに、管理者は動作経路の生成過程（状況）を把握（視認）することができる。
【００７９】
ここで、制御部１０４は、さらに尤度算出部２７（図２３参照）を含んでいてもよい。尤度算出部２７は、位置取得部２２により取得された位置情報に基づいて、誤差尤度σを算出する。誤差尤度σは、ロボット３０を設置した際にロボット３０と作業台との位置関係の誤差の許容値に相当し、キャリブレーションにおける作業座標系の判定指標となる。キャリブレーションでは、ロボット３０Ａ，３０Ｂ，３０Ｃの設置位置に対する作業台の実際の相対位置が計測される。具体的には、キャリブレーションでは、ロボット３０Ａを設置した後、位置測定データ（ロボット３０Ａに対する作業台の設計上の相対位置）により示される相対位置にロボット３０Ａのアーム先端を移動させ、さらにアーム先端に設けられたカメラや接触センサの出力を頼りに、作業台の特徴箇所にアーム先端を一致させる。また、この際のアームの各関節の状態に基づいて、作業台の特徴箇所の相対位置を演算する。これが作業台の実際の（設計上のものとは必ずしも一致しない）相対位置となる。上記キャリブレーションおいて、例えばロボット３０と作業台との位置関係の誤差が誤差尤度σを超える場合は、再度上記パスプランニングを実行してもよい。このようにキャリブレーションにおいて誤差尤度σを用いることにより、作業座標系を作成する作業効率を高めることができる。
【００８０】
［ロボットシステムの具体例］
ここで、本実施形態に係るロボット制御装置１を含むロボットシステムの具体例を以下に示す。
【００８１】
図３５は、ロボットシステム１０の具体的な全体構成図である。同図に示すロボットシステム１０は、例えば自動車などの輸送機械、テレビ受像機などの電気機器の製造現場に設置されるものである。この製造現場には、ベルトコンベアやローラコンベアなどの搬送装置３６が設置されており、該搬送装置３６により、ロボットの作業スペースである作業台３８に載置された未完成の自動車やテレビ受像機などの作業対象物３４が一方向に搬送されている。搬送装置３６の側には産業用多関節ロボット３０Ａ，３０Ｂ，３０Ｃが、上流側から下流側に向かって順に離間して配置されており、これらのロボット３０Ａ，３０Ｂ，３０Ｃはそれぞれ、部品の取り付けなどの事前に定められた作業を作業対象物３４に対して施す。
【００８２】
ロボット３０Ａ，３０Ｂ，３０Ｃには、それらを制御するコンピュータであるロボットコントローラ２０Ａ，２０Ｂ，２０Ｃがそれぞれ接続されており、ロボットコントローラ２０Ａ，２０Ｂ，２０Ｃには、それぞれネットワーク装置１８Ａ，１８Ｂ，１８Ｃが接続されている。ネットワーク装置１８Ａ，１８Ｂ，１８Ｃは、いずれもロボットネットワーク４０に接続されている。このロボットネットワーク４０には、ロボットコントローラ２０Ａ，２０Ｂ，２０Ｃの動作を支援・管理するロボット管理コンピュータ１００も接続されており、ロボットコントローラ２０Ａ，２０Ｂ，２０Ｃは、それぞれネットワーク装置１８Ａ，１８Ｂ，１８Ｃ及びロボットネットワーク４０を介して、ロボット管理コンピュータ１００と通信することができる。ここで、ネットワーク装置１８Ａ，１８Ｂ，１８Ｃ及びロボット管理コンピュータ１００は、ロボットネットワーク４０におけるアドレスその他のネットワーク識別子をそれぞれ記憶しており、ネットワーク識別子を用いて送信元及び送信先を互いに特定している。上記ロボット管理コンピュータ１００は、本実施形態に係るロボット制御装置１とすることができる。
【００８３】
搬送装置３６は、作業台３８をロボット３０Ａ，３０Ｂ，３０Ｃの設置位置の側にて停止させ、ロボット３０Ａ，３０Ｂ，３０Ｃによる作業が終了すると、それぞれの作業台３８を下流側のロボットの設置位置の側まで移動させる。なお、ロボット３０Ａ，３０Ｂ，３０Ｃにより作業が終了した旨は、それぞれロボットコントローラ２０Ａ，２０Ｂ，２０Ｃから搬送装置３６に通知されてよい。
【００８４】
搬送装置３６を挟んでロボット３０Ａ，３０Ｂ，３０Ｃの設置位置の反対側には、作業対象物ＩＤリーダ３２Ａ，３２Ｂ，３２Ｃがそれぞれ配置されている。作業対象物３４又はそれが載置される作業台３８には、作業対象物３４のＩＤ（識別情報）が、例えば１次元又は２次元バーコードなどの機械読み取りが可能な形態で付加されている。作業対象物３４のＩＤは、例えば作業対象物３４の最終的な又は暫定的なシリアル番号やロット番号であってよい。バーコードリーダーなどの作業対象物ＩＤリーダ３２Ａ，３２Ｂ，３２Ｃは、作業対象物３４又は作業台３８に付加されたＩＤを読み取り、それを、生産管理ネットワーク４２を介して生産管理コンピュータ２００に通知する。すなわち、作業対象物ＩＤリーダ３２Ａ，３２Ｂ，３２Ｃ及び生産管理コンピュータ２００は生産管理ネットワーク４２に接続されている。さらに、上述のロボット管理コンピュータ１００（ロボット制御装置１）も生産管理ネットワーク４２に接続されており、ロボット管理コンピュータ１００と生産管理コンピュータ２００とは通信可能となっている。
【００８５】
また、ロボットシステム１０では、例えばロボット３０Ａの導入時やロボット３０Ａの配置換えの時に、ロボット３０Ａを所期の設置位置に配置し、ロボットコントローラ２０Ａをネットワーク装置１８Ａに接続すると、ロボット管理コンピュータ１００（ロボット制御装置１）がロボットコントローラ２０Ａで実行すべき動作制御プログラム（図３４参照）を該ロボットコントローラ２０Ａに送信する。ロボットコントローラ２０Ａは、ロボット制御装置１から送信される動作制御プログラムを実行する。動作制御プログラムは、ロボット３０Ａのアーム先端に備えられたカメラや接触センサの出力、或いはタイマの出力に従って、どのような動きをロボット３０Ａのアーム各所に備えられたアクチュエータにさせるかが記述されている。この動作制御プログラムを実行することにより、ロボットコントローラ２０Ａから制御命令がロボット３０Ａに順次送信され、これによりロボット３０Ａの動作（例えば上記作業Ａの動作）が制御される。これによりロボットコントローラ２０Ａはロボット３０Ａに所期の動作を確実に行わせることができる。ロボット３０Ｂ，３０Ｃについても同様である。産業用多関節ロボット３０Ａ，３０Ｂ，３０Ｃは動作制御プログラムの変更により、様々な作業を担うことができるため、ロボット３０Ａ，３０Ｂ，３０Ｃは、ある日は、製造現場のある場所である作業を行い、別の日は製造現場の別の場所で別の作業を行う、という使い方が可能である。本実施形態によれば、ロボット３０Ａ，３０Ｂ，３０Ｃの設置位置に応じて適切な動作制御プログラムをロボットコントローラ２０Ａ，２０Ｂ，２０Ｃに供給できるので、こうした使い方を促進できる。
【００８６】
なお、ロボットコントローラ２０Ａ，２０Ｂ，２０Ｃのそれぞれが、本実施形態に係るロボット制御装置１であってもよい。
【符号の説明】
【００８７】
１  ロボット制御装置、１０  ロボットシステム、３０Ａ，３０Ｂ，３０Ｃ  ロボット、１０２  記憶部、１０４  制御部、１０６  通信部、１０７  表示部、５ａ  作業データ領域（作業テーブル）、５ｂ  テンプレートデータ領域、５ｃ  ＣＡＤデータ領域（ＣＡＤデータテーブル）、５ｄ  スキルデータ領域（作業パラメータテーブル）、５ｅ  ロボットデータ領域（ロボットデータテーブル）、５ｆ  作業プログラム領域、５ｇ  設定画面データ領域、５ｈ  部品データ領域、５ｉ  位置データ領域、５ｊ  動作制御プログラム領域、１１  操作受付部、１２  作業取得部、１３  作業工程取得部、１４  部品情報取得部、１５  工具情報取得部、１６  パラメータ取得部、１７  ロボット情報取得部、１８  作業プログラム生成部、１９  表示制御部、２１  プログラム取得部、２２  位置取得部、２３  動作判定部、２４  経路生成部、２５  位置調整部、２６  動作制御プログラム生成部、２７  尤度算出部、１９ａ  設定画面表示部、１９ｂ  部品欄設定部、１９ｃ  工具欄設定部、１９ｄ  環境モデル欄設定部、１９ｅ  パラメータ設定部、１９ｆ  半製品欄設定部、１９ｇ  作業工程欄設定部、１９ｈ  作業シーケンス欄設定部、１９ｉ  作業シーケンス欄設定部、１９ｊ  ログ欄設定部、１９ｋ  環境モデル欄設定部。
【図１】
0005939213.tif 000002
【図２】
0005939213.tif 000003
【図３】
0005939213.tif 000004
【図４】
0005939213.tif 000005
【図５】
0005939213.tif 000006
【図６】
0005939213.tif 000007
【図７】
0005939213.tif 000008
【図８】
0005939213.tif 000009
【図９】
0005939213.tif 000010
【図１０】
0005939213.tif 000011
【図１１】
0005939213.tif 000012
【図１２】
0005939213.tif 000013
【図１３】
0005939213.tif 000014
【図１４】
0005939213.tif 000015
【図１５】
0005939213.tif 000016
【図１６】
0005939213.tif 000017
【図１７】
0005939213.tif 000018
【図１８】
0005939213.tif 000019
【図１９】
0005939213.tif 000020
【図２０】
0005939213.tif 000021
【図２１】
0005939213.tif 000022
【図２２】
0005939213.tif 000023
【図２３】
0005939213.tif 000024
【図２４】
0005939213.tif 000025
【図２５】
0005939213.tif 000026
【図２６】
0005939213.tif 000027
【図２７】
0005939213.tif 000028
【図２８】
0005939213.tif 000029
【図２９】
0005939213.tif 000030
【図３０】
0005939213.tif 000031
【図３１】
0005939213.tif 000032
【図３２】
0005939213.tif 000033
【図３３】
0005939213.tif 000034
【図３４】
0005939213.tif 000035
【図３５】
0005939213.tif 000036