(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-23
(45)【発行日】2022-07-01
(54)【発明の名称】特性推定システム、特性推定方法、及びプログラム
(51)【国際特許分類】
H02P 29/00 20160101AFI20220624BHJP
B25J 13/08 20060101ALI20220624BHJP
【FI】
H02P29/00
B25J13/08 Z
(21)【出願番号】P 2018223491
(22)【出願日】2018-11-29
【審査請求日】2019-06-13
【審判番号】
【審判請求日】2021-04-30
(73)【特許権者】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】110000154
【氏名又は名称】特許業務法人はるか国際特許事務所
(72)【発明者】
【氏名】林 映光
(72)【発明者】
【氏名】日高 武臣
(72)【発明者】
【氏名】山崎 哲也
【合議体】
【審判長】窪田 治彦
【審判官】柿崎 拓
【審判官】田合 弘幸
(56)【参考文献】
【文献】特開2013-96870(JP,A)
【文献】国際公開第2017/175526(WO,A1)
【文献】米国特許出願公開第2018/0286119(US,A1)
【文献】国際公開第2018/092254(WO,A1)
【文献】国際公開第2017/130562(WO,A1)
【文献】特開2016-193463(JP,A)
【文献】特開2015-196187(JP,A)
【文献】特開平6-97259(JP,A)
【文献】国際公開第2015/068210(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H02P29/00
G01L5/00
B25J13/08
B25J19/02
(57)【特許請求の範囲】
【請求項1】
対象物を把持するロボットハンドと、
前記ロボットハンドの動作を定義した動作情報に基づいて、前記ロボットハンド
内部のモータにより前記ロボットハンドを開閉させる動作制御部と、
前記ロボットハンドが前記対象物
を把持するために閉じる動作を開始してから前記対象物の把持が完了するまでの期間において、前記モータのトルク信号を取得するトルク信号取得部と、
前記トルク信号
の立ち上がりタイミングに基づいて、前記対象物における異常発生の有無を推定する推定部と、
を有する特性推定システム。
【請求項2】
対象物を把持するロボットハンドと、
前記ロボットハンドの動作を定義した動作情報に基づいて、前記ロボットハンド内部のモータにより前記ロボットハンドを開閉させる動作制御部と、
前記ロボットハンドが前記対象物を把持するために閉じる動作を開始してから前記対象物の把持が完了するまでの期間において、前記モータのトルク信号を取得するトルク信号取得部と、
前記トルク信号の収束タイミングに基づいて、前記対象物における異常発生の有無を推定する推定部と、
を有する特性推定システム。
【請求項3】
対象物を把持するロボットハンドと、
前記ロボットハンドの動作を定義した動作情報に基づいて、前記ロボットハンド内部のモータにより前記ロボットハンドを開閉させる動作制御部と、
前記ロボットハンドが前記対象物を把持するために閉じる動作を開始してから前記対象物の把持が完了するまでの期間において、前記モータのトルク信号を取得するトルク信号取得部と、
前記トルク信号のピーク値に基づいて、前記対象物における異常発生の有無を推定する推定部と、
を有する特性推定システム。
【請求項4】
対象物を把持するロボットハンドと、
前記ロボットハンドの動作を定義した動作情報に基づいて、前記ロボットハンド内部のモータにより前記ロボットハンドを開閉させる動作制御部と、
前記ロボットハンドが前記対象物を把持するために閉じる動作を開始してから前記対象物の把持が完了するまでの期間において、前記モータのトルク信号を取得するトルク信号取得部と、
前記トルク信号が収束した場合の収束値に基づいて、前記対象物における異常発生の有無を推定する推定部と、
を有する特性推定システム。
【請求項5】
前記推定部により推定された異常発生の有無に基づいて、前記トルク信号を解析するコンピュータに対し、前記トルク信号が格納されたデータを送信する送信部、
を有する請求項1
~4の何れかに記載の特性推定システム。
【請求項6】
前記推定部により推定された異常発生の有無に基づいて、前記ロボットハンドが前記対象物を把持する工程よりも前の工程を変更する工程変更部、
を有する請求項1
~5の何れかに記載の特性推定システム。
【請求項7】
対象物を把持するロボットハンドの動作を定義した動作情報に基づいて、前記ロボットハンド
内部のモータにより前記ロボットハンドを開閉させ、
前記ロボットハンドが前記対象物
を把持するために閉じる動作を開始してから前記対象物の把持が完了するまでの期間において、前記モータのトルク信号を取得し、
前記トルク信号
の立ち上がりタイミングに基づいて、前記対象物における異常発生の有無を推定する、
特性推定方法。
【請求項8】
対象物を把持するロボットハンドの動作を定義した動作情報に基づいて、前記ロボットハンド内部のモータにより前記ロボットハンドを開閉させ、
前記ロボットハンドが前記対象物を把持するために閉じる動作を開始してから前記対象物の把持が完了するまでの期間において、前記モータのトルク信号を取得し、
前記トルク信号の収束タイミングに基づいて、前記対象物における異常発生の有無を推定する、
特性推定方法。
【請求項9】
対象物を把持するロボットハンドの動作を定義した動作情報に基づいて、前記ロボットハンド内部のモータにより前記ロボットハンドを開閉させ、
前記ロボットハンドが前記対象物を把持するために閉じる動作を開始してから前記対象物の把持が完了するまでの期間において、前記モータのトルク信号を取得し、
前記トルク信号のピーク値に基づいて、前記対象物における異常発生の有無を推定する、
特性推定方法。
【請求項10】
対象物を把持するロボットハンドの動作を定義した動作情報に基づいて、前記ロボットハンド内部のモータにより前記ロボットハンドを開閉させ、
前記ロボットハンドが前記対象物を把持するために閉じる動作を開始してから前記対象物の把持が完了するまでの期間において、前記モータのトルク信号を取得し、
前記トルク信号が収束した場合の収束値に基づいて、前記対象物における異常発生の有無を推定する、
特性推定方法。
【請求項11】
請求項1~6の何れかに記載の特性推定システムとしてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特性推定システム、特性推定方法、及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、対象物を把持するロボットハンド等の産業機器の物理量のトレースデータをクラウドサーバにアップロードし、クラウドサーバにアップロードされたトレースデータを解析者に解析させるシステムが記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、例えば、対象物の特性を推定することである。
【課題を解決するための手段】
【0005】
本発明の一側面に係る特性推定システムは、対象物を把持するロボットハンドと、前記ロボットハンドの動作を定義した動作情報に基づいて、前記ロボットハンドを動作させる動作制御部と、前記ロボットハンドが前記対象物を把持する場合の物理量を取得する物理量取得部と、前記物理量に基づいて、前記対象物の特性を推定する推定部と、を有する。
【0006】
本発明の一側面に係る特性推定方法は、対象物を把持するロボットハンドの動作を定義した動作情報に基づいて、前記ロボットハンドを動作させ、前記ロボットハンドが前記対象物を把持する場合の物理量を取得し、前記物理量に基づいて、前記対象物の特性を推定する。
【0007】
本発明の一側面に係るプログラムは、対象物を把持するロボットハンドの動作を定義した動作情報に基づいて、前記ロボットハンドを動作させる動作制御部、前記ロボットハンドが前記対象物を把持する場合の物理量を取得する物理量取得部、前記物理量に基づいて、前記対象物の特性を推定する推定部、としてコンピュータを機能させる。
【0008】
また、本発明の一側面によれば、前記推定部により推定された特性に基づいて、前記物理量を解析するコンピュータに対し、前記物理量が格納されたデータを送信する送信部、を有する。
【0009】
また、本発明の一側面によれば、前記推定部により推定された特性に基づいて、前記ロボットハンドが前記対象物を把持する工程よりも前の工程を変更する工程変更部、を有する。
【0010】
また、本発明の一側面によれば、前記推定部により推定された特性に基づいて、前記動作情報を変更する動作情報変更部、を有する。
【0011】
また、本発明の一側面によれば、前記物理量は、トルク信号であり、前記対象物の製造周期ごとに取得された前記トルク信号の変化に基づいて、前記対象物の特性を推定する第1推定部、を有する。
【0012】
また、本発明の一側面によれば、前記物理量は、トルク信号であり、前記トルク信号の立ち上がりタイミングに基づいて、前記対象物の特性を推定する第2推定部、を有する。
【0013】
また、本発明の一側面によれば、前記物理量は、トルク信号であり、前記トルク信号の収束タイミングに基づいて、前記対象物の特性を推定する第3推定部、を有する。
【0014】
また、本発明の一側面によれば、前記物理量は、トルク信号であり、前記トルク信号のピーク値に基づいて、前記対象物の特性を推定する第4推定部、を有する。
【0015】
また、本発明の一側面によれば、前記物理量は、トルク信号であり、前記トルク信号が収束した場合の収束値に基づいて、前記対象物の特性を推定する第5推定部、を有する。
【発明の効果】
【0016】
上記発明によれば、例えば、対象物の特性を推定することができる。
【図面の簡単な説明】
【0017】
【
図1】実施形態に係る特性推定システムの全体構成を示す図である。
【
図2】特性推定システムが利用される様子を示す図である。
【
図3】特性推定システムで実現される機能を示す機能ブロック図である。
【
図4】データベースのデータ格納例を示す図である。
【
図5】物理量取得部により取得された物理量の一例を示す図である。
【
図6】対象物の特性を推定する処理を説明するための図である。
【
図7】対象物の特性を推定する処理を説明するための図である。
【
図8】対象物の特性を推定する処理を説明するための図である。
【
図9】特性推定システムで実行される処理を示すフロー図である。
【発明を実施するための形態】
【0018】
[1.特性推定システムの全体構成]
本発明の発明者の見地によれば、例えば、工場等で製品を製造する場合に製品の検査に手間がかかることがあり、ロボットハンドで対象物を把持した場合に、サイズ、形状、又は固さ等の特性を推定することができれば、検査の手間を軽減したり、品質を向上させたりすることができる。そこで、本発明の発明者は、対象物の特性を推定するために鋭意研究開発を行った結果、新規かつ独創的な特性推定システム等に想到した。以降、本実施形態に係る特性推定システム等を詳細に説明する。
【0019】
図1は、実施形態に係る特性推定システムの全体構成を示す図である。
図1に示すように、特性推定システム1は、ユーザ端末10、ロボットコントローラ20、及びロボット30を含む。ユーザ端末10とロボットコントローラ20との各々は、インターネットやローカルエリアネットワーク等のネットワークNに接続される。なお、
図1では、ユーザ端末10、ロボットコントローラ20、及びロボット30を1つずつ示しているが、これらは複数台あってもよい。
【0020】
ユーザ端末10は、ユーザが操作するコンピュータである。例えば、ユーザ端末10は、パーソナルコンピュータ、携帯電話(スマートフォンを含む)、又は携帯端末(タブレット型端末を含む)である。ユーザ端末10は、CPU11、記憶部12、通信部13、操作部14、及び表示部15を含む。
【0021】
CPU11は、少なくとも1つのプロセッサを含む。記憶部12は、RAM等の揮発性メモリとハードディスク等の不揮発性メモリを含み、各種プログラムやデータを記憶する。CPU11は、これらプログラムやデータに基づいて各種処理を実行する。通信部13は、ネットワークカードや各種通信コネクタ等の通信インタフェースを含み、他の装置との通信を行う。操作部14は、マウスやキーボード等の入力デバイスである。表示部15は、液晶ディスプレイ又は有機ELディスプレイ等であり、CPU11の指示により各種画面を表示する。
【0022】
ロボットコントローラ20は、ロボット30を制御するコンピュータである。ロボットコントローラ20は、特定のロボット30に特化した専用機器であってもよいが、本実施形態では、汎用コンピュータであるものとする。ロボットコントローラ20は、CPU21、記憶部22、及び通信部23を含む。CPU21、記憶部22、及び通信部23は、それぞれCPU11、記憶部12、及び通信部13と同様の構成である。ロボットコントローラ20は、ロボット30に動作指示を送る。ロボットコントローラ20は、複数台のロボット30を制御してもよい。
【0023】
ロボット30は、例えば、産業用ロボットである。ロボット30は、汎用の多関節ロボットであってよく、例えば、垂直多関節型、水平多関節型、又はガントリ型といった種々の形式のロボットを適用可能である。ロボット30のアーム数は、任意であってよく、1本のみのアームであってもよいし、複数本のアームであってもよい。ロボット30は、ロボットハンド31及びセンサ部32を含む。
【0024】
ロボットハンド31は、作業用ハンド又はエンドエフェクタとも呼ばれる。ロボットハンド31は、ロボット30のロボットアームの先端に取り付けられ、対象物を把持して所定の位置まで運ぶ。ロボットハンド31の動作に必要な動力は、ロボット30の内部を通る電力線により供給される。電力線から供給される電力によってロボットハンド31内部のモータが回転し、ロボットハンド31の開閉が制御される。モータが所定方向に回転すると、ロボットハンド31の指先が閉じる方向に移動し、モータが逆方向に回転すると、ロボットハンド31の指先が閉じる方向に移動する。なお、モータは、回転式に限られず、リニア式であってもよい。
【0025】
センサ部32は、ロボット30の動作を検出するセンサを含む。本実施形態では、センサ部32がロボットハンド31の動作を検出する場合を説明するが、センサ部32は、ロボット30のロボットアームの動作を検出してもよい。例えば、センサ部32は、トルクセンサ、力センサ、及びモータエンコーダの少なくとも1つを含む。トルクセンサは、ロボットハンド31内部のモータが回転する際のトルクを検出するセンサである。トルクセンサは、静電容量式又は光学式といった任意の方式を適用可能である。力センサは、ロボットハンド31の先端に加わる力を検出するセンサである。力センサは、力覚センサ又は触覚センサとも呼ばれ、ひずみゲージ式又は静電容量式といった任意の方式を適用可能である。モータエンコーダは、ロボットハンド31内部のモータの位置を検出するセンサであり、例えば、回転式のモータであれば回転量(回転位置・回転角度)を検出し、リニア式のモータであれば直線上の移動量(現在位置)を検出する。モータエンコーダは、光学式又は磁気式といった任意の方式を適用可能である。
【0026】
なお、記憶部12,22に記憶されるものとして説明するプログラム及びデータは、ネットワークNを介してユーザ端末10又はロボットコントローラ20に供給されるようにしてもよい。また、各装置のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、ユーザ端末10及びロボットコントローラ20の各々は、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)や外部機器と直接的に接続するための入出力部(例えば、USB端子)を含んでもよい。この場合、情報記憶媒体に記憶されたプログラムやデータが読取部又は入出力部を介して、ユーザ端末10又はロボットコントローラ20に供給されるようにしてもよい。
【0027】
[2.特性推定システムの概要]
図2は、特性推定システム1が利用される様子を示す図である。例えば、特性推定システム1は、加工食品を製造する工場等の施設で用いられ、
図2に示すように、ロボットハンド31は、対象物Oを把持する。
【0028】
対象物Oは、ロボットハンド31が把持する物体であり、ワークとも呼ばれる。最終的な製品が対象物Oに相当してもよいし、製品の製造過程で生成される中間生成物が対象物Oに相当してもよい。例えば、対象物Oは、ベルトコンベア等によってロボット30の作業範囲内に移動し、ロボットコントローラ20の制御によって動作するロボットハンド31によって把持される。
【0029】
特性推定システム1は、任意の製品が製造される場面で用いられてよいが、本実施形態では、加工食品が製造される場面を例に挙げて、特性推定システム1の動作を説明する。加工食品の製造工程自体は、一般的な製造工程であってよく、例えば、原料生成工程、成形工程、及び加熱工程といった工程を含む。
【0030】
原料生成工程は、加工食品の原料を生成する工程である。例えば、原料生成工程では、原材料に調味料などが加えられて撹拌される。成形工程は、原料生成工程で生成された原料を成形する工程である。例えば、成形工程では、口金などから原料を押し出したり、型枠に原料を流し込んだりすることによって、原料が成形される。加熱工程は、成形された原料を加熱する工程である。例えば、加熱工程では、成形された原料がオーブンや蒸し器などを通過することによって、原料の過熱が行われる。
【0031】
本実施形態では、成形工程を終えた成形済みの原料が対象物Oに相当する場合を説明する。ロボットハンド31は、成形工程を終えた対象物Oを把持し、センサ部32のトルクセンサ等によって検出された物理量に基づいて、当該対象物Oのサイズ、形状、又は固さといった種々の特性を推定するようになっている。以降、特性推定システム1が有する構成の詳細を説明する。
【0032】
[3.特性推定システムで実現される機能]
図3は、特性推定システム1で実現される機能を示す機能ブロック図である。ここでは、ユーザ端末10及びロボットコントローラ20の各々で実現される機能について説明する。
【0033】
[3-1.ロボットコントローラで実現される機能]
図3に示すように、ロボットコントローラ20では、動作制御部200が実現される。動作制御部200は、CPU21を主として実現される。動作制御部200は、ロボットハンド31の動作を定義した動作情報に基づいて、ロボットハンド31を動作させる。動作情報には、ロボットハンド31を開閉させるタイミング及びその強さ(速さ)が定義されている。動作制御部200は、動作情報が示すタイミング及び強さに基づいて、ロボットハンド31を開閉させる。
【0034】
本実施形態では、ロボットハンド31は、第1の位置に配置された対象物Oを把持し、第2の位置に移動させるので、動作情報には、ロボットハンド31を第1の位置に移動させ、所定のタイミング及び強さで手を閉じ、一定の把持強度を維持しながらロボットハンド31を第2の位置に移動する旨の命令及びパラメータが示されている。動作制御部200は、動作情報が示す命令及びパラメータに基づいて、ロボットハンド31を第1の位置に移動させ、所定のタイミング及び強さで手を閉じさせた後に、一定の把持強度を維持しながらロボットハンド31を第2の位置に移動させて手を開かせる。
【0035】
本実施形態では、対象物Oが周期的に製造されるので、動作情報には、各周期におけるロボットハンド31の動作が示されている。例えば、動作制御部200は、周期の開始時点が訪れた場合に、動作情報に基づいて、ロボットハンド31を動作させる。動作制御部200は、計時処理を実行して周期の開始時点が訪れたか否かを判定してもよいし、対象物Oが所定の位置に移動したことを検出するセンサを用意しておき、当該センサからの信号に基づいて、周期の開始時点が訪れたか否かを判定してもよい。
【0036】
例えば、ロボットハンド31内のモータが回転式であれば、動作情報には、モータを回転させるタイミングや回転量が定義されている。動作制御部200は、動作情報が示すタイミング及び回転量でモータが回転するように、モータに対する出力電圧を制御する。また例えば、ロボットハンド31内のモータがリニア式であれば、動作情報には、モータを移動させるタイミングや移動量が定義されている。動作制御部200は、動作情報が示すタイミング及び移動量でモータが移動するように、モータに対する出力電圧を制御する。
【0037】
なお、動作情報には、ロボットハンド31の動作だけでなく、ロボット30のロボットアームの動作が定義されていてもよい。動作制御部200は、動作情報に基づいて、対象物Oの位置にロボットハンド31が移動するように、ロボット30のロボットアームを動作させてもよい。
【0038】
[3-2.ユーザ端末で実現される機能]
図3に示すように、ユーザ端末10では、データ記憶部100、物理量取得部101、及び推定部102が実現される。
【0039】
[データ記憶部]
データ記憶部100は、記憶部12を主として実現される。データ記憶部100は、対象物Oの特性を推定するために必要なデータを記憶する。例えば、データ記憶部100は、物理量取得部101により取得された物理量を格納するためのデータベースDBを記憶する。
【0040】
図4は、データベースDBのデータ格納例を示す図である。
図4に示すように、データベースDBには、物理量取得部101により取得された物理量が時系列的に格納され、例えば、物理量が取得日時に関連付けられて格納される。複数種類の物理量が取得される場合には、物理量の種類(センサの種類)や物理量が検出された軸の名前といった情報がデータベースDBに格納されてもよい。
【0041】
物理量は、センサ部32により検出されたロボットハンド31の動作を示す情報である。物理量は、任意の種類の情報であってよく、例えば、センサ部32のトルクセンサによって検出されたトルク信号(トルク値)、センサ部32の力センサによって検出された力信号(圧力値)、又はセンサ部32のモータエンコーダによって検出されたエンコーダ信号(回転量又は移動量)である。
【0042】
本実施形態では、製品が周期的に製造されるので、データベースDBには、周期ごとに、当該周期で検出された物理量が格納される。別の言い方をすれば、データベースDBには、対象物Oごとに、当該対象物Oをロボットハンド31が把持した場合に検出された物理量が格納される。
【0043】
なお、データ記憶部100が記憶するデータは、上記の例に限られない。例えば、データ記憶部100は、後述する閾値や基準値を記憶してもよいし、物理量を収集したり解析したりするためのアプリケーションを記憶してもよい。
【0044】
[物理量取得部]
物理量取得部101は、CPU11を主として実現される。物理量取得部101は、ロボットハンド31が対象物Oを把持する場合の物理量を取得する。物理量取得部101は、センサ部32の検出信号に基づいて、物理量を取得する。本実施形態では、物理量取得部101がセンサ部32の検出信号をそのまま物理量として取得する場合を説明するが、物理量取得部101は、センサ部32の検出信号が示す値の倍率等を加工したうえで、物理量として取得してもよい。
【0045】
物理量取得部101は、物理量を取得すると、取得時間と関連付けてデータベースDBに格納する。例えば、物理量取得部101は、センサ部32のトルクセンサにより検出されたトルク信号を物理量として取得してデータベースDBに格納する。また例えば、物理量取得部101は、センサ部32の力センサにより検出された力信号を物理量として取得してデータベースDBに格納する。また例えば、物理量取得部101は、センサ部32のモータエンコーダにより検出されたエンコーダ信号を物理量として取得してデータベースDBに格納する。
【0046】
物理量取得部101は、予め定められた期間(以降、取得対象期間という)において検出された物理量を取得する。取得対象期間は、ロボットハンド31が対象物Oに触れている期間の全部を含んでいてもよいし、一部の期間だけを含んでいてもよい。即ち、取得対象期間は、ロボットハンド31が対象物Oを把持するために対象物Oに触れる時点から、ロボットハンド31が対象物Oを移動させて対象物Oから離すまでの全ての期間を含んでいてもよいし、一部の期間だけを含んでいてもよい。別の言い方をすれば、取得対象期間は、ロボットハンド31が対象物Oを把持するために手を閉じる動作を開始してから、ロボットハンド31の手が開いて対象物Oを離し終わるまでの期間の全部を含んでいてもよいし、一部の期間だけを含んでいてもよい。本実施形態のように周期的に製品が製造される場合には、対象期間は、周期の全てを含んでいてもよいし、一部だけを含んでいてもよい。
【0047】
図5は、物理量取得部101により取得された物理量の一例を示す図である。ここでは、物理量の一例としてトルク信号を説明する。なお、
図5の横軸(t軸)は時間軸であり、縦軸(T軸)はトルク信号の値を示す軸である。
図5では、トルク信号の波形をTS1の符号で示す。ロボットハンド31が閉じる動作を開始してから、対象物Oの把持が完了するまでのトルク信号TS1が示されている。
図5に示すように、ロボットハンド31が閉じる動作を開始してから、ロボットハンド31が対象物Oに触れるまでは、トルク信号TS1は一定値となる(
図5のt=t
10~t
11)。
【0048】
ロボットハンド31が対象物Oに触れると、ロボットハンド31は対象物Oに触れた部分から反発力を受けながら閉じる動作を継続するので、トルク信号TS1が立ち上がる(
図5のt=t
11)。ロボットハンド31は、そのまま閉じる動作を継続し、最もトルクが発生してピーク値T
11になった(
図5のt=t
12)後に、対象物Oが安定して把持された状態になり、トルク信号TS1は収束して収束値T
12になる(
図5のt=t
13)。なお、以降では、特に図面を参照する必要のないときは、トルク信号の符号を省略する。
【0049】
本実施形態では、対象物Oが周期的に製造されるので、トルク信号は、
図5のTS1に示すようなサイクルで変化する。もし仮に、対象物Oが倒れていてロボットハンド31がつかめない場合には、ロボットハンド31が対象物Oに触れないので、トルク信号は、ピークがなく一定値となる。他にも例えば、ロボットハンド31が対象物Oを途中で落としたり、対象物Oを握りつぶして破壊したりした場合には、トルク信号は、収束した状態から急激に変化する。
【0050】
[推定部]
推定部102は、CPU11を主として実現される。推定部102は、物理量に基づいて、対象物Oの特性を推定する。対象物Oの特性とは、対象物Oの状態、特徴、又は品質であり、例えば、対象物Oのサイズ、形状、又は固さ(硬さ)であってもよいし、異常発生の有無であってもよい。推定とは、物理量から対象物Oの特性を判定することである。
【0051】
物理量と対象物Oの特性との関係は、プログラムコードの一部として記述されており、本実施形態では、物理量に関する複数の条件が用意されている。各条件には、対象物Oの特性が関連付けられており、推定部102は、物理量が満たす条件に関連付けられた特性を、対象物Oの特性として推定する。なお、推定対象となる対象物Oは、物理量の取得時に把持されていた対象物Oである。
【0052】
以降、対象物Oの特性を推定するための条件の一例について説明する。本実施形態では、推定部102は、第1推定部102A、第2推定部102B、第3推定部102C、第4推定部102D、及び第5推定部102Eを含み、複数の条件を総合的に考慮して対象物Oの特性を推定する。なお、以降の説明は、特性を推定する方法の一例であり、第1推定部102A~第5推定部102Eの全てが実現されなければなわないわけではない。例えば、第1推定部102A~第5推定部102Eの一部(何れか1つ、2つ、3つ、又は4つ)だけが実現されてもよい。
図5の例と同様に、ここでは、物理量がトルク信号である場合を例に挙げて説明する。
【0053】
[第1推定部]
本実施形態では、対象物Oが周期的に製造され、ある周期での対象物Oに異常が発生した場合には、ロボットハンド31による把持のしかたが他の周期とは異なることがある。このため、第1推定部102Aは、対象物の製造周期ごとに取得されたトルク信号の変化に基づいて、対象物Oの特性を推定する。
【0054】
図6は、対象物Oの特性を推定する処理を説明するための図である。例えば、第1推定部102Aは、推定対象となる対象物Oが製造された周期(以降、推定対象周期と記載する)におけるトルク信号と、比較対象となる他の周期(以降、比較対象周期と記載する)において製造された対象物Oが把持されたときのトルク信号と、の差異が閾値以上であるか否かを判定し、当該判定結果に基づいて、対象物Oの特性を推定する。
【0055】
比較対象周期は、推定対象周期とは異なる周期であればよく、推定対象周期よりも前であってもよいし、推定対象周期よりも後であってもよい。少なくとも1つの周期が比較対象周期となればよく、1つの周期だけを比較対象周期としてもよいし、複数の周期を比較対象周期としてもよい。複数の周期が比較対象周期となる場合には、第1推定部102Aは、全ての比較対象周期のトルク信号と推定対象周期のトルク信号とを個別に比較してもよいし、複数の比較対象周期の各々のトルク信号の平均値を算出したうえで、当該平均値と推定対象周期のトルク信号とを比較してもよい。
【0056】
例えば、第1推定部102Aは、推定対象周期におけるトルク信号TS2と、比較対象周期におけるトルク信号TS1と、の差異が閾値以上である場合に、推定対象周期における対象物Oに異常が発生したと推定し、当該差異が閾値未満である場合に、推定対象周期における対象物Oが正常であると推定する。
【0057】
差異は、トルク信号の値の差やトルク信号が変化したタイミングの差である。トルク信号は、時間経過に応じて変化するので、第1推定部102Aは、トルク信号の差の積分値を差異として取得してもよいし、トルク信号の差の平均値を差異として取得してもよい。他にも例えば、第1推定部102Aは、トルク信号の差が最も大きかった時点の当該差の値を、差異として取得してもよい。
図6の例では、トルク信号TS1,TS2は、信号が立ち上がるタイミングt
11,t
21は同じであるが、その後のピーク値T
11,T
21及びそのタイミングt
12,t
22も異なる。また、収束値T
12,T
22及びそのタイミングt
13,t
23も異なる。これら信号値及びタイミングが差異として用いられる。
【0058】
閾値は、予め定められた値であればよく、データ記憶部100に記憶されているものとする。閾値は、固定値であってもよいし、可変値であってもよい。例えば、閾値は、ユーザが指定してもよいし、対象物Oの種類やロボット30の種類に応じた値が設定されてもよい。
【0059】
異常とは、標準的な対象物Oの特性になっていないことである。別の言い方をすれば、異常とは、標準的な対象物Oとの特性の誤差が許容範囲以上になることである。例えば、対象物Oのサイズ、形状、及び固さの少なくとも1つの誤差が許容範囲以上である場合には、異常となる。なお、標準的な対象物Oの特性とは、理想的な対象物Oの特性であり、ユーザが想定する対象物Oの特性である。本実施形態のように、加工食品の成形工程では、所定の形状となるように成形が行われるので、想定通りのサイズ、形状、及び固さを有することは、標準的な対象物Oの特性を有することに相当する。対象物Oが想定外の特性になることは、異常が発生することに相当する。
【0060】
正常とは、異常の逆の意味であり、標準的な対象物Oの特性になることである。別の言い方をすれば、正常とは、標準的な対象物Oとの特性の誤差が許容範囲未満になることである。例えば、対象物Oのサイズ、形状、及び固さの少なくとも1つの誤差が許容範囲未満である場合には、正常となる。対象物Oが想定内の特性になることは、正常であることに相当する。
【0061】
[第2推定部]
第2推定部102Bは、トルク信号の立ち上がりタイミングに基づいて、対象物Oの特性を推定する。立ち上がりタイミングとは、ロボットハンド31が対象物Oに触れる前においてトルク信号の変化が閾値未満である状態から、ロボットハンド31が対象物Oに触れてトルク信号の変化が閾値以上の状態になるタイミングである。別の言い方をすれば、立ち上がりタイミングは、ロボットハンド31が対象物Oに触れる前においてトルク信号の単位時間あたりの増加量が閾値未満である状態から、ロボットハンド31が対象物Oに触れてトルク信号の単位時間あたりの増加量が閾値以上の状態になるタイミングである。なお、この閾値は、任意の値を設定可能であり、固定値であってもよいし、可変値であってもよい。
【0062】
例えば、第2推定部102Bは、トルク信号の立ち上がりタイミングが基準値よりも早いか否かを判定し、当該判定結果に基づいて、対象物Oの特性を推定する。基準値は、予め定められたタイミングであればよく、例えば、ロボットハンド31が標準的な対象物Oを把持する場合のトルク信号の立ち上がりタイミングである。基準値は、ユーザが手動で設定してもよいし、正常と判定された対象物Oのトルク信号の立ち上がりタイミングの平均値としてもよい。第2推定部102Bは、トルク信号の立ち上がりタイミングが、標準的なタイミングに比べて早いか否かを判定することになる。
【0063】
図7及び
図8は、対象物Oの特性を推定する処理を説明するための図である。
図7及び
図8のトルク信号TS1は、標準的な対象物Oのトルク信号である。このため、基準値は、トルク信号TS1の立ち上がりタイミングt
11である。例えば、対象物Oが標準的なサイズよりも大きい場合、ロボットハンド31は、想定よりも早く対象物Oに触れるため、
図7のトルク信号TS3に示すように、立ち上がりタイミングt
31はトルク信号TS1よりも早くなる。一方、対象物Oが標準的なサイズよりも小さい場合、ロボットハンド31は、想定よりも遅く対象物Oに触れるため、
図8のトルク信号TS4に示すように、立ち上がりタイミングt
41はトルク信号TS1よりも遅くなる。
【0064】
このため、第2推定部102Bは、トルク信号の立ち上がりタイミングが基準値よりも早いか否かを判定し、当該判定結果に基づいて、対象物Oのサイズを推定してもよい。即ち、第2推定部102Bは、トルク信号の立ち上がりタイミングが基準値よりも早い場合に、対象物Oが標準よりも大きいと判定し、トルク信号の立ち上がりタイミングが基準値よりも遅い場合に、対象物Oが標準よりも小さいと判定してもよい。
【0065】
また例えば、対象物Oの形状が標準的な形状よりも出っ張っている場合、ロボットハンド31は、想定よりも早く対象物Oに触れるので、トルク信号TS3に示すように、立ち上がりタイミングt31はトルク信号TS1よりも早くなる。一方、対象物Oが標準的なサイズよりも凹んでいる場合、ロボットハンド31は、想定よりも遅く対象物Oに触れるので、トルク信号TS4に示すように、立ち上がりタイミングt41はトルク信号TS1よりも遅くなる。
【0066】
このため、第2推定部102Bは、トルク信号の立ち上がりタイミングが基準値よりも早いか否かを判定し、当該判定結果に基づいて、対象物Oの形状(凹凸の具合)を推定してもよい。即ち、第2推定部102Bは、トルク信号の立ち上がりタイミングが基準値よりも早い場合に、対象物Oが標準的な形状よりも出っ張っていると判定し、トルク信号の立ち上がりタイミングが基準値よりも遅い場合に、対象物Oが標準的な形状よりも凹んでいると判定してもよい。
【0067】
また例えば、第2推定部102Bは、トルク信号の立ち上がりタイミングと基準値との差に基づいて、対象物Oの特性を推定してもよい。例えば、サイズの差が大きいほど立ち上がりタイミングの差が大きくなるので、第2推定部102Bは、トルク信号の立ち上がりタイミングと基準値との差に基づいて、対象物Oのサイズを推定してもよい。即ち、第2推定部102Bは、これらの差が大きいほど標準的なサイズとの違いが大きく、これらの差が小さいほど標準的なサイズとの違いが小さいと推定してもよい。例えば、第2推定部102Bは、トルク信号の立ち上がりタイミングと基準値との差が閾値以上の場合には、対象物Oのサイズに異常が発生したと推定してもよい。
【0068】
また例えば、形状の違いが大きいほど立ち上がりタイミングの差が大きくなるので、第2推定部102Bは、トルク信号の立ち上がりタイミングと基準値との差に基づいて、対象物Oの形状を推定してもよい。即ち、第2推定部102Bは、これらの差が大きいほど標準的な形状との違いが大きく、これらの差が小さいほど標準的な形状との違いが小さいと推定してもよい。例えば、第2推定部102Bは、トルク信号の立ち上がりタイミングと基準値との差が閾値以上の場合には、対象物Oの形状に異常が発生したと推定してもよい。
【0069】
[第3推定部]
第3推定部102Cは、トルク信号の収束タイミングに基づいて、対象物の特性を推定する。収束タイミングとは、立ち上がりタイミングの後(又は、ピーク後)において、トルク信号の変化が閾値以上である状態から、トルク信号の変化が閾値未満の状態になるタイミングである。別の言い方をすれば、収束タイミングは、立ち上がりタイミングの後(又は、ピーク後)において、トルク信号の単位時間あたりの減少量が閾値以上である状態から、トルク信号の単位時間あたりの減少量が閾値未満の状態になるタイミングである。この閾値は、任意の値を設定可能であり、固定値であってもよいし、可変値であってもよい。
【0070】
例えば、第3推定部102Cは、トルク信号の収束タイミングが基準値よりも早いか否かを判定し、当該判定結果に基づいて、対象物Oの特性を推定する。基準値は、予め定められたタイミングであればよく、例えば、ロボットハンド31が標準的な対象物Oを把持する場合のトルク信号の収束タイミングである。基準値は、ユーザが手動で設定してもよいし、正常と判定された対象物Oのトルク信号の収束タイミングの平均値としてもよい。
図7及び
図8の例であれば、基準値は、トルク信号TS1の収束タイミングt
13である。第3推定部102Cは、トルク信号の収束タイミングが、標準的なタイミングに比べて早いか否かを判定することになる。
【0071】
例えば、対象物Oが標準的なサイズよりも大きい場合、ロボットハンド31は、想定よりも早く対象物Oに触れて把持の完了も早くなるので、
図7のトルク信号TS3に示すように、収束タイミングt
33はトルク信号TS1よりも早くなる。一方、対象物Oが標準的なサイズよりも小さい場合、ロボットハンド31は、想定よりも遅く対象物Oに触れて把持の完了も遅れるので、トルク信号TS4に示すように、収束タイミングt
43はトルク信号TS1よりも遅くなる。
【0072】
このため、第3推定部102Cは、トルク信号の収束タイミングが基準値よりも早いか否かを判定し、当該判定結果に基づいて、対象物Oのサイズを推定してもよい。即ち、第3推定部102Cは、トルク信号の収束タイミングが基準値よりも早い場合に、対象物Oが標準よりも大きいと判定し、トルク信号の収束タイミングが基準値よりも遅い場合に、対象物Oが標準よりも小さいと判定してもよい。
【0073】
また例えば、対象物Oの形状が標準的な形状よりも出っ張っている場合、ロボットハンド31は、想定よりも早く対象物Oに触れて把持の完了も早くなるので、トルク信号TS3に示すように、収束タイミングt33はトルク信号TS1よりも早くなる。一方、対象物Oが標準的なサイズよりも凹んでいる場合、ロボットハンド31は、想定よりも遅く対象物Oに触れて把持の完了も遅れるので、トルク信号TS4に示すように、収束タイミングt43はトルク信号TS1よりも遅くなる。
【0074】
このため、第3推定部102Cは、トルク信号の収束タイミングが基準値よりも早いか否かを判定し、当該判定結果に基づいて、対象物Oの形状を推定してもよい。即ち、第3推定部102Cは、トルク信号の収束タイミングが基準値よりも早い場合に、対象物Oが標準的な形状よりも出っ張っていると判定し、トルク信号の収束タイミングが基準値よりも遅い場合に、対象物Oが標準的な形状よりも凹んでいると判定してもよい。
【0075】
また例えば、対象物Oの固さが標準的な固さよりも固い場合、ロボットハンド31は、想定よりも早く対象物Oの把持を完了するので、トルク信号TS3に示すように、収束タイミングt33はトルク信号TS1よりも早くなる。一方、対象物Oの固さが標準的な固さよりも柔らかい場合、ロボットハンド31は、想定よりも遅く対象物Oの把持を完了するので、トルク信号TS4に示すように、収束タイミングt43はトルク信号TS1よりも遅くなる。
【0076】
このため、第3推定部102Cは、トルク信号の収束タイミングが基準値よりも早いか否かを判定し、当該判定結果に基づいて、対象物Oの固さを推定してもよい。即ち、第3推定部102Cは、トルク信号の収束タイミングが基準値よりも早い場合に、対象物Oが標準的な固さよりも固いと判定し、トルク信号の収束タイミングが基準値よりも遅い場合に、対象物Oが標準的な固さよりも柔らかいと判定してもよい。
【0077】
また例えば、第3推定部102Cは、トルク信号の収束タイミングと基準値との差に基づいて、対象物Oの特性を推定してもよい。例えば、サイズの差が大きいほど収束タイミングの差が大きくなるので、第3推定部102Cは、トルク信号の収束タイミングと基準値との差に基づいて、対象物Oのサイズを推定してもよい。即ち、第3推定部102Cは、これらの差が大きいほど標準的なサイズとの違いが大きく、これらの差が小さいほど標準的なサイズとの違いが小さいと推定してもよい。例えば、第3推定部102Cは、トルク信号の収束タイミングと基準値との差が閾値以上の場合には、対象物Oのサイズに異常が発生したと推定してもよい。
【0078】
また、形状の違いが大きいほど収束タイミングの差が大きくなるので、第3推定部102Cは、トルク信号の収束タイミングと基準値との差に基づいて、対象物Oの形状を推定してもよい。即ち、第3推定部102Cは、これらの差が大きいほど標準的な形状との違いが大きく、これらの差が小さいほど標準的な形状との違いが小さいと推定してもよい。例えば、第3推定部102Cは、トルク信号の収束タイミングと基準値との差が閾値以上の場合には、対象物Oの形状に異常が発生したと推定してもよい。
【0079】
また、固さの違いが大きいほど収束タイミングの差が大きくなるので、第3推定部102Cは、トルク信号の収束タイミングと基準値との差に基づいて、対象物Oの固さを推定してもよい。即ち、第3推定部102Cは、これらの差が大きいほど標準的な固さとの違いが大きく、これらの差が小さいほど標準的な固さとの違いが小さいと推定してもよい。例えば、第3推定部102Cは、トルク信号の収束タイミングと基準値との差が閾値以上の場合には、対象物Oの固さに異常が発生したと推定してもよい。
【0080】
[第4推定部]
第4推定部102Dは、トルク信号のピーク値に基づいて、対象物の特性を推定する。ピーク値は、取得対象期間におけるトルク信号の最大値である。即ち、ピーク値は、ロボットハンド31が対象物Oに触れてから離すまでの間におけるトルク信号の最大値である。第4推定部102Dは、時間経過に応じて変化するトルク信号の最も高い値をピーク値とする。
【0081】
例えば、第4推定部102Dは、トルク信号のピーク値が基準値よりも高いか否かを判定し、当該判定結果に基づいて、対象物Oの特性を推定する。基準値は、予め定められた値であればよく、例えば、ロボットハンド31が標準的な対象物Oを把持する場合のピーク値である。基準値は、ユーザが手動で設定してもよいし、正常と判定された対象物Oのトルク信号のピーク値の平均値としてもよい。
図7及び
図8の例であれば、基準値は、トルク信号TS1のピーク値T
11である。第4推定部102Dは、トルク信号のピーク値が、標準的なピーク値に比べて高いか低いかを判定することになる。
【0082】
例えば、対象物Oが標準的なサイズよりも大きい場合、ロボットハンド31は、所定の位置まで手を閉じようとしたときに対象物Oからの反発力が強くなるので、トルク信号TS3に示すように、ピーク値T31はトルク信号TS1よりも高くなる。一方、対象物Oが標準的なサイズよりも小さい場合、ロボットハンド31は、所定の位置まで手を閉じようとしたときに対象物Oからの反発力が弱くなるので、トルク信号TS4に示すように、ピーク値T41はトルク信号TS1よりも低くなる。
【0083】
このため、第4推定部102Dは、トルク信号のピーク値が基準値よりも高いか否かを判定し、当該判定結果に基づいて、対象物Oのサイズを推定してもよい。即ち、第4推定部102Dは、トルク信号のピーク値が基準値よりも高い場合に、対象物Oが標準よりも大きいと判定し、トルク信号のピーク値が基準値よりも低い場合に、対象物Oが標準よりも小さいと判定してもよい。
【0084】
また例えば、対象物Oの形状が標準的な形状よりも出っ張っている場合、ロボットハンド31は、所定の位置まで手を閉じようとしたときに対象物Oからの反発力が強くなるので、トルク信号TS3に示すように、ピーク値T31はトルク信号TS1よりも高くなる。一方、対象物Oが標準的なサイズよりも凹んでいる場合、ロボットハンド31は、所定の位置まで手を閉じようとしたときに対象物Oからの反発力が弱くなるので、トルク信号TS4に示すように、ピーク値T41はトルク信号TS1よりも低くなる。
【0085】
このため、第4推定部102Dは、トルク信号のピーク値が基準値よりも高いか否かを判定し、当該判定結果に基づいて、対象物Oの形状を推定してもよい。即ち、第4推定部102Dは、トルク信号のピーク値が基準値よりも高い場合に、対象物Oが標準的な形状よりも出っ張っていると判定し、トルク信号のピーク値が基準値よりも低い場合に、対象物Oが標準的な形状よりも凹んでいると判定してもよい。
【0086】
また例えば、対象物Oの固さが標準的な固さよりも固い場合、ロボットハンド31は、所定の位置まで手を閉じようとしたときに対象物Oからの反発力が強くなるので、トルク信号TS3に示すように、ピーク値T31はトルク信号TS1よりも高くなる。一方、対象物Oの固さが標準的な固さよりも柔らかい場合、ロボットハンド31は、所定の位置まで手を閉じようとしたときに対象物Oからの反発力が弱くなるので、トルク信号TS4に示すように、ピーク値T41はトルク信号TS1よりも低くなる。
【0087】
このため、第4推定部102Dは、トルク信号のピーク値が基準値よりも高いか否かを判定し、当該判定結果に基づいて、対象物Oの固さを推定してもよい。即ち、第4推定部102Dは、トルク信号のピーク値が基準値よりも高い場合に、対象物Oが標準的な固さよりも固いと判定し、トルク信号のピーク値が基準値よりも低い場合に、対象物Oが標準的な固さよりも柔らかいと判定してもよい。
【0088】
また例えば、第4推定部102Dは、トルク信号のピーク値と基準値との差に基づいて、対象物Oの特性を推定してもよい。例えば、サイズの差が大きいほどピーク値の差が大きくなるので、第4推定部102Dは、トルク信号のピーク値と基準値との差に基づいて、対象物Oのサイズを推定してもよい。即ち、第4推定部102Dは、これらの差が大きいほど標準的なサイズとの違いが大きく、これらの差が小さいほど標準的なサイズとの違いが小さいと推定してもよい。
【0089】
また例えば、形状の違いが大きいほどピーク値の差が大きくなるので、第4推定部102Dは、トルク信号のピーク値と基準値との差に基づいて、対象物Oの形状を推定してもよい。即ち、第4推定部102Dは、これらの差が大きいほど標準的な形状との違いが大きく、これらの差が小さいほど標準的な形状との違いが小さいと推定してもよい。
【0090】
また例えば、固さの違いが大きいほどピーク値の差が大きくなるので、第4推定部102Dは、トルク信号のピーク値と基準値との差に基づいて、対象物Oの固さを推定してもよい。即ち、第4推定部102Dは、これらの差が大きいほど標準的な固さとの違いが大きく、これらの差が小さいほど標準的な固さとの違いが小さいと推定してもよい。
【0091】
[第5推定部]
第5推定部102Eは、トルク信号が収束した場合の収束値に基づいて、対象物の特性を推定する。収束値は、収束タイミングが訪れたときのトルク信号の値である。別の言い方をすれば、収束値は、立ち上がりタイミング後(ピーク後)において、トルク信号の変化量が閾値未満となったときの値である。この閾値は、任意の値を設定可能であり、固定値であってもよいし、可変値であってもよい。
【0092】
例えば、第5推定部102Eは、トルク信号の収束値が基準値よりも高いか否かを判定し、当該判定結果に基づいて、対象物Oの特性を推定する。基準値は、予め定められた値であればよく、例えば、ロボットハンド31が標準的な対象物Oを把持する場合の収束値である。基準値は、ユーザが手動で設定してもよいし、過去のトルク信号の収束値の平均値としてもよい。
図7及び
図8の例であれば、基準値は、トルク信号TS1の収束値T
12である。第5推定部102Eは、トルク信号の収束値が、標準的な収束値に比べて高いか低いかを判定することになる。
【0093】
例えば、対象物Oが標準的なサイズよりも大きい場合、ロボットハンド31は、所定の位置まで手を閉じようとしたときに対象物Oからの反発力が強くなるので、トルク信号TS3に示すように、収束値T32はトルク信号TS1よりも高くなる。一方、対象物Oが標準的なサイズよりも小さい場合、ロボットハンド31は、所定の位置まで手を閉じようとしたときに対象物Oからの反発力が弱くなるので、トルク信号TS4に示すように、収束値T42はトルク信号TS1よりも低くなる。
【0094】
このため、第5推定部102Eは、トルク信号の収束値が基準値よりも高いか否かを判定し、当該判定結果に基づいて、対象物Oのサイズを推定してもよい。即ち、第5推定部102Eは、トルク信号の収束値が基準値よりも高い場合に、対象物Oが標準よりも大きいと判定し、トルク信号の収束値が基準値よりも低い場合に、対象物Oが標準よりも小さいと判定してもよい。
【0095】
また例えば、対象物Oの形状が標準的な形状よりも出っ張っている場合、ロボットハンド31は、所定の位置まで手を閉じようとしたときに対象物Oからの反発力が強くなるので、トルク信号TS3に示すように、収束値T32はトルク信号TS1よりも高くなる。一方、対象物Oが標準的なサイズよりも凹んでいる場合、ロボットハンド31は、所定の位置まで手を閉じようとしたときに対象物Oからの反発力が弱くなるので、トルク信号TS4に示すように、収束値T42はトルク信号TS1よりも低くなる。
【0096】
このため、第5推定部102Eは、トルク信号の収束値が基準値よりも高いか否かを判定し、当該判定結果に基づいて、対象物Oの形状を推定してもよい。即ち、第5推定部102Eは、トルク信号の収束値が基準値よりも高い場合に、対象物Oが標準的な形状よりも出っ張っていると判定し、トルク信号の収束値が基準値よりも低い場合に、対象物Oが標準的な形状よりも凹んでいると判定してもよい。
【0097】
また例えば、対象物Oの固さが標準的な固さよりも固い場合、ロボットハンド31は、所定の位置まで手を閉じようとしたときに対象物Oからの反発力が強くなるので、トルク信号TS3に示すように、収束値T32はトルク信号TS1よりも高くなる。一方、対象物Oの固さが標準的な固さよりも柔らかい場合、ロボットハンド31は、所定の位置まで手を閉じようとしたときに対象物Oからの反発力が弱くなるので、トルク信号TS4に示すように、収束値T42はトルク信号TS1よりも低くなる。
【0098】
このため、第5推定部102Eは、トルク信号の収束値が基準値よりも高いか否かを判定し、当該判定結果に基づいて、対象物Oの固さを推定してもよい。即ち、第5推定部102Eは、トルク信号の収束値が基準値よりも高い場合に、対象物Oが標準的な固さよりも固いと判定し、トルク信号の収束値が基準値よりも低い場合に、対象物Oが標準的な固さよりも柔らかいと判定してもよい。
【0099】
また例えば、第5推定部102Eは、トルク信号の収束値と基準値との差に基づいて、対象物Oの特性を推定してもよい。例えば、サイズの差が大きいほど収束値の差が大きくなるので、第5推定部102Eは、トルク信号の収束値と基準値との差に基づいて、対象物Oのサイズを推定してもよい。即ち、第5推定部102Eは、これらの差が大きいほど標準的なサイズとの違いが大きく、これらの差が小さいほど標準的なサイズとの違いが小さいと推定してもよい。
【0100】
また例えば、形状の違いが大きいほど収束値の差が大きくなるので、第5推定部102Eは、トルク信号の収束値と基準値との差に基づいて、対象物Oの形状を推定してもよい。即ち、第5推定部102Eは、これらの差が大きいほど標準的な形状との違いが大きく、これらの差が小さいほど標準的な形状との違いが小さいと推定してもよい。
【0101】
また例えば、固さの違いが大きいほど収束値の差が大きくなるので、第5推定部102Eは、トルク信号の収束値と基準値との差に基づいて、対象物Oの固さを推定してもよい。即ち、第5推定部102Eは、これらの差が大きいほど標準的な固さとの違いが大きく、これらの差が小さいほど標準的な固さとの違いが小さいと推定してもよい。
【0102】
なお、上記では、対象物Oの特性として、サイズ、形状、及び固さの少なくとも1つが推定される場合を説明したが、他の特性が推定されてもよい。例えば、トルク信号に基づいて、対象物Oの強度(脆さ)が推定されてもよい。対象物Oの強度が標準的な強度よりも脆いと、ロボットハンド31が対象物Oを把持したときに壊れる場合がある。この場合、トルク信号が急変するので、トルク信号が急変した場合に、対象物Oの強度が不足している(対象物Oが標準的なものより脆い)と推定されてもよい。
【0103】
また、トルク信号に基づいて対象物Oの特性が推定される場合を説明したが、他の物理量に基づいて対象物Oの特性が推定されてもよい。例えば、推定部102は、センサ部32の力センサにより検出された力信号に基づいて、対象物Oの特性を推定してもよい。例えば、対象物Oが標準的なサイズよりも大きい場合、トルクセンサの立ち上がりタイミングと同様に、ロボットハンド31は、想定よりも早く対象物Oに触れるため、力信号の立ち上がりタイミングは、標準よりも早くなる。このため、推定部102は、力信号の立ち上がりタイミングに基づいて、対象物Oの特性を推定してもよい。同様に、推定部102は、力信号の収束タイミング、ピーク値、及び収束値の少なくとも1つに基づいて、対象物Oの特性を推定してもよい。
【0104】
また例えば、推定部102は、センサ部32のモータエンコーダにより検出されたエンコーダ信号に基づいて、対象物Oの特性を推定してもよい。例えば、対象物Oが標準的なサイズよりも大きい場合、ロボットハンド31は、想定よりも早く対象物Oに触れるため、モータの回転量又は移動量が落ちるタイミングは、標準よりも早くなる。このため、推定部102は、モータの回転量又は移動量が落ちるタイミングに基づいて、対象物Oの特性を推定してもよい。同様に、推定部102は、モータの回転又は移動が停止したタイミング等に基づいて、対象物Oの特性を推定してもよい。
【0105】
[4.特性推定システムで実行される処理]
図9は、特性推定システム1で実行される処理を示すフロー図である。
図9に示す処理は、ユーザ端末10において、CPU11が記憶部12に記憶されたプログラムに従って動作することによって実行され、ロボットコントローラ20において、CPU21が記憶部22に記憶されたプログラムに従って動作することによって実行される。
図9に示す処理は、
図3に示す機能ブロックにより実行される処理の一例であり、例えば、対象物Oが製造される周期が訪れるたびに実行される。
【0106】
図9に示すように、まず、ロボットコントローラ20において、CPU21は、記憶部22に記憶された動作情報に基づいて、ロボットハンド31を動作させる(S1)。S1においては、CPU21は、動作情報が示すタイミング及び強さでロボットハンド31が開閉するように、ロボットハンド31内のモータに対する出力電圧を制御する。
【0107】
CPU21は、センサ部32により検出された物理量を取得する(S2)。S2においては、CPU21は、センサ部32のトルクセンサからトルク信号を取得する。他にも例えば、CPU21は、センサ部32の力センサから力信号を取得してもよいし、センサ部32のモータエンコーダからエンコーダ信号を取得してもよい。
【0108】
CPU21は、ユーザ端末10に対し、S2で取得した物理量を送信する(S3)。S3においては、CPU21は、周期内において繰り返し取得した物理量に基づいて、ユーザ端末10に対し、物理量の時間変化を送信する。
【0109】
ユーザ端末10においては、CPU11は、ロボットコントローラ20から、センサ部32により検出された物理量を取得する(S4)。S4においては、CPU11は、取得した物理量を現在日時と関連付けてデータベースDBに記録する。
【0110】
CPU11は、S4で取得した物理量に基づいて、対象物Oの特性を推定する(S5)。先述したように、トルク信号が物理量である場合には、S5においては、CPU11は、過去の周期におけるトルク信号、立ち上がりタイミング、収束タイミング、ピーク値、及び収束値の少なくとも1つに基づいて、対象物Oのサイズ、形状、及び固さの少なくとも1つを推定する。
【0111】
CPU11は、S5で推定された対象物Oの特性を表示部15に表示させる(S6)。S6においては、CPU11は、対象物Oの異常発生の有無を表示部15に表示させてもよいし、推定した対象物Oのサイズ、形状、及び固さの少なくとも1つに関する情報を表示部15に表示させてもよい。なお、ここでは、特性の推定結果を表示部15に表示させることとしたが、CPU11は、製品の検査を担当する担当者などのコンピュータに推定結果を送信してもよいし、推定結果を特に表示せずに記憶部12に記録してもよい。他にも例えば、CPU11は、対象物Oに異常が発生した場合に音声や光等を利用してアラームを出力してもよい。
【0112】
以上説明した特性推定システム1によれば、対象物Oを把持するロボットハンド31が動作情報に基づいて動作し、ロボットハンド31が対象物Oを把持する場合の物理量に基づいて、対象物Oの特性を推定することができる。例えば、対象物Oが所望の固さになっていない場合には、ロボットハンド31が対象物Oを把持する場合の物理量が所定の波形を示さないので、対象物Oの固さを推定できる。また例えば、対象物Oが所望のサイズ又は形状になっていない場合には、ロボットハンド31が対象物Oを把持する場合の物理量が所定の波形を示さないので、対象物Oのサイズ又は形状を推定できる。これにより、検査の手間を軽減したり、製品の品質を向上させたりすることができる。
【0113】
また、対象物Oの製造周期ごとに取得されたトルク信号の変化に基づいて、対象物Oの特性が推定され、例えば、正常な状態から逸脱したトルク信号となっているか等を推定し、対象物Oの特性をより正確に推定することができる。
【0114】
また、トルク信号の立ち上がりタイミングに基づいて対象物Oの特性を推定することで、対象物Oの特性をより正確に推定することができる。
【0115】
また、トルク信号の収束タイミングに基づいて対象物Oの特性を推定することで、対象物Oの特性をより正確に推定することができる。
【0116】
また、トルク信号のピーク値に基づいて対象物Oの特性を推定することで、対象物Oの特性をより正確に推定することができる。
【0117】
また、トルク信号の収束値に基づいて対象物Oの特性を推定することで、対象物Oの特性をより正確に推定することができる。
【0118】
[5.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【0119】
図10は、変形例の機能ブロック図である。
図10に示すように、以降説明する変形例では、送信部103、工程変更部104、及び動作情報変更部105が実現される。これら各機能は、CPU11を主として実現される。
【0120】
(1)例えば、特性推定システム1は、ネットワークNに接続された外部システムに対し、センサ部32が検出した物理量の管理や解析を依頼してもよい。この場合、特性推定システム1は、物理量を取得するたびに、外部システムに対して物理量が格納されたデータを送信してもよいが、特定のときだけデータを送信することで、外部システムが管理又は解析するデータ量を減らすようにしてもよい。
【0121】
本変形例の特性推定システム1では、送信部103が実現される。送信部103は、推定部102により推定された特性に基づいて、物理量を解析するコンピュータに対し、物理量が格納されたデータを送信する。
【0122】
本変形例では、物理量を解析するコンピュータが外部システムに含まれている場合を説明するが、当該コンピュータは、特性推定システム1に含まれていてもよい。当該コンピュータは、例えば、サーバコンピュータ、パーソナルコンピュータ、携帯電話、又は携帯端末である。当該コンピュータには、物理量が格納されたデータを収集して蓄積するためのアプリケーションや物理量を解析するためのアプリケーションが記憶されており、これらのアプリケーションに基づいて各種処理を実行する。
【0123】
物理量が格納されたデータは、任意のデータ形式であってよく、例えば、データベースDBの個々のレコードであってもよいし、複数のレコードがまとめて送信されてもよい。
【0124】
送信部103は、推定部102により推定された特性が所定の特性であるか否かを判定する。送信部103は、所定の特性であった場合に、コンピュータに対し、物理量が格納されたデータを送信し、所定の特定ではなかった場合に、コンピュータに対し、物理量が格納されたデータを送信しない。所定の特性は、物理量が格納されたデータを送信するか否かを決定するための条件であり、任意の条件を適用可能である。例えば、対象物Oに異常発生が推定されること、又は、対象物Oのサイズ、形状、及び固さの少なくとも1つが標準的なものとは異なることが、所定の特性に相当してもよい。
【0125】
変形例(1)によれば、推定した対象物Oの特性に基づいて、物理量を解析するコンピュータに対し、物理量が格納されたデータを送信することで、解析に必要なデータだけをコンピュータに送信することができる。このため、不必要なデータが送信されることを防止し、コンピュータのメモリ消費量を削減したり、ネットワークの通信量を削減したりすることができる。また、特性推定システム1は、常にデータを送信するわけではないので、特性推定システムの処理負荷を軽減することもできる。
【0126】
(2)また例えば、実施形態では、推定部102の推定結果を表示部15に表示させたり、検査担当者に通知したりする場合を説明したが、推定部102の推定結果の活用方法は、実施形態の例に限られない。例えば、ロボットハンド31が対象物Oを把持したときに異常が推定される場合には、それよりも前の工程に問題がある可能性がある。このため、推定部102の推定結果を前の工程に活用してもよい。
【0127】
本変形例の特性推定システム1では、工程変更部104が実現される。工程変更部104は、推定部102により推定された特性に基づいて、ロボットハンド31が対象物Oを把持する工程よりも前の工程を変更する。実施形態では、原料生成工程及び成形工程後に、ロボットハンド31が対象物Oを把持する工程が実施されるので、工程変更部104は、原料生成工程及び成形工程の少なくとも一方の工程を変更する。
【0128】
例えば、工程変更部104は、推定部102により推定された特性が所定の特性であるか否かを判定する。工程変更部104は、所定の特性であった場合に、前の工程を変更し、所定の特性ではなかった場合に、前の工程は変更しない。所定の特性は、前の工程を変更するか否かを決定するための条件であり、任意の条件を適用可能である。例えば、対象物Oに異常発生が推定されること、又は、対象物Oのサイズ、形状、及び固さの少なくとも1つが標準的なものとは異なることが、所定の特性に相当してもよい。
【0129】
例えば、工程変更部104は、原料生成工程における原料の調合の割合、装置の回転量・振動量、熱風の温度、又は乾燥時間といったパラメータを変更する。また例えば、工程変更部104は、成形工程における成形方法を変更したり、成形時の圧力又は押圧時間といったパラメータを変更したりする。なお、工程変更部104の処理は、これらに限られず、対象物Oに応じた工程を変更すればよい。
【0130】
変形例(2)によれば、推定した対象物Oの特性に基づいて、ロボットハンド31が対象物Oを把持する工程よりも前の工程を変更することで、対象物Oの特性を変更することができる。即ち、推定した対象物Oの特性を前の工程にフィードバックさせることができる。例えば、前の工程において、原料の調合や対象物Oの成形が行われている場合には、これらの工程を変更して対象物Oの特性を変更することができる。
【0131】
(3)また例えば、変形例(2)では、推定部102の推定結果の活用方法として、ロボットハンド31が対象物Oを把持する工程の前の工程を変更する場合を説明したが、前の工程ではなく、ロボットハンド31が対象物Oを把持する工程に問題がある可能性もある。このため、推定部102の推定結果をロボットハンド31が対象物Oを把持する工程に活用してもよい。
【0132】
動作情報変更部105は、推定部102により推定された特性に基づいて、動作情報を変更する。例えば、動作情報変更部105は、推定部102により推定された特性が所定の特性であるか否かを判定する。動作情報変更部105は、所定の特性であった場合に、動作情報を変更し、所定の特性ではなかった場合に、動作情報は変更しない。所定の特性は、動作情報を変更するか否かを決定するための条件であり、任意の条件を適用可能である。例えば、対象物Oに異常発生が推定されること、又は、対象物Oのサイズ、形状、及び固さの少なくとも1つが標準的なものとは異なることが、所定の特性に相当してもよい。
【0133】
例えば、動作情報変更部105は、所定の特性であった場合に、ロボットハンド31の位置を変更する。また例えば、動作情報変更部105は、所定の特性であった場合に、ロボットハンド31を開閉するタイミングを変更する。例えば、動作情報変更部105は、対象物Oのサイズが大きいと推定された場合、対象物Oの形状が出っ張っていると推定された場合、又は、対象物Oが固いと推定された場合、ロボットハンド31が早く閉じすぎた可能性があるので、ロボットハンド31を閉じるタイミングを遅らせる。
【0134】
また例えば、動作情報変更部105は、所定の特性であった場合に、ロボットハンド31を開閉する強さを変更する。例えば、動作情報変更部105は、対象物Oのサイズが大きいと推定された場合、対象物Oの形状が出っ張っていると推定された場合、又は、対象物Oが固いと推定された場合、ロボットハンド31を強く閉じすぎた可能性があるので、ロボットハンド31を閉じる強さを弱くする。
【0135】
変形例(3)によれば、推定した対象物Oの特性に基づいて、ロボットハンド31が対象物Oを把持する際の動作情報を変更することで、ロボットハンド31が対象物Oを把持する工程を変更することができる。対象物Oの特性に応じた安定する状態で、ロボットハンド31に対象物Oを把持させることができる。
【0136】
(4)また例えば、上記説明した変形例を組み合わせてもよい。
【0137】
また例えば、センサ部32に含まれるセンサは、トルクセンサ、力センサ、及びモータエンコーダに限られず、任意のセンサであってよい。例えば、センサ部32に温度センサを含めておき、温度センサが検出した温度が物理量に相当し、温度によって対象物Oの特性が推定されてもよい。他にも例えば、センサ部32に磁気センサを含めておき、磁気センサが検出した磁気が物理量に相当し、磁気によって対象物Oの特性が推定されてもよい。
【0138】
また例えば、製品の一例として加工食品を例に挙げて説明したが、特性推定システム1は、任意の製品に適用可能である。例えば、特性推定システム1は、材料の製造工程や加工工程における対象物Oの特性を推定してもよい。この場合の対象物Oは、最終的な製品である材料であってもよいし、食品を作るために加工した材料であってもよい。また例えば、特性推定システム1は、車やバイク等の乗物の製造工程における対象物Oの特性を推定してもよい。この場合の対象物Oは、乗物を構成する個々の部品である。他にも例えば、家具や建築部材の製造や半導体基板の製造といった任意の場面に特性推定システム1を適用可能である。
【0139】
また例えば、ロボット30の一例として産業用ロボットを説明したが、サービスロボット、家庭用ロボット、又は医療用ロボットといった種々のロボットを適用可能である。例えば、サービスロボットが把持した商品等の特性が、センサ部32により検出された物理量に基づいて推定されてもよい。また例えば、家庭用ロボットが把持した食器等の特性が、センサ部32により検出された物理量に基づいて推定されてもよい。また例えば、医療用ロボットが把持した医療器具等の特性が、センサ部32により検出された物理量に基づいて推定されてもよい。
【0140】
また例えば、各機能がユーザ端末10で実現される場合を説明したが、複数のコンピュータで各機能が分担されてもよい。他にも例えば、各機能は、サーバコンピュータによって実現されてもよい。
【0141】
また例えば、特性推定システム1は、対象物Oの特性を推定する際に、機械学習(例えば、ベイジアンネットワーク、サポートベクトルマシン、又はディープラーニング等)を利用してもよい。例えば、特性推定システム1は、対象物Oに異常が発生しているか否かを判定する際に、機械学習を利用してもよい。この場合、特性推定システム1は、対象物Oに異常が発生した場合に計測された物理量と、対象物Oに異常が発生しなかった場合(正常だった場合)に計測された物理量と、が格納された教師データに基づいて、学習器を学習させる。特性推定システム1は、学習済みの学習器に、ロボットハンド31が対象物Oを把持したときに計測された物理量を入力すると、学習器は、入力された物理量が異常又は正常の何れに分類されるかを判定し(即ち、入力された物理量に対し、異常であるか正常であるかを示すラベルを付与し)、分析結果を出力する。この判定自体は、種々の分類学習器の手法を適用可能であり、例えば、畳み込みニューラルネットワークを利用する場合には、入力された物理量を特徴量化し、当該特徴量に基づいて分類が行われる。また例えば、異常の種類には、固さの異常やサイズの異常といった複数の種類が存在するので、異常の種類ごとの物理量を教師データに格納しておき、学習器が、入力された物理量に基づいて、どの種類の異常が発生したかを分類してもよい。他にも例えば、リカレントニューラルネットワークを利用する場合には、ロボットハンド31が対象物Oを把持したときに一定期間にわたって計測された物理量を、複数の期間に分割して個々の期間の物理量を時系列的に考慮することで、どの種類の異常が発生したかを分類してもよい。
【0142】
また、以上説明した実施形態は具体例として示したものであり、本明細書にて開示される発明をこれら具体例の構成やデータ格納例そのものに限定するものではない。当業者はこれら開示された実施形態に種々の変形、例えば、物理的構成の形状や数、データ構造、処理の実行順を変更したりしてもよい。本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。
【符号の説明】
【0143】
1 特性推定システム、N ネットワーク、O 対象物、10 ユーザ端末、11,21 CPU、12,22 記憶部、13,23 通信部、14 操作部、15 表示部、20 ロボットコントローラ、30 ロボット、31 ロボットハンド、32 センサ部、DB データベース、100 データ記憶部、101 物理量取得部、102 推定部、103 送信部、104 工程変更部、105 動作情報変更部、200 動作制御部、T11,T31,T41 ピーク値、T12,T32,T42 収束値、TS1,TS2,TS3,TS4 トルク信号、t11,t21,t31,t41 立ち上がりタイミング、t13,t23,t33,t43 収束タイミング。