JP2021154392A - ロボットの制御装置及びロボットの制御方法 - Google Patents

ロボットの制御装置及びロボットの制御方法 Download PDF

Info

Publication number
JP2021154392A
JP2021154392A JP2018098098A JP2018098098A JP2021154392A JP 2021154392 A JP2021154392 A JP 2021154392A JP 2018098098 A JP2018098098 A JP 2018098098A JP 2018098098 A JP2018098098 A JP 2018098098A JP 2021154392 A JP2021154392 A JP 2021154392A
Authority
JP
Japan
Prior art keywords
task
end condition
robot
unit
control device
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.)
Pending
Application number
JP2018098098A
Other languages
English (en)
Inventor
利充 坪井
Toshimitsu Tsuboi
利充 坪井
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 Group Corp
Original Assignee
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 Group Corp filed Critical Sony Group Corp
Priority to JP2018098098A priority Critical patent/JP2021154392A/ja
Priority to PCT/JP2019/014190 priority patent/WO2019225158A1/ja
Priority to US17/056,163 priority patent/US11820019B2/en
Publication of JP2021154392A publication Critical patent/JP2021154392A/ja
Pending legal-status Critical Current

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/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/087Controls for manipulators by means of sensing devices, e.g. viewing or touching devices for sensing other physical parameters, e.g. electrical or chemical properties
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40113Task planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40264Human like, type robot arm

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

【課題】状況に応じてロボットのタスクを最適に切り換える。【解決手段】本開示によれば、ロボットがタスクを行う際に、当該タスクの終了条件に該当しているか否かを判断する判断部と、前記終了条件に該当する場合に、前記終了条件に対応する次タスクへ切り換えを行う切換部と、を備える、ロボットの制御装置が提供される。この構成により、状況に応じてロボットのタスクを最適に切り換えることが可能となる。【選択図】図2

Description

本開示は、ロボットの制御装置及びロボットの制御方法に関する。
従来、例えば下記の特許文献1には、料理人が料理するプロセス、火力を記録し、それに基づいて火力調整や制御プログラムを作成し、ロボットが料理を行うことが記載されている。
特表2017−506169号公報
ロボットのタスク切替の方法は様々な方法が提案されている。組立、加工などを行う産業用ロボットについては、ロボットの目標位置が事前にプログラムもしくはティーチングされ、所定の動作を行い、組立、塗装などのタスクを実行するものが多く存在する.
これらのロボットは、事前のプログラムに基づき、事前に設定された動作、すなわち予め設定された位置での所定の作業を行い、全ての設定された動作を行うと特に判断をすることなくタスクを終了する。しかしながら、ロボットは、状況に応じて事前に設定した動作を変更することができない。すなわち、タスクの内容を変更したり,タスクを切り替えたりすることができないという問題がある。
上記特許文献1に記載された技術においても、タスクの事前設定はできるがが、状況に応じてタスクの内容を変更したり、タスクを切り替えたりすることが出来ないという問題がある。
そこで、状況に応じてロボットのタスクを最適に切り換えることが望まれていた。
本開示によれば、ロボットがタスクを行う際に、当該タスクの終了条件に該当しているか否かを判断する判断部と、前記終了条件に該当する場合に、前記終了条件に対応する次タスクへ切り換えを行う切換部と、を備える、ロボットの制御装置が提供される。
また、本開示によれば、ロボットがタスクを行う際に、当該タスクの終了条件に該当しているか否かを判断することと、前記終了条件に該当する場合に、前記終了条件に対応する次タスクへ切り換えを行うことと、を備える、ロボットの制御方法が提供される。
以上説明したように本開示によれば、状況に応じてロボットのタスクを最適に切り換えることが可能となる。
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
本開示の一実施形態に係るロボットのハードウェアの概略構成を示す模式図である。 ロボットのソフトウェア構成を示す模式図である。 ロボットが実行する単体のタスクの処理を示すフローチャートである。 図3に示す単体のタスクを組み合わせたシーケンスを示す模式図である。 タスクを組み合わせて作成した「目玉焼きを調理する」というシーケンスを示す模式図である。 図5に示すシーケンスをフローチャートの形式で示した模式図である。 タスク1の終了条件1を示す模式図である。 タスク1の終了条件2を示す模式図である。 タスク1の終了条件3を示す模式図である。 パン生地を押した時のハンドの押し込み量(横軸)と、圧力(縦軸)との関係を示す特性図である。 ロボットがステーキ用の肉を焼く場合の終了条件を説明するための模式図である。 ロボットがステーキ用の肉を焼く場合の終了条件を説明するための模式図である。 ロボットがステーキ用の肉を焼く場合の終了条件を説明するための模式図である。 ロボットがアンモニア臭の掃除をする場合の終了条件を説明するための模式図である。 ロボットがアンモニア臭の掃除をする場合の終了条件を説明するための模式図である。 ロボットがアンモニア臭の掃除をする場合の終了条件を説明するための模式図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.ロボットのハードウェア構成
2.ロボットのソフトウェア構成
3.ロボットのタスク切換処理
4.タスク切換の具体例
5.他のタスクの例
1.ロボットのハードウェア構成
まず、図1を参照して、本開示の一実施形態に係るロボット1000のハードウェアの概略構成について説明する。図1に示すように、ロボット1000は、移動のための車輪100、胴体部110、アーム120,130、頭部140、を有して構成される。
車輪100は、アクチュエータ150により駆動される。車輪100が駆動されるとロボット1000が移動する。アーム120,130は多関節を有し、各関節にはアクチュエータ152が設けられている。アーム120,130は、アクチュエータ152の駆動により屈曲する。アーム120,130の各関節には、関節の角度を検出するエンコーダが設けられている。同様に、車輪100の近辺には、車輪100の回転角を検出するエンコーダが設けられている。
アーム120,130の先端には、ハンド160が設けられている。ハンド160は、アクチュエータ154の駆動により駆動され、物体を把持し、また物体を押圧するなどの力を作用させる。
力センサ170は、ハンド160の先端に設けられ、ハンド160が物体を把持した際の把持力、ハンド160が物体を押す際の圧力を検出する。トルクセンサ180は、各関節に設けられ、各関節のトルクを検出する。力センサ170は、両手のハンド160のそれぞれに設けられていても良い。
胴体部110には、CPU200、RAM202、ROM204、外部記憶装置206、バス208、バスインタフェース(バスI/F)209が備えられている。外部記憶装置206は、ロボット1000の外部から接続される記憶装置である。CPU200、RAM202、ROM204、外部記憶装置206、バスI/F209は、バス208を介して接続されている。
また、胴体部110には、3次元情報入力装置210、温度センサ212、匂いセンサ214、ガス濃度センサ216が備えられている。3次元情報入力装置210は、例えばTOF(Time of Flight)センサから構成され、物体の3次元情報を取得する。温度センサ212は、放射型温度計、接触式の温度計などから構成される。ガス濃度センサ216は、例えばアンモニアなどのガス濃度を検出するセンサである。これらの各種センサは、バスI/F209を介して胴体部110のCPU200等と接続されている。これらの各種センサについても、複数のセンサがロボット装置1000に備えられていても良い。
頭部140には、画像入力装置218、音入力装置220、音出力装置222が備えられている。これらの装置も、バスI/F209を介して胴体部110のCPU200等と接続されている。一例として、画像入力装置218はカメラから構成され、音入力装置220はマイクロフォンから構成され、音出力装置222はスピーカから構成される。
2.ロボットのソフトウェア構成
次に、ロボット1000のソフトウェア構成について説明する。図2は、ロボット1000のソフトウェア構成を示す模式図である。図2に示す各構成要素は、CPU200とCPU200を機能させるためのソフトウェア(プログラム)により構成される。このプログラムは、ROM204や、外部記憶装置206に格納されることができる。ロボット1000のソフトウェア構成は、大きく分けると、入力部300、データ処理・認識部320、判断部330、タスク計画部340、動作計画部350、制御部360から構成される。
入力部300には、ロボット1000が備える各種センサ等を介して、外界からの各種情報が入力される。入力部300は、画像入力部302、3次元情報入力部304、力入力部306、温度入力部308、匂い入力部310、ガス濃度入力部312、音入力部314、角度入力部316、角速度入力部317、トルク入力部318、電流入力部319を有して構成される。
画像入力部302には、画像入力装置218であるカメラが撮像した画像のデータが入力される。3次元情報入力部304には、3次元情報入力装置210に入力された物体の3次元情報が入力される。力入力部306には、力センサ170が検出した力が入力される。温度入力部308には、温度センサ212が検出した温度が入力される。匂い入力部310には、匂いセンサ214が検出した匂いのデータが入力される。ガス濃度入力部312には、ガス濃度センサ216が検出したガス濃度が入力される。
また、音入力部314には、音入力装置220であるマイクロフォンが取得した音のデータが入力される。角度入力部316には、アーム120,130の各関節のエンコードが検出した角度、車輪100の回転角等が入力される。角速度入力部317には、アーム120,130の各関節が動く際の角速度、車輪100を駆動するアクチュエータ150の角速度が入力される。なお、角速度は、回転角に基づいてデータ処理部324が演算しても良い。トルク入力部318には、トルクセンサ180が検出したトルクが入力される。電流入力部319には、各アクチュエータの電流が入力される。
データ処理・認識部320は、入力部300に入力された各種データの処理、認識を行う。データ処理・認識部320は、認識処理部322、データ処理部324、を有して構成される。
判断部330は、データ処理・認識部320が処理し、認識したデータに基づいて、判断を行う。判断部330は、終了判断部332、失敗判断部334、を有して構成される。判断部330は、入力部300に入力された各種データに基づき直接判断を行うこともできる。
タスク計画部340は、判断部330の判断結果に基づき、タスクの計画を行う。タスク計画部340は、タスク切換部342、タスク実行部344を有する。
動作計画部350は、ロボット1000の動作を計画する。動作計画部350は、移動経路計画部352、腕部軌道計画部354、把持計画部356を有する。
制御部360は、ロボット1000の各アクチュエータを制御することで、ロボット1000を制御する。制御部360は、移動制御部362、腕部制御部364、ハンド制御部366を有する。
3.ロボットのタスク切換処理
次に、本実施形態に係るロボット1000のタスク切換処理ついて説明する。本実施形態に係るロボット1000は、様々なタスクを実行し、タスクの成功または失敗に応じてタスクを切り換える。タスクの内容は特に限定されるものではないが、家庭内で利用されるロボットの場合、タスクの例として「料理を作る」、「掃除する」等が挙げられる。
図3は、ロボット1000が実行する単体のタスクの処理を示すフローチャートである。先ず、ステップS10では、タスクの終了条件1に該当するか否かを判定し、タスクの終了条件1に該当する場合は、タスク終了1へ分岐する。
一方、ステップS10でタスクの終了条件1に該当しない場合は、ステップS12へ進む。ステップS12では、タスクの終了条件2に該当するか否かを判定し、タスクの終了条件2に該当する場合は、タスク終了2へ分岐する。
また、ステップS12でタスクの終了条件2に該当しない場合は、ステップS14へ進む。ステップS14へ進んだ場合、タスクの終了条件1に該当せず、且つ終了条件2にも該当しないため、タスクを実行する。ステップS14の後はステップS10に戻る。
タスク終了1へ進んだ場合の方が、タスク終了2へ進んだ場合よりも優先順位が高く、より好ましいタスクの終了になる。例えば、タスク終了1へ進んだ場合は、タスクが成功して終了する場合であり、タスク終了2へ進んだ場合は、タスクが失敗して終了する場合である。タスクを失敗して終了する場合は、失敗を回復するための次のタスクへ切り換えが行われる。換言すれば、終了条件1に該当するタスク終了1は、一連のシーケンスの最終タスクに繋がり、終了条件2に該当するタスク終了2は、そのタスクの失敗を回復するタスクに対応する。
以上のように、図3に示す単体のタスクの処理では、終了条件1に達すればタスク終了1へ進み、終了条件2に達すればタスク終了2へ進み、終了条件1、終了条件2のいずれにも達しない場合はタスク実行動作を継続する。
図4は、図3に示す単体のタスクを組み合わせたシーケンスを示す模式図である。図4に示す例では、3つのタスクA,B,Cが組み合わされている。タスクAが終了条件1に該当するとタスクBが実行される。また、タスクAが終了条件2に該当するとタスクCが実行される。更に、タスクB,Cのそれぞれの終了条件に応じて、次に実行するタスクが設定される。このように、単体のタスクを組み合わせることで、ロボット1000が行ういかなる複雑なシーケンスであっても、タスクの組み合わせで構築することが可能である。これにより、タスクの内容を容易に設定できるとともに、タスクを組み合わせたシーケンスも容易に設定することが可能である。また、例えば終了条件である食材の分量が変わった場合など、単体のタスクを入れ換えるのみで、様々な終了条件を再設定することができ、特別なプログラミングを行うことなく直感的にロボット1000の動作を設定可能である。
4.タスク切換の具体例
図5は、タスクを組み合わせて作成した「目玉焼きを調理する」というシーケンスを示す模式図である。また、図6は、図5に示すシーケンスをフローチャートの形式で示した模式図である。このシーケンスは、全体で12個のタスク(タスク1〜12)から構成されている。タスク1から実行を開始し、終了条件に応じてタスクを切り換えていき、タスク12の終了条件1に達すると、タスク全体の実行が成功してシーケンスが終了する。具体的に、各タスクの内容は以下の通りである。
タスク1「卵を割る」
タスク2「卵の殻を取る」
タスク3「卵を捨てる」
タスク4「器を交換する」
タスク5「フライパンに油を入れる」
タスク6「フライパンから油を除去する」
タスク7「火をつけ,弱火に調整する」
タスク8「フライパンに卵を入れる」
タスク9「フライパンから卵、油を除去する」
タスク10「フライパンに蓋をする」
タスク11「火を止める」
タスク12「目玉焼きを盛り付ける」
タスク1「卵を割る」を例に挙げて説明すると、タスク1の終了条件1は、「綺麗に卵が割れること」であり、終了条件1は「綺麗に卵が割れた画像」によって判定される。終了条件1に該当すると、図5の「終了1後実行タスク番号」に示されるように、タスク5「フライパンに油を入れる」に切り換わる。図6では、タスク1で終了条件1に該当すると、「終了1」の矢印に従ってタスク5へ切り換わることが示されている。
また、タスク1の終了条件2は、「殻が卵に入る」であり、終了条件2は「殻が入った画像」により判定される。終了条件2に該当すると、図5の「終了2後実行タスク番号」に示されるように、タスク2「卵の殻を取る」に切り換わる。図6では、タスク1で終了条件2に該当すると、「終了2」の矢印に従ってタスク2へ切り換わることが示されている。
同様に、タスク5「フライパンに油を入れる」を例に挙げて説明すると、タスク5の終了条件1は、「投入した油の重さが30gであること」であり、終了条件1は「油が入ったフライパン画像」によって判定される。終了条件1に該当すると、図5の「終了1後実行タスク番号」に示されるように、タスク7「火をつけ,弱火に調整する」に切り換わる。図6では、タスク5で終了条件1に該当すると、「終了1」の矢印に従ってタスク7へ切り換わることが示されている。なお、投入する油の重さをセンサで直接測定することにより、終了条件1に該当するか否かを判定しても良い。例えば、ハンド160に設けられた力センサ170の重力方向の成分を計測することで、把持している物体の重量を計測することが可能である。
また、タスク5の終了条件2は、「投入した油の重さが50g以上である」であり、終了条件2は「油が入ったフライパン画像」により判定される。終了条件2に該当すると、図5の「終了2後実行タスク番号」に示されるように、タスク6「フライパンから油を除去する」に切り換わる。図6では、タスク5で終了条件2に該当すると、「終了2」の矢印に従ってタスク6へ切り換わることが示されている。なお、投入する油の重さをセンサで直接測定することにより、終了条件2に該当するか否かを判定しても良い。
以上のようにして、終了条件1〜3に応じてタスクが切り換わる。基本的に、終了条件1は、各タスクの成功条件に該当する。各タスクについて終了条件1に該当すると、図5のシーケンスが終了する。一方、いずれかのタスクで終了条件2または終了条件3に該当すると、そのタスクが終了条件1に該当するように、回復のためのタスクが行われる。回復するためのタスクを行うことで、その後の各タスクが終了条件1に該当すると、図5のシーケンスが終了する。
図7A、図7B、図7Cは、タスク1の終了条件1、終了条件2、終了条件3をそれぞれ示す模式図である。図7Aは、終了条件1を示している。図5に示すように、終了条件1は、「綺麗に卵が割れた画像」により判定される。図7Aに示す状態では、綺麗に卵10が割れているため、終了条件1に該当すると判定される。
また、図7Bは、終了条件2を示している。図5に示すように、終了条件2は、「殻が入った画像」により判定される。図7Bに示す状態では、卵10に殻14が入っているため、終了条件2に該当すると判定される。
また、図7Cは、終了条件3を示している。図5に示すように、終了条件3は、「黄身が崩れた画像」により判定される。図7Cに示す状態では黄身12が崩れているため、終了条件3に該当すると判定される。
図7A、図7B、図7Cに示す例では、画像入力装置218に入力された画像により終了条件1〜3のいずれに該当するか否かが判定される。なお、図5に示す例では、殆どの終了条件は画像入力装置218に入力された画像により判定される。画像による判定は、物体の形状、色等に基づく判定を含み、タスク完了時の画像と現在の画像とを比較して終了条件を判定する。終了条件を画像で判断することで、作業の節目の画像を撮影するだけで終了条件を判定することができるため、容易にシーケンスを構築することが可能となる。また、タスクによっては、音、温度、匂い、ガス濃度、3次元情報、物体の硬さや粘性、物体の弾性、物体を押す際の圧力等に基づいて終了判定が行われる。例えば、図5のタスク7では、終了条件1はフライパン温度が所定温度に達したことで判定され、例えば温度センサ212が検出した温度により判定することができる。また、料理を例に挙げると、例えば料理の際に発生する音(肉を焼いているときの音など)、匂い等に基づいて終了判定が行われる。
音、匂い、ガス濃度、3次元情報に基づいて終了条件を判定する場合は、音入力装置220、匂いセンサ214、ガス濃度センサ216、3次元情報入力装置210の検出値がそれぞれ用いられる。物体の硬さや粘性、物体の弾性、物体を押す際の圧力等に基づいて終了条件を判定する場合は、力センサ170、トルクセンサ180の検出値を用いることができる。
図2に基づいて、処理の流れを説明すると、画像入力装置218が取得した画像情報は、入力部300の画像入力部302に入力される。データ処理・認識部320は、画像データに所定の処理を施し、画像データの認識を行う。ここで、所定の処理とは、例えばノイズを低減する処理など、認識の前処理として行われる処理を含む。画像データの認識は、例えばブロックマッチング等の手法により、予め取得されたテンプレート画像と画像入力装置218が取得した画像を比較すること等によって行われるが、公知の手法を適宜用いることができる。
判断部330は、データ処理・認識部320が処理し、認識した画像データに基づいて、終了条件1〜3の判定を行う。一例として、終了条件1は終了判断部332が行い、終了条件2,3は失敗判断部334が行う。例えば、図7Aの画像が取得された場合、終了判断部332が終了条件1に該当することを判断する。
タスク計画部340は、判断部330の判断結果に基づき、タスクの計画を行う。タスク切換部342は、終了条件1〜3に該当するか否かに基づき、タスクの切り換えを行う。タスク実行部344は、終了条件のいずれにも該当しない場合に、そのタスクを実行する。例えば、タスク切換部342は、図5のタスク1で終了条件1に該当する場合は、次のタスク5へ切り換える。また、タスク切換部342は、図5のタスク1で終了条件2に該当する場合は、タスク2へ切り換える。また、タスク実行部344は、図5のタスク1で終了条件1〜3のいずれにも該当しない場合は、タスク1を実行する。
動作計画部350は、タスク計画部340により計画されたタスクに基づき、ロボット1000の動作を計画する。例えば、タスク5を行うことが計画された場合、移動経路計画部350は、油を入れた容器の位置までロボット1000が移動する経路を計画する。腕軌道計画部354は、油を入れた容器の位置までロボット1000が移動した後、油を入れた容器を掴むためにアーム120が移動する軌道を計画する。把持計画部356は、油を入れた容器を把持する際のハンド160の動きを計画する。
制御部360は、動作計画部350の計画に基づき、ロボット1000を制御する。移動制御部362は、移動経路計画部352が計画した経路に基づき、車輪100を駆動するアクチュエータ150を制御する。腕部制御部364は、腕軌道計画部354が計画したアーム120の軌道に基づき、アーム120を駆動するアクチュエータ152を制御する。ハンド制御部366は、把持計画部356が計画したハンド160の動きに基づき、ハンド160を駆動するアクチュエータ154を制御する。
5.他のタスクの例
上述した例では、主として画像によりタスクの終了条件を判定する例について説明した。以下に示す例では、画像以外に基づいて終了条件を判断する場合について説明する。先ず、図8に基づき、ロボット1000がパンをこねる場合を例に挙げ、圧力センサの検出値により終了条件を判定する場合について説明する。
パンは小麦粉、イースト、水をこねて生地をつくる。こねなければパンはそもそも膨らまないし、こねすぎると固くなりパンが膨らまない。パンをこねていき、丸めた生地を、例えば上方及び四方から5か所押し、押した時の圧力に応じて終了条件を設定する。パン生地を押した時の圧力は、パンをハンド160で押した時に力センサ170が検出する力と、ハンド160の面積から求めることができる。
図8は、パン生地を押した時のハンド160の押し込み量(横軸)と、圧力(縦軸)との関係を示す特性図である。ここでのタスクは、「パン生地こねて完成させる」であり、終了条件1〜3を設定する。
パン生地を押した5か所のいずれにおいても、押し込み量と圧力が図8に示す破線よりも下側かつ一点鎖線より上側の領域に属する場合、終了条件1に該当すると判定する。具体的に、終了条件1は、「押し込み量10mmで圧力が5〜10kPaの範囲」である。終了条件1に該当すると、適度にこねられているため、「こね終了、パンを焼くための次のタスクを実行」と判断する。
また、パン生地を押した5か所のいずれか1つにおいて、押し込み量と圧力が図8に示す実線よりも上側の領域に属する場合、終了条件2に該当すると判定する。具体的に、終了条件2は、「押し込み量10mmで圧力が25KPa以上」である。終了条件2に該当すると、こねすぎて固くなっているため、「こね一旦終了、次のタスクで水を追加」と判断する。
また、パン生地を押した5か所の1か所以上において、押し込み量と圧力が図8に示す二点鎖線よりも上側かつ実線よりも下側の領域に属する場合、終了条件3に該当すると判定する。具体的に、終了条件3は、「押し込み量10mmで圧力が15〜25KPa」である。終了条件3に該当すると、パン生地がやや固いため、「こね一旦終了、次のタスクでパン生地の均一化を図るため、パン生地を伸ばしてから丸める」と判断する。
次に、図9A〜図9Cに基づいて、ロボット1000がステーキ用の肉20を焼く場合について説明する。図9A〜図9Cは、ひっくり返した直後の肉20の上側(鉄板とは反対側)の表面温度を温度センサ212で測定した様子を示す模式図である。この際、温度センサ212により得られるサーモグラフィなどを使用し、肉20の表面温度を得る。ここでは、ステーキ肉などを焼く際に、最初に強火で表面に火を通すタスク(タスクA)を想定して説明する。例えば、肉20の温度を調べるために、10秒ごとに肉20をひっくり返すこととする。
図9Aは、終了条件1を示しており、肉全面の温度が100℃以上の状態を示している。肉の全面が100℃以上の場合、タスクAでのその面の加熱は終了となり、次のタスクBへ移行する。
図9Bは、終了条件2を示しており、肉表面の一部が100℃以上であり、一部が100℃未満である場合を示している。この場合は、肉20の形状の問題で加熱にむらが出ていることが考えられるため、終了条件2に該当するものとしてタスクを切り換え、次のタスクCでは、肉をひっくり返した上で、100℃未満だった領域を上から押し付けるタスクを実行する。
図9Cは、終了条件3を示しており、肉表面の一部が120℃以上であり、一部が100℃未満である、極端な加熱ムラが生じている場合を示している。この場合、鉄板温度にムラが出ていることが想定されるため、終了条件3に該当するものとしてタスクを切り換え、次のタスクDでは、一度肉を鉄板から取り除いて、鉄板の温度を温度画像で確認するタスクを実行する。
次に、図10A〜図10Cに基づいて、ロボット1000がアンモニア臭の掃除をする場合について説明する。図10A〜図10Cは、トイレ内のアンモニア臭の測定結果を示す特性図である。図10A〜図10Cにおいて、XY平面はトイレの室内の床の領域を示している。また、Z軸は、アンモニア臭の測定値を示している。アンモニア臭の測定は、匂いセンサ214によって行うことができる。
図10Aは、最初に床付近の匂いを測定した結果を示している。例えば、アンモニア臭がセンサ値で“30”を超えた箇所を掃除するタスクを想定する。図10Aの場合、アンモニア臭について3か所のピークが見られるが、そのうち2か所がセンサ値“30”を超えている箇所である。
タスクAでは、水拭きをするタスクを想定する。アンモニア臭がセンサ値で“30”を超える箇所に対して、ロボット1000が一定時間水拭きを実施する。図10Bは、水拭きをした結果を示している。水拭きの結果、全ての箇所でセンサ値が“30”未満であれば、終了条件1に該当し、掃除タスクAは終了となる。
図10Bでは、センサ値が“30”以上の箇所が1か所残っているため、終了条件2に該当し、次の掃除タスクBを実行する。掃除タスクBでは、一例として、アンモニアを中和する効果のある酸(例えばクエン酸)を用いた掃除を行う。図10Cは、図10Bでセンサ値が30以上の箇所に対して、タスクBを実施した結果を示している。図10Cでは、全ての箇所でセンサ値が“30”未満となっているため、タスクBの終了条件3に該当するものして、掃除タスクは終了となる。
以上説明したように本実施形態によれば、ロボット1000が行う動作を単体のタスクの組み合わせから構成したことにより、タスクの内容を容易に設定できるとともに、タスクを組み合わせたシーケンスも容易に設定することが可能となる。また、終了条件の判定を行うことで、タスクの成功、失敗を容易に判断することができ、タスクの切り換えを容易に行うことが可能となる。これにより、特別な処理を行うことなく、ロボット1000の動作完了条件を設定できるため、利便性を大幅に向上することができる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1) ロボットがタスクを行う際に、当該タスクの終了条件に該当しているか否かを判断する判断部と、
前記終了条件に該当する場合に、前記終了条件に対応する次タスクへ切り換えを行う切換部と、
を備える、ロボットの制御装置。
(2) 前記判断部は、複数の前記終了条件のうちのいずれに該当しているかを判断し、
前記切換部は、複数の前記終了条件のうち前記判断部により該当していると判断された前記終了条件に対応する前記次タスクへ切り換えを行う、前記(1)に記載のロボットの制御装置。
(3) 前記終了条件は、前記タスクが成功したことを示す成功条件と、前記タスクが失敗したことを示す失敗条件とを含む、前記(1)又は(2)に記載のロボットの制御装置。
(4) 前記終了条件に該当していない場合に、当該タスクを実行する実行部を更に備える、前記(1)〜(3)のいずれかに記載のロボットの制御装置。
(5) 前記終了条件は、一連のシーケンスの最終タスクに繋がる前記次タスクに対応する条件と、失敗した当該タスクを回復させる前記次タスクに対応する条件とを含む、前記(1)〜(4)のいずれかに記載のロボットの制御装置。
(6) 前記判断部は、前記ロボットが前記タスクを行う際に取得した画像に基づいて、前記終了条件に該当しているか否かを判断する、前記(1)〜(5)のいずれかに記載のロボットの制御装置。
(7) 前記判断部は、前記ロボットが前記タスクを行う際に取得した物体の3次元形状、または前記ロボットが物体を押す際の圧力に基づいて、前記終了条件に該当しているか否かを判断する、前記(1)〜(5)のいずれかに記載のロボットの制御装置。
(8) 前記判断部は、前記ロボットが前記タスクを行う際に取得した温度、匂い、ガス濃度、又は音に基づいて、前記終了条件に該当しているか否かを判断する、前記(1)〜(5)のいずれかに記載のロボットの制御装置。
(9) 前記判断部は、前記ロボットの関節又は車輪に設けられたアクチュエータの角度位置、前記アクチュエータの角速度、前記アクチュエータを流れる電流値、又は前記関節にかかるトルクに基づいて、終了条件に該当しているか否かを判断する、前記(1)〜(5)のいずれかに記載のロボットの制御装置。
(10) 前記タスクを実行するための前記ロボットの動作を計画する動作計画部と、
前記動作計画部が計画した前記動作に基づいて前記ロボットを制御する制御部と、
を更に備える、前記(1)〜(9)のいずれかに記載のロボットの制御装置。
(11) ロボットがタスクを行う際に、当該タスクの終了条件に該当しているか否かを判断することと、
前記終了条件に該当する場合に、前記終了条件に対応する次タスクへ切り換えを行うことと、
を備える、ロボットの制御方法。
330 判断部
342 タスク切換部
344 タスク実行部
350 動作計画部
360 制御部

Claims (11)

  1. ロボットがタスクを行う際に、当該タスクの終了条件に該当しているか否かを判断する判断部と、
    前記終了条件に該当する場合に、前記終了条件に対応する次タスクへ切り換えを行う切換部と、
    を備える、ロボットの制御装置。
  2. 前記判断部は、複数の前記終了条件のうちのいずれに該当しているかを判断し、
    前記切換部は、複数の前記終了条件のうち前記判断部により該当していると判断された前記終了条件に対応する前記次タスクへ切り換えを行う、請求項1に記載のロボットの制御装置。
  3. 前記終了条件は、前記タスクが成功したことを示す成功条件と、前記タスクが失敗したことを示す失敗条件とを含む、請求項1に記載のロボットの制御装置。
  4. 前記終了条件に該当していない場合に、当該タスクを実行する実行部を更に備える、請求項1に記載のロボットの制御装置。
  5. 前記終了条件は、一連のシーケンスの最終タスクに繋がる前記次タスクに対応する条件と、失敗した当該タスクを回復させる前記次タスクに対応する条件とを含む、請求項1に記載のロボットの制御装置。
  6. 前記判断部は、前記ロボットが前記タスクを行う際に取得した画像に基づいて、前記終了条件に該当しているか否かを判断する、請求項1に記載のロボットの制御装置。
  7. 前記判断部は、前記ロボットが前記タスクを行う際に取得した物体の3次元形状、または前記ロボットが物体を押す際の圧力に基づいて、前記終了条件に該当しているか否かを判断する、請求項1に記載のロボットの制御装置。
  8. 前記判断部は、前記ロボットが前記タスクを行う際に取得した温度、匂い、ガス濃度、又は音に基づいて、前記終了条件に該当しているか否かを判断する、請求項1に記載のロボットの制御装置。
  9. 前記判断部は、前記ロボットの関節又は車輪に設けられたアクチュエータの角度位置、前記アクチュエータの角速度、前記アクチュエータを流れる電流値、又は前記関節にかかるトルクに基づいて、終了条件に該当しているか否かを判断する、請求項1に記載のロボットの制御装置。
  10. 前記タスクを実行するための前記ロボットの動作を計画する動作計画部と、
    前記動作計画部が計画した前記動作に基づいて前記ロボットを制御する制御部と、
    を更に備える、請求項1に記載のロボットの制御装置。
  11. ロボットがタスクを行う際に、当該タスクの終了条件に該当しているか否かを判断することと、
    前記終了条件に該当する場合に、前記終了条件に対応する次タスクへ切り換えを行うことと、
    を備える、ロボットの制御方法。
JP2018098098A 2018-05-22 2018-05-22 ロボットの制御装置及びロボットの制御方法 Pending JP2021154392A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018098098A JP2021154392A (ja) 2018-05-22 2018-05-22 ロボットの制御装置及びロボットの制御方法
PCT/JP2019/014190 WO2019225158A1 (ja) 2018-05-22 2019-03-29 ロボットの制御装置及びロボットの制御方法
US17/056,163 US11820019B2 (en) 2018-05-22 2019-03-29 Robot control apparatus and robot control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018098098A JP2021154392A (ja) 2018-05-22 2018-05-22 ロボットの制御装置及びロボットの制御方法

Publications (1)

Publication Number Publication Date
JP2021154392A true JP2021154392A (ja) 2021-10-07

Family

ID=68616333

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018098098A Pending JP2021154392A (ja) 2018-05-22 2018-05-22 ロボットの制御装置及びロボットの制御方法

Country Status (3)

Country Link
US (1) US11820019B2 (ja)
JP (1) JP2021154392A (ja)
WO (1) WO2019225158A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220395977A1 (en) * 2021-06-15 2022-12-15 X Development Llc Robot instruction distribution framework

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3459973B2 (ja) * 1999-10-22 2003-10-27 川崎重工業株式会社 駆動制御方法および駆動制御装置
US9104195B2 (en) * 2006-12-20 2015-08-11 Lincoln Global, Inc. Welding job sequencer
JP5545534B2 (ja) 2010-04-19 2014-07-09 株式会社安川電機 ロボットの教示再生装置、教示再生方法、及び教示データ作成方法
JP5218470B2 (ja) * 2010-04-28 2013-06-26 株式会社安川電機 ロボットの作業成否判定装置、および方法
US9009530B1 (en) * 2010-06-30 2015-04-14 Purdue Research Foundation Interactive, constraint-network prognostics and diagnostics to control errors and conflicts (IPDN)
JP5218540B2 (ja) 2010-12-13 2013-06-26 株式会社Ihi 組立ロボットとその制御方法
JP2012143844A (ja) 2011-01-13 2012-08-02 Azbil Corp 自動組立システムおよび自動組立方法
JP2012215959A (ja) * 2011-03-31 2012-11-08 Fuji Security Systems Co Ltd 警備用ロボット
WO2014093144A1 (en) * 2012-12-10 2014-06-19 Abb Technology Ag Robot program generation for robotic processes
US9486918B1 (en) * 2013-03-13 2016-11-08 Hrl Laboratories, Llc System and method for quick scripting of tasks for autonomous robotic manipulation
KR20160124770A (ko) 2014-02-20 2016-10-28 엠비엘 리미티드 로봇식 요리용 키친에서의 음식 준비를 위한 방법 및 시스템
JP2017087316A (ja) 2015-11-04 2017-05-25 トヨタ自動車株式会社 動作計画方法
US20180025664A1 (en) * 2016-07-25 2018-01-25 Anna Clarke Computerized methods and systems for motor skill training
JP6838833B2 (ja) 2016-09-05 2021-03-03 国立大学法人信州大学 把持装置、把持方法、及びプログラム

Also Published As

Publication number Publication date
WO2019225158A1 (ja) 2019-11-28
US11820019B2 (en) 2023-11-21
US20210213611A1 (en) 2021-07-15

Similar Documents

Publication Publication Date Title
Bollini et al. Interpreting and executing recipes with a cooking robot
US20230351740A1 (en) Robotic kitchen assistant for preparing food items in a commercial kitchen and related methods
JP3794692B2 (ja) 料理法の全情報記録システム及びロボットによる自動料理システム
JPWO2009004772A1 (ja) ロボットアームの制御装置及び制御方法、ロボット、及び制御プログラム
US20200030966A1 (en) Food cooking device
JP4568795B2 (ja) ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路
US8276506B2 (en) Cooking assistance robot and cooking assistance method
JP6073688B2 (ja) 把持パターンを評価するための方法及びコンピュータプログラムプロダクトとそれを組み込んだロボット
WO2017103682A2 (en) Robotic manipulation methods and systems for executing a domain-specific application in an instrumented environment with containers and electronic minimanipulation libraries
Yamazaki et al. Recognition and manipulation integration for a daily assistive robot working on kitchen environments
Pan et al. Fast handovers with a robot character: Small sensorimotor delays improve perceived qualities
JP5454499B2 (ja) ロボットシステム
JP2021154392A (ja) ロボットの制御装置及びロボットの制御方法
WO2020171085A1 (ja) 複合調理装置及び制御プログラム
JP2021094677A (ja) ロボット制御装置、ロボット制御方法、プログラム及び学習モデル
Bringes et al. Determining the benefit of human input in human-in-the-loop robotic systems
WO2020095687A1 (en) Data processing device and data processing method
Watanabe et al. Cooking behavior with handling general cooking tools based on a system integration for a life-sized humanoid robot
WO2020075397A1 (ja) 情報処理装置、情報処理方法およびプログラム
WO2020095688A1 (en) Robot, robot control device, and control method
US20220331957A1 (en) Data processing device, data processing method, and cooking robot
Sarantopoulos et al. Grasping flat objects by exploiting non-convexity of the object and support surface
JP7336463B2 (ja) ロボット制御装置、ロボットシステム及びロボット制御方法
JP3245165U (ja) シェフロボット装置
WO2021024828A1 (ja) 調理アーム、計測方法、および調理アーム用アタッチメント