(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-05-19
(45)【発行日】2025-05-27
(54)【発明の名称】計算機システム及びロボットの制御方法
(51)【国際特許分類】
B25J 13/00 20060101AFI20250520BHJP
B25J 9/10 20060101ALI20250520BHJP
【FI】
B25J13/00 Z
B25J9/10 A
(21)【出願番号】P 2021176416
(22)【出願日】2021-10-28
【審査請求日】2024-03-06
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】西 佳一郎
(72)【発明者】
【氏名】中須 信昭
【審査官】稲垣 浩司
(56)【参考文献】
【文献】特開2019-166626(JP,A)
【文献】特開2020-179466(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
物体の把持及び物体の移動を含む作業を行うロボットを制御する計算機システムであって、
演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有する計算機を複数含み、
作業ごとの、前記ロボットの作業において、前記物体を把持して移動させる場合の軌道に関する軌道データを管理するための軌道情報を保持し、
前記軌道データは、前記軌道上に等間隔に設定された、複数の経由点の位置情報を含み、
前記計算機システムは、前記軌道の一部である部分経路の曲がりの大きさを表す指標と、パラメータとから、前記部分経路に追加する経由点の追加数を算出するアルゴリズムを有し、
前記アルゴリズムは、曲がりの大きい前記部分経路の前記追加数を多く算出するアルゴリズムであって、
少なくとも一つの前記計算機は、
第1作業を実行する前記ロボットを制御する場合、前記第1作業の前記軌道データによって定義される前記軌道の形状を解析し、
前記解析の結果に基づいて、前記部分経路の前記指標を算出し、
前記指標に基づいて、前記追加数を算出し、
前記部分経路に、前記追加数だけ経由点を追加することによって前記軌道データを更新し、
更新された前記軌道データを用いて、前記第1作業を実行する前記ロボットを制御
し、
前記軌道データは、前記複数の経由点の各々における前記ロボットの姿勢の情報を含み、
前記第1作業の前記軌道データによって定義される前記軌道には、第1経由点が含まれ、
少なくとも一つの前記計算機は、更新された前記軌道データを用いた前記第1作業を実行する前記ロボットの制御において、
現在の前記ロボットの姿勢と、一つの前記経由点の前記ロボットの姿勢とに基づいて、前記ロボットの制御内容を決定し、前記制御内容を含む制御情報を前記ロボットに送信し、
更新された前記軌道データを用いた前記ロボットの制御中に、前記ロボットが前記第1経由点に到達したとき、前記第1経由点における実際の前記ロボットの姿勢と、更新された前記軌道データにおいて定義された前記第1経由点の前記ロボットの姿勢とに基づいて、想定以上の慣性力が発生している場合には前記軌道の変化が小さくなるように、前記第1経由点より後の前記経由点の位置を更新することを特徴とする計算機システム。
【請求項2】
請求項1に記載の計算機システムであって、
少なくとも一つの前記計算機は、
任意の値の前記パラメータを用いて、前記追加数のパターンを生成し、
複数の前記追加数のパターンをユーザに提示し、
前記ユーザが指定した前記追加数のパターンを用いて、前記軌道データを更新することを特徴とする計算機システム。
【請求項3】
請求項1に記載の計算機システムであって、
少なくとも一つの前記計算機は、
前記第1経由点における実際の前記ロボットの姿勢と、更新された前記軌道データにおいて定義された前記第1経由点の前記ロボットの姿勢との間のズレ量を算出し、
前記ズレ量に基づいて、位置を更新する前記第1経由点より後の前記経由点の数を決定することを特徴とする計算機システム。
【請求項4】
請求項1に記載の計算機システムであって、
前記ロボットは、複数の関節を含み、
前記ロボットの姿勢の情報は、前記複数の関節の目標値であって、
前記作業の実行履歴を管理するための作業履歴情報を保持し、
前記作業の実行履歴は、前記軌道データにおいて定義された前記複数の関節の前記目標値からのズレ量を含み、
少なくとも一つの前記計算機は、
複数の前記作業の実行履歴を取得し、
前記複数の作業の実行履歴を用いて、前記複数の関節について、時間経過と前記ズレ量との間の相関の有無を解析し、
前記相関の解析の結果に基づいて、前記複数の関節の各々の相関の有無を示す値から構成される特徴量を生成し、
前記特徴量を用いたクラスタリングを実行し、
前記クラスタリングによって生成されたクラスタに共通する項目を特定し、
前記共通する項目から、前記ロボットに関する保守作業の指示を生成し、ユーザに提示することを特徴とする計算機システム。
【請求項5】
請求項4に記載の計算機システムであって、
少なくとも一つの前記計算機は、前記クラスタに含まれる特徴量に対応する前記作業の履歴の内容、及び前記特徴量を解析することによって、前記共通する項目を特定することを特徴とする計算機システム。
【請求項6】
計算機システムが実行する、物体の把持及び物体の移動を含む作業を行うロボットの制御方法であって、
前記計算機システムは、
演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有する計算機を複数含み、
作業ごとの、前記ロボットの作業において、前記物体を把持して移動させる場合の軌道に関する軌道データを管理するための軌道情報を保持し、
前記軌道データは、前記軌道上に等間隔に設定された、複数の経由点の位置情報を含み、
前記計算機システムは、前記軌道の一部である部分経路の曲がりの大きさを表す指標と、パラメータとから、前記部分経路に追加する経由点の追加数を算出するアルゴリズムを有し、
前記アルゴリズムは、曲がりの大きい前記部分経路の前記追加数を多く算出するアルゴリズムであって、
前記ロボットの制御方法は、
少なくとも一つの前記計算機が、第1作業を実行する前記ロボットを制御する場合、前記第1作業の前記軌道データによって定義される前記軌道の形状を解析する第1のステップと、
少なくとも一つの前記計算機が、前記解析の結果に基づいて、前記部分経路に所定の数の経由点を追加することによって前記軌道データを更新する第2のステップと、
少なくとも一つの前記計算機が、更新された前記軌道データを用いて、前記第1作業を実行する前記ロボットを制御する第3のステップと、を含み、
前記第2のステップは、
少なくとも一つの前記計算機が、前記部分経路の前記指標を算出するステップと、
少なくとも一つの前記計算機が、前記指標に基づいて、追加数を算出するステップと、
少なくとも一つの前記計算機が、前記部分経路に、前記追加数だけ経由点を追加するステップと、を含み、
前記軌道データは、前記複数の経由点の各々における前記ロボットの姿勢の情報を含み、
前記第1作業の前記軌道データによって定義される前記軌道には、第1経由点が含まれ、
前記第3のステップは、
少なくとも一つの前記計算機が、現在の前記ロボットの姿勢と、一つの前記経由点の前記ロボットの姿勢とに基づいて、前記ロボットの制御内容を決定し、前記制御内容を含む制御情報を前記ロボットに送信する第4のステップと、
少なくとも一つの前記計算機が、更新された前記軌道データを用いた前記ロボットの制御中に、前記ロボットが前記第1経由点に到達したとき、前記第1経由点における実際の前記ロボットの姿勢と、更新された前記軌道データにおいて定義された前記第1経由点の前記ロボットの姿勢とに基づいて、想定以上の慣性力が発生している場合には前記軌道の変化が小さくなるように、前記第1経由点より後の前記経由点の位置を更新する第5のステップと、を含むことを特徴とするロボットの制御方法。
【請求項7】
請求項6に記載のロボットの制御方法であって、
前記第2のステップは、
少なくとも一つの前記計算機が、任意の値の前記パラメータを用いて、前記追加数のパターンを生成するステップと、
少なくとも一つの前記計算機が、複数の前記追加数のパターンをユーザに提示するステップと、
少なくとも一つの前記計算機が、前記ユーザが指定した前記追加数のパターンを用いて、前記軌道データを更新するステップと、を含むことを特徴とするロボットの制御方法。
【請求項8】
請求項6に記載のロボットの制御方法であって、
前記第5のステップは、
少なくとも一つの前記計算機が、前記第1経由点における実際の前記ロボットの姿勢と、更新された前記軌道データにおいて定義された前記第1経由点の前記ロボットの姿勢との間のズレ量を算出するステップと、
少なくとも一つの前記計算機が、前記ズレ量に基づいて、位置を更新する前記第1経由点より後の前記経由点の数を決定するステップと、を含むことを特徴とするロボットの制御方法。
【請求項9】
請求項6に記載のロボットの制御方法であって、
前記ロボットは、複数の関節を含み、
前記ロボットの姿勢の情報は、前記複数の関節の目標値であって、
前記作業の実行履歴を管理するための作業履歴情報を保持し、
前記作業の実行履歴は、前記軌道データにおいて定義された前記複数の関節の前記目標値からのズレ量を含み、
前記ロボットの制御方法は、
少なくとも一つの前記計算機が、複数の前記作業の実行履歴を取得する第6のステップと、
少なくとも一つの前記計算機が、前記複数の作業の実行履歴を用いて、前記複数の関節について、時間経過と前記ズレ量との間の相関の有無を解析する第7のステップと、
少なくとも一つの前記計算機が、前記相関の解析の結果に基づいて、前記複数の関節の各々の相関の有無を示す値から構成される特徴量を生成する第8のステップと、
少なくとも一つの前記計算機が、前記特徴量を用いたクラスタリングを実行する第9のステップと、
少なくとも一つの前記計算機が、前記クラスタリングによって生成されたクラスタに共通する項目を特定する第10のステップと、
少なくとも一つの前記計算機が、前記共通する項目から、前記ロボットに関する保守作業の指示を生成し、ユーザに提示する第11のステップと、を含むことを特徴とするロボットの制御方法。
【請求項10】
請求項9に記載のロボットの制御方法であって、
前記第10のステップは、少なくとも一つの前記計算機が、前記クラスタに含まれる特徴量に対応する前記作業の履歴の内容、及び前記特徴量を解析することによって、前記共通する項目を特定するステップを含むことを特徴とするロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体の把持及び物体の移動を含む作業を行うロボットの制御技術に関する。
【背景技術】
【0002】
本技術分野の背景技術として、特許文献1に記載の技術が知られている。特許文献1には、「制御装置1が備える機械学習装置100は、ロボット2の軌跡データに対する該ロボット2が備える軸に対して指令するべき指令データの推定を学習する機械学習装置100であって、軌跡データからロボット2が備える軸の軸角度の変化量を算出する軸角度変換部105と、ロボット2が備える軸の軸角度の変化量に係る軸角度データを、環境の現在状態を表す状態変数として観測する状態観測部106と、ロボット2が備える軸に対する指令データに係る軸角度指令データを、ラベルデータとして取得するラベルデータ取得部108と、状態変数とラベルデータとを用いて、ロボット2が備える軸の軸角度の変化量と、該軸に対する指令データとを関連付けて学習する学習部110と、を備える。」ことが記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来技術では、軌道におけるロボットの制御では、軌道に含まれる経由点を基準にロボットが制御される。通常、軌道に含まれる経由点は等間隔で配置される。そのため、曲率が大きい経路を含む軌道の場合、経路の変化に対して制御の粒度が粗いため滑らかな制御が困難という課題がある。特許文献1に記載の方法を用いても、滑らかなロボットの制御を実現することが難しい。
【0005】
本発明は、滑らかなロボットの制御を実現することを目的とする。
【課題を解決するための手段】
【0006】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、物体の把持及び物体の移動を含む作業を行うロボットを制御する計算機システムであって、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有する計算機を複数含み、作業ごとの、前記ロボットの作業において、前記物体を把持して移動させる場合の軌道に関する軌道データを管理するための軌道情報を保持し、前記軌道データは、前記軌道上に等間隔に設定された、複数の経由点の位置情報を含み、前記計算機システムは、前記軌道の一部である部分経路の曲がりの大きさを表す指標と、パラメータとから、前記部分経路に追加する経由点の追加数を算出するアルゴリズムを有し、前記アルゴリズムは、曲がりの大きい前記部分経路の前記追加数を多く算出するアルゴリズムであって、少なくとも一つの前記計算機は、第1作業を実行する前記ロボットを制御する場合、前記第1作業の前記軌道データによって定義される前記軌道の形状を解析し、前記解析の結果に基づいて、前記部分経路の前記指標を算出し、前記指標に基づいて、前記追加数を算出し、前記部分経路に、前記追加数だけ経由点を追加することによって前記軌道データを更新し、更新された前記軌道データを用いて、前記第1作業を実行する前記ロボットを制御し、前記軌道データは、前記複数の経由点の各々における前記ロボットの姿勢の情報を含み、前記第1作業の前記軌道データによって定義される前記軌道には、第1経由点が含まれ、少なくとも一つの前記計算機は、更新された前記軌道データを用いた前記第1作業を実行する前記ロボットの制御において、現在の前記ロボットの姿勢と、一つの前記経由点の前記ロボットの姿勢とに基づいて、前記ロボットの制御内容を決定し、前記制御内容を含む制御情報を前記ロボットに送信し、更新された前記軌道データを用いた前記ロボットの制御中に、前記ロボットが前記第1経由点に到達したとき、前記第1経由点における実際の前記ロボットの姿勢と、更新された前記軌道データにおいて定義された前記第1経由点の前記ロボットの姿勢とに基づいて、想定以上の慣性力が発生している場合には前記軌道の変化が小さくなるように、前記第1経由点より後の前記経由点の位置を更新する。
【発明の効果】
【0007】
本発明によれば、経由点を追加することによって、滑らかなロボットの制御を実現できる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0008】
【
図1】実施例1のシステムの構成例を示す図である。
【
図2】実施例1の設備構成情報のデータ構造の一例を示す図である。
【
図3】実施例1の作業情報のデータ構造の一例を示す図である。
【
図4】実施例1の軌道情報のデータ構造の一例を示す図である。
【
図5】実施例1の軌道解析情報のデータ構造の一例を示す図である。
【
図6】実施例1の作業履歴情報のデータ構造の一例を示す図である。
【
図7】実施例1の相関解析情報のデータ構造の一例を示す図である。
【
図8】実施例1の計算機が実行する作業制御処理の一例を説明するフローチャートである。
【
図9】実施例1の計算機が表示する画面の一例を示す図である。
【
図10A】実施例1の計算機による軌道の更新方法の一例を示す図である。
【
図10B】実施例1の計算機による軌道の更新方法の一例を示す図である。
【
図10C】実施例1の計算機による軌道の更新方法の一例を示す図である。
【
図11】実施例2の計算機が実行する保守指令情報生成処理の一例を説明するフローチャートである。
【
図12】実施例2の計算機が表示する画面の一例を示す図である。
【
図13】日時と関節の角度のズレ量との間の相関関係の一例を示す図である。
【
図14】実施例2の計算機によるクラスタリングの結果の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【0010】
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
【0011】
本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。
【0012】
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
【実施例1】
【0013】
図1は、実施例1のシステムの構成例を示す図である。
【0014】
システムは、ロボット100及び計算機101から構成される。ロボット100及び計算機101は、直接又はネットワークを介して接続される。
【0015】
ロボット100は、計算機101から出力される制御情報に基づいて、物体(ワーク)の把持、及び始点から終点まで移動を含む作業を行う。ロボット100は、作業装置群110、コントローラ111、及び計測装置112を備える。
【0016】
作業装置群110は、物体の把持及び物体の移動を実現する装置群であり、例えば、ツール、リンク、及び駆動モータ等である。
【0017】
コントローラ111は、計算機101から受信した制御情報に基づいて作業装置群110を制御する。例えば、コントローラ111は、制御情報にしたがって、関節として機能する、リンク間を接続する駆動モータを駆動することによって、ツールを移動させる。コントローラ111は、関節の角度、角速度、角加速度、並びに、駆動モータのトルク及び電流値等を含む稼働状態情報を計算機101に出力する。
【0018】
計測装置112は、ロボット100の作業による物体の状態を把握するための値を計測する。計測装置112から出力される値を作業状態情報とも記載する。計測装置112は、例えば、加速度センサ、力覚センサ、カメラ、接触センサ、及び電流センサ等である。なお、ロボット100は、計測対象ごとに、種別が異なる複数の計測装置112を備えてもよい。なお、本発明は、計測装置112の設置位置及び設置数に限定されない。
【0019】
なお、ロボット100は、稼働状態情報及び作業状態情報を一つの情報にまとめて送信してもよい。
【0020】
計算機101は、ロボット100のツールの移動経路である軌道の情報(軌道情報)を生成し、また、軌道情報、稼働状態情報、及び作業状態情報に基づいて、制御情報を生成する。制御情報は、例えば、以下のような指令値を含む。
(1)制御軸の次の目標角度、角速度、及び角加速度
(2)駆動モータのトルク、及び駆動電流
(3)物体の目標座標、移動速度、及び加速度
【0021】
計算機101は、演算装置120、記憶装置121、通信装置122、入力装置123、及び出力装置124を備える。各ハードウェア要素は内部バスを介して接続される。
【0022】
記憶装置121は、演算装置120が実行するプログラム及び情報を格納する装置であり、例えば、メモリ等である。記憶装置121は、設備構成情報140、作業情報141、軌道情報142、軌道解析情報143、作業履歴情報144、相関解析情報145、及び保守指示情報146を格納する。また、記憶装置121はワークエリアとしても使用される。
【0023】
設備構成情報140は、ロボット100が作業を行う設備及びロボット100の構成に関する情報である。例えば、設備の形状及び配置、ロボットの形状、関節の可動範囲及び限界速度、並びに関節の配置等が設備構成情報140に格納される。設備構成情報140のデータ構造については
図2を用いて説明する。
【0024】
作業情報141は、作業に関する情報である。作業情報141のデータ構造については
図3を用いて説明する。
【0025】
軌道情報142は、ロボット100のツールの移動経路である軌道に関する情報である。軌道情報142のデータ構造については
図4を用いて説明する。
【0026】
軌道解析情報143は、軌道の解析処理において生成される情報である。軌道解析情報143のデータ構造については
図5を用いて説明する。
【0027】
作業履歴情報144は、実行した作業に関する情報である。作業履歴情報144のデータ構造については
図6を用いて説明する。
【0028】
相関解析情報145は、相関解析処理において生成される情報である。相関解析情報145のデータ構造については
図7を用いて説明する。
【0029】
保守指示情報146は、ユーザに提示する保守指示に関する情報である。
【0030】
演算装置120は、計算機101全体を制御する装置であり、例えば、プロセッサ等である。演算装置120は記憶装置121に格納されるプログラムを実行する。演算装置120がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部(モジュール)として動作する。以下の説明では、機能部を主語に処理を説明する場合、演算装置120が当該機能部を実現するプログラムを実行していることを示す。本実施例の演算装置120は、軌道情報生成部130、経由点決定部131、制御情報生成部132、軌道更新部133、作業履歴解析部134、及び保守指示情報生成部135として機能する。
【0031】
軌道情報生成部130は、作業内容及び設備構成情報140に基づいて軌道を決定し、決定された軌道のデータ(軌道データ)を生成する。軌道情報生成部130は、生成された軌道データを軌道情報142に格納する。
【0032】
経由点決定部131は、作業におけるロボット100のツールの軌道を解析し、解析結果に基づいて、新たに追加する経由点を決定する。また、経由点決定部131は、軌道に決定された数だけ経由点を追加し、軌道を更新する。
【0033】
制御情報生成部132は、軌道データ、稼働状態情報、及び作業状態情報に基づいて制御情報を生成することによって、作業を行うロボット100を制御する。
【0034】
軌道更新部133は、軌道データ及び作業状態情報に基づいて軌道を更新する。
【0035】
作業履歴解析部134は、作業履歴を解析することによって、時間経過に伴って目標値からのズレ量が増加しているロボット100の関節を特定する。また、作業履歴解析部134は、処理の結果に基づいて、作業履歴のクラスタリングを行う。
【0036】
保守指示情報生成部135は、作業履歴解析部134によるクラスタリングの結果に基づいて、ユーザに提示する保守指示の内容を示す保守指示情報146を生成する。
【0037】
なお、計算機101が有する各機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。
【0038】
通信装置122は、外部装置と通信するための装置であり、例えば、NIC(Network Interface Card)である。
【0039】
入力装置123は、計算機101にデータ及びコマンド等を入力するための装置であり、例えば、キーボード、マウス、及びタッチパネル等である。
【0040】
出力装置124は、計算機101の演算結果等を出力するための装置であり、例えば、ディスプレイ、プロジェクタ、及びプリンタ等である。
【0041】
図2は、実施例1の設備構成情報140のデータ構造の一例を示す図である。
【0042】
設備構成情報140は、ID201、分類202、項目203、及び内容204を含むエントリを格納する。
【0043】
ID201は、エントリの識別情報を格納するフィールドである。分類202は、設備を構成する要素の分類を格納するフィールドである。項目203は、要素の管理項目を格納するフィールドである。内容204は、管理項目の内容を格納するフィールドである。内容204には、ファイル、数値、及び文字列等が格納される。
【0044】
リンクについては、リンクの形状が管理される。リンク間を結合する関節(Joint)については、結合するリンク、関節のタイプ、及び関節の動きの制約が管理される。なお、関節については、関節のタイプに応じて関節の動きの制約として管理する項目が異なる。
【0045】
図3は、実施例1の作業情報141のデータ構造の一例を示す図である。
【0046】
作業情報141は、作業名301、始点座標302、終点座標303、ツール304、及び部品305を含むエントリを格納する。
【0047】
作業名301は、作業の名称を格納するフィールドである。始点座標302は、作業における動作開始時のロボット100のツールの位置を示す座標を格納するフィールドである。終点座標303は、作業における動作終了時のロボット100のツールの位置を示す座標を格納するフィールドである。ツール304は、作業において使用するツールの識別情報を格納するフィールドである。部品305は、作業において使用する部品の識別情報を格納するフィールドである。
【0048】
図4は、実施例1の軌道情報142のデータ構造の一例を示す図である。
【0049】
軌道情報142は、作業ごとに、ツールの軌道を示すテーブル400を格納する。一つのテーブル400が一つの軌道データに対応する。
【0050】
テーブル400は、経由点401、位置402、姿勢403、姿勢404、及びTime405を含むエントリを格納する。
【0051】
経由点401は、軌道上の経由点の識別情報を格納するフィールドである。位置402は、経由点の位置、すなわち、ツールの座標を示す値を格納するフィールド群である。位置402の各フィールドにはデカルト座標系の値が格納される。姿勢403は、経由点におけるツールの姿勢を示す値(目標値)を格納するフィールド群である。姿勢403の各フィールドには、四元数(quaternion)で定義された値が格納される。姿勢404は、経由点における各関節の姿勢を示す値(目標値)を格納するフィールド群である。姿勢404の各フィールドには関節の角度が格納される。Time405は、始点から移動を開始したツールが経由点に到達する時間を格納するフィールドである。
【0052】
図5は、実施例1の軌道解析情報143のデータ構造の一例を示す図である。
【0053】
軌道解析情報143は、作業ごとに、軌道の解析結果を示すテーブル500を格納する。
【0054】
テーブル500は、経由点501、角度502、及び経由点追加数503を含むエントリを格納する。
【0055】
経由点501は、経由点401と同一のフィールドである。角度502は、エントリに対応する経由点と、一つ前の経由点とを結ぶ経路の曲がりの程度を示す指標(経路変化指標)の値を格納するフィールドである。経路変化指標としては、角度及び曲率等が考えられる。本実施例では経路変化指標として角度を用いている。経由点追加数503は、エントリに対応する経由点の前後に追加する経由点の数を格納するフィールド群である。本実施例では、経由点の数を調整するパラメータαの値ごとにフィールドが存在する。
【0056】
図6は、実施例1の作業履歴情報144のデータ構造の一例を示す図である。
【0057】
作業履歴情報144は、日時601、作業名602、及びズレ量603を含むエントリを格納する。実行された作業に対して一つのエントリが存在する。
【0058】
日時601は、作業が行われた日時を格納するフィールドである。作業名602は作業名301と同一のフィールドである。ズレ量603は、作業において、軌道データに対応する軌道からの変化量、すなわち、各関節の目標角度からのズレ量を格納するフィールドである。
【0059】
図7は、実施例1の相関解析情報145のデータ構造の一例を示す図である。
【0060】
相関解析情報145は、作業名701及び相関702を含むエントリを格納する。一つの作業について一つのエントリが存在する。
【0061】
作業名701は作業名301と同一のフィールドである。相関702は、時間の経過と、関節の目標角度からのズレ量との間の相関の有無を示す値を格納するフィールド群である。相関702には、関節の数だけフィールドを含む。時間の経過と、関節の目標角度からのズレ量との間に相関がある場合、フィールドには「1」が格納され、相関がない場合、フィールドには「0」が格納される。
【0062】
次に、計算機101が実行する処理について説明する。実施例1では、軌道に新たに経由点を追加することによって軌道を更新する処理と、制御中に軌道を更新する処理とについて説明する。作業履歴の解析に基づいて保守指示情報146を生成する処理については実施例2で説明する。
【0063】
軌道情報生成部130は、ユーザから作業に関する情報を受け付けた場合、設備構成情報140及び作業情報141に基づいて軌道データを生成し、軌道情報142に軌道データを格納する。受け付ける情報には、作業の名称、始点座標、終点座標、ツールの種別、部品の種別、及び使用する設備の種別等が含まれる。
【0064】
例えば、軌道情報生成部130は、始点座標及び設備構成情報140に基づいて、作業開始時点において、障害物にロボット100が衝突しない初期姿勢を決定し、終点座標及び設備構成情報140に基づいて、作業の終了時点において、障害物にロボット100が衝突しない最終姿勢を決定する。軌道情報生成部130は、初期姿勢、最終姿勢、及び設備構成情報140に基づいて、作業中に、障害物にロボットが衝突しない軌道を生成する。軌道の生成方法としては、RRT(Rapidly-exploring Random Tree)等の公知の方法を用いればよい。
【0065】
図8は、実施例1の計算機101が実行する作業制御処理の一例を説明するフローチャートである。
図9は、実施例1の計算機101が表示する画面の一例を示す図である。
図10A、
図10B、及び
図10Cは、実施例1の計算機101による軌道の更新方法の一例を示す図である。
【0066】
計算機101の経由点決定部131は、
図9に示すような画面900を提示し、ユーザ入力を受け付ける(ステップS101)。
【0067】
画面900は、表示欄901、入力欄902、904、読込ボタン903、905、パターン表示欄906、解析ボタン907、及び実行ボタン908を含む。
【0068】
表示欄901は、作業中のロボットの軌道等を表示する欄である。入力欄902は、作業に使用する設備を入力する欄である。読込ボタン903が操作された場合、設備構成情報140から入力欄902に入力された設備に関する値が読み出される。入力欄904は、作業の名称を入力する欄である。読込ボタン905が操作された場合、作業に対応する軌道データが読み出される。
【0069】
パターン表示欄906は、軌道の解析結果に基づいて生成される軌道更新パターンを表示する欄である。軌道更新パターンは、ID911、経由点追加数912、及び選択913を含むエントリとして表示される。ID911は、軌道更新パターンの識別情報を格納するフィールドである。経由点追加数912は、経由点の前後に追加する経由点の数を格納するフィールド群である。選択913は、軌道更新パターンを採用するか否かを示すフラグを格納するフィールドである。ユーザは、パターン表示欄906を参照し、採用する軌道更新パターンのエントリの選択913を操作する。
【0070】
解析ボタン907は、軌道の解析を指示するための操作ボタンである。ユーザは、入力欄902、904及び読込ボタン903、905を操作し、その後、解析ボタン907を操作する。表示欄901には、設備構成情報140から取得した情報及び軌道データに基づいて、ロボット100及び軌道が表示される。なお、この時点では、パターン表示欄906は空欄である。
【0071】
実行ボタン908は、作業の開始を指示するための操作ボタンである。ユーザは、パターン表示欄906に表示された軌道更新パターンの中から一つの軌道更新パターンを選択し、実行ボタン908を操作する。表示欄901には、軌道更新パターンに基づいて更新された軌道、及び作業中に更新された軌道が、作業の実行状態とともに表示される。
【0072】
計算機101の経由点決定部131は、解析ボタン907が操作された場合、画面900を介して入力された設備の情報及び軌道データを取得する(ステップS102)。
【0073】
計算機101の経由点決定部131は、軌道データに基づいて、経由点間の経路変化指標を算出する(ステップS103)。ここで、経路変化指標の算出方法の一例を説明する。
【0074】
(S103-1)経由点決定部131は、空のテーブル500を生成する。経由点決定部131は、テーブル500と作業の名称とを対応付けてワークエリアに格納する。
【0075】
(S103-2)経由点決定部131は、軌道に含まれる経由点の中からターゲット経由点を一つ選択する。移動順にしたがってターゲット経由点が選択されるものとする。このとき、経由点決定部131はテーブル500にエントリを一つ追加し、追加されたエントリの経由点501に、ターゲット経由点の識別情報を設定する。
【0076】
(S103-3)経由点決定部131は、ターゲット経由点と、ターゲット経由点の一つ前の経由点とを結ぶベクトル量、並びに、ターゲット経由点と、ターゲット経由点の一つ後の経由点とを結ぶベクトル量を算出する。例えば、A、B、C、D、Eの五つの経由点を含む軌道であって、ターゲット経由点がBとし、また、経由点A、B、Cの座標を(AX、AY、AZ)、(BX、BY、BZ)、(CX、CY、CZ)とした場合、式(1)、(2)に示すようなベクトル量が算出される。
【0077】
【0078】
【0079】
(S103-4)経由点決定部131は、式(1)及び式(2)の各々から算出されたベクトル量を用いて、部分経路ABと部分経路BCとがなす角度θBを経路変化指標として算出する。ここで、角度θBは式(3)に基づいて算出される。
【0080】
【0081】
経由点決定部131は、テーブル500に追加されたエントリの角度502に、算出された角度を設定する。
【0082】
(S103-5)軌道に含まれる全ての経由点について処理が完了していない場合、経由点決定部131はS103-2に戻る。軌道に含まれる全ての経由点について処理が完了した場合、経由点決定部131はステップS103の処理を終了する。なお、軌道の始点及び終点がターゲット経由点である場合、ベクトル量及び角度の算出は行われない。
【0083】
なお、角度の代わりに、ターゲット経由点、ターゲット経由点の一つ前の経由点、及びターゲット経由点の一つ後の経由点を結ぶ経路の曲率を算出してもよい。以上がステップS103の処理の説明である。
【0084】
計算機101の経由点決定部131は、各経由点について、追加する経由点の数を算出する(ステップS104)。具体的には、以下のような処理が実行される。
【0085】
(S104-1)経由点決定部131は、軌道に含まれる経由点の中からターゲット経由点を一つ選択する。移動順にしたがってターゲット経由点が選択されるものとする。
【0086】
(S104-2)経由点決定部131は、パラメータαの値を設定する。本実施例では、パラメータの変更パターンは予め設定されているものとする。
【0087】
(S104-3)経由点決定部131は、テーブル500のターゲット経由点に対応するエントリから角度θを取得する。経由点決定部131は、パラメータα及び角度θを式(4)に代入し、式(4)から得られた値の小数点以下を切り捨てた値を経由点の追加数として算出する。
【0088】
【0089】
経由点決定部131は、テーブル500に追加されたエントリの経由点追加数503のパラメータαに対応するフィールドに算出された値を設定する。
【0090】
図10Aに示す軌道の場合、経由点Cの角度θは30度、経由点Dの角度θは100度になっている。パラメータαを30とした場合、経由点Cの追加数は「1」、経由点Dの追加数は「3」となる。
【0091】
(S104-4)経由点決定部131は、全てのパラメータのパターンについて処理が完了したか否かを判定する。全てのパラメータのパターンについて処理が完了していない場合、経由点決定部131はS104-2に戻る。
【0092】
(S104-5)全てのパラメータのパターンについて処理が完了した場合、経由点決定部131は、軌道に含まれる全ての経由点について処理が完了したか否かを判定する。軌道に含まれる全ての経由点について処理が完了していない場合、経由点決定部131はS104-1に戻る。
【0093】
(S104-6)軌道に含まれる全ての経由点について処理が完了した場合、経由点決定部131は、テーブル500に基づいて、パターン表示欄906に情報を提示する。その後、経由点決定部131はステップS104の処理を終了する。
【0094】
ユーザは、パターン表示欄906を参照し、採用する軌道更新パターンを選択する。経由点決定部131は、軌道更新パターンの選択を受け付けた場合、軌道更新部133を呼び出す。
【0095】
計算機101の軌道更新部133は、軌道更新パターンに基づいて軌道データを更新する(ステップS105)。具体的には、以下のような処理が実行される。
【0096】
(S105-1)軌道更新部133は、軌道更新パターンの経由点追加数912の中から一つのフィールド(経由点)を選択する。
【0097】
(S105-2)軌道更新部133は、選択されたフィールドの値に基づいて、フィールドに対応する経由点の前後に新たな経由点を追加する。例えば、軌道更新部133は、フィールドに対応する経由点の前後に交互に新たな経由点を追加する。本実施例では、以下のような基準で新たな経由点が追加される。
(基準1)フィールドに対応する経由点の前、フィールドに対応する経由点の後の順に新たな経由点を追加する。
(基準2)経由点間の経路において、経由点間の距離が等間隔となるように新たな経由点を追加する。
【0098】
フィールドに対応する経由点がCの場合、Cの前にC’
1が追加される。フィールドに対応する経由点がDの場合、Dの前にD’
1、Dの後にD’
3、Dの前にD’
2が追加される。その結果、
図10Aに示す軌道は
図10Bのように更新される。
【0099】
(S105-3)軌道更新部133は、フィールドに対応する経由点、フィールドに対応する経由点の前後の経由点、及び追加された経由点の座標、並びに、フィールドに対応する経由点及びフィールドに対応する経由点の前後の経由点の関節の角度から、追加された経由点における関節の角度を算出する。例えば、C’1の関節の角度は、C及びDの関節の角度の加算し、2で除算した値となる。
【0100】
(S105-4)軌道更新部133は、S105-2、S105-3の処理結果に基づいて、軌道データを更新する。
【0101】
(S105-5)軌道更新部133は、軌道更新パターンの経由点追加数912の全てのフィールドについて処理が完了したか否かを判定する。軌道更新パターンの経由点追加数912の全てのフィールドについて処理が完了していない場合、軌道更新部133はS105-1に戻る。軌道更新パターンの経由点追加数912の全てのフィールドについて処理が完了した場合、軌道更新部133は、経由点決定部131に処理の完了を通知し、ステップS105の処理を終了する。
【0102】
計算機101の制御情報生成部132は、実行ボタン908が操作された場合、制御処理を開始する(ステップS106)。制御処理は、物体の把持及び軌道に沿った物体の移動等、一連の作業が終了するまで繰り返し実行される。
【0103】
計算機101の制御情報生成部132は、ロボット100から稼働状態情報及び作業状態情報を取得する(ステップS107)。なお、軌道の開始点ではステップS107を省略してもよい。
【0104】
計算機101の制御情報生成部132は、軌道データ、稼働状態情報、及び作業状態情報等に基づいて制御情報を生成し、ロボット100に制御情報を出力する(ステップS108)。制御情報には、制御周期Δt後のロボット100の姿勢を実現するための指令値が含まれる。例えば、現在の姿勢をSt、制御周期Δt後の姿勢をSt+1、制御回数をNcとした場合、指令値Cは式(5)を用いて算出できる。
【0105】
【0106】
Ncは式(6)で与えられる。Tは現在の時間、Tnは次の経由点の到達時間、Δtは制御周期を表す。
【0107】
【0108】
計算機101の制御情報生成部132は、現在のロボット100のツールの位置に基づいて、ツールが経由点に到達しているか否かを判定する(ステップS109)。
【0109】
ツールが経由点に到達していない場合、計算機101の制御情報生成部132はステップS111に進む。
【0110】
ツールが経由点に到達している場合、計算機101の制御情報生成部132は軌道更新部133を呼び出す。軌道更新部133は、軌道データ、稼働状態情報、及び作業状態情報等に基づいて、軌道データを更新する(ステップS110)。
【0111】
具体的には、軌道更新部133は、軌道データに含まれる経由点の位置を変更し、また、経由点の位置の変更に伴って関節の角度の目標値を変更する。このとき、軌道更新部133は、変更された経由点における関節の角度のズレ量を算出する。軌道更新部133は、関節の角度のズレ量とともに、処理の完了を制御情報生成部132に通知する。制御情報生成部132は当該通知を受信した場合、関節の角度のズレ量をワークエリアに格納し、ステップS111に進む。
【0112】
軌道データの更新方法としては、例えば、以下の二つの方法が考えられる。
(方法1)軌道更新部133は、稼働状態情報に含まれる値と軌道の変更量とを定義した情報に基づいて、軌道データを更新する。
(方法2)軌道更新部133は、機械学習によって生成された軌道変更モデルを用いて軌道データを更新する。軌道変更モデルは、例えば、稼働状態情報を入力とするニューラルネットワークである。
【0113】
軌道データの更新のポリシとしては、軌道の移動中に、想定以上の慣性力の発生が検知された場合、曲率を小さくすることが考えられる。
【0114】
なお、軌道データの更新において一度に変更する経由点の数は、関節の角度のズレ量に応じて変化する。
図10Cの経由点Cにおいて、経由点D’
1以降の経由点を変更する必要がない場合、変更する経由点の数は0である。この場合、ロボット100は経由点D’
1の姿勢にあわせて移動する。
図10Cの経由点D’
1において、経由点D’
2を変更する必要がある場合、次の経由点において変更が必要なくなるまで逐次的に経由点を変更する。経由点D’
2を変更することによって、経由点D’
2と経由点Dとの間の経路の変化が大きい場合、軌道更新部133は経由点Dを変更する。さらに、経由点Dを変更することによって、経由点Dと経由点D’
3との間の経路の変化が大きい場合、軌道更新部133は経由点D’
3を更新する。以上の結果、経由点D’
1において同時に更新する経由点の数は3となる。
【0115】
作業が完了していない場合、計算機101の制御情報生成部132は、ステップS106に戻り、同様の処理を実行する。
【0116】
作業が完了した場合、計算機101の制御情報生成部132は、制御処理を終了し(ステップS111)、作業履歴を作業履歴情報144に登録する(ステップS112)。その後、計算機101の制御情報生成部132は作業制御処理を終了する。
【0117】
具体的には、制御情報生成部132は、作業履歴情報144にエントリを追加し、追加されたエントリの日時601に作業の開始日時を設定し、作業名602に作業の名称を設定する。制御情報生成部132は、ワークエリアに格納される関節の角度のズレ量を統合し、追加されたエントリのズレ量603に統合結果を設定する。
【0118】
なお、実施例1では、一つの計算機101が処理を実行していたが、複数の計算機101を含む計算機システムが同様の処理を行うようにしてもよい。この場合、複数の計算機101に機能部を分散して配置してもよい。
【0119】
実施例1の計算機101は、軌道において形状の変化が大きい経路に経由点を追加する。軌道の形状変化に対する制御の粒度を調整することによって、制御の精度を向上できる。また、軌道の経由点の位置、すなわち、軌道の形状を変更する回数を追加できる。
図10Aに示す軌道の場合、経由点Cと経由点Eとの間の軌道データの更新回数は1回であった。一方、
図10Bに示す軌道の場合、経由点Cと経由点Eとの間の軌道データの更新回数は4回となっている。したがって、計算機101は状態に応じて柔軟に軌道
を変更できる。ロボットの動きを滑らかに制御することによって、生産条件の変化が大きい生産ラインであっても、ロボットの稼働率を向上させることができる。
【実施例2】
【0120】
従来技術では、ロボット100の状態に応じて制御情報が生成される。そのため、設備等に異常がある場合でも、作業は正常に行われ、異常が見逃されるという問題がある。実施例2では、計算機101は、作業履歴の解析し、解析に結果に基づいて経年劣化による損傷箇所等を特定し、保守を促す保守指示情報146を生成する。
【0121】
図11は、実施例2の計算機101が実行する保守指令情報生成処理の一例を説明するフローチャートである。
図12は、実施例2の計算機101が表示する画面の一例を示す図である。
図13は、日時と関節の角度のズレ量との間の相関関係の一例を示す図である。
図14は、実施例2の計算機101によるクラスタリングの結果の一例を示す図である。
【0122】
計算機101の作業履歴解析部134は、
図12に示すような画面1200を提示し、ユーザ入力を受け付ける(ステップS201)。
【0123】
画面1200は、入力欄1201、1203、解析ボタン1202、確認ボタン1204、及び表示欄1205、1206を含む。
【0124】
入力欄1201は、取得する作業履歴の時間範囲を入力する欄である。なお、作業履歴の数を入力してもよい。解析ボタン1202が操作された場合、ステップS202移行の処理が実行される。
【0125】
入力欄1203は、保守指示情報146を確認する作業の名称を入力する欄である。確認ボタン1204が操作された場合、保守指示情報生成部135は、表示欄1205に指定された作業に関連する処理結果を表示し、表示欄1205に指定された作業に関する保守指示情報146を表示する。
【0126】
計算機101の作業履歴解析部134は、作業履歴情報144から作業履歴を取得する(ステップS202)。なお、取得する作業履歴の作業の種別は問わない。
【0127】
計算機101の作業履歴解析部134は、各作業の作業履歴を用いて、関節の目標値からのズレ量と、日付との相関を解析する(ステップS203)。具体的には、以下のような処理が実行される。
【0128】
(S203-1)作業履歴解析部134は、取得した作業履歴を用いて作業のリストを生成する。
【0129】
(S203-2)作業履歴解析部134は、作業のリストから一つの作業を選択し、選択した作業の作業履歴を取得する。このとき、作業履歴解析部134は、相関解析情報145にエントリを追加し、追加されたエントリの作業名701に選択した作業の名称を設定する。
【0130】
(S203-3)作業履歴解析部134は、関節の中から一つの関節を選択する。作業履歴解析部134は、作業履歴から、選択した関節の角度のズレ量及び日時を読み出し、時間経過と関節の角度のズレ量との間の相関の有無を判定する。例えば、
図13に示すように、時間の経過にともなって関節の角度のズレ量が増加しており、二つの間には相関があることがわかる。
【0131】
(S203-4)作業履歴解析部134は、相関の解析結果を相関解析情報145に反映する。具体的には、作業履歴解析部134は、追加されたエントリの相関702の関節に対応するフィールドに「0」又は「1」を設定する。
【0132】
(S203-5)作業履歴解析部134は、全ての関節について処理が完了したか否かを判定する。全ての関節について処理が完了していない場合、作業履歴解析部134はS203-3に戻る。
【0133】
(S203-6)全ての関節について処理が完了した場合、作業履歴解析部134は、作業のリストに登録されている全ての作業について処理が完了したか否かを判定する。作業のリストに登録されている全ての作業について処理が完了していない場合、作業履歴解析部134はS203-2に戻る。作業のリストに登録されている全ての作業について処理が完了した場合、作業履歴解析部134はステップS203の処理を終了する。
【0134】
計算機101の作業履歴解析部134は、相関解析情報145を用いてクラスタリングを実行する(ステップS204)。
【0135】
具体的には、作業履歴解析部134は、相関解析情報145のエントリの相関702を特徴量に設定し、特徴量空間における特徴量の位置に基づいてクラスタリングを行う。クラスタリングの手法はk-means等の公知の技術を用いればよい。ステップS204の処理の結果、例えば、
図14に示すようなクラスタが生成される。
【0136】
計算機101の作業履歴解析部134は、共通項目解析処理を開始する(ステップS205)。作業履歴解析部134は、クラスタリングによって生成されたクラスタの中から一つのクラスタを選択する。
【0137】
計算機101の作業履歴解析部134は、クラスタの共通項目を特定する(ステップS206)。
【0138】
具体的には、作業履歴解析部134は、クラスタに属する作業の時間の経過と相関を有する関節、作業で使用するツール、部品、及び設備等について共通する項目を特定する。例えば、
図14に示す例では、クラスタAからは吸着ハンドA、クラスタBからは部品G及び関節J3、J5、クラスタCからは関節J2、クラスタDからは関節J1及び部品Aが共通項目として特定されていることを示す。
【0139】
時間経過に伴って関節の角度のズレ量が増加する場合、関節、ツール、及び設備等に何らかの不具合が発生している可能性が高い。本実施例の作業履歴解析部134は、相関の傾向が類似する作業履歴のクラスタにおける共通項目を、不具合の要因として特定する。
【0140】
計算機101の作業履歴解析部134は、保守指示情報生成部135を呼び出す。このとき、作業履歴解析部134は、特定した共通項目の情報を保守指示情報生成部135に出力する。保守指示情報生成部135は、共通項目に関する保守を促す保守指示情報146を生成し(ステップS207)、処理の完了を作業履歴解析部134に通知する。
【0141】
全てのクラスタについて処理が完了していない場合、作業履歴解析部134は、ステップS205に戻る。全てのクラスタについて処理が完了した場合、作業履歴解析部134は保守指令情報生成処理を終了する。
【0142】
なお、相関解析以外の手法で、関節の角度のズレ量に基づいて不具合の要因が特定されてもよい。例えば、関節の角度のズレ量と閾値との比較に基づく判定規則を用いてもよいし、機械学習で生成されたモデルを用いてもよい。モデルは関節の角度のズレ量の変化パターンを入力として、異常の有無を出力する。
【0143】
なお、実施例2では、一つの計算機101が処理を実行していたが、複数の計算機101を含む計算機システムが同様の処理を行うようにしてもよい。この場合、複数の計算機101に機能部を分散して配置してもよい。
【0144】
実施例2の計算機101は、関節の角度のズレ量の変動傾向に基づいて、異常の要因を特定し、当該要因に関する保守を促すことができる。これによって、設備異常等の発生を抑制し、設備の稼働率を向上させることができる。
【0145】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【0146】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0147】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0148】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【0149】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【0150】
100 ロボット
101 計算機
110 作業装置群
111 コントローラ
112 計測装置
120 演算装置
121 記憶装置
122 通信装置
123 入力装置
124 出力装置
130 軌道情報生成部
131 経由点決定部
132 制御情報生成部
133 軌道更新部
134 作業履歴解析部
135 保守指示情報生成部
140 設備構成情報
141 作業情報
142 軌道情報
143 軌道解析情報
144 作業履歴情報
145 相関解析情報
146 保守指示情報
900、1200 画面