(第1実施形態)
本実施形態は、視覚情報を入力すると、触覚情報を推定して出力する触覚情報推定装置について説明する。この触覚情報推定装置は、視覚情報から触覚情報を推定した結果だけではなく、視覚情報から触覚情報を生成する生成モデルを出力するようにしてもよい。以下、図面を参照して、詳しく説明する。
図1は、本実施形態に係る触覚情報推定装置1の機能を示すブロック図である。触覚情報推定装置1は、視覚センサ100と、触覚センサ102と、入力部104と、モデル生成部106と、出力部108と、視触覚特徴量抽出部110と、を備える。
視覚センサ100は、物体の視覚情報を取得する。例えば、視覚センサ100は、カメラを備えており、画像情報として物体の視覚情報を取得し、入力部104へと入力する。カメラは、カラー画像として画像を取得するものであってもよいし、グレースケール画像として画像を取得するものであってもよい。また、視覚センサ100からのデプス情報を含む画像情報を取得するようなRGB−Dカメラ等のデバイスを搭載していてもよい。
触覚センサ102は、物体の触覚情報を取得する。例えば、触覚センサ102は、アレイ状に配置された複数の圧点センサを備えていてもよい。これらの複数の圧点センサは、軟性のシリコーン等で覆われ、面として圧力を感知できるようにしてもよい。別の例として、一般的に流通しているシート状、フィルム状のタクタイルセンサを用いるようにしてもよい。
触覚センサ102のさらに別の例として、可撓性を有し、透過性であるシリコーン等の物質を物体と接触させる接触部として備え、当該接触部の変位をカメラ等で撮影し、当該撮影状態に基づいて面としての圧力を取得するセンサであってもよい。変位を撮影するカメラは、ステレオカメラであってもよいし、超音波等により表面の凹凸を判断できるようなデバイスであってもよい。
上述した例のように、触覚センサ102は、点として取得された圧力情報を面の圧力情報として取得できるセンサであればよい。また、必ずしも面としての圧力情報を同じタイミングにおいて取得できるセンサではなくてもよく、1点以上の点の圧力情報を取得できるセンサにより物体の面上の点をスキャンして各点における圧力情報を感知することにより、面としての圧力情報を取得できるものであってもよい。
触覚センサ102は、上記のように、物体の表面から、触覚センサ102へと与えられる圧力を測定するものであってもよい。別の例としては、物体の内部からの反発力を計測できるようなセンサであってもよい。
入力部104は、モデルを生成する学習フェーズ(以下、単に学習フェーズと記載する。)において、視覚センサ100が感知した視覚情報及び触覚センサ102が感知した触覚情報をセンサ信号として受信する。受信したセンサ信号は、モデル生成部106へと出力される。
なお、視覚センサ100又は触覚センサ102の少なくとも1つは、触覚情報推定装置1の外部に設けられている別の装置であってもよい。この場合、入力部104は、当該外部の視覚センサ及び/又は当該外部の触覚センサからの信号を受信し、モデル生成部106へと出力する。このように、入力部104は、触覚情報推定装置1内のセンサ信号の受信を行うのみならず、外部からの信号の入力を受け付けるようにしてもよい。
別の例として、モデル生成の過程においては、入力部104を介さずに、視覚センサ100及び触覚センサ102が、モデル生成部106へと感知したセンサ信号をそれぞれ入力するようにしてもよい。さらには、入力部104の一部として視覚センサ100又は触覚センサ102の少なくとも1つが備えられていてもよい。
一方、触覚情報を推定する推定フェーズ(以下、単に推定フェーズと記載する。)において、入力部104は、視覚情報を視覚センサ100から入力される。上述したように、視覚センサ100は、触覚情報推定装置1の内部に備えられていてもよいし、外部にある視覚センサから視覚情報を入力されるものであってもよい。さらには、外部にあるファイルサーバ等からネットワーク等を介して視覚情報が入力されるものであってもよい。入力された視覚情報は、視触覚特徴量抽出部110へと送信される。
モデル生成部106は、入力された視覚情報及び視覚情報に紐付けされた触覚情報に基づいて、視覚情報及び触覚情報が入力されると視覚情報及び触覚情報が出力されるモデルを生成する。このモデルは、例えば、CNN(Convolutional Neural Network:畳み込みニューラルネットワーク)、FNN(Feedforward Neural Network:順伝搬型ニューラルネットワーク)等の学習モデルに基づいて生成されるモデルである。別の例としては、視覚情報が入力されると触覚情報が出力されるモデルを生成してもよい。
入出力情報の別の例として、生成されるモデルは、視覚情報及び触覚情報が入力されると、触覚情報を出力するモデル、又は、視覚情報が入力されると、視覚情報及び触覚情報を出力するモデルであってもよい。
このように、生成されるモデルは、視覚情報及び当該視覚情報に紐付けられた触覚情報に基づいて生成され、視覚情報と触覚情報とを紐付ける特徴量である視触覚特徴量に関する情報が自己組織化により自動生成されるものであればよい。
モデル生成部106は、生成されたモデルを出力部108及び視触覚特徴量抽出部110へと送信する。なお、触覚情報推定装置1の外部においてモデルを使用しない場合には、必ずしも出力部108へと出力しなくてもよい。学習フェーズにおいては、生成されたモデルのロス、勾配等のパラメータを出力部108から出力し、モデルの学習状況をユーザが確認できるようにしてもよい。
出力部108は、学習フェーズにおいては、モデル生成部106から出力されたモデルを外部へと出力する。このように外部へとモデルを出力することにより、他の触覚情報推定装置においても同じモデルを用いることが可能となる。一方で、推定フェーズにおいては、視覚情報から変換された触覚情報、視触覚特徴量等を出力する。
視触覚特徴量抽出部110は、学習フェーズにおいては、モデル生成部106に基づいて、自己組織化された視触覚特徴量を取得し、視触覚特徴量の自己組織化された空間を生成する。この自己組織化された空間は、通常のクラス分類及びカテゴリ分類等とは異なり、軸にそって連続的又は離散的に状態が変化するように形成される空間である。
図2は、視触覚特徴量抽出部110が抽出した視触覚特徴量を可視化したものの一例を示す図である。図2の例においては、触覚を示す特徴量として、滑りやすさと硬さとの関係を示している。縦軸は、滑りやすさを示し、原点Oに近いほど滑りやすく、原点Oから遠くなるほど滑りにくいことを示している。一方、横軸は、硬さを示し、原点Oに近いほど固く、原点Oから遠くなるほど柔らかいことを示している。
上記の軸に対する説明を加えたのが図中における領域内の説明である。例えば、図において、原点Oに近い領域は、物体が滑りやすく、かつ、硬い領域である。垂直方向が原点Oから遠く、水平方向が原点Oから近い領域は、滑りにくく、かつ、硬い領域である。同様に、滑りやすく、かつ、柔らかい領域と、滑りにくく、かつ、柔らかい領域とが図に示すように存在する。
図示する上で、楕円状の領域を示しているが、上述したように軸に沿って連続的又は離散的に特徴量が変化するものであり、これらの領域は明確に区別可能であるものではない。すなわち、この視触覚特徴量抽出部110が行う自己組織化は、一般的なクラス分類及びカテゴライゼーションではなく、硬さ及び滑りやすさ等の指標が軸に沿って変化していくものである。
これらの分類は、滑りやすさと硬さに限定するものではなく、触覚特徴量としてさらに別の指標を備えていてもよい。別の指標を備える場合には、2次元で表される空間ではなく、3次元以上の高次元の状態を表す空間となる。2次元である場合にも、滑りやすさと硬さに限定されるものではなく、出力する情報の目的に応じて適切なものを用いるようにしてもよい。
また、滑りやすさと硬さの指標であっても、モデル生成部106が生成したモデルの中間層における次元により、2次元空間において明確に表現できない可能性がある。このような場合には、滑りやすさ及び硬さの指標を、3次元以上の空間で表現できるように自己組織化するようにしてもよい。
このように、視触覚特徴量抽出部110は、生成されたモデルに基づいて、自己組織化された視触覚特徴量を抽出する。
推定フェーズにおいて、視触覚特徴量抽出部110は、例えば、モデル生成部106がオートエンコーダによりモデルを生成した場合、当該モデルのエンコーダ部分を用いて入力された視覚情報をエンコードする。そして、自己組織化された空間においていずれの位置に当該エンコードされた情報が存在するかにより、視触覚特徴量を抽出する。抽出された視触覚特徴量は、出力部108を介して出力される。
次に、フローチャートを用いて、学習フェーズの動作について説明する。図3は、触覚情報推定装置1の学習フェーズにおける動作を示すフローチャートである。
まず、入力部104を介して、視覚センサ100及び触覚センサ102から視覚情報及び触覚情報をそれぞれ取得する(S100)。例えば、触覚センサ102により物体の触覚情報を取得しているタイミングにおいて、当該物体の画像を視覚情報として取得し、当該視覚情報及び当該触覚情報が入力部104を介して触覚情報推定装置1に入力される。上述したように、入力部104を介さず、視覚センサ100及び触覚センサ102は、各々が取得した情報をモデル生成部106へと送信するようにしてもよい。
別の例として、ユーザが入力部104を介して、視覚センサ100及び触覚センサ102がそれぞれのセンサ情報を感知するタイミングを指定して視覚情報及び触覚情報を取得するようにしてもよい。この場合、入力部104には、ユーザが指示を入力するためのユーザインターフェースが備えられていてもよい。さらに別の例として、あらかじめ取得された視覚情報及び当該視覚情報に紐付けられた触覚情報を、入力部104を介して入力するようにしてもよい。あらかじめ取得された情報は、ファイルサーバ等に記憶されているものであってもよい。
視覚センサ100は、上述したように、例えば、カメラであり、カメラで撮影した画像を視覚情報として入力部104から入力する。画像情報は、カラーで取得された場合には、グレースケールへと変換して入力するようにしてもよい。また、照明等の光の当たり方を排除するため、領域ごとに輝度、明度、彩度、又は、コントラスト、ダイナミックレンジ等の調節をして入力するようにしてもよい。一例として、視覚センサ100は、物体の表面のテクスチャ情報を視覚情報として取得し、入力部104へと入力する。これら学習の前処理は、視覚センサ100で行われるに限られず、入力部104や、その他のモジュールにおいて行われてもよい。
触覚センサ102は、上述したように、例えば、アレイ状に配置された複数の圧点センサを備えたセンサである。このような複数の圧点センサを備えたセンサである場合、触覚センサ102が物体へと所定の力で押しつけられたときに、個々のセンサが感知したデータをまとめたものを触覚情報として入力部104から入力する。より具体的には、触覚センサ102が物体へと所定の力で押しつけられた場合の圧点センサの1つ1つが感知した圧力情報を2次元に配置することにより、面としての圧力情報を感知するようにする。言い換えると、画像における画素に対応するものが、圧点センサであるとし、面としての圧力情報を触覚情報として入力する。
ここで、所定の力とは、例えば、物体に触れたことを感知した後に、触覚センサ102に物体から与えられる外力であってもよい。別の例として、触覚センサ102がグリッパ等のフィンガーに備えられている場合には、当該フィンガー間の距離を所定の距離にするように制御した場合に、触覚センサ102に物体から与えられる力であってもよい。このように、様々な物体に接触する場合において、同様の状態で感知できるようにしておけばよい。
このようにすることにより、硬い物体だけではなく、柔らかい物体又は変形する物体に対しても適切に触覚情報を取得することができる。
さらに、触覚センサ102を、上記の状態から触覚センサ102の圧点が並んでいる方向と平行方向へと所定距離移動させ、移動中に掛かる圧力の感知情報又は移動後の位置における圧力の感知情報を触覚情報として追加してもよい。このように所定の距離を動かした情報を感知することにより、所定の力を加えて取得できる硬さ情報の他に、所定の距離を動かした場合における各圧点センサの感知に基づいて、物体表面の滑りやすさの情報を取得することも可能である。移動中の感知情報を取得する場合には、所定距離の移動をさせることのみならず、所定の力を与えて移動させて圧力情報を触覚情報として取得するようにしてもよい。移動中の感知情報を取得する場合、触覚情報を時系列に沿った情報として取得するようにしてもよい。
触覚センサ102から入力される情報は、これには限られず、1つの圧力センサを用いて当該情報を触覚情報としてもよいし、シート状のタクタイルセンサの場合には、当該タクタイルセンサの仕様に基づいて感知した触覚情報を入力部104から入力するようにしてもよい。
上記説明したように、入力部104へと入力される視覚情報及び触覚情報は、画素数或いは圧点数の要素を有するテンソル(例えば、ベクトル又はマトリクス)で表される高次元のデータとなる。触覚情報として所定距離移動させた場合の情報を取得する場合には、圧点数の要素数を有する2つ以上のマトリクス、すなわち、移動しない状態のマトリクス及び移動している又は移動後の状態のマトリクスを触覚情報として用いて学習させてもよい。移動中の時系列に沿った情報を取得している場合には、入力する触覚情報は、3次元のマトリクスとしてもよいし、多チャンネルのマトリクスとしてもよい。
次に、モデル生成部106は、視覚情報及び触覚情報が入力されると視覚情報及び触覚情報を出力するモデルを生成する(S102)。モデル生成部106は、例えば、オートエンコーダを用いることにより当該モデルを生成する。オートエンコーダを用いる場合、視覚情報及び触覚情報をモデルへと入力し、当該視覚情報及び当該触覚情報が取得できるようなネットワークを学習により生成する。生成されるモデルは、上述したように、CNNに基づいたモデルでもよいし、FNN等の他のネットワークモデルであってもよい。
入出力の双方に視覚情報及び触覚情報を用いる場合には、視覚情報として画像を、触覚情報として圧点センサが取得した圧力情報を用い、これらのデータを別のチャネルのデータとしてCNNを実装してもよい。圧力情報が時系列的に取得される場合、上述したように当該時系列に並んだ圧力情報をそれぞれ別のチャネルとしたCNNとして生成モデルを実装してもよいし、3次元のマトリクスとして入力されるように実装してもよい。他のネットワークを用いる場合には、視覚情報及び触覚情報のデータが、例えば、それぞれの画素値が入力される入力層及びそれぞれの圧点値が出力される出力層を実装してもよい。
学習においては、活性化関数は、恒等写像でもよいし、非恒等写像でもよい。また、損失関数として、2乗誤差を用いてもよいし、他の線形又は非線形の誤差関数を用いてもよい。訓練データに対して適切にミニバッチを構成して学習をするようにしてもよい。最適化のアルゴリズムとしては、Momentum、Adam等を用いてもよいし、これには限られず、他の最適化アルゴリズムを用いてもよい。
別の例として、視覚情報が入力されると、触覚情報が出力されるようなネットワークを学習によりモデルとして生成してもよい。モデルとしては、上記と同様に、CNN又はFNN等のネットワークに基づいたモデルを生成する。さらに、特徴量を抽出できるように、中間層において、2次元等の低次元となるような層を有するようなネットワークを構成してもよい。この場合、モデル生成部106は、例えば、入力層に視覚情報が入力されると、当該視覚情報に紐付けられた触覚情報を出力するモデルを、教師付学習を行うことにより生成する。
上述したように、入力を視覚情報及び触覚情報、出力を触覚情報とするモデル、又は、入力を視覚情報、出力を視覚情報及び触覚情報とするモデルであり、中間層として低次元となる層を有するモデルを生成してもよい。これらのモデルも、教師付学習を行うことにより生成するが可能である。
次に、視触覚特徴量抽出部110は、モデル生成部106が生成したモデルに基づいて、視覚情報及び触覚情報を結びつける視触覚特徴量を抽出する(S104)。この視触覚特徴量は、例えば、モデルに入力された視覚情報が触覚情報へとどのような影響を与えるかという特徴量を生成されたネットワークの中間層を取得することにより抽出する。
S102において生成されたモデルの中間層は、視覚情報と触覚情報の間の特徴量を低次元で表現したものとなる。そこで、視触覚特徴量抽出部110は、この中間層に基づいて、自己組織化された視触覚特徴量の空間を抽出し、出力する。また、このS104において、視触覚特徴量抽出部110は、視覚情報が入力されると触覚情報を出力するモデルを生成してもよい。
視触覚特徴量抽出部110は、一例として、モデル生成部106がCNNに基づいてオートエンコーダによりモデルを生成した場合、すなわち、所謂畳み込みオートエンコーダによりモデルを生成した場合、当該モデルにおけるコード部分の層である中間層を取得する。取得した中間層は、モデルに入力される視覚情報及び触覚情報という高次元(画素数、圧点数)のデータに対し、圧縮された低次元の特徴量を示す層である。モデル生成部106は、中間層における次元を2次元又は3次元等の低次元まで圧縮することにより、特徴量を可視化できるようにモデルを生成してもよい。この場合、視触覚特徴量抽出部110は、この中間層を抽出することにより、自己組織化された特徴量を抽出する。
モデル生成部106が生成するモデルはこのように2次元等の低次元にするように生成される必要は無く、例えば、16×16次元といったより高次元の中間層を有するように生成されてもよい。このように中間層が2次元等ほど低次元ではない場合、視触覚特徴量抽出部110は、生成されたモデルの中間層を抽出し、この中間層に対してその入出力が一致するように、オートエンコーダにより低次元に落とし込むエンコーダを生成し、視触覚特徴量を抽出するようにしてもよい。
低次元の特徴量は、例えば、図2のように示される。図2においては、滑りやすさと硬さが2次元の軸にそって空間を形成している。視触覚特徴量抽出部110は、特徴量を自己組織化することにより、これらの指標を軸とした空間を形成する。上述したように、この空間は2次元である必要は無く、3次元以上の次元の空間として形成されてもよい。
例えば、触覚センサ102と物体が接触している状態において、触覚センサ102の少なくとも一部が物体に対して速度を有するように移動している、一例として、触覚センサ102が物体の表面をなぞるように移動している場合、触覚センサ102が取得するデータは、時系列に沿った情報となる。この場合、硬さは法線方向、滑りやすさは平面方向の成分として、触覚情報を取得することが可能となる。このように触覚情報を取得することにより、硬さ及び滑りやすさが考慮された視触覚特徴量が自己組織化によりマッピングされることとなる。
別の例として、畳み込みオートエンコーダにおけるエンコーダ部分を用いてオートエンコーダでは、エンコードの層において、種々の特徴量が抽出される。このエンコードの層に基づいて、硬さ及び滑りやすさの指標をマッピングするようにしてもよい。視触覚特徴量抽出部110は、このエンコーダの層を用いて、FNNの学習をして新たなネットワークを生成し、特徴量を抽出するようにしてもよい。この場合、新たなネットワークの生成において教師付学習を行ってもよく、このようにすることにより、明示的に硬さ及び滑りやすさについての特徴量を抽出することが可能である。
上述したいずれの場合に対しても、モデル生成部106が生成したモデルを用いてファインチューニングをするようにしてもよい。視触覚特徴量抽出部110は、生成されたモデルを用いてファインチューニングをすることにより、視覚情報を入力すると、硬さ及び滑りやすさといった視触覚特徴量を抽出する新たなモデルを生成してもよい。
このように、ユーザが明示的にラベリングを行うことなく、CNNのオートエンコーダを形成することにより取得した視覚情報及び触覚情報から自己組織化により硬さ及び滑りやすさを指標とした視触覚特徴量を抽出することも可能であるし、また、自己組織化された中間層を用いて教師付学習を実行することにより明示的に硬さ及び滑りやすさを指標とした視触覚特徴量を抽出することも可能である。
なお、自己組織化された特徴量の空間は、硬さ、滑りやすさといった明確に人間に分かるような情報であるとは限られない。しかしながら、上述のように、視覚情報に対して硬さと、滑りやすさとを含むような情報を触覚センサ102が取得しておくことにより、自己組織化により、硬さと滑りやすさとを何らかの指標として含む、自己組織化された空間を形成することが可能となる。
すなわち、図2のように視触覚特徴量が空間として形成されることは必須ではなく、例えば、2次元の空間が形成された場合には、横軸、縦軸ともに人間が直接的には感知できない指標(例えば、視覚情報に対する、硬さと滑りやすさとが線形又は非線形に組み合わされた指標)として形成されてもよい。換言すると、自己組織化された視触覚特徴量は、数値として表現された際に、必ずしも人間が触覚として明確に理解できる指標であるとは限られず、人間が感覚的に理解できない指標であってもよい。
視触覚特徴量抽出部110は、このように生成された自己組織化された視触覚特徴量の空間又は視触覚特徴量を抽出するモデルを記憶する。視触覚特徴量抽出部110内に記憶するのみならず、触覚情報推定装置1内の図示しない記憶部に記憶するようにしてもよい。別の例として、生成された視触覚特徴量抽出モデルを、出力部108を介して出力し、他の触覚情報推定装置で利用できるようにしてもよい。
学習フェーズでは、以上のように学習を行うことにより、視覚情報及び触覚情報が入力されると当該視覚情報及び触覚情報が出力されるモデルを生成し、生成されたモデルに基づいて、視覚情報が入力されると、触覚情報が出力されるような自己組織化された視触覚特徴量の空間を抽出する。
次に、推定フェーズについて、フローチャートを用いて説明する。図4は、視覚情報から視触覚特徴量を抽出する推定フェーズの処理の流れを示すフローチャートである。推定フェーズにおいては、図1における破線で示すようにデータが送受信される。
まず、入力部104を介して視覚情報を取得する(S200)。視覚情報は、例えば、視覚センサ100が感知した視覚情報が入力部104を介して触覚情報推定装置1へと入力される。この他に外部において取得された視覚情報を含むデータが入力部104に入力されてもよい。入力される視覚情報は、例えば、学習に用いた物体とは異なる物体の視覚情報である。
次に、視触覚特徴量抽出部110は、入力された視覚情報から視触覚特徴量を抽出する(S202)。学習フェーズにおいて準備した自己組織化された空間又は視触覚特徴量を抽出するモデルに基づいて、視触覚特徴量抽出部110は、入力された視覚情報から触覚情報を取得する。
視触覚特徴量抽出部110は、モデル生成部106が生成したモデル及び視触覚特徴量抽出部110が抽出した自己組織化された視触覚特徴量の空間を用いて、視覚情報から触覚情報を取得する。例えば、モデル生成部106が生成したモデルに視覚情報を入力し、中間層における出力を取得する。その後、視触覚特徴量の空間において、取得した中間層の出力がどの座標にマッピングされるかを取得する。そして、マッピングされた中間層の出力に基づいて、触覚情報を取得する。
次に、出力部108は、視触覚特徴量抽出部110が取得した触覚情報を出力する(S204)。出力された触覚情報に基づいて、例えば、ロボットに接続されたグリッパ等の把持部を動作させることにより、触覚情報に基づいた物体の把持を行うことが可能となる。
別の例としては、把持部を制御するための信号へとあらかじめ触覚情報推定装置1において変換してロボットへと出力するようにしてもよいし、又は、触覚情報推定装置1に把持部を備え、当該把持部へと制御信号を出力して把持部の制御を行うようにしてもよい。触覚情報推定装置1に備えられている把持部は、触覚センサ102が備えられているグリッパ等であってもよい。
以上のように、本実施形態によれば、入力された視覚情報及び触覚情報を自己組織化することにより、入力された視覚情報から触覚情報をユーザがラベリング等すること無く取得することが可能となる。このように、ユーザがラベリングをせずに、学習により自己組織化された特徴量を用いて触覚情報を取得することにより、視覚情報が得られた未知の物体の触覚情報を取得することが可能となる。
さらに、本実施形態によれば、触覚情報としてカテゴライズやラベリングされた値ではなく、例えば、硬さ、滑りやすさといった指標が数値として出力されるため、ロボットの把持部等により精密な動作をさせる指標を出力することが可能となる。すなわち、ロボットの把持部等を動作させるための力を、硬い、柔らかいといったおおざっぱな指標ではなく、より細かい精度において制御することが可能となり、種々の物体に対して、当該物体の触覚情報に基づいた把持を行うことができる。
例えば、工場等における形状及び材質が決まっている物体の把持にとどまらず、把持する力により変形してしまう布やパウチといったその形状や硬さ等をモデル化するのが困難である物体、週替わりの販売用弁当の食材と言ったモデル化するにはコストが掛かる物体や個体差が生じやすい物体等の触覚情報も、本実施形態に係る触覚情報推定装置1によれば精度よく推定することが可能となる。
(第2実施形態)
図5は、本実施形態に係る触覚情報推定装置1の機能を示すブロック図である。前述した第1実施形態に係る触覚情報推定装置1の機能に加え、さらに、把持情報取得部112を備える。
把持情報取得部112は、例えば、物体を把持することが可能なグリッパを備える。この把持情報取得部112は、物体を把持し、把持した状態を視覚センサ100が視覚情報として感知する。このように物体を把持した状態において視覚情報として物体及び把持位置の情報を取得し、入力部104を介してモデル生成部106へと取得した視覚情報が送信される。この視覚情報と紐付けて、物体が安定して把持できているか否かの情報を送信するようにしてもよい。物体の形状に対して様々な位置で把持を試み、すなわち、物体の把持状態を変更し、視覚情報、触覚情報及び把持可能であるか否かの情報を取得し、訓練データとしてもよい。
例えば、ユーザが入力部104を介して物体が把持できているか否かを入力するようにしてもよい。他の例として、把持情報取得部112に重量計を設けておき、物体を持ち上げた状態を保てるか否かを判断するようにしてもよい。物体を持ち上げた状態を保てるか否かは、把持情報取得部112において物体を把持している箇所を重力方向と反対方向へと動かして行き、重量情報が所定値(物体の重量)となった状態が所定の秒数続く、又は、所定距離移動させても重量情報が所定値から変化しない状態が続く、等の状況を把握することにより判断してもよい。
この視覚情報に基づいて、モデル生成部106は、把持位置に関して学習をし、物体を安定して把持できる位置について、把持位置モデルを生成する。この把持位置モデルは、前述した視触覚特徴量を抽出するためのモデルとは異なるモデルとして生成される。把持位置モデルは、種々の学習方法及び種々のモデルに基づいて学習することが可能である。例えば、物体の形状及び把持位置を視覚情報として入力層から入力し、把持できるか否かが出力層から出力される教師付学習を行ってもよい。別の例として、物体の形状が入力されると、どの位置において把持しやすいかを出力するようなモデルを生成してもよい。この場合、2次元情報だけではなく、3次元情報を取得してもよい。
学習フェーズにおいて、モデル生成部106は、把持位置推定部114へと学習した把持位置モデルを送信する。把持位置推定部114は、受信した把持位置モデルを記憶する。推定フェーズにおいて、把持位置推定部114は、記憶した把持位置モデルにしたがい、視覚情報から把持位置を推定し、出力部108を介して出力する。
また、グリッパの物体を把持する箇所において、触覚センサ102を備えるようにしてもよい。触覚センサ102を備える場合、把持情報取得部112は、触覚センサ102が感知した触覚情報を、入力部104を介してモデル生成部106へと入力してもよい。把持情報取得部112に触覚センサ102を備えることにより、把持する位置及び触覚情報と、視覚情報との紐付けされたデータを同じタイミングにおいて取得することが可能となる。
図6は、触覚センサ102を備える把持情報取得部112を模式的に図示したものである。例えば、把持情報取得部112が、位置112Aにある場合には、物体を把持することができ、位置112B及び位置112Cにある場合には、物体を把持することができなかったとする。
位置112Aにおいて、把持情報取得部112は、物体が把持可能であるという情報及びその触覚情報を入力部104へと送信し、同じタイミングで視覚センサ100は、視覚情報を入力部104へと送信する。このように把持可能である位置、触覚情報と、それらに紐付けられた視覚情報とがモデル生成部106へと入力される。
一方、位置112B及び位置112Cにおいては、把持情報取得部112は、物体が把持可能ではないという情報を送信する。この場合、物体と触覚センサ102とが触れていた状態におけるデータに基づいて、触覚情報を送信する。視覚センサ100からは、物体と接触している状態の感知情報を送信する。
例えば、物体と把持情報取得部112が接触した段階において視覚センサ100は、撮影をし、触覚センサ102は、触覚情報を取得する。その後、上述したように当該位置に置いて把持可能であるか否かを判断するために、把持情報取得部112を任意に移動させ、把持状況を把握する。把持状況を把握した後に、把持情報取得部112が検知した把持可能情報、及び、触覚センサ102が感知した触覚情報のそれぞれと、視覚センサ100が感知した視覚情報とを紐付けて送信する。このようにすることにより、上述した2つの場合、すなわち、把持可能である場合、把持可能では無い場合の双方において、同じ制御でそれぞれのセンサからの情報を送信することが可能となる。
推定フェーズにおいては、視覚情報が入力されると、当該視覚情報は、視触覚特徴量抽出部110、及び、モデル生成部が生成した把持位置モデルとに入力され、視触覚特徴量及びどの位置で把持可能であるかが出力される。このように、視触覚特徴量抽出部110には物体のテクスチャデータを、把持位置モデルには、物体の形状データを入力し、どの位置が把持しやすいかを取得するとともに、どの程度の力で把持すればよいかの情報を取得することが可能となる。
以上のように、本実施形態によれば、触覚情報と視覚情報の紐付けのみならず、物体の形状に基づいた把持可能情報を視覚情報と紐付けてモデル化することにより、視覚情報に含まれるテクスチャ情報及び形状情報から、把持する際に制御する力及び位置の双方を出力することが可能となる。
なお、上述においては視覚センサ100の位置については特に限定は無い。例えば、上述した状況のように、固定位置にある視覚センサ100であるが、これには限られない。図7は、視覚センサ100の位置に関する別の例を示す図である。
図7に示すように、視覚センサ100は、把持情報取得部112に備えられていてもよい。このように、把持情報取得部112に視覚センサ100が備えられることにより、より高精度な把持位置情報及び触覚情報を取得することも可能となる。
例えば、図7のように視覚センサ100を備えておくと、物体の形状情報と把持位置情報とを紐付けて取得するとともに、触覚センサ102の位置に基づいた視覚情報を取得できることから、触覚センサ102の感知情報に対して触覚センサ102が接触している箇所のテクスチャ情報とをより正確に取得することが可能となる。
この場合、視覚情報として、形状情報を取得するタイミングと、テクスチャ情報を取得するタイミングとをずらして取得するようにしてもよい。すなわち、形状情報は、物体の全体が取得できるような位置において取得し、テクスチャ情報は、触覚センサ102と物体が接触した状態で取得するようにしてもよい。
学習フェーズにおいては、このように取得された視覚情報等の情報に基づき形状に基づいた把持位置、テクスチャに基づいた視触覚特徴量の学習を行う。
推定フェーズにおいては、まず、物体全体の形状の視覚情報を取得し、把持位置を推定し、その後、把持位置において把持する箇所におけるテクスチャ情報を取得し、視触覚特徴量を推定する。このように、2段階の構成とすることもできる。
もっとも、視覚センサ100が固定されている場合と同様に、学習フェーズ及び推定フェーズの双方において、視覚情報の取得を2段階にすることは必須ではなく、視覚情報として物体全体の視覚情報を取得し、取得した当該視覚情報からテクスチャ情報をも取得するようにしてもよい。
(第3実施形態)
図8は、本実施形態に係る触覚情報推定装置1の機能を示すブロック図である。触覚情報推定装置1はさらに、把持位置決定部116と、物体特性推定部118と、把持力決定部120と、把持制御部122と、把持部124と、を備える。
把持位置決定部116は、把持位置推定部114が推定した把持位置に基づいて、把持位置を決定する。把持位置推定部114は、前述した第2実施形態のように生成された把持位置モデルに基づいて把持位置を推定してもよいし、別途他の手法により、視覚情報から把持位置を推定するようにしてもよい。また、把持部124から情報のフィードバックがある場合には、フィードバックされた情報に基づいて、物体の把持する位置を更新する。
物体特性推定部118は、視触覚特徴量抽出部110が抽出した視触覚特徴量から、物体の特性を推定する。さらに、物体特性推定部118は、視触覚特徴量だけではなく、把持位置決定部116が決定した把持位置に基づいて、物体における把持する箇所の特性を推定するようにしてもよい。また、把持部124から情報のフィードバックがある場合には、フィードバックされた情報に基づいて、物体の特性を更新する。更新する場合には、視触覚特徴量抽出部110の出力した視触覚特徴量から物体の特性への変換情報もまた更新するようにしてもよい。
把持力決定部120は、物体特性推定部118が推定した物体の特性に基づいて、把持する力を決定する。
把持位置決定部116及び把持力決定部120は、決定した把持位置及び把持力を出力部108から出力し、外部の把持装置により把持する予定の物体、すなわち、学習に用いた物体とは別の他の物体である把持予定物体を、把持させるようにしてもよい。図8に示すように触覚情報推定装置1に把持部124が備えられている場合には、外部に出力せずに、把持制御部122へと出力するようにしてもよい。
把持制御部122は、把持位置決定部116が決定した把持位置、及び、把持力決定部120が決定した把持力に基づいて、把持部124を制御するための信号を把持部124へと出力する。なお、この把持制御部122は、必須の構成ではなく、把持位置決定部116及び把持力決定部120が直接的に把持部124へと情報を出力し、把持部124において制御信号を生成し、動作するようにしてもよい。別の例としては、把持位置決定部116及び把持力決定部120がそれぞれ制御信号を生成し、把持部124を動作させるようにしてもよい。
把持部124は、実際に把持する予定の他の物体である把持予定物体を把持し、その把持状態に関する情報を把持位置決定部116及び/又は物体特性推定部118へとフィードバックする。
学習フェーズにおける動作は、前述の各実施形態と同様である。また、図8においては、第2実施形態における把持情報取得部112を省略しているが、把持情報取得部112を備えていてもよい。以下、推定フェーズにおける動作について説明する。
図9は、本実施形態に係る推定フェーズにおける動作を示すフローチャートである。
まず、視覚センサ100は、把持予定物体の視覚情報を取得し入力部104を介して視触覚特徴量抽出部110及び把持位置推定部114へと視覚情報を入力する(S300)。次に、視触覚特徴量抽出部110は、生成されたモデルを用いて視覚情報から視触覚特徴量を抽出する(S302)。
把持位置推定部114は、入力された視覚情報から、把持予定物体が把持可能である位置を推定し、把持位置決定部116は、把持位置推定部114が推定した把持可能な位置から把持予定物体の把持位置を決定する(S304)。例えば、把持位置推定部114が複数の把持可能な位置をどの程度把持可能であるかと言った指標を数値化して推定し、当該数値化された指標に基づいて、最も適した把持可能な位置を把持位置決定部116が決定する。把持情報取得部112を備え、モデル生成部106において把持位置モデルが生成されている場合には、当該把持位置モデルを用いて把持位置を推定し、決定する。
物体特性推定部118は、視触覚特徴量抽出部110が抽出した視触覚特徴量から、物体の特性を推定する(S306)。物体の特性とは、例えば、抽出された視触覚特徴量に基づいた硬さ及び滑りやすさの双方を考慮した、物体を把持するために必要となる特性である。一例として、物体の特性は、硬さ及び滑りやすさの特徴量の数値に基づいて所定の変換をして取得された値のことを言う。所定の変換とは、あらかじめ定義された変換でもよいし、当該定義された変換を、強化学習等により学習した変換でもよい。
上述したように、モデル生成部106が生成するモデルの中間層において自己組織化されている視触覚特徴量は、必ずしも人間が感覚的に理解できる情報であるとは限られない。このような場合、物体特性推定部118は、人間が直接的にとってどのような感覚又は触覚であるかを感知できることが困難であるような視触覚特徴量から、当該物体を把持するために必要な力を算出するために必要となる物体の特性を算出する。このように、自己組織化された視触覚特徴量は、物体を把持するために加える力に変換可能である物体の特性を抽出できる特徴量であればよい。
また、物体特性推定部118は、S306において、視触覚特徴量のみからではなく、把持位置推定部114が推定した把持位置に基づいて物体の特性を推定してもよい。例えば、把持位置推定部114が推定した把持可能な位置において、把持部124と把持予定物体とが接触する箇所における把持予定物体のテクスチャ情報から、物体の特性を推定するようにしてもよい。
次に、把持力決定部120は、推定された物体の特性から、把持する際に加える力である把持力を決定する(S308)。推定された物体の特性は、上述したように、例えば、硬さ及び滑りやすさの双方に基づいた特性を数値化したものであり、把持力決定部120は、この数値化した値から把持力を決定する。逆に言うと、把持力を決定するために、硬さ及び滑りやすさを数値化したものが物体の特性であり、物体特性推定部118は、抽出された視触覚特徴量から把持力を決定するための特性値を推定する。
出力部108は、把持位置決定部116が決定した把持位置及び把持力決定部120が決定した把持力を出力する(S310)。このように、本実施形態に係る触覚情報推定装置1は、把持しようとする物体の視覚情報が入力されると、把持位置及び把持力を決定して出力する。このような出力を行うことにより、視触覚特徴量といった抽象的な値ではなく、より具体的にグリッパ等の把持装置を制御するために必要となる情報を出力することが可能となる。
図10は、把持部124を備える場合の触覚情報推定装置1の動作の一例を示すフローチャートである。把持部124を備える場合には、把持部124が実際に把持予定物体を把持し、当該把持した状態をフィードバックすることにより、把持位置及び把持力の決定精度をさらに高めようとするものである。
S308の把持力の決定までの動作については、上述した図9に示す動作と同様である。すなわち、把持予定物体の視覚情報を取得すると、触覚情報推定装置1は、把持位置の決定及び把持力の決定を実行する。
次に、把持制御部122は、把持部124の制御をすることにより、把持動作を実行する(S312)。把持制御部122は、決定された把持位置及び決定された把持力で把持部124が動作するような制御信号を生成し、把持部124へと送信する。把持部124は、把持制御部122から受信した制御信号に基づき動作することにより、把持予定物体の把持を実行する。
次に、把持制御部122は、把持動作が終了したか否かを判断する(S314)。把持動作が終了した場合(S314:Yes)、触覚情報推定装置1の動作を終了する。
一方、把持動作が終了していない場合(S314:No)、把持部124は、把持状態の情報を把持位置決定部116及び/又は物体特性推定部118へとフィードバックする(S316)。フィードバックする情報は、例えば、安定して把持できているか否かの情報、又は、触覚センサが把持部124に備えられている場合には、当該触覚センサの感知情報と言った情報である。
次に、把持位置決定部116及び/又は物体特性推定部118は、フィードバックされた情報に基づいて、把持部124の制御に必要となる各種情報を更新する(S318)。
例えば、把持位置決定部116は、把持予定物体の形状から把持位置を決定するが、この決定が適切では無かった場合、把持位置を更新する。把持位置の更新は、例えば、強化学習を用いて行ってもよい。
強化学習を用いる場合、一例として、把持の安定度について報酬を設定し、MDP(Markov Decision Process:マルコフ決定過程)により学習をおこなう。報酬は、前述した実施形態と同様に、所定の距離を持ち上げた場合の把持予定物体の荷重状況によって設定されてもよいし、又は、把持部124が触覚センサを備えている場合には、触覚センサの状態により設定されてもよい。MDPではなく、セミマルコフ決定過程を用いてもよい。把持予定物体における視覚センサ100から感知できない箇所の情報を用いたい場合には、部分観測マルコフ決定過程を用いてもよい。強化学習の手法は上述したものには限られず、適切に学習ができるものであればよい。
この強化学習は、把持位置の決定だけではなく、把持力の決定についても行ってもよい。例えば、物体特性推定部118は、把持部124からのフィードバック情報に基づいて、物体の特性情報を強化学習により更新する。把持力決定部120は、物体特性推定部118が更新した物体の特性情報に基づき、把持力を更新する。
この情報の更新は、さらに、モデル生成部106が生成した各種のモデルに反映されるものであってもよい。すなわち、生成されたモデルに対して、強化学習により得られた情報を教師データとして、ネットワークの更新を行うようにしてもよい。この場合、さらなる未知の物体を把持しようとする場合において、視触覚特徴量抽出部110、物体特性推定部118、又は、把持位置推定部114における、視触覚特徴量の抽出、物体特性の推定、又は、把持位置の推定の精度を向上させることが可能となる。
以上のように、本実施形態によれば、把持位置、把持力を更新することにより、把持予定物体を把持し始めた時点において把持位置、把持力を適切に更新することも可能である。また、把持中において、把持力を適切に更新することも可能である。把持位置、把持力を適切に更新することにより、物体の把持をより精密に行うことが可能となる。
なお、把持部124は、必ずしも触覚情報推定装置1に備えられている必要は無く、触覚情報推定装置1と接続された外部に存在するグリッパ等の装置であってもよい。また、フィードバック情報は、把持部124から送信されるものではなく、把持部124、又は、外部のグリッパ等の装置の視覚情報を視覚センサ100が感知し、当該視覚情報に基づいてフィードバック情報を送信するようにしてもよい。
(第4実施形態)
前述した実施形態では、把持部124を備えるとしたが、前述した第2実施形態における把持情報取得部112が把持部124を兼ねるものであってもよい。図11は、把持部124を備え、把持部124が把持情報取得部112の機能を兼ねる構成を示すブロック図である。
図11に示すように、把持部124は、触覚センサ102と、視覚センサ100を備える。視覚センサ100は、把持部124に備えられている必要は無く、把持部124とは別途備えられたものでもよい。別の例としては、把持部124に備えられた視覚センサ100とは別の視覚センサ100が、触覚情報推定装置1にさらに備えられていてもよい。
このように最終的に物体を把持する把持部124と、触覚情報を取得する触覚センサ102を備える把持情報取得部112とを同じデバイスとすることにより、把持力及び把持位置の推定及び決定をより精密に行うことが可能となる。
図1、図5、図8、図11に示すような各実施形態における触覚情報推定装置1において、視覚センサ100及び触覚センサ102からのデータ入力の制御、モデル生成部106におけるモデル生成の制御、視触覚特徴量抽出部110における視触覚特徴量の抽出の制御、把持位置推定部114及び物体特性推定部118における推定の制御、把持位置決定部116及び把持力決定部120における決定の制御、把持制御部122の制御は、図示しない制御部がその全て又は一部を、一括に又は個別に行うようにしてもよい。この制御部は、アナログ、デジタル、或いは、FPGA等により実装された制御回路であってもよい。
上記の全ての記載において、触覚情報推定装置1の少なくとも一部はハードウェアで構成されていてもよいし、ソフトウェアで構成され、ソフトウェアの情報処理によりCPU等が実施をしてもよい。ソフトウェアで構成される場合には、触覚情報推定装置1及びその少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD−ROM等の記憶媒体に収納し、コンピュータに読み込ませて実行させるものであってもよい。記憶媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記憶媒体であってもよい。すなわち、ソフトウェアによる情報処理がハードウェア資源を用いて具体的に実装されるものであってもよい。さらに、ソフトウェアによる処理は、FPGA等の回路に実装され、ハードウェアが実行するものであってもよい。学習モデルの生成や、学習モデルに入力をした後の処理は、例えば、GPU等のアクセラレータを使用して行ってもよい。
また、本実施形態に係るデータ推定モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとして利用することが可能である。すなわち、コンピュータのCPUが格納部に格納されているモデルに基づいて、演算を行い、結果を出力するように動作する。
前述した実施形態において入力される視覚情報である画像のフォーマットは、生データ、PNGフォーマット等、テクスチャ情報及び形状情報を適切に表現できるのであれば、どのようなフォーマットであっても構わない。
上記の全ての記載に基づいて、本発明の追加、効果又は種々の変形を当業者であれば想到できるかもしれないが、本発明の態様は、上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更及び部分的削除が可能である。