(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-03
(45)【発行日】2023-10-12
(54)【発明の名称】制御システム及び制御プログラム
(51)【国際特許分類】
A61F 2/70 20060101AFI20231004BHJP
A61F 2/72 20060101ALI20231004BHJP
A61F 2/54 20060101ALI20231004BHJP
A61F 2/60 20060101ALI20231004BHJP
【FI】
A61F2/70
A61F2/72
A61F2/54
A61F2/60
(21)【出願番号】P 2019225747
(22)【出願日】2019-12-13
【審査請求日】2022-05-19
【新規性喪失の例外の表示】特許法第30条第2項適用 (1)IEEE Access Volume 7,2019 第54542頁から54549頁「Development of Distributed Control System for Vision-Based Myoelectric Prosthetic Hand」 公開日:平成31年4月18日 (2)ロボティクス・メカトロニクス講演会2019 講演論文集「搭載カメラを利用した筋電義手の操作意図推定」 公開日:令和元年6月5日 (3)ロボティクス・メカトロニクス講演会2019 講演論文集「Prosthetic Hand Control System Based on Object Matching and Tracking」 公開日:令和元年6月5日 (4)第72回 電気・情報関係学会九州支部連合大会 予稿集522頁 06-2P-05「義手搭載カメラによる物体認識と把持対象の選択」 公開日:令和元年9月19日 (5)第37回日本ロボット学会学術講演 予稿集「Smart Hand:Grasp Objects Based on Spatial Awareness」 公開日:令和元年9月3日
(73)【特許権者】
【識別番号】504209655
【氏名又は名称】国立大学法人佐賀大学
(74)【代理人】
【識別番号】100099634
【氏名又は名称】平井 安雄
(72)【発明者】
【氏名】福田 修
(72)【発明者】
【氏名】イ ウナン
(72)【発明者】
【氏名】窪園 隆介
【審査官】齊藤 公志郎
(56)【参考文献】
【文献】米国特許出願公開第2014/0371871(US,A1)
【文献】国際公開第2019/234706(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A61F 2/70
A61F 2/54
A61F 2/60
(57)【特許請求の範囲】
【請求項1】
人体に装着され対象物に対して動作を実行する実行部と、
前記対象物に対する人の行動に伴って1又は複数のセンサで検知された
、少なくとも筋電信号を含む検知情報を取得する検知情報取得手段と、
前記対象物に対して1又は複数のセンサで計測された
、少なくとも撮像情報を含む計測情報を取得する計測情報取得手段と、
前記検知情報及び前記計測情報に基づいて、
前記筋電信号が第1閾値を超えた場合に、前記撮像情報に含まれる前記対象物の種別を特定し、行動の目的となる目的対象物を特定し、当該目的対象物に対する行動姿勢を決定し、前記実行部を前記行動姿勢に調整する推定処理を実行する動作特定手段と、
前記実行部の装着者が前記実行部を適切な前記行動姿勢となる位置及び方向に保持した状態で前記筋電信号が前記第1閾値よりも大きい第2閾値を超えた場合に、前記実行部が前記対象物に対する直接的な行動を実行するように駆動制御する駆動制御手段とを備えることを特徴とする制御システム。
【請求項2】
請求項1に記載の制御システムにおいて、
前記実行部が装着者が指す先端方向を撮像方向とするカメラを有する義手であり、
前記動作特定手段が、前記カメラで撮像された撮像情報における画像の中心に最も近い位置に撮像されている前記対象物が所定時間以上に亘って静止状態で撮像された場合に、前記対象物を前記行動の目的とする目的対象物として特定することを特徴とする制御システム。
【請求項3】
請求項1又は2に記載の制御システムにおいて、
前記実行部が装着者が指す先端方向を撮像方向とするカメラを有する義手であり、
前記動作特定手段が、
前記
カメラと前記撮像情報に含まれる前記対象物との間の空間的な位置関係を演算する空間演算部と、
演算された空間位置関係と、前記検知情報として取得される前記
カメラの移動情報とに基づいて、前記対象物と前記
カメラとの相対的な空間位置関係を追跡する位置関係追跡部とを備え、
前記空間演算部及び前記位置関係追跡部は、前記計測情報取得手段が取得した撮像情報であって、予めマーカが配置された撮像範囲を
前記カメラで撮像した撮像情報に基づいて、シーン内の前記対象物の姿勢を求めることを特徴とする制御システム。
【請求項4】
人体に装着され対象物に対して動作を実行する実行部を制御する制御プログラムであって、
前記対象物に対する人の行動に伴って1又は複数のセンサで検知された、少なくとも筋電信号を含む検知情報を取得する検知情報取得手段、
前記対象物に対して1又は複数のセンサで計測された、少なくとも撮像情報を含む計測情報を取得する計測情報取得手段、
前記検知情報及び前記計測情報に基づいて、前記筋電信号が第1閾値を超えた場合に、前記撮像情報に含まれる前記対象物の種別を特定し、行動の目的となる目的対象物を特定し、当該目的対象物に対する行動姿勢を決定し、前記実行部を前記行動姿勢に調整する推定処理を実行する動作特定手段、
前記実行部の装着者が前記実行部を適切な前記行動姿勢となる位置及び方向に保持した状態で前記筋電信号が前記第1閾値よりも大きい第2閾値を超えた場合に、前記実行部が前記対象物に対する直接的な行動を実行するように駆動制御する駆動制御手段としてコンピュータを機能させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人の行動に合致した動作をするように実行部を駆動制御する制御システム等に関する。
【背景技術】
【0002】
例えば、義手の駆動制御に関する技術として、例えば特許文献1ないし3に示す技術が開示されている。特許文献1に示す技術は、人指し指に該当する第一義指4と、中指に該当する第二義指5と、薬指に該当する第三義指6と、小指に該当する第四義指7と、親指に該当する第五義指8と、各義指を支持する基台2と、この基台2を支持する腕部とからなる。そして、基台2に義指を動かす複数のモータを取り付け、このモータに対応してモータの回転方向と起動とを操作する複数のスイッチを設けたものである。
【0003】
特許文献2に示す技術は、上肢若しくは下肢の一部若しくは全部を欠損した患肢と、随意的に動かし得る関節とを有する人体に適用される動力義肢を制御するための方法であって、随意的に動かし得る関節の一又は複数の関節変位を、計測手段により第1の関節変位として計測するステップと、第1の関節変位の一般化座標空間から動力義肢の関節変位の一般化座標空間への適切な写像を演算手段により演算し、第2の関節変位として算出するステップと、第2の関節変位を目標値として、制御手段により患肢に適用した動力義肢の一又は複数の関節変位制御を行なうステップと、からなることを特徴とするものである。
【0004】
特許文献3に示す技術は、手の甲および手のひら部分の間に配置される基部と、基部に連結された第1中間部と、第1中間部に連結された第2中間部と、第2中間部に連結された指先部とを具える可動指であって、基部に配置されたアクチュエーターで第1ワイヤーを引いて偏心部材を回動させ、第1中間部を、偏心部材で第1中間部引っ張りスプリングを介して引いて屈曲させ、第1中間部伸ばしスプリングで伸ばす第1中間部屈曲機構と、第1中間部に動滑車として配置されたプーリーに巻き掛けられた第2ワイヤーを偏心部材で引いて、第2中間部を、プーリーに連結された第3ワイヤーで引いて屈曲させ、第2中間部伸ばしスプリングで伸ばす第2中間部屈曲機構と、指先部を、第1中間部に連結された第4ワイヤーで引いて屈曲させ、第1中間部に連結されて第4ワイヤーと異なる経路で引き回された第5ワイヤーで引いて伸ばす指先部屈曲機構とを具えるものである。
【0005】
ここで、発明者らが開発したサイバーフィジカルシステムに関する技術として、例えば非特許文献1に示す技術が開示されている。非特許文献1に示す技術は、義手にカメラと人工知能(AI)を搭載することで義手がある程度自律的に動作できることが開示されている。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2012-250048号公報
【文献】特開2010-213873号公報
【文献】特許第3086452号
【非特許文献】
【0007】
【文献】福田 修、「見て、考えて、動作するサイボーグ義手」、2018年6月16日、インターネット<https://talk.yumenavi.info/archives/2218?site=p>
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1ないし3に示す技術は、いずれも使用者からの操作、音声、筋電情報等の入力情報に応じて義手等の動きを制御するものであるが、入力情報のパターンには限界があり、また、仮に詳細な入力情報を与えたとしても、それに見合う細かい動作を義手等に実行させるのは極めて困難性が高いという課題を有する。
【0009】
非特許文献1に示す技術は、人工知能を用いることで対象物に対して義手が自律的に動作することが可能であるが、対象物に対してどのような行動を起こすかまでは人工知能でカバーすることができないため、使用者の対象物に対する行動を正確に実現するには不十分なものとなってしまう。
【0010】
本発明は、人の行動に伴ってセンサで検知された情報から行動内容を特定すると共に、特定された行動内容に合致するように実行部の動作を駆動制御する制御システム及び制御方法を提供する。
【課題を解決するための手段】
【0011】
本発明に係る制御システムは、人体に装着され対象物に対して動作を実行する実行部と、前記対象物に対する人の行動に伴って1又は複数のセンサで検知された検知情報を取得する検知情報取得手段と、前記対象物に対して1又は複数のセンサで計測された計測情報を取得する計測情報取得手段と、前記検知情報及び前記計測情報に基づいて、前記対象物に対する前記行動の内容に合致する動作を特定する動作特定手段と、特定された前記動作に対応させて前記実行部を駆動制御する駆動制御手段とを備えるものである。
【0012】
このように、本発明に係る制御システムにおいては、人体に装着され対象物に対する人の行動に伴って1又は複数のセンサで検知された検知情報と、対象物に対して1又は複数のセンサで計測された計測情報とに基づいて、対象物に対する人の行動の内容に合致する動作を特定し、特定された動作に対応させて実行部を駆動制御するため、対象物に対する人の目的に適合するように実行部を駆動させることが可能となり、人と実行部とが連携して協働することで目的を達成することができるという効果を奏する。
【図面の簡単な説明】
【0013】
【
図1】第1の実施形態に係る制御システムのシステム構成図である。
【
図2】第1の実施形態に係る制御システムにおける義肢装置の機能ブロック図である。
【
図3】第1の実施形態に係る制御システムにおけるサーバの機能ブロック図である。
【
図4】第1の実施形態に係る制御システムの動作を示すフローチャートである。
【
図5】第1の実施形態に係る制御システムのハードウェア構成の一例を示す図である。
【
図6】第1の実施形態に係る制御システムのテストプラットフォームの環境を示す図である。
【
図7】第1の実施形態に係る制御システムにおけるEMGの取得からトリガ信号の生成までのプロセスを示す図である。
【
図8】第1の実施形態に係る制御システムにおいてCNN内の画像から境界ボックスとクラス確率を検出するアーキテクチャを示す図である。
【
図9】第1の実施形態に係る制御システムにおけるオブジェクト検出モジュールのトレーニングサンプルを示す図である。
【
図10】第1の実施形態に係る制御システムにおける実験の概要を示す図である。
【
図11】第1の実施形態に係る制御システムにおいて検出されたオブジェクトのオブジェクトクラスの確率とターゲットオブジェクトの確率をプロットした図である。
【
図12】第1の実施形態に係る制御システムの別の実験におけるセンサデータと中間結果を示す図である。
【
図13】第2の実施形態に係る制御システムにおいてカメラの動画像から使用者の動作意図を推定する戦略の概要を示す図である。
【
図14】第2の実施形態に係る制御システムにおいて物体毎の検出矩形の大きさとカメラとの距離の関係を示す図である。
【
図15】第2の実施形態に係る制御システムにおいて対象物の選択意図の推定実験の結果を示す図である。
【
図16】第3の実施形態に係る制御システムにおいて位置関係追跡部がカメラと対象物との空間的関係を追跡する場合の図である。
【
図17】第3の実施形態に係る制御システムにおいてカメラ座標系CSと対象物ローカルCSの空間的関係を表す図である。
【
図18】第3の実施形態に係る制御システムにおいて事前にスキャンされた対象物の特徴(参照)と比較して、対象物の位置と方向を推定する仕組みを示す図である。
【
図19】第3の実施形態に係る制御システムにおいてデモンストレーション結果を示す図である。
【
図20】第4の実施形態に係る制御システムにおいてマーカを使用して対象物の姿勢を追跡する様子を示す図である。
【
図21】第4の実施形態に係る制御システムにおいてカメラのz軸が2つのシーンのカップとボトルをそれぞれ通過する場合の図である。
【
図22】第4の実施形態に係る制御システムにおいてスマートハンドが遠方から向けられており、姿勢情報は接近段階の終わりまで保持される様子を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態を説明する。また、本実施形態の全体を通して同じ要素には同じ符号を付けている。
【0015】
(本発明の第1の実施形態)
本実施形態に係る制御システムについて、
図1ないし
図12を用いて説明する。本実施形態に係る制御システムは、人の行動に伴うセンサ情報と対象物に対して計測されたセンサ情報とから、対象物に対する人の行動を推定し、その推定内容に合致するように実行部を動作させるものである。
【0016】
図1は、本実施形態に係る制御システムのシステム構成図である。本実施形態に係る制御システム1は、人体に装着される1又は複数の義肢装置10と、当該義肢装置10とインターネットを介して通信を行うサーバ20とを備える。義肢装置10は、例えば義手や義足であり、身体障害者などが普段の生活において装着しているものである。各義肢装置10は、個々に独立して動作するものであり、それぞれがサーバ20と接続する構成となっている。
【0017】
義肢装置10には様々なセンサ11が設置及び通信接続されており、センサ11からの情報を受信してサーバ20に送信される。これらのセンサ11は、義肢装置10を装着している使用者に付設されているセンサであってもよい。サーバ20は、義肢装置10から送信されたセンサ11の情報や筋電情報に基づいて演算処理を実行する。演算処理とは例えば、AI機能による情報処理であり、義肢装置10から送信された情報から義肢装置10の実行対象となっている対象物の種別を特定したり、対象物に対して義肢装置10をどのように駆動するかを演算するものである。具体的には、閾値判定、線形判別式、条件式、ニューラルネット、ベイジアンネット、強化学習などの認識アルゴリズムをベースとし、複数の義肢装置10から収集したデータやインターネット上の情報検索等を組み合わせたアルゴリズムで演算を行うことが可能である。
【0018】
サーバ20で演算された結果(例えば、実行部の駆動制御情報)は義肢装置10に返送され、返送された情報に基づいて義肢装置10の実行部が動作を実行する。サーバ20には、通信可能な複数の義肢装置10から情報が集まるため、各義肢装置10から得た情報を記録し学習に役立てることができる。
【0019】
なお、本実施形態においてセンサ11のセンシング情報には2つの種別がある。1つは対象物に対して計測した情報(以下、計測情報という)であり、例えばカメラで対象物を撮像した画像情報や超音波センサで対象物までの距離を測定した情報等がこれに該当する。もう1つは人の行動に伴って検知された情報(以下、検知情報という)であり、例えばマイクで検出した人の音声情報や義肢装置10の方向や位置を特定する加速度センサやジャイロセンサや筋電を取得する筋電センサ等の情報がこれに該当する。また、センサ11の種類によっては計測情報及び検知情報の両方の側面を有する情報を提供する場合もある。例えば、カメラで撮像した画像情報には対象物に対してその種類を特定するための計測情報という側面と、義肢装置10が対象物に対してどのような動きをしているか(例えば、近づいている、遠ざかっている、右に動いている、左に動いている等)といった、人の行動に伴って検知される検知情報としての側面がある。同様に、例えば超音波センサによる義肢装置10から対象物までの距離情報には、単に距離の情報としての計測情報の側面と、対象物に対して何か行動(例えば、掴む、持つ、倒す、起こす、押す、引く等)を起こすために近づいているといった人の行動に伴う検知情報としての側面がある。すなわち、対象物に対して計測する計測情報と、人の行動に伴って検知される検知情報とは、必ずしても異なるセンサ11から得られる個別の情報ではなく、共通のセンサ11から得られる場合もあり得る。
【0020】
図2及び
図3は、本実施形態に係る制御システムの機能ブロック図である。
図2は義肢装置の機能ブロック図、
図3はサーバの機能ブロック図である。
図2において、義肢装置10は、義肢装置10に直接設置されていさるセンサ11、及び/又は義肢装置10の使用者に付設されているセンサ11からのセンシング情報を取得する取得部110と、取得したセンシング情報をサーバ20に送信する送信部120と、人体に装着され対象物に対して動作を実行する実行部130と、実行部130を人の行動内容に合致するように動作させるための駆動制御情報をサーバ20から受信して、実際に実行部130を駆動する駆動制御部140とを備える。
【0021】
また
図3において、サーバ20は、義肢装置10の送信部120から送信されたセンサ11のセンシング情報を取得するセンサ情報取得部210と、センサ情報として取得した計測情報に基づいて対象物の種別を特定する対象物特定部220と、センサ情報として取得した計測情報及び検知情報、並びに特定された対象物の種別情報に基づいて、使用者の行動を推定する行動推定部230と、センサ情報取得部210が取得したセンシング情報と行動推定部230で推定された行動情報とに基づいて、義肢装置10の実行部130を動作をさせるための駆動制御情報を生成すると共に、当該駆動制御情報を義肢装置10に送信する駆動制御情報生成部240とを備える。
【0022】
センサ11の種類としては、例えばカメラ、距離センサ、加速度センサ、ジャイロセンサ、地磁気センサ、電磁気センサ、マイク、サーモグラフ、近赤線センサ、バーコード、化学センサ等から単独又は複数を組み合わせて情報を取得する。これらのセンサ11から取得された計測情報及び検知情報から対象物の種別が特定され、さらに義肢を装着している使用者の行動を推定し、その行動に合致するように実行部130が駆動される。
【0023】
例えば一例を挙げると、センサ11としてマイク及びカメラを備える義肢装置10でカップを掴んで飲料を飲む場合、使用者の「そのカップ取って」という音声情報がマイクから入力されると、その情報を検知情報としてサーバ20に送信する。また併せて、使用者がカップを取るために義肢の実行部130(ここでは指先)をカップに近づける行動をすると、義肢装置10に付設されたカメラが撮像する画像又は動画の撮像情報が入力され、計測情報及び検知情報としてサーバ20に送信される。サーバ20では、撮像情報から対象物となっている撮像領域を特定し、その撮像領域に相当する物体の種別がカップであることを識別し、取っ手がある場合はその向き、形状、大きさ等を識別する。また、実行部130の指先がどの方向からどの方向に向かって移動しているかを特定すると共に、音声情報からカップを掴むことが目的であることを特定し、最終的に実行部130がカップの取っ手を掴むために行う必要がある動作の駆動情報を生成して義肢装置10に返信する。義肢装置10の実行部130が駆動情報に基づいて駆動することで、使用者はカップを掴んで飲料を飲むことができる。駆動情報の具体例としては、例えば角度、角速度、トルク、機械コンプライアンス等が挙げられる。
【0024】
つまり、使用者は義肢装置10を制御するために、行動の目的となる上位概念の内容(上記の例だと「コップを取る」こと)をマイクに入力するだけで、後の細かい下位概念の動作(上記の例だと指ごとの方向、角度、伸縮、強さ等)は、撮像情報に基づいて義肢装置10が自動で行うこととなり、人と装置とが協働してこれまで困難だった動作も快適に行うことができるようになる。
【0025】
なお、サーバ20又はサーバ20に接続するデータベースサーバにおいて、各義肢装置10から送信されたセンサ情報、対象物特定部220の処理結果、行動推定部230の処理結果、実際に実行部130が駆動した場合の結果(駆動制御が上手くいったか失敗したかといったフィードバック情報)等を管理する管理手段(図示しない)を備えるようにしてもよい。そうすることで、より多くの各義肢装置10からの情報を元にサーバ20内での演算処理の精度を向上させることが可能となる。
【0026】
次に、本実施形態に係る制御システムの動作について説明する。
図4は、本実施形態に係る制御システムの動作を示すフローチャートである。まず、センサ11が常時又は定期的もしくは不定期にセンシングを行い、取得部110がを含むセンサ11のセンサ情報を取得する(S1)。送信部120が、取得されたセンサ情報をサーバ20に送信する(S2)。対象物特定部220が、センサ情報に基づいて対象物の種別を特定すると共に(S3)、行動推定部230が、センサ情報に基づいて義肢装置10の使用者の行動を推定する(S4)。対象物の種別と使用者の行動とに基づいて、駆動制御情報生成部240が、使用者の行動に合致するように実行部130を動作させるための制御情報を生成し(S5)、義肢装置10に送信する(S6)。義肢装置10の駆動制御部140が、サーバ20から送信された制御情報に基づいて実行部130を駆動し(S7)、S1の処理に戻る。義肢装置10を使用する間S1~S7の処理が繰り返して実行される。
【0027】
上記説明に関して、より具体的なハードウェアの構成、処理、試作実験を行った結果について以下に説明する。ハードウェアの構成図を
図5に示す。上述したようにクライアントとサーバーの2つの主要部分に分かれている。クライアントは義手にインストールされ、使用者の動きに合わせて動く。クライアントのプロセッシングユニットは、いくつかのセンサを接続し、義手が直接の環境を感知できるようにする。これらのセンサの中で、画像センサは外部情報を取得する上で最も重要な役割を果たす。EMG電極は、筋肉の活動をリアルタイムで記録するために使用される。義手は人体の延長であるため、その制御はユーザの意図を反映する必要がある。EMG信号は、使用者が制御システムに意図を表現する(すなわち、検知情報を取得する)のに役立つ。慣性測定ユニット(IMU)センサは補助入力ソースであり、画像分析に使用されるカメラの位置と方向を提供する。これらのセンサからのデータは収集、同期化され、サーバ側に送信されて処理される。その後、サーバは受信データを分析した後、モータコマンドを返す。
【0028】
サーバは、インターネットを介してアクセスできる同じローカルネットワークまたは他のネットワーク上にある。複数のGPU計算ノードとデータベースを有しており、各GPUノードは並列処理を実行し、データ処理を高速化する。処理タスクは複数のGPUノードに割り当てることができる。サーバには、受信した画像やその他の補助入力の処理に使用されるアルゴリズムのセットがある。本実施形態に係る制御システムにおいては、受信した画像にディープラーニングアルゴリズムを展開する。これらのシステムでは、画像はCNNネットワークに送られ、出力は把持を実行するために必要な情報である。情報は、目的対象物のプロパティ(サイズ、形状、カテゴリなど)、または義手と対象物の相対的な空間的関係(方向、距離など)となる。サーバのもう1つの機能はデータ管理である。モータコマンド、ディープラーニングモデル、および目的対象物のプロパティを管理する。
【0029】
本実施形態に係る制御システムでは、サーバがデータを処理してモーターコマンドを生成すると共に、クライアントが状況を感知してモータを駆動する。制御システムは、人が対象物を把持するときに行うこととまったく同じように機能する。すなわち、対象物を見て、対象物を握る計画を立ててから手を向ける。サーバは頭脳であり、情報を保存し、データを処理する。クライアントは神経系であり、環境を感知し、データを送信し、コマンドを実行する。
【0030】
図5に基づいてテストプラットフォームを構築した。
図5において、クライアント側では、Raspberry Piはサーバとのデータ交換を行う。センサデータを収集し、モーターコマンドを受信する。Myoアームバンド(Thalmic Labs)からEMG信号を受信し、Webカメラから画像シーケンスを受信する。Myoアームバンドは、前腕EMG信号を測定するための8つの電極を備えたウェアラブルデバイスである。Raspberry Piとの通信は、Bluetooth(登録商標)インターフェイスを介して行われる。収集されたデータはソケットにパッケージ化され、さらに処理するためにサーバに送信される。サーバは、クライアントと同じWi-Fiネットワーク内にある。筋電制御モジュールは、EMG信号を処理してユーザの意図を推定する。推定された意図は、いくつかの特定のアクションのトリガとなる。対象物検出モジュールは、イメージシーケンスからすべての潜在的な候補対象物を認識してローカライズし、目的対象物である可能性が最も高い対象物を提案する。事前定義された把持姿勢は、識別された対象物に基づいて選択される。筋電制御モジュールからのトリガ信号と物体検出モジュールからの選択された姿勢は、一緒になってモータ制御コマンドを決定する。モータ制御コマンドはクライアントに送り返される。Arduino Unoはステッピングモータコントローラとして機能する。生成されたモータコマンドに従ってPWM信号を出力し、3-DoFグリッパを制御する。3つのモータは、回外運動/回内運動、手首の屈曲/伸展、手の開閉の6つの前腕運動に対応している。グリッパは義手を表している。テストプラットフォームの環境を
図6に示す。筋電制御モジュールと物体検出モジュールの詳細を以下に示す。
【0031】
筋電制御モジュールは、ユーザの意図を推定してトリガ信号を生成するために使用される。ユーザの意図には、主に、対象物を把持し、把持を途中でやめて、対象物に対する手の相対的な向きが整ったときに手を閉じるという要求が含まれる。ユーザは、筋肉の収縮レベルを制御するためのトレーニングを受けることができ、収縮レベルで意図を反映することができる。
【0032】
8つのチャネルからのEMG信号の合計(修正およびフィルタリング)Esumは、筋肉の収縮レベルとして定義される。当初、筋電制御モジュールは最大Esumを見つけるために初期化が必要である。ユーザは、10秒以内に可能な限り前腕の筋肉を収縮するように求められる。この期間の最大Esumは、Emaxと示される。Emaxは定数で、式を使用してEsumを範囲[0,1]に正規化するために使用される。
【0033】
【0034】
ここで、Lは正規化された収縮レベル、E
dは電極チャネルdでサンプリングされたEMG信号を示し、tはサンプリング時間である。動作状態では、Myoアームバンドで測定された生のEMG信号が最初に整流され、移動平均フィルタを通過する。次に、正規化された収縮レベルが計算され、ユーザが制御のトリガとなるかどうかをしきい値と比較することで認識する。2つのしきい値、θ
aとθ
b(θ
a<θ
b)は、2つのアクションのトリガに設定される。xがθ
aを超える場合、制御システムはオブジェクト検出モジュールを起動して画像シーケンスの受信を開始する。xがθ
bを超える場合、制御システムはシステムを起動して、把持を実行するサーボ機構をアクティブにする。
図7は、生のEMGの取得からトリガ信号の生成までのプロセスを示している。
【0035】
オブジェクト検出モジュールは、入力として画像シーケンスを受け入れ、提案された把握姿勢を出力する。最初のステップで、モジュールは画像内のすべての潜在的なオブジェクトを検出してローカライズしようとする。テストプラットフォームで使用されるオブジェクト検出器は1段階の方法である。1つのCNN内の完全な画像から境界ボックスとクラス確率を直接検出する。そのアーキテクチャを
図8に示す。主に3×3の畳み込みフィルタとプーリング層で構成される。ネットワークは最初に畳み込みアーキテクチャ(バックボーン)を使用して画像全体から特徴を抽出し、その特徴は座標回帰やクラス分類を含むボンディングボックス認識に使用される。そのアーキテクチャは、リアルタイムのオブジェクト検出ネットワークであるYOLOネットワークから改良される(参考文献1:J. Redmon and A. Farhadi. (2018).’YOLOv3: An incremental improvement.’ [Online]. Available: https://arxiv.org/abs/1804.02767)。YOLOは、多数のオブジェクトクラスを検出するように設計されているため、非常に深いバックボーンを使用して、境界ボックス認識のためのより複雑で抽象的な機能を抽出する。しかし、この場合、テストプラットフォームのオブジェクト検出モジュールは、クラスの代わりに少数の特定のオブジェクトのみを検出する必要があり、より深いバックボーンは必要ない。したがって、元のYOLOネットワークには53の畳み込み層があるが、
図8のバックボーンには13の畳み込み層を有する構成となっている。
【0036】
日常生活の5つの一般的なオブジェクトを把握対象とする。カップ、ボトル、穴あけパンチ、スプレーボトル、ボールである。異なる把持姿勢に対応するため、それらが選択される。オブジェクト検出モジュールをトレーニングおよび評価するために、オブジェクトごとに約120個の画像を含むデータセットが作成された。画像は、異なる視野角、距離、背景で撮影された。各画像には、1つまたは複数のオブジェクトがランダムに含まれている。いくつかのサンプルが
図9に示されている。データセットは、80%をトレーニング用に20%を検証用に分けた。ネットワークは比較的単純なバックボーンを使用するため、収束が容易で、別の画像データセットでバックボーンを事前にトレーニングする必要はない。トレーニングフェーズでは、ネットワークの要件に合わせて、入力画像がランダムにスケーリングされ、416×416にサイズ変更される。増強のために、色相ジッタと彩度ジッタとがトレーニング画像にランダムに追加される。バッチの正規化を実行して学習を高速化し、過剰適合を減らす。トレーニングポリシーは、参考文献のルールに従う。2つのGPU計算ノード(GeForce GTX Titan XおよびGeForce GTX 970)をインストールして、トレーニングプロセスを加速する。
【0037】
モデルのパフォーマンスの評価には、mAP(mean average precision)のメトリックが使用される。IoU(Intersection over union)のしきい値を0.5に設定した場合、ネットワークは95.76%mAPを達成する。ネットワークは、GTX Titan X GPU上のWebカメラを使用してリアルタイムでオブジェクトを検出するために使用される場合、28.6フレーム/秒(FPS)も達成する。元のYOLOと比較すると、ネットワークの推論速度は高速であるが、データセットで実行される精度はほぼ同じである。さらに、ネットワークモデルは軽量であり、イメージの推論時に2.2[GB]のGPUメモリしか消費しない。
【0038】
次のステップでは、最初のステップで複数のオブジェクトが認識される可能性があるため、多くのオブジェクト候補の中から把握対象を選択する。ターゲットを決定するための簡単なルールが作成される。予測されたすべての境界ボックスのうち、画像のジオメトリ中心に最も近いものが把握対象として決定される。境界ボックスの中心と画像の中心間のユークリッド距離は、検出されたすべてのオブジェクトに対して計算される。検出されないオブジェクトは無限の場所にあると見なされ、それらのユークリッド距離は無限の数になる。オブジェクト検出に使用されるネットワークのアーキテクチャは、検出されたオブジェクトを距離に応じてソートする。このプロセスをより一般的かつ直感的にするために、ターゲットオブジェクト確率と呼ばれる新しい概念を取り入れ、オブジェクトがターゲットになる可能性を説明する。それは、以下に定義される。
【0039】
【0040】
ここで、diはi番目のオブジェクトの距離、piはi番目のオブジェクトが把持対象になる確率、nはモデルが検出できるオブジェクトの数である。明らかにpiは次式を満たす。
【0041】
【0042】
ターゲットオブジェクトの確率が最も高く検出されたオブジェクトが把握ターゲットとなる。最後のステップは、把握姿勢を決定することである。把握姿勢は事前定義されており、オブジェクトの形状に基づいて設計されている。対象物体が決定されると、対応する把持姿勢が姿勢候補から選択される。
【0043】
上記に関して以下の実験を行った。カップ、ボトル、スプレーボトル、ボール、ホールパンチ(データセット内のオブジェクト)を、互いに遠くない距離でテーブルに一列に配置した。ユーザーが保持しているグリッパを左から右に動かして、最後のオブジェクト(ホールパンチ)を掴む動作を行う。グリッパに対するWebカメラの向きと位置は、グリッパが画像の中央下に位置するように調整した。カメラはネットワークを介してサーバにライブビデオを送り続け、サーバは各ビデオフレームをリアルタイムで処理する。
図10は、実験の概要を示す図である。カメラビューと環境ビューは、それぞれ上部と下部に表示される。
図10から、カメラビューのオブジェクトはすべてバウンディングボックスで正常にローカライズされていることがわかる。予測されたクラスと対応する確率も、バウンディングボックスの上部にラベル付けされる。背景がプレーンで十分な光がある環境では、クラス予測の確率は約99%である。検出されたオブジェクトは、さらに処理するために元の画像から切り取られる。トリミングされたオブジェクトは、ターゲットの確率に従ってソートされ、リアルタイムで環境ビューにリストされる。最も高いターゲット確率を持つオブジェクトが最初にソートされる。システムは、平均28.6FPSでライブビデオを処理する。義手を制御するための連続的な自動調整は、このような数で可能である。
【0044】
各フレームの検出されたオブジェクトのオブジェクトクラスの確率とターゲットオブジェクトの確率は、
図11のようにプロットされる。X軸はフレーム番号である。
図11の上部は、オブジェクトクラスの確率をプロットしたものであり、シーン内のオブジェクトが高い確率で完全に検出できることを示している。図の下の部分は、対象オブジェクトの確率を示しており、接近段階でオブジェクトが把握対象になるプロセスを直感的に視覚化している。確率が高いということは、把握対象となる可能性が高いことを意味する。2つのビデオフレームサンプルが選択され、図に示されている。グリッパが側面からオブジェクトに向かって移動すると、このオブジェクトのターゲット確率はますます高くなる。グリッパがオブジェクトを直接指すか、オブジェクトに近づくと、目標確率はプロットのピークである最大値に近くなる。プロットの5つのピークは、カメラビューの中央にオブジェクトが出現した5回に対応している。ターゲット確率プロットから、義手が物体に近づいている、または物体から遠ざかっていると推測できる。分散制御方式の恩恵を受けて、処理速度と精度が大幅に向上している。
【0045】
開発したシステムの全体的な機能をテストするために、別の実験を行った。2つのオブジェクトを継続的に把握するサンプルセッションが実行される。このセッションで収集されたセンサデータと中間結果が、
図12における時間領域でプロットされる。上から下の各図は、それぞれ筋収縮レベル、物体認識結果、システム状態、および選択した把持姿勢を示している。ユーザは筋肉の収縮レベルを制御してシステム全体を操作し、システム状態を切り替えるトリガ信号を生成する。システム状態には、イメージシーケンスの供給や把握アクションの実行が含まれる。
【0046】
まず、システムはスタンバイ状態から開始し、EMG信号電位がしきい値θaを超えたときにボールを把握対象として検出した。次に、ボールを上から掴むように把握姿勢を決定した。次に、ステッパモーターを駆動して、グリッパを選択した把持姿勢に調整した。ユーザーは、グリッパを動かして、オブジェクトに対して適切な把持位置と方向に保持する。最後に、ユーザーは別のしきい値θbを超えるまで筋肉の収縮レベルを強化することにより、別の信号をトリガした。システム状態が握り動作に変わり、ステッピングモータが駆動されて握り動作を実行しボールを握った。EMG電位が低下すると、システムはスタンバイ状態に戻った。その後、システムは、ユーザのトリガ信号が保留されるまで待機する。スプレーボトルをつかむために同じ制御フローが実行された。
【0047】
分散制御方式により、視覚ベースの義手でオブジェクトを把持する制御は、以前よりはるかにスムーズになった。ユーザの経験の観点から見ると、認識の精度と処理速度が改善されている。実際、分散制御方式の利点はそれ以上である。システムは、半自動連続補綴制御の実現が、画像に代わってライブビデオフィードでオブジェクトの検出とターゲットオブジェクトの提案を実現する。
【0048】
このように、本実施形態に係る制御システムにおいては、人体に装着され対象物に対する人の行動に伴って1又は複数のセンサで検知された検知情報と、対象物に対して1又は複数のセンサで計測された計測情報とに基づいて、対象物に対する人の行動の内容に合致する動作を特定し、特定された動作に対応させて実行部130を駆動制御するため、対象物に対する人の目的に適合するように実行部130を駆動させることが可能となり、人と実行部130とが連携して協働することで目的を達成することができる。
【0049】
また、対象物に対して実行する実行内容を含む検知情報に基づいて、実行部130が行う具体的な動作を制御する制御情報を生成するため、使用者が目的としている行動が特定され、実行部130で具体的な動作を行うことが可能になる。
【0050】
なお、本実施形態に係る制御システムでは、対象物の種別特定、使用者の行動推定等の処理をサーバ20で行う分散処理システムの構成としたが、義肢装置10側が演算部を備え、義肢装置10内でサーバ20の処理を行う集中処理システムの構成であってもよい。
【0051】
(本発明の第2の実施形態)
本実施形態に係る制御システムについて、
図13ないし
図15を用いて説明する。本実施形態に係る制御システムは、前記第1の実施形態に係る制御システムにおける行動推定部230の処理の一例を具体的に示したものである。なお、本実施形態において前記第1の実施形態と重複する説明は省略する。
【0052】
本実施形態においては、センサ11としてカメラを用い、義肢装置10として義手を用いる。カメラの動画像から使用者の動作意図を推定する戦略の概要を
図13に示す。この戦略は3段階からなり、(1)画像上に検出される対象物までの距離を測定する距離算出部を備え、候補特定部が、対象物の中から遠くにあるものを除外し、行動の対象となっている対象物の候補を絞り込む。(2)画像中心に近い程検出される可能性が高いと仮定し、目的特定部が対象物を1つ選択する。(3)その対象物の前で長く(所定時間以上)停止していることを把持する意図と仮定し、目的特定部がその物体を把持対象として決定する。
【0053】
具体的には、例えば、リアルタイム物体検出アルゴリズムYOLO(You Only Look Once)を用い、まず対象物が「なに」であるかを認識する。そして、個々の検出矩形の大きさに基づいて近接する対象物を選定する。また、画像の中心と矩形中心との距離を計算し、最も画像の中心に近い対象物を選定する。カメラには加速度、ジャイロセンサが取り付けられており、カメラが静止状態で物体を見ている時間を計測する。以上の情報から、注目している対象物を決定するアルゴリズムを構成する。画像の計測は、シングルボードコンピュータRaspberry Piに、USB接続のWebカメラ(LifeCam Studio for Business 5WH-00003)を接続して実施する。リアルタイム物体検出アルゴリズムの実装にはYOLOを、加速度・ジャイロセンサには、Raspberry Pi用の拡張センサであるSense Hatを用いる。
【0054】
本実施形態におけるアルゴリズムとその妥当性を検証する実験を実施した。ここでは、ボトル(bottle)、カップ(cup)、はさみ(scissors)、スプーン(spoon)の4種類の物体を用いた実施例を紹介する。まず、対象物の大きさに基づく対象物とカメラとの距離を推定する。YOLOで物体検出する際に生成される検出矩形の縦横の長さから、検出矩形の面積を求める。
図14は、物体毎の検出矩形の大きさとカメラとの距離の関係を示したものである。上記4つの物体とカメラとの距離を30cm~100cmの間で10cm間隔で距離や角度を変えながら8枚ずつ撮影し、矩形面積の平均と標準偏差を示している。角度の違いなどで面積の大きさにある程度のばらつきが含まれるものの、このグラフから認識した物体とカメラとの大まかな距離を読み取れることが分かる。この結果に基づいて、物体毎に検出矩形のサイズにしきい値を設けることで一定距離以上の物体を検出しないようにする。本実施形態においては前腕の長さを鑑みて40cmを距離のしきい値とし、矩形サイズのしきい値を、bottle=0.075、cup=0.068、scissors=0.083、spoon=0.035に設定する。
【0055】
次に、撮影画像の中心座標と物体検出時の検出矩形の中心座標との距離を求める。画像全体のサイズは0~1で正規化されているとすると、画像の中心座標は(0.5,0.5)である。物体の画像上の中心座標を(X,Y)であるとすると、2点間の距離は以下のように求められる。
【0056】
【0057】
1枚の画像の中に複数の物体が存在する場合は、式(4)で求められた距離が最短となるものを選択候補とする。
【0058】
次に、カメラによる注視状態の時間計測を行う。カメラが1つの物体を注視している時間が長いほど、その物体を選択する意思が強いと考え、注視時間計測処理を選択アルゴリズムに含めた。Raspberry PiとSense Hatを用いてカメラの動きを計測する。加速度センサの値からRaspberry PiおよびWebカメラの移動を読み取ることが可能である。この時、重力加速度gが常に一定方向へ働いているため、x方向への加速度をAx、y方向への加速度をAy、z方向への加速度をAzとすると、静止状態では
【0059】
【0060】
が成り立つ。これを用いて
【0061】
【0062】
が成り立つ時をカメラが静止状態であるとみなす。本実施形態においては、仮にk=0.07と設定している。また、ジャイロセンサにおいて、pitch,roll,yawのすべての向きに対する角速度vθがvθ<mを満たすことも、カメラが静止している条件とする。ここでは、vθ<6°を満たした時カメラが静止しているものとする。なおジャイロセンサは、測定開始時を基準角度として取得するように設定されており、カメラの姿勢が-180°~180°の範囲でどれだけ回転しているかが計算されるようになっている。
【0063】
以上、3段階の処理に基づいた対象物の選択意図の推定実験を行った。この実験では、全ての対象物が画角内に収まるように100cm以上離れたところから撮影を開始し、距離を近付けながら最終的にbottleに対して把持動作を行う設定で撮影を行った。カメラが静止している場合のみ注視時間を計測するようにアルゴリズムを実装した。結果を
図15に示す。上から、注視時間、撮影画像の中心との距離を基に選択された対象物、加速度、角速度を表している。後方に配置された物体(カメラと40cm離れた位置)が、検出されていない様子も観測されている。物体が選択された状態で時間計測が開始され、加速度の変化が0.07以上、角速度の変化が6°以上の場合にリセットされていることがわかる。
図15から、使用者は最終的にbottleに対して把持動作を実施しようとしていることが推測される。
【0064】
本実施形態においては、義手に搭載したカメラの画像から、画像内のどの物体を把持しようとしているかを推定するアルゴリズムの構築を行い、実際に身の回りにある幾つかの物体を用いてシステムの動作が検証された。その結果、対象物の認識結果、検出矩形の位置や面積の情報、および加速度・加速度センサから得られる注視時間の情報を用いて把持対象の候補となる物体を選択するアルゴリズムを構築することができた。
【0065】
このように、本実施形態に係る制御システムにおいては、計測情報には少なくとも撮像センサから取得した撮像情報が含まれており、取得された検知情報に応じて、計測情報として取得された撮像情報に含まれる対象物の種別を特定し、特定された種別の情報及び撮像情報に基づいて対象物までの距離を算出する距離算出部を備えるため、対象物と当該対象物の距離との情報を得ることができ、近くにある対象物や遠くにある対象物を識別し、動作を絞り込むことが可能になる。
【0066】
また、距離算出部で算出された距離の情報に基づいて、複数の対象物のうち行動の対象となっている候補を候補対象物として特定する候補特定部を備えるため、例えば遠くにある対象物などは除外し、近くにある対象物のみを行動対象の候補として対象物を絞り込むようなことが可能になり、無駄な処理を省いて処理の効率化を図ることができる。
【0067】
さらに、撮像情報における画像の中心に最も近い位置に撮像されている対象物が所定時間以上に亘って静止状態で撮像された場合に、当該対象物を行動の目的とする目的対象物として特定する目的特定部を備えるため、対象物が複数あるような場合に使用者が本来目的としている目的対象物を正確に特定することができる。
【0068】
(本発明の第3の実施形態)
本実施形態に係る制御システムについて、
図16ないし
図19を用いて説明する。本実施形態に係る制御システムは、前記各実施形態に係る制御システムにおいて対象物のマッチングと追従に関する処理の具体例を示したものである。なお、本実施形態において前記各実施形態と重複する説明は省略する。
【0069】
本実施形態に係る制御システムにおいて、対象物の位置や姿勢などの空間的な情報を追従するためには、カメラと対象物との空間的関係を記述する方程式を構築し、一連の動作が終了するまでそれらの関係を追跡する必要がある。カメラと義手の調整を行う簡単な方法は、把握動作中にキャプチャされた画像のすべてのフレームからカメラと対象物との空間的関係を推定することである。ただし、アルゴリズムの複雑さにより、リアルタイムでの実行が非常に難しくなってしまう。特に、把握の一連の動作は非常に短時間で行われる。さらに、カメラの視野は、把持動作の終了時に非常に狭くなり、そこから空間関連情報を抽出するのが難しくなってしまう。この問題を解決するために、本実施形態においては、慣性測定ユニット(IMU)センサを導入して、空間関係を追跡する。IMUセンサは、1つのチップに加速度計とジャイロスコープを組み合わせたものである。
【0070】
カメラの動きは、把握の一連の動作で常にIMUセンサによって推定することができる。カメラと対象物との空間的関係は、カメラの動きを知ることで容易に追跡可能である。画像シーケンスのすべてのフレームでの空間的関係の推定と比較して、IMUセンサによって追跡される関係は非常に小さな計算リソースで演算可能であり、カメラの視野に制限されない。IMUセンサを視覚ベース(センサ11をカメラとした場合)の義手の制御システムに導入すると、上述したようなカメラと義肢の調整の問題が解決できる。
【0071】
以下、制御方法を説明する。対象物追従の制御スキームには、基本的に2つの段階が含まれる。(1)対象物を認識し、空間演算部がカメラに対する対象物の姿勢を推定する。(2)位置関係追跡部がカメラと対象物との空間的関係を追跡する(
図16を参照)。具体的に言えば、カメラは、ユーザが対象物を把握しようとするシーンを撮像し、空間演算部がカメラと対象物との空間的な関係を即座に構築する。空間関係には、対象物の立ち位置/横たわり位置、および対象物の方向に関する情報が含まれる。これは基本的に、カメラ座標系(CS)から対象物ローカルCS(ワールドCSe)へ、またはその逆にポイントを投影するために使用される4×4変換行列である(参考文献2:Fang W, Zheng L, Deng H, Zhang H. Real-Time Motion Tracking for Mobile Augmented/Virtual Reality Using Adaptive Visual-Inertial Fusion. Sensors (Basel). 2017;17(5):1037. Published 2017 May 5.)。その後、位置関係追跡部により、空間関係(マトリックス)がIMUセンサを用いて追跡される。義手がどこに動いても、2つのCSの空間的関係は常に制御システムによって追跡される。ただし、IMUセンサのノイズとドリフトのため、この追跡を長期間維持することは難しい。把握の一連の動作中に変換行列を推定し、当該変換行列を更新することが、この制御スキームで解決すべき主な問題となる。以下でそれぞれ説明する。
【0072】
変換行列は、カメラ座標系CSと対象物ローカルCSの空間的関係を表す。2つのCSで同じ対象物の対応するポイントを見つけることが変換行列を推定するための鍵となる。
図17を参照して、カメラフレーム内の対象物のポイントP
c=(x
c;y
c;z
c;1)
Tを指定すると、ワールドフレーム内の対応するポイントはP
w=(x
w;y
w;z
w;1)
Tであり、ワールドCSからカメラCSにポイントを投影するには次の式が使用されます。
【0073】
【0074】
複数の対応するポイントがある場合、変換行列は式(7)を使用して計算することができる。
【0075】
特徴マッチングは、2つのシーンで同じ対象物内の対応するポイントを見つけることができる。対象物の表面のテクスチャの特徴を検出し、事前にスキャンされた対象物の特徴(参照)と比較して、対象物の位置と方向を推定する。
図18はその仕組みを示す図である。事前にスキャンされた対象物の3D特徴点(P
1;P
2;P
3;P
4;:::)と同じ対象物の検出された3D特徴点の束(P
1
0;P
2
0;P
3
0;P
4
0;:::)が実行時に検出された。その対応付けは、特徴を一致させることで見つけることができる。結果は、(P
1;P
1
0),(P
2;P
2
0),(P
3;P
3
0),・・・,(P
n,P
n
0)となる。定義済みの特徴点がカメラCSの原点と重複する場所にCSの原点を配置し、それらの軸を揃えると、事前にスキャンされた特徴点がカメラCSで表される。同時に、検出された特徴点(変換された点)もカメラCSにある。i番目の事前スキャンされた特徴点がP
i=(P
ix;P
iy;P
iz;1)
Tとして定義され、実行時に検出される対応する特徴点がP
i
0=(P
ix
0;P
iy
0;P
iz
0;1)
Tで、以下の式がそれらの関係を示している。
【0076】
【0077】
したがって、変換行列は、一致した特徴点のリストを式(8)に代入することによって計算される。
【0078】
義手が移動してカメラフレームとワールドフレームの空間的な関係を追跡すると、変換行列が更新される。カメラの平行移動と回転を追跡できる場合、平行移動と回転ベクトルを使用して変換行列を更新できる。カメラの動きは、(α,β,γ,Tx;Ty;Tz)で表され、α、β、γはロール、ピッチ、ヨーをそれぞれ定義し、Tx;Ty;Tzは3つの異なる軸の変換を定義する。
【0079】
カメラの動きの追跡には、例えば、カメラに基づく自己位置・姿勢推定(visual odometry)、カメラと慣性センサに基づく自己位置・姿勢推定(visual-inertial odometry)、またはIMUセンサなど、いくつかの方法がある。最も簡単な方法は、通常は加速度計とジャイロスコープを備えたIMUセンサを使用するものである。加速度計は加速力を測定し、ジャイロスコープは方向または角速度を測定する。これらはそれぞれ、他のノイズとドリフトの誤差を相殺し、より完全で正確な運動追跡を提供する。カメラの動きは、以下の式(9)、(10)を使用して加速度と角速度を積分することにより計算される。IMUセンサによって導入されたノイズにより、トラッキング精度は比較的短期的にしか許容できない。
【0080】
【0081】
式(9)及び(10)は、カメラ姿勢の最終式(11)を与える。
【0082】
【0083】
上記に関し、以下の実験を行った。最近のほとんどのスマートフォンには、カメラとIMUセンサが搭載されている。したがって、スマートフォンを使用して簡単なデモンストレーションを行うのが便利である。また、上記方法の基本概念は、拡張現実(AR)アプリケーションに非常に似ている。AppleとGoogleの会社から、ARアプリケーションを開発する開発者向けにARKitとARCoreライブラリがリリースされており、上記方法を検証するために使用することができる。
【0084】
iPhone(登録商標)の場合、ARKitは変換行列を推定するための特徴マッチングを実行し、カメラの動きを追跡するためにvisual-inertial odometryを使用する。visual-inertial odometryでは、まずiPhone(登録商標)のカメラを使用して、興味深い特徴点を特定し、それらの点が時間とともにどのように移動するかを追跡する。これらのポイントの移動とiPhone(登録商標)の慣性センサからの読み取り値の組み合わせにより、iPhone(登録商標)が空間を移動する際の位置と方向の両方が決定される。
【0085】
上記で説明した方法を検証するために、2つの実対象物に基づいて、最初にボトルとカップの2つの3Dモデルが作成される。カメラCSと対象物ローカルCS間の変換行列を推定し、3Dモデルを実世界に投影して、実際の対象物として配置および方向付けを行う。カメラの動きは、変換行列を使用してIMUセンサによって追跡され、ARシーンを再構築するために、変換行列はすべてのフレームで更新される。
【0086】
デモンストレーション結果を
図19に示す。向きも認識されることを示すために、ボトルをカップの上部に置いた。写真の白い領域は、事前に作成された3Dモデルである。変換行列を推定した後、カップとボトルの3Dモデルは両方とも3Dワールドシーンに投影され、対応する実際の対象物に一致する。同時に、3Dワールドシーンが再び2D画像に投影され、
図19に表示される。この図から、カップとボトルの位置と向きの両方がうまく推定されていることがわかる。次に、ビュー角度を変更し、カメラを対象物から遠ざけるようにして、カメラの動きを追跡できるようにした。レンダリングされた3Dモデルが実世界で終了すると、2D画像内のカメラの動きに応じて対象物のスケールと遠近が変更され、カメラが適切に追跡されていることが証明される。ただし、テスト中に、向きと位置を常に正確に推定できないことがわかった。3DモデルがARシーンの実際の対象物と完全に一致しない場合がある。
【0087】
この実験は、物体の位置と方向を推定し、センサフュージョンを使用してリアルタイムで追跡できることを示している。変換行列は、カメラと対象物間のこの空間的な関係を表す。変換行列を推定および追跡することは、空間関係を構築するための鍵となる。この関係は、義手が包括的に把握シーンを理解するのに役立ち、義手を制御するためのより多くの証拠を提供する。そして、これには多くの利点がある。まず、対象物の形状とその6Dポーズがわかっている場合、コントロールは非常に細かく実行できる。第2に、従来の把握タイミングは、通常、EMG信号から人の意図を推定することによって決定されるが、本実施形態においては、把握成功率が空間関係を表す変換行列から推測できる。第3に、義手は半自動的に制御できる。空間的関係のマスタは、義手が自分自身を調整する可能性を与える。
【0088】
このように、本実施形態に係る制御システムにおいては、手と対象物との間の空間的関係の構築と追跡に基づいて義手の制御を行い、空間的関係を行列によって表し、義手を細かく制御するためのより多くの証拠を提供することができた。
【0089】
また、カメラと撮像情報に含まれる対象物との間の空間的な位置関係を演算する空間演算部と、演算された空間位置関係と、検知情報として取得される撮像センサの移動情報とに基づいて、対象物と撮像センサとの相対的な空間位置関係を追跡する位置関係追跡部とを備えるため、対象物及び/又は使用者が移動したり角度が変わった場合であっても、対象物と撮像センサとの位置・姿勢関係を常に追従することが可能となり、実行部の駆動制御情報をその時の状態に応じて正確に生成することができる。
【0090】
(本発明の第4の実施形態)
本実施形態に係る制御システムについて、
図20ないし
図22を用いて説明する。本実施形態に係る制御システムは、前記各実施形態に係る制御システムにおいて、対象物の認識後ARマーカを使って義手の動きを計算し、対象物をトラッキングし続けるものである。なお、本実施形態において前記各実施形態と重複する説明は省略する。
【0091】
本実施形態に係る制御システムは、マーカを使用して対象物の姿勢を追跡する。
図20に示すように、マーカはシーン内のすべての対象物の姿勢をマークするための調整システムの構築に使用される。すなわち、本実施形態における義手(スマートハンドと称する)がマーカを検出した場合、調整システムが構築され、それに応じて調整システム内の対象物の姿勢が更新される。調整システムは、1つのマーカを使用する代わりに、複数のマーカ(マーカーマップ)を使用して構築される。複数のマーカによって推定される調整システムにより、姿勢追跡システムがよりロバストになる。一方、オクルージョンや照明条件が悪いために単一のマーカでは検出されない場合があるが、マルチマーカを使用すると、ほとんどのカメラの視点で調整システムをセットアップすることができる。
【0092】
スマートハンドの空間認識を示すデモを
図20に示す。スマートハンドは、カップ、ボトル、ボールの3つのオブジェクトの回りを動き回る。スマートハンドは、視野内の対象物を検出し、姿勢を推定し、マーカを使用してリアルタイムで姿勢を追跡する。姿勢追跡は、スマートハンドの動きに対してロバストである。
【0093】
スマートハンドの制御は、他のほとんどのロボット工学における制御とは異なる。人的要因、すなわち、対象物に対する人の行動に伴って検知されたセンサの検知情報が大きな役割をしている。まず、スマートハンドは人体の延長であり、その動きは使用者の意思を反映する必要がある。第2に、使用者の体、特に腕は、スマートハンドと連携して、全体の把握動作を完了する必要があり、義手を対象物の方向に向ける。本実施形態における空間認識モジュールには、使用者が対象物を把握するのに役立つ3つの重要な機能がある。
【0094】
第1に、テーブルに複数の対象物(目的となりうる対象物で候補対象物という)が置かれているシーンにおいて、スマートハンドは、使用者が把握する対象物(目的となる対象物で目的対象物という)を予測する必要がある。スマートハンドに埋め込まれたカメラは、スマートハンドの目と見なされる。したがって、カメラがどの候補対象物を見ているかを分析することにより、目的対象物を決定できる。より具体的には、カメラのz軸(撮像方向の軸)が通過する対象物が目的対象物として決定される。
図21では、カメラのz軸は、2つのシーンのカップとボトルをそれぞれ通過する。目的対象物は図に示す通りである。つまり、上述した2D画像の中心に最も近いオブジェクトを見つける場合に比べて、スマートハンドの空間認識を使用した3Dに拡張する方が、目的対象物をより直感的で且つ正確に予測することが可能となる。
【0095】
第2に、一般的に腕がスマートハンドを対象物に向けると、カメラのビジョンビューは次第に狭くなる。対象物から所定の距離では、カメラは画像から情報を抽出できない。しかし、本実施形態においては抽出された姿勢情報を追跡するためにマーカーを使用する。つまり、マーカを検出できれば、姿勢情報は保持および更新される。マーカには小さな明確なパターンがあり、カメラから比較的近い距離でも簡単に検出できる。したがって、空間認識モジュールの検出範囲は広くなっている。
図22では、スマートハンドはカップを掴むために遠方から向けられており、姿勢情報は接近段階の終わりまで保持される。
【0096】
第3に、スマートハンドは使用者と協働して対象物を把握する。スマートハンドの処理速度は、腕の移動速度と一致する必要がある。一致しない場合、制御システムに遅延が生じる。ライブビデオ素材のすべてのフレームから対象物の姿勢を推定するには、多くの時間を要し、制御システムの速度が低下する。このため、本実施形態においては、IMUセンサとマーカを使用して姿勢情報を追跡している。追跡ベースのシステムでは、把握セッションの開始時に姿勢を推定し、このセッションの終了まで追跡する必要がある。処理速度は、開発されたマーカ追跡システムで毎秒60フレーム以上を達成する。
【0097】
以上のように、本実施形態においては、把握セッションの開始時に姿勢を1回だけ推定し、マーカを使用して最後まで追跡する空間認識モジュールを備える構成とした。開発された空間認識モジュールは、上述した3つの重要な機能を有することで使用者がスマートハンドを簡単に制御できるようにしている。
【0098】
なお、上記各実施形態において、使用者へのフィードバック機能を備えるようにしてもよい。具体的には、例えばARグラス、ヘッドマウントディスプレイ、プロジェクションマッピング装置、レーザポインタなどを介してコンピュータの演算結果や動作予定(情報の解釈結果、制御計画等も含む)を使用者に提示することで、効率的な作業やエラー回避が可能なシステムを提供することが可能である。
【符号の説明】
【0099】
1 制御システム
10 義肢装置
11 センサ
20 サーバ
110 取得部
120 送信部
130 実行部
140 駆動制御部
210 センサ情報取得部
220 対象物特定部
230 行動推定部
240 駆動制御情報生成部