(57)【要約】【課題】ロボットの部位が他の部位又は他の物体に衝突するか否かの判定精度を向上させる。【解決手段】ロボット制御装置１は、ロボット３を操作する操作者Ｕの動作に応じてロボット３を操作するための操作情報を生成する操作装置２から操作情報を受信する操作情報受信部１４１と、操作情報に基づき操作者の動きに対応する動作を行うオブジェクトＢを作成するオブジェクト作成部１４２と、操作情報に基づいてロボット３を制御するロボット制御部１４３と、を有し、ロボット制御部１４３は、操作情報受信部１４１が受信した操作情報に基づいてオブジェクト作成部１４２が作成したオブジェクトＢが所定の状態になると判定した場合に、操作情報に基づくロボット３の制御を停止させる。【選択図】図２
2022001388.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを操作する操作者の動作に応じて前記ロボットを操作するための操作情報を生成する操作装置から、前記操作情報を受信する操作情報受信部と、
前記操作情報に基づき前記操作者の動きに対応する動作を行うオブジェクトを作成するオブジェクト作成部と、
前記操作情報に基づいて前記ロボットを制御するロボット制御部と、
を有し、
前記ロボット制御部は、前記操作情報受信部が受信した前記操作情報に基づいて前記オブジェクト作成部が作成した前記オブジェクトが所定の状態になると判定した場合に、前記操作情報に基づく前記ロボットの制御を停止させる、
ロボット制御装置。
【請求項２】
前記オブジェクト作成部は、前記操作情報に基づいて前記オブジェクトの少なくとも一部の部位を動作させることにより前記オブジェクトの状態を変化させる、
請求項１に記載のロボット制御装置。
【請求項３】
前記ロボット制御部は、前記操作情報に基づいて前記オブジェクトが動作できない状態、又は前記オブジェクトが転倒する状態になると判定した場合に、前記操作情報に基づく前記ロボットの制御を停止させる、
請求項１又は２に記載のロボット制御装置。
【請求項４】
前記ロボット制御部は、前記操作情報に基づいて前記オブジェクトの状態を変化させた場合に前記オブジェクトの一以上の部位が前記オブジェクトの他の部位又は外部物体と接触する状態になると判定した場合に、前記操作情報に基づく前記ロボットの制御を停止させる、
請求項１から３のいずれか一項に記載のロボット制御装置。
【請求項５】
前記ロボット制御部は、前記一以上の部位と前記他の部位又は前記外部物体との距離に基づいて前記接触する状態になるか否かを判定する、
請求項４に記載のロボット制御装置。
【請求項６】
前記ロボット制御部は、前記操作情報に対応する前記一以上の部位の移動方向と、前記一以上の部位と前記他の部位又は前記外部物体との位置関係とに基づいて、前記接触する状態になるか否かを判定する、
請求項４又は５に記載のロボット制御装置。
【請求項７】
前記ロボット制御部は、前記操作情報に対応する前記一以上の部位の移動速度又は移動加速度の少なくともいずれかに基づいて特定した所定の時間後における前記一以上の部位と前記他の部位若しくは前記外部物体との位置関係に基づいて、前記接触する状態になるか否かを判定する、
請求項４から６のいずれか一項に記載のロボット制御装置。
【請求項８】
前記ロボット制御部は、前記一以上の部位が接触する前記他の部位若しくは前記外部物体の位置、又は前記一以上の部位が前記他の部位若しくは前記外部物体に接触する時点での前記一以上の部位の加速度に基づいて、前記接触する状態になるか否かを判定する、
請求項４から７のいずれか一項に記載のロボット制御装置。
【請求項９】
前記操作者が視認可能な表示部に前記オブジェクトを表示させる表示処理部をさらに有し、
前記表示処理部は、前記オブジェクトにおいて前記操作情報に基づいて移動する部位を他の部位と異なる色で示す、
請求項１から８のいずれか一項に記載のロボット制御装置。
【請求項１０】
前記操作者が視認可能な表示部に前記オブジェクトを表示させる表示処理部をさらに有し、
前記表示処理部は、前記オブジェクトにおいて前記操作情報に基づいて移動する前記オブジェクトの一以上の部位と他の部位とが所定の距離内になると予測した場合に、前記一以上の部位が前記他の部位から離れる向きを示す情報を前記表示部に表示させる、
請求項１から８のいずれか一項に記載のロボット制御装置。
【請求項１１】
前記ロボット制御部は、前記操作情報が示す操作内容の変化に基づいて、前記操作情報に基づく前記ロボットの制御を停止するか再開するかを切り替える、
請求項１から１０のいずれか一項に記載のロボット制御装置。
【請求項１２】
ロボットを操作する操作者の動作に応じて前記ロボットを操作するための操作情報を作成する操作装置から、前記操作情報を受信するステップと、
前記操作情報に基づき前記操作者の動きに対応する動作を行うオブジェクトを作成するステップと、
受信した前記操作情報に基づいて前記オブジェクトの一以上の部位が所定の状態になるか否かを判定するステップと、
前記オブジェクトの一以上の部位が所定の状態になると判定した場合に、前記操作情報に基づく前記ロボットの制御を停止させるステップと、
を有するロボット制御方法。
【請求項１３】
コンピュータに、
ロボットを操作する操作者の動作に応じて前記ロボットを操作するための操作情報を作成する操作装置から、前記操作情報を受信するステップと、
前記操作情報に基づき前記操作者の動きに対応する動作を行うオブジェクトを作成するステップと、
受信した前記操作情報に基づいて前記オブジェクトの一以上の部位が所定の状態になるか否かを判定するステップと、
前記オブジェクトの一以上の部位が所定の状態になると判定した場合に、前記操作情報に基づく前記ロボットの制御を停止させるステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットを制御するためのロボット制御装置、ロボット制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来、ロボットが物体に衝突することを回避するための技術が知られている。特許文献１には、ロボットの部位の動きベクトルの延長線上に物体があるか否かに基づいて、他の物体に衝突するか否かを判定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１９−２０２３５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ロボットの部位が直線的な動きをしている場合には、ロボットの部位の動きベクトルの延長線上に物体があるか否かに基づいて、他の物体に衝突するか否かを適切に判定できる。しかしながら、ロボットの部位が直線的な動きをしていない場合には、ロボットの部位の動きベクトルを用いるだけでは、他の物体に衝突するか否かの判定精度が不十分であるという問題があった。
【０００５】
そこで、本発明はこれらの点に鑑みてなされたものであり、ロボットの部位が他の部位又は他の物体に衝突するか否かの判定精度を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様のロボット制御装置は、ロボットを操作する操作者の動作に応じて前記ロボットを操作するための操作情報を生成する操作装置から、前記操作情報を受信する操作情報受信部と、前記操作情報に基づき前記操作者の動きに対応する動作を行うオブジェクトを作成するオブジェクト作成部と、前記操作情報に基づいて前記ロボットを制御するロボット制御部と、を有し、前記ロボット制御部は、前記操作情報受信部が受信した前記操作情報に基づいて前記オブジェクト作成部が作成した前記オブジェクトが所定の状態になると判定した場合に、前記操作情報に基づく前記ロボットの制御を停止させる。
【０００７】
前記オブジェクト作成部は、前記操作情報に基づいて前記オブジェクトの少なくとも一部の部位を動作させることにより前記オブジェクトの状態を変化させてもよい。
【０００８】
前記ロボット制御部は、前記操作情報に基づいて前記オブジェクトが動作できない状態、又は前記オブジェクトが転倒する状態になると判定した場合に、前記操作情報に基づく前記ロボットの制御を停止させてもよい。
【０００９】
前記ロボット制御部は、前記操作情報に基づいて前記オブジェクトの状態を変化させた場合に前記オブジェクトの一以上の部位が前記オブジェクトの他の部位又は外部物体と接触する状態になると判定した場合に、前記操作情報に基づく前記ロボットの制御を停止させてもよい。
【００１０】
前記ロボット制御部は、前記一以上の部位と前記他の部位又は前記外部物体との距離に基づいて前記接触する状態になるか否かを判定してもよい。
【００１１】
前記ロボット制御部は、前記操作情報に対応する前記一以上の部位の移動方向と、前記一以上の部位と前記他の部位又は前記外部物体との位置関係とに基づいて、前記接触する状態になるか否かを判定してもよい。
【００１２】
前記ロボット制御部は、前記操作情報に対応する前記一以上の部位の移動速度又は移動加速度の少なくともいずれかに基づいて特定した所定の時間後における前記一以上の部位と前記他の部位若しくは前記外部物体との位置関係に基づいて、前記接触する状態になるか否かを判定してもよい。
【００１３】
前記ロボット制御部は、前記一以上の部位が接触する前記他の部位若しくは前記外部物体の位置、又は前記一以上の部位が前記他の部位若しくは前記外部物体に接触する時点での前記一以上の部位の加速度に基づいて、前記接触する状態になるか否かを判定してもよい。
【００１４】
ロボット制御装置は、前記操作者が視認可能な表示部に前記オブジェクトを表示させる表示処理部をさらに有し、前記表示処理部は、前記オブジェクトにおいて前記操作情報に基づいて移動する部位を他の部位と異なる色で示してもよい。
【００１５】
ロボット制御装置は、前記操作者が視認可能な表示部に前記オブジェクトを表示させる表示処理部をさらに有し、前記表示処理部は、前記オブジェクトにおいて前記操作情報に基づいて移動する前記オブジェクトの一以上の部位と他の部位とが所定の距離内になると予測した場合に、前記一以上の部位が前記他の部位から離れる向きを示す情報を前記表示部に表示させてもよい。
【００１６】
前記ロボット制御部は、前記操作情報が示す操作内容の変化に基づいて、前記操作情報に基づく前記ロボットの制御を停止するか再開するかを切り替えてもよい。
【００１７】
本発明の第２の態様のロボット制御方法は、ロボットを操作する操作者の動作に応じて前記ロボットを操作するための操作情報を作成する操作装置から、前記操作情報を受信するステップと、前記操作情報に基づき前記操作者の動きに対応する動作を行うオブジェクトを作成するステップと、受信した前記操作情報に基づいて前記オブジェクトの一以上の部位が所定の状態になるか否かを判定するステップと、前記オブジェクトの一以上の部位が所定の状態になると判定した場合に、前記操作情報に基づく前記ロボットの制御を停止させるステップと、を有する。
【００１８】
本発明の第３の態様のプログラムは、コンピュータに、ロボットを操作する操作者の動作に応じて前記ロボットを操作するための操作情報を作成する操作装置から、前記操作情報を受信するステップと、前記操作情報に基づき前記操作者の動きに対応する動作を行うオブジェクトを作成するステップと、受信した前記操作情報に基づいて前記オブジェクトの一以上の部位が所定の状態になるか否かを判定するステップと、前記オブジェクトの一以上の部位が所定の状態になると判定した場合に、前記操作情報に基づく前記ロボットの制御を停止させるステップと、を実行させる。
【発明の効果】
【００１９】
本発明によれば、ロボットの部位が他の部位又は他の物体に衝突するか否かの判定精度を向上させることができるという効果を奏する。
【図面の簡単な説明】
【００２０】
【図１】ロボット制御システムの概要を示す図である。
【図２】ロボット制御装置の機能構成を示す図である。
【図３】ロボット制御システムの動作シーケンスを示す図である。
【図４】ロボット制御装置の動作のフローチャートを示す図である。
【発明を実施するための形態】
【００２１】
［ロボット制御システムＳの概要］
図１は、ロボット制御システムＳの概要を示す図である。ロボット制御システムＳは、遠隔地にある物が近くにあるかのようにユーザＵに感じさせながら、操作者Ｕが物に対する操作をリアルタイムに行うことができるテレイグジスタンス環境を提供するシステムである。
【００２２】
ロボット制御システムＳは、ロボット制御装置１と、操作装置２と、ロボット３とを有する。ロボット制御装置１は、操作者Ｕの操作に応じてロボット３を制御するための制御データを出力する装置であり、例えばコンピュータである。ロボット制御装置１は、操作装置２及びロボット３との間で、通信チャネルを介してデータを送受信する。
【００２３】
ロボット制御装置１は、例えばロボット３に設けられているが、ロボット制御装置１はロボット３と異なる場所に設けられていてもよく、操作装置２の近傍に設けられていてもよい。ロボット制御装置１がロボット３に設けられている場合、ロボット制御装置１は、例えばインターネットを介して操作装置２との間でデータを送受信する。ロボット制御装置１が操作装置２の近傍に設けられている場合、ロボット制御装置１は、例えばインターネットを介してロボット３との間でデータを送受信する。
【００２４】
操作装置２は、操作者Ｕが装着するデバイスであり、表示デバイス２１及び操作デバイス２２を含む。表示デバイス２１は、操作者Ｕが視認可能なディスプレイを有する表示装置であり、例えばゴーグル型表示装置である。
【００２５】
操作デバイス２２は、操作者Ｕがロボット３を操作するために用いるデバイスである。操作デバイス２２は、例えば、操作者Ｕの身体の部位（例えば手及び腕）の動きを検出するための加速度センサーを有しており、操作者Ｕの身体の部位の動きを示す操作情報を生成する。
【００２６】
操作情報は、例えば、操作者Ｕの指、手、腕、頭、若しくは足等の各部の基準位置に対する相対位置を示す位置情報、各部の速度を示す速度情報、又は各部の加速度を示す加速度情報等の動作情報の少なくともいずれかを含む。基準位置は、例えば、操作者Ｕがロボット３の操作を開始する時点に所定の姿勢（例えば、腕を伸ばして胴体の両側につけた姿勢）をした状態における各部の位置である。操作デバイス２２は、ロボット３の状態を操作者Ｕが感知することができるように、ロボット３の状態に対応する熱、圧力又は振動等を発生するための素子も有する。
【００２７】
ロボット３は、ロボット制御装置１から受信する制御データに基づいて動作する。また、ロボット３は、周辺を撮影可能なカメラを有しており、カメラにより生成した撮像画像データをロボット制御装置１に送信する。さらに、ロボット３は、ロボット３が検知した触覚を示す触覚データ、ロボット３が収集した音を示す音データ、又はロボット３の関節の状態を示す関節状態データの少なくともいずれかのロボット状態データをロボット制御装置１に送信する。
【００２８】
ロボット制御装置１は、ロボット３から受信した撮像画像データに基づく画像を表示デバイス２１に表示させる。また、ロボット制御装置１は、ロボット３から受信したロボット状態データに基づいて操作デバイス２２を加熱したり振動させたりする。これらの構成により、操作者Ｕは、ロボット３から離れた場所において、あたかもロボット３に入っているかのような感覚でロボット３の周辺の環境を体感することができる。
【００２９】
また、ロボット制御装置１は、操作デバイス２２から送信される操作情報に基づいて、ロボット３を動作させるための制御データを作成し、作成した制御データをロボット３に送信することによりロボット３の動作を制御する。ロボット制御装置１は、制御データをロボット３に送信する前に、操作情報が示す操作者Ｕの動きに対応する動作を行うオブジェクトＢを作成し、作成したオブジェクトＢの状態に基づいて、操作情報に基づいてロボット３を動作させるか否かを判定することを特徴としている。オブジェクトＢは、例えば、ロボット３と同等の形状を表した三次元コンピュータグラフィックス画像データにより構成されるが、オブジェクトＢの態様は、ロボットの形状と同一でなくてもよい。
【００３０】
ロボット制御装置１は、オブジェクトＢの動作に基づいて、操作情報に基づいてロボット３を動作させた場合に、ロボット３の一部の部位がロボット３の他の部位又は他の物体に衝突したり、ロボット３がバランスを崩して転倒したり、ロボット３が動作できなくなってしまったりするか否かを判定する。ロボット制御装置１は、ロボット３がこれらの状態になり得ると判定した場合に、操作情報に基づいてロボット３を動作させないロボット３を停止させることで、ロボット３が故障したり、ロボット３が他の物体を破壊したりすることを未然に防ぐことができる。
以下、ロボット制御装置１の構成及び動作を詳細に説明する。
【００３１】
［ロボット制御装置１の構成］
図２は、ロボット制御装置１の機能構成を示す図である。ロボット制御装置１は、第１通信部１１と、第２通信部１２と、記憶部１３と、制御部１４とを有する。制御部１４は、操作情報受信部１４１と、オブジェクト作成部１４２と、ロボット制御部１４３と、表示処理部１４４とを有する。
【００３２】
第１通信部１１は、操作装置２との間で各種のデータを送受信するための通信コントローラを有する。第１通信部１１は、操作装置２が送信した操作情報を受信し、受信した操作情報を操作情報受信部１４１に入力する。また、第１通信部１１は、表示処理部１４４から入力された表示用データを操作装置２に送信する。
【００３３】
第２通信部１２は、ロボット３との間で各種のデータを送受信するための通信コントローラを有する。第２通信部１２は、操作情報に基づいてロボット制御部１４３が生成した制御データをロボット３に送信する。また、第２通信部１２は、ロボット３が送信した撮像画像データを受信し、受信した撮像画像データを表示処理部１４４に入力する。
【００３４】
記憶部１３は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）及びハードディスク等の記憶媒体を含む。記憶部１３は、制御部１４が実行するプログラムを記憶している。また、記憶部１３は、制御部１４がロボット３を動作させるために必要な各種のデータを記憶している。
【００３５】
制御部１４は、例えばＣＰＵ（Central Processing Unit）を有する。制御部１４は、記憶部１３に記憶されたプログラムを実行することにより、操作情報受信部１４１、オブジェクト作成部１４２、ロボット制御部１４３及び表示処理部１４４として機能する。
【００３６】
操作情報受信部１４１は、第１通信部１１を介して、ロボット３を操作する操作者Ｕの動作に応じてロボット３を操作するための操作情報を生成する操作装置２から、操作情報を受信する。操作情報受信部１４１は、受信した操作情報をオブジェクト作成部１４２及びロボット制御部１４３に入力する。
【００３７】
オブジェクト作成部１４２は、操作情報に基づき操作者Ｕの動きに対応する動作を行うオブジェクトＢを作成する。オブジェクト作成部１４２は、操作情報に基づいてオブジェクトＢの少なくとも一部の部位を動作させることによりオブジェクトＢの状態を変化させる。
【００３８】
オブジェクト作成部１４２は、操作情報が示す操作者Ｕの指、手、腕、頭、又は足等の各部の位置、速度又は加速度に基づいて、オブジェクトＢに含まれている指、手、腕、頭、又は足等の各部の位置を変化させる。オブジェクト作成部１４２は、オブジェクトＢの各部を変化させた後の各部の位置を示す情報をロボット制御部１４３に通知する。具体的には、オブジェクト作成部１４２は、オブジェクトＢの各部の表面の複数の位置の変化後の座標を算出し、算出した座標をロボット制御部１４３に通知する。オブジェクト作成部１４２は、ロボット３の周辺に存在する物体の形状及び位置に対応するオブジェクトの位置を示す座標をロボット制御部１４３に通知してもよい。
【００３９】
オブジェクト作成部１４２が算出する座標は、仮想的な三次元空間の座標である。当該三次元空間において、初期状態のオブジェクトＢの各部の位置関係は、実空間におけるロボット３の初期状態（例えば直立した状態）でのロボット３の各部の位置関係と同等になっている。
【００４０】
以下、オブジェクト作成部１４２が作成するオブジェクトＢの詳細を説明する。オブジェクト作成部１４２は、操作者Ｕの指示があるまでは、ロボット３と同じ姿勢のオブジェクトＢを作成する。オブジェクト作成部１４２は、例えばロボット制御装置１の電源が投入された時点でロボット３の姿勢情報を受信して、受信した姿勢情報が示す姿勢のオブジェクトＢを作成する。オブジェクト作成部１４２は、操作情報受信部１４１が操作者Ｕの操作に基づく操作情報を受信すると、受信した操作情報に基づいて、操作者Ｕの動きと同じ動作をするオブジェクトＢを作成する。
【００４１】
なお、オブジェクト作成部１４２は、ロボット３の動き又は姿勢を示す情報を第２通信部１２から取得し、取得した情報に基づいて、ロボット３の動き又は姿勢が反映されたオブジェクトＢを作成してもよい。この場合、オブジェクトＢにロボット３の動き又は姿勢が反映されるまでに遅延が生じ得る。そこで、オブジェクト作成部１４２は、ロボット３の動き又は姿勢を示す情報を受信できていない間は、対応する部位を他の部位と異なる色で示したり、ロボット３の動きを薄い色でゴースト表示したりするように表示処理部１４４に指示してもよい。
【００４２】
ロボット制御部１４３は、操作情報受信部１４１から入力された操作情報に基づいてロボット３を制御する。具体的には、まず、ロボット制御部１４３は、操作情報が示す操作者Ｕの指、手、腕、頭、又は足等の各部の基準位置に対する相対位置に基づいて、ロボット３の各部の基準位置に対する相対位置にロボット３の各部が移動するようにするための制御データを作成する。ロボット制御部１４３は、第２通信部１２を介して、作成した制御データをロボット３に送信することにより、ロボット３を制御する。ロボット制御部１４３は、操作情報が示す操作者Ｕの各部の移動速度又は移動加速度に基づいてロボット３の各部を移動させるためのデータを含む制御データを作成してもよい。
【００４３】
ロボット制御部１４３は、ロボット３の各部を移動させることにより、ロボット３の各部がロボット３の他の部位や他の物体に衝突したり、ロボット３がバランスを崩して転倒したりしないように、オブジェクト作成部１４２から通知されるオブジェクトＢの各部の位置を示す情報に基づいて制御データを作成する。
【００４４】
例えば、ロボット制御部１４３は、操作情報受信部１４１が受信した操作情報に基づいてオブジェクト作成部１４２が作成したオブジェクトＢが所定の状態になると判定した場合に、操作情報に基づくロボット３の制御を停止させる。具体的には、ロボット制御部１４３は、操作情報に基づいてオブジェクトＢが動作できない状態になると判定した場合に、操作情報に基づいて制御データを作成せず、操作情報に基づくロボット３の制御を停止させる。
【００４５】
ロボット制御部１４３は、例えば、操作情報に基づいてオブジェクトＢの状態を変化させた場合にオブジェクトＢの一以上の部位がオブジェクトＢの他の部位と接触する状態になると判定した場合に、操作情報に基づくロボット３の制御を停止させる。ロボット制御部１４３は、例えば一以上の部位と他の部位との距離に基づいて接触する状態になるか否かを判定する。
【００４６】
図１に示す例の場合、操作者Ｕが左手を顔に近づけたことにより、オブジェクトＢの左手の先と顔との距離が閾値以下になる場合に、ロボット３の左手と顔とが接触する状態になると判定する。閾値は、オブジェクトＢの形状とロボット３の形状との差に基づいて定められ、オブジェクトＢの形状とロボット３の形状との差が小さければ小さいほど閾値を小さくすることで、ロボット制御部１４３による判定精度が向上する。  
【００４７】
ロボット制御部１４３は、操作情報に対応する一以上の部位の移動方向と、一以上の部位と他の部位との位置関係とに基づいて、一以上の部位と他の部位とが接触する状態になるか否かを判定してもよい。ロボット制御部１４３は、例えば、オブジェクトＢの第１部位（例えば左手の先）が第２部位（例えば顔）から遠くなる向きに移動している場合、第１部位と第２部位とが接触しないと判定する。
【００４８】
一方、ロボット制御部１４３は、オブジェクトＢの第１部位と第２部位との距離が所定の範囲内であり、かつ第１部位が第２部位に近づく向きに移動している場合、接触すると判定する。ロボット制御部１４３がこのように動作することで、操作者Ｕが操作する前に、一以上の部位が他の部位と接触するか否かを判定できるので、ロボット３の一以上の部位が他の部位と接触してしまう確率をさらに下げることができる。
【００４９】
ロボット制御部１４３は、操作情報に対応する一以上の部位の移動速度又は移動加速度の少なくともいずれかに基づいて特定した所定の時間後における一以上の部位と他の部位若しくは外部物体との位置関係に基づいて、一以上の部位と他の部位若しくは外部物体とが接触する状態になるか否かを判定してもよい。ロボット制御部１４３は、例えば、ある時点における第１部位の位置及び第２部位の位置と、それらの部位の移動速度又は移動加速度に基づいて、所定の時間後の将来の時点における第１部位の位置及び第２部位の位置を予測する。所定の時間は、ロボット３の動作を停止させるために要する時間に基づいて定められており、例えば１秒である。ロボット制御部１４３は、予測した第１部位の位置と第２部位の位置との距離が閾値以下である場合に、ロボット３の一以上の部位が他の部位に接触すると判定する。
【００５０】
同様に、ロボット制御部１４３は、ある時点におけるオブジェクトＢの一以上の部位の位置と、当該部位の移動速度又は移動加速度に基づいて、将来の時点における当該部位の位置を特定する。ロボット制御部１４３は、特定した位置と、外部物体のオブジェクトとの距離が閾値以下である場合に、ロボット３の一以上の部位が外部物体に接触すると判定する。
【００５１】
ロボット制御部１４３は、一以上の部位が接触する他の部位若しくは外部物体の位置、又は一以上の部位が他の部位若しくは外部物体に接触する時点での一以上の部位の加速度に基づいて、一以上の部位と他の部位とが接触する状態になるか否かを判定してもよい。ロボット制御部１４３は、ロボット３の一以上の部位が接触する他の部位の位置又は外部物体の位置が、ロボット３の一以上の部位、他の部位又は外部物体の故障につながらない位置（例えば柔らかい位置）である場合に、一以上の部位が他の部位又は外部物体に接触し得るとしても、接触する状態にならないと判定する。
【００５２】
また、ロボット制御部１４３は、接触する時点での一以上の部位の加速度が所定の値よりも小さく、一以上の部位、他の部位又は外部物体の故障につながらない加速度である場合に、一以上の部位が他の部位又は外部物体に接触し得るとしても、接触する状態にならないと判定する。ロボット制御部１４３がこのように動作することで、ロボット３が故障するおそれがないにもかかわらず頻繁に動作を停止してしまうことを抑制できる。
【００５３】
ロボット制御部１４３は、操作情報に基づいてオブジェクトＢの各部を移動させたことによりオブジェクトＢが転倒する状態になる（すなわち、ロボット３が転倒する状態になる）と判定した場合に、操作情報に基づくロボット３の制御を停止させてもよい。ロボット制御部１４３は、例えば、操作情報に基づいてオブジェクトＢの各部を移動させた場合の重心の位置を計算し、オブジェクトＢの足の位置よりも重心の位置が外側にある場合に、オブジェクトＢが転倒する状態になると判定する。
【００５４】
ロボット制御部１４３は、例えば、操作者Ｕが右足だけで立った状態で頭や手を右側に動かし過ぎたような場合に、オブジェクトＢが転倒する状態になると判定する。ロボット制御部１４３がこのように動作することで、ロボット３が転倒することでロボット３が故障したり、ロボット３の転倒によりロボット３が衝突する外部物体を破損したりすることを予防できる。
【００５５】
ロボット制御部１４３は、操作情報受信部１４１が操作情報を受信している間、オブジェクトＢを動かして問題ないかどうかを常に判定しており、ロボット３の各部の接触などの問題がない間は、操作情報に基づいてロボット３を制御する。ロボット制御部１４３は、操作情報に基づいてオブジェクトＢを動かすと、オブジェクトＢの部位同士が接触すると判定した場合、操作情報に基づくロボット３の動作を停止する。このように操作情報どおりにロボット３が制御されない部位がある場合に、ロボット制御部１４３は、オブジェクトＢにおける当該部位を他の部位と異なる色で示すようにオブジェクト作成部１４２に指示してもよい。
【００５６】
ロボット制御部１４３は、操作情報が示す操作内容の変化に基づいて、操作情報に基づくロボット３の制御を停止するか再開するかを切り替えてもよい。ロボット制御部１４３は、上記のとおり、操作情報に基づいてオブジェクトＢを動作させた場合に、オブジェクトＢの各部が他の部位又は外部物体と接触する場合にロボット３の制御を停止する。ロボット制御部１４３は、ロボット３の制御を停止した後に、オブジェクトＢの各部が他の部位又は外部物体に接触しない状態に変化した場合に、ロボット３の制御を再開する。ロボット制御部１４３は、ロボット３の制御を停止した後の、オブジェクトＢの各部の位置と、オブジェクトＢの各部の移動方向、移動速度又は移動加速度の少なくともいずれかに基づいて、オブジェクトＢの各部が他の部位又は外部物体に接触しないと判定できる場合に、ロボット３の制御を再開する。
【００５７】
表示処理部１４４は、操作者Ｕが視認できるように各種の情報を表示デバイス２１に表示させる。表示処理部１４４は、例えば、操作者Ｕが視認可能な表示デバイス２１にオブジェクトＢを表示させる。この際、表示処理部１４４は、オブジェクトＢにおいて操作情報に基づいて移動する部位を他の部位と異なる色で示してもよい。表示処理部１４４がこのように動作することで、操作者Ｕは、自身の動作によって、ロボット３がどのような動きになるかをイメージしながら操作をすることが可能になり、ロボット３の各部が他の部位や外部物体に接触しないように操作をしやすくなる。
【００５８】
表示処理部１４４は、オブジェクトＢにおいて操作情報に基づいて移動する一以上の部位と他の部位とが所定の距離内になると予測した場合に、一以上の部位が他の部位から離れる向きを示す情報を表示デバイス２１に表示させてもよい。表示処理部１４４は、例えば図１に示した例において、オブジェクトＢの左手が顔に接触すると予測した場合に、オブジェクトＢを表示デバイス２１に表示させるとともに左手を顔から離す向きに矢印を表示デバイス２１に表示させたり、「左手を顔から離してください」といったテキストを表示デバイス２１に表示させたりする。表示処理部１４４は、操作者Ｕが表示デバイス２１において視認するオブジェクトＢに基づいて自身の操作をしやすくするために、ロボット３を後ろ側から視認した状態に対応するオブジェクトＢを表示デバイス２１に表示させてもよい。
【００５９】
表示処理部１４４は、ロボット３が有するカメラで撮影された画像に基づいて、ロボット３を中心とする三次元マップを作成し、三次元マップにおいてロボット３の周囲の障害物の状態を表示デバイス２１に表示させてもよい。表示処理部１４４は、作成した三次元マップに基づいて、オブジェクトＢの周囲にも三次元マップを作成し、オブジェクトＢの周囲にロボット３の周囲と同じ環境の画像を表示させてもよい。表示処理部１４４がこのような画像を表示デバイス２１に表示させることで、操作者Ｕは、オブジェクトＢの動作によって、周囲の物と接触するかを判断することができる。
【００６０】
［ロボット制御システムＳの動作シーケンス］
図３は、ロボット制御システムＳの動作シーケンスを示す図である。操作者Ｕが身体の各部を動かすと、操作デバイス２２が操作情報を作成して（Ｓ１）、ロボット制御装置１に送信する。ロボット制御装置１は、受信した操作情報に基づいてオブジェクトＢを作成する（Ｓ２）。ロボット制御装置１は、作成したオブジェクトＢの各部が他の部位又は外部物体に接触するか否かに基づいて、操作情報に基づいてロボット３を動作させても問題ないか否かを判定する（Ｓ３）。ロボット制御装置１は、電源が入っている間、常にステップＳ３の判定を行う。ロボット制御装置１は、問題ないと判定した場合には、操作情報に基づく通常の制御データをロボット３に送信し、ロボット３は制御データに基づいて動作を実行する（Ｓ４）。
【００６１】
一方、ロボット制御装置１は、ステップＳ３において、オブジェクトＢにおける一以上の部位が他の部位又は外部物体に接触するので問題があると判定した場合には、ロボット３の動作を停止させるための制御データをロボット３に送信する。ロボット３は、当該制御データを受信すると、動作を停止する（Ｓ５）。
【００６２】
［ロボット制御装置１の動作フローチャート］
図４は、ロボット制御装置１の動作のフローチャートを示す図である。図４に示すフローチャートは、操作者Ｕがロボット３の操作を開始した時点から開始している。操作者Ｕが操作を開始すると、操作情報受信部１４１は、操作デバイス２２から操作情報を受信し（Ｓ１１）、オブジェクト作成部１４２は操作情報に基づいてオブジェクトＢを作成する（Ｓ１２）。ロボット制御部１４３は、オブジェクト作成部１４２が作成したオブジェクトＢの各部位の位置を特定し（Ｓ１３）、オブジェクトＢが所定の状態（例えば、部位同士が接触する状態）になるか否かを判定する（Ｓ１４）。
【００６３】
ロボット制御部１４３は、オブジェクトＢが所定の状態にならないと判定した場合（Ｓ１４においてＮＯ）、操作情報に基づく制御データをロボット３に送信することにより、操作情報に基づいてロボット３を動作させる（Ｓ１５）。一方、ロボット制御部１４３は、オブジェクトＢが所定の状態になると判定した場合（Ｓ１４においてＹＥＳ）、ロボット３を停止させるための制御データをロボット３に送信することにより、ロボット３の動作を停止させる（Ｓ１６）。
【００６４】
制御部１４は、操作者Ｕが操作を終了するまでの間（例えば一定時間ごとに操作情報を受信している間）（Ｓ１７においてＮＯ）、Ｓ１１からＳ１６までの処理を繰り返す。制御部１４は、操作情報を操作デバイス２２から受信しなくなると（Ｓ１７においてＹＥＳ）、処理を終了する。
【００６５】
［変形例］
以上の説明においては、ロボット制御部１４３が、例えばオブジェクトＢにおける一以上の部位と他の部位又は他の物体との距離が閾値以内になるとと判定した場合に、操作情報に基づくロボット３の制御を停止させる場合を例示した。オブジェクトＢは、ロボット３と同等の形状であるとしても、完全に同一の形状ではないため、ロボット制御部１４３が誤判定する可能性がある。
【００６６】
そこで、オブジェクト作成部１４２は、操作情報が入力されるとオブジェクトＢの各部の位置を出力する機械学習モデルを用いてオブジェクトＢを作成することにより、ロボット制御部１４３による誤判定の確率を低減させてもよい。当該機械学習モデルは、多数の操作情報に基づいて作成されたオブジェクトＢに基づいてロボット制御部１４３がロボット３を制御した結果を教師データとして機械学習して作成されたモデルである。
【００６７】
当該機械学習モデルは、以下の場合における操作情報とオブジェクトＢの各部の位置との関係を正の教師データとして使用して学習する。
（１）ロボット制御部１４３が、オブジェクトＢの状態に基づいてロボット３を停止させる必要があると判定したが、停止しないでロボット３を動作させたとした場合にロボット３の一以上の部位が他の部位又は他の物体に接触したと想定される場合。
（２）ロボット制御部１４３が、オブジェクトＢの状態に基づいてロボット３を停止させる必要がないと判定し、実際にロボット３の一以上の部位が他の部位又は他の物体に接触しなかった場合。
【００６８】
また、当該機械学習モデルは、以下の場合における操作情報とオブジェクトＢの各部の位置との関係を負の教師データとして使用して学習する。
（１）ロボット制御部１４３が、オブジェクトＢの状態に基づいてロボット３を停止させる必要があると判定したが、停止しないでロボット３を動作させたとした場合にロボット３の一以上の部位が他の部位又は他の物体に接触しなかったと想定される場合。
（２）ロボット制御部１４３が、オブジェクトＢの状態に基づいてロボット３を停止させる必要がないと判定したにもかかわらず、ロボット３の一以上の部位が他の部位又は他の物体に接触してしまった場合。
【００６９】
オブジェクト作成部１４２は、操作情報を取得した場合に、取得した操作情報を上記の機械学習モデルに入力し、機械学習モデルから出力されるオブジェクトＢの各部の位置に基づいてオブジェクトＢを作成する。機械学習モデルは、ロボット３の種別ごとに作成されており、オブジェクト作成部１４２は、ロボット制御部１４３が制御データを送信するロボット３の種別に対応する機械学習モデルを用いてオブジェクトＢを作成する。オブジェクト作成部１４２がこのようにしてオブジェクトＢを作成することにより、ロボット制御部１４３による誤判定の確率を下げることが可能になる。
【００７０】
［ロボット制御装置１による効果］
以上説明したように、オブジェクト作成部１４２は、操作デバイス２２から受信する操作情報に基づき操作者Ｕの動きに対応する動作を行うオブジェクトＢを作成し、ロボット制御部１４３は、オブジェクトＢが所定の状態になると判定した場合に、操作情報に基づくロボット３の制御を停止させる。オブジェクト作成部１４２及びロボット制御部１４３がこのように動作することで、操作情報に基づくロボット３の各部の動きを高い精度で予測することができるので、ロボット３の部位が物体に衝突するか否かの判定精度を向上させることができる。
【００７１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を併せ持つ。
【符号の説明】
【００７２】
１  ロボット制御装置
２  操作装置
３  ロボット
１１  第１通信部
１２  第２通信部
１３  記憶部
１４  制御部
２１  表示デバイス
２２  操作デバイス
１４１  操作情報受信部
１４２  オブジェクト作成部
１４３  ロボット制御部
１４４  表示処理部
【図１】
2022001388.tif 000003
【図２】
2022001388.tif 000004
【図３】
2022001388.tif 000005
【図４】
2022001388.tif 000006