特開2020-203349(P2020-203349A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ダイヘンの特許一覧

特開2020-203349ロボット制御装置、及びロボット制御システム
<>
  • 特開2020203349-ロボット制御装置、及びロボット制御システム 図000003
  • 特開2020203349-ロボット制御装置、及びロボット制御システム 図000004
  • 特開2020203349-ロボット制御装置、及びロボット制御システム 図000005
  • 特開2020203349-ロボット制御装置、及びロボット制御システム 図000006
  • 特開2020203349-ロボット制御装置、及びロボット制御システム 図000007
  • 特開2020203349-ロボット制御装置、及びロボット制御システム 図000008
  • 特開2020203349-ロボット制御装置、及びロボット制御システム 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2020-203349(P2020-203349A)
(43)【公開日】2020年12月24日
(54)【発明の名称】ロボット制御装置、及びロボット制御システム
(51)【国際特許分類】
   B25J 13/00 20060101AFI20201127BHJP
   B23K 9/127 20060101ALI20201127BHJP
【FI】
   B25J13/00 A
   B23K9/127 508A
【審査請求】未請求
【請求項の数】5
【出願形態】OL
【全頁数】15
(21)【出願番号】特願2019-112799(P2019-112799)
(22)【出願日】2019年6月18日
(71)【出願人】
【識別番号】000000262
【氏名又は名称】株式会社ダイヘン
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(74)【代理人】
【識別番号】100121223
【弁理士】
【氏名又は名称】森本 悟道
(72)【発明者】
【氏名】藤澤 祥
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS11
3C707BS10
3C707DS01
3C707KS07
3C707KS36
3C707KV11
3C707KX07
3C707LT07
3C707MT04
3C707MT08
(57)【要約】      (修正有)
【課題】レーザセンサのセンシング結果に基づいて作業ツールを移動させる制御において、センシング結果に応じた情報をメモリに蓄積できない事態が生じないようにすることができるロボット制御装置等を提供する。
【解決手段】ロボット制御装置1は、メモリ13と、ロボット2の作業ツール4の作業に先行して作業対象物6の形状を検出するレーザセンサ5によるセンシング結果を受け付け、センシング結果に応じた情報をメモリ13に蓄積する受付部12と、メモリ13の空き容量がなくなる場合に、メモリ13の情報を削除するメモリ管理部14と、教示データに基づいて作業ツール4を移動させると共に、メモリ13で記憶されているセンシング結果に応じた情報によって作業ツール4の移動を補正する制御部15とを備える。このようにして、センシング結果に応じた情報をメモリ13に蓄積できない事態が生じないようにすることができる。
【選択図】図1
【特許請求の範囲】
【請求項1】
教示データが記憶される記憶部と、
メモリと、
作業ツール及び当該作業ツールの作業に先行して作業対象物の形状を検出するレーザセンサを備えたロボットから、前記レーザセンサによるセンシング結果を受け付け、当該センシング結果に応じた情報を前記メモリに蓄積する受付部と、
前記メモリの空き容量がなくなる場合に、前記メモリに記憶されているセンシング結果に応じた情報を削除するメモリ管理部と、
前記教示データに基づいて前記作業ツールを移動させると共に、前記メモリで記憶されているセンシング結果に応じた情報によって前記作業ツールの移動を補正する制御部と、を備えたロボット制御装置。
【請求項2】
前記メモリ管理部は、前記メモリの空き容量がなくなる場合に、前記メモリに記憶されているセンシング結果に応じた情報を削減すると共に、前記センシング結果に応じた情報が前記メモリに蓄積される周期を長くする、請求項1記載のロボット制御装置。
【請求項3】
前記メモリ管理部は、前記メモリの空き容量がなくなる場合に、前記メモリに記憶されているセンシング結果に応じた情報を1/2に削減すると共に、前記センシング結果に応じた情報が前記メモリに蓄積される周期を2倍にする、請求項2記載のロボット制御装置。
【請求項4】
前記受付部は、前記センシング結果に基づいて推定された前記作業対象物の形状と、当該センシング結果との差分のばらつきの程度を示す散布度を、当該センシング結果に応じた情報に対応付けて前記メモリに蓄積し、
前記メモリ管理部は、前記メモリの空き容量がなくなる場合に、前記メモリに記憶されているセンシング結果に応じた情報のうち、最大の散布度に対応付けられているセンシング結果に応じた情報を削除する、請求項1記載のロボット制御装置。
【請求項5】
請求項1から請求項4のいずれか記載のロボット制御装置と、
当該ロボット制御装置によって制御される前記ロボットと、を備えたロボット制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、レーザセンサのセンシング結果に基づいて作業ツールを移動させるロボット制御装置等に関する。
【背景技術】
【0002】
ロボットによる溶接中、ワークの熱歪みによって狙い位置がずれ、溶接欠陥が発生することがある。そこで、レーザセンサによって継手の位置を検出し、ロボットによる狙い位置補正(溶接線倣い)を行うことによって、位置ずれを解消している(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−042118号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
溶接線倣いなどの倣い作業を行う場合には、レーザセンサによる高周期のセンシングに応じた情報をメモリで保持し、そのメモリで保持している情報を用いて、倣い作業を行うことになる。メモリの情報は、作業ツールがその情報に応じた位置に到達するまで保持されている必要がある。そのため、メモリへの情報の蓄積の周期を調整することによって、メモリの容量が不足しないようにする必要があるが、そのような調整を手作業で行うと、非常に煩雑な作業になるという問題があった。一方、そのような調整を行わなかった場合には、センシングに応じた情報を蓄積する際に、メモリに空き容量がなく、情報を蓄積できない事態が生じてしまうという問題がある。
【0005】
本発明は、上記課題を解決するためになされたものであり、レーザセンサのセンシング結果に基づいて作業ツールを移動させる制御において、センシング結果に応じた情報をメモリに蓄積できない事態が生じないようにすることができるロボット制御装置等を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明によるロボット制御装置は、教示データが記憶される記憶部と、メモリと、作業ツール及び作業ツールの作業に先行して作業対象物の形状を検出するレーザセンサを備えたロボットから、レーザセンサによるセンシング結果を受け付け、センシング結果に応じた情報をメモリに蓄積する受付部と、メモリの空き容量がなくなる場合に、メモリに記憶されているセンシング結果に応じた情報を削除するメモリ管理部と、教示データに基づいて作業ツールを移動させると共に、メモリで記憶されているセンシング結果に応じた情報によって作業ツールの移動を補正する制御部と、を備えたものである。
このような構成により、適宜、メモリで記憶されているセンシング結果に応じた情報を削除することによって、センシング結果に応じた情報をメモリに蓄積できない事態が生じないようにすることができる。また、メモリの容量が不足しないようにするため、メモリへの情報の蓄積の周期について手作業で調整する必要もなく、その調整のための煩雑な作業を行わなくてよくなるというメリットもある。
【0007】
また、本発明によるロボット制御装置では、メモリ管理部は、メモリの空き容量がなくなる場合に、メモリに記憶されているセンシング結果に応じた情報を削減すると共に、センシング結果に応じた情報がメモリに蓄積される周期を長くしてもよい。
このような構成により、センシング結果に応じた情報をメモリに蓄積できない事態が生じないようにすることができると共に、メモリへの情報の蓄積の周期を自動的に変更することによって、メモリの容量が不足する事態が生じないようにすることもできる。
【0008】
また、本発明によるロボット制御装置では、メモリ管理部は、メモリの空き容量がなくなる場合に、メモリに記憶されているセンシング結果に応じた情報を1/2に削減すると共に、センシング結果に応じた情報がメモリに蓄積される周期を2倍にしてもよい。
このような構成により、情報の削減後において、メモリで記憶されている情報の周期と、メモリに新たに蓄積される情報の周期とを合わせることができる。
【0009】
また、本発明によるロボット制御装置では、受付部は、センシング結果に基づいて推定された作業対象物の形状と、センシング結果との差分のばらつきの程度を示す散布度を、センシング結果に応じた情報に対応付けてメモリに蓄積し、メモリ管理部は、メモリの空き容量がなくなる場合に、メモリに記憶されているセンシング結果に応じた情報のうち、最大の散布度に対応付けられているセンシング結果に応じた情報を削除してもよい。
このような構成により、メモリから削除する情報を、信頼性の低い情報にすることができる。したがって、メモリの情報を削除することによって、倣い作業の精度が低下しないようにすることができる。
【0010】
また、本発明によるロボット制御システムは、ロボット制御装置と、ロボット制御装置によって制御されるロボットと、を備えたものである。
【発明の効果】
【0011】
本発明によるロボット制御装置等によれば、センシング結果に応じた情報をメモリに蓄積できない事態が生じないようにすることができる。
【図面の簡単な説明】
【0012】
図1】本発明の実施の形態によるロボット制御装置の構成を示す模式図
図2】同実施の形態によるロボット制御装置の動作を示すフローチャート
図3】同実施の形態におけるメモリの情報の削除処理の一例を示すフローチャート
図4】同実施の形態におけるメモリの情報の削除処理の一例を説明するための図
図5】同実施の形態におけるメモリの情報の削除処理の一例を示すフローチャート
図6】同実施の形態における散布度について説明するための図
図7】同実施の形態におけるメモリの情報の削除処理の一例を説明するための図
【発明を実施するための形態】
【0013】
以下、本発明によるロボット制御システム、及びロボット制御装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態によるロボット制御装置は、センシング結果に応じた情報が蓄積されるメモリの空き容量がなくなる場合に、メモリの情報を削除するものである。
【0014】
図1は、本実施の形態によるロボット制御システム100の構成を示すブロック図である。本実施の形態によるロボット制御システム100は、ロボット制御装置1と、ロボット2と、溶接電源3とを備える。
【0015】
ロボット制御装置1は、ロボット2及び溶接電源3を制御する。ロボット2は、モータによって駆動される関節によって連結された複数のアームを有するマニピュレータを有しており、そのマニピュレータの先端に、作業ツール4と、作業ツール4の作業に先行して作業対象物(ワーク)6の形状を検出するレーザセンサ5とを有している。ロボット2は、特に限定されるものではないが、例えば、垂直多関節ロボットであってもよい。レーザセンサ5は、作業対象物6にライン状のレーザ光を照射し、そのレーザ光を撮像することによって作業対象物6までの複数のサンプリング点の距離を測定するレーザセンサであってもよい。また、レーザセンサ5は、ライン状に走査を行うことによって作業対象物6までの複数のサンプリング点の距離を測定する走査型のレーザセンサであってもよい。レーザセンサ5によって、例えば、開先などの溶接箇所の形状を取得することができる。なお、本実施の形態では、作業ツール4が溶接トーチであり、作業ツール4によって行われる作業が溶接である場合について主に説明する。また、作業ツール4やレーザセンサ5を備えたロボット2の構成はすでに公知であり、その詳細な説明を省略する。
【0016】
溶接電源3は、溶接で用いられる高電圧を作業ツール(溶接トーチ)4とワーク6とに供給する。また、溶接に溶接ワイヤが用いられる場合には、溶接電源3は、溶接ワイヤの送給に関する制御を行ってもよい。なお、溶接電源3の構成はすでに公知であり、その詳細な説明を省略する。
【0017】
ロボット制御装置1は、レーザセンサ5によるセンシング結果に基づいて、倣い作業を行うようにロボット2を制御するものであり、図1で示されるように、記憶部11と、受付部12と、メモリ13と、メモリ管理部14と、制御部15とを備える。
【0018】
記憶部11には、教示データが記憶される。教示データによって、ロボット2の作業ツール4の移動経路(例えば、位置や姿勢等)が示されるものとする。なお、教示データには、溶接の開始点や終了点、溶接電流や溶接電圧等の溶接条件に関する情報が含まれていてもよい。
【0019】
記憶部11に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が記憶部11で記憶されるようになってもよく、通信回線等を介して送信された情報が記憶部11で記憶されるようになってもよく、または、入力デバイスを介して入力された情報が記憶部11で記憶されるようになってもよい。例えば、ロボット制御装置1に接続されたティーチングペンダント等を用いて入力された教示データが記憶部11で記憶されてもよい。記憶部11での記憶は、RAM等における一時的な記憶でもよく、または、長期的な記憶でもよい。記憶部11は、所定の記録媒体(例えば、半導体メモリや磁気ディスクなど)によって実現されうる。
【0020】
受付部12は、ロボット2から、レーザセンサ5によるセンシング結果を受け付け、そのセンシング結果に応じた情報をメモリ13に蓄積する。メモリ13に蓄積される情報は、所定の周期ごとの情報であってもよい。レーザセンサ5によるセンシング結果は、例えば、作業対象物6に照射されたレーザ光の複数の点に関する高さ方向の距離(例えば、レーザセンサ5から作業対象物6までの距離)であってもよい。センシング結果は、2次元または3次元の撮像センサ(例えば、CCDアレイ等)によって取得されてもよい。センシング結果は、通常、作業対象物6の形状を示す複数のサンプリング点の情報であるため、受付部12は、そのようなセンシング結果から、作業対象物6の形状を作成し、その作成した形状を用いて、作業ツール4によって作業が行われる位置、例えば、作業線(溶接線)の位置を取得してもよい。その位置を、以下、特徴点の位置と呼ぶこともある。例えば、重ね継手の溶接を行う場合には、センシング結果によって示される段差の位置が特徴点の位置となる。また、例えば、突き合わせ継手の溶接を行う場合には、センシング結果によって示される開先の位置が特徴点の位置となる。
【0021】
また、センシング結果は、レーザセンサ5の座標系における位置を示すものであるため、受付部12は、その座標系における位置を、所定の基準座標系における位置に変換してもよい。その基準座標系は、例えば、ロボット2の座標系であってもよい。そのため、受付部12は、制御部15から作業ツール4の基準座標系における位置及び姿勢を受け取り、その受け取った位置及び姿勢とセンシング結果とを用いて、基準座標系における特徴点の位置を取得してもよい。メモリ13に蓄積される、センシング結果に応じた情報は、例えば、この基準座標系における特徴点の位置を示す情報であってもよく、センシング結果そのものであってもよく、センシング結果に応じたその他の情報であってもよい。本実施の形態では、センシング結果に応じた情報が、基準座標系における特徴点の位置を示す情報である場合について主に説明する。
【0022】
センシング結果は、例えば、所定の周期ごとにレーザセンサ5によって取得された情報であってもよい。また、メモリ13に蓄積される情報の周期は、そのセンシング結果の取得される周期と同じであってもよく、または、異なっていてもよい。後者の場合には、受付部12は、例えば、レーザセンサ5からセンシング結果を受け付けてから、そのセンシング結果に応じた情報をメモリ13に蓄積するまでに、情報を間引く処理(ダウンサンプリング)を行ってもよい。例えば、レーザセンサ5から受け付けるセンシング結果が20(ms)ごとの情報であり、また、メモリ13に蓄積する情報の周期が40(ms)である場合には、受付部12は、レーザセンサ5から受け付けたセンシング結果を半分に間引いてから基準座標系における特徴点の位置を示す情報を取得し、メモリ13に蓄積してもよい。
【0023】
また、後述するように、受付部12は、センシング結果に基づいて推定された作業対象物6の形状と、そのセンシング結果との差分のばらつきの程度を示す散布度を、そのセンシング結果に応じた情報に対応付けてメモリ13に蓄積してもよい。散布度は、特に限定されるものではないが、例えば、分散や標準偏差等であってもよい。散布度や、その散布度の取得方法等については後述する。
【0024】
メモリ13では、倣い作業で用いられる情報が一時記憶される。具体的には、メモリ13には、前述のように、センシング結果に応じた情報が記憶される。また、前述のように、メモリ13には、センシング結果に応じた情報に対応付けられた散布度も記憶されてもよい。
【0025】
メモリ管理部14は、メモリ13の空き容量がなくなる場合に、メモリ13に記憶されているセンシング結果に応じた情報を削除する。この情報の削除は、通常、メモリ13で記憶されている一部の情報の削除である。本実施の形態では、その削除の方法として、(1)メモリ管理部14が、メモリ13に記憶されているセンシング結果に応じた情報を削減すると共に、センシング結果に応じた情報がメモリ13に蓄積される周期を長くする方法と、(2)メモリ管理部14が、メモリ13に記憶されているセンシング結果に応じた情報のうち、最大の散布度に対応付けられているセンシング結果に応じた情報を削除する方法とについて後述するが、メモリ管理部14は、それら以外の方法によってメモリ13の情報を削除してもよい。
【0026】
なお、メモリ管理部14が、メモリ13の情報を削除するタイミングは問わない。例えば、メモリ13の空き容量がなくなった場合に、メモリ管理部14は、メモリ13の情報を削除してもよい。また、メモリ13の空き容量があらかじめ決められた閾値より少なくなった場合に、メモリ管理部14は、メモリ13の情報を削除してもよい。本実施の形態では、メモリ13の空き容量がなくなったことに応じて、メモリ管理部14が、メモリ13の情報を削除する場合について主に説明する。
【0027】
また、メモリ管理部14が1回に削除する情報の量は問わない。例えば、メモリ管理部14は、メモリ13の空き容量がなくなる場合に、センシング結果に応じた1個の情報(すなわち、1個の特徴点に関する情報)を削除してもよく、センシング結果に応じた2個以上の情報(すなわち、2個以上の特徴点に関する情報)を削除してもよい。
【0028】
制御部15は、記憶部11で記憶されている教示データに基づいて作業ツール4を移動させると共に、メモリ13で記憶されているセンシング結果に応じた情報によって作業ツール4の移動を補正する。このようにして、いわゆる倣い補正が行われることになる。より具体的には、制御部15は、作業ツール4の移動に先行して、教示データに基づいて、作業ツール4の目標位置及び目標姿勢を算出する。その目標位置及び目標姿勢の算出は、例えば、教示データに含まれる教示位置や教示姿勢を補間することによって行われてもよい。この算出された目標位置や目標姿勢によって、作業ツール4の移動に関する情報、すなわち作業ツール4の位置及び姿勢の時間変化が示されることになる。また、制御部15は、例えば、ロボット2のマニピュレータのエンコーダ等から読み出された各関節の角度に基づいて、作業ツール4の現在の位置及び姿勢を算出する。この情報は、上記のように、受付部12に渡されてもよい。また、制御部15は、メモリ13からセンシング結果に応じた情報を読み出し、その読み出した情報に応じて、作業ツール4の目標位置及び目標姿勢を算出し、教示データから算出した目標位置及び目標姿勢を、センシング結果に応じた情報から算出した目標位置及び目標姿勢に置き換えてもよい。なお、現在の位置及び姿勢から、センシング結果に応じた情報に基づいて算出された目標位置及び目標姿勢まで移動させることが困難な場合(例えば、位置や姿勢の変化があらかじめ決められた閾値以上の変化となる場合など)には、教示データに基づいて算出された目標位置及び目標姿勢と、センシング結果に応じた情報に基づいて算出された目標位置及び目標姿勢との間の目標位置及び目標姿勢が新たに生成され、教示データに基づいて算出された目標位置及び目標姿勢が、その新たに生成された情報に置き換えられてもよい。また、制御部15は、作業ツール4の現在の位置及び姿勢と、目標位置及び目標姿勢とを用いて、作業ツール4が目標位置及び目標姿勢となるようにロボット2を制御してもよい。このようにして、倣い補正が行われる。なお、結果として、センシング結果に基づいて倣い補正が行われるのであれば、上記した以外の方法によって倣い補正が行われてもよい。また、倣い補正についてはすでに公知であるため、その詳細な説明を省略する。また、制御部15は、センシング結果に応じた情報をメモリ13から読み出した場合に、その情報をメモリ13から削除してもよい。その情報に対応付けられて散布度も記憶されている場合には、制御部15は、散布度も一緒にメモリ13から削除してもよい。また、制御部15は、教示データに基づいて、溶接の開始や終了を溶接電源3に指示してもよく、また、溶接条件を溶接電源3に出力してもよい。
【0029】
なお、記憶部11と、メモリ13とは、通常、異なる記録媒体によって実現されるが、そうでなくてもよい。例えば、記録媒体におけるある領域が記憶部11として用いられ、他の領域がメモリ13として用いられてもよい。その場合であっても、本実施の形態のようにメモリ管理部14による管理が行われることによって、センシング結果に応じた情報をメモリ13の領域に蓄積できない事態が生じないように制御することができる。
【0030】
次に、ロボット制御装置1の動作について図2のフローチャートを用いて説明する。
(ステップS101)受付部12は、センシング結果を受け付けるかどうか判断する。そして、センシング結果を受け付ける場合には、レーザセンサ5からのセンシング結果を受け付けてステップS102に進み、そうでない場合には、ステップS106に進む。例えば、上記(1)の方法によってメモリ13の情報の削除が行われる場合には、受付部12は、メモリ13に蓄積する情報の周期ごとに、センシング結果を受け付けると判断してもよい。また、例えば、上記(2)の方法によってメモリ13の情報の削除が行われる場合には、受付部12は、レーザセンサ5によってセンシング結果が取得される周期ごとに、センシング結果を受け付けると判断してもよい。
【0031】
(ステップS102)受付部12は、レーザセンサ5から受け付けたセンシング結果に応じた情報を取得する。この情報は、例えば、基準座標系における特徴点の位置を示す情報であってもよい。また、上記(2)の方法によってメモリ13の情報の削除が行われる場合には、受付部12は、センシング結果に応じた散布度を取得してもよい。その散布度の取得の処理については後述する。
【0032】
(ステップS103)メモリ管理部14は、新しい情報を蓄積することができるだけの空き容量がメモリ13にあるかどうか判断する。そして、メモリ13に空き容量がある場合には、ステップS105に進み、そうでない場合には、ステップS104に進む。
【0033】
(ステップS104)メモリ管理部14は、メモリ13で記憶されている情報を削除することによって、メモリ13の空き容量を増加させ、蓄積対象の情報をメモリ13に蓄積できるようにする。そして、ステップS105に進む。なお、この処理の詳細については後述する。
【0034】
(ステップS105)受付部12は、ステップS102で取得した情報をメモリ13に蓄積する。そして、ステップS101に戻る。なお、ステップS102において、センシング結果に応じた散布度も取得した場合には、受付部12は、センシング結果に応じた情報に対応付けて、その散布度をメモリ13に蓄積してもよい。
【0035】
(ステップS106)制御部15は、作業ツール4を移動させるかどうか判断する。そして、作業ツール4を移動させる場合には、ステップS107に進み、そうでない場合には、ステップS101に戻る。なお、制御部15は、例えば、作業ツール4を移動させると定期的に判断してもよい。
【0036】
(ステップS107)制御部15は、記憶部11で記憶されている教示データ、及びメモリ13で記憶されているセンシング結果に応じた情報に基づいて、作業ツール4の移動の制御を行う。この制御に応じて、ロボット2の作業ツール4が、目的位置及び目的姿勢に移動されることになる。また、制御部15は、作業ツール4の作業に関する制御を行ってもよい。具体的には、制御部15は、溶接電源3を制御することによって、溶接の開始や終了、溶接電圧や溶接電流等を制御してもよい。そして、ステップS101に戻る。ステップS106,S107の処理が繰り返されることによって、作業対象物6に対する一連の作業が行われることになる。
【0037】
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。例えば、作業ツール4による一連の作業が終了した際には、図2のフローチャートにおける処理は終了してもよい。
【0038】
次に、図2のフローチャートにおける情報の削除の処理(ステップS104)の詳細について、(1)メモリ管理部14が、メモリ13に記憶されているセンシング結果に応じた情報を削減すると共に、センシング結果に応じた情報がメモリ13に蓄積される周期を長くする場合と、(2)メモリ管理部14が、メモリ13に記憶されているセンシング結果に応じた情報のうち、最大の散布度に対応付けられているセンシング結果に応じた情報を削除する場合とに分けて説明する。
【0039】
(1)メモリ13の情報の削除と、蓄積される情報の周期の延長とを行う場合
この場合には、メモリ管理部14は、メモリ13に記憶されているセンシング結果に応じた情報を削減すると共に、センシング結果に応じた情報がメモリ13に蓄積される周期を長くする。メモリ13からの情報の削除は、メモリ13に空き容量を増やすために行われるため、削除対象となるセンシング結果に応じた情報の個数は問わない。少なくとも、センシング結果に応じた情報が1個以上、削除されればよいことになる。また、レーザセンサ5においては、通常、最短の撮像周期が決まっている。したがって、メモリ13に蓄積される情報の周期を、撮像周期よりも短い単位で増やしたとしても、増加後の周期でセンシングすることはできないため、結果として、増加後の周期の情報をメモリ13に蓄積することはできないことになる。したがって、メモリ管理部14は、メモリ13に蓄積される情報の周期を、撮像周期の単位で増やしてもよい。例えば、レーザセンサ5の撮像周期が20(ms)である場合には、メモリ管理部14は、メモリ13に蓄積される情報の周期の増加分が、M×20(ms)となるようにしてもよい。ただし、Mは、1以上の整数である。このような処理により、メモリ13の空き容量を増やすことができると共に、メモリ13への情報の蓄積の周期を長くすることができる。なお、この処理の後に、メモリ13の空き容量がなくなった場合には、再度、この処理が行われてもよい。このようにして、メモリ13の空き容量を増加させると共に、メモリ13に蓄積される情報の周期を長くする処理が繰り返されることによって、最終的に、メモリ13への情報の蓄積と読み出しのバランスがとれるようになり、メモリ13の空き容量が不足する事態が起きないようにすることができる。
【0040】
なお、メモリ管理部14は、例えば、メモリ13で記憶されている、センシング結果に応じた情報を1/Nに削減すると共に、その情報の削減に応じて、メモリ13に蓄積される情報の周期を、N倍にしてもよい。ここで、Nは、2以上の整数である。例えば、N=2であれば、メモリ管理部14は、メモリ13の空き容量がなくなる場合に、メモリ13に記憶されているセンシング結果に応じた情報を1/2に削減すると共に、センシング結果に応じた情報がメモリ13に蓄積される周期を2倍にしてもよい。このように、メモリ13の情報を1/Nに削減すると共に、蓄積の周期をN倍にすることで、メモリ13で記憶されている削減後の情報の周期を、メモリ13に蓄積される情報の新たな周期に合わせることができるようになる。したがって、メモリ管理部14は、両方の周期が合うように、メモリ13における情報の削除を行ってもよい。メモリ管理部14は、例えば、メモリ13で記憶されている情報を時系列に沿って並べた場合に、N個ごとに1個の情報が残るように情報の削減を行ってもよい。このようにすることで、メモリ13で記憶されている情報が、実質的にダウンサンプリングを行った結果と同様になる。例えば、N=2であれば、メモリ13で記憶されている情報を時系列に沿って並べた場合に、1個おきに情報が削除されてもよい。
【0041】
次に、図2のフローチャートにおける情報の削除の処理(ステップS104)の詳細について、図3のフローチャートを用いて説明する。
(ステップS201)メモリ管理部14は、メモリ13で記憶されている、センシング結果に応じた情報を削除する。この削除は、例えば、メモリ13で記憶されている、センシング結果に応じた情報を1/Nにするように行われてもよい。
【0042】
(ステップS202)メモリ管理部14は、メモリ13で記憶されている情報の整列を行う。この処理については後述する。
【0043】
(ステップS203)メモリ管理部14は、蓄積対象のセンシング結果に応じた情報の周期が、現在の周期よりも長くなるように変更する。そして、図2のフローチャートに戻る。この変更は、例えば、蓄積対象の情報の周期を、N倍にすることであってもよい。なお、変更後の周期は、受付部12に渡されてもよい。そして、受付部12は、その新たな周期に応じた情報の蓄積を行ってもよい。
【0044】
図3のフローチャートで示されるセンシング結果に応じた情報の削除の処理について、図4を参照して具体的に説明する。この具体例では、メモリ13の空き容量がなくなる場合に、メモリ管理部14が、メモリ13に記憶されているセンシング結果に応じた情報を1/2に削減すると共に、センシング結果に応じた情報がメモリ13に蓄積される周期を2倍にするものとする。図4は、メモリ13での情報の記憶状態を示す図である。ここでは、説明の便宜上、メモリ13に、センシング結果に応じた情報を10個、保存できるものとしている。また、メモリ13において、情報が格納されていない領域を内部が白の四角形の図形で示しており、情報が格納されている領域を黒塗りの四角形の図形で示している。
【0045】
状態1は、ロボット制御装置1における倣い作業が開始される前のメモリ13の状態である。この場合には、メモリ13の各領域に情報が格納されておらず、保存可能な情報の個数は10個である。
【0046】
次に、レーザセンサ5によるセンシングが開始され、受付部12によって順次、センシング結果に応じた情報がメモリ13に蓄積されたとする。状態2は、そのようにして、10個の情報がメモリ13に格納された状態である。この場合には、メモリ13の保存可能な情報の個数は0個である。
【0047】
その後、メモリ13の情報が制御部15によって読み出されて削除される前に、新たなセンシング結果の受け付けと、そのセンシング結果に応じた情報の取得とが行われると(ステップS101,S102)、メモリ管理部14は、メモリ13に空き容量がないと判断し(ステップS103)、センシング結果に応じた情報を削除する処理を行う(ステップS104)。
【0048】
具体的には、メモリ管理部14は、まず、状態3で示されるように、メモリ13で記憶されている、センシング結果に応じた情報を1/2に削減する(ステップS201)。その削減において、メモリ管理部14は、残った情報の周期が2倍になるように、1個おきに情報を削除するものとする。その結果、保存可能な情報の個数が5個に増える。なお、図4では、時系列に沿って、左から順番に情報が格納されているものとする。
【0049】
その後、メモリ管理部14は、状態4で示されるように、メモリ13で記憶されている情報がひとまとまりになるように情報を整列させる(ステップS202)。また、メモリ管理部14は、その時点における、蓄積対象のセンシング結果に応じた情報の周期を2倍に変更して、その変更後の周期を受付部12に渡す(ステップS203)。このようにして、メモリ13に空き容量が作られたため、受付部12は、蓄積対象の情報を、図4の状態5で示されるように、メモリ13に蓄積することができる(ステップS105)。
【0050】
なお、再度、メモリ13の空き容量がなくなった場合には、メモリ13における情報の削減と、蓄積対象の情報の周期の延長とが行われることになる。このようにして、最終的に、メモリ13の容量不足が発生しなくなるまで、メモリ13における情報の削減と、蓄積対象の情報の周期の延長とが繰り返される。なお、一連の倣い作業が終了した後に、メモリ13への情報の蓄積の周期はリセットされてもよい。
【0051】
(2)最大の散布度に対応付けられている情報の削除を行う場合
この場合には、メモリ管理部14は、メモリ13において記憶されているセンシング結果に応じた情報のうち、最大の散布度に対応付けられているセンシング結果に応じた情報を削除する。ここではまず、散布度の取得について説明する。
【0052】
散布度は、レーザセンサ5のセンシング結果に基づいて推定された作業対象物6の形状と、そのセンシング結果との差分のばらつきの程度を示す情報である。図6は、作業対象物6が重ね継手である場合におけるセンシング結果と、センシング結果に基づいて推定された形状とを示す図である。図6において、レーザセンサ5によるレーザの走査範囲内におけるセンシング結果を黒丸で示しており、センシング結果に基づいて推定された形状を、近似直線で示している。図6(a)は、散布度が小さい場合におけるセンシング結果を示しており、図6(b)は、散布度が大きい場合におけるセンシング結果を示している。
【0053】
図6(a)、図6(b)等で示されるセンシング結果を受け付けると、受付部12は、まず、センシング結果に基づいて近似直線を推定し、その推定した近似直線と、各センシング結果との差分をそれぞれ取得する。その差分は、センシング結果である黒丸から、近似直線までの距離であってもよい。すなわち、差分は残差であってもよい。なお、差分は0以上の実数であるとする。その後、受付部12は、その差分のばらつきの程度を示す散布度を取得する。具体的には、受付部12は、その差分の分散である散布度を取得してもよく、その差分の標準偏差である散布度を取得してもよく、または、その差分のばらつきの程度を示す他の散布度を取得してもよい。このようにして、受付部12は、センシング結果に応じた散布度を取得することができる。図6(a)では、センシング結果のばらつきが小さく、散布度が小さい値となる。また、センシング結果に応じた情報の精度がより高いと考えられる。一方、図6(b)では、スパッタ等の影響によってセンシング結果のばらつきが大きく、散布度が大きい値となる。また、作業対象物6の形状を適切に推定できていないため、センシング結果に応じた情報の精度がより低いと考えられる。したがって、メモリ13で記憶されている情報を削除する際に、散布度が最大である情報を削除することによって、精度の低い情報を削除すると共に、精度の高い情報を保持できることになる。
【0054】
次に、図2のフローチャートにおける情報の削除の処理(ステップS104)の詳細について、図5のフローチャートを用いて説明する。なお、この場合には、図2のフローチャートのステップS102において、センシング結果に応じた情報と共に、センシング結果に関する散布度も算出され、ステップS105において、センシング結果に応じた情報と、散布度とが対応付けられて蓄積されているものとする。
【0055】
(ステップS301)メモリ管理部14は、メモリ13で記憶されている、センシング結果に応じた情報のうち、散布度が最大である情報を削除する。より具体的には、メモリ管理部14は、メモリ13で記憶されている最大の散布度を特定し、その特定した散布度に対応付けられているセンシング結果に応じた情報を削除する。
【0056】
(ステップS302)メモリ管理部14は、メモリ13で記憶されている情報の整列を行う。そして、図2のフローチャートに戻る。
【0057】
図5のフローチャートで示されるセンシング結果に応じた情報の削除の処理について、図7を参照して具体的に説明する。図7においてメモリの状態を示す方法は、図4と同様であるとする。
【0058】
状態1は、ロボット制御装置1における倣い作業が開始される前のメモリ13の状態である。この場合には、メモリ13の各領域に情報が格納されておらず、保存可能な情報の個数は10個である。
【0059】
次に、レーザセンサ5によるセンシングが開始され、受付部12によって順次、センシング結果に応じた情報がメモリ13に蓄積されたとする。状態2は、そのようにして、10個の情報がメモリ13に格納された状態である。この場合には、メモリ13の保存可能な情報の個数は0個である。また、格納されている情報(黒塗りの四角形の図形)の下に表示されている数値は、各情報に対応付けられている散布度である。したがって、状態2においては、左から5番目の情報の散布度が最も高いことになる。
【0060】
その後、メモリ13の情報が制御部15によって読み出されて削除される前に、新たなセンシング結果の受け付けと、そのセンシング結果に応じた情報の取得とが行われると(ステップS101,S102)、メモリ管理部14は、メモリ13に空き容量がないと判断し(ステップS103)、センシング結果に応じた情報を削除する処理を行う(ステップS104)。
【0061】
具体的には、メモリ管理部14は、状態2において、最大の散布度「99」を特定し、その最大の散布度に対応付けられている情報を削除する(ステップS301)。なお、情報の削除と一緒に、散布度も削除されるものとする。その結果、メモリ13は、状態3で示されるようになり、保存可能な情報の個数が1個増える。
【0062】
その後、メモリ管理部14は、状態4で示されるように、メモリ13で記憶されている情報がひとまとまりになるように情報を整列させる(ステップS302)。このようにして、メモリ13に空き容量が作られたため、受付部12は、蓄積対象の情報を、図7の状態5で示されるように、メモリ13に蓄積することができる(ステップS105)。なお、再度、メモリ13の空き容量がなくなった場合には、メモリ13において、最大の散布度に対応する情報の削除が行われることになる。
【0063】
以上のように、本実施の形態によるロボット制御装置1によれば、メモリ13で記憶されているセンシング結果に応じた情報を削除することによって、センシング結果に応じた情報をメモリ13に蓄積できない事態が生じないようにすることができる。また、メモリ13の情報を削除すると共に、センシング結果に応じた情報がメモリ13に蓄積される周期を長くすることによって、メモリ13への情報の蓄積と、メモリ13からの情報の読み出しとのバランスを取るようにすることもでき、メモリ13の容量が不足する原因を取り除くこともできるようになる。また、センシング結果に応じた情報に対応付けて散布度が蓄積されている場合には、その散布度が大きい情報を削除することによって、精度の低い情報を削除することができる。したがって、メモリ13から情報を削除しても、精度の高い情報を残すことができ、倣い作業の精度が低下することを防止することができるようになる。また、場合によっては、精度の低い情報を削除することによって、倣い作業の精度が向上することもあり得ると考えられる。
【0064】
なお、上記実施の形態では、レーザセンサ5の撮像周期と、受付部12が情報をメモリ13に蓄積する周期とが異なる場合に、受付部12が、レーザセンサ5から受け付けたセンシング結果についてダウンサンプリングを行うと説明したが、そうでなくてもよい。撮像周期を変更できる場合には、レーザセンサ5は、情報がメモリ13に蓄積される周期でのセンシングを行ってもよい。その場合には、受付部12は、レーザセンサ5から受け付けたセンシング結果を、ダウンサンプリングを行うことなくそのまま用いてもよい。
【0065】
また、上記実施の形態では、倣い作業が溶接である場合について説明したが、倣い作業は、溶接以外の作業であってもよい。溶接以外の倣い作業は特に限定されるものではないが、例えば、シーリングやバリ取りなどの線倣い作業を挙げることができる。倣い作業がシーリングである場合には、作業ツールは、シーリングガン(コーキングガン)等であってもよい。また、倣い作業がバリ取りである場合には、作業ツールは、バリ取りユニット等であってもよい。なお、倣い作業が溶接でない場合には、ロボット制御システム100は、溶接電源3を備えていなくてもよい。
【0066】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【0067】
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【0068】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
【0069】
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【0070】
また、上記実施の形態において、ロボット制御装置1に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
【0071】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【0072】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【0073】
以上より、本発明によるロボット制御装置等によれば、倣い作業において、センシング結果に応じた情報をメモリに蓄積できない事態が生じないようにすることができるという効果が得られ、倣い作業に関する制御を行うロボット制御装置等として有用である。
【符号の説明】
【0074】
1 ロボット制御装置、2 ロボット、4 作業ツール、5 レーザセンサ、6 作業対象物(ワーク)、11 記憶部、12 受付部、13 メモリ、14 メモリ管理部、15 制御部、100 ロボット制御システム
図1
図2
図3
図4
図5
図6
図7