JP7230128B2 - ロボット作業の学習方法及びロボットシステム - Google Patents

ロボット作業の学習方法及びロボットシステム Download PDF

Info

Publication number
JP7230128B2
JP7230128B2 JP2021122297A JP2021122297A JP7230128B2 JP 7230128 B2 JP7230128 B2 JP 7230128B2 JP 2021122297 A JP2021122297 A JP 2021122297A JP 2021122297 A JP2021122297 A JP 2021122297A JP 7230128 B2 JP7230128 B2 JP 7230128B2
Authority
JP
Japan
Prior art keywords
robot
information
work
controller
learning
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
JP2021122297A
Other languages
English (en)
Other versions
JP2022027567A (ja
Inventor
クンジュン チェー
ヒョシン ミョン
ミヒョン コ
ジンウォン ピョ
ジェソン オ
テユン イ
チャンウー パク
ホジ イ
ソンピョ イ
Original Assignee
ネイバーラボス コーポレーション
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 ネイバーラボス コーポレーション filed Critical ネイバーラボス コーポレーション
Publication of JP2022027567A publication Critical patent/JP2022027567A/ja
Application granted granted Critical
Publication of JP7230128B2 publication Critical patent/JP7230128B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/427Teaching successive positions by tracking the position of a joystick or handle to control the positioning servo of the tool head, master-slave control
    • 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/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/02Hand grip control means
    • B25J13/025Hand grip control means comprising haptic means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/006Controls for manipulators by means of a wireless system for controlling one or several manipulators
    • 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/1656Programme controls characterised by programming, planning systems for manipulators
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1689Teleoperation
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36455Sensor, tactile feedback, operator feels forces of tool on workpiece
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39311Multilayer, MNN, four layer perceptron, sigmoidal neural network
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39319Force control, force as reference, active compliance
    • 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/40391Human to robot skill transfer
    • 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/40619Haptic, combination of tactile and proprioceptive sensing
    • 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/45Nc applications
    • G05B2219/45216Tapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Manipulator (AREA)

Description

本発明は、遠隔操縦装置を用いてロボット作業を学習する方法及びそのシステムに関する。
世界中で高齢化が進んでおり、それに伴って労働人口の減少や人件費の増加などの社会的問題が生じている。これらの問題により、産業全般にわたって自動化の必要性が高まっており、その解決法として、ロボットによる自動化が脚光を浴びている。このような傾向に伴い、近年、社会のあちこちで人手をロボットに置き換える動きが活発になっている。
しかし、伝統的な製造ロボット市場では、単純繰り返し作業を迅速かつ正確に行うことに関してのみロボット技術が集中しており、電機電子、物流などの新たな産業分野でロボットを用いた自動化の需要に柔軟に対処することが困難である。例えば、電機電子部品の製造においては、工程の標準化が難しく、作業の難易度が非常に高く、生産ラインの寿命が非常に短いので、画一的な作業を繰り返し行う従来のロボット技術を適用することが不適切である。また、物流サービス分野においては、ロボット作業の定型化が難しく、様々な状況への対処を必要とする。例えば、宅配サービスを行うロボットは、様々な重量の配送物品を持ち上げなければならないので、配送物品の重量に応じて適切な制御を行わなければならない。このように、様々な形態の作業が存在し、作業の形態によって異なる「力情報」が要求されるので、ロボットは異なる力情報が要求される様々な形態の作業を行わなければならないという困難さがある。
さらに、家事サービス分野においても、様々な状況が生じ、その場合も力情報が必要である。具体的には、日常生活空間で行われる多くの作業は、その作業を表現するために力情報が必要である。例えば、「パンにバターを塗る作業」のためには、ロボットがバターナイフでバターを押しつぶしながらバターナイフを動かさなければならないが、その押す「力」に応じて「パンにバターを塗る作業」の結果物が異なる。また、バターの硬度やパンの硬度などによっても作業の結果が異なる。
他の例として、ロボットが行うべき作業を表現する場合も、力情報が必要である。具体的には、「机に貼られた接着テープを剥がす作業」や「タオルを用いて机の上の汚れを取る作業」などにおいても、「力」の大きさや方向などの情報を用いて、作業をより正確に表現することができる。一方、近年、ロボットに作業を学習させる知能型ロボット技術が大きく注目されている。現在盛んに研究されている、ロボットに作業を学習させる方法としては、Teaching pendant、Kinesthetic teaching、Teleoperation、Hard codingなどが挙げられる。
しかし、これらの方法は、力情報を必要とする作業をロボットに学習させるには不適切な方法である。
より具体的には、Teaching pendantは、位置及び姿勢情報を保存する方式で作業を学習する方法について記述しており、Kinesthetic teachingは、人間が直接ロボットを掴んで動かすので、ロボットの立場では、人間から伝達される力が教示のための力であるか、作業に必要な力であるかを区別しにくいという問題がある。
Teleoperationは、人間の姿勢情報のみロボットに伝達されるので、力情報を作業に含ませることができないという問題があり、Hard codingは、複雑な作業に対する柔軟性が劣り、また、全ての作業毎にプログラミングをしなければならないという問題がある。
よって、上記問題を解決できる新たな形態のロボット作業の学習方法と、力情報を必要とする作業を行えるロボットシステムに対するニーズが依然として存在する。
本発明は、ロボットが多様で複雑な作業を効果的に学習及び実行できる新たな学習モデルを提供するものである。
上記課題を解決するために、本発明によるロボットシステムは、力を伝達するハプティック操縦装置を用いて専門家が作業を試演し、それを学習するプロセスを用いる。
具体的には、前記ロボットシステムは、作業を行うように構成され、前記作業に関する力情報を検出するロボット装置と、前記ロボット装置を指導できるように操作可能に形成され、前記ロボット装置に対して前記作業の指導が行われる間、前記力情報に基づいてハプティックフィードバックを出力するインタフェース装置と、前記ハプティックフィードバックを出力する前記インタフェース装置により前記作業の指導が行われる間、前記ロボット装置の作業環境に関する第1情報、及び前記ロボット装置の駆動状態に関する第2情報を検知する検知部と、前記ロボット装置が前記作業を自律的に行えるように、前記第1情報及び前記第2情報を用いて、前記作業に関する前記ロボット装置の動作を学習する学習部とを含む。
本発明によるロボットシステムにおいて、前記検知部は、前記インタフェース装置により前記作業の指導が行われる間、前記ロボット装置に加わる外力を検出し、前記インタフェース装置は、前記外力に基づいて前記ハプティックフィードバックを出力する。
前記ハプティックフィードバックは、前記力情報に基づいて前記ロボット装置を指導できるように、前記インタフェース装置からユーザに前記外力に対応する力を伝達するものである。この場合、前記第1情報は、前記力情報に基づいて前記ロボット装置を指導することによって変化する前記作業環境に関する情報であり、前記第2情報は、前記力情報に基づいて前記ロボット装置を指導することによって変化する前記駆動状態に関する情報であってもよい。
本発明によるロボットシステムにおいて、前記ロボット装置は、前記インタフェース装置から前記作業の指導命令を受信する下位制御器と、前記下位制御器による制御の下で前記作業の指導命令に応じた駆動を行う駆動部と、前記下位制御器を制御して前記駆動部を駆動する上位制御器とを含むようにしてもよい。
前記下位制御器は、前記インタフェース装置から前記作業の指導命令を受信して前記駆動部を制御し、前記力情報としてハプティック情報を前記インタフェース装置に送信する。
前記学習部は、前記第1情報及び前記第2情報を用いて、前記作業の学習を行って前記上位制御器の少なくとも一部を導出する。この場合、前記上位制御器は、前記学習に基づいて前記ロボット装置が前記作業を自律的に行えるように、前記下位制御器に対する制御命令を生成するようにしてもよい。また、前記上位制御器は、前記ロボット装置を駆動するように予め設定された第1制御部と、前記学習により導出されて前記第1制御部と連動する第2制御部とを備えるようにしてもよい。
本発明によるロボットシステムにおいて、前記第1情報及び前記第2情報は、前記作業の指導命令と共に時系列データとしてデータベースに保存され、前記学習部は、前記時系列データを用いて前記上位制御器を導出する。
前記駆動部は、QDD(Quasi-Direct-Drive)方式で駆動されるモータを備えるようにしてもよい。また、前記検知部は、前記モータの出力端にかかる力を入力端の電気エネルギーで検知することにより、前記力情報を検出するようにしてもよい。
また、本発明は、インタフェース装置による作業の指導が可能なロボット装置を提示する。前記ロボット装置は、1つの制御器により作業の指導が行われる間、学習データを取得し、他の制御器を学習する。
具体的には、前記ロボット装置は、前記インタフェース装置から前記作業の指導命令を受信する第1制御器と、多関節を備え、前記第1制御器による制御の下で前記作業の指導命令に応じた駆動を行う駆動部と、前記第1制御器による制御の下で前記駆動部が駆動される間、前記ロボット装置の作業環境に関する第1情報、及び前記ロボット装置の駆動状態に関する第2情報を検知する検知部と、前記第1制御器を制御して前記駆動部を駆動する第2制御器とを含む。このとき、前記ロボット装置は、前記第1情報及び前記第2情報を用いて、前記作業の学習を行い、前記第2制御器は、前記学習に基づいて前記ロボット装置が前記作業を自律的に行えるように、前記第1制御器に対する制御命令を生成する。
さらに、本発明は、ロボット作業の学習方法を提示する。前記ロボット作業の学習方法は、インタフェース装置に対する外部操作に基づいて、ロボット作業の指導が行われるステップと、前記インタフェース装置が、前記外部操作に対応する駆動命令をロボット装置に送信し、前記ロボット装置から前記ロボット作業で発生する力に関する情報を受信してハプティックフィードバックを出力するステップと、前記駆動命令に基づいて前記ロボット装置が前記ロボット作業を行う間、前記ロボット装置の作業環境に関する第1情報、及び前記ロボット装置の駆動状態に関する第2情報を検知するステップと、前記第1情報及び前記第2情報を用いて前記ロボット作業の学習を行うステップとを含む。
本発明によるロボット作業の学習方法及びロボットシステムは、ロボットと外部環境との間の力に関する情報に基づいてロボット作業を定義し、ロボットが多様で複雑な作業を容易に学習するようにする。具体的には、本発明は、作業環境の変化に対してより柔軟に対処できる学習方法を実現することができる。
姿勢及び位置に関する情報を用いるロボット作業の定義は、外部環境が変化すると新たなモデリングを導出しなければならないという問題があるが、本発明においては、力を考慮する新たな形態でロボット作業を定義するので、このような問題を解消することができる。
また、本発明は、ハプティック機能を備えたインタフェース装置を用いるので、専門家が実際の環境でロボットに加わる力のフィードバックを受けながらロボット指導を行うようになる。すなわち、様々な環境で力に基づく作業の指導を行うことができる。この場合、本発明は、ロボットにおいて実際の環境で作業に必要な情報を取得し、それを学習に活用し、よって、力情報を必要とする作業をロボットに学習させることができる。
この場合、本発明は、人間のフィジカル・インテリジェンスをロボットの言語(第1情報、第2情報)に変換して学習することができ、作業環境(第1情報)に応じて人間がどう行動するかを指示ステップで様々な情報(第1情報、第2情報)から類推、学習させることができる。また、本発明は、専門家の作業指示をロボットに学習させることができるので、多関節ロボットに対してより効果的な学習を行わせることができる。さらに、本発明は、多関節ロボットの高い自由度を用いて学習を行うので、様々な状況で様々な作業に対して柔軟に対処することができる。この場合、ロボットは、過去に行った作業に関する学習情報を新たな作業に関する学習情報として共に活用することにより、新たな作業の学習速度を向上させることができる。
このように、過去の学習データと学習された結果を用いて、専門家とハプティック装置によりロボットが作業を直接行って得た情報に基づいて学習するので、本発明においては、少ない数の指導、デモンストレーションだけでもロボットの学習を行うことができる。また、本発明は、異なる作業毎にロボットを動作させるためのプログラミングをすることなく、ハプティックを用いてロボットを教示することができるので、ロボットの学習のために必要な時間や努力を短縮することができる。さらに、本発明においては、指導ステップにおいて、下位制御器がインタフェース装置と情報を送受信し、学習ステップにおいて、指導ステップで取得された情報を用いて上位制御器を導出するので、より効率的な学習及びロボット制御が可能になる。
さらに、本発明においては、様々なセンサから得られたデータを用いるので、様々な状況で柔軟に対処できる上位制御器学習が可能になる。
この場合、上位制御器は、共通のミドルウェアとして実現され、異なるロボットの作業プログラムとして提供することができる。よって、ロボットの代替、作業計画の変更やロボットの安全基準の遵守を容易に行うことができる。
本発明によるロボット作業の学習方法及び作業の実行を説明するための概念図である。 本発明によるロボット作業の学習方法及び作業の実行を説明するための概念図である。 本発明によるロボットシステムの概要を説明するための概念図である。 図2のロボット装置の構造を説明するためのブロック図である。 本発明によるロボット作業の学習方法を代表的に示すフローチャートである。 図4の指導ステップの詳細を示すフロー図である。 図4の指導ステップの指導の概念を説明するための概念図である。 図4の学習ステップの詳細を示すフロー図である。 図4の学習ステップの学習の概念を説明するための概念図である。 図4の実行ステップの詳細を示すフロー図である。 図4の実行ステップの実行の概念を説明するための概念図である。 本発明によるロボット作業の学習方法及びロボットシステムの他の実施形態を示す概念図である。 本発明によるロボット作業の学習方法及びロボットシステムのさらに他の実施形態を示す概念図である。
以下、添付図面を参照して本明細書に開示される実施形態について詳細に説明するが、図面番号に関係なく同一又は類似の構成要素には同一又は類似の符号を付し、その説明は省略する。以下の説明で用いる構成要素の接尾辞である「モジュール」及び「部(ユニット)」は、明細書の作成を容易にするために付与又は混用されるものであり、それ自体が有意性や有用性を有するものではない。また、本明細書に開示される実施形態について説明するにあたって、関連する公知技術についての具体的な説明が本明細書に開示される実施形態の要旨を不明瞭にする恐れがあると判断される場合は、その詳細な説明を省略する。なお、添付図面は本明細書に開示される実施形態を容易に理解できるようにするためのものにすぎず、添付図面により本明細書に開示される技術的思想が限定されるものではなく、本発明の思想及び技術範囲に含まれるあらゆる変更、均等物又は代替物が本発明に含まれるものと理解されるべきである。
第1、第2などのように序数を含む用語は様々な構成要素を説明するために用いられるが、上記構成要素は上記用語により限定されるものではない。上記用語は1つの構成要素を他の構成要素と区別する目的でのみ用いられる。
ある構成要素が他の構成要素に「連結」又は「接続」されていると言及された場合は、他の構成要素に直接連結又は接続されていてもよく、中間にさらに他の構成要素が存在してもよいものと解すべきである。それに対して、ある構成要素が他の構成要素に「直接連結」又は「直接接続」されていると言及された場合は、中間にさらに他の構成要素が存在しないものと解すべきである。
単数の表現には、特に断らない限り複数の表現が含まれる。
本明細書において、「含む」や「有する」などの用語は、明細書に記載された特徴、数字、ステップ、動作、構成要素、部品、又はそれらの組み合わせが存在することを指定しようとするもので、1つ又はそれ以上の他の特徴、数字、ステップ、動作、構成要素、部品、又はそれらの組み合わせの存在や付加可能性を予め排除するものではないと理解すべきである。
本発明は、力情報に基づいてロボット作業を学習させる方法及びシステムを提供するものである。
より具体的には、本発明は、ロボット作業時に発生する力に関する情報(力情報)に基づいてロボット作業を新たに定義する方法及びシステムを提供するものである。また、本発明は、自由度の高い多関節ロボットに対してより効果的に学習を行う方法及びシステムを提供するものである。
さらに、本発明は、外部環境が反映されて作業が自律的に行われるように、ロボットを指導するユーザの意図を反映できる学習方法及びシステムを提供するものである。
さらに、本発明は、作業指導時に外部環境を反映する方法、並びに学習データを効果的に取得できる学習方法及びシステムを提供するものである。
さらに、本発明は、産業現場やサービス現場で変化する作業環境に応じて新規の作業指示を容易に行うための現場技術を提供するものである。
本発明は、ハプティック機能を有する遠隔操縦装置(又はインタフェース装置)を用いてロボット作業を学習する方法及びそのシステムを提供するものである。
ここで、ハプティック(haptic)とは、コンピュータ触覚技術であって、具体的には、ユーザの入力装置により触覚、力、運動感覚などを感じさせる技術を意味する。この場合、触覚、力、運動感覚の効果は、振動、空気噴射、温度制御などにより実現することができ、他の例として、ユーザが指や腕などの筋感覚を通して感じるように実現することもできる。また、本明細書において説明されるハプティックフィードバックとは、入力装置によるフィードバックを用いて触覚、力、運動感覚などを感じさせる技術を意味する。
このように、本発明は、ロボットの遠隔操縦装置にハプティックフィードバックを出力することにより、実際の作業環境でロボットにより生成される力を遠隔操縦装置のユーザに認知(知覚)させる。
また、本明細書において、ロボットは、i)人間に類似した機能を有する機械、又は、ii)1つもしくは複数のコンピュータプログラムで動作し(programmable)、自動的に複雑な一連の作業(complex series of actions)を行う機械的装置をいう。他の例として、ロボットは、形態があり、自ら考える能力を有する機械であり得る。
特に、本明細書において例に挙げるロボットには、機能的観点から、製造工場で組立、溶接、ハンドリングなどを行う産業用ロボット、環境を認識して自ら判断する機能を有する知能型ロボットなどがある。また、本明細書において説明されるロボットは、1つの機能を行うのではなく、様々な機能を複合的に行うように構成することができる。
さらに、本明細書において説明されるロボットは、形状と行動が人間に似たアンドロイドロボット、人間に類似した身体構造を有するヒューマノイドロボット、身体の一部を機械に改造したサイボーグなどの形態で実現することができる。
さらに、本明細書において説明されるロボットには、用途的観点から、掃除ロボット、娯楽ロボット、教育ロボット、リハビリロボットなどの個人サービス用ロボット(service robot for personal and private use)、案内ロボット、消防ロボット、医療ロボット、配達ロボット、災難救助ロボット、引っ越しロボット、家事ロボット、厨房ロボットなどの専門サービス用ロボット(service robot for professional use)、溶接ロボット、塗装ロボット、移送ロボットなどの製造用ロボット(industrial robot)、戦闘ロボット、偵察ロボットなどの軍事用ロボット(military robot)などが含まれる。
一方、本明細書において説明されるロボットは、前述した機能や用途を実現するために、アクチュエータ、制御システム、エンドエフェクタ、マニピュレータ、センサなどを備える。
なお、本発明によるロボットは、様々な作業を行うための適切な形態をとるために、多関節のマニピュレータを有する多関節ロボットに実現することができる。また、本発明においては、多関節ロボットの新たな学習方法を提示することにより、ロボットが多様で複雑な作業を安全に実行できる新たな学習モデルを実現する。
もっとも、本発明の実施形態においては、多関節の駆動部とインタフェース装置の構造を基準に、ロボットの新たな学習方法について説明するが、本発明は、これに限定されるものではない。すなわち、以下に説明する実施形態は、ロボットの構造や学習方式であれば、タイプに関係なく適用することができる。
図1a及び図1bは、本発明によるロボット作業の学習方法及び作業の実行を説明するための概念図である。
図1aに示すように、ユーザはロボットに特定の作業環境に必要な作業を指導する。
ここで、作業環境とは、ロボットが作業を行うための環境をいい、ロボットを囲む様々な環境的要因が含まれる。特に、作業環境は、ロボットが行う作業に関する材料、道具、作業対象などが全て含まれる意味と解される。
以下、特定の作業及び特定の作業環境の具体例を挙げて本発明を説明する。
特定の作業として、「木に釘を打ち込む作業」を例に挙げる。
本発明においては、特定の作業を行うために、ユーザにより、木に釘を打ち込む作業がロボットに指導される。ユーザは、作業の専門家又はロボット指導の専門家であってもよい。ユーザは、インタフェース装置を用いてロボットを遠隔操縦するようにしてもよい。一方、本明細書において言及される「ユーザ」は、必ずしも専門家に限定されるものではなく、インタフェース装置を用いてロボットを操縦できる主体であればよい。
本明細書において、「指導」は、ロボットを教えて導くという意味であり、ガイド、教示などともいえる。
インタフェース装置は、ユーザの操作により、駆動命令を生成してロボットに送信するようにしてもよい。例えば、インタフェース装置は、遠隔操縦装置であって、ロボットとの通信により駆動命令を送信する。
同図に示すように、ロボットは、ユーザの操作により、木に釘を打ち込む作業を行う。この場合、作業環境(又は特定の作業環境)には、木などのオブジェクト、木の位置、木の材質、ロボットの姿勢の制約などが含まれる。
一方、本発明においては、インタフェース装置としてハプティック装置を用いて、力情報を必要とする作業を力の制御が可能なロボットに学習させる方法論を提示する。
よって、前記インタフェース装置は、ロボットが釘を打ち込む際に発生する力をハプティックフィードバックとして出力するように構成される。そのために、前記インタフェース装置は、ハプティックモジュールを備えてもよい。
ユーザは、実際に作業時にロボットに発生する力を感じながら、インタフェース装置を用いて、遠隔操縦により、釘を打ち込む作業をロボットに指導する。具体的には、ロボットは、実際の作業を試演する形態で行い、このとき、ユーザがインタフェース装置を通じて当該作業で発生する実際の力を感じると共に、前記試演のために前記インタフェース装置を操縦する。
この場合、ロボットは、作業指導過程で学習のための学習データを検出し、検出した学習データを含むデータベースを構築するようにしてもよい。また、ロボットは、構築したデータベースを用いて、マシンラーニングなどにより作業を学習するようにしてもよい。
学習により、制御器、制御プログラム、作業実行ポリシーなどが導出され、ロボットは、ユーザによる指導がなくても、学習結果を活用して、過去に行った作業及びそれに類似した作業を自律的に行うようになる。
このような学習の結果として、図1bに示すように、ロボットは、コンクリート壁に釘を打ち込む作業を行えるようになる。コンクリート壁に釘を打ち込む場合は、水平方向に配置された木とは異なってオブジェクトが垂直方向に配置される点や、釘を打ち込むためにさらに大きな力が必要である点などで、作業環境が異なる。しかし、ロボットは、作業指導過程でユーザの行為の意図を把握したので、作業を実行するにあたって作業環境が変わっても作業を自律的に行うことができる。
ただし、本発明は、必ずしも本例のようなプロセスに限定されるものではない。本実施形態を他の形態で実施できることは、本発明の属する技術の分野における通常の知識を有する者であれば容易に理解できるであろう。その例として、指導ステップで、垂直方向に配置された木に釘を打ち込む作業を指導するようにしてもよい。そして、実際の作業過程で、木ではなくコンクリートに釘を打ち込む作業がロボットに要求されることがある。その場合、作業の対象となるオブジェクトは、木からコンクリートに変更され、それは作業環境の変更を意味する。このように作業環境が変更されると、本発明によるロボットは、変更された作業環境での作業のために、従来学習した作業の作業情報(例えば、力情報)から、変更された作業環境に必要な作業情報を導出するようにしてもよい。例えば、上記の場合、木ではなくコンクリートに釘を打ち込むために、木に釘を打ち込む場合よりもさらに大きな力を必要とし、本発明によるロボットは、学習に基づいて、新たに付与された作業のために必要な力情報を導出する。
図1a及び図1bを参照して説明したロボット作業の学習方法及び作業の実行を実現するために、本発明は、ロボット作業の新たな定義と、ロボットに様々な作業を学習させる方法を提示する。
このように、本発明は、ロボット作業を新たに定義し、様々な作業を学習する方法論を提供するものである。以下、本発明によるロボット作業の学習方法及びロボットシステムについて、添付図面と共により具体的に説明する。図2は、本発明によるロボットシステムの概要を説明するための概念図であり、図3は、図2のロボット装置の構造を説明するためのブロック図であり、図4は、本発明によるロボット作業の学習方法を代表的に示すフローチャートである。
以下、「1つのロボットを学習させるシステム及び学習方法」を例に挙げて説明するが、本発明は、複数のロボットを学習させるシステム及び学習方法にも適用できることは言うまでもない。
図2に示すように、本発明によるロボットシステム100は、ロボット装置110、インタフェース装置120及びデータベース130の少なくとも1つを含む。また、ロボットシステム100は、ユーザ10及び作業環境20と組み合わせられ、図4の学習法を実現する。
まず、図4に示すように、本発明の学習法は、指導ステップ(S100)、学習ステップ(S200)及び実行ステップ(S300)のプロセスで構成されてもよい。
指導ステップ(S100)は、ユーザがインタフェース装置120によりロボット装置110を操縦して作業を行うことにより、ロボット装置110を指導するステップであってもよい。
図2を参照すると、指導ステップ(S100)で、ユーザ10は、ハプティック機能を有するインタフェース装置120によりロボット装置110を操縦して作業を行う。前述したように、ユーザ10は、作業の専門家又はロボット指導の専門家であってもよい。
作業環境20は、作業に必要なオブジェクトを含む環境であり、物体、ツール及びその周辺環境をまとめて指し示す。一例として、建物内で宅配物品を受取人に運搬する場合、作業環境20には、宅配物品(物体)、運搬時の保管箱(ツール)、建物の内外、廊下、階段、エレベータなどの場所(周辺環境)が含まれ得る。他の例として、前述したように木に釘を打ち込む場合、作業環境20には、木及び釘(物体)、ハンマー(ツール)、木が配置された形態(周辺環境)が含まれ得る。
この場合、ロボット装置110も、それ自体として作業環境20に含まれ得る。例えば、ロボット装置110のサイズや移動範囲などが作業環境20に含まれ得る。
また、本実施形態において、作業は、特定の物体又は対象を所望の状態(位置、姿勢など)にすることであると定義される。一例として、建物内で宅配物品を受取人に運搬する場合、作業は、宅配物品を所望の位置に運搬して受取人に伝達することであり得る。他の例として、前述したように木に釘を打ち込む場合、作業は、釘に垂直方向に力を加えて床に水平方向に配置された木に釘を打ち込むことであり得る。
インタフェース装置120は、学習指導装置であり、ハプティック遠隔操縦装置であってもよい。例えば、インタフェース装置120は、ユーザ10がロボット装置110を操縦して作業を行うようにし、作業中に行われるロボット装置110と作業環境20との相互作用をユーザ10に認知させるためのハプティックフィードバックを提供する装置であってもよい。
そのために、インタフェース装置120は、ロボット装置110を指導できるように操作可能に形成され、ロボット装置110に対して前記作業の指導が行われる間、前記力情報に基づいてハプティックフィードバックを出力するように構成される。
その例として、インタフェース装置120は、6自由度以上を有する装置であってもよく、また、各自由度がアクチュエータにより動く構造を有するようにしてもよい。このような操作のための構成に加えて、インタフェース装置120は、ハプティックフィードバックを提供する装置をさらに備える。
例えば、インタフェース装置120は、ハプティックフィードバックを出力するハプティックモジュールを備えてもよい。また、前記ハプティックモジュールは、インタフェース装置120においてハプティック機能の組み合わせによって2つ以上備えられてもよい。
一方、インタフェース装置120は、ロボット装置110との通信のための無線通信部と、ロボット装置110からの情報をユーザに伝達する出力部とを備えてもよい。
前記無線通信部は、ロボット装置110との無線通信のためのモジュールで構成されてもよく、前記出力部は、ロボット装置110から受信した画像情報を出力するディスプレイ機器などであってもよい。この場合、前記ディスプレイ機器は、3Dディスプレイ、混合現実ディスプレイ、VR機器などであってもよい。
ロボット装置110は、作業を行うように構成され、前記作業に関する力情報を検出するように形成される。
ロボット装置110は、図1を参照して説明したロボットの様々な形態のいずれかであってもよい。ロボット装置110は、作業環境に変化を与える装置(駆動部)を含み、作業環境を認知する装置(センサなど)を備えてもよい。
その例として、図3に示すように、ロボット装置110は、無線通信部111、検知部112、駆動部113、制御部114、メモリ115、インタフェース部116、電源供給部117などを備えてもよい。ただし、本明細書において説明されるロボット装置110は、前記列挙された構成要素よりも多い構成要素を備えるようにしてもよく、それより少ない構成要素を備えるようにしてもよい。例えば、検知部112及び制御部114は、ロボット装置110内に存在するようにしてもよく、ロボット装置110の外部に存在するようにしてもよい。つまり、無線通信部111、検知部112、駆動部113、制御部114、メモリ115、インタフェース部116及び電源供給部117は、その一部がロボット装置110として構成され、他の一部が別の装置に実現されるようにしてもよい。また、無線通信部111は、有線通信部で代替してもよい。さらに、ロボット装置110及びインタフェース装置120が別の有線通信部を備えるようにしてもよい。この場合、ロボット装置110及びインタフェース装置120には、有線及び無線通信だけでなく、1つのシステム内でメモリを用いる通信も含まれるようにしてもよい。
無線通信部111は、ロボット装置110とインタフェース装置120との間、ロボット装置110と他のロボット装置との間、又はロボット装置110と外部サーバとの間の無線通信を行う。また、無線通信部111は、ロボット装置110を1つ以上のネットワークに接続する1つ以上のモジュールを含んでもよい。その例として、無線通信部111は、無線インターネットモジュール111a、近距離通信モジュール111b、位置情報モジュール111cなどを備えてもよい。
無線インターネットモジュール111aは、無線インターネット接続のためのモジュールであり、ロボット装置110に内蔵されるか又は外付けされる。無線インターネットモジュール111aは、無線インターネット技術による通信網で無線信号を送受信するように構成される。
近距離通信モジュール111bは、近距離通信(Short range communication)のためのモジュールであり、ロボット装置110の近距離通信をサポートする。例えば、近距離通信は、ブルートゥース(BluetoothTM)、RFID(Radio Frequency Identification)、IrDA(Infrared Data Association)、UWB(Ultra Wide Band)、ZigBee、NFC(Near Field Communication)、Wi-Fi(Wireless Fidelity)、Wi-Fi Direct(Wireless Fidelity Direct)、ワイヤレスUSB(Wireless Universal Serial Bus)技術の少なくとも1つであってもよい。
位置情報モジュール111cは、ロボット装置110の位置(又は現在位置)の取得のためのモジュールであり、GPSベース及びネットワークベースの測位技術の少なくとも一方を用いるものであってもよい。ただし、位置情報モジュール111cは、検知部112と組み合わせられて位置情報を取得するようにしてもよい。この場合、位置情報モジュール111cは、光センサベース、ライダベース、慣性センサベース、画像ベース、融合センサベースの測位技術に必要な情報を受信するモジュールであってもよい。
検知部112は、作業で発生する力に関する情報(力情報)、ロボット装置110内の情報(特に、ロボット装置110の駆動状態に関する情報)、ロボット装置110を囲む周辺環境に関する情報、ロボット装置110の位置に関する情報、及びユーザ情報の少なくとも1つを検知するための1つ以上のセンサを含んでもよい。
前記作業で発生する力は、例えば、ロボット装置110に加わる外力であってもよい。この場合、前記外力は、力トルクセンサを用いて測定したり、モータに供給される電流などのロボット装置110の状態を用いて推定する方式で算出することができる。
ロボット装置110の駆動状態は、モータの角度、加速度及び角速度や、モータに供給されるトルク又は電流などであってもよい。よって、検知部112は、モータに供給される電流を検知する電流センサ112aと、モータの角度を検知するエンコーダ112bとを備えてもよい。また、検知部112は、モータの加速度及び角速度を検知するIMUセンサ、モータに供給されるトルクを検知するトルクセンサなどをさらに備えてもよい。
ロボット装置110を囲む周辺環境には、作業環境20が含まれる。よって、検知部112は、特定のセンサを用いて、オブジェクトとの距離、作業環境の温度などのデータを測定するようにしてもよい。また、検知部112は、ビジョンプロセッシングで情報を取得するために、カメラ112cを備えてもよい。このように作業環境20を検知するセンサは、ロボット装置110内に存在するようにしてもよく、ロボット装置110の外部に存在するようにしてもよい。例えば、ロボット装置110と共に周辺状況を撮影する場合、前記センサは、ロボット装置110の外部に備えられてもよい。
他の例として、検知部112の構成に関係なく、指導ステップ(S100)での情報の取得のために、本発明によるロボットシステム100においては、イメージセンサ、カメラなどがロボット装置110の外部に別途備えられてもよい。
駆動部113は、制御部114による制御の下で前記ユーザの指導命令に応じた駆動を行うように構成される。その例として、駆動部113は、エンドエフェクタ113a、マニピュレータ113b及びアクチュエータ113cの少なくとも1つを備えてもよい。
エンドエフェクタ113aは、環境と相互作用するように設計されたロボットアームの先端装置であり、グリッパ、ピンセル、メスなどであってもよい。このようなエンドエフェクタ113aは、ロボット装置110とは別に、ロボットの周辺機器やアクセサリーなどとして備えられてもよい。
マニピュレータ113bは、ロボット装置110の本体及び腕(アーム)にリンク、ジョイント及びその他の構造要素とメカニズムを統合する装置である。多関節ロボットの場合、モータの回転運動を行う複数の関節を有するマニピュレータ113bを備えるようにしてもよい。
この場合、マニピュレータ113b及びエンドエフェクタ113aは、6自由度以上の腕及び1自由度以上の手(ハンド)を形成するようにしてもよい。また、本発明のロボット装置110を双腕ロボット又は複数の腕を有するロボットに実現するために、前記腕及び前記手を複数対にしてもよい。
アクチュエータ113cは、電気、化学又は熱エネルギーを回転又は直線運動に変換する装置であり、モータ、空圧シリンダ、人工筋肉などであってもよい。
アクチュエータ113cは、QDD方式で駆動されるモータを備えてもよい。QDD方式では、出力端にかかる力を入力端のセンサにより検知する。
この場合、前記入力端のセンサは、検知部112に含まれるようにしてもよい。すなわち、検知部112は、前記モータの出力端にかかる力を入力端の電気エネルギーで検知することにより、前記力情報を検出するようにしてもよい。
このように、前記QDD方式のモータの電流センサにより外力を検知することができ、前記モータの電流を制御してトルクを予測することができる。ロボット作業で発生する外力は、前記モータに供給される電流などのロボット装置110の状態を用いて推定する方式で算出することができる。ただし、本発明は、必ずしもこれに限定されるものではない。例えば、QDD方式でなくても、モータと共に関節のトルクを測定できるセンサを用いてトルク制御を実現することもできる。
一方、本発明のロボット装置110は、メモリ115、インタフェース部116及び電源供給部117を備えてもよい。
メモリ115は、制御部114の動作のためのプログラムを保存することができ、入出力されるデータ(例えば、駆動命令など)を一時保存することもできる。インタフェース部116は、ロボット装置110を外部機器に接続するための通路として備えられてもよい。例えば、インタフェース部116は、接続端子、ポート、電源端子などであってもよい。電源供給部117は、外部の電源又は内部の電源の供給を受けてロボット装置110の各構成要素に供給する装置であってもよい。他の例として、電源供給部117は、ロボット装置110の内部で電気エネルギーを生成してロボット装置110の各構成要素に供給する装置であってもよい。
制御部114は、作業を行う動作と共に、通常のロボット装置110の全般的な動作を制御する。
図3に示すように、制御部114は、第1制御器及び第2制御器を備えてもよい。
本実施形態において、前記第1制御器は、下位制御器114bであり、前記第2制御器は、上位制御器114aである。ただし、本発明は、必ずしもこれに限定されるものではない。他の例として、前記第1制御器は、上位制御器であり、前記第2制御器は、下位制御器であってもよい。さらに他の例として、前記第1制御器及び前記第2制御器は、上位制御と下位制御を適用せず、並列に構成してもよい。
下位制御器114bは、1つ又は複数の制御器で構成されてもよい。例えば、下位制御器114bは、位置制御器、速度制御器及び電流制御器の少なくとも1つを含むようにしてもよい。この場合、駆動部113は、下位制御器114bによる制御の下でユーザの指導命令に応じた駆動を行うようになる。
例えば、下位制御器114bは、インタフェース装置120から前記作業の指導命令を受信し、駆動部113を制御する。また、下位制御器114bは、上位制御器114aから前記作業の駆動命令を受信し、駆動部113を制御するようにしてもよい。この場合、上位制御器114aは、下位制御器114bを制御して駆動部113を駆動する機能を実行する制御器となり、詳細については後述する。
具体的には、下位制御器114bは、インタフェース装置120又は上位制御器114aから命令を受信し、検知データを用いてモータに供給するトルク又は電流を計算するようにしてもよい。計算の結果によって、位置制御器、速度制御器、電流制御器などによりモータなどを駆動し、駆動命令は、1つの又は複数のパラメータにより決定されるようにしてもよい。
この場合、前記駆動命令には、作業に関する情報が含まれない。すなわち、下位制御器114bは、例えば、特定のモータを特定の位置に動かせる命令、特定のモータに特定量の電流を流す命令などの命令を実行する。
最終的に、下位制御器114bは、モータを用いて外部環境と力との相互作用を行う制御器であり、上位制御器114a又はインタフェース装置120により受信した命令を用いてモータなどのアクチュエータ113を制御する機能を実行する。このように、指導ステップ(S100)においては、下位制御器114bがインタフェース装置120から駆動命令を受信し、モータなどのアクチュエータ113を制御する。
図2に示すように、本発明によるロボットシステム100は、データベース130をさらに含んでもよい。指導ステップ(S100)でロボット装置の状態及び作業環境に関する情報を検知し、インタフェース装置120から下位制御器114bへの命令を検出し、それらは時系列データとしてデータベース130に保存されるようにしてもよい。
一方、データベース130には、指導ステップ(S100)の情報だけでなく、過去のデータが共に保存されるようにしてもよい。その例として、過去の学習により導出されたポリシー(方法論)が共に保存されるようにしてもよい。
図4の学習ステップ(S200)においては、学習部140(図6b参照)がデータベース130を用いて学習を行い、学習ステップ(S200)の結果物として、上位制御器114aの少なくとも一部が導出されるようにしてもよい。そのために、本発明によるロボットシステム100は、学習部140をさらに含んでもよい。
学習部140は、ロボット装置110が前記作業を自律的に行えるように、データベース130を用いて、前記作業に関するロボット装置110の動作を学習する。例えば、学習部140は、ロボット装置110とは別に構成されてもよく、ロボット装置110の内部に備えられてもよい。また、学習部140は、データベース130と共に別のサーバに備えられてもよい。
学習ステップ(S200)は、指導ステップ(S100)で生成された情報(検知データ及びロボットの内部状態)などをデータベース130に保存し、保存したデータを用いて学習し、対象作業を行うためのポリシー(例えば、上位制御器)を導出するステップであってもよい。
ここで、上位制御器を導出する条件(objective function:目的関数)は、ユーザがインタフェース装置によりロボット装置を操縦して行った作業と学習された上位制御器を用いて行った作業の結果物が同じでなければならないという条件であってもよい。
また、その場合、学習ステップ(S200)は、必ずしも指導ステップ(S100)が完了した後に行わなければならないわけではない。本発明においては、例えば、指導ステップ(S100)が学習ステップ(S200)に先行するが、時間の流れを基準に、指導ステップ(S100)の少なくとも一部が学習ステップ(S200)と重なるようにしてもよい。
図3に示すように、上位制御器114aは、ロボット装置110の制御部114に備えられてもよい。また、上位制御器114aは、複数の制御器に分けられて備えられてもよく、様々な形態に変形可能である。その例として、上位制御器114aは、人工知能(AI,Artificial Intelligence)技術で用いられるシステムの1つとして実現することができる。
例えば、上位制御器114aは、階層的制御器、有限状態機械(finite state machine)及びビヘイビアツリー(behavior tree)の少なくとも1つを備えるようにしてもよい。このような上位制御器114aは、プログラミング言語であるゲン(Gen)、パイソン(Python)、リスプ(LISP)、ジュリア(Julia)、C/C++などと、AIディープラーニングフレームワークであるテンソルフロー(TensorFlow)、パイトーチ(Pytorch)、テアノ(Theano)などにより実現することができる。この場合、上位制御器114aは、学習ステップ(S200)の結果物であってデータから学習された部分と、学習に関係なく予めプログラミングされた部分とをそれぞれ備えるようにしてもよい。
図4の実行ステップ(S300)において、上位制御器114aは、行うべき作業の入力を受け、現在の状態の情報から次の行為に関する情報を算出し、下位制御器114bに伝達するようにしてもよい。このように、ロボット装置110は、学習されたポリシーや導出された上位制御器114aを用いて、実行ステップ(S300)で作業を自律的に行うようになる。
上位制御器114aは、学習ステップ(S200)の結果物であって下位制御器114bに一方向に命令を伝達するので、上位制御器114aと下位制御器114bとは異なる周期を有するように設定されてもよい。
この場合、上位制御器114aは、作業に関する情報を含み、モーションを行うための一連のシーケンスで表すことができる。その例として、上位制御器114aは、次のように表される。
Figure 0007230128000001
x:センサから得られたデータ(ロボット及び作業環境の状態)
u:行為(下位制御器の立場では命令)
t:1:1秒からt秒までの状態
ここで、行為は、ロボット装置のエンドエフェクタの姿勢やモータのトルク(又は電流)であってもよい。また、行為は、ベクトル場(vector field)で表される状態・トルク関数であってもよく、下位制御器を構成するパラメータセットの部分集合であってもよい。
このように、本発明においては、ハプティック機能を備えたインタフェース装置120を用いることにより、専門家が実際の環境でロボットに加わる力のフィードバックを受けながらロボット指導を行うようになり、そのロボット指導において検知された様々な情報を学習して上位制御器114aを導出する。よって、ハプティック装置を用いて、力情報を必要とする作業を力の制御が可能なロボットに学習させる方法論を実現することができる。
以下、前述した本発明によるロボットシステム100を参照して、ロボット作業の学習方法について、添付図面と共により具体的に説明する。図5a及び図5bは、それぞれ図4の指導ステップの詳細を示すフロー図及び指導の概念を説明するための概念図であり、図6a及び図6bは、それぞれ図4の学習ステップの詳細を示すフロー図及び学習の概念を説明するための概念図であり、図7a及び図7bは、それぞれ図4の実行ステップの詳細を示すフロー図及び実行の概念を説明するための概念図である。
本発明によるロボット作業の学習方法において、図4の指導ステップ(S100)は、図5aのように細分化することができる。
まず、インタフェース装置120に対する外部操作に基づいて、ロボット作業の指導が行われる。すなわち、専門家によりロボット作業の指導のための操縦装置の操作が行われる(S110)。前記専門家は、ユーザ、作業の専門家、ロボット指導の専門家、作業者など様々であり、説明の便宜上、以下、専門家と統一して示す。
この場合、専門家のロボット指導のための事前準備が行われてもよい。例えば、ロボット作業が決定されると、ロボットの指導及び学習のための細部的な作業環境の設定や指導計画の設定などが行われてもよい。
インタフェース装置120は、図5bに示すように、人間の腕やロボットアームに類似したサイズを有し、多関節からなるようにしてもよい。また、インタフェース装置120は、図1~図4を参照して説明したインタフェース装置の機能や構造を備えるようにしてもよい。
次に、専門家がインタフェース装置120を把持して動かして操作を行うと、インタフェース装置120により駆動命令が生成されてロボット装置110に送信される(S120)。すなわち、インタフェース装置120が前記操作に対応する駆動命令をロボット装置110に送信する。ただし、本発明は、必ずしもこれに限定されるものではなく、インタフェース装置120が前記動きに関する情報をロボット装置110に送信し、ロボット装置110が駆動命令を生成するようにしてもよい。
より具体的には、前記動きに関する情報は、インタフェース装置120の無線通信部とロボット装置110の無線通信部とのデータ通信によりロボット装置110に送信されるようにしてもよい。その後、前記動きに関する情報は、ロボット装置110の下位制御器114b(図2及び図3参照)に伝達される。この場合、ロボット装置110が専門家の操作や動きを描写するために、インタフェース装置120及びロボット装置110の機構学情報に基づく制御器やアルゴリズムが備えられてもよい。
次に、前記駆動命令に基づいてロボット装置110が作業を行う(S130)。具体的には、ロボット装置110の下位制御器114bに動作の実行のための命令が入ると、下位制御器114bがロボット装置110の駆動部113を制御して作業を行う。例えば、ロボット装置110において、検知部112は、作業環境やモータの現在状態などを検知し、下位制御器114bは、検知部112から作業環境やモータの現在状態などを受信して作業の実行のための動作を算出し、それに対応してモータを制御する。この場合、前記モータは、図1~図4を参照して説明したように、QDD方式のモータであってもよく、他の方式のモータであってもよい。
このように、前記モータにより、ハードウェア、すなわちエンドエフェクタ113a(図3参照)及びマニピュレータ113b(図3参照)が動くと、作業環境と力との相互作用により作業環境の変化が生じる。このような作業環境の変化は、例えば、釘を打って木から突出した釘の高さが異なることなどであり、その詳細については前述した通りである。このとき、検知部112のセンサは発生した外力を検知する(S140)。また、検知部112は、作業環境の状態や変化を検知する。
次に、インタフェース装置120が前記ロボット作業で発生する力に関する情報(力情報)をロボット装置110から受信し、ハプティックフィードバックを出力するステップが行われる。
このように、検知部112は、インタフェース装置120により前記専門家の指導が行われる間、ロボット装置110に加わる外力を検出し、インタフェース装置120は、前記外力に基づいて前記ハプティックフィードバックを出力する。
より具体的には、センサにより取得された外力及び作業環境の状態や変化に関する情報は、インタフェース装置120を介して前記専門家に伝達される。まず、前記情報は、ハプティック情報としてインタフェース装置120に送信されるようにしてもよい(S150)。前記ハプティック情報は、前記外力及び前記作業環境の状態や変化を通知するデータであってもよい。この場合、下位制御器114bは、前記力情報としてハプティック情報をインタフェース装置120に送信するようにしてもよい。
例えば、図5bに示すように、ロボット装置110が木に釘を打ち込むためにハンマーで釘を打つと、反力(F1)が発生してロボット装置110に力を加え、その反力(F1)のデータが力情報としてインタフェース装置120に伝達される。インタフェース装置120は、専門家が把持する部分に対して反力(F1)に対応する力(F2)を垂直方向に加えることにより、専門家が釘を打ち込む作業で反力(F1)を感じるようにする。もっとも、本明細書においては、反力を例に挙げて説明するが、作業環境では、ハンマーの重量など、様々な外力、物体の材質、表面の粗さなどが発生し、そのような外力が前記力情報に含まれ得る。
このように、前記ハプティックフィードバックは、前記力情報に基づいてロボット装置110を指導できるように、インタフェース装置120からユーザに前記外力に対応する力を伝達するものである。
前記ハプティックフィードバックのために前記ハプティックモジュールを駆動する駆動命令は、インタフェース装置120で生成される。他の例として、前記ハプティック情報は、前記データから導出したインタフェース装置120に対する制御命令であってもよく、その場合は、前記制御命令を用いて前記ハプティックモジュールを駆動する。
前記ハプティックモジュールの駆動により、インタフェース装置120は、前記外力に関するハプティックフィードバックを出力する(S160)。例えば、前記ハプティックモジュールは、複数のアクチュエータ又は装置を備えるようにしてもよく、インタフェース装置120は、専門家が感じるように、アクチュエータ又は装置により力や環境変化のデータを送信するようにしてもよい。
このように前記ハプティックフィードバックを受けた専門家は、力を反映してロボット作業の指導のための操縦装置の操作を行う(S110)。
このように、専門家は、指導に必要な情報をインタフェース装置120から受け入れることができ、作業環境を直接見て感じることもできる。ただし、作業環境との相互作用はロボット装置110によってのみ行われる。すなわち、環境に変化を与える方法は、ロボット装置110によってのみ可能である。
前述した指導ステップ(S100)の次に図4の学習ステップ(S200)が行われる。本発明によるロボット作業の学習方法において、学習ステップ(S200)は、図6aのように細分化することができる。
図6aに示すように、学習ステップ(S200)は、データ保存ステップとポリシー(方法論)学習ステップとを含むようにしてもよい。
まず、指導ステップ(S100)で前記駆動命令に基づいてロボット装置110が作業を行うと、学習データが検知される(S210)。より具体的には、インタフェース装置120からロボット装置110に送信された駆動命令に基づいてロボット装置110が前記ロボット作業を行う間、前記学習データとして、ロボット装置110の作業環境に関する第1情報、及びロボット装置110の駆動状態に関する第2情報が検知される。
前記第1情報及び前記第2情報の検知は、ハプティックフィードバックを出力するインタフェース装置120により前記ロボット作業の指導が行われる間、検知部112により行われる。ただし、前記学習データは、前記第1情報及び前記第2情報を必ずしも含むわけではなく、いずれか一方の情報のみを含むようにしてもよい。
このように検知された前記第1情報及び前記第2情報は、専門家の行為の意図を把握するためのデータとして収集されるようにしてもよい。そのために、前記第1情報及び前記第2情報は、前記力情報に基づいてロボット装置110を指導することによって変化する前記作業環境及び前記駆動状態に関する情報であってもよい。ここで、前記行為の意図とは、どの状況でどの動作を行って作業を行うかの計画を意味する。また、前記行為の意図は、学習により導出される上位制御器114aにより具体化されるようにしてもよい。
図6bと共に図2を参照すると、データベース130には、専門家がインタフェース装置120を操作してロボット装置110が作業を行う際にロボット装置110に送信される駆動命令が保存されるようにしてもよい。また、データベース130には、作業環境20とロボット装置110の駆動状態が保存されるようにしてもよい。ここで、作業環境20とロボット装置110の駆動状態には、図1~図4を参照して説明した内容を適用することができる。その例として、前記第1情報は、撮影画像、オブジェクトとの距離及び作業環境の温度の少なくとも1つを含み、前記第2情報は、モータの角度、加速度及び角速度、並びに前記モータに供給されるトルク又は電流の少なくとも1つを含むようにしてもよい。
また、前記撮影画像は、図6bのように、ロボット装置110とは別に備えられるカメラなどにより取得されるようにしてもよい。他の例として、前記作業環境の温度は、ロボット装置110とは別に備えられる温度測定装置により取得されるようにしてもよい。
前述したデータ保存ステップの次にポリシー学習ステップが行われる。もっとも、前記データ保存ステップ及び前記ポリシー学習ステップは、本明細書の例のように順次行われてもよいが、必ずしもこれに限定されるものではない。例えば、前記データ保存ステップの実行中に前記ポリシー学習ステップが行われるようにしてもよい。
具体的には、前記第1情報及び前記第2情報を用いて前記ロボット作業の学習を行うステップが行われる。すなわち、前記ロボット作業の学習によりロボット装置110の制御部114(図3参照)の少なくとも一部が導出される。
より具体的には、学習部140は、ロボット装置110が前記作業を自律的に行えるように、前記第1情報及び前記第2情報を用いて、前記作業に関するロボット装置110の動作を学習する。例えば、学習部140は、前記作業の学習を行って上位制御器114aの少なくとも一部を導出するようにしてもよい。この場合、前記第1情報及び前記第2情報は、前記指導命令と共に時系列データとしてデータベース130に保存され、学習部140は、前記時系列データを用いて上位制御器114aを導出する。
当該ステップは、専門家により行われた作業を、専門家によらず、上位制御器114aだけで行えるように、上位制御器114aを導出する過程である。この場合、上位制御器114aの一部を導出することも可能である。図3を参照して説明したように、上位制御器114aは、第1制御部と第2制御部とに分けられるようにしてもよい。前記第1制御部は、前記ロボット装置を駆動するように予め設定された部分であり、前記学習に関係なく予めプログラミングされた部分であってもよい。前記第2制御部は、前記学習により導出されて前記第1制御部と連動する部分であってもよい。すなわち、前記第2制御部は、学習ステップ(S200)の結果物であってデータから学習されて導出される部分であってもよい。
学習ステップ(S200)において、次に、取得した学習データを用いて学習を行い(S220)、学習により作業を行うためのポリシーが導出される(S230)。ここで、前記学習は、最近のデータだけではなく、過去の情報を共に用いて行うようにしてもよい。そのために、データベース130には、過去のデータ又は過去の学習により導出されたポリシー(方法論)が共に保存されるようにしてもよい。
前記学習は、様々なアルゴリズムにより行うことができ、例えば、模倣学習(Imitation Learning)、メタ学習(Meta Learning)、強化学習(Reinforcement Learning)、及び逆強化学習(Inverse Reinforcement Learning)の少なくとも1つにより行うことができる。
その後、上位制御器114aは、前記学習に基づいてロボット装置110が前記作業を自律的に行えるように、下位制御器114bに対する制御命令を生成する。
例えば、前記ロボット作業の学習によりロボット装置110の制御部114の少なくとも一部が導出された後、制御部114によりロボット装置110が自律的に作業を行うステップが行われる。
すなわち、前述した学習ステップ(S200)の次に図4の実行ステップ(S300)が行われる。本発明によるロボット作業の学習方法において、実行ステップ(S300)は、図7aのように細分化することができる。
より具体的には、実行ステップ(S300)においては、ロボット装置110が、専門家によらず、学習ステップ(S200)で得られた上位制御器114aを用いて、専門家により行われた作業を行う。特に、ロボット装置110は、専門家の行為の意図を把握したので、実行ステップ(S300)の作業環境が指導ステップ(S100)の環境とは異なっても、作業を行うことができる。その例として、図5bのように専門家が床に置かれた木に釘を打ち込む作業を指導した場合、図7bのように、ロボット装置110はコンクリート壁に釘を打ち込む作業を自律的に行うことができる。
他の例として、安全のために宅配物品をロボット装置の頭の上に持ち上げて運搬する作業を指導した場合、ロボット装置はより重い宅配物品をより強い力で頭の上に持ち上げて運搬することができる。以下、このような実行ステップ(S300)についてより具体的に説明する。
まず、学習ステップ(S200)で得られた上位制御器114aにおいて実行する作業が指定される。このような指定は、作業を区分するものであれば何でもよい。例えば、各作業に対して自然数がそれぞれ指定されてもよい。具体的には、釘を打ち込む作業を1にし、宅配物品を運搬する作業を2にしてもよい。この場合、1が指定されると、ロボット装置110は、釘を打ち込む作業を行わせる命令として認識する。
次に、上位制御器114aは、現在のロボット装置110の状態情報と作業環境20の状態情報を用いて、下位制御器114bに実行すべき動作に関する動作命令を送信する。例えば、ロボット装置110は、ロボット装置110の状態情報と作業環境20の状態情報を取得し(S310)、当該情報を用いて制御器が作業に関する命令を生成する(S320)。より具体的には、1を指定して釘を打ち込ませる命令を認識させると、ロボット装置110は、作業環境20の状態情報としてコンクリート壁を認識し、ロボット装置110の状態情報としてエンドエフェクタ113a(図3参照)の位置やマニピュレータ113b(図3参照)の現在の姿勢などを認識する。このような情報の取得は、ロボット装置110の検知部112(図3参照)により行われるようにしてもよい。
また、上位制御器114aは、作業に関する動作命令を生成して下位制御器114bに伝達する。ここで、前記動作命令は、ロボット装置110のエンドエフェクタ113aの目標位置、エンドエフェクタ113aの姿勢、マニピュレータ113bの姿勢、モータトルク、モータ電流、状態・モータトルク関数などの形で伝達されてもよい。また、前記動作命令は、前述した様々な形のいずれであってもよく、それらの組み合わせであってもよい。具体例として、上位制御器114aは、釘を打ち込む位置を認識して壁に釘を打ち込むためのエンドエフェクタ113a及びマニピュレータ113bの動作を算出し、動作命令を生成する。
前記動作命令を受信した下位制御器114bは、現在のロボット装置110の状態情報と作業環境20の状態情報を用いて、上位制御器114aからの動作命令を実行するためのトルクをモータに供給する。このようにして下位制御器114bにより壁に釘を打ち込む動作が行われる。
このとき、ロボット装置110は、外力と作業環境20の変化を検知し(S330)、作業を自律的に行う(S340)。具体的には、モータの駆動は作業環境20に変化を起こし、そのときに発生した外力と作業環境20の変化は検知部112により認知される。検知部112は、下位制御器114bと上位制御器114aが必要とする情報、例えばオブジェクトの認知、位置や姿勢の推定などに加工し、下位制御器114bと上位制御器114aに伝達する。例えば、壁に釘を打ち込む作業で、ロボット装置110は、同じ力では木に釘を打ち込む場合より釘が打ち込まれる深さが浅いことを認知するようになる。よって、上位制御器114aは、動作命令として、より強い力で釘を打ち込むことができるモータのトルクを下位制御器114bに伝達し、コンクリート壁に釘を打ち込む作業を自律的に行うようになる。
また、その場合、図1b及び図7bにそれぞれ示すように、ロボット装置110は、異なるコンクリート壁に釘を打ち込む作業を行うこともできる。ロボット装置110は、あるコンクリート壁(図1b参照)に釘を打ち込む作業を行った後、他のコンクリート壁(図7b参照)がその前の壁と類似していることを認知し、類似した力を用いて作業を行うことができる。
以上説明した本発明によるロボット作業の学習方法及びロボットシステムは、ロボットと外部環境との間の力に関する情報に基づいてロボット作業を定義し、ロボットが多様で複雑な作業を容易に学習するようにする。よって、本発明は、作業環境の変化に応じてロボットの外力が変化することに対してより柔軟に対処できる学習方法を実現することができる。
また、以上説明した本発明によるロボット作業の学習方法及びロボットシステムは、様々な形態に変形することができる。例えば、前述したロボット作業の学習方法及びロボットシステムは、1対Nの学習やロボット作業の制御に適用することができる。以下、図8及び図9を参照して、本発明の変形例(他の実施形態及びさらに他の実施形態)について説明する。また、以下に説明する変形例においては、前述した実施形態と同一又は類似の構成要素には同一又は類似の符号を付し、その説明は省略する。
図8及び図9は、本発明によるロボット作業の学習方法及びロボットシステムの他の実施形態及びさらに他の実施形態を示す概念図である。
同図に示すように、ロボットシステムは、複数のロボット装置を備えてもよい。まず、図8を参照すると、ロボットシステムにおいては、学習部240により学習されたポリシーがそれぞれのロボット装置において上位制御器として導出される。
例えば、ロボットシステムは、図2を参照して説明したロボットシステムと同様に、ロボット装置、インタフェース装置及びデータベースの少なくとも1つを含んでもよい。また、ロボットシステムは、ユーザ及び作業環境と組み合わせられ、図4~図7aの学習法を実現する。
ただし、本実施形態においては、前記ロボット装置が複数備えられ、例えば、前記ロボットシステムは、第1ロボット装置210a、第2ロボット装置210b及び第3ロボット装置210cを備える。
第1ロボット装置210a、第2ロボット装置210b及び第3ロボット装置210cは、それぞれ、図3を参照して説明したロボット装置の構成要素を備えてもよい。もっとも、第1ロボット装置210a、第2ロボット装置210b及び第3ロボット装置210cは、検知部、上位制御器及び下位制御器は共通的に備え、他の構成要素は選択的に備えるようにしてもよい。その例として、第1ロボット装置210a、第2ロボット装置210b及び第3ロボット装置210cの駆動部は、異なる構造を有するようにしてもよい。具体的には、ロボット装置は、専門サービス用ロボットであって、第1ロボット装置210aを案内ロボットにし、第2ロボット装置210bを消防ロボットにし、第3ロボット装置210cを配達ロボットにしてもよい。
この場合、本発明の指導ステップ及び学習ステップを用いて、第1ロボット装置210a、第2ロボット装置210b及び第3ロボット装置210cをそれぞれ個々の作業に適するように学習させる。よって、第1ロボット装置210a、第2ロボット装置210b及び第3ロボット装置210cの上位制御器には、異なるポリシーを搭載する。また、第1ロボット装置210a、第2ロボット装置210b及び第3ロボット装置210cの下位制御器も、それぞれロボットの用途に適するように構成する。
他の例として、図9を参照すると、ロボットシステムにおいては、学習部340により学習されたポリシーが別のサーバ350において制御器の一部として導出される。
例えば、ロボットシステムは、図2を参照して説明したロボットシステムと同様に、ロボット装置、インタフェース装置及びデータベースを含んでもよい。また、ロボットシステムは、ユーザ及び作業環境と組み合わせられ、図4~図7aの学習法を実現する。
ただし、本実施形態においては、サーバ350が複数のロボット装置を制御するように構成される。例えば、前記ロボットシステムは、サーバ350、第1ロボット装置310a及び第2ロボット装置310bを備える。
この場合、上位制御器は、上位第1制御器351及び上位第2制御器314aを含んでもよい。上位第1制御器351は、サーバ350に備えられる制御器であり、図4~図7aの学習法により導出されるようにしてもよい。それに対して、上位第2制御器314aは、ロボット装置310a、310bに備えられる制御器であり、学習に関係なく予めプログラミングされた部分であってもよい。本実施形態において、学習により導出されるポリシーは、上位第1制御器351としてサーバ350に位置し、無線又は有線通信により第1ロボット装置310a及び第2ロボット装置310bを制御する。
この場合、サーバ350から第1ロボット装置310a及び第2ロボット装置310bの上位第2制御器314aに作業実行の命令が伝達され、上位第2制御器314aから下位制御器314bに実行すべき動作に関する動作命令が送信される。
例えば、第1ロボット装置310aに対して釘を打ち込む作業が指定されると、第1ロボット装置310aは、ロボット装置の状態情報と作業環境の状態情報を取得し、それらの情報をサーバ351に送信する。サーバ351の上位第1制御器351は、作業に関する命令を生成し、上位第2制御器314aに送信する。その後、上位第2制御器314aは、作業に関する命令を、第1ロボット装置310aのエンドエフェクタの目標位置、エンドエフェクタの姿勢、マニピュレータの姿勢、モータトルク、モータ電流、状態・モータトルク関数などの具体的な形に変換し、下位制御器314bに伝達する。このとき、サーバ351は、第1ロボット装置310aよりも第2ロボット装置310bの方が作業場所に近い位置に位置することを認知すると、第1ロボット装置310aの代わりに第2ロボット装置310bに作業に関する命令を送信する。第2ロボット装置310bは、前記第1ロボット装置を例に説明したプロセスに従って該当作業を行う。このように、本実施形態においては、サーバが複数のロボット装置を効率的に管理することができる。
また、本実施形態においては、1つのロボット装置を学習した結果を他のロボット装置に複製するプロセスに活用することができる。例えば、第1ロボット装置を用いて作業を学習し、学習した結果を上位第1制御器として導出し、上位第1制御器を前記第1ロボット装置及び前記第2ロボット装置に共通に適用することができる。
本実施形態で説明したように、本発明によるロボット作業の学習方法及びロボットシステムは、1対Nのロボット学習方法に変形することができる。
以上説明したように、本発明においては、ロボットが多様で複雑な作業を安全に実行できる新たな学習モデルや、力情報に基づいてロボット作業を学習させる新たな方法及びシステムを提供する。
具体的には、本発明は、ロボットと外部環境との間の力に関する情報に基づいてロボット作業を定義し、ロボットが多様で複雑な作業を容易に学習するようにする。また、本発明は、作業環境の変化に応じてロボットの外力が変化することに対してより柔軟に対処できる学習方法を実現することができる。
姿勢及び位置に関する情報を用いるロボット作業の定義は、外部環境が変化すると新たなモデリングを導出しなければならないという問題があるが、本発明においては、力を考慮する新たな形態でロボット作業を定義するので、このような問題を解消することができる。
また、本発明は、ハプティック機能を備えたインタフェース装置を用いるので、専門家が実際の環境でロボットに加わる力のフィードバックを受けながらロボット指導を行うようになる。すなわち、様々な環境で力に基づく作業の指導を行うことができる。この場合、本発明は、ロボットにおいて実際の環境で作業に必要な情報を取得して学習に活用し、よって、力情報を必要とする作業をロボットに学習させることができる。
また、本発明は、専門家の作業指示をロボットに学習させることができるので、多関節ロボットに対してより効果的な学習を行わせることができる。よって、多関節ロボットの高い自由度を用いて、様々な状況で様々な作業に対して柔軟に対処することができる。この場合、ロボットは、過去の学習情報を共に用いて新たな作業を速い速度で学習することができ、また、一々プログラミングをすることなく、ハプティックを用いて教示することができるので、学習のために必要な時間や努力を短縮することができる。
さらに、本発明においては、指導ステップにおいて、下位制御器がインタフェース装置と情報を送受信し、学習ステップにおいて、指導ステップで取得された情報を用いて上位制御器を導出するので、より効率的な学習及びロボット制御が可能になる。この場合、上位制御器は、共通のミドルウェアとして実現され、異なるロボットの作業プログラムとして提供することができる。よって、ロボットの代替、作業計画の変更やロボットの安全基準の遵守を容易に行うことができる。
前述したロボット作業の学習方法及びロボットシステムは、上記実施形態の構成や方法に限定されるものではなく、上記実施形態に様々な変形が行われるように、各実施形態の全部又は一部を選択的に組み合わせて構成してもよい。
100 ロボットシステム
110 ロボット装置
112 検知部
113 駆動部
114a 上位制御器
114b 下位制御器
120 インタフェース装置
130 データベース
140 学習部

Claims (20)

  1. 作業の形態によって異なる力情報が要求される作業を行うように構成されるロボット装置と、
    前記ロボット装置を指導できるように操作可能に形成され、前記ロボット装置に対して前記作業の指導が行われる間、前記力情報に基づいてハプティックフィードバックを出力するインタフェース装置と、
    前記ハプティックフィードバックを出力する前記インタフェース装置により前記作業の指導が行われる間、前記ロボット装置の作業環境に関する第1情報、前記ロボット装置の駆動状態に関する第2情報、及び前記ロボット装置に加えられる外力に関する前記力情報を検知するように構成された検知部と、
    記第1情報及び前記第2情報を用いて、前記作業に関する前記ロボット装置の動作を学習する学習部とを含み、
    前記学習部は、前記力情報、前記第1情報、及び前記第2情報に基づいて、前記作業の学習を行うことによって、前記作業を行うポリシーを導出するように構成され、
    前記ロボット装置は、前記導出したポリシーを使用して、前記作業を自律的に行うように構成される、ことを特徴とするロボットシステム。
  2. 記インタフェース装置は、前記外力に基づいて前記ハプティックフィードバックを出力することを特徴とする請求項1に記載のロボットシステム。
  3. 前記ハプティックフィードバックは、前記力情報に基づいて前記ロボット装置を指導できるように、前記インタフェース装置からユーザに前記外力に対応する力を伝達するものであることを特徴とする請求項2に記載のロボットシステム。
  4. 前記第1情報は、前記力情報に基づいて前記ロボット装置を指導することによって変化する前記作業環境に関する情報であり、前記第2情報は、前記力情報に基づいて前記ロボット装置を指導することによって変化する前記駆動状態に関する情報であることを特徴とする請求項3に記載のロボットシステム。
  5. 前記ロボット装置は、
    前記インタフェース装置から前記作業の指導命令を受信する下位制御器と、
    前記下位制御器による制御の下で前記作業の指導命令に応じた駆動を行う駆動部と、
    前記下位制御器を制御して前記駆動部を駆動する上位制御器とを含むことを特徴とする請求項1~4のいずれか一項に記載のロボットシステム。
  6. 前記下位制御器は、前記インタフェース装置から前記作業の指導命令を受信して前記駆動部を制御し、前記力情報としてハプティック情報を前記インタフェース装置に送信することを特徴とする請求項5に記載のロボットシステム。
  7. 前記学習部は、前記第1情報及び前記第2情報を用いて、前記作業の学習を行って前記上位制御器の少なくとも一部を導出することを特徴とする請求項5に記載のロボットシステム。
  8. 前記上位制御器は、前記学習に基づいて前記ロボット装置が前記作業を自律的に行えるように、前記下位制御器に対する制御命令を生成することを特徴とする請求項7に記載のロボットシステム。
  9. 前記上位制御器は、前記ロボット装置を駆動するように予め設定された第1制御部と、前記学習により導出されて前記第1制御部と連動する第2制御部とを備えることを特徴とする請求項7に記載のロボットシステム。
  10. 前記第1情報及び前記第2情報は、前記作業の指導命令と共に時系列データとしてデータベースに保存され、
    前記学習部は、前記時系列データを用いて前記上位制御器を導出することを特徴とする請求項5に記載のロボットシステム。
  11. 前記駆動部は、Quasi-Direct-Drive方式で駆動されるモータを備えることを特徴とする請求項5に記載のロボットシステム。
  12. 前記検知部は、前記モータの出力端にかかる力を入力端の電気エネルギーで検知することにより、前記力情報を検出することを特徴とする請求項11に記載のロボットシステム。
  13. 前記第1情報は、撮影画像、オブジェクトとの距離及び作業環境の温度の少なくとも1つを含み、
    前記第2情報は、モータの角度、加速度及び角速度、並びに前記モータに供給されるトルク又は電流の少なくとも1つを含むことを特徴とする請求項1~12のいずれか一項に記載のロボットシステム。
  14. インタフェース装置による、作業の形態によって異なる力情報が要求される作業の指導が可能なロボット装置において、
    前記ロボット装置は、
    前記インタフェース装置から前記作業の指導命令を受信する第1制御器と、
    多関節を備え、前記第1制御器による制御の下で前記作業の指導命令に応じた駆動を行う駆動部と、
    前記第1制御器による制御の下で前記駆動部が駆動される間、前記ロボット装置の作業環境に関する第1情報、前記ロボット装置の駆動状態に関する第2情報、及び前記ロボット装置に加えられる外力に関する力情報を検知する検知部と、
    前記第1制御器を制御して前記駆動部を駆動する第2制御器とを含み、
    前記ロボット装置は、前記第1情報及び前記第2情報を用いて、前記作業の学習を行い、
    前記第2制御器は、前記学習に基づいて前記ロボット装置が前記作業を自律的に行えるように、前記第1制御器に対する制御命令を生成し、
    前記作業の学習を行うことによって前記作業を行うためのポリシーが、前記力情報、前記第1情報、及び前記第2情報に基づいて導出され、
    前記ロボット装置は、前記導出したポリシーを使用して、前記作業を自律的に行うように構成される、ことを特徴とするロボット装置。
  15. 前記第1制御器は、前記作業の指導命令に基づいて前記駆動部を制御する間、前記駆動部の外力をハプティック情報として前記インタフェース装置に送信することを特徴とする請求項14に記載のロボット装置。
  16. 前記第1情報は、前記ハプティック情報に基づいて前記ロボット装置を指導することによって変化する前記作業環境に関する情報であり、前記第2情報は、前記ハプティック情報に基づいて前記ロボット装置を指導することによって変化する前記駆動状態に関する情報であることを特徴とする請求項15に記載のロボット装置。
  17. 前記第2制御器の少なくとも一部は、前記第1情報及び前記第2情報を用いて、前記作業の学習を行うことにより導出されることを特徴とする請求項14~16のいずれか一項に記載のロボット装置。
  18. ロボット作業の学習方法において、
    インタフェース装置に対する外部操作に基づいて、作業の形態によって異なる力情報が要求されるロボット作業の指導が行われるステップと、
    前記インタフェース装置が、前記外部操作に対応する駆動命令をロボット装置に送信し、前記ロボット装置から前記ロボット作業で発生する力に関する情報を受信してハプティックフィードバックを出力するステップと、
    前記駆動命令に基づいて前記ロボット装置が前記ロボット作業を行う間、前記ロボット装置の作業環境に関する第1情報、前記ロボット装置の駆動状態に関する第2情報、及び前記ロボット装置に加えられる前力情報を検知するステップと、
    前記第1情報及び前記第2情報を用いて前記ロボット作業の学習を行うステップとを含み、
    前記ロボット作業の学習を行うことによって前記ロボット作業を行うためのポリシーが、前記力情報、前記第1情報、及び前記第2情報に基づいて導出され、
    前記ロボット装置は、前記導出したポリシーを使用して、前記ロボット作業を自律的に実行するように構成される、ことを特徴とするロボット作業の学習方法。
  19. 前記ロボット作業の学習により前記ロボット装置の制御器の少なくとも一部が導出され、前記制御器により前記ロボット装置が自律的に作業を行うステップをさらに含むことを特徴とする請求項18に記載のロボット作業の学習方法。
  20. 前記制御器は、上位制御器及び下位制御器を備え、
    前記下位制御器は、前記ロボット作業の指導が行われるステップで前記駆動命令を受信して前記ロボット装置の駆動部を制御し、
    前記上位制御器は、前記自律的に作業を行うステップで前記下位制御器を制御し、前記ロボット作業の学習により少なくとも一部が導出されることを特徴とする請求項19に記載のロボット作業の学習方法。
JP2021122297A 2020-07-30 2021-07-27 ロボット作業の学習方法及びロボットシステム Active JP7230128B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200095258A KR102386009B1 (ko) 2020-07-30 2020-07-30 로봇 작업의 학습 방법 및 로봇 시스템
KR10-2020-0095258 2020-07-30

Publications (2)

Publication Number Publication Date
JP2022027567A JP2022027567A (ja) 2022-02-10
JP7230128B2 true JP7230128B2 (ja) 2023-02-28

Family

ID=76920602

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021122297A Active JP7230128B2 (ja) 2020-07-30 2021-07-27 ロボット作業の学習方法及びロボットシステム

Country Status (4)

Country Link
US (1) US20220032451A1 (ja)
EP (1) EP3944933A1 (ja)
JP (1) JP7230128B2 (ja)
KR (2) KR102386009B1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023177131A1 (ko) * 2022-03-15 2023-09-21 네이버랩스 주식회사 로봇 스킬 학습을 위한 방법, 컴퓨터 시스템, 및 컴퓨터 프로그램
KR102673389B1 (ko) * 2022-04-11 2024-06-10 네이버랩스 주식회사 데이터 기반 로봇 회화 작업을 자동화하기 위한 방법, 컴퓨터 시스템, 및 컴퓨터 프로그램
KR20240006999A (ko) * 2022-07-07 2024-01-16 주식회사 케이티 자율주행 로봇, 자율주행 로봇의 동작 방법, 자율주행 로봇 플랫폼 서버, 그리고 사용자 단말을 이용하여 자율주행 로봇을 제어하는 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016196079A (ja) 2015-04-02 2016-11-24 ホンダ リサーチ インスティテュート ヨーロッパ ゲーエムベーハーHonda Research Institute Europe GmbH ロボットの動作を改善する方法
US20180154519A1 (en) 2016-12-02 2018-06-07 National Taipei University Of Technology Robot teaching system and control method thereof
WO2019202900A1 (ja) 2018-04-15 2019-10-24 国立大学法人埼玉大学 行動推定装置、行動推定方法、および行動推定プログラム
US20200039064A1 (en) 2018-08-06 2020-02-06 The Regents Of The University Of California Low-Cost Compliant Robot Arm and System for Manipulation
JP2020026002A (ja) 2018-08-10 2020-02-20 川崎重工業株式会社 ロボットシステム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000006068A (ja) * 1998-06-25 2000-01-11 Nippon Telegr & Teleph Corp <Ntt> ヒューマン・ロボットコラボレーション制御方法と装置及びプログラムを記録した記録媒体
US9092698B2 (en) * 2012-06-21 2015-07-28 Rethink Robotics, Inc. Vision-guided robots and methods of training them
US9597797B2 (en) * 2013-11-01 2017-03-21 Brain Corporation Apparatus and methods for haptic training of robots
US9849595B2 (en) * 2015-02-06 2017-12-26 Abb Schweiz Ag Contact force limiting with haptic feedback for a tele-operated robot
CA2882968C (en) * 2015-02-23 2023-04-25 Sulfur Heron Cognitive Systems Inc. Facilitating generation of autonomous control information
US9862099B1 (en) * 2015-06-22 2018-01-09 X Development Llc Haptic controller with touch-sensitive control knob
US9919424B1 (en) * 2015-07-27 2018-03-20 X Development Llc Analog control switch for end-effector
US10589428B1 (en) * 2015-10-01 2020-03-17 Verily Life Sciences Llc Automatic distribution of control functions between multiple knob controllers based on proximity and relative positioning of the knobs
US10201903B1 (en) * 2015-10-22 2019-02-12 Verily Life Sciences Llc Punch-in / punch-out smoothing for takeover of automated movement with haptic controller
US10919152B1 (en) * 2017-05-30 2021-02-16 Nimble Robotics, Inc. Teleoperating of robots with tasks by mapping to human operator pose
JP6680730B2 (ja) * 2017-08-08 2020-04-15 ファナック株式会社 制御装置及び学習装置
US10843330B2 (en) * 2017-12-07 2020-11-24 Sarcos Corp. Resistance-based joint constraint for a master robotic system
US11331796B2 (en) * 2018-02-12 2022-05-17 Brain Corporation Autonomous multi-tasking modular robotic system
US11872698B2 (en) * 2018-02-13 2024-01-16 Canon Kabushiki Kaisha Controller of robot and control method
KR102094360B1 (ko) * 2018-06-11 2020-03-30 동국대학교 산학협력단 영상 기반 힘 예측 시스템 및 그 방법
US12023811B2 (en) * 2019-01-31 2024-07-02 Sony Group Corporation Robot control device and robot control method
DE112020003344T5 (de) * 2019-07-11 2022-04-28 Sony Group Corporation Datenverarbeitungsvorrichtung, datenverarbeitungsverfahren unddatenverarbeitungsprogramm

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016196079A (ja) 2015-04-02 2016-11-24 ホンダ リサーチ インスティテュート ヨーロッパ ゲーエムベーハーHonda Research Institute Europe GmbH ロボットの動作を改善する方法
US20180154519A1 (en) 2016-12-02 2018-06-07 National Taipei University Of Technology Robot teaching system and control method thereof
WO2019202900A1 (ja) 2018-04-15 2019-10-24 国立大学法人埼玉大学 行動推定装置、行動推定方法、および行動推定プログラム
US20200039064A1 (en) 2018-08-06 2020-02-06 The Regents Of The University Of California Low-Cost Compliant Robot Arm and System for Manipulation
JP2020026002A (ja) 2018-08-10 2020-02-20 川崎重工業株式会社 ロボットシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Chung Hyuk Park et al.,Transfer of Skills between Human Operators through Haptic Training with Robot Coordination,2010 IEEE International Conference on Robotics and Automation,米国,2010年05月03日,pp.229-235

Also Published As

Publication number Publication date
EP3944933A1 (en) 2022-02-02
KR102513727B1 (ko) 2023-03-23
JP2022027567A (ja) 2022-02-10
KR102386009B1 (ko) 2022-04-13
US20220032451A1 (en) 2022-02-03
KR20220015132A (ko) 2022-02-08
KR20220046540A (ko) 2022-04-14

Similar Documents

Publication Publication Date Title
JP7230128B2 (ja) ロボット作業の学習方法及びロボットシステム
Girbes-Juan et al. Haptic and visual feedback assistance for dual-arm robot teleoperation in surface conditioning tasks
Kim et al. A force reflected exoskeleton-type masterarm for human-robot interaction
El Makrini et al. A virtual element-based postural optimization method for improved ergonomics during human-robot collaboration
Si et al. Adaptive compliant skill learning for contact-rich manipulation with human in the loop
Jadeja et al. Design and development of 5-DOF robotic arm manipulators
Stroppa et al. Shared-control teleoperation paradigms on a soft-growing robot manipulator
Torielli et al. TelePhysicalOperation: remote robot control based on a virtual “marionette” type interaction interface
Schraft et al. Man-Machine-Interaction and co-operation for mobile and assisting robots
Rizal Computer Simulation of Human-Robot Collaboration in the Context of Industry Revolution 4.0
JP3614824B2 (ja) 脚式移動ロボットのための動作編集装置及び動作編集方法
Gong et al. Motion mapping from a human arm to a heterogeneous excavator-like robotic arm for intuitive teleoperation
Gan et al. Human-like manipulation planning for articulated manipulator
Steil et al. Kinesthetic teaching using assisted gravity compensation for model-free trajectory generation in confined spaces
Pairet et al. Learning and composing primitive skills for dual-arm manipulation
Liang et al. Human-robot collaborative semi-autonomous teleoperation with force feedback
Sylari et al. Hand gesture-based on-line programming of industrial robot manipulators
Rahal et al. Haptic-guided grasping to minimise torque effort during robotic telemanipulation
Sharan et al. Design and Development of a Robotic Arm for an Assistive Robot using ROS
Kim A human-embodied drone for dexterous aerial manipulation
Slawiñski et al. RAT20 Teleoperated Argentine Robot
Sylari Hand-Gesture Based Programming of Industrial Robot Manipulators
Chen et al. Development of a VR-based Manipulation System for Dual-arm Robots
Cremer Neuroadaptive Human-Machine Interfaces for Collaborative Robots
Raghunathan et al. Kinematic study of curved 6 DOF arm

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210727

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221214

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: 20230117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230215

R150 Certificate of patent or registration of utility model

Ref document number: 7230128

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150