特開2017-7036(P2017-7036A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人

▶ キヤノン株式会社の特許一覧
特開2017-7036ロボットシステムの制御方法、およびロボットシステム
<>
  • 特開2017007036-ロボットシステムの制御方法、およびロボットシステム 図000003
  • 特開2017007036-ロボットシステムの制御方法、およびロボットシステム 図000004
  • 特開2017007036-ロボットシステムの制御方法、およびロボットシステム 図000005
  • 特開2017007036-ロボットシステムの制御方法、およびロボットシステム 図000006
  • 特開2017007036-ロボットシステムの制御方法、およびロボットシステム 図000007
  • 特開2017007036-ロボットシステムの制御方法、およびロボットシステム 図000008
  • 特開2017007036-ロボットシステムの制御方法、およびロボットシステム 図000009
  • 特開2017007036-ロボットシステムの制御方法、およびロボットシステム 図000010
  • 特開2017007036-ロボットシステムの制御方法、およびロボットシステム 図000011
  • 特開2017007036-ロボットシステムの制御方法、およびロボットシステム 図000012
  • 特開2017007036-ロボットシステムの制御方法、およびロボットシステム 図000013
  • 特開2017007036-ロボットシステムの制御方法、およびロボットシステム 図000014
  • 特開2017007036-ロボットシステムの制御方法、およびロボットシステム 図000015
  • 特開2017007036-ロボットシステムの制御方法、およびロボットシステム 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2017-7036(P2017-7036A)
(43)【公開日】2017年1月12日
(54)【発明の名称】ロボットシステムの制御方法、およびロボットシステム
(51)【国際特許分類】
   B25J 13/00 20060101AFI20161216BHJP
【FI】
   B25J13/00 Z
【審査請求】未請求
【請求項の数】14
【出願形態】OL
【全頁数】23
(21)【出願番号】特願2015-125284(P2015-125284)
(22)【出願日】2015年6月23日
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
【住所又は居所】東京都大田区下丸子3丁目30番2号
(74)【代理人】
【識別番号】100082337
【弁理士】
【氏名又は名称】近島 一夫
(74)【代理人】
【識別番号】100141508
【弁理士】
【氏名又は名称】大田 隆史
(72)【発明者】
【氏名】小林 孝幸
【住所又は居所】東京都大田区下丸子3丁目30番2号 キヤノン株式会社内
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707CY37
3C707JS03
3C707KS33
3C707KX06
3C707LW03
3C707MS15
(57)【要約】
【課題】ロボットシステムにおいて、転送、あるいは記録すべき稼働情報(ログ)のデータ量を低減し、低負荷で稼働情報(ログ)を転送、あるいは記録できるようにする。
【解決手段】ロボット装置100のロボットアーム11の動作を制御する制御装置200を備え、ロボットアーム11の動作に関するログを管理端末300に転送する。制御装置200は、ロボットアーム11を動作させつつ、当該の動作に関するログデータを生成し短期保存ログ記録部26(一時記憶装置)に格納する(ログデータ生成工程)。ログ転送タイミングが到来すると、ロボットアーム11の動作に応じて、短期保存ログ記録部26(一時記憶装置)に格納されているログデータの一部を抽出してログ保存装置にログとして転送する(ログ転送工程)。
【選択図】図1
【特許請求の範囲】
【請求項1】
ロボットアームと、前記ロボットアームの動作を制御する制御装置を備え、前記ロボットアームの動作に関するログをログ保存装置に転送するロボットシステムの制御方法において、
前記制御装置が、前記ロボットアームを動作させつつ、当該の動作に関するログデータを生成し一時記憶装置に格納するログデータ生成工程と、
前記制御装置が、ログ転送タイミングが到来した時、前記ロボットアームの動作に応じて、前記一時記憶装置に格納されている前記ログデータの一部を抽出して前記ログ保存装置にログとして転送するログ転送工程と、
を含むことを特徴とするロボットシステムの制御方法。
【請求項2】
請求項1に記載のロボットシステムの制御方法において、前記ログ転送工程において、前記制御装置が、前記一時記憶装置に格納されている生成されたログデータから、少なくとも前記動作で用いられた前記ロボットアームの特定部位に関するログデータを抽出して前記ログ保存装置にログとして転送することを特徴とするロボットシステムの制御方法。
【請求項3】
請求項2に記載のロボットシステムの制御方法において、前記特定部位が、前記ロボットアームに装着されたエンドエフェクタまたは工具であることを特徴とするロボットシステムの制御方法。
【請求項4】
請求項2または3に記載のロボットシステムの制御方法において、前記制御装置が、前記ログ転送工程において抽出し、前記ログ保存装置にログとして転送すべきログデータに係る特定部位を設定するログ対象部位設定工程を含むことを特徴とするロボットシステムの制御方法。
【請求項5】
請求項1から4のいずれか1項に記載のロボットシステムの制御方法において、前記ログデータ生成工程において、前記制御装置が、前記ロボットアームの制御値、ないし前記ロボットアームに設けられたセンサから出力されるセンサ情報から前記ログデータを生成することを特徴とするロボットシステムの制御方法。
【請求項6】
請求項1から5のいずれか1項に記載のロボットシステムの制御方法において、前記ログ保存装置が外部記憶装置であるか、またはネットワーク接続された外部の管理端末であることを特徴とするロボットシステムの制御方法。
【請求項7】
請求項1から6のいずれか1項に記載のロボットシステムの制御方法において、前記一時記憶装置は短期的にログデータを格納し、前記ログ保存装置は長期的にログデータを格納することを特徴とするロボットシステムの制御方法。
【請求項8】
請求項1から7のいずれか1項に記載のロボットシステムの制御方法において、前記ログ転送工程において、前記制御装置が、特定の時間幅の範囲のログデータを抽出して、前記ログ保存装置にログとして転送することを特徴とするロボットシステムの制御方法。
【請求項9】
請求項8に記載のロボットシステムの制御方法において、前記特定の時間幅を設定するログ時間幅設定工程を含むことを特徴とするロボットシステムの制御方法。
【請求項10】
請求項1から9のいずれか1項に記載のロボットシステムの制御方法において、抽出した前記ログデータをデータ圧縮し、圧縮後のログデータが前記ログ保存装置にログとして転送されることを特徴とするロボットシステムの制御方法。
【請求項11】
請求項1から10のいずれか1項に記載の前記ログデータ生成工程と、前記ログ転送工程を前記制御装置に実行させるためのロボット制御プログラム。
【請求項12】
請求項11に記載のロボット制御プログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項13】
請求項1から8のいずれか1項に記載のロボットシステムの制御方法により前記制御装置が前記ロボットアームを動作させて物品を製造することを特徴とする物品の製造方法。
【請求項14】
ロボットアームと、前記ロボットアームの動作を制御する制御装置を備え、前記ロボットアームの動作に関するログをログ保存装置に転送するロボットシステムにおいて、
前記制御装置は、前記ロボットアームを動作させつつ、当該の動作に関するログデータを生成し一時記憶装置に格納し、ログ転送タイミングが到来した時、前記ロボットアームの動作に応じて、前記一時記憶装置に格納されている前記ログデータの一部を抽出して前記ログ保存装置にログとして転送することを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットアームと、前記ロボットアームの動作を制御する制御装置を備え、前記ロボットアームの動作に関するログをログ保存装置に転送するロボットシステムの制御方法、およびロボットシステムに関する。
【背景技術】
【0002】
近年、工場製造ラインでは大量生産向きのライン生産方式システムに代わり、消費者のニーズに柔軟に対応する多品種/少量生産を実現するセル生産システムが増加しつつある。セル生産システムでは、1人の作業者が生産用のセルと呼ばれる作業場所で複数の作業工程を処理して1つの製品(または製品の一部)を生産する。また、セル生産システムにおいて、作業者によるワークへの部品組付け作業をロボットセルに代替させ、ロボットセルによってセル生産システムを構成することも行われている。
【0003】
ロボットセルでは、作業者が行っていた精密で複雑な難易度の高い組付け作業をロボットで代替する必要がある。このため、ロボットに力覚センサを配置し力覚制御を行いながらワークを組付けたり、組付けるワークによって工具を持ち替えて作業したりするロボット制御が用いられることがある。
【0004】
ロボットセルのようなロボットシステムでは、障害発生時の解析作業のために、稼働情報をできるだけ長期間保存したいという需要がある。ここで、稼働情報とは、ロボットアームの関節やエンドエフェクタの制御情報、各種工具の制御情報の他、関節などの各部位に配置されたエンコーダや力覚センサ出力のようなセンサ情報を指す。このような稼働情報のデータファイルやデータストリームは一般に「ログ」などと呼ばれ、また、稼働情報の転送や記録処理のことを「ロギング」などと呼ぶことがある。稼働情報のロギングは、ロボットの制御装置に配置したディスク装置やフラッシュメモリなどの記憶装置に対して行うか、あるいはネットワークを介してロボット装置外部の管理端末に対して転送して保存させる。
【0005】
この稼働情報のデータ量は、組付け作業の複雑化に伴い増大し、また、システムの稼働期間が長くなればそれだけ増大し、ロギングのためにロボット制御装置やネットワークないし外部の管理端末の負荷も増大する。この点に鑑み、例えば、ロボットの稼働情報のサイズが一定量に達した場合、もしくは一定時間が経過した場合の少なくともいずれかの場合に通信ネットワーク部を介して外部の管理端末へ送信する構成が提案されている(例えば下記の特許文献1)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2003−103485号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記の特許文献1の構成によると、間欠的に管理端末へのログ転送を行うため、ログ転送を行わない他の期間ではロギングに関する負荷を低減できると考えられる。しかしながら、特許文献1では発生したログを全て転送する構成を基本としている。このため、作業の複雑さや稼働期間の増大によって大量のログが発生するロボットシステムでは、ログ転送期間の負荷が過大となり、他の通常動作期間に影響を及ぼす可能性がある。また、ログ転送期間の長さに制限がある場合はログ全体を転送しきれなくなる可能性もある。
【0008】
本発明の課題は、上記の問題を解決し、ロボットシステムにおいて、転送、あるいは記録すべき稼働情報(ログ)のデータ量を低減し、低負荷で稼働情報(ログ)を転送、あるいは記録できるようにすることにある。
【課題を解決するための手段】
【0009】
上記課題を解決するため、本発明では、ロボットアームと、前記ロボットアームの動作を制御する制御装置を備え、前記ロボットアームの動作に関するログをログ保存装置に転送するロボットシステムの制御方法においては、前記制御装置が、前記ロボットアームを動作させつつ、当該の動作に関するログデータを生成し一時記憶装置に格納するログデータ生成工程と、前記制御装置が、ログ転送タイミングが到来した時、前記ロボットアームの動作に応じて、前記一時記憶装置に格納されている前記ログデータの一部を抽出して前記ログ保存装置にログとして転送するログ転送工程と、を含む構成を採用した。
【発明の効果】
【0010】
上記構成によれば、ロボットアームの動作に応じて、一時記憶装置に格納されているログデータの一部を抽出してログ保存装置にログとして転送することができる。これにより、ロボットシステムにおいて、転送、あるいは記録すべき稼働情報(ログ)のデータ量を低減し、低負荷で稼働情報(ログ)を転送、あるいは記録することができる、という優れた効果がある。
【図面の簡単な説明】
【0011】
図1】本発明を実施可能なロボットシステムの機能構成を示したブロック図である。
図2】本発明の実施例1として、図1のロボットシステムの具体的な構成を示したブロック図である。
図3図2のロボットシステムにおいて、ログ制御部によるログ制御手順を示したフローチャート図である。
図4図2のロボットシステムにおいて、長期保存ログ選択部によるログ選択手順を示したフローチャート図である。
図5図2のロボットシステムにおいて、長期保存ログ選択部によるログ選択の様子を模式的に示した説明図である。
図6】本発明の実施例2として、図1のロボットシステムの具体的な構成を示したブロック図である。
図7図6のロボットシステムにおいて、ログ制御部によるログ制御手順を示したフローチャート図である。
図8図6のロボットシステムにおいて、長期保存ログ選択部によるログ選択手順を示したフローチャート図である。
図9図6のロボットシステムにおいて、長期保存ログ選択部によるログ選択の様子を模式的に示した説明図である。
図10】本発明の実施例1により処理可能なロボット装置のログを示し、(a)はロボットアーム動作ログの説明図、(b)はエンドエフェクタ動作ログの説明図である。
図11】本発明の実施例2により処理可能なロボット装置のログを示し、(a)は力覚センサログの説明図、(b)は工具動作ログの説明図である。
図12】本発明により処理可能なロボット装置のイベントログを示した説明図である。
図13】本発明を実施可能なロボットシステムの外観を示した説明図である。
図14図2または図6のロボットシステムにおいて、長期保存ログの抽出対象となる特定部位および抽出時間幅の設定手順の一例を示したフローチャート図である。
【発明を実施するための形態】
【0012】
以下、添付図面に示す実施例を参照して本発明を実施するための形態につき説明する。なお、以下に示す実施例はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【0013】
図1は、本発明を実施可能なロボットシステムの機能構成を示している。本発明の実施例1に係るロボット装置の概略構成を示す説明図である。ロボットシステム400は、ロボット装置100、制御装置200、および管理端末300を備えている。
【0014】
ロボット装置100は、例えば図13に示すような組立作業等の作業を行う多関節のロボットである。ロボット装置100は、垂直多関節型のロボットアーム11と、このロボットアーム11の先端に取り付けられたエンドエフェクタ12を含む。図13のロボットアーム11は、基台1210上に、順次、関節J1〜J6で相互に可動支持されたリンク1211〜1216を有する、6軸垂直多関節の構成である。なお、各関節J1〜J6の内部には、関節J2に関して破線で示すような駆動機構1230が設けられる。この関節の駆動機構は、例えばモータのような回転駆動源と波動歯車機構などを用いた減速機を用いて構成される。
【0015】
図13の場合、制御装置200には操作装置401が接続されている。操作装置401は、例えば関節J1〜J6の動作を制御するキーボードおよび各種情報表示用のディスプレイなどを有し、ロボット装置100の設置現場でロボットアーム11の動作を教示するために用いられる。このような操作装置401は、例えばティーチングペンダントなどと呼ばれる。
【0016】
エンドエフェクタ12は、例えばロボットアーム11の先端のリンク1216に着脱可能なハンドやグリッパなどである。図13では、エンドエフェクタ12がフィンガ1220を有するハンド(あるいはグリッパ)のような把持機構から成る構成を例示している。制御装置200により、エンドエフェクタ12をロボットアーム11に連動して制御することにより、例えばワークW1を把持してワークW2に組み付けすることにより、ロボットアーム11に特定の物品を製造する操作を行わせることができる。
【0017】
また、図13に括弧書きで示すように、エンドエフェクタ12はワークW1のみならず、例えば電動ドライバのような工具T1を把持して、この工具T1によってワーク(部品)の加工や組み立て操作を行うことができる。なお、この種の工具T1は、以下の説明ではエンドエフェクタ12で例えば把持して用いられる仕様を前提とする。しかしながら、ロボットシステムの仕様によっては、エンドエフェクタ12の1つとして直接ロボットアーム11の先端のリンク1216に装着する場合も考えられる。
【0018】
図1において、ロボットアーム11には、精密な組み立てに必要な力覚制御を行えるよう力覚センサ13を配置する場合がある。力覚センサ13は、例えば歪みゲージなどを利用したトルクセンサなどによって構成される。力覚センサ13は、例えばエンドエフェクタ12のリンク1216に対する装着面近傍に配置される。力覚センサ13は、ワークW1あるいは工具T1を操作した時に、例えばエンドエフェクタ12の装着面に垂直な方向に働く反力や、エンドエフェクタ12の中心軸廻りに働くトルクなどを検出する。ロボットアーム11、エンドエフェクタ12、あるいは工具T1は制御装置200から所定のデータ形式を有する制御値を受信し、制御値に応じた動作を行うとともに、制御結果を制御装置200に送信する。また、ロボットアーム11、エンドエフェクタ12、あるいは工具T1の動作中、力覚センサ13は、例えば検出した力覚値を随時、制御装置200に送信する。
【0019】
また、ロボットアーム11の各関節J1〜J6の駆動機構1230は、制御装置200から送信される所定のデータ形式を有する制御値を受信し、制御値に応じた動作を行う。制御装置200は、例えば後述のロボットプログラム解釈部22によって、予め用意されたロボットプログラムを解釈し、ロボットアーム11の先端などの所定の部位が所定の教示点に対応する位置姿勢を取るよう各関節J1〜J6の制御値を決定する。各関節J1〜J6の駆動機構1230の内部、例えば減速機の入力軸と出力軸には、これら各軸の回転位置を検出するエンコーダ(角度センサないし位置検出器)がそれぞれ配置される。ロボットアーム11に関して配置されたセンサ類の出力も、上記の力覚センサ13の場合と同様に、ロボットアーム11の動作中、制御装置200に逐次送信される。同様の角度センサないし位置検出器のようなエンコーダが、エンドエフェクタ12や工具T1に関して配置されている場合には、それらの出力も動作中、制御装置200に転送される。
【0020】
図1において、制御装置200は、制御部(演算部)としてCPU201を有する。CPU201は、ロボットプログラム記録部に記録されているロボットプログラムに従って制御対象であるロボット装置100の動作を制御する。図1の201のブロック内に示した小ブロックは、CPU201が制御プログラムを実行することによって実現される制御機能を示している。
【0021】
これらの機能ブロックには、ロボットプログラム記録部21に格納されたロボットプログラムを解釈するロボットプログラム解釈部22が含まれる。ロボット制御部28は、ロボットプログラム解釈部22の処理結果に応じてロボット装置100に対する制御コマンドを送信するとともに、上記のようにロボット装置100から送信される力覚センサ13、エンコーダなどのセンサ類の出力を取得する。
【0022】
本実施例のロボットシステム400では、ロボット装置100の稼働情報(稼働データ)としてのログの生成および保存処理を行う。このためのCPU201の機能ブロックは、ログ制御部25、動作ログ生成部27、長期保存ログ選択部24に相当する。
【0023】
動作ログ生成部27は、ロボット制御部28が入出力するロボットアーム11の制御値や、ロボット装置100から送信される力覚センサ13、エンコーダなどのセンサ類の出力からロボットアーム11の動作に関するログデータを生成する。このログデータは、例えば後述の図10(a)、(b)などに示すようにタイムスタンプ(日時データ)と、これに関連づけられたイベント内容から成る。タイムスタンプ(日時データ)と、関連づけられたイベント内容は、図示のように例えばロボットアーム11の制御値とロボットアーム11に設けられたセンサから得られた実際値であるセンサ情報の数値データである。また、このログデータは、可読文字(のみ)によって構成されたテキストデータや、あるいは特定のデータ幅を有するバイナリデータなどの形式で表現される。
【0024】
動作ログ生成部27が生成するログデータは、例えばRAM203のような一時記憶装置により構成された短期保存ログ記録部26に格納される。ただし、動作ログ生成部27は、後述の制御手順に示すように、ロボットアーム11の全ての動作に関するログデータを生成するのではなく、ロボットアーム11の動作内容に応じて必要なログデータのみを生成する。この動作ログ生成部27の選択的なログデータ生成は、ログ制御部25の制御に応じて行われる。
【0025】
即ち、動作ログ生成部27は、制御装置200が、ロボットアーム11を動作させつつ、当該の動作に関するログデータを生成し短期保存ログ記録部26(一時記憶装置)に格納するログデータ生成工程を実行する機能ブロックに相当する。
【0026】
短期保存ログ記録部26に収集されたログデータは、適当なログ転送タイミングにおいて、長期保存ログ選択部24によって特定の一部が抽出され、ネットワーク通信部23を介してログ保存装置に相当する外部の管理端末300に転送する。長期保存ログ選択部24は、例えばログ転送タイミング(例えばその直前)において実行されていたロボットアームの動作に応じて、短期保存ログ記録部26に収集されたログデータの特定の一部を抽出する。
【0027】
即ち、長期保存ログ選択部24は、ログ転送タイミングが到来した時、制御装置200が、ロボットアーム11の動作に応じて、短期保存ログ記録部26(一時記憶装置)上のログデータの一部を抽出する機能ブロックに相当する。この機能ブロックは、さらに上記のように抽出したログデータを管理端末300(ログ保存装置)にログとして転送する。これらの長期保存ログ選択部24によるログデータの抽出、および転送によって、ログ転送工程が構成される。
【0028】
なお、管理端末300は、例えばロボットシステムの稼働情報を管理するためのサーバコンピュータのような形態で実装することができる。また、管理端末300には、NASのようなネットワーク記憶装置を用いることも考えられる。本実施例の管理端末300は、制御装置200のネットワーク通信部23と通信可能なネットワーク通信部31、および制御装置200側から受信したログ(長期保存ログ)を記憶する長期保存ログ記録部32を含む。長期保存ログ記録部32は、例えばHDDや光ディスク装置のような大量のデータを長期に渡り安定して保存可能な外部記憶装置から構成する。
【0029】
なお、長期保存ログ選択部24が抽出し、管理端末300に転送するログのファイル、あるいはログのストリームは、所定のデータ圧縮方式によって圧縮して転送してもよい。あるいは、管理端末300側で、受信した非圧縮のログのファイルまたはストリームをデータ圧縮した上で、圧縮後のログデータを長期保存ログ記録部32に格納するようにしてもよい。これらのデータ圧縮方式としては、当然ながらテキストデータや、あるいはバイナリデータなどの形式で表現されたログを効率よく圧縮できるデータ圧縮方式を選択することができる。
【0030】
なお、上記の一時記憶装置(RAM203)は短期的にログデータを格納し、一方、ログ保存装置(管理端末300)は長期的にログデータを格納する。
【0031】
また、制御装置200と管理端末300の間のネットワーク構成によっては、保安上、ログを暗号化して送信する方式を取ってもよい。このようなログの暗号化方式には、各種の公知の公開鍵暗号方式などを利用することができる。制御装置200と管理端末300の間のネットワークは、有線接続のネットワークの他、無線接続のネットワークによって構成することもできる。
【0032】
なお、以下では、ログ保存装置として、上記のような例えばサーバコンピュータのような形態の管理端末300を用いるものとして説明する。しかしながら、長期保存ログ選択部24が抽出したログの転送先は、(ネットワーク(リモート)接続ではない)ローカル接続のログ保存装置であってもよい。例えば、このようなローカル接続のログ保存装置としては、制御装置200に内蔵された、あるいは外付けされたHDDや光ディスク装置のような外部記憶装置が考えられる。このようなローカル接続のログ保存装置は、制御装置200の内部またはロボット装置100ないし制御装置200の近傍に配置され、(ネットワーク(リモート)接続ではない)ローカル接続のインターフェースを介して制御装置200と接続される。
【0033】
以上のように、制御装置200は、ロボットアーム11を動作させつつ、当該の動作に関するログデータを生成し一時記憶装置に格納する(ログデータ生成工程)。そして、ログ転送タイミングが到来した時、制御装置200が、ロボットアーム11の動作に応じて、短期保存ログ記録部26(一時記憶装置)上のログデータの一部を抽出し、管理端末300(ログ保存装置)にログとして転送する(ログ転送工程)。
【0034】
これにより、例えば、ロボットアーム11の動作に応じて、短期保存ログ記録部26(一時記憶装置)上のログデータのうち、必要な部分のログデータのみを抽出して、逐次、管理端末300(ログ保存装置)にログとして転送し、保存させることができる。このため、ログ保存装置(管理端末300)に保存すべきロボット稼働情報としてのログの容量を大きく削減し、ログ保存装置がネットワーク接続である場合には、ログの転送に必要な帯域幅を大きく縮減することができる。
【0035】
長期保存ログ選択部24が行うログデータ抽出の基準は、例えば、ログ転送タイミング(例えばその直前)において実行されていたロボットアーム動作に応じて、後の動作解析などに必要な部分がログ保存装置(管理端末300)に残るように定める。例えば、ログ転送タイミング(例えばその直前)において実行されていたロボットアーム11の特定の動作において用いられていたロボットアーム11の特定部位に関するログデータを抽出する。
【0036】
このように短期保存ログから抽出し、ログ保存装置に長期保存ログとして転送すべきログデータに係る特定部位は、任意のロボットアーム11の部位であってよい。例えば、ロボットアーム11の関節(の角度の制御値とエンコーダから得られた実際値)に関するログデータを短期保存ログから抽出し、ログ保存装置に長期保存ログとして転送するような制御を行うことが考えられる。この関節(の角度の制御値とエンコーダから得られた実際値)に関するログデータは、例えばアームに関するログデータである。
【0037】
また、ロボットアーム11が、物品の組み立てに用いられる用途では、ログ転送タイミングが来た時に動作している特に手先の部位で実行している特定動作(に関するログデータ)は、後のログ解析時に特に重要である、と考えられる。このような見地では、短期保存ログから抽出し、ログ保存装置に長期保存ログとして転送すべきログデータに係るロボットアーム11の特定部位としては、ロボットアーム11に装着されたエンドエフェクタ12または工具T1が考えられる。
【0038】
また、ログ転送タイミングは、ロボットプログラムの特定の単位の終了タイミングに取ることが考えられる。例えば、以下の実施例1および2では、設定されたロボットプログラムの1ライン(1ステップ)のような制御単位において、予め設定された特定部位に関する短期保存のログデータを抽出し、ログ保存装置に長期保存ログとして転送している。
【0039】
また、ログ転送タイミングは、例えばCPU201のソフトウェア割り込みなどの機能を利用して生成することができる。また、RTC(リアルタイムクロック)のような計時デバイスを用いて、一定のインターバルで間欠的にログ転送が行われるように制御しても良い。
【0040】
さらに、これらのログ転送タイミングに加え、ロボットアーム11の非常停止が行われた時にログ転送タイミングを発生させるような制御を行ってもよい。一般に、この種のロボットシステム400は、ロボットアーム11の非常停止は、例えば操作装置401に設けられた非常停止ボタン(詳細不図示)の操作を介してユーザの判断により行えるよう構成される。また、力覚センサ13の力覚値や各関節J1〜J6のエンコーダの位置情報が異常な値を示した場合に制御装置200のエラー判定によりロボットアーム11の非常停止を行う場合も考えられる。また、ロボットアーム11に加速度センサのようなセンサ類が設けられている場合は、例えばアームに加わる加速度(衝撃)に応じてロボットアーム11の非常停止を行う制御も考えられる。ログ転送タイミングは、以上のような非常停止のいずれの場合にも発生させることができる。
【0041】
また、ログデータを抽出する場合、例えば長期保存ログ選択部24に特定の時間幅の範囲のログデータを抽出させ、ログ保存装置にログとして転送する制御を行う。これにより、ログ保存装置の記憶容量の削減、あるいはログ転送に必要なネットワークの帯域幅をさらに削減できる。なお、ログデータを抽出させる時間幅の範囲としては、例えば、上記特定部位の動作区間を含む、1秒〜数秒〜数10秒程度の範囲が考えられる。この時間幅は、下記のように任意の値を設定できるようにしてもよい。
【0042】
ここで、長期保存ログに対して、後に行われるログ解析の意図は様々に変化する可能性がある。このため、本実施例では、図14に示すような設定手順により、ログ保存装置に長期保存ログとして転送すべきログデータに係るロボットアーム11の特定部位を設定できるようにしておくとよい。図14の設定手順では、長期保存ログ選択部24がログデータを抽出する時間幅もユーザ(管理者)が設定できるようにしてある。図14の手順は、例えば制御装置200のCPU201によって実行される制御プログラムとして予めROM202などに格納しておくことができる。
【0043】
図14のステップS501では、ロボットアーム11(各関節)、エンドエフェクタ12、工具T1のような短期保存ログから抽出し、ログ保存装置に長期保存ログとして転送すべきログデータに係る特定部位をユーザ(管理者)に設定させる。このような設定ユーザーインターフェースは、例えば操作装置401のキーボードおよびディスプレイか、管理端末300のキーボードおよびディスプレイ(いずれも詳細不図示)を用いて構成することができる。このステップS501は、制御装置が、ログ転送工程において短期保存ログから抽出し、ログ保存装置に長期保存ログとして転送すべきログデータに係る特定部位を設定するログ対象部位設定工程に相当する。
【0044】
また、図14のステップS502では、長期保存ログ選択部24がログデータを抽出する時間幅をユーザ(管理者)に設定させる。このユーザーインターフェースは、ステップS501と同様、操作装置401や管理端末300のキーボードおよびディスプレイを用いて構成することができる。このステップS502は、長期保存ログ選択部24がログデータを抽出して、ログ保存装置にログとして転送する特定の時間幅を設定するログ時間幅設定工程に相当する。
【0045】
図14のような設定手順により、予めロボットアーム11(各関節)、エンドエフェクタ12、工具T1のような短期保存ログから抽出し、ログ保存装置に長期保存ログとして転送すべきログデータに係る特定部位を設定することができる。また、長期保存ログ選択部24がログデータを抽出して、ログ保存装置にログとして転送する特定の時間幅を設定することができる。
【0046】
なお、後述の実施例1、2では、ログデータの抽出および転送に係るものとして設定されたロボットアーム11の特定部位の動作開始時刻の前端から一定の時間(11a)を減算して、抽出すべき時間的なログ抽出範囲(13a)を求めている。あるいはさらに、後述の実施例1、2では、ロボットアーム11のログや力覚センサ13のログを含めて抽出、転送するために、さらに抽出範囲をログ抽出範囲(23a)まで前方に延長している(図5図9)。図14のステップS502では、少なくともログデータの抽出および転送に係るものとして設定されたロボットアーム11の特定部位のログデータを含む特定の時間幅を設定できればよい。例えば、図14のステップS502では、上記のように、特定部位の動作開始時刻の前端から減算すべき一定の時間(11a)や、それに応じて定まるログ抽出範囲(13a:図5図9)の全体の時間幅(の上限)を設定できるようにしておくことが考えられる。あるいはさらに、図14のステップS502では、ロボットアーム11のログや力覚センサ13のログを含める場合に延長されるログ抽出範囲(23a)の全体の時間幅(の上限)を設定できるようにしておくことが考えられる。
【0047】
ここで、以下の実施例1および2では、それぞれエンドエフェクタ12、工具T1(のいずれか)が短期保存ログから抽出し、ログ保存装置に長期保存ログとして転送すべきログデータに係る特定部位として選択されている。しかしながら、図14のような設定手順により、複数の特定部位を、短期保存ログから抽出し、ログ保存装置に長期保存ログとして転送すべきログデータに係る特定部位として設定することもできる(下記の実施例2)。その場合には、設定された各特定部位に関する短期保存ログから抽出し、ログ保存装置に長期保存ログとして転送することになる。
【0048】
例えば、図14のような設定手順により、エンドエフェクタ(12)が、ログ保存装置に長期保存ログとして転送すべきログデータに係る特定部位として設定されている場合は、下記の実施例1のような制御が行われる。また、図14のような設定手順により、例えばエンドエフェクタ(12)および工具(T1)が、ログ保存装置に長期保存ログとして転送すべきログデータに係る特定部位として設定されている場合は、下記の実施例2のような制御が行われる。
【0049】
なお、下記の実施例1および2では、ロボットアーム11(各関節)に関するログデータは、殊更にログ保存装置に長期保存ログとして転送すべきログデータに係る特定部位として設定されていないものとする。ただし、下記の実施例1および2では、エンドエフェクタ12または工具T1の動作に関連する稼働ログとしてロボットアーム11(各関節)に関するログデータも併せて抽出できるようにしてある。
【実施例1】
【0050】
図2は、本発明の実施例1に係るロボットシステム400の制御系の構成を、制御装置200の具体的な構成とともに示したものである。図2では、ログ転送タイミングが到来した時、例えばエンドエフェクタ12が動作していた場合の制御に係る部材を中心に図示してある。
【0051】
図2において、制御装置200は、上述のように、コンピュータの中枢となる、制御対象であるロボット装置100の動作を制御する制御部(演算部)としてのCPU201を備えている。さらに、制御装置200は、記憶部として、ROM202、RAM203、およびHDD204(あるいはSSDなど)を備えている。また、制御装置200は、ロボット装置100と通信するためのインターフェース211、および管理端末300と通信するためのインターフェース212を備えている。インターフェース211は例えば各種のシリアル/パラレルバス方式のインターフェース、あるいはネットワークインターフェースなどから構成される。インターフェース212は、各種の有線ないし無線接続のネットワークインターフェース(IEEE802.x)などから構成される。
【0052】
CPU201には、ROM202、RAM203、HDD204およびインターフェース211〜212が、バス210を介して接続されている。
【0053】
ROM202には、BIOSやブートローダなどの起動プログラムと、ロボット制御に必要なファームウェア、各種制御定数などのデータが格納されている。RAM203は、CPU201の演算処理結果等、各種データおよびロボット短期保存ログを一時的に記憶する記憶装置である。例えば、CPU201が、RAM203をワークエリアとして、ROM202やHDD204に格納されたプログラム(230、231)を実行することにより、図1の各機能ブロック(21〜28)が構成されることになる。
【0054】
HDD204には、制御プログラム231、およびロボットプログラム230を格納することができる。ただし、制御データ類や各種プログラムの格納先は、本実施例において例示する記憶媒体には特定されない。
【0055】
例えば、HDD204には、ロボット制御プログラムや教示点データ、あるいは後述するログ関連の制御プログラムなどをファイル形式で格納することができる。また、HDD204には、着脱式の各種光ディスクのような記録媒体、あるいは、着脱式のSSDやHDDのディスク装置、着脱式のフラッシュメモリに置換することもできる。このような各種の着脱式のコンピュータ読み取り可能な記録媒体は、例えば、本発明の一部を構成するアクセス制御プログラムを例えばROM202の(E(E)PROM領域)にインストールしたりアップデートしたりするのに利用できる。この場合、各種の着脱式のコンピュータ読み取り可能な記録媒体は、本発明を構成する制御プログラムを格納しており、これらの記録媒体それ自体も本発明を構成することになる。
【0056】
制御プログラム231は、ROM202に格納されたブートローダなどによってRAM203に読み込まれる基本ソフトウェアであり、例えばOS(オペレーティングシステム)のレイヤに相当する。ロボットプログラム230は、この制御プログラム231のシステム上で動作する。ロボットプログラム230は、ロボットアーム11に物品の組み立てなどの特定の動作を行わせるべく、ユーザ(管理者)(あるいはロボット装置100のベンダ)などにより用意される。あるいは、ロボットプログラム230は、操作装置401によって、ロボットアーム11の所定部位の取るべき位置姿勢に相当する教示点を順次指定することなどによっても作成することができる。
【0057】
インターフェース211には、ロボット装置100が接続されている。CPU201は、バス210およびインターフェース211を介して、ロボットアーム11およびエンドエフェクタ12の各関節の駆動部に角度指令値(位置指令値)を出力し、ロボット装置100の動作を制御する。また、制御装置200は力覚センサ13から出力される力覚値を受信し、ロボットアーム11およびエンドエフェクタ12の制御に使用する。インターフェース212には、管理端末300が接続されている。このインターフェース212は、図1に示すネットワーク通信部23として機能する。
【0058】
本実施例の制御装置200は、図2に示すように構成されている。そして、CPU201がロボットプログラム230ないし制御プログラム231を実行することによりロボットプログラム解釈部22、長期保存ログ選択部24、ログ制御部25、動作ログ生成部27およびロボット制御部28などの機能が実現される。
【0059】
RAM203は、例えば一時記憶装置であり、図1の短期保存ログ記録部26として機能する。また、図2の構成では、図1のロボットプログラム記録部21は、HDD204によって実現されている。インターフェース212は、ネットワーク通信部23として機能する。
【0060】
本実施例では、ロボットアーム11は制御装置200のロボット制御部28から受信した動作指示に基づき動作し、制御結果(例えば各関節J1〜J6のエンコーダ値)をロボット制御部28に返送する。エンドエフェクタ12は、制御装置200のロボット制御部28から受信した動作指示に基づき動作し、制御結果をロボット制御部28に送信する。ロボットアーム11の所定部位、例えばエンドエフェクタ12の装着部位近傍などに配置された力覚センサ13で検出された力覚値は制御装置200のロボット制御部28に対して送信される。
【0061】
ここで、上記図2の構成を踏まえ、図1の各ブロックの機能につき説明する。ロボットプログラム記録部21(HDD204)には、制御装置200でロボット装置100を制御して、どのように動作させるかを記述したロボットプログラムが記録される。
【0062】
例えば、図12は、ロボットイベントログ(RE1〜RE4)の形式で、ロボットプログラムのステートメント(1001、1001…)と、各ステートメントに対応する教示点の位置姿勢(1010、1011、1012)の対応を示している。ここで、教示点は、ロボットアーム11の基準位置(例えばエンドエフェクタの装着面中心など)の取るべき3次元(x、y、z)座標と、各軸廻りの回転位置(tX、tY、tZ)に相当する。
【0063】
ロボットイベントログRE1の制御は、制御装置200が、ロボットアーム11の基準位置の制御値(教示点)に対応する位置姿勢に移動(ARM−MOVE)させるコマンドを送信(SEND)する制御である。ロボットイベントログRE2には、ロボットイベントログRE1の動作指令に応じてロボット装置100側から返送(RECV)された内容で、ロボットアーム11の基準位置の位置姿勢の実際値と、エラーレベルの値が含まれている(1010)。
【0064】
ロボットイベントログRE3とRE4のハンドシェイクは、エンドエフェクタの動作(TOOL−MOVE)指令(1011)と、ロボット装置100側から返送(RECV)された実際値(1012)の各イベントになっている。この例では、エンドエフェクタの動作(TOOL−MOVE)指令(1011)には、エンドエフェクタの制御値として、目標の力覚値(Force)とその制限値(Limit)の値が含まれている。また、ロボット装置100側から返送(RECV)された実際値(1012)には、エンドエフェクタの位置情報(Pos)とエラーレベルの値が含まれている。
【0065】
図12の例えばロボットアーム11の制御値、および実際値は、いわゆる教示点表現で、特定のロボットアーム11の基準位置の位置姿勢であり、この形式のアーム動作ログを後述のアーム動作ログで記録することもできる。また、図12のロボットイベントログRE1〜RE4のうち、ロボットプログラムのステートメントのロギングについては後述の制御では取り扱わないが、タイムスタンプと関連づけてロボットプログラムのステートメントをログデータとして保存してもよい。あるいは、後述のアーム動作ログの一部として、図12の教示点形式のアーム動作ログと、ロボットプログラムのステートメントのログデータを、後述する特定部位に関するログデータとともに抽出して、ログ保存装置(管理端末300)に転送してもよい。特にロボットプログラムのステートメントが、特定部位に関するログデータとともに抽出され、ログ保存装置(管理端末300)に長期保存されていれば、後の解析が非常に容易になる、と考えられる。
【0066】
ロボットプログラム解釈部22は、ロボットプログラム記録部21に保存されているロボットプログラムを読み出し、読みだしたロボットプログラムからロボットの制御ができる動作指示に変換し、ロボット制御部28に指示する。ロボット制御部28は、ロボットプログラム解釈部22から受信した動作指示に応じてロボット装置100を動作させる。
【0067】
ロボットプログラム解釈部22、ロボット制御部28の機能分担は、これらを実現するCPU201の制御プログラムの実装方式により任意である。例えば、ロボットプログラム解釈部22およびロボット制御部28により、ロボットプログラム中のロボットアーム11の基準位置の位置姿勢を記述した教示点表現から、直接、アームの各関節J1〜J6を制御できるより具体的な制御データを生成する。例えば、ロボットプログラム解釈部22およびロボット制御部28は、ロボットプログラム中に記述されたロボットアーム11の基準位置の位置姿勢を実現する各関節J1〜J6の角度情報などの形式のデータを生成する。
【0068】
また、ロボットプログラム解釈部22の動作指示情報は、ログ制御部25にも出力される。ログ制御部25は、ロボットプログラム解釈部22の動作指示情報に応じて例えば、ロボットアーム11がその時点で実行している動作に応じてログデータを生成(図3)する。ロボットプログラム解釈部22からログ制御部25に与えられる動作指示情報は、例えば後述のログデータ生成(図3)が行える程度の指示情報であればよく、必ずしもロボット制御部28に出力される動作指示情報と同じである必要はない。
【0069】
また、ロボット装置100から受信した制御結果やセンサ値を動作ログ生成部27に送信する。ログ制御部25は、ロボットプログラム解釈部22から受信した動作指示を元に動作ログ生成部27にログ保存指示を送信する。また長期保存ログ選択部に長期保存ログ作成指示を送信する。動作ログ生成部27は、ロボット制御部28から受信したロボット装置100の制御結果や力覚センサ値をログ形式に変換し短期保存ログ記録部26に送信する。ここで生成するログはログ制御部25から受信したログ保存指示をもとに判断する。短期保存ログ記録部26は、動作ログ生成部27から受信したログ形式に変換されたデータを短期保存ログとして保存し、長期保存ログ選択部24からログの読み出し要求があった場合には指定範囲のログを読み出して送信する。
【0070】
長期保存ログ選択部24は、ログ制御部25からログ保存を指示された際に、短期保存ログ記録部26に保存されているログから長期保存するべきログを抽出し、ネットワーク通信部23に送信する。ネットワーク通信部23は、管理端末300と通信する。
【0071】
図1の管理端末300のネットワーク通信部31は制御装置200から長期保存ログを受信し、長期保存ログ記録部32に格納する。長期保存ログ記録部32は、例えばHDDや各種光ディスク装置などから構成され、受信した長期保存ログを保存する。
【0072】
次に、上記構成におけるロボット制御につき説明する。ここでは、上述の図14のような設定手順により、エンドエフェクタ12がログ保存装置に長期保存ログとして転送すべきログデータに係る特定部位として設定されていた場合のログデータ抽出および転送制御につき説明する。
【0073】
図3は、本実施例における制御装置200のログ制御部25によるログデータ生成工程を示している。この図3のログデータ生成工程は、1ライン(1ステップ)のロボットプログラムの実行を単位として記載されており、ロボットプログラムに応じてロボットアーム11が動作する期間の間、実行される。図4は、図3の1ライン(1ステップ)のロボットプログラムの実行終了時、即ち、ログ転送タイミングが到来した時に実行されるログデータ抽出と転送制御を示している。
【0074】
図3のステップS101において、ログ制御部25は、短期記録すべきログを決定し動作ログ生成部27に生成を指示する。ステップS102ではロボットプログラム解釈部22から動作指令を受信するまで待機し、1行分の動作指令を受信した場合、当該のロボットアーム11の動作を開始させる。
【0075】
ステップS103〜S106はロボットプログラム解釈部22より受信した動作指令によって分岐する。ステップS103においては受信した動作指令がアーム動作開始かどうかを判断し、アーム動作開始であった場合には動作ログ生成部27に対してアーム動作ログの生成開始を指示する(S107)。
【0076】
またステップS105において動作指令がアーム動作終了かどうかを判断し、アーム動作終了であった場合には動作ログ生成部27に対してアーム動作ログの生成停止を指示する(S109)。同様にステップS104およびS108でエンドエフェクタのログ生成開始を指示し、ステップS106およびS110でエンドエフェクタのログ生成停止を指示する。
【0077】
以上のようにして、ロボットアーム11の動作に同期して、作動している部位に応じて、ロボットアーム11の動作ログ、およびエンドエフェクタ12の動作ログが生成されていく。生成されたこれらの動作ログ(ログデータ)は、短期保存ログとして短期保存ログ記録部26(RAM203)上に格納される。
【0078】
図10(a)は上述のようにして生成されたロボットアーム11の動作ログの一例を示している。同図のロボットアーム11の動作ログは、図示のようにイベントのタイムスタンプ1001(日付および時刻)、各関節J1〜J6(図中の1軸〜6軸に相当)の目標位置(制御値)1002、各関節J1〜J6(1軸〜6軸)の現在位置1003から構成される。目標位置(制御値)1002は、例えばロボット制御部28を介してロボットアームに送信される制御値である。また、現在位置1003は、ロボット制御部28を介して取得される各関節J1〜J6(1軸〜6軸)のエンコーダ出力(位置情報)を用いて生成される。これら、目標位置(制御値)1002、現在位置1003は例えば制御クロックのパルス数によって表現される。
【0079】
また、図10(b)は、上述のようにして生成されたエンドエフェクタ12の動作ログの一例を示している。同図のエンドエフェクタ12の動作ログは、タイムスタンプ1001(日付および時刻)、目標位置(制御値)1004、現在位置1005から構成されており、各ログの数値の単位は例えば上記同様にパルス数である。
【0080】
また、図11(a)は、力覚センサ13の出力値を記録した力覚センサログの構成を示している。力覚センサ13については、例えばRAM203上に配置され、循環的に使用される力覚センサログ領域に逐次記録されるものとする。図11(a)に示すように力覚センサログもタイムスタンプ1001(日付および時刻)と、測定された力覚値(1006、1007)から構成されている。力覚値(1006、1007)は、力覚センサ13の配置や構成によって異なるデータ表現で記録される。同図の例では、力覚値1006は、例えば(エンドエフェクタ装着面中心を原点とする)3次元座標軸に沿った力(FX、FY、FZ)で、単位はNである。また、力覚値10067、例えば同3次元座標軸廻りのトルク(MX、MY、MZ)で、単位はNmである。
【0081】
なお、図10図11に例示したログデータのタイムスタンプ1001において、時刻は「:」で分割された時:分:秒データである。特に秒データに関しては、ロボット制御やログ解析に必要な精度条件に併せて例えば小数点以下6桁、即ちマイクロ秒単位で記録されている。このような日時データは、不図示のRTCのような計時デバイスを用いて生成することができる。なお、タイムスタンプ1001は理解を容易にするため日付と時:分:秒データにより示してあるが、短期保存ログ記録部26(RAM203)上での記録形式は任意である。例えば、日時データは、RAM203では過去の特定日時からの経過秒数などの形式で記録することができる。
【0082】
図4は、本発明の実施例1に係る制御装置200の長期保存ログ選択部24による長期保存ログの抽出および転送工程を示したフローチャート図である。
【0083】
図4の処理は、図3のステップS110の実行後にログ制御部25から開始指示される。図4のステップS201では、図3のステップS110で終了したエンドエフェクタ動作に対応するエンドエフェクタ動作ログの開始時刻を検索する。
【0084】
続いて、ステップS202では、ステップS201で検索した開始時刻から、特定時間幅を減算した時刻までの時間幅をログデータ抽出範囲とする。この特定時間幅は、上記のログデータ抽出の時間幅であり、例えば図14のステップS502で予め設定済みであるものとする。
【0085】
ステップS203ではステップS202で定めたログデータ抽出範囲のエンドエフェクタ動作ログを図1の短期保存ログ記録部26から抽出する。CPU201は、短期保存ログ記録部26(RAM203)上のログデータのタイムスタンプ1001(図10(a)、(b))を参照することにより、ログデータ抽出範囲の特定時間幅に相当するログデータか否かを判定することができる。
【0086】
ステップS203で抽出されたエンドエフェクタ動作ログは、ステップS204において図1のネットワーク通信部23を介して管理端末300に長期保存ログとして転送する。管理端末300では、受信したログを長期保存ログ記録部32に記録する。
【0087】
次に、ステップS205にてステップS202で定義したログ抽出範囲にアーム動作ログが保存されていないかを検索する。ここでアーム動作ログが保存されている場合には、ステップS206にて対応するアーム動作ログを図1の短期保存ログ記録部26から抽出する。抽出されたアーム動作ログは、ステップS207において図1のネットワーク通信部23を介して管理端末300に長期保存ログとして送信され、長期保存ログ記録部32に記録される。
【0088】
アーム動作ログを長期保存した場合には、ステップS202で定義したログ抽出範囲をアーム動作ログの区切りの良い記憶範囲まで拡張する(ステップS208)。ステップS209ではステップS202で定義もしくはステップS208で再定義されたログ記憶範囲に基づいて力覚センサログを抽出する。力覚センサログは、ステップS210において図1のネットワーク通信部23を介して管理端末300に長期保存ログとして送信され長期保存ログ記録部32に記録される。ステップS210が終了すると、図3のBに戻りステップS102にてロボットプログラム解釈部22から次の動作指令を受信するまで待機する。
【0089】
図5は、本実施例における長期保存ログ選択部24によるログ選択態様を模式的に表したものである。図中のブロック状の表示は各ログデータの範囲を示し、エンドエフェクタ12のログデータは同じ参照符号により示されている。また、図5の横方向は例えば時間軸に相当する。
【0090】
図5において、図4に示した長期保存ログの抽出制御に関して、エンドエフェクタ動作の開始時間を検索し一定値の時間(11a)を減算した時刻をログ抽出範囲13aとして定義する(ステップS201および202)。ログ抽出範囲13aの中から保存すべきエンドエフェクタ12の動作ログを抽出し長期保存ログ記録部32に記録する(ステップS203およびS204)。ログ抽出範囲13aにアーム動作ログが含まれる場合には、区切りの良い部分までアーム動作ログ22aを抽出し、長期保存ログ記録部32に記録する(ステップ205〜207)。
【0091】
即ち、アーム動作ログが存在した場合には、ログ抽出範囲13aをアーム動作ログ22aの記録範囲を考慮したログ抽出範囲23aまで遡って延長されることになる(ステップS208)。この時のログ抽出範囲23aの延長の基準としては、例えばログ抽出範囲13aが後端に掛っているアーム動作ログ(22)の前端まで延長する、といった基準でよい。なお、アーム動作ログ21aはログ抽出範囲23aに含まれず、長期保存ログとしては転送されない。
【0092】
また、力覚センサログ31aについては、RAM203上に配置され、循環的に使用される力覚センサログ領域に逐次記録されている。この力覚センサログ31aに関しては、例えば上記のようにアーム動作ログ(22)に関して延長されたログ抽出範囲23aの力覚センサのログデータを抽出して転送すればよい。
【0093】
以上のようにして、本実施例によれば、ログ保存装置(管理端末300)に長期保存ログとして転送すべきログデータに係る特定部位として指定し、その特定部位に関するログを抽出して、転送することができる。このため、稼動情報として必要なロボット装置100のログの長期保存を維持しつつ、不要なログを削減することができ、制御装置200の負荷低減および転送に必要な転送帯域を縮減できる。従来では、詳細なロボット動作ログを取得しようとした場合、人手でログから必要な部分を抽出するなどの手動編集作業が必要であったが、本実施例によれば、自動的に解析作業上、必要(重要)なロボットアームの部位に係るログのみを抽出することができる。
【0094】
また、本実施例1では、エンドエフェクタを長期保存ログとして転送すべきログデータに係る特定部位として指定している。そして、エンドエフェクタに関するログのみならず、エンドエフェクタ動作に連動して、ロボットアーム、および力覚センサのログを抽出、転送することができる。例えば、ロボットセルのような稼働環境において、障害発生時などの解析で重要な稼動情報は、ワークの供給動作および組付け動作である。そして、このワークの供給動作および組付け動作は、ワークを直接、取り扱うエンドエフェクタによって実行される。従って、ワークの供給動作および組付け動作をロボットで実施する場合、解析作業上、エンドエフェクタ動作に紐付いた直前のロボット動作である、と考えられる。
【0095】
そして、本実施例によれば、例えば上述の各ログ転送タイミングが到来した時に、エンドエフェクタに関するログを抽出し、転送することができる。また、エンドエフェクタ動作に連動して、ロボットアーム、および力覚センサのログを抽出し、転送することができる。このため、障害発生時などの解析で重要なエンドエフェクタに関するログ、およびロボットアーム、および力覚センサのログデータ(の部分のみ)を抽出し、ログ保存装置に転送することができる。従って、ワークの供給動作および組付け動作などの解析に特に重要なログを抽出し、他のそれ程重要度のないログデータの部位を転送しないで済むため、極めて効率よくロボット装置のログを転送し、長期保存することができる。本実施例によれば、ログの長期保存容量と転送帯域を縮減可能であるにも拘らず、解析に必要なログデータの部位は確実に保存されるため、後のログ解析作業を的確に行うことができる。
【0096】
なお、図14に示した抽出すべきログデータに係る特定部位や、抽出時間幅の設定は、ユーザ(管理者)の設定操作によって行うものとした。しかしながら、例えばロボットプログラムの言語仕様に特定部位や、抽出時間幅の設定を行えるコマンドやステートメントを用意してもよい。即ち、本実施例における特定部位を設定するログ対象部位設定工程や、ログ時間幅設定工程は、ユーザ設定操作により実現する他、ロボットプログラムのコマンドやステートメント記述によっても実現することができる。これにより、特定の組み立て動作を行わせるロボットプログラムを記述する場合、例えばコマンドやステートメントを利用してその特定の組み立て動作で特有の抽出すべきログデータに係る特定部位や、抽出時間幅の設定を行うことができる。従って、特定の組み立て動作ごとに、例えば自動的に異なるロボット動作ログの抽出態様を制御することができ、ユーザ(管理者)の負担を軽減することができる。
【実施例2】
【0097】
本実施例では、上述の図14のような設定手順により、エンドエフェクタ(12)に加え、工具(T1)がログ保存装置に長期保存ログとして転送すべきログデータに係る特定部位として設定されていた場合のログデータ抽出および転送制御につき説明する。
【0098】
図6は上記実施例1の図2に対応し、一部、本実施例に係る部位を明示的に示したブロック図である。図6において図2と異なる部分は、ロボット装置100内にさらに工具14(上述のT1)が明示されている点である。その他の構成は、図2と同じであり、ここでは詳細な説明を省略する。図13のアームの具体的な構成、図1の機能的なブロック構成などは、本実施例でも同様であるものとする。
【0099】
本実施例の図7および図8は、上記実施例1の図3および図4にそれぞれ対応する。図7は本実施例における制御装置200のログ制御部25によるログデータ生成工程を示している。この図7のログデータ生成工程は、1ライン(1ステップ)のロボットプログラムの実行を単位として記載されており、ロボットプログラムに応じてロボットアーム11が動作する期間の間、実行される。
【0100】
図8は、図7の1ライン(1ステップ)のロボットプログラムの実行終了時、即ち、ログ転送タイミングが到来した時に実行される主に工具14(T1)に関するログデータ抽出と転送制御を示している。なお、図7のエンドエフェクタ動作終了時(図7のステップS307、S313)時には、図4に示したエンドエフェクタに関するログデータ抽出と転送制御が行われる。
【0101】
実施例2では、図6のように、工具14(T1)が存在していることが実施例1と異なる。ロボットセルでは多能工を実現するために、組立工程において作業に適した工具をエンドエフェクタ12が把持して用いることがある。この種の工具には、例えばネジ締めを行う(電動)ドライバや、微小部品を把持するためのピンセットを装着した電動チャックなどがある。
【0102】
本実施例で実行されるロボットプログラム(図7)は、エンドエフェクタ12が工具14(T1)を把持して、工具14(T1)による組み立て動作(例えばビスの締め付けなど)を行うように記述されているものとする。以下、図7および図8の制御手順につき説明するが、図3および図4と重複する部分については、ステップ番号の対応のみ示し、上記実施例1で説明済みのステップの内容の詳細については説明を省略するものとする。
【0103】
図7のロボット制御(ログデータ生成工程を含む)の全体の流れは図3と同様であり、ステップS301では、ログ制御部25が短期記録すべきログを決定し動作ログ生成部27に生成を指示する。ステップS302ではロボットプログラム解釈部22から動作指令を受信するまで待機し、1行分の動作指令を受信した場合、当該のロボットアーム11の動作を開始させる。
【0104】
図7のステップS302〜S314のループの構成は、図3のステップS102〜S110として示したループの構成に、工具関係のステップが追加されたものとなっている。この図7の(図3にはない)工具関係のステップは、ステップS305、S311、S308、S314である。その他のステップは図3と同様で、ステップ番号の対応は以下のようになっている。
【0105】
図7のステップS303、S309は、図3のステップS103、S107に対応し、アーム動作に応じてアーム動作ログを短期保存ログデータとして生成開始するステップである。図7のステップS304、S310は、図3のステップS104、S108に対応し、エンドエフェクタ動作に応じてエンドエフェクタ動作ログを短期保存ログデータとして生成開始するステップである。
【0106】
また、図7のステップS306、S312は、図3のステップS105、S109に対応し、アーム動作終了に応じてアーム動作ログの生成を停止するステップである。また、図7のステップS307、S313は、図3のステップS106、S110に対応し、エンドエフェクタ動作終了に応じてエンドエフェクタ動作ログの生成を停止するステップである。
【0107】
なお、エンドエフェクタ動作終了に応じてエンドエフェクタ動作ログの生成を停止(ステップS313)した場合は、図4のステップS201に分岐する。そして、図4の制御により、上記実施例1と同様の(主に)エンドエフェクタに関するログデータの抽出、およびログ保存装置(管理端末300)への転送処理を行う。
【0108】
一方、工具14(T1)に関係する動作判定と、ログデータの生成開始、生成停止も、上記同様に行われる。まず、図7のステップS305では、受信した動作指令が工具動作開始かどうかを判断し、工具動作開始であった場合には、ステップS311において動作ログ生成部27に対して工具動作ログの生成開始を指示する。また、ステップS308において動作指令が工具動作終了かどうかを判断し、工具動作終了であった場合にはステップS314において動作ログ生成部27に対して工具動作ログの生成停止を指示する。
【0109】
そして、工具動作終了に応じて工具動作ログの生成を停止(ステップS314)した場合は、図8のステップS401に分岐し、主に工具に関するログデータの抽出、およびログ保存装置(管理端末300)への転送処理を行う。
【0110】
図8の工具に関するログデータの抽出、およびログ保存装置(管理端末300)への転送処理は、図4のエンドエフェクタに関するログデータの抽出、およびログ保存装置(管理端末300)への転送処理とほぼ同様の流れになっている。図4の200番台のステップ番号に(ほぼ)相当するステップは図8では400番台のステップ番号により示してある。図8では、ステップS401〜404が工具動作を起点としたログ保存フローとなっている点が異なる。しかしながら、ステップS405以降のアームログおよび力覚センサログのログデータを抽出し、ログ保存装置(管理端末300)へ転送する処理は前述の実施例1とほぼ同じである。
【0111】
ステップS401では、図7のステップS314で終了した工具14(T1)の動作に対応する工具動作ログの開始時刻を検索する。
【0112】
続いて、ステップS402では、ステップS401で検索した開始時刻から、特定時間幅を減算した時刻までの時間幅をログデータ抽出範囲とする。この特定時間幅は、上記のログデータ抽出の時間幅であり、例えば図14のステップS502で予め設定済みであるものとする。
【0113】
ステップS403ではステップS402で定めたログデータ抽出範囲の工具動作ログを図1の短期保存ログ記録部26から抽出する。CPU201は、短期保存ログ記録部26(RAM203)上のログデータのタイムスタンプ1001(図11(b))を参照することにより、ログデータ抽出範囲の特定時間幅に相当するログデータか否かを判定することができる。
【0114】
ステップS403で抽出された工具動作ログは、ステップS404において図1のネットワーク通信部23を介して管理端末300に長期保存ログとして転送する。管理端末300では、受信したログを長期保存ログ記録部32に記録する。
【0115】
図9は上記実施例1の図5に相当し、本実施例に係る長期保存ログ選択部によるログ選択方法を模式的に示している。図9中のブロック状の表示は各ログデータの範囲を示し、工具14のログデータは同じ参照符号により示されている。また、図5の横方向は例えば時間軸に相当する。
【0116】
上記の実施例1ではログ抽出範囲23aをエンドエフェクタ動作を起点として算出しているのに対し、図9では工具動作(14)を起点として算出している点が異なっているが、その他の態様については図5と同様である。なお、図9ではエンドエフェクタ動作ログの図示が空白となっているが、エンドエフェクタ動作ログについては、上記のステップS313から図4の制御への分岐によって、図5と同様の態様でログデータ抽出、および転送が行われることになる。
【0117】
以上のように、本実施例2に示した通り、エンドエフェクタ(12)に加え、工具(14、T1)もログ保存装置に長期保存ログとして転送すべきログデータに係る特定部位として設定しておくことができる。これにより、エンドエフェクタ動作のみならず工具動作にも連動してこれらの特定部位に関するログデータを短期保存ログを一時記憶装置(RAM203)から抽出し、ログ保存装置(管理端末300)に転送することができる。また、ロボットアームと力覚センサのログも関連づけて抽出し、ログ保存装置(管理端末300)に転送することができる。多工程を実現するロボットセルのような用途では、1種類のエンドエフェクタで組付け作業を行うことは困難であり、必要に応じて工具をエンドエフェクタが把持して作業を行うことになる。本実施例によれば、このような用途においても、エンドエフェクタのみならず、工具に関するログを確実に抽出して、長期保存ログとして転送することができるため、障害発生時の解析作業に必要なデータを取りこぼすことなく記録することができる。長期保存ログの長期保存容量と転送帯域の縮減効果などの効果は、本実施例でも上記の実施例1とほぼ同様である。
【0118】
なお、上記の実施例1および実施例2では、ログデータを抽出し、ログ保存装置に長期保存ログとして転送すべきログ転送タイミングは、ロボットプログラムの特定の単位の終了タイミングに取っている。より具体的には、上記実施例1および2では、設定されたロボットプログラムの1ライン(1ステップ)のような制御単位において、予め設定された特定部位に関する短期保存のログデータを抽出し、ログ保存装置に長期保存ログとして転送している。これに対して、上述の定期的なタイマ割り込みや、非常停止によって、ログデータを抽出し、長期保存ログとして転送するログ転送タイミングを発生する場合にも上述の制御を利用できる。例えば、定期的なタイマ割り込みや、非常停止などの事象が生じた時に、タイマ割り込みや例外処理(ソフトウェア割込みなど)に応じて、直ちに図4図8に示したログデータの抽出および転送処理に分岐するよう制御することができる。その場合、図3図7の短期ログデータの生成処理は、上述同様にロボットアーム11の通常動作に応じて実行させるのはもちろんである。
【0119】
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0120】
11…ロボットアーム、12…エンドエフェクタ、13…力覚センサ、26…短期保存ログ記録部、100…ロボット装置、200…制御装置、201…CPU(制御部)、203…RAM(一時記憶装置)、204…HDD(外部記憶装置)、230…ロボットプログラム、231…制御プログラム、300…管理端末(ログ保存装置)、400…ロボットシステム。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14