(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024088097
(43)【公開日】2024-07-02
(54)【発明の名称】ロボットシステム及び制御方法
(51)【国際特許分類】
B25J 13/08 20060101AFI20240625BHJP
【FI】
B25J13/08 Z
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2022203085
(22)【出願日】2022-12-20
(71)【出願人】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100145012
【弁理士】
【氏名又は名称】石坂 泰紀
(74)【代理人】
【識別番号】100171099
【弁理士】
【氏名又は名称】松尾 茂樹
(72)【発明者】
【氏名】木本 和彦
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707BS12
3C707BT05
3C707CT05
3C707CV08
3C707CW08
3C707CX01
3C707CX03
3C707DS01
3C707FS01
3C707FU01
3C707HS27
3C707KS09
3C707KS10
3C707KS35
3C707KS38
3C707KV01
3C707LV04
3C707LV05
3C707LW03
3C707MS15
3C707MT04
(57)【要約】
【課題】ワークの重量異常を高い信頼性で検出するのに有効なロボットシステムを提供する。
【解決手段】ロボットシステム1は、ワークを保持する保持部3と、保持部3の位置及び姿勢を変更する複数の駆動軸と、を有するロボット2と、複数の駆動軸のうち少なくとも1の駆動軸が発生するトルクを所定値以下に制限しながら、1の駆動軸を所定の動作パターンで動作させる制御部112と、トルクが所定値以下に制限された状態にて、1の駆動軸が動作パターンで動作する期間の長さに基づいてワークの重量異常を検出する検出部114と、を備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
ワークを保持する保持部と、
前記保持部の位置及び姿勢を変更する複数の駆動軸と、
を有するロボットと、
前記複数の駆動軸のうち少なくとも1の駆動軸が発生するトルクを所定値以下に制限しながら、前記1の駆動軸を所定の動作パターンで動作させる制御部と、
前記トルクが前記所定値以下に制限された状態にて、前記1の駆動軸が前記動作パターンで動作する期間の長さに基づいて前記ワークの重量異常を検出する検出部と、
を備えるロボットシステム。
【請求項2】
前記制御部は、前記ワークの重量異常が生じていない場合であっても、トルクが前記所定値に達する前記動作パターンで前記1の駆動軸を動作させる、
請求項1記載のロボットシステム。
【請求項3】
前記複数の駆動軸は、前記1の駆動軸の位置を変更する他の駆動軸を含み、
前記制御部は、前記他の駆動軸により前記1の駆動軸を定位置に配置した状態にて、前記1の駆動軸を前記動作パターンで動作させる、
請求項1又は2記載のロボットシステム。
【請求項4】
前記制御部は、前記保持部を鉛直な軸線まわりに旋回させる前記動作パターンで前記1の駆動軸を動作させる、
請求項1又は2記載のロボットシステム。
【請求項5】
前記ロボットは、前記保持部に接続されたアームを有し、
前記複数の駆動軸は、
前記保持部の位置及び姿勢を変更するように前記アームを駆動する複数のアーム駆動軸と、
前記アームの先端に対し前記保持部を旋回させる旋回駆動軸と、
を含み、
前記制御部は前記旋回駆動軸を前記1の駆動軸として動作させる、
請求項1又は2記載のロボットシステム。
【請求項6】
前記制御部は、前記複数のアーム駆動軸により前記保持部を前記アームの先端の下に配置した状態にて、前記保持部を鉛直な軸線まわりに旋回させる前記動作パターンで前記旋回駆動軸を動作させる、
請求項5記載のロボットシステム。
【請求項7】
前記1の駆動軸の温度と、前記ワークの重量異常の検出閾値との関係を表す閾値プロファイルと、前記1の駆動軸の温度とに基づいて前記検出閾値を決定する閾値決定部を更に備え、
前記検出部は、決定された前記検出閾値と、前記1の駆動軸が前記動作パターンで動作する期間の長さとの関係に基づいて前記ワークの重量異常を検出する、
請求項1又は2記載のロボットシステム。
【請求項8】
前記1の駆動軸の温度と、前記1の駆動軸が前記動作パターンで動作した期間の長さと、前記ワークの重量異常の有無とを対応付けたレコードを記憶部に蓄積する蓄積部と、
前記記憶部に蓄積された複数の前記レコードに基づいて、前記ワークの重量異常が有るレコードと、前記ワークの重量異常が無いレコードとを分類するように前記閾値プロファイルを生成するプロファイル生成部と、を更に備え、
前記閾値決定部は生成された前記閾値プロファイルと前記1の駆動軸の温度とに基づいて前記検出閾値を決定する、
請求項7記載のロボットシステム。
【請求項9】
前記蓄積部は、前記閾値プロファイルが生成された後に、前記1の駆動軸の温度と、前記1の駆動軸が前記動作パターンで動作した期間の長さと、前記検出部による検出結果とを対応付けた追加レコードを前記記憶部に蓄積し、
前記プロファイル生成部は、前記追加レコードに基づいて前記閾値プロファイルを更新する、
請求項8記載のロボットシステム。
【請求項10】
ワークを保持する保持部と、
前記保持部の位置及び姿勢を変更する複数の駆動軸と、
を有するロボットと、
前記複数の駆動軸のうち少なくとも1の駆動軸を、所定長の期間をかけて所定の動作パターンで動作させる制御部と、
前記動作パターンでの動作にかかる期間が前記所定長となるように前記1の駆動軸が発生させたトルクの大きさに基づいて前記ワークの重量異常を検出する検出部と、
を備えるロボットシステム。
【請求項11】
前記検出部は、前記トルクの大きさとして、前記動作パターンでの動作にかかる期間が前記所定長となるように前記1の駆動軸が発生させたトルクの時間積分の算出結果に基づいて前記ワークの重量異常を検出する、請求項10記載のロボットシステム。
【請求項12】
前記ロボットは、前記保持部に接続されたアームを有し、
前記複数の駆動軸は、
前記保持部の位置及び姿勢を変更するように前記アームを駆動する複数のアーム駆動軸と、
前記アームの先端に対し前記保持部を旋回させる旋回駆動軸と、
を含み、
前記制御部は前記旋回駆動軸を前記1の駆動軸として動作させる、
請求項10又は11記載のロボットシステム。
【請求項13】
前記制御部は、前記複数のアーム駆動軸により前記保持部を前記アームの先端の下に配置した状態にて、前記保持部を鉛直な軸線まわりに旋回させる前記動作パターンで前記旋回駆動軸を動作させる、
請求項12記載のロボットシステム。
【請求項14】
前記1の駆動軸の温度と、前記ワークの重量異常の検出閾値との関係を表す閾値プロファイルと、前記1の駆動軸の温度とに基づいて前記検出閾値を決定する閾値決定部を更に備え、
前記検出部は、決定された前記検出閾値と、前記トルクの大きさとの関係に基づいて前記ワークの重量異常を検出する、
請求項10又は11記載のロボットシステム。
【請求項15】
ワークをロボットの保持部により保持させることと、
前記保持部の位置及び姿勢を変更する前記ロボットの複数の駆動軸のうち、少なくとも1の駆動軸が発生するトルクを所定値以下に制限しながら、前記1の駆動軸を所定の動作パーンで動作させることと、
前記トルクが前記所定値以下に制限された状態にて、前記1の駆動軸が所定の動作パターンで動作する期間の長さに基づいて前記ワークの重量異常を検出することと、
を含む制御方法。
【請求項16】
ワークをロボットの保持部により保持させることと、
前記保持部の位置及び姿勢を変更する前記ロボットの複数の駆動軸のうち、少なくとも1の駆動軸を、所定長の期間をかけて所定の動作パターンで動作させることと、
前記動作パターンでの動作にかかる期間が前記所定長となるように前記1の駆動軸が発生させたトルクの大きさに基づいて前記ワークの重量異常を検出することと、
を含む制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ロボットシステム及び制御方法に関する。
【背景技術】
【0002】
特許文献1には、ハンド装置と、ハンド装置を搭載した可動部と、可動部を動作させるための駆動軸と、駆動軸を駆動するモータの電流値を計測する電流計測部と、ハンド装置がワークを保持しているときに電流計測部が計測した電流値と所定の閾値との比較結果に基づいて、ハンド装置が保持するワークの数が所期の数と異なることを検知するワーク数検知部と、を備えるワーク搬送装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、ワークの重量異常を高い信頼性で検出するのに有効なロボットシステムを提供する。
【課題を解決するための手段】
【0005】
本開示の一側面に係るロボットシステムは、ワークを保持する保持部と、保持部の位置及び姿勢を変更する複数の駆動軸と、を有するロボットと、複数の駆動軸のうち少なくとも1の駆動軸が発生するトルクを所定値以下に制限しながら、1の駆動軸を所定の動作パターンで動作させる制御部と、トルクが所定値以下に制限された状態にて、1の駆動軸が動作パターンで動作する期間の長さに基づいてワークの重量異常を検出する検出部と、を備える。
【0006】
本開示の他の側面に係るロボットシステムは、ワークを保持する保持部と、保持部の位置及び姿勢を変更する複数の駆動軸と、を有するロボットと、複数の駆動軸のうち少なくとも1の駆動軸を、所定長の期間をかけて所定の動作パターンで動作させる制御部と、動作パターンでの動作にかかる期間が所定長となるように1の駆動軸が発生させたトルクの大きさに基づいてワークの重量異常を検出する検出部と、を備える。
【0007】
本開示の更に他の側面に係る制御方法は、ワークをロボットの保持部により保持させることと、保持部の位置及び姿勢を変更するロボットの複数の駆動軸のうち、少なくとも1の駆動軸が発生するトルクを所定値以下に制限しながら、1の駆動軸を所定の動作パーンで動作させることと、トルクが所定値以下に制限された状態にて、1の駆動軸が所定の動作パターンで動作する期間の長さに基づいてワークの重量異常を検出することと、を含む。
【0008】
本開示の更に他の側面に係る制御方法は、ワークをロボットの保持部により保持させることと、保持部の位置及び姿勢を変更するロボットの複数の駆動軸のうち、少なくとも1の駆動軸を、所定長の期間をかけて所定の動作パターンで動作させることと、動作パターンでの動作にかかる期間が所定長となるように1の駆動軸が発生させたトルクの大きさに基づいてワークの重量異常を検出することと、を含む。
【発明の効果】
【0009】
本開示によれば、ワークの重量異常を高い信頼性で検出するのに有効なロボットシステムを提供することができる。
【図面の簡単な説明】
【0010】
【
図1】ロボットシステムの構成を例示する模式図である。
【
図2】ピックアップのためにロボットがワークを保持した状態を例示する模式図である。
【
図3】コントローラの機能的な構成を例示するブロック図である。
【
図4】ロボットが検査モーションを実行している状態を例示する模式図である。
【
図6】コントローラのハードウェア構成を例示するブロック図である。
【
図7】レコードの蓄積中におけるワーク搬送手順を例示するフローチャートである。
【
図8】レコードの蓄積後におけるワーク搬送手順を例示するフローチャートである。
【発明を実施するための形態】
【0011】
以下、実施形態について、図面を参照しつつ詳細に説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。
【0012】
〔ロボットシステム〕
図1に示すロボットシステム1は、ワークを搬送する。ワークの種別に特に制限はないが、以下においてはシート状のワークを搬送するロボットシステム1を例示する。シート状のワークの具体例としては、鉄鋼、アルミ合金等の金属の板材が挙げられる。
【0013】
図1に示すように、ロボットシステム1は、ロボット2と、コントローラ100とを備える。ロボット2は、保持部3と、アーム10とを備える。保持部3は、ワークWを保持する。例えば保持部3は、負圧によってワークWの片面を吸着することでワークWを保持する。アーム10は、保持部3に接続されており、保持部3の位置及び姿勢を変更する。
【0014】
例えばアーム10は、シリアルリンク型のロボットアームである。例えばアーム10は、垂直多関節型のロボットアームであり、基部11と、旋回部12と、第1アーム13と、第2アーム14と、第3アーム17と、先端部18と、駆動軸41,42,43,44,45,46とを有する。
【0015】
基部11は、床面、壁面、天井面等に固定される。基部11は、無人搬送車等のように移動体に固定されていてもい。旋回部12は、鉛直な軸線21まわりに旋回するように基部11上に設けられている。
【0016】
第1アーム13は、軸線21に交差(例えば直交)する軸線22まわりに揺動するように旋回部12に接続されており、軸線21から遠ざかる方向に延びている。交差は、立体交差のようにねじれの関係にあることを含む。以下においても同様である。
【0017】
第2アーム14は、軸線22に平行な軸線23まわりに揺動するように第1アーム13の端部に接続されている。第2アーム14は、アーム基部15と、アーム端部16とを含む。アーム基部15は、軸線22に平行な軸線23まわりに揺動するように第1アーム13の端部に接続されており、軸線23から遠ざかる方向に延びている。アーム端部16は、アーム基部15に沿った軸線24まわりに旋回するようにアーム基部15の端部に接続されており、アーム基部15の端部から遠ざかる方向に延びている。
【0018】
第3アーム17は、軸線24に交差する軸線25まわりに揺動するようにアーム端部16の端部に接続されており、軸線25から遠ざかる方向に延びている。先端部18は、第3アーム17に沿った軸線26まわりに旋回するように第3アーム17に接続されて、保持部3に接続されている。
【0019】
以上に例示したアーム10は、基部11と旋回部12との接続部である関節31と、旋回部12と第1アーム13との接続部である関節32と、第1アーム13とアーム基部15との接続部である関節33と、アーム基部15とアーム端部16との接続部である関節34と、アーム端部16と第3アーム17との接続部である関節35と、第3アーム17と先端部18との接続部である関節36とを有する。
【0020】
駆動軸41,42,43,44,45,46は、関節31,32,33,34,35,36をそれぞれ駆動する。例えば駆動軸41は、基部11に対して軸線21まわりに旋回するように旋回部12を駆動する。駆動軸42は、旋回部12に対して軸線22まわりに揺動するように第1アーム13を駆動する。駆動軸43は、第1アーム13に対して軸線23まわりに揺動するようにアーム基部15を駆動する。駆動軸44は、アーム基部15に対して軸線24まわりに旋回するようにアーム端部16を駆動する。駆動軸45は、アーム端部16に対して軸線25まわりに揺動するように第3アーム17を駆動する。駆動軸46は、第3アーム17に対して軸線26まわりに旋回するように先端部18を駆動する。
【0021】
駆動軸41,42,43,44,45,46のそれぞれは、電動のサーボモータと、サーボモータの回転角度を検出するセンサ(例えばエンコーダ)と、減速機とを有する。少なくとも駆動軸46は、温度センサ51を更に有していてもい。温度センサ51は、例えばセンサ内に設けられており、駆動軸46の温度を検出する。駆動軸41,42,43,44,45,46が関節31,32,33,34,35,36を駆動することによって、先端部18の位置及び姿勢が自在に変更される。先端部18の位置及び姿勢の変更に伴って、先端部18に接続された保持部3の位置及び姿勢も変更される。
【0022】
駆動軸41,42,43,44,45,46は、保持部3の位置及び姿勢を変更するようにアーム10を駆動する複数のアーム駆動軸と、アームの先端に対し保持部を旋回させる旋回駆動軸とを含む。例えば駆動軸41,42,43,44,45はアーム駆動軸であり、駆動軸46は旋回駆動軸である。駆動軸46は、旋回駆動軸であり、且つアーム駆動軸であると考えることもできる。
【0023】
コントローラ100は、予め定められた数(例えば一つ)のワークWをピックアップして目的位置まで搬送し、リリースすることを繰り返すようにロボット2を制御する。このような作業においては、予め定められた数よりも多くのワークWをピックアップしてしまう場合が生じ得る。例えば
図2に示すように、上下に重なったシート状のワークWを上から順に吸着してピックアップする場合に、二つ以上のワークWが互いに貼り付いた状態でピックアップされてしまう場合がある。また、吸着不良等により、ワークWが一つもピックアップされないことも考えられる。
【0024】
予め定められた数よりも多くのワークWをピックアップしてしまう場合、及びワークWを一つもピックアップできない場合を、以下においては「ピックアップ不良」と総称する。ピックアップ不良が生じ得る状況においては、搬送の完遂前にピックアップ不良を検出し、リカバリー処理を実行することが必要である。リカバリー処理の具体例としては、リカバリー用に設けられたリカバリー位置までワークWを搬送してリリースし、次のワークWをピックアップすること等が挙げられる。
【0025】
ピックアップ不良は、専用の検出装置を設けることで検出可能である。専用の検出装置の一例としては、ピックアップされたワークWを撮像して画像データを生成し、画像データに基づいてピックアップされたワークWの数を認識する画像処理装置が挙げられる。画像処理装置を設けるには、カメラ等の撮像装置に加えて、画像処理に適した演算能力のコンピュータが必要とされるので、ロボットシステム1のコストが上昇することとなる。専用の検出装置の他の例として、ワーク保持部の重量を検出する力センサが挙げられる。力センサによれば、ピックアップ不良をワークWの重量異常として検出することが可能である。しかしながら、専用の力センサを設けることでロボットシステム1のコストが上昇することとなる。
【0026】
専用の検出装置によらずにピックアップ不良を検出する手法として、駆動軸41,42,43,44,45,46のうち少なくとも1の駆動軸が発生するトルクに基づく手法が挙げられる。しかしながら、駆動軸41,42,43,44,45,46の動作中におけるトルクの瞬時値は大きくばらつくので、ピックアップ不良を高い信頼性で検出し得ない場合がある。駆動軸41,42,43,44,45,46により保持部3を同一位置及び同一姿勢に保っている最中のトルクに基づいてピックアップ不良を検出することも考えられるが、上記同一位置及び同一姿勢に至るまでの動作に起因する慣性力に起因するトルクの変動が収まるのを待機する必要があるので、検出に時間を要することとなる。
【0027】
そこで、コントローラ100は、複数の駆動軸41,42,43,44,45,46のうち少なくとも1の駆動軸が発生するトルクを所定値以下に制限しながら、1の駆動軸を所定の動作パターンで動作させることと、トルクが前記所定値以下に制限された状態にて、1の駆動軸が動作パターンで動作する期間の長さに基づいてワークWの重量異常を検出することと、を実行するように構成されている。
【0028】
トルクが所定値以下に制限された状態にて、1の駆動軸が動作パターンで動作する期間の長さは、動作パターンでの動作中におけるトルクの時間積分の大きさに対して高い相関を有することとなる。そこで、トルクが所定値以下に制限された状態にて、1の駆動軸が動作パターンで動作する期間の長さに基けば、ワークWの重量異常を高い信頼性で検出することができる。
【0029】
コントローラ100は、複数の駆動軸41,42,43,44,45,46のうち少なくとも1の駆動軸を、所定長の期間をかけて所定の動作パターンで動作させることと、動作パターンでの動作にかかる期間が所定長となるように1の駆動軸が発生させたトルクの大きさに基づいてワークWの重量異常を検出することと、を実行するように構成されていてもよい。
【0030】
動作パターンにて動作する期間が所定長となるように1の駆動軸が発生させたトルクの大きさは、動作パターンでの動作中におけるトルクの時間積分の大きさに対して高い相関を有することとなる。そこで、動作パターンにて動作する期間が所定長となるように1の駆動軸が発生させたトルクの大きさに基けば、ワークWの重量異常を高い信頼性で検出することができる。
【0031】
図3は、コントローラの機能的な構成を例示するブロック図である。
図3に示すように、コントローラ100は、機能上の構成要素(以下、「機能ブロック」という。)として、プログラム記憶部111と、制御部112と、実績値算出部113と、検出部114とを有する。
【0032】
プログラム記憶部111は、モーションプログラムを記憶している。モーションプログラムは、予め定められたモーションをロボット2に実行させるためのプログラムである。例えばモーションプログラムは、ワークWをピックアップして目的位置まで搬送し、リリースするまでの搬送モーションをロボット2に実行させるように構成されている。
【0033】
搬送モーションは、ワークWの重量異常を検出するための検査モーションを含む。例えば、搬送モーションは、ワークWをピックアップして、検査モーションの開始位置まで搬送する第1搬送モーションと、検査モーションと、ワークWの重量異常が検出されなかった場合に、ワークWを検査モーションの終了位置から上記目的位置まで搬送してリリースする第2搬送モーションと、ワークWの重量異常が検出された場合に、ワークWを検査モーションの終了位置から上記リカバリー位置まで搬送してリリースしするリカバリーモーションと、を含む。
【0034】
一例として、モーションプログラムは、時系列に並ぶ複数のモーションコマンドを含む。複数のモーションコマンドのそれぞれは、ロボット2の目標姿勢と、目標姿勢までの目標変位速度とを含む。ロボット2の目標姿勢は、例えば先端部18の目標位置及び目標姿勢により表されていてもよい。この場合、ロボット2の目標変位速度は、先端部18の目標変位速度により表される。ロボット2の目標姿勢は、駆動軸41,42,43,44,45,46のそれぞれの目標角度により表されていてもよい。この場合、ロボット2の目標変位速度は、駆動軸41,42,43,44,45,46のそれぞれの目標回転速度により表される。
【0035】
制御部112は、プログラム記憶部111が記憶するモーションプログラムに基づいて、ロボット2に搬送モーションを実行させる。例えば制御部112は、以下の処理をそれぞれが含む制御サイクルを繰り返す。
処理1) モーションコマンドを順次選択する。
処理2) ロボット2の現在姿勢を表す情報と、モーションコマンドとに基づいて、制御サイクルにおける駆動軸41,42,43,44,45,46のサイクル目標角度を算出する。
処理3) 駆動軸41,42,43,44,45,46のそれぞれをサイクル目標角度まで動作させる。
サイクル目標角度は、制御サイクルごとの目標角度である。
【0036】
モーションコマンドにおいて、ロボット2の目標姿勢が先端部18の目標位置及び目標姿勢により表されている場合、制御部112は、処理2において、先端部18の現在位置及び現在姿勢と、先端部18の目標位置及び目標姿勢との間を補間して、制御サイクルにおける先端部18のサイクル目標位置及びサイクル目標姿勢を算出する。サイクル目標位置及びサイクル目標姿勢は、制御サイクルごとの目標位置及び目標姿勢である。制御部112は、先端部18のサイクル目標位置及びサイクル目標姿勢に対し、逆運動学演算を行って、駆動軸41,42,43,44,45,46のサイクル目標角度を算出する。
【0037】
モーションコマンドにおいて、ロボット2の目標姿勢が駆動軸41,42,43,44,45,46のそれぞれの目標角度により表されている場合、制御部112は、処理2において、駆動軸41,42,43,44,45,46のそれぞれの現在角度と、駆動軸41,42,43,44,45,46のそれぞれの目標角度との間を補間して、制御サイクルにおける駆動軸41,42,43,44,45,46のサイクル目標角度を算出する。
【0038】
処理3において、制御部112は、駆動軸41,42,43,44,45,46のそれぞれに対し、サイクル目標角度まで回転させるためのトルク指令を算出し、トルク指令に対応するトルクを発生させるための電流を供給する。
【0039】
上述の検査モーションは、駆動軸41,42,43,44,45,46のうち少なくとも1の駆動軸を所定の動作パターンで動作させることを含む。制御部112は、上記1の駆動軸が発生するトルクを所定値以下に制限しながら、1の駆動軸を所定の動作パターンで動作させてもよい。トルクを所定値以下に制限するために、制御部112は、例えば上記処理3におけるトルク指令を所定位置以下に制限する。
【0040】
検査モーションは、ワークWの重量異常が生じていない場合であっても、トルクが所定値に達する動作パターンで1の駆動軸を動作させることを含んでいてもよい。この場合、制御部112は、ワークWの重量異常が生じていない場合であっても、トルクが所定値に達する動作パターンにて1の駆動軸を動作させることとなる。
【0041】
ワークWの重量異常が生じない場合であっても、トルクが所定値に達する動作パターンは、例えばトルクが所定値以下に制限されない場合に、動作パターンによる動作期間の少なくとも一部においてトルクが所定値を超える動作パターンである。
【0042】
動作パターンのうち、トルクが所定値に達する期間には、所定値を超えるトルクを1の駆動軸に発生させることができないため、トルクが所定値以下に制限されない場合に比較して、動作パターンによる動作期間が長くなる。また、トルクが上記所定値に達する期間の長さによって、動作パターンによる動作期間が変わる。
【0043】
動作パターンにて動作するのに必要とされるトルクは、ワークWの重量によって変わるので、トルクが上記所定値に達する期間は、ワークWの重量によって変わる。このため、動作パターンによる動作期間は、ワークWの重量によって変わる。
【0044】
制御部112は、上記1の駆動軸が発生するトルクを所定値以下に制限することなく、所定長の期間をかけて所定の動作パターンで1の駆動軸を動作させてもよい。この場合、ワークWの重量によって、動作パターンでの動作にかかる期間が所定長となるように1の駆動軸が発生させたトルクの大きさが変わる。
【0045】
制御部112は、1の駆動軸の他の駆動軸により、1の駆動軸を定位置に配置した状態にて、1の駆動軸を動作パターンで動作させてもよい。動作パターンで動作する際の1の駆動軸の位置を定位置とすることで、再現性を向上させることができる。
【0046】
制御部112は、保持部3を鉛直な軸線まわりに旋回させる動作パターンで1の駆動軸を動作させてもよい。トルクにおいて、ワークWの慣性に起因する成分の比率を高めることで、ワークWの重量異常をより高い感度で検出することができる。
【0047】
一例として、制御部112は、上記旋回駆動軸である駆動軸46を1の駆動軸とし、上記アーム行動軸である駆動軸41,42,43,44,45(他の駆動軸)により駆動軸46を定位置に配置した状態にて駆動軸46を動作パターンで動作させる。アーム10の自重が作用し難い駆動軸46を1の駆動軸とすることで、トルクにおいてワークWの重量に起因する成分の比率を高めることができる。これにより、ワークWの重量異常をより高い感度で検出することができる。また、駆動軸45により第3アーム17と共にワークWを揺動させる動作、駆動軸43により第1アーム13及び第3アーム17と共にワークWを揺動させる動作、駆動軸42により旋回部12、第1アーム13及び第3アーム17と共にワークWを揺動させる動作のように、アーム10の一部と共にワークWを揺動させる動作に比較して、ワークWに作用する慣性力が小さいので、ワークWの脱落の可能性を低減することができる。なお、「定位置」は、基部11に対する定位置である。
【0048】
例えば制御部112は、ワークWを吸着して上昇した保持部3を、駆動軸41,42,43,44,45により先端部18の下(例えば直下)に配置した状態にて、保持部3を鉛直な軸線まわりに旋回させる動作パターンで駆動軸46を動作させる(
図4参照)。トルクにおいて、ワークWの慣性に起因する成分の比率を高めることで、ワークWの重量異常をより高い感度で検出することができる。
【0049】
この例において、制御部112は、上述のように、ワークWを吸着して上昇した保持部3が先端部18の下に配置された状態を、上記検査モーションの開始位置として上記第1搬送モーションをロボット2に実行させる。同様に保持部3が先端部18の下に配置された状態を、上記検査モーションの終了位置として上記第2搬送モーションをロボット2に実行させる。
【0050】
実績値算出部113は、動作パターンによる1の駆動軸の動作実績を表す実績データを制御部112から取得し、取得した実績データに基づいて、ワークWの重量に相関する実績値を算出する。上述のように、制御部112が、トルクを所定値以下に制限しながら1の駆動軸を動作させる場合、実績値算出部113は、動作パターンにて1の駆動軸が動作した期間の長さの実績値を実績データに基づいて算出する。この実績値を、以下においては「期間実績値」という。上述のように、制御部112が、トルクを所定値以下に制限することなく、所定長の期間をかけて所定の動作パターンで1の駆動軸を動作させる場合、実績値算出部113は、動作パターンでの動作にかかる期間が所定長となるように1の駆動軸が発生させたトルクの大きさの実績値を実績データに基づいて算出する。この実績値を、以下においては「トルク実績値」という。実績値算出部113は、トルク実績値として、動作パターンでの動作にかかる期間が所定長となるように1の駆動軸が発生させたトルクの時間積分を算出してもよい。
【0051】
検出部114は、実績値算出部113が算出した実績値に基づいて、ワークWの重量異常を検出する。制御部112が、トルクを所定値以下に制限しながら1の駆動軸を動作させる場合、検出部114は、上記期間実績値に基づいてワークWの重量異常を検出する。制御部112が、トルクを所定値以下に制限することなく、所定長の期間をかけて所定の動作パターンで1の駆動軸を動作させる場合、検出部114は、上記トルク実績値に基づいてワークWの重量異常を検出する。
【0052】
例えば検出部114は、実績値算出部113が算出した実績値と、予め定められた検出閾値との関係に基づいてワークWの重量異常を検出する。例えば検出部114は、実績値が検出閾値よりも小さい場合にワークWの重量が正常であることを検出し、実績値が検出閾値よりも大きい場合にワークWの重量が過多であることを検出する。
【0053】
検出閾値は、第1閾値と、第1閾値よりも大きい第2閾値とを含んでいてもよい。検出部114は、実績値が第1閾値と第2閾値との間である場合にワークWの重量が正常であることを検出し、実績値が第1閾値よりも小さい場合にワークWの重量が過小であることを検出し、実績値が第2閾値よりも大きい場合にワークWの重量が過多であることを検出してもよい。
【0054】
コントローラ100は、1の駆動軸の温度と、検出閾値との関係を表す閾値プロファイルと、1の駆動軸の温度とに基づいて上記検出閾値を決定することを更に実行するように構成されていてもよい。動作パターンで動作するために1の駆動軸が発生すべきトルクは、1の駆動軸の温度によって変化する。この変化は、例えば減速機内のグリースの粘度変化等に起因している。このため、1の駆動軸の温度に応じた検出閾値を決定することで、より高い信頼性でワークWの重量異常を検出することができる。
【0055】
例えばコントローラ100は、機能ブロックとして、温度取得部121と、ワーク数取得部122と、蓄積部123と、記憶部124と、プロファイル生成部125と、閾値決定部126とを更に有する。温度取得部121は、1の駆動軸の温度の検出結果を取得する。例えば温度取得部121は、温度センサ51から駆動軸46の温度の検出結果を取得する。
【0056】
ワーク数取得部122は、保持部3が実際に保持しているワークWの数の情報を取得する。例えばワーク数取得部122は、作業者の目視確認によるワークWの数の確認結果を、例えば後述のユーザインタフェース196への入力等に基づいて取得する。
【0057】
蓄積部123は、温度取得部121が取得した温度の検出結果と、実績値算出部113が算出した実績値と、ワーク数取得部122が取得したワークWの数の確認結果とを対応付けたレコードを記憶部124に蓄積する。ワークWの数の確認結果が予定どおりの数である場合は、ワークWの重量異常が無い場合の一例である。ワークWの数の確認結果が予定どおりの数ではない場合は、ワークWの重量異常が有る場合の一例である。
【0058】
記憶部124は、コントローラ100とは別の装置に設けられていてもよい。この場合、蓄積部123は、コントローラ100と別の装置との間の通信により、レコードを記憶部124に蓄積する。プロファイル生成部125は、記憶部124に蓄積された複数のレコードに基づいて閾値プロファイルを生成する。例えばプロファイル生成部125は、サポートベクタマシン、ロジスティック回帰等によって、ワークWの数が予定どおりである(ワークWの重量が正常である)レコードと、ワークWの数が予定どおりではない(ワークWの重量が異常である)レコードとを仕分けるラインを閾値プロファイルとして生成する。閾値プロファイルは、関数により表されていてもよいし、離散的な点群データにより表されていてもよい。
【0059】
図5は、閾値プロファイルを例示するグラフである。横軸は温度の大きさを表し、縦軸は実績値の大きさを表す。
図5において、三角形のレコードは、ワークWの数が予定よりも多い(ワークWの重量が過多である)レコードである。円形のレコードは、ワークWの数が予定どおり(ワークWの重量が正常である)レコードである。プロファイル生成部125は、
図5の境界線L1のように閾値プロファイルを生成する。プロファイル生成部125により、閾値プロファイルの生成を自動化することで、利便性を向上させることができる。
【0060】
上述のように、検出閾値が第1閾値と第2閾値とを含む場合、プロファイル生成部125は、第1閾値に対応する第1プロファイルと、第2閾値に対応する第2プロファイルと、を含む閾値プロファイルを生成してもよい。
【0061】
プロファイル生成部125は、記憶部124に蓄積されたレコードを全て含む温度レンジを、複数のサブレンジに区分し、サブレンジごとに閾値プロファイルを生成してもよい。
【0062】
図3に戻り、閾値決定部126は、プロファイル生成部125が生成した閾値プロファイルと、温度取得部121が取得した温度の検出結果とに基づいて検出閾値を決定する。例えばプロファイル生成部125は、閾値プロファイルにおいて、温度の検出結果に対応する検出閾値を特定する。検出部114は、決定された検出閾値と、実績値との関係に基づいてワークWの重量異常を検出する。
【0063】
閾値プロファイルが上記サブレンジごとに生成されている場合、閾値決定部126は、複数のサブレンジから、温度の検出結果が属するサブレンジを特定し、特定したサブレンジの閾値プロファイルと、温度の検出結果とに基づいて検出閾値を決定する。
【0064】
蓄積部123は、閾値プロファイルが生成された後に、温度取得部121が取得した1の駆動軸の温度の検出結果と、実績値算出部113が算出した実績値と、検出部114による検出結果とを対応付けた追加レコードを記憶部124に蓄積してもよい。プロファイル生成部125は、追加レコードに基づいて閾値プロファイルを更新してもよい。例えば一日における気温のレンジ等の長期的な環境変化に対し、閾値プロファイルを少しずつ適応させることができる。
【0065】
図6は、コントローラのハードウェア構成を例示するブロック図である。
図6に示すように、コントローラ100は、回路190を有する。回路190は、プロセッサ191と、メモリ192と、ストレージ193と、入出力ポート194と、モータドライバ195と、ユーザインタフェース196とを有する。ストレージ193は、1以上の不揮発性の記憶デバイスを含む。不揮発性の記憶デバイスの例としては、ハードディスクドライブ又はフラッシュメモリ等が挙げられる。記憶デバイスは、可搬型の記憶媒体に情報を記憶させるデバイスであってもよい。ストレージ193は、複数の駆動軸41,42,43,44,45,46のうち少なくとも1の駆動軸が発生するトルクを所定値以下に制限しながら、1の駆動軸を所定の動作パターンで動作させることと、トルクが前記所定値以下に制限された状態にて、1の駆動軸が動作パターンで動作する期間の長さに基づいてワークWの重量異常を検出することと、をコントローラ100に実行させるためのプログラムを記憶している。ストレージ193は、複数の駆動軸41,42,43,44,45,46のうち少なくとも1の駆動軸を、所定長の期間をかけて所定の動作パターンで動作させることと、動作パターンでの動作にかかる期間が所定長となるように1の駆動軸が発生させたトルクの大きさに基づいてワークWの重量異常を検出することと、をコントローラ100に実行させるためのプログラムを記憶していてもよい。例えばストレージ193は、上述した複数の機能ブロックをコントローラ100に構成させるためのプログラムを記憶している。
【0066】
メモリ192は、1以上の揮発性の記憶デバイスを含む。揮発性の記憶デバイスの例としては、ランダムアクセスメモリ等が挙げられる。メモリ192は、ストレージ193からロードされたプログラムを一時的に記憶する。プロセッサ191は、1以上の演算素子を含む。演算素子の例としては、CPU(Central Processing Unit)又はGPU(Graphics Processing Unit)等が挙げられる。プロセッサ191は、メモリ192にロードされたプログラムを実行することで、上述した複数の機能ブロックをコントローラ100に構成させる。
【0067】
入出力ポート194は、プロセッサ191からの要求に応じて、温度センサ51等とので情報の入出力を行う。モータドライバ195は、プロセッサ191からの要求に応じて、駆動軸41,42,43,44,45,46を動作させる。ユーザインタフェース196は、入力デバイスと、表示デバイスとを含み、プロセッサ191からの要求に応じて入力デバイスへの入力を取得し、プロセッサ191からの要求に応じて表示デバイスに文字、画像等を表示する。表示デバイスの例としては、液晶ディスプレイ又は有機EL(Electro-Luminescence)ディスプレイ等が挙げられる。入力デバイスの例としては、キーボード、マウス、タッチパッド等が挙げられる。入力デバイスは、所謂タッチパネルとして表示デバイスと一体化されていてもよい。
【0068】
回路190は、必ずしも1回路でなくてよく、有線又は無線で互いに通信可能な複数の回路により構成されていてもよい。
【0069】
〔制御方法〕
制御方法の一例として、レコードの蓄積中におけるワークWの搬送手順と、レコードの蓄積後におけるワークWの搬送手順とを例示する。(レコードの蓄積中におけるワークの搬送手順)
図7に示すように、コントローラ100は、まずステップS01,S02,S03を実行する。ステップS01では、制御部112が、上記第1搬送モーションにより、ワークWをピックアップし、検査モーションの開始位置まで搬送するようにロボット2を制御する。ステップS02では、制御部112が、上記検査モーションを実行するようにロボット2を制御する。制御部112は、上記実績データを保持する。ステップS03では、実績値算出部113が、上記実績データに基づいて、ワークWの重量に相関する上記実績値を算出する。
【0070】
次に、コントローラ100は、ステップS04,S05,S06を実行する。ステップS04では、保持部3が実際に保持しているワークWの数の情報を、ユーザインタフェース196への入力等に基づいてワーク数取得部122が取得する。ステップS05では、温度取得部121が、温度センサ51から駆動軸46の温度の検出結果を取得する。コントローラ100は、ステップS05をステップS04よりも前に実行してもよいし、ステップS04と並行して実行してもよい。ステップS06では、温度取得部121が取得した温度の検出結果と、実績値算出部113が算出した実績値と、ワーク数取得部122が取得したワークWの数の確認結果とを対応付けたレコードを記憶部124に蓄積する。
【0071】
次に、コントローラ100は、ステップS07を実行する。ステップS07では、ワーク数取得部122が取得したワークWの数の情報に基づいて、ワークWの重量異常はないか否かを制御部112が確認する。ステップS07において、ワークWの重量異常がないと判定した場合、コントローラ100はステップS08を実行する。ステップS08では、制御部112が、上記第2搬送モーションにより、検査モーションの終了位置から目的位置までワークWを搬送してリリースするようにロボット2を制御する。ステップS07において、ワークWの重量異常があると判定した場合、コントローラ100はステップS09を実行する。ステップS09では、制御部112が、上記リカバリーモーションにより、検査モーションの終了位置からリカバリー位置までワークWを搬送してリリースするようにロボット2を制御する。
【0072】
次に、コントローラ100はステップS11を実行する。ステップS11では、制御部112が、現在時刻が予め定められた終了時刻に達しているか否かを確認する。ステップS11において、現在時刻が終了時刻に達していないと判定した場合、コントローラ100は処理をステップS01に戻す。以後、コントローラ100は、現在時刻が終了時刻に達するまでステップS01~S09を繰り返す。ステップS11において、現在時刻が終了時刻に達していると判定した場合、コントローラ100は処理を終了する。以上で、記憶部124へのレコードの蓄積が完了する。
【0073】
(レコードの蓄積後におけるワーク搬送手順)
図8に示すように、コントローラ100は、まずステップS21,S22,S23,S24を実行する。ステップS21では、ステップS01と同様に、制御部112が、第1搬送モーションを実行するようにロボット2を制御する。ステップS22では、ステップS02と同様に、制御部112が、検査モーションを実行するようにロボット2を制御する。ステップS23では、ステップS03と同様に、実績値算出部113が、上記実績値を算出する。ステップS24では、ステップS05と同様に、温度取得部121が、温度センサ51から駆動軸46の温度の検出結果を取得する。
【0074】
次に、コントローラ100は、ステップS25,S26,S27を実行する。ステップS25では、閾値決定部126が、複数のサブレンジから、温度の検出結果が属するサブレンジを特定する。ステップS26では、プロファイル生成部125が、特定されたサブレンジのレコードを記憶部124から抽出し、抽出したレコードに基づいて閾値プロファイルを生成する。なお、プロファイル生成部125は、サブレンジごとの閾値プロファイルを予め生成し、保持していてもよい。ステップS27では、プロファイル生成部125が生成した閾値プロファイルと、温度の検出結果とに基づいて、閾値決定部126が検出閾値を決定する。
【0075】
次に、コントローラ100はステップS28を実行する。ステップS28では、実績値算出部113が算出した実績値と、閾値決定部126が決定した検出閾値との関係に基づいて、ワークWの重量異常がないか否かを検出部114が確認する。ステップS28において、ワークWの重量異常がないと判定した場合、コントローラ100はステップS31を実行する。ステップS31では、ステップS08と同様に、制御部112が、上記第2搬送モーションを実行するようにロボット2を制御する。ステップS28において、ワークWの重量異常があると判定した場合、コントローラ100はステップS32を実行する。ステップS32では、ステップS09と同様に、制御部112が、上記リカバリーモーションを実行するようにロボット2を制御する。
【0076】
次に、コントローラ100はステップS33,S34を実行する。ステップS33では、温度取得部121が取得した1の駆動軸の温度の検出結果と、実績値算出部113が算出した実績値と、検出部114による検出結果とを対応付けた追加レコードを蓄積部123が記憶部124に蓄積する。追加レコードが加わることで、記憶部124における上記温度レンジが広がる場合、プロファイル生成部125が、温度レンジを新たな複数のサブレンジに区分しなおしてもよい。追加レコードが温度レンジ外となる場合に、蓄積部123は、温度レンジ外での推定が行われたことをユーザインタフェースに表示し、作業者によるワークの数の確認結果が入力された場合には、入力されたワークの数に基づく追加レコードを記憶部124に蓄積させてもよい。ステップS34では、制御部112が、現在時刻が予め定められた終了時刻に達しているか否かを確認する。ステップS34において、現在時刻が終了時刻に達していないと判定した場合、コントローラ100は処理をステップS21に戻す。以後、コントローラ100は、現在時刻が終了時刻に達するまでステップS21~S33を繰り返す。この繰り返しにおいて、ステップS26では、プロファイル生成部125が追加レコードに更に基づいて閾値プロファイルを生成する。ステップS34において、現在時刻が終了時刻に達していると判定した場合、コントローラ100は処理を終了する。
【0077】
〔まとめ〕
以上の実施形態は、以下の構成を含む。
(1) ワークを保持する保持部3と、保持部3の位置及び姿勢を変更する複数の駆動軸と、を有するロボット2と、複数の駆動軸のうち少なくとも1の駆動軸が発生するトルクを所定値以下に制限しながら、1の駆動軸を所定の動作パターンで動作させる制御部112と、トルクが所定値以下に制限された状態にて、1の駆動軸が動作パターンで動作する期間の長さに基づいてワークの重量異常を検出する検出部114と、を備えるロボットシステム1。
トルクが所定値以下に制限された状態にて、1の駆動軸が動作パターンで動作する期間の長さは、動作パターンでの動作中におけるトルクの時間積分の大きさに対して高い相関を有することとなる。そこで、トルクが所定値以下に制限された状態にて、1の駆動軸が動作パターンで動作する期間の長さに基けば、ワークの重量異常を高い信頼性で検出することができる。
【0078】
(2) 制御部112は、ワークの重量異常が生じていない場合であっても、トルクが所定値に達する動作パターンで1の駆動軸を動作させる、(1)記載のロボットシステム1。
ワークの重量異常が生じている場合と、ワークの重量異常が生じていない場合とで、1の駆動軸が動作パターンで動作する期間の長さの差が大きくなる。従って、ワークの重量異常をより高い感度で検出することができる。
【0079】
(3) 複数の駆動軸は、1の駆動軸の位置を変更する他の駆動軸を含み、制御部112は、他の駆動軸により1の駆動軸を定位置に配置した状態にて、1の駆動軸を動作パターンで動作させる、(1)又は(2)記載のロボットシステム1。
動作パターンで動作する際の1の駆動軸の位置を定位置とすることで、再現性を向上させることができる。
【0080】
(4) 制御部112は、保持部3を鉛直な軸線まわりに旋回させる動作パターンで1の駆動軸を動作させる、(1)~(3)のいずれか記載のロボットシステム1。
トルクにおいて、ワークの慣性に起因する成分の比率を高めることで、ワークの重量異常をより高い感度で検出することができる。
【0081】
(5) ロボット2は、保持部3に接続されたアーム10を有し、複数の駆動軸は、保持部3の位置及び姿勢を変更するようにアーム10を駆動する複数のアーム10駆動軸と、アーム10の先端に対し保持部3を旋回させる旋回駆動軸と、を含み、制御部112は旋回駆動軸を1の駆動軸として動作させる、(1)~(4)のいずれか記載のロボットシステム1。
アーム10の自重が作用し難い旋回駆動軸を1の駆動軸とすることで、トルクにおいてワークの重量に起因する成分の比率を高めることができる。これにより、ワークの重量異常をより高い感度で検出することができる。また、ワークを上下に振る動作に比較して、ワークの脱落の可能性を低減することができる。
【0082】
(6) 制御部112は、複数のアーム10駆動軸により保持部3をアーム10の先端の下に配置した状態にて、保持部3を鉛直な軸線まわりに旋回させる動作パターンで旋回駆動軸を動作させる、(5)記載のロボットシステム1。
トルクにおいて、ワークの慣性に起因する成分の比率を高めることで、ワークの重量異常をより高い感度で検出することができる。
【0083】
(7) 1の駆動軸の温度と、ワークの重量異常の検出閾値との関係を表す閾値プロファイルと、1の駆動軸の温度とに基づいて検出閾値を決定する閾値決定部126を更に備え、検出部114は、決定された検出閾値と、1の駆動軸が動作パターンで動作する期間の長さとの関係に基づいてワークの重量異常を検出する、(1)~(6)のいずれか記載のロボットシステム1。
より高い信頼性でワークの重量異常を検出することができる。
【0084】
(8) 1の駆動軸の温度と、1の駆動軸が動作パターンで動作した期間の長さと、ワークの重量異常の有無とを対応付けたレコードを記憶部124に蓄積する蓄積部123と、記憶部124に蓄積された複数のレコードに基づいて、ワークの重量異常が有るレコードと、ワークの重量異常が無いレコードとを分類するように閾値プロファイルを生成するプロファイル生成部125と、を更に備え、閾値決定部126は生成された閾値プロファイルと1の駆動軸の温度とに基づいて検出閾値を決定する、(7)記載のロボットシステム1。
閾値プロファイルの生成を自動化することで、利便性を向上させることができる。
【0085】
(9) 蓄積部123は、閾値プロファイルが生成された後に、1の駆動軸の温度と、1の駆動軸が動作パターンで動作した期間の長さと、検出部114による検出結果とを対応付けた追加レコードを記憶部124に蓄積し、プロファイル生成部125は、追加レコードに基づいて閾値プロファイルを更新する、(8)記載のロボットシステム1。
例えば一日における気温のレンジ等の長期的な環境変化に対し、閾値プロファイルを少しずつ適応させることができる。
【0086】
(10) ワークを保持する保持部3と、保持部3の位置及び姿勢を変更する複数の駆動軸と、を有するロボット2と、複数の駆動軸のうち少なくとも1の駆動軸を、所定長の期間をかけて所定の動作パターンで動作させる制御部112と、動作パターンでの動作にかかる期間が所定長となるように1の駆動軸が発生させたトルクの大きさに基づいてワークの重量異常を検出する検出部114と、を備えるロボットシステム1。
動作パターンにて動作する期間が所定長となるように1の駆動軸が発生させたトルクの大きさは、動作パターンでの動作中におけるトルクの時間積分の大きさに対して高い相関を有することとなる。そこで、動作パターンにて動作する期間が所定長となるように1の駆動軸が発生させたトルクの大きさに基けば、ワークの重量異常を高い信頼性で検出することができる。
【0087】
(11) 検出部114は、動作パターンでの動作にかかる期間が所定長となるように1の駆動軸が発生させたトルクの時間積分の算出結果に基づいてワークの重量異常を検出する、(10)記載のロボットシステム1。
トルクの時間積分の算出結果に基づくことで、ワークの重量異常をより高い信頼性で検出することができる。
【0088】
(12) ロボット2は、保持部3に接続されたアーム10を有し、複数の駆動軸は、保持部3の位置及び姿勢を変更するようにアーム10を駆動する複数のアーム10駆動軸と、アーム10の先端に対し保持部3を旋回させる旋回駆動軸と、を含み、制御部112は旋回駆動軸を1の駆動軸として動作させる、(10)又は(11)記載のロボットシステム1。
アーム10の自重が作用し難い旋回駆動軸を1の駆動軸とすることで、トルクにおいてワークの重量に起因する成分の比率を高めることができる。これにより、ワークの重量異常をより高い感度で検出することができる。また、アーム10の一部と共にワークを揺動させる動作に比較して、ワークの脱落の可能性を低減することができる。
【0089】
(13) 制御部112は、複数のアーム10駆動軸により保持部3をアーム10の先端の下に配置した状態にて、保持部3を鉛直な軸線まわりに旋回させる動作パターンで旋回駆動軸を動作させる(12)記載のロボットシステム1。
トルクにおいて、ワークの慣性に起因する成分の比率を高めることで、ワークの重量異常をより高い感度で検出することができる。
【0090】
(14) 1の駆動軸の温度と、ワークの重量異常の検出閾値との関係を表す閾値プロファイルと、1の駆動軸の温度とに基づいて検出閾値を決定する閾値決定部126を更に備え、検出部114は、決定された検出閾値と、トルクの大きさとの関係に基づいてワークの重量異常を検出する、(10)~(13)のいずれか記載のロボットシステム1。
より高い信頼性でワークの重量異常を検出することができる。
【0091】
(15) ワークをロボット2の保持部3により保持させることと、保持部3の位置及び姿勢を変更するロボット2の複数の駆動軸のうち、少なくとも1の駆動軸が発生するトルクを所定値以下に制限しながら、1の駆動軸を所定の動作パーンで動作させることと、トルクが所定値以下に制限された状態にて、1の駆動軸が所定の動作パターンで動作する期間の長さに基づいてワークの重量異常を検出することと、を含む制御方法。
【0092】
(16) ワークをロボット2の保持部3により保持させることと、保持部3の位置及び姿勢を変更するロボット2の複数の駆動軸のうち、少なくとも1の駆動軸を、所定長の期間をかけて所定の動作パターンで動作させることと、動作パターンでの動作にかかる期間が所定長となるように1の駆動軸が発生させたトルクの大きさに基づいてワークの重量異常を検出することと、を含む制御方法。
【符号の説明】
【0093】
2…ロボット、3…保持部、10…アーム、18…先端部、112…制御部、114…検出部、123…蓄積部、124…記憶部、125…プロファイル生成部、126…閾値決定部。