JP7310820B2 - 制御装置、制御方法、およびプログラム - Google Patents

制御装置、制御方法、およびプログラム Download PDF

Info

Publication number
JP7310820B2
JP7310820B2 JP2020536453A JP2020536453A JP7310820B2 JP 7310820 B2 JP7310820 B2 JP 7310820B2 JP 2020536453 A JP2020536453 A JP 2020536453A JP 2020536453 A JP2020536453 A JP 2020536453A JP 7310820 B2 JP7310820 B2 JP 7310820B2
Authority
JP
Japan
Prior art keywords
state transition
robot
failure
failure state
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020536453A
Other languages
English (en)
Other versions
JPWO2020031718A1 (ja
Inventor
淳 入江
洋貴 鈴木
栄良 笠井
匡伸 中村
アンドリュー シン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Sony Group Corp
Original Assignee
Sony Corp
Sony Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp, Sony Group Corp filed Critical Sony Corp
Publication of JPWO2020031718A1 publication Critical patent/JPWO2020031718A1/ja
Application granted granted Critical
Publication of JP7310820B2 publication Critical patent/JP7310820B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Description

本技術は、制御装置、制御方法、およびプログラムに関し、特に、ロボットの動作の失敗を未然に防ぐことができるようにした制御装置、制御方法、およびプログラムに関する。
工場などの人がいる環境でロボットを扱う場合、安全性の観点などから、ロボットの誤動作を防ぐ必要がある。機械学習により得られたモデルや予め設定されたルールに基づいて動作する場合、動作の失敗をロボット自身が判断することは難しい。
例えば特許文献1には、動作が成功した場合に予想されるセンサ出力データの時系列パターンと、作業中のセンサ出力データの時系列パターンに基づいて、動作の正否を判定する技術が開示されている。時系列パターンの各折線部を1つの状態として扱うとともに各節点を状態変化のためのイベントとして扱い、それぞれの状態とイベントに許容範囲を設定して状態遷移を監視するようになされている。
特開平11-065649号公報 特開2007-303866号公報 特開2012-73769号公報
上述した技術においては、それぞれの状態とイベントにユーザが許容範囲を設定する必要がある。また、動作が成功した場合に予想されるセンサ出力データの時系列パターンを自動的に更新したり、動作が失敗すると判断した場合にリカバリーを行ったりすることができない。
動作が成功するか否かの判断の基準となるデータをロボットが自動的に更新したり、動作が失敗すると判断した場合にロボットが動作を自動的にやり直したりすることができれば便利である。
本技術はこのような状況に鑑みてなされたものであり、ロボットの動作の失敗を未然に防ぐことができるようにするものである。
本技術の一側面の制御装置は、タスクの失敗に至る状態遷移として予め設定された失敗状態遷移を表す情報を記憶する記憶部と、前記タスクの実行時のロボットの状態の遷移が前記失敗状態遷移を辿っている場合、前記タスクの失敗に至る前に、所定の処理を行うように前記ロボットの動作を制御する状態遷移判断部を備える。
本技術の一側面においては、タスクの失敗に至る状態遷移として予め設定された失敗状態遷移を表す情報が記憶され、前記タスクの実行時のロボットの状態の遷移が前記失敗状態遷移を辿っている場合、タスクの失敗に至る前に、所定の処理を行うようにロボットの動作が制御される。
本技術によれば、ロボットの動作の失敗を未然に防ぐことができる。
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術の一実施形態に係るロボットの外観の例を示す図である。 失敗状態遷移の例を示す図である。 失敗状態遷移の他の例を示す図である。 ロボットのハードウェア構成例を示すブロック図である。 制御部の機能構成例を示すブロック図である。 失敗状態遷移生成処理について説明するフローチャートである。 制御処理について説明するフローチャートである。 「物体を掴む」のタスクに関する失敗状態遷移の更新の第1の例を示す図である。 「物体を掴む」のタスクに関する失敗状態遷移の更新の第2の例を示す図である。 「物体を人に渡す」のタスクに関する失敗状態遷移の更新の第1の例を示す図である。 「物体を人に渡す」のタスクに関する失敗状態遷移の更新の第2の例を示す図である。 「物体を掴む」のタスクに関する失敗状態遷移の更新の他の例を示す図である。 制御部の他の機能構成例を示すブロック図である。 失敗状態遷移更新部の構成例を示すブロック図である。 失敗状態遷移更新処理について説明するフローチャートである。 「物体を掴む」のタスクに関する、リカバリーを含む失敗状態遷移の第1の例を示す図である。 「物体を掴む」のタスクに関する、リカバリーを含む失敗状態遷移の第2の例を示す図である。 「物体を人に渡す」のタスクに関する、リカバリーを含む失敗状態遷移の第1の例を示す図である。 「物体を人に渡す」のタスクに関する、リカバリーを含む失敗状態遷移の第2の例を示す図である。 制御部の他の機能構成例を示すブロック図である。 リカバリー制御部の構成例を示すブロック図である。 リカバリー実行処理について説明するフローチャートである。 制御システムの構成例を示す図である。 コンピュータの構成例を示すブロック図である。
以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
1.失敗状態遷移
2.ロボットの構成例
3.ロボットの動作
4.失敗状態遷移を更新する例
5.リカバリーの例
6.変形例
<失敗状態遷移>
図1は、本技術の一実施形態に係るロボットの外観の例を示す図である。
図1のAに示すロボット1は、アーム型のロボットである。ロボット1は、ベース部11、ベース部11から延びるアーム部12、およびアーム部12の先端に取り付けられたハンド部13から構成される。ロボット1は、工場などに設けられ、物を掴んで移動させるなどの所定のタスクを実行する。
ロボット1に代えて、図1のBに示すような、二足歩行が可能な人型のロボットであるロボット2が用いられるようにしてもよい。ロボット2もアーム部などを有しており、物を掴んで移動させることができる。
図1に示すロボット1、ロボット2は、内蔵するコンピュータによって所定のプログラムを実行し、各部位を駆動させることによって自律的な行動をとる。
以下、適宜、アーム型のロボットであるロボット1において行われる処理について説明する。ロボット1において行われる処理と同様の処理が、ロボット2や、四足歩行が可能なロボットなどの他の形状のロボットにおいて行われる。
ロボット1は、物を掴んで移動させるなどのタスクを実行する場合、各タイミングの自身の状態を監視する。ロボット1は、自身の状態の遷移が、タスクの失敗に至る状態の遷移である失敗状態遷移と同じ遷移を辿っている場合、失敗の状態に辿り着く前に、ユーザに警告するなどの所定のアクションを実行する。
ロボット1は、タスク毎の失敗状態遷移を表す情報である失敗状態遷移情報を有している。失敗状態遷移情報は、所定のタイミングで予め生成され、ロボット1に用意される。
ここで、状態には、動作とイベントが含まれる。動作は、ロボット1が能動的に行う事象を表す。「アームを動かす」、「認識する」などの事象が動作に含まれる。また、イベントは、ロボット1において検出される受動的な事象を表す。「見失う」などの事象がイベントに含まれる。ここでは、各状態を値によって表すのではなく、ロボット1の状態が各状態に該当するか否かが判断される。
なお、状態には、画像の認識結果、異音検知結果、匂い検知結果などの認識結果が含まれる。また、状態には、物体を把持することによって特定される、物体の形状、滑りやすさ、柔らかさなどの認識結果も含まれる。
図2は、失敗状態遷移の例を示す図である。
図2に示す失敗状態遷移は、「物体を掴む」のタスクの失敗に至る状態遷移を表す。「物体を掴む」のタスクは、例えば、ロボット1の近傍に置かれた物体を認識し、把持して持ち上げるタスクである。
「物体を掴む」のタスクの実行時、ロボット1の状態は、はじめに、アーム部12が上がった状態である状態#1となり、次に、把持対象となる物体が認識された状態である状態#2となる。把持対象となる物体は、例えば、カメラにより撮影された画像やセンサにより検出されたセンサデータに基づいて認識される。
把持対象となる物体を認識した状態である状態#2になった後、アーム部12を動かすか否かが判定される。
アーム部12を動かすと判定された場合、ロボット1の状態は、アーム部12を動かす状態である状態#3となる。ロボット1は、状態#3になった場合、各部を駆動してアーム部12を動かす。アーム部12を動かさない場合は、タスクの失敗に至ることがないものとして扱われる。
アーム部12を動かす状態である状態#3になった後、把持対象となる物体を見失ったか否かが判定される。
把持対象となる物体を見失ったと判定された場合、ロボット1の状態は、把持対象となる物体を見失った状態である状態#4となる。
状態#4になった場合、矢印A1の先に示すように、警告のアクションが実行される。ロボット1は、スピーカなどを駆動させ、把持対象となる物体を見失った状態になったことを音声によってユーザに警告する。把持対象となる物体を見失っていない場合は、タスクの失敗に至ることがないものとして扱われる。
把持対象となる物体を見失った状態である状態#4となり、警告のアクションが実行された後、アーム部12をさらに動かすか否かが判定される。
アーム部12をさらに動かすと判定された場合、ロボット1の状態は、アーム部12を動かす状態である状態#5となる。
状態#5になった場合、タスクが失敗に至る前の状態である失敗前状態であると判断され、矢印A2の先に示すように、緊急停止のアクションが実行される。ロボット1は、各部の駆動を停止して、アーム部12を動かさない。アーム部12を動かさないことにより、タスクの失敗に至ることはない。
このように、状態#1乃至#5からなる状態遷移が、「物体を掴む」のタスクを実行する場合の失敗状態遷移として設定される。ロボット1の状態の遷移が失敗状態遷移と同じ遷移を辿っている場合、警告や緊急停止のアクションが実行される。
把持対象となる物体を見失って警告を行った後においても失敗状態遷移を辿り、アーム部12を動かそうとする場合、失敗前状態となって動作を緊急停止させることにより、ロボット1は、タスクの失敗を防ぎ、周りにある物にアーム部12などがぶつかってしまうことを防ぐことが可能となる。
図3は、失敗状態遷移の他の例を示す図である。
図3に示す失敗状態遷移は、「物体を人に渡す」のタスクの失敗に至る状態遷移を表す。「物体を人に渡す」のタスクは、例えば、ロボット1の近傍に置かれた物体を把持したまま、近くにいる人の前方に差し出し、把持を解除することによって人に渡すタスクである。
「物体を人に渡す」のタスクの実行時、ロボット1の状態は、はじめに、物体をハンド部13により持った状態である状態#11となり、次に、ハンド部13を人の前に差し出す状態である状態#12となる。物体を持つ動作は、対象の物体をカメラなどのセンサの出力に基づいて認識し、アーム部12とハンド部13を駆動させることによって実現される。
物体を把持したハンド部13を人の前に差し出す状態である状態#12になった後、人の手が物体に触れていないか否かが判定される。人の手が物体に触れたことは、例えば、カメラにより撮影された画像やセンサにより検出されたセンサデータに基づいて認識される。
人の手が物体に触れていないと判定された場合、ロボット1の状態は、人の手が物体に触れていない状態である状態#13となる。
状態#13になった場合、矢印A11の先に示すように、警告のアクションが実行される。ロボット1は、スピーカなどを駆動させ、手が物体に触れていないことを音声によってユーザに警告する。人の手が物体に触れている場合は、タスクの失敗に至ることがないものとして扱われる。
人の手が物体に触れていない状態である状態#13となり、警告のアクションが実行された後、ハンド部13により差し出している物体を人が見ていないか否かが判定される。物体を見ているか否かは、例えば、カメラにより撮影された画像を解析することによって特定される、人の視線の方向に基づいて判定される。
人が物体を見ていないと判定された場合、ロボット1の状態は、人が物体を見ていない状態である状態#14となる。
状態#14になった場合、矢印A12の先に示すように、警告のアクションが実行される。ロボット1は、スピーカなどを駆動させ、物体を見ることに集中することを音声によってユーザに警告する。人が物体を見ている場合は、タスクの失敗に至ることがないものとして扱われる。
人が物体を見ていない状態である状態#14となり、警告のアクションが実行された後、物体を握るハンド部13の力を緩めるか否かが判定される。
物体を握るハンド部13の力を緩めると判定された場合、ロボット1の状態は、物体を握るハンド部13の力を緩める状態である状態#15となる。物体を握るハンド部13の力を緩めない場合は、タスクの失敗に至ることがないものとして扱われる。
状態#15になった場合、失敗前状態であると判断され、矢印A13の先に示すように、握り直しのアクションが実行される。ロボット1は、ハンド部13の力を加えて物体を再度握るように各部を駆動する。
このように、状態#11乃至#15からなる状態遷移が、「物体を人に渡す」のタスクを実行する場合の失敗状態遷移として設定される。ロボット1の状態の遷移が失敗状態遷移と同じ遷移を辿っている場合、警告や緊急停止のアクションが実行される。
物体を見るように警告を行った後においても失敗状態遷移を辿り、ハンド部13の力を緩めようとする場合、失敗前状態となって物体を握り直すための動作を行うことにより、ロボット1は、タスクの失敗を防ぎ、持ち上げている物体を落としてしまうことを防ぐことが可能となる。
このように、失敗状態遷移がタスク毎に設定され、そのような遷移を表す情報がロボット1に用意される。
ロボット1は、自身の状態の遷移が失敗状態遷移と同じ遷移を辿っている場合にタスクが失敗するものと判断し、実際に失敗に至る前に、タスクに応じた最適な動作を行うことにより、失敗を防ぐことが可能となる。
以上のようにして失敗を防ぐロボット1の処理についてはフローチャートを参照して後述する。
<ロボットの構成例>
図4は、ロボット1のハードウェア構成例を示すブロック図である。
図4に示すように、ロボット1は、制御部31に対して、入出力部32、駆動部33、無線通信部34、および電源部35が接続されることによって構成される。
制御部31は、CPU(Central Processing Unit),ROM(Read Only Memory),RAM(Random Access Memory)、フラッシュメモリなどを有するコンピュータにより構成される。制御部31は、CPUにより所定のプログラムを実行し、ロボット1の全体の動作を制御する。制御部31を構成するコンピュータは、ロボット1の動作を制御する制御装置として機能する。
例えば、制御部31は、入出力部32から供給された情報、および、駆動部33の各駆動ユニットから供給された情報に基づいて、自身の状態を監視する。
また、制御部31は、所定のタスクを実行する場合、そのタスクの失敗状態遷移情報に基づいて、自身の状態の遷移が、失敗状態遷移と同じ遷移を辿っているか否かを判断する。自身の状態の遷移が失敗状態遷移と同じ遷移を辿っているとして判断した場合、制御部31は、実際に失敗に至る前に、所定のアクションを実行する。
入出力部32は、カメラ41、マイク(マイクロフォン)42、スピーカ43、タッチセンサ44、およびLED(Light Emitting Diode)45により構成される。
カメラ41は、周囲の環境を順次撮影する。カメラ41は、撮影によって得られた静止画像または動画像である撮影画像のデータを制御部31に出力する。
マイク42は、環境音を検出する。マイク42は、環境音のデータを制御部31に出力する。
スピーカ43は、発話音声、BGMなどの所定の音を出力する。
タッチセンサ44は、ベース部11などの所定の部位に設けられる。タッチセンサ44は、ユーザが触れたことを検出し、ユーザによる操作の内容を表す情報を制御部31に出力する。
LED45は、制御部31による制御に従って発光し、ユーザに情報を提示する。LED45に代えて、LCD、有機ELディスプレイなどの小型のディスプレイが設けられるようにしてもよい。
入出力部32には、周囲にある物体までの距離を測定する測距センサ、GPS(Global Positioning System)などの測位センサなどの各種のモジュールが設けられる。
駆動部33は、制御部31による制御に従って駆動し、ロボット1の行動を実現する。駆動部33は、ロール、ピッチ、ヨーなどの関節軸毎に設けられた複数の駆動ユニットにより構成される。
各駆動ユニットは、例えばロボット1のそれぞれの関節に設けられる。各駆動ユニットは、軸回りの回転動作を行うモータ、モータの回転位置を検出するエンコーダ、および、エンコーダの出力に基づいてモータの回転位置や回転速度を適応的に制御するドライバの組み合わせによって構成される。駆動ユニットの数、駆動ユニットの位置などによって、ロボット1のハードウェア構成が定まる。
図4の例においては、駆動ユニットとして、駆動ユニット51-1乃至51-nが設けられる。例えば駆動ユニット51-1は、モータ61-1、エンコーダ62-1、ドライバ63-1により構成される。駆動ユニット51-2乃至51-nも、駆動ユニット51-1と同様の構成を有する。
無線通信部34は、無線LANモジュール、LTE(Long Term Evolution)に対応した携帯通信モジュールなどの無線通信モジュールである。無線通信部34は、インターネット上のサーバなどの外部の装置との間で通信を行う。無線通信部34は、制御部31から供給されたデータを外部の装置に送信し、外部の装置から送信されてきたデータを受信する。
電源部35は、ロボット1内の各部に対して給電を行う。電源部35は、充電バッテリ71と、充電バッテリ71の充放電状態を管理する充放電制御部72により構成される。
図5は、制御部31の機能構成例を示すブロック図である。
図5に示すように、制御部31は、動作出力部101、動作取得部102、失敗状態遷移判断部103、失敗状態遷移記憶部104、失敗状態遷移生成部105、および駆動制御部106から構成される。図5に示す機能部のうちの少なくとも一部は、制御部31を構成するCPUにより所定のプログラムが実行されることにより実現される。
動作出力部101は、駆動部33の各駆動ユニットから供給された情報を受信し、動作取得部102に出力する。
動作取得部102は、動作出力部101から供給された情報に基づいて、ロボット1の動作の内容を検出する。動作取得部102は、動作の内容を表す情報を失敗状態遷移判断部103に出力する。
失敗状態遷移判断部103は、所定のタスクを実行する場合、実行するタスクの失敗状態遷移を表す情報を失敗状態遷移記憶部104から読み出して取得する。
失敗状態遷移判断部103は、動作取得部102から供給された情報により表される動作に基づいてロボット1の状態を特定し、自身の状態の遷移が、失敗状態遷移と同じ遷移を辿っているか否かを判断する。
失敗状態遷移判断部103は、状態遷移の判断結果に基づいて駆動制御部106を制御する。例えば、失敗状態遷移判断部103は、自身の状態遷移が失敗状態遷移と同じ遷移を辿っていないと判断した場合、タスクの成功までの各動作を行わせる。また、失敗状態遷移判断部103は、自身の状態遷移が失敗状態遷移と同じ遷移を辿っていると判断した場合、予め設定されたアクションを実行させる。
失敗状態遷移記憶部104は、各タスクの失敗状態遷移情報を記憶する。
失敗状態遷移生成部105は、各タスクの失敗状態遷移を設定し、失敗状態遷移情報を生成する。失敗状態遷移生成部105は、失敗状態遷移情報を失敗状態遷移記憶部104に出力し、記憶させる。
駆動制御部106は、失敗状態遷移判断部103から供給された情報に基づいて、駆動部33の各駆動ユニットを制御し、所定の動作を行わせる。
<ロボットの動作>
ここで、以上のような構成を有するロボット1の動作について説明する。
はじめに、図6のフローチャートを参照して、ロボット1の失敗状態遷移生成処理について説明する。
ステップS1において、失敗状態遷移生成部105は、所定のタスクの失敗状態遷移を設定する。失敗状態遷移の設定が、例えばロボット1の管理者の操作に応じて行われるようにしてもよい。
ステップS2において、失敗状態遷移生成部105は、失敗状態遷移情報を失敗状態遷移記憶部104に出力し、記憶させる。
以上の処理が、各タスクを対象として行われる。失敗状態遷移記憶部104には、タスク毎の失敗状態遷移情報が記憶される。
次に、図7のフローチャートを参照して、ロボット1の制御処理について説明する。
ステップS11において、失敗状態遷移判断部103は、動作取得部102から供給された情報により表される動作に基づいてロボット1の状態を特定する。動作取得部102からは、ロボット1がどのように動いているか(アーム部12を上に動かす、前に進むなど)、ロボット1がどのような情報を得たか(画像/音声認識結果、その他センサ情報など)などを表す情報が、動作の内容を表す情報として供給される。
ステップS12において、失敗状態遷移判断部103は、ロボット1の状態を失敗状態遷移に当てはめる。
ステップS13において、失敗状態遷移判断部103は、ロボット1の状態の遷移が、失敗状態遷移と同じ遷移を辿っており、アクションを実行すべき遷移が生じたか否かを判定する。
アクションを実行すべき遷移が生じていないとステップS13において判定した場合、失敗状態遷移判断部103は、ステップS11に戻り、上述した処理を繰り返す。
アクションを実行すべき遷移が生じたとステップS13において判定した場合、ステップS14において、失敗状態遷移判断部103は、所定のアクションを実行するように駆動制御部106を制御する。上述したように、ロボット1の状態に応じて、ユーザに対する警告、動作の緊急停止、握り直しなどのアクションが実行される。
アクションが実行された後、処理は終了となる。以上の処理が、タスクの実行中、繰り返し行われる。
以上のように、ロボット1は、タスクが失敗する前に最適な動作を行うことにより、タスクの失敗を防ぐことができる。
<失敗状態遷移を更新する例>
失敗状態遷移がロボット1により自動的に更新されるようにしてもよい。失敗状態遷移の更新は、例えば、失敗前状態に至った回数が多い場合に行われる。
・更新の例1
図8は、「物体を掴む」のタスクに関する失敗状態遷移の更新の第1の例を示す図である。
図8の状態#21乃至#23は、図2の状態#1乃至#3と同様である。アーム部12を動かす状態である状態#23になった後、把持対象となる物体を見失ったか否かが判定される。
把持対象となる物体を見失ったと判定された場合、ロボット1の状態は、把持対象となる物体を見失った状態である状態#24となる。
状態#24になった場合、矢印A21の先に示すように、緊急停止のアクションが実行される。ロボット1は、各部の駆動を停止して、アーム部12を動かさない。
すなわち、図8の失敗状態遷移においては、破線で囲んで示すように、把持対象となる物体を見失った状態である状態#24になった場合に失敗前状態に至ったものと判断され、ユーザに対する警告なしに、緊急停止のアクションが実行される。言い換えると、失敗前状態に至りやすくなるように、失敗状態遷移が更新されることになる。
失敗前状態に至ったものと早い段階で判断するように失敗状態遷移が更新されることにより、より確実に、タスクの失敗を防ぐことが可能となる。
・更新の例2
図9は、「物体を掴む」のタスクに関する失敗状態遷移の更新の第2の例を示す図である。
図9の状態#31乃至#33は、図2の状態#1乃至#3と同様である。アーム部12を動かす状態である状態#33になった後、把持対象となる物体の半分以上が画角から外れたか否かが判定される。
把持対象となる物体の半分以上が画角から外れたと判定された場合、ロボット1の状態は、把持対象となる物体の半分以上が画角から外れた状態である状態#34となる。
状態#34になった場合、矢印A31の先に示すように、警告のアクションが実行される。ロボット1は、スピーカなどを駆動させ、把持対象となる物体の半分以上が画角から外れたことを音声によってユーザに警告する。
すなわち、図9の失敗状態遷移においては、破線で囲んで示すように、図2の遷移における基準より厳しい基準に基づいて警告のアクションが実行されることになる。
図2の失敗状態遷移においては、把持対象となる物体の例えば全体が画角から外れ、物体を見失ったと判定された場合に警告のアクションが実行される。把持対象となる物体の半分が画角から外れる状態は、物体の全体が画角から外れる状態と比べて生じやすい状態であるから、図9の失敗状態遷移の方が、警告のアクションを実行する基準が厳しい基準であるといえる。言い換えると、失敗状態遷移を辿りやすくなるように、失敗状態遷移が更新されることになる。
図9の失敗状態遷移において、警告のアクションが実行された後の遷移は、図2を参照して説明した遷移と同様である。
アクションを実行する基準がより厳しい基準となるように失敗状態遷移が更新されることにより、より確実に、タスクの失敗を防ぐことが可能となる。
・更新の例3
図10は、「物体を人に渡す」のタスクに関する失敗状態遷移の更新の第1の例を示す図である。
図10の状態#41乃至#43は、図3の状態#11乃至#13と同様である。人の手が物体に触れていない状態である状態#43になった場合、矢印A41の先に示すように、警告のアクションが実行される。
人の手が物体に触れていない状態である状態#43となり、警告のアクションが実行された後、人の顔が物体の方向を向いていないか否かが判定される。
人の顔が物体の方向を向いていないと判定された場合、ロボット1の状態は、人の顔が物体の方向を向いていない状態である状態#44となる。状態#44になった場合、矢印A42の先に示すように、警告のアクションが実行される。
すなわち、図10の失敗状態遷移においては、破線で囲んで示すように、図3の遷移における基準より厳しい基準に基づいて警告のアクションが実行されることになる。
図3の失敗状態遷移においては、人が物体を見ていないと判定された場合に警告のアクションが実行される。言い換えると、顔の向きに関わらず、視線を物体に向けてさえいれば警告のアクションが実行されないことになる。
視線だけでなく顔の向きについても意識させるという点で人の注意をより要求する基準が用いられているから、図10の失敗状態遷移の方が、警告のアクションを実行する基準としてより厳しい基準を用いた遷移であるといえる。
図10の失敗状態遷移において、警告のアクションが実行された後の遷移は、図3を参照して説明した遷移と同様である。
・更新の例4
図11は、「物体を人に渡す」のタスクに関する失敗状態遷移の更新の第2の例を示す図である。
図11の状態#51,#52は、図3の状態#11,#12と同様である。物体を把持したハンド部13を人の前に差し出す状態である状態#12になった後、人の手が物体を握っていないか否かが判定される。
人の手が物体を握っていないと判定された場合、ロボット1の状態は、人の手が物体を握っていない状態である状態#53となる。状態#53になった場合、矢印A51の先に示すように、警告のアクションが実行される。
すなわち、図11の失敗状態遷移においては、破線で囲んで示すように、図3の遷移における基準より厳しい基準に基づいて警告のアクションが実行されることになる。
図3の失敗状態遷移においては、人の手が物体に触れていないと判定された場合に警告のアクションが実行される。言い換えると、物体を握らないでも、手が触れてさえいれば警告のアクションが実行されないことになる。
物体に触れるだけでなく実際に握らせるという点で人の注意をより要求する基準であるから、図10の失敗状態遷移の方が、警告のアクションを実行する基準としてより厳しい基準を用いた遷移であるといえる。
図11の失敗状態遷移において、警告のアクションが実行された後の遷移は、図3を参照して説明した遷移と同様である。
・更新の例5
図12は、「物体を掴む」のタスクに関する失敗状態遷移の更新の他の例を示す図である。
図12に示す失敗状態遷移は、警告のアクションを実行することになる状態が追加されている点で、図2の失敗状態遷移と異なる。
図12の状態#61,#62は、図2の状態#1,#2と同様である。アーム部12を動かす状態である状態#63になった後、把持対象となる物体の半分以上が画角から外れたか否かが判定される。
把持対象となる物体の半分以上が画角から外れたと判定された場合、ロボット1の状態は、把持対象となる物体の半分以上が画角から外れた状態である状態#64となる。
状態#64になった場合、矢印A61の先に示すように、警告のアクションが実行される。
すなわち、図12の失敗状態遷移においては、破線で囲んで示すように、警告のアクションを実行すべき状態になったか否かの判定が追加され、図9の遷移と比べて、警告のアクションが実行されやすくなる。
警告のアクションが実行された後の遷移は、図2の状態#3以降の遷移と同様である。
このように、警告のアクションを実行することになる状態を増やすように失敗状態遷移が更新されることによっても、より確実に、タスクの失敗を防ぐことが可能となる。
・失敗状態遷移更新部の構成例
図13は、制御部31の他の機能構成例を示すブロック図である。
図13に示す構成は、基本的に、失敗状態遷移更新部107が追加されている点を除いて、図5に示す構成と同じである。重複する説明については適宜省略する。
失敗状態遷移更新部107は、失敗状態遷移を更新するタイミングになったと判断した場合、失敗状態遷移を上述したようにして更新する。失敗状態遷移を更新するタイミングになったか否かは、失敗状態遷移判断部103から供給された情報に基づいて判断される。
失敗状態遷移更新部107は、更新後の失敗状態遷移を表す失敗状態遷移情報を失敗状態遷移記憶部104に出力し、記憶させる。
図14は、失敗状態遷移更新部107の構成例を示すブロック図である。
図14に示すように、失敗状態遷移更新部107は、失敗情報取得部131、更新判断部132、更新部133、更新判断基準情報記憶部134、および更新遷移情報記憶部135から構成される。
失敗情報取得部131は、失敗状態遷移判断部103(図13)から出力された情報に基づいて、タスクの失敗に関する情報を取得する。失敗情報取得部131は、例えば、失敗前状態に至った回数を特定し、特定した回数を表す情報を更新判断部132に出力する。
更新判断部132は、失敗情報取得部131から供給された情報に基づいて、失敗状態遷移を更新するか否かを判断する。更新判断基準情報記憶部134には、各タスクについての、更新の判断の基準となる更新判断基準情報が記憶されている。
失敗状態遷移を更新するか否かは、例えば、失敗前状態に至った回数と、更新判断基準情報により表される閾値の回数とを比較することによって行われる。更新判断部132は、所定のタスクの失敗前状態に至った回数が閾値の回数を超えた場合、そのタスクの失敗状態遷移を更新すると判断し、そのことを表す情報を更新部133に出力する。
更新部133は、更新すると判断された失敗状態遷移を、更新遷移情報記憶部135に記憶されている情報に基づいて更新する。更新遷移情報記憶部135には、失敗状態遷移の更新の仕方に関する情報が記憶されている。更新部133は、更新後の失敗状態遷移を表す失敗状態遷移情報を失敗状態遷移記憶部104に出力し、記憶させる。
・失敗状態遷移更新処理
図15のフローチャートを参照して、失敗状態遷移を更新するロボット1の処理について説明する。
ステップS21において、失敗情報取得部131は、失敗状態遷移判断部103から出力された情報に基づいて、タスクの失敗に関する情報を取得する。
例えば、失敗情報取得部131は、失敗に関する情報として、失敗前状態に至った回数、失敗の内容、失敗の深刻度を取得する。
失敗の内容は、上述したアクションの原因である。例えば、物体を見失う、人の手が物体に触れていない、人が物体を見ていない、物体の半分が画角から外れる、人の顔が物体の方向を向いていない、人の手が物体を握っていない、などが、失敗の内容として取得される。
また、失敗の深刻度は、失敗前状態に至ったことの深刻度である。例えば、ぶつかったか否か、物体を落としたか否か、物体や壁などを壊したか否か、駆動領域のリミットまで動いたか否か、人が近くにいたか否か、などの、失敗前状態に応じた深刻度が取得される。
ステップS22において、更新判断部132は、失敗状態遷移の更新の条件を満たしたか否かを判定する。
ここでは、例えば、失敗前状態に至った回数が閾値の回数以上となった場合、更新の条件を満たしたものとして判定される。
また、同じ内容の失敗が閾値の回数以上繰り返された場合、または、深刻度が閾値の度合いより高い失敗が起きた場合にも、更新の条件を満たしたものとして判定される。
更新の条件を満たしていないとステップS22において判定された場合、ステップS21に戻り、以上の処理が繰り返される。
更新の条件を満たしたとステップS22において判定された場合、ステップS23において、更新部133は失敗状態遷移を更新する。失敗状態遷移の更新は、例えば以下の1~3のようにして行われる。
1.事前の設定に従って、上述したように、失敗前状態に至ったものと早い段階で判断するように、あるいは、アクションを実行する基準がより厳しい基準となるように更新する。
例えば、失敗前状態に至った回数が閾値の回数以上となった場合は、失敗前状態に至ったものと早い段階で判断するように更新される。また、同じ内容の失敗が閾値の回数以上繰り返された場合、または、深刻度が閾値の度合いより高い失敗が起きた場合は、アクションを実行する基準がより厳しい基準となるように更新される。
2.使用する失敗状態遷移を状況に応じて変えるように更新する。
例えば、把持対象となる物体の大きさが所定のサイズより小さい場合には図8の失敗状態遷移を使用し、所定のサイズより大きい場合には図9の失敗状態遷移を使用するといったように、使用する失敗状態遷移が把持対象となる物体の大きさに応じて切り替えられる。
また、物体の渡し先となる人が子どもである場合には図10の失敗状態遷移を使用し、大人である場合には図11の失敗状態遷移を使用するといったように、使用する失敗状態遷移が物体の渡し先となる人の属性に応じて切り替えられる。
3.ユーザによる設定に従って更新する。
この場合、スピーカ43から音声を出力するなどして、ユーザに対して条件を更新することが促される。
ステップS24において、更新部133は、更新後の失敗状態遷移を表す失敗状態遷移情報を失敗状態遷移記憶部104に記憶させ、処理を終了させる。
このように、条件を満たした場合に失敗状態遷移を更新することにより、ロボット1は、タスクの失敗をより確実に防ぐことができる。
<リカバリーの例>
失敗前状態に至った場合にリカバリーが実行されるようにしてもよい。リカバリーは、タスクの実行を再度試みる動作である。
・リカバリーの例1
図16は、「物体を掴む」のタスクに関する、リカバリーを含む失敗状態遷移の第1の例を示す図である。
図16の状態#101乃至#105は、それぞれ、図2の状態#1乃至#5と同様である。
図16の例においては、アーム部12を動かす状態である状態#105となり、失敗前状態であると判断された場合、ロボット1の状態は、再度、状態#101に戻る。
すなわち、物体を見失った状態でアーム部12を動かす場合、ロボット1は、アーム部12を上げた状態となるように各部を制御する。図16の例においては、アーム部12を上げた状態となるように各部を制御する動作によって、リカバリーが実行される。
・リカバリーの例2
図17は、「物体を掴む」のタスクに関する、リカバリーを含む失敗状態遷移の第2の例を示す図である。
図17の状態#111乃至#115は、それぞれ、図2の状態#1乃至#5と同様である。
図17の例においては、アーム部12を動かす状態である状態#115となり、失敗前状態であると判断された場合、ロボット1の状態は、物体を認識していた位置までアーム部12を動かす状態である状態#116となる。ロボット1は、物体を見失う直前の位置までアーム部12を動かすように各部を制御する。
物体を認識していた位置までアーム部12を動かす状態である状態#116になった後、ロボット1の状態は、物体追跡パラメータを更新する状態である状態#117となる。
物体追跡パラメータは、カメラ41により撮影された画像に基づいて物体を追跡するためのパラメータである。カメラ41がアーム部12の先端近傍に設けられている場合、物体追跡パラメータには、アーム部12の移動速度などの情報が含まれる。
ロボット1は、物体を見失わないように、アーム部12の移動速度を下げるなどして物体追跡パラメータを更新する。その後、ロボット1の状態は状態#112に戻り、同様の状態遷移が続けられる。図17の例においては、物体を見失う直前の位置までアーム部12を動かし、物体追跡パラメータを更新する動作によって、リカバリーが実行される。
・リカバリーの例3
図18は、「物体を人に渡す」のタスクに関する、リカバリーを含む失敗状態遷移の第1の例を示す図である。
図18の状態#121乃至#125は、それぞれ、図3の状態#11乃至#15と同様である。
図18の例においては、物体を握るハンド部13の力を緩める状態である状態#125となり、失敗前状態であると判断された場合、ロボット1の状態は、再度、状態#121に戻る。
すなわち、物体の渡し先となる人が物体を見ていない状態でハンド部13の力を緩めようとする場合、ロボット1は、物体を持つ状態となるように、ハンド部13を含む各部を制御する。図18の例においては、物体を持つ状態となるようにハンド部13を含む各部を制御する動作によって、リカバリーが実行される。
・リカバリーの例4
図19は、「物体を人に渡す」のタスクに関する、リカバリーを含む失敗状態遷移の第2の例を示す図である。
図19の状態#131乃至#135は、それぞれ、図3の状態#11乃至#15と同様である。
図19の例においては、物体を握るハンド部13の力を緩める状態である状態#135となり、失敗前状態であると判断された場合、ロボット1の状態は、物体を握り直す状態である状態#136となる。物体の渡し先となる人が物体を見ていない状態でハンド部13の力を緩めようとする場合、ロボット1は、物体を握り直すようにハンド部13を含む各部を制御する。
ハンド部13によって物体を握り直す状態である状態#136になった後、ロボット1の状態は、物体を見て、注意しながら持つようにユーザに警告を行う状態である状態#137となる。ロボット1は、スピーカ43から音声を出力するなどしてそのような警告を行った後、人が物体を見ていないか否かを判定し、同様の状態遷移を繰り返す。
図19の例においては、物体を握り直すようにハンド部13を含む各部を制御し、ユーザに対して警告を行う動作によって、リカバリーが実行される。
以上のように、リカバリーを含む失敗状態遷移がロボット1において管理され、失敗前状態に至った場合にリカバリーが実行される。これにより、ロボット1は、タスクの失敗を防ぐとともに、タスクを成功に導くことができる。警告が行われた後にリカバリーが行われるようにしてもよい。
・リカバリー制御部の構成例
図20は、制御部31の他の機能構成例を示すブロック図である。
図20に示す構成は、基本的に、リカバリー制御部108が追加されている点を除いて、図5に示す構成と同じである。重複する説明については適宜省略する。
リカバリー制御部108は、失敗前状態に至ったと判断した場合、リカバリーを実行するように駆動制御部106を制御する。失敗前状態に至ったか否かは、失敗状態遷移判断部103から供給された情報、または、駆動制御部106から供給された情報に基づいて判断される。
図21は、リカバリー制御部108の構成例を示すブロック図である。
図21に示すように、リカバリー制御部108は、失敗情報取得部151、リカバリー判断部152、リカバリー実行部153、リカバリー判断基準情報記憶部154、およびリカバリー状態遷移情報記憶部155から構成される。
失敗情報取得部151は、失敗状態遷移判断部103または駆動制御部106から出力された情報に基づいて、タスクの失敗に関する情報を取得する。失敗情報取得部151は、例えば、失敗前状態に至った回数を特定し、特定した回数を表す情報をリカバリー判断部152に出力する。
リカバリー判断部152は、失敗情報取得部151から供給された情報に基づいて、リカバリーを実行するか否かを判断する。リカバリー判断基準情報記憶部154には、各タスクについての、リカバリーを実行するか否かの判断の基準となるリカバリー判断基準情報が記憶されている。
リカバリーを実行するか否かは、例えば、失敗前状態に至った回数と、リカバリー判断基準情報により表される閾値の回数とを比較することによって判断される。リカバリー判断部152は、所定のタスクの失敗前状態に至った回数が閾値の回数を超えた場合、リカバリーを実行すると判断し、そのことを表す情報をリカバリー実行部153に出力する。
リカバリー実行部153は、リカバリー状態遷移情報記憶部155に記憶されている情報に基づいてリカバリーを実行する。リカバリー状態遷移情報記憶部155には、リカバリーの状態を含む失敗状態遷移に関する情報が記憶されている。
・リカバリー実行処理
図22のフローチャートを参照して、リカバリーを実行するロボット1の処理について説明する。
ステップS31において、失敗情報取得部151は、失敗状態遷移判断部103から出力されたタスクの失敗に関する情報を取得する。例えば、失敗情報取得部151は、失敗に関する情報として、失敗前状態に至った回数、失敗の内容、失敗の深刻度を取得する。
ステップS32において、リカバリー判断部152は、リカバリーを実行するか否かを判定する。
ここでは、例えば、失敗前状態に至った回数が閾値の回数以上となった場合、リカバリーを実行するものとして判定される。また、深刻度が閾値の度合いより低い失敗が起きた場合、リカバリーを実行するものとして判定される。
リカバリーを実行するとステップS32において判定された場合、ステップS33において、リカバリー実行部153はリカバリーを実行する。
一方、リカバリーを実行しないとステップS32において判定された場合、ステップS34において、リカバリー実行部153は、所定のアクションを実行するように駆動制御部106を制御する。
以上のように、ロボット1は、タスクが失敗する前にリカバリーを実行することにより、タスクの失敗を防ぐことができる。
<変形例>
失敗状態遷移をロボット1自身が生成するのではなく、ユーザによる操作に応じてロボット1において生成されるようにしてもよい。また、PCなどの外部の装置においてユーザによる操作に応じて生成された失敗状態遷移情報がロボット1に提供され、上述したような処理に用いられるようにしてもよい。
ロボット1の動作のテスト段階で生じた失敗状態遷移に基づいて失敗状態遷移情報が生成され、ロボット1に提供されるようにしてもよい。どのような状態遷移が失敗状態遷移であるのかに関する情報は、例えばユーザにより指定される。
また、発生を回避したい状態をユーザが設定し、それに基づいて失敗状態遷移情報が生成されるようにしてもよい。
以上においては、「物体を掴む」と「物体を人に渡す」のタスクを実行する場合の処理について説明したが、他のタスクを実行する場合にも同様の処理が行われる。他のタスクの実行中においても、ロボット1の状態の遷移が失敗状態遷移と同じ遷移を辿っている場合、失敗が生じる前に緊急停止等のアクションが実行される。
・制御システムの例
失敗状態遷移に基づくロボット1の動作が、インターネット上のサーバなどの外部の装置により行われるようにしてもよい。
図23は、制御システムの構成例を示す図である。
図23の制御システムは、ロボット1と制御サーバ201がインターネットなどのネットワーク202を介して接続されることによって構成される。ロボット1と制御サーバ201は、ネットワーク202を介して通信を行う。
図23の制御システムにおいては、ロボット1の状態が、ロボット1から送信されてくる情報に基づいて制御サーバ201により特定される。ロボット1から制御サーバ201に対しては、ロボット1の各デバイスの状態を表す情報が順次送信される。
ロボット1の状態の遷移が失敗状態遷移を辿っていることを検出した場合、制御サーバ201は、ロボット1を制御し、警告のアクション、タスク失敗時のアクションなどの状態に応じたアクションを実行させる。
このように、制御サーバ201は、ロボット1の状態を監視するとともに、ロボット1の動作を状態に応じて制御する制御装置として機能する。制御サーバ201においては、所定のプログラムが実行されることにより、図5、図14、または図20の各機能部が実現される。
・コンピュータの構成例
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
図24は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。図23の制御サーバ201は、図24に示す構成と同様の構成を有する。
CPU(Central Processing Unit)1001、ROM(Read Only Memory)1002、RAM(Random Access Memory)1003は、バス1004により相互に接続されている。
バス1004には、さらに、入出力インタフェース1005が接続されている。入出力インタフェース1005には、キーボード、マウスなどよりなる入力部1006、ディスプレイ、スピーカなどよりなる出力部1007が接続される。また、入出力インタフェース1005には、ハードディスクや不揮発性のメモリなどよりなる記憶部1008、ネットワークインタフェースなどよりなる通信部1009、リムーバブルメディア1011を駆動するドライブ1010が接続される。
以上のように構成されるコンピュータでは、CPU1001が、例えば、記憶部1008に記憶されているプログラムを入出力インタフェース1005及びバス1004を介してRAM1003にロードして実行することにより、上述した一連の処理が行われる。
CPU1001が実行するプログラムは、例えばリムーバブルメディア1011に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供され、記憶部1008にインストールされる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
・構成の組み合わせ例
本技術は、以下のような構成をとることもできる。
(1)
タスクの実行時のロボットの状態の遷移が、前記タスクの失敗に至る状態遷移として予め設定された失敗状態遷移を辿っている場合、前記タスクの失敗に至る前に、所定の処理を行うように前記ロボットの動作を制御する状態遷移判断部を備える
制御装置。
(2)
前記所定の処理は、ユーザに対する警告、前記ロボットの動作の緊急停止である
前記(1)に記載の制御装置。
(3)
前記状態遷移判断部は、前記所定の処理としてのユーザに対する警告を行った後に、前記ロボットの状態の遷移が前記失敗状態遷移を辿っている場合、前記ロボットの動作を緊急停止させる
前記(2)に記載の制御装置。
(4)
前記ロボットの状態の遷移が前記失敗状態遷移を辿った場合、前記失敗状態遷移を更新する更新部をさらに備える
前記(1)乃至(3)のいずれかに記載の制御装置。
(5)
前記更新部は、前記失敗状態遷移を辿った回数が閾値の回数を超えた場合、または、前記失敗状態遷移を辿った前記ロボットの状態の遷移の内容に応じて、前記失敗状態遷移を更新する
前記(4)に記載の制御装置。
(6)
前記更新部は、前記ロボットの状態の遷移が前記失敗状態遷移を辿りやすくなるように前記失敗状態遷移を更新する
前記(4)または(5)に記載の制御装置。
(7)
前記ロボットの状態の遷移が前記失敗状態遷移を辿った場合、リカバリーを実行するように前記ロボットを制御するリカバリー制御部をさらに備える
前記(1)乃至(6)のいずれかに記載の制御装置。
(8)
前記リカバリー制御部は、前記所定の処理が行われた後に、前記リカバリーを実行させる
前記(7)に記載の制御装置。
(9)
前記失敗状態遷移を表す情報を記憶する記憶部をさらに備える
前記(1)乃至(8)のいずれかに記載の制御装置。
(10)
制御装置が、
タスクの実行時のロボットの状態の遷移が、前記タスクの失敗に至る状態遷移として予め設定された失敗状態遷移を辿っている場合、前記タスクの失敗に至る前に、所定の処理を行うように前記ロボットの動作を制御する
制御方法。
(11)
コンピュータに、
タスクの実行時のロボットの状態の遷移が、前記タスクの失敗に至る状態遷移として予め設定された失敗状態遷移を辿っている場合、前記タスクの失敗に至る前に、所定の処理を行うように前記ロボットの動作を制御する
処理を実行させるためのプログラム。
1,2 ロボット, 11 ベース部, 12 アーム部, 13 ハンド部, 31 制御部, 33 駆動部, 41 カメラ, 101 動作出力部, 102 動作取得部, 103 失敗状態遷移判断部, 104 失敗状態遷移記憶部, 105 失敗状態遷移生成部, 106 駆動制御部, 107 失敗状態遷移更新部, 108 リカバリー制御部, 131 失敗情報取得部, 132 更新判断部, 133 更新部, 134 更新判断基準情報記憶部, 135 更新遷移情報記憶部, 151 失敗情報取得部, 152 リカバリー判断部, 153 リカバリー実行部, 154 リカバリー判断基準情報記憶部, 155 リカバリー状態遷移情報記憶部, 201 制御サーバ, 202 ネットワーク

Claims (10)

  1. タスクの失敗に至る状態遷移として予め設定された失敗状態遷移を表す情報を記憶する記憶部と、
    前記タスクの実行時のロボットの状態の遷移が前記失敗状態遷移を辿っている場合、前記タスクの失敗に至る前に、所定の処理を行うように前記ロボットの動作を制御する状態遷移判断部を備える
    制御装置。
  2. 前記所定の処理は、ユーザに対する警告、前記ロボットの動作の緊急停止である
    請求項1に記載の制御装置。
  3. 前記状態遷移判断部は、前記所定の処理としてのユーザに対する警告を行った後に、前記ロボットの状態の遷移が前記失敗状態遷移を辿っている場合、前記ロボットの動作を緊急停止させる
    請求項2に記載の制御装置。
  4. 前記ロボットの状態の遷移が前記失敗状態遷移を辿った場合、前記失敗状態遷移を更新する更新部をさらに備える
    請求項1に記載の制御装置。
  5. 前記更新部は、前記失敗状態遷移を辿った回数が閾値の回数を超えた場合、または、前記失敗状態遷移を辿った前記ロボットの状態の遷移の内容に応じて、前記失敗状態遷移を更新する
    請求項4に記載の制御装置。
  6. 前記更新部は、前記ロボットの状態の遷移が前記失敗状態遷移を辿りやすくなるように前記失敗状態遷移を更新する
    請求項4に記載の制御装置。
  7. 前記ロボットの状態の遷移が前記失敗状態遷移を辿った場合、リカバリーを実行するように前記ロボットを制御するリカバリー制御部をさらに備える
    請求項1に記載の制御装置。
  8. 前記リカバリー制御部は、前記所定の処理が行われた後に、前記リカバリーを実行させる
    請求項7に記載の制御装置。
  9. タスクの失敗に至る状態遷移として予め設定された失敗状態遷移を表す情報を記憶する記憶部を備える制御装置が、
    前記タスクの実行時のロボットの状態の遷移が前記失敗状態遷移を辿っている場合、前記タスクの失敗に至る前に、所定の処理を行うように前記ロボットの動作を制御する
    制御方法。
  10. タスクの失敗に至る状態遷移として予め設定された失敗状態遷移を表す情報を記憶する記憶部を備える制御装置を制御するコンピュータに、
    前記タスクの実行時のロボットの状態の遷移が前記失敗状態遷移を辿っている場合、前記タスクの失敗に至る前に、所定の処理を行うように前記ロボットの動作を制御する
    処理を実行させるためのプログラム。
JP2020536453A 2018-08-08 2019-07-25 制御装置、制御方法、およびプログラム Active JP7310820B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018149106 2018-08-08
JP2018149106 2018-08-08
PCT/JP2019/029181 WO2020031718A1 (ja) 2018-08-08 2019-07-25 制御装置、制御方法、およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2020031718A1 JPWO2020031718A1 (ja) 2021-08-10
JP7310820B2 true JP7310820B2 (ja) 2023-07-19

Family

ID=69414110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020536453A Active JP7310820B2 (ja) 2018-08-08 2019-07-25 制御装置、制御方法、およびプログラム

Country Status (5)

Country Link
US (1) US20210229284A1 (ja)
EP (1) EP3835008A4 (ja)
JP (1) JP7310820B2 (ja)
CN (1) CN112512763A (ja)
WO (1) WO2020031718A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112384344A (zh) * 2018-07-13 2021-02-19 索尼公司 控制设备、控制方法和程序
EP4114622A1 (en) * 2020-03-06 2023-01-11 Embodied Intelligence Inc. Imaging process for detecting failure modes
US20230202050A1 (en) * 2020-04-28 2023-06-29 Sony Group Corporation Control device, control method, and computer program
CN116880293B (zh) * 2023-07-20 2023-12-26 济南大学 一种基于显式模型预测控制的四足机器人控制方法及控制终端

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19625637A1 (de) 1996-06-26 1998-01-02 Brink Carsten Dipl Ing Ten Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen
JP2003291083A (ja) 2002-03-28 2003-10-14 Toshiba Corp ロボット装置、ロボット制御方法及びロボット配送システム
JP2015231640A (ja) 2014-06-09 2015-12-24 キヤノン株式会社 ロボット動作経路チェック装置、ロボットシステム、ロボット動作経路チェック方法、プログラム及び記録媒体
JP2016155212A (ja) 2015-02-26 2016-09-01 キヤノン株式会社 ロボット装置
WO2018012446A1 (ja) 2016-07-11 2018-01-18 Groove X株式会社 活動量をコントロールされる自律行動型ロボット

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1165649A (ja) 1997-08-20 1999-03-09 Yaskawa Electric Corp センサデータのモニタリング方法
JP3601279B2 (ja) * 1997-12-22 2004-12-15 松下電工株式会社 部品組付装置
JP2003260685A (ja) * 2002-03-04 2003-09-16 Seiko Epson Corp ロボット制御方法、ロボット制御装置及び制御プログラム
JP2007303866A (ja) * 2006-05-09 2007-11-22 Sanki Eng Co Ltd 工場、プラント等における生産設備機器等の運転状態監視システム
KR101255948B1 (ko) * 2009-02-12 2013-04-23 고쿠리츠 다이가쿠 호진 교토 다이가쿠 산업용 로봇 시스템
JP5770445B2 (ja) 2010-09-28 2015-08-26 株式会社河合楽器製作所 楽譜認識装置及びコンピュータプログラム
US8818556B2 (en) * 2011-01-13 2014-08-26 Microsoft Corporation Multi-state model for robot and user interaction
JP2012232363A (ja) * 2011-04-28 2012-11-29 Seiko Epson Corp ロボット制御システム、ロボットシステム及びプログラム
US9561590B1 (en) * 2013-06-24 2017-02-07 Redwood Robotics, Inc. Distributed system for management and analytics of robotics devices
FR3012425B1 (fr) * 2013-10-24 2017-03-24 European Aeronautic Defence & Space Co Eads France Robot collaboratif d'inspection visuelle d'un aeronef
JP6219890B2 (ja) * 2015-07-17 2017-10-25 ファナック株式会社 ロボットによる自動組立システム
US20190105779A1 (en) * 2016-03-24 2019-04-11 Polygon T.R Ltd. Systems and methods for human and robot collaboration
DE102016125408A1 (de) * 2016-12-22 2018-06-28 RobArt GmbH Autonomer mobiler roboter und verfahren zum steuern eines autonomen mobilen roboters
JP6889631B2 (ja) * 2017-08-04 2021-06-18 川崎重工業株式会社 状態監視システム及び状態監視方法
JP7252944B2 (ja) * 2018-04-26 2023-04-05 パナソニックホールディングス株式会社 アクチュエータ装置、アクチュエータ装置による対象物取出方法、及び、対象物取出システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19625637A1 (de) 1996-06-26 1998-01-02 Brink Carsten Dipl Ing Ten Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen
JP2003291083A (ja) 2002-03-28 2003-10-14 Toshiba Corp ロボット装置、ロボット制御方法及びロボット配送システム
JP2015231640A (ja) 2014-06-09 2015-12-24 キヤノン株式会社 ロボット動作経路チェック装置、ロボットシステム、ロボット動作経路チェック方法、プログラム及び記録媒体
JP2016155212A (ja) 2015-02-26 2016-09-01 キヤノン株式会社 ロボット装置
WO2018012446A1 (ja) 2016-07-11 2018-01-18 Groove X株式会社 活動量をコントロールされる自律行動型ロボット

Also Published As

Publication number Publication date
WO2020031718A1 (ja) 2020-02-13
CN112512763A (zh) 2021-03-16
EP3835008A1 (en) 2021-06-16
JPWO2020031718A1 (ja) 2021-08-10
US20210229284A1 (en) 2021-07-29
EP3835008A4 (en) 2022-04-13

Similar Documents

Publication Publication Date Title
JP7310820B2 (ja) 制御装置、制御方法、およびプログラム
JP6431017B2 (ja) 機械学習により外力の検出精度を向上させた人協調ロボットシステム
EP3628031B1 (en) Determining and utilizing corrections to robot actions
JP6494331B2 (ja) ロボット制御装置およびロボット制御方法
CN106604804B (zh) 碰撞检测
CA2953246C (en) Standby mode of a humanoid robot
JPWO2003035334A1 (ja) ロボット装置及びその制御方法
WO2021232933A1 (zh) 机器人的安全防护方法、装置与机器人
US20220097230A1 (en) Robot control device, robot control method, and program
US11642784B2 (en) Database construction for control of robotic manipulator
JP7156397B2 (ja) 制御装置
JP4193098B2 (ja) トラッキング装置、トラッキング装置のトラッキング方法及びロボット装置
WO2023199987A1 (ja) 遠隔操作システム及び遠隔操作方法
US11712804B2 (en) Systems and methods for adaptive robotic motion control
US20230234231A1 (en) Teleoperation assist device, teleoperation assist method, and storage medium
US20220203531A1 (en) Robot, transmission method, and transmission estimation method
JP2022077227A (ja) 異常判定プログラム、異常判定方法および異常判定装置
Suzuki et al. A multi-layered hierarchical architecture for a humanoid robot
Jang et al. A method to detect object grasping without tactile sensing on a humanoid robot
Fei et al. Dynamic Hand Gesture-Featured Human Motor Adaptation in Tool Delivery using Voice Recognition
JP2011235378A (ja) 制御装置
JP2020097072A (ja) 制御装置、及び学習装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230418

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230619

R151 Written notification of patent or utility model registration

Ref document number: 7310820

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151