(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024007938
(43)【公開日】2024-01-19
(54)【発明の名称】ロボットシステム及びロボット制御方法
(51)【国際特許分類】
B25J 9/22 20060101AFI20240112BHJP
【FI】
B25J9/22 A
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022109379
(22)【出願日】2022-07-07
(71)【出願人】
【識別番号】000006666
【氏名又は名称】アズビル株式会社
(74)【代理人】
【識別番号】110003166
【氏名又は名称】弁理士法人山王内外特許事務所
(72)【発明者】
【氏名】細居 智樹
(72)【発明者】
【氏名】田原 鉄也
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707AS22
3C707BS09
3C707CS08
3C707KS03
3C707KS09
3C707KS10
3C707KS12
3C707KS35
3C707KS36
3C707KT01
3C707KT04
3C707KT18
3C707KX10
3C707LS15
3C707LW12
3C707MS05
3C707MT04
3C707WA11
3C707WL09
(57)【要約】
【課題】従来に対し、アーム型ロボットと障害物体との接触による損害を抑え、且つ、高い確率で作業を遂行することを可能とする。
【解決手段】アーム型ロボットの作業環境に存在する物体、及び、当該物体の3次元空間における存在領域を抽出する物体抽出部102と、物体抽出部102により抽出結果に基づいて、当該物体抽出部102により抽出された物体の属性を推定する物体属性推定部103と、物体属性推定部103による推定結果に基づいて、物体抽出部102により抽出された物体を、接触を回避する物体又は接触を許容する物体に分類する物体分類部104と、物体分類部104による分類結果に基づいて、アーム型ロボットが接触を回避する物体との接触を全て回避可能な軌道を生成する軌道生成部105と、軌道生成部105により生成された軌道に基づいて、アーム型ロボットを駆動する軌道駆動部106とを備えた。
【選択図】
図1
【特許請求の範囲】
【請求項1】
アーム型ロボットの作業環境に存在する物体、及び、当該物体の3次元空間における存在領域を抽出する物体抽出部と、
前記物体抽出部により抽出結果に基づいて、当該物体抽出部により抽出された物体の属性を推定する物体属性推定部と、
前記物体属性推定部による推定結果に基づいて、前記物体抽出部により抽出された物体を、接触を回避する物体又は接触を許容する物体に分類する物体分類部と、
前記物体分類部による分類結果に基づいて、前記アーム型ロボットが接触を回避する物体との接触を全て回避可能な軌道を生成する軌道生成部と、
前記軌道生成部により生成された軌道に基づいて、前記アーム型ロボットを駆動する軌道駆動部と
を備えたロボットシステム。
【請求項2】
前記物体抽出部は、画像情報に基づいて、前記アーム型ロボットの作業環境に存在する物体、及び、当該物体の3次元空間における存在領域を抽出し、
前記物体属性推定部は、画像情報に基づいて、前記物体抽出部により抽出された物体の属性を推定する
ことを特徴とする請求項1記載のロボットシステム。
【請求項3】
前記軌道駆動部は、前記アーム型ロボットが物体に接触した場合であって、駆動が継続可能であると判定した場合には前記アーム型ロボットの駆動を継続し、駆動が継続不可能であると判定した場合には前記アーム型ロボットの駆動を中断し、
前記物体分類部は、前記軌道駆動部により物体への接触により前記アーム型ロボットの駆動が中断された場合、当該物体を接触を回避する物体に変更する
ことを特徴とする請求項1又は請求項2記載のロボットシステム。
【請求項4】
前記アーム型ロボットは、複数の関節を有するロボットアームであり、当該関節のうちの1つ以上の関節に、トルク値を検知するトルクセンサが設けられ、
前記軌道駆動部は、前記トルクセンサによる検知結果に基づいて、前記アーム型ロボットの駆動が継続可能かを判定する
ことを特徴とする請求項3記載のロボットシステム。
【請求項5】
物体抽出部が、アーム型ロボットの作業環境に存在する物体、及び、当該物体の3次元空間における存在領域を抽出するステップと、
物体属性推定部が、前記物体抽出部により抽出結果に基づいて、当該物体抽出部により抽出された物体の属性を推定するステップと、
物体分類部が、前記物体属性推定部による推定結果に基づいて、前記物体抽出部により抽出された物体を、接触を回避する物体又は接触を許容する物体に分類するステップと、
軌道生成部が、前記物体分類部による分類結果に基づいて、前記アーム型ロボットが接触を回避する物体との接触を全て回避可能な軌道を生成するステップと、
軌道駆動部が、前記軌道生成部により生成された軌道に基づいて、前記アーム型ロボットを駆動するステップと
を備えたロボット制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、アーム型ロボットを制御するロボットシステム及びロボット制御方法に関する。
【背景技術】
【0002】
近年、農業分野における大規模化、及び、省力化の流れに伴い、野菜又は果物等の収穫物をアーム型ロボットを用いて収穫する技術が導入され始めている。
また、農業分野の他、海底における海草又は貝類の収穫作業、或いは、災害時等の人が介入できないような環境での探索作業等、様々な分野で、人間の代替としてのロボットの導入への期待が高まっている。
【0003】
このような環境に対してアーム型ロボットを導入する場合の課題として、アーム型ロボットが作業を行おうとする際に、作業対象以外の障害物体にアーム型ロボットが接触するという点がある。アーム型ロボットが障害物体に接触した場合には、アーム型ロボットが損傷を受ける可能性もあれば、障害物体側が損傷を受ける可能性もある。
【0004】
これに対し、アーム型ロボットと障害物体との接触事故を回避するため、画像処理等を用いて接触を回避するようなアーム型ロボットの軌道を生成する技術が知られている(例えば非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】「ロボットの動作計画における最適化」; 原田研介(産業技術総合研究所) , 日本ロボット学会誌,Vol. 32,No. 6,pp. 508~511,2014
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、実際の作業環境では、どのようにアーム型ロボットの軌道を生成しても、接触が不可避の場合がある。また、仮に、完全に接触を避けようとした場合には、アーム型ロボットの軌道が生成できないため、作業が頓挫してしまう可能性がある。
【0007】
本開示は、上記のような課題を解決するためになされたもので、従来に対し、アーム型ロボットと障害物体との接触による損害を抑え、且つ、高い確率で作業を遂行することが可能となるロボットシステムを提供することを目的としている。
【課題を解決するための手段】
【0008】
本開示に係るロボットシステムは、アーム型ロボットの作業環境に存在する物体、及び、当該物体の3次元空間における存在領域を抽出する物体抽出部と、物体抽出部により抽出結果に基づいて、当該物体抽出部により抽出された物体の属性を推定する物体属性推定部と、物体属性推定部による推定結果に基づいて、物体抽出部により抽出された物体を、接触を回避する物体又は接触を許容する物体に分類する物体分類部と、物体分類部による分類結果に基づいて、アーム型ロボットが接触を回避する物体との接触を全て回避可能な軌道を生成する軌道生成部と、軌道生成部により生成された軌道に基づいて、アーム型ロボットを駆動する軌道駆動部とを備えたことを特徴とする。
【発明の効果】
【0009】
本開示によれば、上記のように構成したので、従来に対し、アーム型ロボットと障害物体との接触による損害を抑え、且つ、高い確率で作業を遂行することが可能となる。
【図面の簡単な説明】
【0010】
【
図1】実施の形態1に係るロボットシステムの構成例を示す図である。
【
図2】実施の形態1に係るロボットシステムの動作例を示すフローチャートである。
【
図3】実施の形態2に係るロボットシステムの構成例を示す図である。
【
図4】実施の形態2に係るロボットシステムの動作例を示すフローチャートである。
【
図5】実施の形態2における軌道駆動部による動作例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
図1は実施の形態1に係るロボットシステム1の構成例を示す図である。
ロボットシステム1は、作業対象物が1つ以上の障害物体に囲われた作業環境において、アーム型ロボットを用いて、例えば当該作業対象物を収穫するといった作業を行うシステムである。このロボットシステム1は、
図1に示すように、情報取得部101、物体抽出部102、物体属性推定部103、物体分類部104、軌道生成部105、及び、軌道駆動部106を備えている。
【0012】
なお、ロボットシステム1は、システムLSI(Large Scale Integration)等の処理回路、又はメモリ等に記憶されたプログラムを実行するCPU(Central Processing Unit)等により実現される。
【0013】
情報取得部101は、アーム型ロボットの作業環境に存在する物体の領域である存在領域及び属性を推定するために必要な情報を取得する。この際、情報取得部101は、上記情報として、画像情報を取得する。画像情報としては、例えば距離画像及び輝度画像が挙げられる。
【0014】
物体抽出部102は、情報取得部101により取得された情報に基づいて、アーム型ロボットの作業環境に存在する物体、及び、当該物体の3次元空間における存在領域を抽出する。アーム型ロボットの作業環境に存在する物体は、作業対象物体又は障害物体である。
【0015】
物体属性推定部103は、情報取得部101により取得された情報及び物体抽出部102による抽出結果に基づいて、当該物体抽出部102により抽出された物体の属性を推定する。物体の属性としては、物体の種類、物体の変形に対する許容可否、又は、物体の耐変形性等が挙げられる。
【0016】
物体分類部104は、物体属性推定部103による推定結果に基づいて、物体抽出部102により抽出された物体を、接触回避物体又は接触許容物体に分類する。接触回避物体は、アーム型ロボットが軌道上を駆動する際に、接触を回避する物体である。接触許容物体は、アーム型ロボットが軌道上を駆動する際に、接触を許容する物体である。
【0017】
軌道生成部105は、物体分類部104による分類結果に基づいて、アーム型ロボットが接触回避物体との接触を全て回避可能な軌道を生成する。
【0018】
この軌道生成部105において軌道の生成に成功した場合には、軌道駆動部106による処理に移行する。
一方、軌道生成部105において軌道の生成に失敗した場合には、再び物体分類部104による処理に移行し、物体分類部104は上記分類を再度行う。そして、軌道生成部105は、物体分類部104により再度行われた分類結果に基づいて、改めて軌道の生成を行う。
なお、ロボットシステム1は、候補となる全ての分類パターンを試行しても軌道生成部105において軌道が生成されなかった場合、「失敗」として全体処理を終了する。
【0019】
軌道駆動部106は、軌道生成部105により生成された軌道に基づいて、アーム型ロボットを駆動する。
なお、ロボットシステム1は、アーム型ロボットの駆動が完了した時点で「成功」として全体処理を終了する。
【0020】
次に、
図1に示す実施の形態1に係るロボットシステム1の動作例について、
図2を参照しながら説明する。
この
図1に示す実施の形態1に係るロボットシステム1の動作例では、
図2に示すように、まず、情報取得部101は、アーム型ロボットの作業環境に存在する物体の領域及び属性を推定するために必要な情報を取得する(ステップST201)。この際、情報取得部101は、上記情報として、画像情報を取得する。画像情報としては、例えば距離画像及び輝度画像が挙げられる。
【0021】
情報取得部101が取得する情報の種類としては、距離画像又は輝度画像のような一般的に使われる画像情報の他、レーザ、超音波、又は、LiDARのような様々な手段で取得された広義の画像情報も挙げられる。ここでは、具体例として、情報取得部101が、アーム型ロボットの作業環境における距離画像及び輝度画像を取得するものとする。
【0022】
なお、距離画像は、例えば、RGBD画像センサを用いて取得してもよいし、複数の画像を同時に撮像してステレオマッチングを用いて取得してもよいし、カメラを移動させて動画を取得してモーションステレオを用いて取得してもよい。
【0023】
次いで、物体抽出部102は、情報取得部101により取得された情報に基づいて、アーム型ロボットの作業環境に存在する物体、及び、当該物体の3次元空間における存在領域を抽出する(ステップST202)。アーム型ロボットの作業環境に存在する物体は、作業対象物体又は障害物体である。
【0024】
この際、例えば、まず、物体抽出部102は、輝度画像からセマンティックセグメンテーションを用いて、輝度画像を構成する各画素を床、壁、中空、及び、物体領域に大まかに分類した後、YOLO(例えば非特許文献2参照)等を用いて各物体の輪郭を検出して、輝度画像における各物体の存在領域を特定する。
次に、物体抽出部102は、輝度画像における各物体の存在領域の特定結果を距離画像に適用し、3次元空間における各物体の存在領域を特定する。
【非特許文献2】「You Only Look Once: Unified, Real-Time Object Detection」Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi; Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016, pp. 779-788
【0025】
なお、ステレオマッチング等を用いた場合には、輝度画像が複数存在する。そのため、物体抽出部102は、上記の処理を輝度画像の枚数分実行することで、3次元空間における各物体の存在領域をより正確に特定することができる。
【0026】
次いで、物体属性推定部103は、情報取得部101により取得された情報及び物体抽出部102による抽出結果に基づいて、当該物体抽出部102により抽出された物体の属性を推定する(ステップST203)。物体の属性としては、物体の種類、物体の変形に対する許容可否、又は、物体の耐変形性等が挙げられる。
【0027】
この際、例えば、まず、物体属性推定部103は、輝度画像から、機械学習を用いた画像処理を用いて、各物体の種類を特定する。
次に、物体属性推定部103は、例えば非特許文献3又は非特許文献4に類する技術を用いて、特定した物体の種類を元に、その物体が接触して変形させることが可能なものであるか、また、その物体を変形させるのに必要な力(変形力)を推定する。
【非特許文献3】「Evaluation of material hardness based image processing tool」AIP Conference Proceedings 2213, 020164 (2020); https://doi.org/10.1063/5.0000297
【非特許文献4】「CNN を用いた物体の硬さ推定」平成 29 年度 電気関係学会四国支部連合大会, 2017
【0028】
次いで、物体分類部104は、物体属性推定部103による推定結果に基づいて、物体抽出部102により抽出された物体を、接触回避物体又は接触許容物体に分類する(ステップST204)。
【0029】
次いで、軌道生成部105は、物体分類部104による分類結果に基づいて、アーム型ロボットが接触回避物体との接触を全て回避可能な軌道生成を試行する(ステップST205)。
【0030】
ここで、軌道生成部105が生成する軌道は、アーム型ロボットの先端の現在の位置姿勢を始点とし、アーム型ロボットの先端の目標の位置姿勢を終点とした場合に、アーム型ロボットの駆動中に描かれるアーム型ロボットの先端の位置姿勢の軌跡である。アーム型ロボットの先端の位置姿勢が特定されると、アーム型ロボットを構成する各関節の角度が特定され、作業空間におけるアーム型ロボットの存在領域も特定されることとなる。
【0031】
したがって、軌道生成部105は、アーム型ロボットが駆動している間に、アーム型ロボットの存在領域が接触回避物体の存在領域に侵入しないように軌道を生成する。
具体的には、軌道生成部105は、物体分類部104により接触許容物体と分類された物体については、作業空間上に存在しないものと見なし、全ての接触回避物体を回避しつつ対象物体に到達するよう、例えば特許文献1又は特許文献2と同様にRRT又はRRT*等の技術を用いて軌道を生成する。この際、軌道生成部105は、アーム型ロボットのあらゆる部分が、接触回避物体とは接触しないように、軌道を生成する。例えば、アーム型ロボットが垂直多関節型アームである場合、軌道生成部105は、アーム型ロボットの手先及びエンドエフェクタだけではなく、アーム型ロボットを構成する全てのリンクが接触回避物体とは接触しないような軌道を生成する。
【特許文献1】特開2013-193194号公報
【特許文献2】特開2019-193975号公報
【0032】
次いで、軌道生成部105は、軌道の生成に成功したかを判定する(ステップST206)。
【0033】
このステップST206において、軌道生成部105が軌道の生成に失敗したと判定した場合、ロボットシステム1は、全ての分類パターンでの試行が完了したかを判定する(ステップST207)
【0034】
このステップST207において、ロボットシステム1が全ての分類パターンでの試行は完了していないと判定した場合、シーケンスはステップST204に戻る。
【0035】
一方、ステップST207において、ロボットシステム1が全ての分類パターンでの試行が完了したと判定した場合、シーケンスは終了する。
すなわち、ロボットシステム1は、候補となる全ての分類パターンを試行しても軌道が生成できなかった場合、「失敗」として全体処理を終了する。
【0036】
このように、物体分類部104は、後工程である軌道生成部105及び軌道駆動部106での処理が成功するまで、繰り返し呼び出され、その度に異なる分類パターンを出力する。また、物体分類部104が候補として準備していた全ての分類パターンを出力し終えても、後工程である軌道生成部105及び軌道駆動部106での処理が成功しなかった場合、ロボットシステム1は、全体処理を「失敗」として処理を終了する。
【0037】
なお、物体分類部104における分類パターンとしては、例えば、まず、物体属性推定部103による推定結果から、必ず接触を回避すべきと判断できる物体を接触回避物体として固定した後、接触可否が不明と判定された物体(接触許容物体)に対して組み合わせを考慮することにより、候補となる全ての分類パターンを準備する。
そして、物体分類部104は、最初の分類では、接触可否が不明と判定された物体を全て接触回避物体とした分類パターンを出力する。また、その後、物体分類部104は、後工程で失敗が発生し、再分類を行う際には、それまでとは異なる分類パターンを出力していく。物体分類部104による分類方法としては、例えば、上記接触可否が不明と判定された物体のうち、接触を許容しやすいと推定した物体から順に、接触許容物体に分類していく方法が挙げられる。
【0038】
一方、ステップST206において、軌道生成部105が軌道の生成に成功したと判定した場合、軌道駆動部106は、軌道生成部105により生成された軌道に基づいて、アーム型ロボットを駆動する(ステップST208)。
そして、ロボットシステム1は、アーム型ロボットの駆動が完了した時点で「成功」として全体処理を終了する。
【0039】
なお、実施の形態1における軌道駆動部106では、アーム型ロボットの駆動中に物体に接触したとしても、アーム型ロボットの駆動が継続可能であることを前提とし、軌道生成部105により生成された軌道に基づいてアーム型ロボットの駆動を完遂する。
なお、軌道駆動部106は、アーム型ロボットの駆動において、アーム型ロボットが物体の近辺に存在しない限りは通常の速度で駆動を行い、物体と接触する直前になった時点で、接触した際の衝撃を避けるため、低速での駆動に移行してもよい。
【0040】
このように、実施の形態1に係るロボットシステム1は、作業環境内に存在する各物体をアーム型ロボットとの接触が許容できる物体(接触許容物体)と許容できない物体(接触回避物体)とに分類し、接触が許容できる物体にのみ接触を許容してアーム型ロボットが駆動する軌道を生成している。これにより、実施の形態1に係るロボットシステム1では、アーム型ロボットを用いて果菜物等の作業対象物の収穫を行うような用途においても、従来技術であれば、収穫対象の周囲にある葉又は他の収穫物が障害物体となってアーム型ロボットを駆動する軌道が生成できず収穫できなくなる可能性、逆に、収穫をしようとしてアーム型ロボット又は他の収穫物を損傷してしまう可能性がある場合でも、これらの可能性を最小限に抑えることができ、効率的に作業を遂行することができる。
【0041】
なお、上記では、ロボットシステム1が、距離画像及び輝度画像に基づいて物体抽出及び物体属性推定を行う場合を示した。しかしながら、これに限らない。
例えば、ロボットシステム1は、情報取得部101で、アーム型ロボットの作業環境内に存在する物体の位置、寸法、又は、材質に関するCADデータのような情報を電子的に取得し、それに基づいて物体抽出及び物体属性推定を行ってもよい。
また、例えば、アーム型ロボットの先端に接触式の力触覚センサが取り付けられている場合、ロボットシステム1は、各物体と力触覚センサが接触する位置までアーム型ロボットを移動させ、この力触覚センサによる検知結果に基づいて物体属性推定を行ってもよい。
また、例えば、ロボットシステム1は、非接触式の硬さセンサによる検知結果に基づいて物体属性推定を行ってもよい。
【0042】
以上のように、この実施の形態1によれば、ロボットシステム1は、アーム型ロボットの作業環境に存在する物体、及び、当該物体の3次元空間における存在領域を抽出する物体抽出部102と、物体抽出部102により抽出結果に基づいて、当該物体抽出部102により抽出された物体の属性を推定する物体属性推定部103と、物体属性推定部103による推定結果に基づいて、物体抽出部102により抽出された物体を、接触を回避する物体又は接触を許容する物体に分類する物体分類部104と、物体分類部104による分類結果に基づいて、アーム型ロボットが接触を回避する物体との接触を全て回避可能な軌道を生成する軌道生成部105と、軌道生成部105により生成された軌道に基づいて、アーム型ロボットを駆動する軌道駆動部106とを備えた。これにより、実施の形態1に係るロボットシステム1は、従来に対し、アーム型ロボットと障害物体との接触による損害を抑え、且つ、高い確率で作業を遂行することが可能となる。
【0043】
実施の形態2.
実施の形態1では、アーム型ロボットの駆動中に物体に接触したとしても、アーム型ロボットの駆動が継続可能であることを前提とした場合を示した。これに対し、実施の形態2では、アーム型ロボットの駆動中に物体に接触した場合、アーム型ロボットの駆動が継続可能であるかどうかを判定し、駆動が継続不可能であると判定した場合、失敗した軌道と別の軌道を新たに生成して駆動を実施する場合を示す。
【0044】
図3は実施の形態2に係るロボットシステム1の構成例を示す図である。この
図3に示す実施の形態2に係るロボットシステム1では、
図1に示す実施の形態1に係るロボットシステム1に対し、物体分類部104、軌道生成部105、及び、軌道駆動部106の処理が異なる。この
図3に示す実施の形態2に係るロボットシステム1におけるその他の構成例については、
図1に示す実施の形態1に係るロボットシステム1と同様であり、同一の符号を付してその説明を省略する。
【0045】
実施の形態2における物体分類部104は、実施の形態1における物体分類部104に対し、軌道駆動部106により物体への接触によりアーム型ロボットの駆動が中断された場合、当該物体を接触を回避する物体に変更するように再度分類を行う。
【0046】
実施の形態2における軌道生成部105は、実施の形態1における軌道生成部105に対し、軌道駆動部106により物体への接触によりアーム型ロボットの駆動が中断された場合、物体分類部104による再分類の結果に基づいて、当該中断された地点を新たな始点として、当該始点から終点までの軌道を再度生成する。
【0047】
実施の形態2における軌道駆動部106は、実施の形態1における軌道生成部105に対し、アーム型ロボットが物体に接触した場合であって、駆動が継続可能であると判定した場合にはアーム型ロボットの駆動を継続し、駆動が継続不可能であると判定した場合にはアーム型ロボットの駆動を中断する。
【0048】
すなわち、アーム型ロボットが物体に接触した場合、まず、軌道駆動部106は、駆動が継続可能であるかを判定する。
そして、軌道駆動部106は、駆動が継続可能であると判定した場合、アーム型ロボットの駆動を継続する。その後、駆動が最後まで完遂された場合、ロボットシステム1は、結果を「成功」として全体処理を完了する。
一方、軌道駆動部106は、駆動が継続不可能であると判定した場合、アーム型ロボットの駆動を中断する。その後、物体分類部104による再分類、及び、軌道生成部105による再生成が行われた後、改めて駆動を試行する。なお、ロボットシステム1は、全ての分類パターンを試行しても軌道駆動まで完遂されなかった場合、結果を「失敗」として全体処理を完了する。
【0049】
次に、
図3に示す実施の形態2に係るロボットシステム1の動作例について、
図4を参照しながら説明する。
この
図3に示す実施の形態2に係るロボットシステム1の動作例では、
図4に示すように、まず、情報取得部101は、アーム型ロボットの作業環境に存在する物体の領域及び属性を推定するために必要な情報を取得する(ステップST201)。
ここでは、具体例として、情報取得部101が、アーム型ロボットの作業環境における距離画像及び輝度画像を取得するものとする。
【0050】
次いで、物体抽出部102は、情報取得部101により取得された情報に基づいて、アーム型ロボットの作業環境に存在する物体、及び、当該物体の3次元空間における存在領域を抽出する(ステップST202)。
【0051】
次いで、物体属性推定部103は、情報取得部101により取得された情報及び物体抽出部102による抽出結果に基づいて、当該物体抽出部102により抽出された物体の属性を推定する(ステップST203)。
【0052】
次いで、物体分類部104は、物体属性推定部103による推定結果に基づいて、物体抽出部102により抽出された物体を、接触回避物体又は接触許容物体に分類する(ステップST204)。
【0053】
次いで、軌道生成部105は、物体分類部104による分類結果に基づいて、アーム型ロボットが接触回避物体との接触を全て回避可能な軌道を生成する(ステップST205)。
【0054】
次いで、軌道生成部105は、軌道の生成に成功したかを判定する(ステップST206)。
【0055】
このステップST206において、軌道生成部105が軌道の生成に失敗したと判定した場合、ロボットシステム1は、全ての分類パターンでの試行が完了したかを判定する(ステップST207)
【0056】
このステップST207において、ロボットシステム1が全ての分類パターンでの試行は完了していないと判定した場合、シーケンスはステップST204に戻る。
【0057】
一方、ステップST207において、ロボットシステム1が全ての分類パターンでの試行が完了したと判定した場合、シーケンスは終了する。
すなわち、ロボットシステム1は、候補となる全ての分類パターンを試行しても軌道が生成できなかった場合、「失敗」として全体処理を終了する。
【0058】
一方、ステップST206において、軌道生成部105が軌道の生成に成功したと判定した場合、軌道駆動部106は、軌道生成部105により生成された軌道に基づいて、アーム型ロボットを駆動する(ステップST208)。
なお、軌道駆動部106は、アーム型ロボットの駆動において、アーム型ロボットが物体の近辺に存在しない限りは通常の速度で駆動を行い、物体と接触する直前になった時点で、接触した際の衝撃を避けるため、低速での駆動に移行してもよい。
【0059】
次いで、軌道駆動部106は、終点まで駆動に成功したかを判定する(ステップST401)。このステップST401における軌道駆動部106の動作例の詳細については後述する。
【0060】
このステップST401において、軌道駆動部106が、終点までの駆動に失敗したと判定した場合、シーケンスはステップST207へ移行する。
【0061】
そして、ステップST207においてロボットシステム1が全ての分類パターンでの試行は完了していないと判定した場合、物体分類部104は、アーム型ロボットが接触した物体を接触回避物体に変更するように再度分類を行う。なお、この接触回避物体に変更した物体については以後分類を変更しない。
また、軌道生成部105は、物体分類部104による再分類の結果に基づいて、軌道駆動部106により中断された地点を新たな始点とし、当該始点から終点までの軌道を再度生成する。
【0062】
一方、ステップST401において、軌道生成部105が、終点まで駆動に成功したと判定した場合、ロボットシステム1は、「成功」として全体処理を終了する。
【0063】
次に、ステップST401における軌道駆動部106の動作例について、
図5を参照しながら説明する。
このステップST401における軌道駆動部106の動作例では、
図5に示すように、まず、軌道駆動部106は、アーム型ロボットが物体に接触したかを判定する(ステップST501)。
【0064】
このステップST501において、軌道駆動部106が、アーム型ロボットが物体に接触したと判定した場合、当該物体の属性の計測値を得る(ステップST502)。この際、計測値が得られる属性としては、例えば、アーム型ロボットにかかる力と物体の変位から導出されるバネ定数、反力トルク、モータ電流、物体の剛性、又は、硬さ等が挙げられる。上記物体の属性については、物体属性推定部103において非接触時の推定値が推定されているが、アーム型ロボットが上記物体と接触することによって実際の計測値が得られることになるので、上記物体との初めての接触の際に、その属性を推定値から計測値に変更する。
【0065】
次いで、軌道駆動部106は、ステップST502で得られた物体の属性の計測値に基づいて、駆動が継続可能であるかを判定する(ステップST503)。この際の判定は、例えば、閾値処理によるものであってもよいし、機械学習を導入したものであってもよい。
【0066】
このステップST503において、軌道駆動部106が、駆動が継続可能であると判定した場合、シーケンスはステップST501に戻る。
【0067】
一方、ステップST503において、軌道駆動部106が、駆動が継続不可能であると判定した場合、シーケンスは終了して
図4に示すステップST207へ移行する。
【0068】
また、ステップST501において、軌道駆動部106が、アーム型ロボットが物体に接触していないと判定した場合、アーム型ロボットが終点に到達したかを判定する(ステップST504)。
このステップST504において、軌道駆動部106が、アーム型ロボットが終点に到達していないと判定した場合、シーケンスはステップST501に戻る。
【0069】
一方、ステップST504において、軌道駆動部106が、アーム型ロボットが終点に到達したと判定した場合、シーケンスは終了する。
【0070】
次に、軌道駆動部106による処理の具体例を示す。
ここで、例えば、アーム型ロボットが、複数の関節を有するロボットアームであるとする。そして、このロボットアームには、各関節のうちの1つ以上の関節に、対応する関節にかかるトルク値を検知するトルクセンサが設けられているとする。このトルクセンサによる検知結果を示す情報は、軌道駆動部106に送られる。
この場合、軌道駆動部106は、このトルクセンサによる検知結果に基づいて、アーム型ロボットの駆動が継続可能かを判定する。例えば、軌道駆動部106は、トルク値の単位時間変化量が所定の閾値を超えた状態が、所定の時間以上継続した場合、物体との接触による外力によって大きなトルクが発生したと判定し、当該物体と接触してロボットを駆動継続するのは不可能であると判定する。
【0071】
また、トルクセンサにより検知されたトルク値には、関節にかかる重力トルク、又は、駆動によって発生する慣性トルクが重畳される。そのため、軌道駆動部106は、トルクセンサにより検知されたトルク値から、上記のような重力トルク又は慣性トルクの推定値を減算した上で、上記判定を行ってもよい。この減算後のトルク値は、物体との接触によって発生した外力トルクに近い値になる。よって、軌道駆動部106は、この減算後のトルク値(外力トルク推定値)を所定の閾値と比較することで、上記判定を行うことができる。すなわち、軌道駆動部106は、この減算後のトルク値が、関節の進行方向とは反対側方向において閾値を超えている場合、上記物体と接触してロボットを駆動継続するのは不可能であると判定する。
【0072】
また、他の手法としては、トルクセンサにより検知されたトルク値又は外力トルク推定値の変化量を各関節の変位(関節角)の変化量で除算して、接触した物体のバネ定数を推定する方法がある。接触した物体が硬い、すなわちバネ定数が大きければ、関節角が僅かに変わってもトルク値が大きく変化するので、除算した値から上記物体が硬いかどうか判定することができる。ここで、軌道駆動部106は、上記物体のバネ定数が所定の閾値を超えたら、上記物体と接触してロボットを駆動継続するのは不可能であると判定する。なお、関節角は各関節にエンコーダのような変位センサを設置することで計測可能である。また、軌道駆動部106は、対象のバネ定数はトルク値変化量を関節角変化量で直接除算するだけでなく、逐次最小2乗法又はカルマンフィルタ等で推定するようにしてもよい。
【0073】
なお、関節に内蔵されたトルクセンサを用いる利点として、アーム型ロボットの任意の位置が物体に接触しても、アーム型ロボットの駆動の継続可否を判定できるという点がある。
一方、アーム型ロボットの手先に力覚センサが設けられた場合には、アーム型ロボットの手先又は手先に取り付けたエンドエフェクタが物体に接触した場合は駆動の継続可否を判定できるが、アーム型ロボットのそれ以外の部位が物体に接触した場合は駆動の継続可否が判定できない場合がある。
この点においては、関節に内蔵されたトルクセンサを用いる方が有利である。
【0074】
なお、関節のトルク値は、関節を駆動するモータの電流から推定することも可能であるが、トルクセンサを用いてトルク値を直接計測するよりも精度の点で不利となる。
【0075】
このように、実施の形態2に係るロボットシステム1では、実施の形態1とは異なり、アーム型ロボットと物体が接触した際に現状の軌道のままアーム型ロボットの駆動を続行すべきかどうかを判定する。これにより、実施の形態2に係るロボットシステム1では、物体分類部104が誤った分類を行った場合、例えば、本来、アーム型ロボットとの接触を避けるべき物体を、接触が許容できる物体に分類した場合においても、接触した瞬間に分類結果を更新し、軌道を再生成することができるので、アーム型ロボットと物体の接触による損害を抑えることができる。
【0076】
なお、各実施の形態の自由な組合わせ、或いは各実施の形態の任意の構成要素の変形、若しくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【0077】
1 ロボットシステム
101 情報取得部
102 物体抽出部
103 物体属性推定部
104 物体分類部
105 軌道生成部
106 軌道駆動部