(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023120996
(43)【公開日】2023-08-30
(54)【発明の名称】ロボット制御装置、ロボット制御方法およびプログラム
(51)【国際特許分類】
B25J 9/16 20060101AFI20230823BHJP
【FI】
B25J9/16
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022024177
(22)【出願日】2022-02-18
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504139662
【氏名又は名称】国立大学法人東海国立大学機構
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】伊勢崎 隆司
(72)【発明者】
【氏名】青木 良輔
(72)【発明者】
【氏名】森 健策
(72)【発明者】
【氏名】小田 昌宏
(72)【発明者】
【氏名】平田 仁
(72)【発明者】
【氏名】大山 慎太郎
(72)【発明者】
【氏名】下田 真吾
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS15
3C707CV07
3C707CW07
3C707HS27
3C707JT10
3C707KS11
3C707XK58
(57)【要約】
【課題】ロボット制御時の運動主体感を向上させる。
【解決手段】ロボットを制御するためのロボット制御装置であって、ユーザによって入力された第一制御入力情報を取得する第一制御入力取得部と、前記ユーザの目的動作を示す情報に基づいて、前記目的動作を実現するための第二制御入力情報を算出する第二制御入力算出部と、前記第一制御入力情報と前記第二制御入力情報との類似度に基づいて、前記ロボットを制御するための制御情報を算出する制御情報算出部と、を備えるロボット制御装置である。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ロボットを制御するためのロボット制御装置であって、
ユーザによって入力された第一制御入力情報を取得する第一制御入力取得部と、
前記ユーザの目的動作を示す情報に基づいて、前記目的動作を実現するための第二制御入力情報を算出する第二制御入力算出部と、
前記第一制御入力情報と前記第二制御入力情報との類似度に基づいて、前記ロボットを制御するための制御情報を算出する制御情報算出部と、を備える、
ロボット制御装置。
【請求項2】
前記第一制御入力情報と前記第二制御入力情報との類似度に基づいて、前記ユーザに前記目的動作を遂行する意図が有るか否かを判定する目的動作遂行意図判定部をさらに備え、
前記制御情報算出部は、前記ユーザに前記目的動作の遂行する意図が有ると判定されると、前記第一制御入力情報と前記第二制御入力情報とを前記類似度に基づく重み付けをして合わせた制御情報を算出する、
請求項1に記載のロボット制御装置。
【請求項3】
前記目的動作遂行意図判定部は、前記類似度が閾値より大きい場合に、前記ユーザに前記目的動作を遂行する意図が有ると判定する、
請求項2に記載のロボット制御装置。
【請求項4】
前記制御情報算出部は、前記ユーザに前記目的動作を遂行する意図が無いと判定されると、前記第一制御入力情報を前記制御情報とする、
請求項2または3に記載のロボット制御装置。
【請求項5】
前記目的動作遂行意図判定部および前記制御情報算出部は、あらかじめ規定された条件を満たすまで、処理を繰り返し実行する、
請求項2から4のいずれか1項に記載のロボット制御装置。
【請求項6】
ロボットを制御するためのロボット制御装置が実行するロボット制御方法であって、
ユーザによって入力された第一制御入力情報を取得するステップと、
前記ユーザの目的動作を示す情報に基づいて、前記目的動作を実現するための第二制御入力情報を算出するステップと、
前記第一制御入力情報と前記第二制御入力情報との類似度に基づいて、前記ロボットを制御するための制御情報を算出するステップと、を備える、
ロボット制御方法。
【請求項7】
コンピュータを、請求項1から5のいずれか1項に記載のロボット制御装置における各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット制御装置、ロボット制御方法およびプログラムに関する。
【背景技術】
【0002】
ユーザが様々なロボットを制御することが可能になってきている。例えば、非特許文献1には、ユーザの慣性情報や表面筋電図を示すデータを制御情報としてロボットに入力し、ユーザの目的動作をロボットに動作させる技術が開示されている。
【0003】
また、ユーザの目的動作をユーザの生体情報から類推することも可能になってきている。
例えば、非特許文献2には、ユーザの脳波情報からユーザが求める目的動作を推定する技術が開示されている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】S. Shin, D. Kim and Y. Seo, "Controlling Mobile Robot Using IMU and EMG Sensor-Based Gesture Recognition," 2014 Ninth International Conference on Broadband and Wireless Computing, Communication and Applications, Guangdong, China, 2014, pp. 554-557, doi: 10.1109/BWCCA.2014.145.
【非特許文献2】R. Xu, N. Jiang, C. Lin, N. Mrachacz-Kersting, K. Dremstrup and D. Farina, "Enhanced Low-Latency Detection of Motor Intention From EEG for Closed-Loop Brain-Computer Interface Applications," in IEEE Transactions on Biomedical Engineering, vol. 61, no. 2, pp. 288-296, Feb. 2014, doi: 10.1109/TBME.2013.2294203.
【発明の概要】
【発明が解決しようとする課題】
【0005】
人のロボット制御時の運動主体感とは、下記2つの観点が要件であると考えられる。
【0006】
要件1:人の行為(制御入力)が動作に反映される。
【0007】
要件2:人の目的動作がロボットを通じて遂行される。
【0008】
要件1については非特許文献1に記載された技術のように、ユーザの制御入力に対してロボットが従順に動作するマスタスレーブ型の関係になっている必要がある。しかしながら、ロボットの制御に不慣れなユーザの場合、目的動作に必要な制御入力と実際の制御入力に一定の乖離がある場合があり、このようなマスタスレーブ型の関係性においては目的動作の遂行が困難であり、要件2を満たさない。したがって、運動主体感が低いという問題がある。また、ユーザが制御入力する際に力覚アシストなどを通じて制御入力を補正する手法もあるが、ユーザの自発的な行為が受動的になりかねず、運動主体感は低くなってしまう可能性がある。
【0009】
一方で、非特許文献2に記載の技術でユーザの目的動作を推定し、ロボットが自動的に遂行をすることでユーザの目的動作の遂行は可能になるため要件2は満たされる。しかしながら、ユーザの制御入力を無視した動作体系となってしまうため、要件1を満たさず、やはり運動主体感が低いという問題がある。
【0010】
開示の技術は、ロボット制御時の運動主体感を向上させることを目的とする。
【課題を解決するための手段】
【0011】
開示の技術は、ロボットを制御するためのロボット制御装置であって、ユーザによって入力された第一制御入力情報を取得する第一制御入力取得部と、前記ユーザの目的動作を示す情報に基づいて、前記目的動作を実現するための第二制御入力情報を算出する第二制御入力算出部と、前記第一制御入力情報と前記第二制御入力情報との類似度に基づいて、前記ロボットを制御するための制御情報を算出する制御情報算出部と、を備えるロボット制御装置である。
【発明の効果】
【0012】
開示の技術によれば、ロボット制御時の運動主体感を向上させることができる。
【図面の簡単な説明】
【0013】
【
図1】ロボット制御装置の機能構成例を示す図である。
【
図2】ロボット制御処理の流れの一例を示す図である。
【
図3】コンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0015】
(ロボット制御装置の概要)
本実施の形態に係るロボット制御装置は、ユーザの表面筋電図等のデータに基づく第一制御入力情報を取得する。そして、ロボット制御装置は、ユーザが求める目的動作の予測結果を取得して当該予測結果を実現する第二制御入力情報を算出し、第一制御入力情報と第二制御入力情報の類似度を算出する。ロボット制御装置は、算出された類似度に応じて算出された制御情報に基づいて、ロボットを制御する。
【0016】
以下、2つのモータから成るロボットアームを、2軸の制御入力によって2次元平面上において動作させる制御について例示する。なお、制御の内容は一例であって、他でも良い。
【0017】
(ロボット制御装置の機能構成例)
図1は、ロボット制御装置の機能構成例を示す図である。ロボット制御装置10は、目的動作取得部11と、第一制御入力取得部12と、制御動作制御座標算出部13と、第二制御入力算出部14と、目的動作遂行意図判定部15と、制御情報算出部16と、ロボット制御部17と、を備える。
【0018】
目的動作取得部11は、外部の装置等が予測した目的動作を示す情報を取得する。外部の装置は、例えば非特許文献2に示される技術を適用して、脳波の解析などを通じてユーザが求める目的動作を予測する。なお、目的動作とは、ユーザがロボットを制御する目的として、ロボットに求める動作である。ユーザが制御操作に不慣れな場合には、必ずしも目的動作の通りに制御できるわけではない。
【0019】
予測される動作の内容は、例えばロボットアームが対象物に接近する到達動作である。なお、予測される動作の内容は一例であって、他の自由度を有するロボットによる他の動作でも良い。
【0020】
目的動作取得部11は、対象物の2次元位置とロボットアームの2次元位置から、対象物への到達動作において必要となる2つのモータの目標回転角R=(R1,R2)を、目的動作として取得する。
【0021】
第一制御入力取得部12は、表面筋電図を示すデータ等のような生体信号を計測する生体信号計測装置、またはジョイスティック型の2軸信号計測装置などの外部装置から制御入力情報(以下、第一制御入力情報という)を取得する。すなわち、第一制御入力情報は、ユーザによって入力された制御入力を示す情報である。具体的には、第一制御入力情報は、時刻tに取得した制御入力情報ct=(c1,t,c2,t)とする。
【0022】
制御動作制御座標算出部13は、目的動作取得部11によって取得された目標回転角R=(R1,R2)を入力として、制御動作の制御座標を算出する。
【0023】
具体的には、制御動作制御座標算出部13は、目的動作取得部11から目標回転角が入力された時点(初期状態)のロボットアームを原点とする制御空間において、目的動作を遂行するための入力すべき制御動作の制御座標を算出する。この制御空間においては、時系列的な制御入力に基づいて座標が定まる。例えば、制御動作制御座標算出部13は、時刻tにおける制御空間での座標(xt,yt)を、下式のように算出する。
【0024】
【0025】
また、ロボットの特性、環境等に応じて、制御動作の制御座標cθ=(xθ,yθ)と、各モータの回転角θ=(θ1,θ2)との関係は、下式のfに基づいて予め設定されている。
【0026】
(θ1,θ2)=f(cθ)
したがって、制御動作制御座標算出部13は、目標回転角Rを実現する制御動作の制御座標cR=(xR,yR)は、下式によって算出する。
【0027】
cR=(xR,yR)=f-1(R1,R2)
目標回転角Rを実現する制御動作の制御座標cRは、初期状態に基づいた制御空間での絶対的座標である。
【0028】
第二制御入力算出部14は、制御動作制御座標算出部13によって算出された目標回転角Rを実現する制御動作の制御座標cRを入力として、各時刻の制御座標からcRを実現する制御入力情報(以下、第二制御入力情報という)を算出する。
【0029】
例えば、時刻tの制御座標からcRを実現する第二制御入力情報を下式のように算出する。
【0030】
【0031】
目的動作遂行意図判定部15は、第一制御入力情報と第二制御入力情報との類似度を算出して、目的動作の遂行意図を判定する。例えば、ロボットの制御に不慣れなユーザの場合、第一制御入力情報と第二制御入力との間に、ある程度の乖離が生じる可能性がある。そこで、目的動作遂行意図判定部15は、外部装置で予測された目的動作を実際に遂行する意図があるかどうかを、第一制御入力情報と第二制御入力情報との類似度によって判定する。
【0032】
例えば、目的動作遂行意図判定部15は、下式のようにコサイン類似度を算出する。
【0033】
【数3】
なお、コサイン類似度は、0以上から1以下の値であって、値が大きいほど類似することを示す値である。
【0034】
そして、目的動作遂行意図判定部15は、算出されたコサイン類似度が閾値(例えば0.5)よりも大きい場合には、目的動作を遂行する意図が有ると判定し、それ以外の場合には、目的動作を遂行する意図が無いと判定する。ここで、閾値は、ユーザごとに予め定められても良いし、ロボットの使用時間、使用頻度等に応じて変動させても良い。
【0035】
制御情報算出部16は、目的動作遂行意図判定部15による判定結果、第一制御入力情報、第二制御入力情報に基づいて、ロボットを制御するための制御情報を算出する。
【0036】
具体的には、制御情報算出部16は、目的動作遂行意図判定部15が目的動作遂行意図有りと判定すると、制御情報Atを式(1)のように算出する。
【0037】
【数4】
なお、w
tの値は、その計算において、分母にtを設けることで、試行時間が長くなるほど制御座標c
Rに収束する。ここで、制御情報Atは、第一制御入力情報と第二制御入力情報とを類似度に基づく重み付けして合わせた制御情報である。w
tは、類似度に基づく重みを示す係数である。
【0038】
また、制御情報算出部16は、目的動作遂行意図判定部15が目的動作遂行意図無しと判定すると、制御情報Atを下式のように算出する。
【0039】
At=ct
【0040】
ロボット制御部17は、制御情報Atに基づいて、2つのモータを駆動制御する。
【0041】
ロボット制御装置10は、上述した各部の処理をt=1から式(2)に示されるような、あらかじめ規定された条件を満たすまで繰り返し実行する。なおdは、予め定められた定数である。
【0042】
【0043】
(ロボット制御装置の動作)
次に、ロボット制御装置10の動作について、図面を参照して説明する。
【0044】
図3は、ロボット制御処理の流れの一例を示す図である。ロボット制御装置10は、ユーザの操作等に応じてロボット制御処理を開始する。
【0045】
目的動作取得部11は、外部の装置等から受信することによって、予測された目的動作を示す情報を取得する(ステップS101)。次に、第一制御入力取得部12は、生体信号計測装置、2軸信号計測装置などの外部装置から受信することによって、第一制御入力情報を取得する(ステップS102)。
【0046】
続いて、制御動作制御座標算出部13は、目的動作取得部11によって取得された目的動作を示す情報に基づいて、制御動作の制御座標を算出する(ステップS103)。
【0047】
次に、第二制御入力算出部14は、制御動作の制御座標に基づいて、第二制御入力情報を算出する(ステップS104)。
【0048】
そして、目的動作遂行意図判定部15は、第一制御入力と第二制御入力の類似度を算出する(ステップS105)。目的動作遂行意図判定部15は、t=1,j=1として(ステップS106)、類似度が閾値Thより大きいか否かを判定する(ステップS107)。
【0049】
目的動作遂行意図判定部15は、類似度が閾値Thより大きいと判定すると(ステップS107:YES)、目的動作遂行意図有りと判定する。この場合、制御情報算出部16は、式(1)により制御情報を算出する(ステップS108)。ロボット制御装置10は、tをインクリメントして(ステップS109)、ステップS114に進む。
【0050】
また、目的動作遂行意図判定部15が、類似度が閾値Thより大きくないと判定すると(ステップS107:NO)、目的動作遂行意図無しと判定する。この場合、制御情報算出部16は、At=Ctにより制御情報を算出する(ステップS110)。ロボット制御装置10は、jをインクリメントして(ステップS111)、jがTより大きいか否かを判定する(ステップS112)。そして、ロボット制御装置10は、jがTより大きいと判定すると(ステップS112:YES)、目的動作を示す情報を消去して(ステップS113)、ステップS114に進む。また、ロボット制御装置10は、jがTより大きくないと判定すると(ステップS112:NO)、ステップS113の処理をスキップしてステップS114の処理に進む。
【0051】
なお、Tは、あらかじめ設定された閾値であって、目的動作遂行意図無しと連続して判定された場合に、目的動作を消去する場合に、その回数の上限値として設定される値である。閾値Tは、目的動作の予測精度が低いか、または目的動作の予測処理に異常が発生した等の理由が考えられる場合に設定すれば良い。なお、ロボット制御装置10は、閾値Tが設定されていない場合には、ステップS112およびステップS113の処理をスキップしても良い。
【0052】
次に、ロボット制御部17は、算出された制御情報に基づいて、ロボットを制御する(ステップS114)。そして、ロボット制御装置10は、式(2)を満たすか否かを判定する(ステップS115)。ロボット制御装置10は、式(2)を満たさないと判定すると(ステップS115:NO)、ステップS107の処理に戻る。
【0053】
また、ロボット制御装置10は、式(2)を満たすと判定すると(ステップS115:YES)、ロボット制御処理を終了する。
【0054】
(本実施の形態に係るハードウェア構成例)
ロボット制御装置10は、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。なお、この「コンピュータ」は、物理マシンであってもよいし、クラウド上の仮想マシンであってもよい。仮想マシンを使用する場合、ここで説明する「ハードウェア」は仮想的なハードウェアである。
【0055】
上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0056】
図3は、上記コンピュータのハードウェア構成例を示す図である。
図3のコンピュータは、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。
【0057】
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0058】
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、当該装置に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。なお、上記コンピュータは、CPU1004の代わりにGPU(Graphics Processing Unit)またはTPU(Tensor processing unit)を備えていても良く、CPU1004に加えて、GPUまたはTPUを備えていても良い。その場合、特殊な演算が必要な処理をGPUまたはTPUが実行し、その他の処理をCPU1004が実行する、というように処理を分担して実行しても良い。
【0059】
(本実施の形態の効果)
本実施の形態に係るロボット制御装置10によれば、ユーザの生体信号等の計測結果に基づいて取得された第一制御入力情報と、予測された目的動作に基づいて算出された第二制御入力情報の類似度に基づいて、目的動作を遂行する意図が有るか否かを判定し、判定結果に応じて算出された制御情報に基づいてロボットを制御する。これによって、第一制御入力情報がユーザの目的とする動作ができない場合であっても、類似する第二制御入力情報に基づいて目的動作を遂行するようにロボットを制御することができる。したがって、ロボット制御時の運動主体感を向上させることができる。
【0060】
(実施の形態のまとめ)
本明細書には、少なくとも下記の各項に記載したロボット制御装置、ロボット制御方法およびプログラムが記載されている。
(第1項)
ロボットを制御するためのロボット制御装置であって、
ユーザによって入力された第一制御入力情報を取得する第一制御入力取得部と、
前記ユーザの目的動作を示す情報に基づいて、前記目的動作を実現するための第二制御入力情報を算出する第二制御入力算出部と、
前記第一制御入力情報と前記第二制御入力情報との類似度に基づいて、前記ロボットを制御するための制御情報を算出する制御情報算出部と、を備える、
ロボット制御装置。
(第2項)
前記第一制御入力情報と前記第二制御入力情報との類似度に基づいて、前記ユーザに前記目的動作を遂行する意図が有るか否かを判定する目的動作遂行意図判定部をさらに備え、
前記制御情報算出部は、前記ユーザに前記目的動作の遂行する意図が有ると判定されると、前記第一制御入力情報と前記第二制御入力情報とを前記類似度に基づく重み付けをして合わせた制御情報を算出する、
第1項に記載のロボット制御装置。
(第3項)
前記目的動作遂行意図判定部は、前記類似度が閾値より大きい場合に、前記ユーザに前記目的動作を遂行する意図が有ると判定する、
第2項に記載のロボット制御装置。
(第4項)
前記制御情報算出部は、前記ユーザに前記目的動作を遂行する意図が無いと判定されると、前記第一制御入力情報を前記制御情報とする、
第2項または第3項に記載のロボット制御装置。
(第5項)
前記目的動作遂行意図判定部および前記制御情報算出部は、あらかじめ規定された条件を満たすまで、処理を繰り返し実行する、
第2項から第4項のいずれか1項に記載のロボット制御装置。
(第6項)
ロボットを制御するためのロボット制御装置が実行するロボット制御方法であって、
ユーザによって入力された第一制御入力情報を取得するステップと、
前記ユーザの目的動作を示す情報に基づいて、前記目的動作を実現するための第二制御入力情報を算出するステップと、
前記第一制御入力情報と前記第二制御入力情報との類似度に基づいて、前記ロボットを制御するための制御情報を算出するステップと、を備える、
ロボット制御方法。
(第7項)
コンピュータを、第1項から第5項のいずれか1項に記載のロボット制御装置における各部として機能させるためのプログラム。
【0061】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0062】
10 ロボット制御装置
11 目的動作取得部
12 第一制御入力取得部
13 制御動作制御座標算出部
14 第二制御入力算出部
15 目的動作遂行意図判定部
16 制御情報算出部
17 ロボット制御部
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置