(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-24
(45)【発行日】2024-11-01
(54)【発明の名称】制御装置、ロボットシステム、制御方法、および、プログラム
(51)【国際特許分類】
B25J 13/02 20060101AFI20241025BHJP
B25J 13/00 20060101ALI20241025BHJP
B25J 13/08 20060101ALI20241025BHJP
【FI】
B25J13/02
B25J13/00 Z
B25J13/08 A
(21)【出願番号】P 2021047360
(22)【出願日】2021-03-22
【審査請求日】2023-11-28
(73)【特許権者】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】100165179
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100126664
【氏名又は名称】鈴木 慎吾
(74)【代理人】
【識別番号】100154852
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100194087
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】コンダパッレィ アニルド レッディ
(72)【発明者】
【氏名】細見 直希
(72)【発明者】
【氏名】塚本 七海
【審査官】松浦 陽
(56)【参考文献】
【文献】特開2017-196678(JP,A)
【文献】国際公開第2018/212226(WO,A1)
【文献】米国特許出願公開第2019/0291277(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
操作者の動作を検出し、当該動作に対応する動作をロボットに行わせる制御装置であって、
前記ロボットの動作環境に所在する物体の形態に基づいて、前記ロボットの作用器の目標位置を定める目標位置設定部と、
前記ロボットの駆動状態に基づいて前記作用器の位置を算出し、
前記作用器の現在までの
所定期間内の時刻ごとの位置を示す実績軌道に基づいて当該作用器の予測軌道を推定し、
前記作用器の現在位置から前記目標位置までの軌道を、所定の関数を用いて接近軌道として推定する軌道推定部と、
前記予測軌道と前記接近軌道ごとの類似度に基づいて、1個の目標位置を選択する目標位置選択部と、
を備える制御装置。
【請求項2】
前記目標位置設定部は、
前記動作環境を表す画像から前記物体の形状を判定し、
形状ごとに特徴点の配置を示す特徴点データに基づいて、判定した形状に対応する特徴点の位置を目標位置として定める
請求項1に記載の制御装置。
【請求項3】
前記目標位置設定部は、
他の物体と干渉する目標位置を棄却する
請求項2に記載の制御装置。
【請求項4】
前記目標位置設定部は、
所定の寸法よりも大きい寸法を有する物体について、
操作者の視線方向を示す視線情報に基づいて、前記物体の表面と前記視線方向との交点を定め、
前記交点の分布に基づいて前記目標位置を定める
請求項1から請求項3のいずれか一項に記載の制御装置。
【請求項5】
前記目標位置設定部は、
前記交点を複数の部分集合に分類し、部分集合ごとの交点の分布の代表点を目標位置として定める
請求項4に記載の制御装置。
【請求項6】
コンピュータに請求項1から請求項5のいずれか一項に記載の制御装置として機能させるためのプログラム。
【請求項7】
請求項1から請求項5のいずれか一項に記載の制御装置と前記ロボットを備える
ロボットシステム。
【請求項8】
操作者の動作を検出し、当該動作に対応する動作をロボットに行わせる制御装置における制御方法であって、
前記ロボットの動作環境に所在する物体の形態に基づいて、前記ロボットの作用器の目標位置を定める第1ステップと、
前記ロボットの駆動状態に基づいて前記作用器の位置を算出し、
前記作用器の現在までの
所定期間内の時刻ごとの位置を示す実績軌道に基づいて当該作用器の予測軌道を推定し、
前記作用器の現在位置から前記目標位置までの軌道を、所定の関数を用いて接近軌道として推定する第2ステップと、
前記予測軌道と前記接近軌道ごとの類似度に基づいて、1個の目標位置を選択する第3ステップと、
を有する制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、ロボットシステム、制御方法、および、プログラムに関する。
【背景技術】
【0002】
従来から、操作者の動作を受け付け、受け付けた動作に従ってロボットを操作するロボットシステムが提案されている。例えば、特許文献1に記載のロボットシステムは、ロボットを操作する第1ユーザの姿勢を示す第1ユーザ姿勢情報を取得し、第1ユーザ姿勢情報に基づいてロボットの姿勢を変化させる前の変化前姿勢を示す変化前姿勢情報を取得する。当該ロボットシステムは、変化前姿勢情報と、変化前姿勢情報が示す変化前姿勢をロボットがしている時点で、第1ユーザ姿勢情報に基づいて、第1ユーザの姿勢とは異なる標的姿勢をロボットの姿勢に決定する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
操作者がロボットを操作して作業を行う際には、ロボットを操作目標とする物体に接近させる必要がある。しかしながら、特許文献1に記載のロボットシステムでは、操作目標とする物体の位置について十分に考慮されていなかった。また、操作者の動作からロボットの動作に反映されるまでの遅延や、操作者の動作量とロボットの動作量との差異が生ずることがある。これらは、操作性を阻害する要因となっていた。
【0005】
本発明の態様は上記の点に鑑みてなされたものであり、ロボットの操作性を向上することができる制御装置、ロボットシステム、制御方法、および、プログラムを提供することを課題の一つとする。
【課題を解決するための手段】
【0006】
(1)本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、操作者の動作を検出し、当該動作に対応する動作をロボットに行わせる制御装置であって、前記ロボットの動作環境に所在する物体の形態に基づいて、前記ロボットの作用器の目標位置を定める目標位置設定部と、前記ロボットの駆動状態に基づいて前記作用器の位置を算出し、前記作用器の現在までの所定期間内の時刻ごとの位置を示す実績軌道に基づいて当該作用器の予測軌道を推定し、前記作用器の現在位置から前記目標位置までの軌道を、所定の関数を用いて接近軌道として推定する軌道推定部と、前記予測軌道と前記接近軌道ごとの類似度に基づいて、1個の目標位置を選択する目標位置選択部と、を備える制御装置である。
【0007】
(2)本発明の他の態様は、(1)の制御装置であって、前記目標位置設定部は、前記動作環境を表す画像から前記物体の形状を判定し、形状ごとに特徴点の配置を示す特徴点データに基づいて、判定した形状に対応する特徴点の位置を目標位置として定めてもよい。
【0008】
(3)本発明の他の態様は、(2)の制御装置であって、前記目標位置設定部は、他の物体と干渉する目標位置を棄却してもよい。
【0009】
(4)本発明の他の態様は、(1)から(3)のいずれかの制御装置であって、前記目標位置設定部は、所定の寸法よりも大きい寸法を有する物体について、操作者の視線方向を示す視線情報に基づいて、前記物体の表面と前記視線方向との交点を定め、前記交点の分布に基づいて前記目標位置を定めてもよい。
【0010】
(5)本発明の他の態様は、(4)の制御装置であって、前記目標位置設定部は、前記交点を複数の部分集合に分類し、部分集合ごとの交点の分布の代表点を目標位置として定めてもよい。
【0011】
(6)本発明の他の態様は、コンピュータに(1)から(5)のいずれかの制御装置として機能させるためのプログラムであってもよい。
【0012】
(7)本発明の他の態様は、(1)から(5)のいずれかの制御装置と、前記ロボットを備えるロボットシステムであってもよい。
【0013】
(8)本発明の他の態様は、操作者の動作を検出し、当該動作に対応する動作をロボットに行わせる制御装置における制御方法であって、前記ロボットの動作環境に所在する物体の形態に基づいて、前記ロボットの作用器の目標位置を定める第1ステップと、前記ロボットの駆動状態に基づいて前記作用器の位置を算出し、前記作用器の現在までの所定期間内の時刻ごとの位置を示す実績軌道に基づいて当該作用器の予測軌道を推定し、前記作用器の現在位置から前記目標位置までの軌道を、所定の関数を用いて接近軌道として推定する第2ステップと、前記予測軌道と前記接近軌道ごとの類似度に基づいて、1個の目標位置を選択する第3ステップと、を有する制御方法である。
【発明の効果】
【0014】
上述した(1)、(6)、(7)、(8)の構成によれば、ロボットの動作環境における物体の形状に基づいて目標位置までの接近軌道が設定され、作用器の動作から推定される予測軌道と接近軌道との類似度に基づいて目標位置が選択される。操作者の意図に沿う可能性が高い目標位置にロボットの作用器を誘導することで、ロボットの操作性を向上させることができる。かかる処理は、作用器の現在までの動作と、動作環境における物体の形態に基づいて定まる目標位置に基づくため、タスクの種類に依存しない。そのため、タスクの種類によらず、物体に接近するシナリオに適用可能となる。
【0015】
上述した(2)の構成によれば、動作環境を表す画像から判定された物体の形状に対応する特徴点の位置が目標位置として定まる。物体の形状に応じて典型的な特徴点の位置を目標位置として、ロボットの作用器を誘導することができる。
【0016】
上述した(3)の構成によれば、作用器を接近させることができない無効な目標位置が排除されるため、効果器をより確実に移動可能にすることができる。
【0017】
上述した(4)の構成によれば、操作者が注視する位置が目標位置として定まるため、特徴点を一意に定められない大きい物体であっても、操作者が関心を有する物体および位置に効果器の動作を誘導することができる。
【0018】
上述した(5)の構成によれば、操作者が注視する位置が離散的に分布していても、それぞれの分布に対応する目標位置が定まる。操作者が関心を有する位置にロボットの効果器を誘導することで、操作性を向上させることができる。
【図面の簡単な説明】
【0019】
【
図1】第1の実施形態に係るロボットシステムの構成例を示す概略ブロック図である。
【
図2】第1の実施形態に係る制御装置のハードウェア構成例を示す概略ブロック図である。
【
図3】第1の実施形態に係る目標位置、予測軌道、および、接近軌道の例を示す説明図である。
【
図4】第1の実施形態に係る動作制御処理の一例を示すフローチャートである。
【
図5】第2の実施形態に係る目標位置の一設定例を示す説明図である。
【
図6】第2の実施形態に係る目標位置の他の設定例を示す説明図である。
【
図7】第2の実施形態に係る動作制御処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0020】
<第1の実施形態>
以下、図面を参照しながら本発明の第1の実施形態について説明する。
図1は、本実施形態に係るロボットシステムS1の構成例を示す概略ブロック図である。
ロボットシステムS1は、操作者の動作に従ってロボット20の動作を制御することができる制御システムである。
ロボットシステムS1は、操作に応じてロボット20の動作を操縦する操縦システムである。ロボットシステムS1は、操作者の動作を検出し、検出した動作に対応する動作をロボット20に行わせる。ロボット20は、効果器(end-effector、エンドエフェクタ、ロボットハンド、手先効果器、作用器、などとも呼ばれる)を備える。効果器は、他の物体に機械的に作用して影響を及ぼす部材である。効果器は、複数の指部を有し、他の物体を把持または解放可能とする機構を備える。個々の指部は、操作者の対応する指の動きに応じて動作可能とする。これにより、各種の作業が実現される。
【0021】
ロボットシステムS1は、ロボット20の動作環境の状況を示す環境情報に基づき、効果器の目標位置(target position)を複数通り定める。目標位置は、効果器を移動させる際に目標とする位置であり、接近点(approach point)とも呼ばれる。ロボットシステムS1は、効果器の現在までの動作に基づいて当該効果器の予測軌道を推定する。他方、ロボットシステムS1は、効果器の現在位置から個々の目標位置までの軌道を、所定の関数を用いて接近軌道として推定する。ロボットシステムS1は、予測軌道と接近軌道ごとの類似度に基づいて、1個の接近軌道に対応する目標位置を選択する。ロボットシステムS1は、選択した目標位置に向けてロボット20を移動させる。
【0022】
ロボットシステムS1は、ロボット20、表示装置50、操作装置70、および、環境情報取得部80を備える。ロボット20は、1個以上のマニピュレータ(manipulator)を備える。マニピュレータは、ロボットアームとも呼ばれる。個々のマニピュレータは、複数の分節(segment)を備え、これらの分節が相互に連結されている。複数の分節には、1個の効果器が含まれる。効果器は、マニピュレータの一端に接続され、物体に接触して作用を及ぼす部材である。ロボット20は、2個の分節を含む分節対ごとに関節を備えるとともに、関節ごとにアクチュエータを備える。アクチュエータにより各2個の分節間のなす角度を変化させることで、効果器の位置を移動させることができる。以下の説明では、マニピュレータの個数が1個である場合(単腕型)を主とするが、2個以上となってもよい。また、ロボット20は、所定の位置に固定される据置型であってもよいし、自身の位置を移動することができる可動型であってもよい。
【0023】
ロボット20の制御装置30は、表示装置50、操作装置70、および、環境情報取得部80と無線または有線で各種の情報を入出力可能に接続される。
表示装置50と操作装置70は、ロボット20と環境情報取得部80と物理的に離れた空間に所在してもよい。その場合、表示装置50と操作装置70は、制御装置30と通信ネットワークを経由して接続されてもよい(遠隔操作システム)。
【0024】
ロボット20は、駆動制御部22、駆動部24、駆動センサ26、電源28、および、制御装置30を備える。
駆動制御部22は、制御装置30から入力される制御指令と、駆動センサ26から取得される駆動状態情報に基づいて駆動指令を定める。より具体的には、駆動制御部22は、制御指令で示される制御目標とする目標位置と、効果器の位置との差が低減するようにアクチュエータごとの駆動力(トルク)を操作量として示す制御指令を定める。駆動制御部22は、駆動状態情報に示される個々の関節における2個の分節のなす角度と個々の分節の大きさに基づいて、駆動部24による出力値としての効果器の位置を定めることができる。駆動制御部22は、定めた制御指令を駆動部24に出力する。駆動制御部22は、制御対象物の状態を示す出力値と制御目標との差を低減するように操作量を定める制御器として、例えば、PD(Proportional-Differential)制御器、PID(Proportional-Integral-Differential)制御器などを含んで構成される。
【0025】
駆動部24は、関節ごとにアクチュエータを備え、駆動制御部22から入力される制御指令に従って動作する。個々のアクチュエータは、いわゆるモータに相当し、制御指令で指示される駆動量に従い自部に連結される2個の分節のなす角度を変化させる。
駆動センサ26は、駆動部24によるロボット20の駆動状態を検出し、検出した駆動状態を示す駆動状態情報を駆動制御部22と制御装置30に出力する。駆動センサ26は、例えば、関節ごとに2個の分節のなす角度を検出するロータリエンコーダを含んで構成される。
【0026】
電源28は、ロボット20に備わる各構成部に電力を供給する。電源28は、例えば、電源端子、二次電池、および電圧変換器を備える。電源端子は、電力線を接続可能とし、外部から電力が供給され、供給される電力を二次電池または電圧変換器に供給する。
二次電池は、電源端子を用いて供給される電力を蓄積する。二次電池は、電圧変換器を経由して各構成部に電力を供給可能とする。電圧変換器は、電源端子または電源端子から供給される電力の電圧を各構成部で要求される所定の電圧に変換し、それぞれ電圧を変換した電力を各構成部に供給する。
【0027】
制御装置30は、情報取得部32、目標位置設定部34、軌道推定部36、目標位置選択部38、動作指令生成部40、通信部42、および、記憶部44を備える。
情報取得部32は、操作者の状況およびロボット20の状況に関する各種の情報を取得する。例えば、情報取得部32は、表示装置50から視線情報と第1操作者動作情報を取得する。視線情報は、ある時刻における操作者の少なくとも一方の眼の視線方向を示す情報である。第1操作者動作情報は、操作者の頭部の動作を示す情報である。頭部の動作は、時刻ごとの頭部の方向ならびに位置で表わされる。
【0028】
情報取得部32は、第2操作者動作情報を操作装置70から取得する。第2操作者動作情報は、操作者による操作に係る身体の動作を示す情報である。第2操作者動作情報は、操作者の身体部位として、主に手部の動作を示す情報が含まれる。身体部位の動作は、時刻ごとの身体部位の位置の情報を用いて表される。
情報取得部32は、環境情報取得部80から環境情報を取得する。環境情報は、ロボット20の動作環境を示す。環境情報には、ロボット20の動作環境を示す画像を示す画像データと、ロボット20の動作環境に分布する物体までの距離を示す距離データが含まれる。
情報取得部32は、駆動センサ26から駆動状態情報を取得する。情報取得部32は、取得した各種の情報を記憶部44に記憶する。
【0029】
目標位置設定部34は、記憶部44から、その時点において最新の環境情報を読み出し、読み出した環境情報に基づいて、目標位置を定める。目標位置は、効果器の移動先となりうる位置である。目標位置は、効果器が物体に対して作用する位置の候補となる。目標位置として、物体に対する作用が、その形状特性に応じてなされる典型的な位置が採用されうる。目標位置は、例えば、効果器が物体に容易に接近でき、かつ、安定的に把持できる位置となりうる。目標位置設定部34は、環境情報が示す画像データと距離データに基づいて、ロボット20の動作環境に配置される物体を識別し、個々の物体が占める領域を認識する。目標位置設定部34は、個々の物体の領域を認識する際、公知の画像認識処理を用いることができる。目標位置設定部34は、例えば、物体モデルデータを参照して、画像データと距離データで示される三次元空間における表面形状から個々の物体が占める空間的に連続した領域を抽出する。
図3に示す例では、目標位置設定部34は、画像データと距離データを用いて2個の物体ob10、ob20の領域を特定する。物体モデルデータは、予め物体ごとの三次元領域を示す情報を設定してなる。記憶部44には、物体モデルデータを記憶させておく。
【0030】
目標位置設定部34は、認識した個々の物体の領域に対して、その形状を判定する。目標位置設定部34は、物体の領域の形状を判定する際、公知の画像認識処理を用いることができる。目標位置設定部34は、例えば、形状モデルデータを参照して、判定された領域が有する形状特性が最も近似する形状を判定する。形状モデルデータは、予め形状ごとの形状特性を示す情報を設定してなる。
図3に示す例では、目標位置設定部34は、物体ob10、ob20は、いずれも有限の長さを有する線分を軸として軸対称性を有し、その軸に直交する断面の形状がほぼ円形であって、断面の面積が断面の軸上の位置によらずほぼ一定という形状特性を有する領域を有する。そのため、目標位置設定部34は、ob10、ob20の形状を、それぞれ円柱と判定することができる。なお、目標位置設定部34は、他の二辺よりも長い一辺を有し、その一辺の方向に直交する断面の形状がほぼ三角形であって、その断面の位置が底面よりも表面に近づくほど小さくなる形状特性を有する領域に対しては、その形状を三角錐台と判定することができる。記憶部44には、形状ごとの形状特性を示す形状モデルデータを記憶させておく。
【0031】
目標位置設定部34は、判定した領域の形状に対応する特徴点を定める。目標位置設定部34は、例えば、特徴点データを参照して、判定した形状に対応する特徴点の位置を定め、定めた位置を目標位置として定める。特徴点データは、予め形状ごとの典型的な特徴点の配置を示す情報を設定してなる。特徴点として、経験的に作用器による作業が行われる可能性がある位置が予め設定される。特徴点は、物体の頂点、縁辺に設定されることがありうる。記憶部44には、特徴点データを記憶させておく。例えば、目標位置設定部34は、直径よりも高さの方が大きい縦長の円柱の場合に対しては、底面の中心、表面の中心、高さ方向の中間点の横断面のうち、最も効果器に近接する位置を目標位置として定めることができる。
図3に示す例では、目標位置設定部34は、物体ob01の表面の中心、物体ob01の横断面の効果器ee01への最近接点、物体ob01の底面の中心を、それぞれ目標位置ap11、ap12、ap13と定めることができる。物体ob02に対しては、その表面の中心、横断面の効果器ee01への最近接点、底面の中心が、それぞれ目標位置ap21、ap22、ap23として定まる。このようにして定まる目標位置の個数は、通例、2個以上となりうる。なお、円柱に限らず、円錐台、角柱、角錐台などの形状に対しても、同様に特徴点が設定されていてもよい。
【0032】
但し、目標位置設定部34は、他の物体と干渉する目標位置を棄却してもよい。他の物体との干渉とは、他の物体と接触せずに効果器を接近できないことを意味する。例えば、その目標位置が他の物体に遮蔽される場合、目標位置の周辺に効果器を配置できるほど十分な空間が存在しない場合、などがある。例えば、物体ob10、ob20がそれぞれ基台上に設置され、それぞれの底面が露出せずに基台に接している場合には、効果器ee01は、それぞれの底面に接近できない。その場合には、目標位置設定部34は、物体ob10、ob20のそれぞれの底面に設定された目標位置ap13、ap23を目標位置から除外する。目標位置設定部34は、定めた目標位置を示す目標位置情報を記憶部44に記憶する。
【0033】
軌道推定部36は、記憶部44に記憶された駆動状態情報を読み出し、駆動状態情報が示す関節ごとの角度と、各分節の寸法に基づいて、その時点における効果器の位置を算出する。軌道推定部36は、現在までの所定期間内の時刻ごとの位置を示す軌道を実績軌道として生成する。軌道推定部36は、公知の回帰分析を行って、実績軌道をなす時刻ごとの位置を時間に依存する所定の連続関数に当てはめる。軌道推定部36は、連続関数への当てはめにおいて、例えば、最小二乗法を用いることができる。所定の連続関数として、例えば、時刻に依存する2次関数または3次以上の高次の関数を利用することができる。軌道推定部36は、定めた連続関数を用いて実績軌道を外挿し、現在から所定時間後までの時刻ごとの位置を示す予測軌道を定める。
図3に示す例では、効果器ee01の現在までの実績軌道rt01を外挿して、予測軌道pt01が推定される。
【0034】
軌道推定部36は、駆動状態情報が示す関節ごとの各時刻における関節ごとの角度を、時間に依存する所定の第2の連続関数を用いて外挿して現在から所定時間後までの時刻ごとの角度を定めてもよい。軌道推定部36は、定めた角度と分節の大きさに基づいて、各時刻における位置を定めてもよい。第2の連続関数は、例えば、時刻に依存する2次関数または3次以上の高次関数である。軌道推定部36は、定めた予測軌道を示す予測軌道情報を記憶部44に記憶する。
【0035】
他方、軌道推定部36は、記憶部44から目標位置情報を読み出し、読み出した目標位置情報が示す目標位置ごとに効果器の現在の位置(本願では、「現在位置」と呼ぶことがある)から、その目標位置までの軌道を接近軌道として所定の補間法を用いて定める。軌道推定部36は、例えば、スプライン補間(Spline interpolation)などの補間法を用いることができる。スプライン補間においては、例えば、三次以上の高次スプライン曲線、非一様有理Bスプライン(NURBS:Non-Uniform Rational B-Spline)曲線などのスプライン曲線が利用可能である。
【0036】
高次スプライン曲線を用いる場合、軌道推定部36は、例えば、現在位置から目標位置までの区間を複数の部分区間に区分する個々の区分点ごとにロボットの各関節について、それぞれ角度と角速度が連続するように、その曲線のパラメータを定める。部分区間の個数は、軌道推定部36に予め設定しておく。効果器の位置は、各関節の角度と分節の寸法を用いて定める。NURBS曲線を用いる場合、軌道推定部36は、例えば、複数の制御点ごとにロボット20の各関節について、それぞれ角度と角速度が連続するように、その曲線のパラメータを定める。制御点は、必ずしも軌道上を通過するとは限らない。制御点の数は、予め設定しておく。
図3に示す例では、目標位置ap11、ap12、ap13、ap21、ap22、ap23のそれぞれに対応する接近軌道として接近軌道pp11、pp12、pp13、pp21、pp22、pp23が定まる。
【0037】
軌道推定部36は、スプライン曲線に代えて、緩和曲線を用いてもよい。緩和曲線は、現在位置における曲率を0とし、曲率が連続的に変化する曲線である。緩和曲線として、例えば、クロソイド(clothoid)曲線が利用可能である。クロソイド曲線は、曲率を一定割合で変化して得られる軌跡である。クロソイド曲線は、曲率半径と軌跡の長さの積が一定となる。なお、軌道推定部36は、軌道推定において、目標位置における速度がゼロ、または、関節ごとの角速度がゼロとの拘束条件を課してもよい。効果器が目標位置に到達する際の速度をゼロに近似することができるので、効果器が物体に接触する際に生じうる衝撃を回避または緩和することができる。
【0038】
軌道推定部36は、目標位置ごとに定めた接近軌道を示す接近軌道情報を記憶部44に記憶する。軌道は、効果器の時刻ごとの位置を示す曲線のパラメータで表現されてもよいし、目標位置に到達するまでの時刻ごとの効果器の位置で表現されてもよいし、時刻ごとのロボット20の各関節の角度で表現されてもよい。
【0039】
目標位置選択部38は、記憶部44から予測軌道情報と接近軌道情報を読み出す。接近軌道情報が2個以上の接近軌道を示す場合、目標位置選択部38は、予測軌道情報が示す予測軌道と、接近軌道情報が示す個々の接近軌道との類似度を算出する。ここで、予測軌道をなす位置の集合としての現在よりも後の時刻ごとの位置の第1の分布と、1つの接近軌道をなす位置の集合としての対応する時刻ごとの位置の第2の分布との近似の度合いが類似度として評価される。類似度の指標値として、2個の分布を定量的に示す指標値が利用可能である。かかる指標値として、例えば、バタチャリア距離(Bhattacharyya distance)が該当する。バタチャリア距離は、その値が大きいほど2つの分布間の類似度が低いことを示す指標値である。但し、かかる指標値は、これには限られず、ワッサースタイン距離(Wasserstein distance)などであってもよい。目標位置選択部38は、接近軌道ごとに算出した類似度のうち、最も高い類似度を与える接近軌道を特定する。目標位置選択部38は、特定した接近軌道に対応する目標位置を選択し、選択した目標位置を示す目標位置情報を記憶部44に記憶する。
図3に示す例では、予測軌道pt01に最も近似する接近軌道として接近軌道pp12が選択される。従って、接近軌道pp12に対応する目標位置ap12が特定される。
なお、接近軌道情報が1個の接近軌道を示す場合、目標位置選択部38は、接近軌道情報が示す1個の接近軌道に対応する目標位置をそのまま採用してもよい。目標位置選択部38は、採用した目標位置を示す目標位置情報を記憶部44に記憶する。
【0040】
また、いずれの接近軌道も特定されない場合には、目標位置選択部38は、記憶部44に記憶された最新の第2操作者操作情報が示す手部の位置に対応する位置を目標位置として座標変換により定めてもよい。座標変換において、第2操作者操作情報が示す位置を示す操作者座標系での座標値が、ロボット座標系での座標値に変換される。操作者座標系は、操作者の位置と向きを基準とする座標系である。ロボット座標系は、ロボット20の位置と向きを基準とする座標系である。
【0041】
動作指令生成部40は、記憶部44から目標位置情報を読み出し、読み出した目標位置情報が示す目標位置まで現在位置から効果器を移動させるための動作指令を生成する。動作指令生成部40は、例えば、記憶部44に記憶された駆動状態情報を読み出し、駆動状態情報が示す現在の動作状況(各関節の角度)と各分節の慣性モーメントに基づいて、公知の逆運動学(inverse kinematics)解析ならびに逆動力学(inverse dynamics)解析を行って目標位置までに効果器を移動させるための各関節における駆動力(トルク)を定める。動作指令生成部40は、定めた各関節の駆動力を示す動作指令を駆動制御部22に出力する。
【0042】
通信部42は、ロボット20の各構成部と、他の構成部(即ち、表示装置50、操作装置70、および、環境情報取得部80)との間で無線または有線で各種の情報を送受信する。通信部42は、例えば、入出力インタフェース、通信インタフェースなどを含んで構成される。
記憶部44は、制御装置30における各種の処理に用いられるデータ、制御装置30が取得した各種のデータなどを一時的または恒常的に記憶する。記憶部44は、例えば、RAM(Random Access Memory)、ROM(Read Only memory)などの記憶媒体を含んで構成される。
【0043】
表示装置50は、表示部52、視線検出部54、動作検出部56、制御部58、および、通信部60を含んで構成される。表示装置50は、使用者である操作者の頭部に装着可能な支持部材を備え、ヘッドマウンテッドディスプレイ(HMD:Head Mounted Display)として構成されてもよい。
【0044】
表示部52は、環境情報取得部80から制御装置30を経由して通信部60を用いて画像データを受信する。表示部52は、受信した画像データに基づき、ロボット20の動作環境を示す画像を表示する。表示部52は、操作者の頭部に装着されるとき、その画面が両眼の正面に対面する位置に配置されてもよい。
視線検出部54は、操作者の両眼の視線方向を検出する視線センサを含んで構成される。視線検出部54は、各時刻において検出した視線方向を示す視線情報を制御装置30に通信部60を用いて送信する。視線検出部54は、操作者の頭部に装着されるとき、少なくとも一方の眼に露出される位置に配置されてもよい。
動作検出部56は、操作者の頭部の動作を検出し、検出した動作を示す第1操作者動作情報を制御装置30に通信部60を用いて送信する。動作検出部56は、例えば、操作者の動作を検出するための加速度センサを含んで構成される。
【0045】
制御部58は、表示装置50の機能を制御する。制御部58は、CPU(Central Processing Unit)などのプロセッサを含んで構成される。
通信部60は、制御装置30と各種の情報を送受信する。通信部60は、通信インタフェースを含んで構成される。
【0046】
操作装置70は、動作検出部72、制御部74、および、通信部76を備える。操作装置70は、使用者である操作者の手部に装着可能な支持部材を備え、データグローブ(data glove)として構成されてもよい。
動作検出部72は、操作者の手部の動作を検出し、検出した動作を示す第2操作者動作情報を制御装置30に通信部76を用いて送信する。動作検出部72は、例えば、操作者の手部の動作を検出するための加速度センサを含んで構成される。
【0047】
制御部74は、操作装置70の機能を制御する。制御部74は、CPUなどのプロセッサを含んで構成される。
通信部76は、制御装置30と各種の情報を送受信する。通信部76は、通信インタフェースを含んで構成される。
なお、動作検出部72は、表示装置50の通信部60と接続可能とし、通信部60を経由して第2操作者動作情報を制御装置に送信してもよい。その場合には、制御部74と通信部76が省略されてもよい。
【0048】
環境情報取得部80は、撮影部82、測距部84、および、通信部86を備える。環境情報取得部80は、ロボット20の筐体に設置されてもよいし、ロボット20と別個の位置に設置されてもよい。
撮影部82は、ロボット20から所定範囲内の動作環境における画像を撮影する。動作環境には、ロボット20の効果器が到達可能とする範囲が含まれる。撮影される画像にはロボット20の像の全体が必ずしも含まれるとは限らない。撮影部82は、所定時間ごとに画像を撮影するディジタルビデオカメラである。撮影部82は、撮影した画像を示す画像データを制御装置30に通信部86を経由して送信する。
【0049】
測距部84は、ロボット20から所定範囲内の動作環境における物体の表面までの距離を測定する。測距部84は、例えば、送波部、受波部、距離検出部を備える。送波部は、赤外線などの波動を送出する。送波部は、例えば、発光ダイオードを含んで構成される。受波部は、物体の表面において反射により生じた反射波を受波する。受波部は、例えば、フォトダイオードを含んで構成される。反射波は、送波部から送出された波動は、物体の表面に入射波として入射したことに応じて生ずる。距離検出部は、送出波と反射波との位相差を検出し、検出した位相差に基づいて物体の表面までの距離を定めることができる。距離検出部は、画像の各画素に対応する方向ごとに定めた距離を示す距離データを制御装置30に通信部86を経由して送信する。なお、距離の計測に用いられる波動は、赤外線に限られず、ミリ波、超音波、などであってもよい。
通信部86は、制御装置30と各種の情報を送受信する。通信部86は、通信インタフェースを含んで構成される。
なお、環境情報取得部80がロボット20の筐体に設置され、ロボット20の他の機能部と各種の情報を送受信できる場合には、通信部86が省略されてもよい。
【0050】
(ハードウェア構成)
次に、本実施形態に係る制御装置30のハードウェア構成例について説明する。
図2は、本実施形態に係る制御装置30のハードウェア構成例を示す概略ブロック図である。制御装置30は、プロセッサ102、ROM104、RAM106、補助記憶部108、および入出力部110を含んで構成されるコンピュータとして機能する。プロセッサ102、ROM104、RAM106、補助記憶部108および入出力部110は、相互に各種のデータを入出力可能に接続される。
【0051】
プロセッサ102は、例えば、ROM104に記憶されたプログラムや各種のデータを読み出し、当該プログラムを実行して、制御装置30の各部の機能を実現するための処理や、その機能を制御するための処理を実行する。プロセッサ102は、例えば、CPUである。
なお、本願では、プログラムに記述された各種の命令(コマンド)で指示された処理を実行することを、「プログラムの実行」または「プログラムを実行する」などと呼ぶことがある。
【0052】
ROM104は、例えば、プロセッサ102が実行するためのプログラムを記憶する。
【0053】
RAM106は、例えば、プロセッサ102で用いられる各種データ、プログラムを一時的に保存する作業領域として機能する。
補助記憶部108は、各種のデータを永続的に記憶する。補助記憶部108には、制御装置30が取得したデータを記憶する。補助記憶部108は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)などの記憶媒体である。
【0054】
入出力部110は、例えば、他の機器と無線または有線で各種のデータ入出力可能とする。入出力部110は、他の機器とネットワークを経由して接続されてもよい。入出力部は、例えば、入出力インタフェースと通信インタフェースの一方または両方を備える。
なお、表示装置50、操作装置70、および環境情報取得部80も、
図2と同様のハードウェア構成を備え、各装置としての機能を実現するコンピュータとして構成されてもよい。
【0055】
(動作制御処理)
次に、本実施形態に係る動作制御処理の一例について説明する。
図4は、本実施形態に係る動作制御処理の一例を示すフローチャートである。
(ステップS102)情報取得部32は、駆動センサ26から駆動状態情報を取得する。
(ステップS104)軌道推定部36は、駆動状態情報が示す関節ごとの角度に基づいて効果器の位置を算出する。軌道推定部36は、現在までの効果器の位置の軌道である実績軌道を所定の連続関数に当てはめる。目標位置設定部34は、当てはめた連続関数を用いて所定時間後までの未来の各時刻における位置の軌道である予測軌道を推定する。
【0056】
(ステップS106)情報取得部32は、環境情報取得部80からロボット20の動作環境を示す環境情報として画像データと距離データを取得する。
(ステップS108)目標位置設定部34は、画像データと距離データで示される動作環境における表面形状から、公知の画像認識処理を行って個々の物体の領域を識別する。
(ステップS110)目標位置設定部34は、公知の画像認識処理を行って個々の物体の形状を判定する。目標位置設定部34は、予め設定した物体モデルデータを参照して、判定した形状に対応する特徴点の位置を目標位置として設定する。
【0057】
(ステップS112)軌道推定部36は、推定した目標位置ごとに効果器の現在位置から当該目標位置までの軌道を所定の補間法を用いて接近軌道として推定する。
(ステップS114)目標位置選択部38は、推定した接近軌道ごとに予測軌道との類似度を示す指標値を計算する。目標位置選択部38は、最も高い類似度を示す指標値を与える接近軌道を特定し、特定した接近軌道に対応する目標位置を選択する。
(ステップS116)動作指令生成部40は、選択された目標位置に効果器を移動させるための動作指令を生成し、生成した動作指令を駆動制御部22に出力する。これにより、効果器を目標位置に向けて動作させる。その後、
図4に示す処理を終了する。
【0058】
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。以下の説明では、第1の実施形態との差異を主とし、第1の実施形態と共通の機能、構成については、特に断らない限り第1の実施形態に係る説明を援用する。本実施形態に係るロボットシステムS1は、
図1に示す構成と同様の構成を有していてもよい。
【0059】
一般にロボット20の動作環境には所定の寸法よりも大きい寸法を有する物体も存在しうる。当該物体には、例えば、机、卓、基台、など典型的な作用器の径よりも十分に大きい寸法を有する面を備える。かかる面においては、操作者が作用器を作用させる位置を任意に定める。そのため、作用器を作用させる位置は一定しているとは限らない。たとえ特徴点が予め設定されていたとしても、有効な目標位置とならないことがある。そこで、本実施形態では、目標位置設定部34は、検出された物体の領域が所定の寸法の閾値よりも大きい寸法を有するか否かを判定してもよい。目標位置設定部34には、作用器が把持可能とする大きさを所定の寸法の閾値として設定されてもよい。目標位置設定部34は、認識した物体の領域が、作用器が把持可能とする寸法(例えば、幅、厚さ、高さ、などの少なくともいずれか)を有しないか否かに基づいて、検出された物体の領域が所定の寸法の閾値よりも大きい寸法を有するか否かを判定してもよい。
【0060】
目標位置設定部34は、所定の寸法の閾値よりも大きい寸法を有すると判定した物体に対しては、視線情報に基づいて目標位置を定める。目標位置設定部34は、記憶部44から視線情報を読み出し、視線情報が示す現在までの所定期間(例えば、1~60秒)内の各時刻における眼球(もしくは、頭部)の中心部からの視線方向と物体の交点を操作者の注目点として定める。目標位置設定部34は、各時刻について定めた注目点の座標の代表点を目標位置として定める。代表点は、所定期間内における注目点を統計的に代表する位置であれば、重心、最頻点などのいずれでもよい。
図5に示す例では、物体ob32、ob34とは異なり、作業台wst30が、所定の寸法の閾値よりも大きい寸法を有する物体として判定される。そして、個々の視線方向ごとに作業台wst30の表面との交点isが定まる。これらの交点isの分布の代表点が目標位置ap30として定まる。なお、目標位置設定部34は、個々の注目点の座標値を加重平均して得られる座標値で示される位置を目標位置と定めてもよい。加重平均に用いられる重み係数は、現在に近い時刻に係る視線方向ほど大きい実数値に設定されてもよい。目標位置は、新たな視線方向ほど重視して定まる。
【0061】
但し、観測される視線方向が操作者の頭部の方向(以下、「頭部方向」と呼ぶ)を基準とする方向である場合には、頭部の位置と方向を用いて視線方向を補正する。目標位置設定部34は、記憶部44から第1操作者動作情報を読み出し、読み出した第1操作者動作情報が示す各時刻における操作者の頭部の位置と方向を、それぞれロボット座標系に変換する。そして、目標位置設定部34は、変換した頭部の位置と方向を用いて視線方向を補正し、補正後の視線方向を用いて注目点を定める。
【0062】
図5に示す例では、交点isは、その代表点を中心として分布するが、それには限られない。
図6に示すように、交点isは複数の部分集合をなして分布することがある。そのような場合には、交点isの分布の全体の代表点に操作者が関心を有するとは限らない。
目標位置設定部34は、各時刻について定めた注目点の分布に対して公知のクラスタリング処理(clustering)を行って複数の部分集合(クラスタ,cluster)に分類する。目標位置設定部34は、例えば、k平均法(k-means)を用いることができる。k平均法は、非階層型クラスタリングの一種である。
【0063】
k平均法は、次の各ステップ(1a)-(1d)を有する手法である:(1a)初期化、(1b)クラスタ中心決定、(1c)再割り当て、および、(1d)収束判定。(1a)初期化では、目標位置設定部34は、各注目点を所定のk(kは、2以上の整数)個のいずれかのクラスタにランダムに割り当てる。(1b)クラスタ中心決定において、目標位置設定部34は、クラスタごとに個々の注目点の座標の算出平均値を、そのクラスタの中心値として定める。(1c)再割り当てにおいて、目標位置設定部34は、個々の注目点の座標値とクラスタごとの中心値との距離を求め、その注目点を中心値までの距離が最も短いクラスタに割り当てる。(1d)収束判定において、目標位置設定部34は、クラスタへの割り当てが変化しない、または、クラスタの変化の件数が所定件数以下であるか否かに基づいて収束したか否かを判定する。(1d)収束判定において、収束していないと判定されるまで、目標位置設定部34は、(1b)および(1c)の処理を繰り返す。
【0064】
図6に示す例でも、個々の視線方向ごとに作業台wst30の表面との交点isが定まる。これらの交点isの分布に対して、クラスタリング処理が行われ、2個の部分集合(クラスタ)に分類される。各部分集合の代表点が、目標位置ap42、ap44として定まる。この場合であっても、目標位置設定部34は、個々の注目点の座標値を加重平均して得られる座標値で示される位置を目標位置と定めてもよい。加重平均に用いられる重み係数は、現在に近い時刻に係る視線方向ほど大きい実数値に設定されてもよい。
【0065】
なお、目標位置設定部34は、クラスタリング処理において、その他の手法を用いてもよい。目標位置設定部34は、例えば、階層的クラスタリングを行って、注目点を分類してもよい。階層的クラスタリングは、次の各ステップ(2a)-(2d)を有する手法である:(2a)目標位置設定部34は、それぞれ1個の注目点をメンバとして有するクラスタを設定する。(2b)目標位置設定部34は、各クラスタ間の類似度のうち、最も類似度が高いクラスタ同士を統合して1個のクラスタを形成する。(2c)目標位置設定部34は、クラスタの数が1個になった時に処理を終了し、そうでなければ(2d)の処理に進む。(2d)目標位置設定部34は、(2b)の処理において形成されたクラスタと他のクラスタのそれぞれとの類似度を算出し、(2b)の処理に戻る。階層的クラスタリングは、予めクラスタの数が既知でない場合でも適用可能である。そのため、各クラスタに属する注目点の数によらずにクラスタ間の類似度を算出することができる。
【0066】
階層的クラスタリングの手法には、例えば、群平均法がある。群平均法は、この階層的クラスタリングにおいて、各2つのクラスタのそれぞれから選択した注目点間の類似度を全ての注目点の組のそれぞれについて算出し、算出した類似度の平均値を2つのクラスタ間の類似度として定める手法である。群平均法によれば、最終的に求めようとする各クラスタの代表(例えば、重心)を注目点の代表として取得することができる。また、操作者の関心の高い特定の領域に、注目点が集中している明確な集合が形成されていることが多いため、その領域について定めた代表点を目標位置として用いることができる。
なお、目標位置設定部34は、分類されたクラスタのうち、そのクラスタに属する注目点の数が予め定めた注目点の数の閾値よりも少ないクラスタを棄却してもよい。これにより、操作者の関心の低い領域に疎らに注目点が分布しても、それらの注目点に基づく目標位置が排除される。そのため、操作者の関心を有する位置となる可能性が高い目標位置が残されうる。
【0067】
(動作制御処理)
次に、本実施形態に係る動作制御処理の一例について説明する。
図7は、本実施形態に係る動作制御処理の一例を示すフローチャートである。
図7に示す処理は、ステップS102-S108、ステップS112-S116、およびステップS122-S130の処理を含む。
図7に示す処理は、ステップS108の処理の終了後、ステップS122の処理に進む。
(ステップS122)目標位置設定部34は、検出した物体のいずれかを処理対象とする対象物体とし、対象物体が所定の寸法よりも大きい寸法を有するか否かを判定する。有すると判定するとき(ステップS122 YES)、ステップS124の処理に進む。有しないと判定するとき(ステップS122 NO)、ステップS126の処理に進む。
(ステップS124)目標位置設定部34は、視線情報が示す現在までの所定期間内の各時刻における視線方向と対象物体の交点を操作者の注目点として定め、定めた注目点の座標の代表点を目標位置として定める。その後、ステップS128の処理に進む。
【0068】
(ステップS126)目標位置設定部34は、ステップS110と同様の手法を用いて対象物体の形状を判定し、物体モデルデータを参照して、判定した形状に対応する特徴点の位置を目標位置として設定する。
(ステップS128)目標位置設定部34は、検出した物体のうち未処理の物体が存在するか否かを判定する。未処理の物体が存在する場合(ステップS128 YES)、ステップS130の処理に進む。未処理の物体が存在しない場合(ステップS128 NO)、目標位置設定部34は、ステップS112の処理に進む。
(ステップS130)目標位置設定部34は、対象物体を未処理の物体のいずれか1つに変更し、ステップS122の処理に戻る。
【0069】
以上に説明したように、制御装置30は、ロボット20の動作環境に所在する物体の形態に基づいて、ロボット20の作用器の目標位置を定める目標位置設定部34を備える。制御装置30は、作用器の現在までの動作に基づいて当該作用器の予測軌道を推定し、作用器の現在位置から目標位置までの軌道を、所定の関数を用いて接近軌道として推定する軌道推定部36を備える。また、制御装置30は、予測軌道と接近軌道ごとの類似度に基づいて、1個の目標位置を選択する目標位置選択部38を備える。
この構成によれば、ロボット20の動作環境における物体の形状に基づいて目標位置までの接近軌道が設定され、作用器の動作から推定される予測軌道と接近軌道との類似度に基づいて目標位置が選択される。操作者の意図に沿う可能性が高い目標位置にロボット20の作用器を誘導することで、ロボット20の操作性を向上させることができる。かかる処理は、作用器の現在までの動作と、動作環境における物体の形態に基づいて定まる目標位置に基づくため、タスクの種類に依存しない。そのため、タスクの種類によらず、物体に接近するシナリオに適用可能となる。
【0070】
目標位置設定部34は、動作環境を表す画像から物体の形状を判定し、形状ごとに特徴点の配置を示す特徴点データに基づいて、判定した形状に対応する特徴点の位置を目標位置として定めてもよい。
この構成によれば、動作環境を表す画像から判定された物体の形状に対応する特徴点の位置が目標位置として定まる。物体の形状に応じて典型的な特徴点の位置を目標位置として、ロボット20の作用器を誘導することができる。
【0071】
目標位置設定部34は、他の物体と干渉する目標位置を棄却してもよい。
この構成によれば、作用器を接近させることができない無効な目標位置が排除されるため、効果器をより確実に移動可能にすることができる。
【0072】
目標位置設定部34は、所定の寸法よりも大きい寸法を有する物体について、操作者の視線方向を示す視線情報に基づいて、物体の表面と前記視線方向との交点を定め、交点の分布に基づいて目標位置を定めてもよい。
この構成によれば、操作者が注視する位置が目標位置として定まるため、特徴点を一意に定められない大きい物体であっても、操作者が関心を有する物体および位置に効果器の動作を誘導することができる。
【0073】
目標位置設定部34は、交点を複数の部分集合に分類し、部分集合ごとの交点の分布の代表点を目標位置として定めてもよい。
この構成によれば、操作者が注視する位置が離散的に分布していても、それぞれの分布に対応する目標位置が定まる。操作者が関心を有する位置にロボット20の効果器を誘導することで、操作性を向上させることができる。
【0074】
以上、図面を参照してこの発明の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【0075】
例えば、環境情報取得部80において、測距部84は、撮影部82と一体化され、三次元画像撮影部として構成されてもよい。また、環境情報取得部80は、撮影部82と測距部84に代えて、多視点撮影部を備えてもよい。多視点撮影部は、複数の視点を有し、視点ごとに画像を撮影することができる撮影部である。多視点撮影部には、いわゆるステレオカメラが含まれる。多視点撮影部が撮影した視点ごとの画像(多視点画像)により、ロボット20の動作環境が立体的に表現される。目標位置設定部34は、多視点画像を解析することで、ロボット20の動作環境から物体が占める領域を特定することができる。
【0076】
また、第1の実施形態では、表示装置50の一部または全部が省略されてもよい。
第2の実施形態では、視線情報が操作者の一方の眼(例えば、左眼)の視線方向を示す場合を主として説明したが、これには限られない。視線情報は、左眼、右眼それぞれの視線方向を示してもよい。ある時刻において一方の眼の視線方向が利用できない場合(例えば、瞬き)には、目標位置設定部34は、注目点を定める際に他方の眼の視線方向を用いてもよい。両眼の視線方向が利用できる場合には、目標位置設定部34は、両眼それぞれの視線方向の線分が交わる交点、もしくは、それらの線分それぞれの最近接点の中点を注視点として定めてもよい。そして、目標位置設定部34は、頭部から注視点への方向を両眼の視線方向を代表する視線方向と定め、定めた視線方向と物体の表面との交点を定めてもよい。定めた交点が目標位置の設定に用いられる。
【0077】
ロボット20は、複数のマニピュレータを備えてもよい。ロボット20は、2個のマニピュレータを備える双腕型ロボットであってもよい。個々のマニピュレータは、操作者の各一方の前腕部ならびに手部の動作に応じて動作可能とする。双腕型ロボットに対しては、例えば、一方および他方のマニピュレータが、それぞれ1名の操作者の左手、右手に対応してもよい。また、複数のマニピュレータは、複数名の操作者の各一方の前腕部ならびに手部に対応してもよい。制御装置30は、上記の手法を用いてマニピュレータごとに1個の目標位置を定め、定めた目標位置に向けて動作させてもよい。
【0078】
目標位置設定部34は、ロボット20の動作環境から各物体の領域を定める際、機械学習モデルを用いてもよい。目標位置設定部34は、定めた物体の領域の形状を定め、定めた形状に応じた目標位置を定める際、機械学習モデルを用いてもよい。目標位置設定部34は、例えば、畳み込みニューラルネットワーク、再帰型ニューラルネットワークなどのニューラルネットワークを用いることができる。目標位置設定部34は、ニューラルネットワークに限らず、ランダムフォレストなどの他の機械学習モデルを用いてもよい。
【0079】
また、上記の説明では、目標位置を推定する際、目標位置設定部34が、物体の形態を示す環境情報として、環境情報取得部80から逐次に取得される画像データと距離データを用いてロボット20の動作環境に配置される物体を識別することを主としたが、これには限られない。例えば、目標位置設定部34は、画像データと距離データに代えて、または、それらとともに個々の物体を示す物体識別情報を用いて、その物体を特定してもよい。物体識別情報として、例えば、RFID(Radio Frequency Identification)などが利用可能である。RFIDには、個々の物体の形態が明示されてもよいし、または、その製品名、型番など、その物体の種類を示す情報が明示されてもよい。目標位置設定部34は、予め物体の種類ごとの形態を示す物体種類テーブルを参照して、RDIFで示される物体の種類に対応する形態を特定することができる。
【0080】
但し、ロボット20の動作環境に設置した個々の物体の表面には、RFIDを搬送する電波または電磁波(以下、「電磁波等」と総称する)を送出する送信器として1個以上のRDタグを貼付しておく。ロボットシステムS1は、RFタグから送出される電磁波等を検出する検出器としてRFリーダを1個以上備える。RFリーダは、検出した電磁波等で搬送されたRFIDを物体識別情報として制御装置30に送信する。情報取得部32は、RFタグから受信した物体識別情報を記憶部44に記憶することで、目標位置設定部34から物体識別情報を利用可能とする。
【0081】
また、ロボットシステムS1に備わるRFリーダの数は3個以上であってもよい。その場合、目標位置設定部34は、3個以上のRFリーダから共通のRFIDを搬送する電磁波等の2台のRFリーダごとに、それらの間で生ずる位相差と予め設定した個々のRFリーダの位置に基づいて、そのRFIDを発するRDタグの位置を物体の位置として検出することができる。また、1個の物体の表面に設置されるRDタグの数を2個以上とし、目標位置設定部34は、個々のRDタグの位置を推定してもよい。目標位置設定部34には、予め当該物体において個々のRDタグが貼付された位置を示す貼付位置情報を予め設定しておき、推定した複数のRDタグの位置から、その物体の向きを検出することができる。目標位置設定部34は、必ずしも画像データと距離データを用いなくても検出した物体の形状、位置、および、向きに基づいて、上記のように目標位置を定めることができる。
【0082】
また、ロボットシステムS1は、画像データと距離データに代えて、または、それらとともに、ロボット20の動作環境における空間において各種物体の形状、位置、および、向きを表す三次元データを環境情報として合成するシミュレータを備えてもよい。シミュレータは、公知のコンピュータグラフィクス技術を用いて環境情報として三次元画像を合成してもよいし、その三次元画像における個々の物体の形状、位置、および、向きを数値または符号で表現する物体情報を取得してもよい。シミュレータは、合成または取得した環境情報を制御装置30に送信する。情報取得部32は、シミュレータから受信した物体識別情報を記憶部44に記憶することで、目標位置設定部34から物体識別情報を利用可能とする。これにより、ロボットシステムS1は、必ずしも現実に撮影された画像、測定された距離を用いずにロボット20の動作を制御できる。つまり、ロボットシステムS1は、動作環境を模擬する仮想空間における動作制御や、その仮想空間と現実の動作環境を融合した拡張現実空間における動作制御に応用することができる。
【符号の説明】
【0083】
S1…ロボットシステム、20…ロボット、22…駆動制御部、24…駆動部、26…駆動センサ、28…電源、30…制御装置、32…情報取得部、34…目標位置設定部、36…軌道推定部、38…目標位置選択部、40…動作指令生成部、42…通信部、44…記憶部、50…表示装置、52…表示部、54…視線検出部、56…動作検出部、58…制御部、60…通信部、70…操作装置、72…動作検出部、74…制御部、76…通信部、80…環境情報取得部、82…撮影部、84…測距部、86…通信部