[go: up one dir, main page]

JP2023038776A - 指令値生成装置、方法、及びプログラム - Google Patents

指令値生成装置、方法、及びプログラム Download PDF

Info

Publication number
JP2023038776A
JP2023038776A JP2021145670A JP2021145670A JP2023038776A JP 2023038776 A JP2023038776 A JP 2023038776A JP 2021145670 A JP2021145670 A JP 2021145670A JP 2021145670 A JP2021145670 A JP 2021145670A JP 2023038776 A JP2023038776 A JP 2023038776A
Authority
JP
Japan
Prior art keywords
command value
robot
generator
state data
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.)
Granted
Application number
JP2021145670A
Other languages
English (en)
Other versions
JP7679737B2 (ja
Inventor
将佳 阿部
Masayoshi Abe
真司 川上
Shinji Kawakami
聡庸 金井
Akinobu Kanai
ゆみ 齊藤
Yumi Saito
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2021145670A priority Critical patent/JP7679737B2/ja
Priority to CN202280058959.3A priority patent/CN117881507A/zh
Priority to EP22866966.9A priority patent/EP4400274A1/en
Priority to US18/687,674 priority patent/US20240351205A1/en
Priority to PCT/JP2022/015158 priority patent/WO2023037634A1/ja
Publication of JP2023038776A publication Critical patent/JP2023038776A/ja
Application granted granted Critical
Publication of JP7679737B2 publication Critical patent/JP7679737B2/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/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/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
    • 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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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/423Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
    • 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
    • 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
    • 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/36433Position assisted teaching
    • 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/39137Manual teaching, set next point when tool touches other tool, workpiece

Landscapes

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

Abstract

【課題】様々な状態を取り得る対象物に対する作業をロボットにロバストに実行させるためのフィードバック制御系を構成する。【解決手段】取得部31が、対象物への作業をロボット40に実行させるための指令値と、その作業時のロボット40の動作を手動により教示した際のロボット40の状態を表す状態データであって、少なくとも、ロボット40の動作を表す動作データ、ロボット40と対象物との相対位置及び相対姿勢を表す位置姿勢データ、並びに、作業の間に対象物が受ける外力を表す外力データを含む複数種類の状態データとを取得し、生成部33が、取得部31により対応する時間に取得された指令値と状態データとに基づいて、入力された状態データに対応する動作をロボット40に実行させるための指令値を生成する生成器を生成する。【選択図】図7

Description

本発明は、指令値生成装置、指令値生成方法、及び指令値生成プログラムに関する。
従来、ロボットによる組立やピックアンドプレイスといった作業で、作業の対象物が様々な状態を取り得る場合などには、ロボットが作業を失敗しうる。このため、各種センサで取得されたデータをロボットの制御にフィードバックするフィードバック制御系を構成することが行われている。
例えば、外力を制御可能なロボットアームの動作を手動で誘導し、その際のロボットの位置及び作用する外力を記録し、記録された情報を再現するように、ロボットアームの動作の指令値を出力する技術が提案されている(非特許文献1)。
また、例えば、音声や画像等のセンサデータと、ロボットの動作から取得されるデータとをディープラーニングによりマルチモーダル統合したモデルを生成し、このモデルからロボットの動作の指令値を出力する技術が提案されている(非特許文献2)。
"Institute of Robotics and Mechatronics-SARA",[online],[2021年6月18日検索],インターネット <URL:https://www.dlr.de/rm/en/desktopdefault.aspx/tabid-11709/#gallery/29681> Kuniaki Noda, "MULTIMODAL INTEGRATION FOR ROBOT SYSTEMS USING DEEP LEARNING", Waseda University Doctoral Dissertation, 2015年7月.
フィードバック制御系を構成するためには、センサ特徴量とそれに基づくロボットへの指令値の生成法とをユーザが自前で定義し実装する必要がある。また、その定義が正しいものであっても、センサ特徴量からロボットへの指令値へのゲイン調整が不適切な場合にはタスクが成功せず、定義、実装、又は調整の何れに問題があるのかを判断することも困難である。
また、非特許文献1に記載の技術では、実行している力制御系が、人が手伝え教示した際の位置と力のロギングデータとをそのまま力制御系の指令値入力にしているため、ロバスト性が低い。
また、非特許文献2に記載の技術では、力覚センサを使っておらず、組立やピックアンドプレイスといったアプリケーションをロバストに実行できない。
本発明は、上記の点に鑑みてなされたものであり、様々な状態を取り得る対象物に対する作業をロボットにロバストに実行させるためのフィードバック制御系を構成することを目的とする。
上記目的を達成するために、本発明に係る指令値生成装置は、対象物への作業をロボットに実行させるための指令値と、前記作業時の前記ロボットの動作を手動により教示した際の前記ロボットの状態を表す状態データであって、少なくとも、前記ロボットの動作を表す動作データ、前記ロボットと前記対象物との相対位置及び相対姿勢を表す位置姿勢データ、並びに、前記作業の間に前記対象物が受ける外力を表す外力データを含む複数種類の状態データとを取得する取得部と、前記取得部により対応する時間に取得された前記指令値と前記状態データとに基づいて、入力された前記状態データに対応する動作を前記ロボットに実行させるための指令値を生成する生成器を生成する生成部と、を含んで構成される。これにより、様々な状態を取り得る対象物に対する作業をロボットにロバストに実行させるためのフィードバック制御系を構成することができる。
また、前記生成部は、前記生成器内のパラメータを最適化に基づいて決定することにより前記生成器を生成してよい。これにより、ロバスト性をより高めることができる。
また、本発明に係る指令値生成装置は、複数回の教示の各々について前記取得部により取得された前記状態データのうち、前記生成器の生成に利用する前記状態データの部分の選択を受け付ける受付部を含み、前記生成部は、選択された前記状態データの部分を利用して前記生成器を生成してもよい。これにより、生成器の生成に適さない状態データの部分を排除することができる。
また、前記受付部は、前記取得部により取得された複数種類の前記状態データのうち、前記生成器の生成に利用する前記状態データの種類の選択を受け付け、前記生成部は、選択された種類の前記状態データと前記指令値とに基づいて、選択された種類の前記状態データが表す状態を再現可能な指令値を生成するためのパラメータを最適化することにより、前記生成器を生成してもよい。これにより、納得性の高い指令値を生成する生成器を生成することができる。
また、前記生成部は、生成した前記生成器のパラメータの修正を受け付けてもよい。これにより、明らかに不適切なパラメータや、ユーザの意図に沿わないパラメータ等を事前に修正することができる。
また、前記生成器のパラメータは、前記指令値の上限値、及び前記指令値に対する動作の目標値を含み、前記生成部は、前記上限値及び前記目標値を指定された値に固定すると共に、他のパラメータを最適化することにより前記生成器を生成してもよい。これにより、よりユーザが望むロボットの動作を実現するための指令値を出力可能な生成器を生成することができる。
また、本発明に係る指令値生成装置は、前記生成部により生成された前記生成器に、前記作業においてばらつく可能性があるパラメータに摂動項を加味した前記状態データを入力した場合に生成される指令値に基づいて前記ロボットが動作可能か否か判定し、動作可能ではない場合、前記摂動項を加えた場合に生成される指令値及び前記状態データの取得を前記取得部に指示する指示部を含んで構成されてもよい。これにより、手動による教示で、生成器の生成に十分な状態データが取得されているか否かを自動で判定することができる。
また、前記生成部は、前記生成器の生成に利用された前記状態データの一部の削除、及び新たに前記取得部により取得された前記状態データの追加の少なくとも一方を行って前記生成器の生成を再実行してもよい。これにより、生成された指令値に基づいて意図しない動作が実行される場合に、生成器の生成をやり直すことで、フィードバック制御系による動作の質を高めることができる。
また、前記取得部は、前記教示の際に、前記対象物を含む作業領域を撮影した画像を取得し、前記取得部により取得された前記画像に基づいて、前記作業領域を認識するためのパラメータを設定する設定部を含んで構成されてもよい。これにより、生成器の生成と共に、認識用のパラメータの設定も行うことができる。
また、前記取得部は、予め設定された前記対象物のサイズと、前記画像から認識される前記対象物の画像上でのサイズとに基づいて算出される、前記画像を撮影するカメラと前記対象物との距離を取得してもよい。これにより、特殊なセンサを用いることなく、精度よく対象物との距離を取得することができる。
また、前記ロボットの動作の手動による教示は、ダイレクトティーチング、コントローラからの遠隔操作、又は前記ロボットとバイラテラル制御で接続されたティーチング用機器を用いた遠隔操作により実行されてよい。
また、本発明に係る指令値生成装置は、前記生成器により生成される指令値を出力して前記ロボットを制御する制御部を含んで構成されてもよい。
また、本発明に係る指令値生成装置は、前記生成器により生成された指令値を前記生成器に入力して逆算することにより、前記状態データを推定し、推定された前記状態データと、前記取得部により取得される前記状態データとを比較して、前記ロボットによる作業中に発生する異常を検知する検知部を含んで構成されてもよい。
また、本発明に係る指令値生成方法は、取得部が、対象物への作業をロボットに実行させるための指令値と、前記作業時の前記ロボットの動作を手動により教示した際の前記ロボットの状態を表す状態データであって、少なくとも、前記ロボットの動作を表す動作データ、前記ロボットと前記対象物との相対位置及び相対姿勢を表す位置姿勢データ、並びに、前記作業の間に前記対象物が受ける外力を表す外力データを含む複数種類の状態データとを取得し、生成部が、前記取得部により対応する時間に取得された前記指令値と前記状態データとに基づいて、入力された前記状態データに対応する動作を前記ロボットに実行させるための指令値を生成する生成器を生成する方法である。
また、本発明に係る指令値生成プログラムは、コンピュータを、対象物への作業をロボットに実行させるための指令値と、前記作業時の前記ロボットの動作を手動により教示した際の前記ロボットの状態を表す状態データであって、少なくとも、前記ロボットの動作を表す動作データ、前記ロボットと前記対象物との相対位置及び相対姿勢を表す位置姿勢データ、並びに、前記作業の間に前記対象物が受ける外力を表す外力データを含む複数種類の状態データとを取得する取得部、及び、前記取得部により対応する時間に取得された前記指令値と前記状態データとに基づいて、入力された前記状態データに対応する動作を前記ロボットに実行させるための指令値を生成する生成器を生成する生成部として機能させるためのプログラムである。
本発明に係る指令値生成装置、方法、及びプログラムによれば、様々な状態を取り得る対象物に対する作業をロボットにロバストに実行させるためのフィードバック制御系を構成することができる。
第1~第3及び第5実施形態に係るロボット制御システムの概略図である。 手動によるロボットへの動作の教示の一例を説明するための図である。 手動によるロボットへの動作の教示の他の例を説明するための図である。 手動によるロボットへの動作の教示の他の例を説明するための図である。 センサの要件を説明するための作業の一例を示す図である。 指令値生成装置のハードウェア構成を示すブロック図である。 第1及び第3実施形態に係る指令値生成装置の機能構成の例を示すブロック図である。 センサデータから状態データへの変換を説明するための図である。 部分選択画面の一例を示す図である。 生成器を説明するための図である。 生成器で生成された指令値を用いたフィードバック制御を説明するための図である。 第1実施形態における学習処理の流れを示すフローチャートである。 制御処理の流れを示すフローチャートである。 第2実施形態に係る指令値生成装置の機能構成の例を示すブロック図である。 第2実施形態における学習処理の流れを示すフローチャートである。 種類選択画面の一例を示す図である。 第3実施形態における生成器の概略構成の一例を示す図である。 第3実施形態における学習処理の流れを示すフローチャートである。 第4実施形態に係るロボット制御システムの概略図である。 第4実施形態に係る指令値生成装置の機能構成の例を示すブロック図である。 第4実施形態における学習処理の流れを示すフローチャートである。 対象物までの距離に基づく動作目標の判定を説明するための図である。 第5実施形態に係る指令値生成装置の機能構成の例を示すブロック図である。 検知部の処理を説明するための図である。 検知処理の流れを示すフローチャートである。
以下、本発明の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法及び比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
<第1実施形態>
図1に示すように、第1実施形態に係るロボット制御システム1は、指令値生成装置10と、ロボット40と、センサ群50とを含んで構成される。
ロボット40は、ロボットアーム42とハンド部44とを含む。ロボットアーム42は、リンクと、リンク間を接続すると共に、モータの駆動により回転又は直動伸縮するジョイントとを含んで構成される。ロボットアーム42は、指令値生成装置10から出力された指令値にしたがってモータが駆動されて、ジョイントの回転角度又は伸縮状態が変更される。これにより、ハンド部44が3次元空間において指定された位置、及び指定された姿勢となるように制御される。
ハンド部44は、ロボットアーム42の先端に設けられ、対象物90を把持可能なツールである。ハンド部44は、例えば、多関節多指型ロボットハンド、グリッパー型ロボットハンド、吸着パッド等としてよい。なお、ロボット40により対象物に対する塗布作業を行う場合には、ロボット40は、ハンド部44に替えて、塗布材の吐出口となるノズルを備えるなど、作業に応じたツールとすればよい。
また、ロボット40は、手動による動作の教示が可能な構成である。手動による動作の教示は、例えば、図2に示すように、ダイレクトティーチング、すなわち、人の手で動作を伝える手伝えによる教示としてよい。また、例えば、図3に示すように、人がコントローラ60を操作して、ロボット40の動作を遠隔操作することにより教示してもよい。また、例えば、図4に示すように、ロボット40とバイラテラル制御で接続されたティーチング用機器62を用いた遠隔操作により教示してもよい。バイラテラル制御により、ティーチング用機器62が加えた力はロボット40に伝わり、ロボット40に作用した外力はティーチング用機器62に伝わる。
センサ群50は、複数種類のセンサを含み、各センサで取得されたセンサデータは、時系列データとして指令値生成装置10へ出力される。なお、図1では、センサ群50を、ハンド部44付近に1つのブロックで概念的に表現しているが、センサ群50に含まれる各センサは、センサの種類及び機能に応じた位置にそれぞれ設けられる。
各センサとしては、ロボット40で行う作業に応じて必要なものを備えればよい。一例として、図5に示すような作業を想定した場合に必要な各種センサについて説明する。図5に示す作業は、ハンド部44で主対象物90Aを把持し、主対象物90Aと副対象物90Bとを嵌合する作業である。例えば、コネクタの挿入、筐体への基板挿入、基板への電解コンデンサの挿入等である。嵌合の実現方針としては、主対象物90Aと副対象物90Bとの辺や面の接触により、主対象物90Aの位置及び姿勢を合わせる動作戦略を利用することを考える。このような接触を利用した嵌合により、センサやアクチュエータの分解能が粗い場合でも、嵌合位置へ主対象物90Aの位置及び姿勢を合わせ易くなる。
ここで、「動作戦略」とは、「動作」を実行するための、「動作プリミティブ」の実行順序である。「動作」とは、その動き単体が目的を持つものであり、「動作戦略」により実現される、例えば、「掴む」、「移動する」、「嵌合する」等の目的のある動きである。「動作プリミティブ」とは、「持つ」、「移動させる」、「あてがう」等、ロボットの動きの最小単位である。ここでの「動作プリミティブ」は目標を設定したものであり、例えば、「斜めに寝かす」、「角が穴に入る位置に移動する」、「淵にあてがう」といったものである。図5の例では、破線で示す箇所の各々が「動作」、一点鎖線で示す箇所の各々が「動作戦略」、二点鎖線で示す箇所の各々が「動作プリミティブ」に相当する。また、「動作」の実行順序を「動作シーケンス」という。
図5では、「1.掴む」、「2.移動させる」、及び「3.嵌合する」の各動作を含む動作シーケンスの例を示している。また、動作「1.掴む」の動作戦略では、「1.1.主対象物上へ粗位置決めで移動」及び「1.2.主対象物を把持」という動作プリミティブが定められている。「1.1.主対象物上へ粗位置決めで移動」は、主対象物90Aを把持可能な位置へハンド部44を移動させる動きである。「1.2.主対象物を把持」は、ハンド部44により主対象物90Aを把持する動きである。また、動作「2.移動させる」の動作戦略では、「2.1.穴の上へ粗位置決めで移動」という動作プリミティブが定められている。「2.1.穴の上へ粗位置決めで移動」は、嵌合位置に合わせて主対象物90AをX軸方向及びY軸方向へ移動させる動きである。
また、動作「3.嵌合する」の動作戦略では、「3.1.主対象物を斜めにする」、「3.2.主対象物を穴の方へ移動」、「3.3.探り動作」、「3.4.なぞりながらXY姿勢補正」、「3.5.穴に挿入」、及び「3.6.噛みこみ解消動作」という動作プリミティブが定められている。「3.1.主対象物を斜めにする」は、主対象物90Aの姿勢が斜めになるように姿勢を変化させる動きである。「3.2.主対象物を穴の方へ移動」は、主対象物90Aを副対象物90Bにあてがい、なぞりながら主対象物90Aを嵌合位置方向へ移動させる動きである。あてがうとは、主対象物90Aと副対象物90Bとを一体化させる動きである。なぞるとは、副対象物90B表面との拘束を保って主対象物90AをX軸方向及びY軸方向へ移動させる動きである。「3.3.探り動作」は、主対象物90Aで副対象物90B表面をなぞりながら嵌合位置を探る動きである。「3.4.なぞりながらXY姿勢補正」は、主対象物90Aの副対象物90Bとのアライメントを利用して、主対象物90AのX軸方向及びY軸方向の位置と姿勢とを補正する動きである。「3.5.穴に挿入」は、副対象物90Bの嵌合位置(穴)の内周との拘束を保って主対象物90AをZ軸方向下方へ移動させる動きである。「3.6.噛みこみ解消動作」は、噛みこみを解消するように主対象物90Aの姿勢を変化させる動きである。
上記の各動作プリミティブを実行するようにロボット40を制御するために必要なセンサの要件は、以下のとおりである。「1.1.主対象物上へ粗位置決めで移動」については、X、Y、Zの各軸方向、及びZ軸を軸とする回転方向について、ハンド部44と主対象物90Aとの位置姿勢誤差を認識可能なことである。「1.2.主対象物を把持」については、ハンド部44による把持力を認識可能なことである。「2.1.穴の上へ粗位置決めで移動」については、X、Y、Zの各軸方向、及びZ軸を軸とする回転方向について、主対象物90Aと副対象物90Bにおける嵌合位置との位置誤差を認識可能なことである。動作「3.嵌合する」の動作戦略である各動作プリミティブについては、主対象物90Aが副対象物90Bの上面に接触したときに受ける各軸方向の反力を検知可能なこと、及び主対象物90Aの姿勢を認識可能なことである。
上記のような要件を満たすセンサとしては、以下のようなものが挙げられる。例えば、位置誤差を認識可能なセンサとしては、物体の3次元空間における位置を検知可能なビジョンセンサや3Dセンサ等が適用可能である。把持力を認識可能なセンサとしては、力覚センサ、パッドセンサ、指令値とハンドエンコーダとの差分等が適用可能である。なお、パッドセンサとは対象物90を吸着把持する形式のハンド部44の場合において、吸着パッドの変形量を検知するためのセンサであり、例えば、近接センサや圧力センサ等である。各軸方向の反力を検知可能なセンサとしては、力覚センサやパッドセンサ等が適用可能である。また、主対象物90Aの姿勢を認識可能なセンサとしては、アームエンコーダ及びハンドエンコーダや、パッドセンサ等を適用可能である。なお、アームエンコーダとは、ロボットアーム42の各関節の回転角度を検知するエンコーダであり、ハンドエンコーダとは、ハンド部44の各関節の回転角度や、グリッパーの開度等を検知するエンコーダである。
以下では、説明を簡単にするため、ハンド部44が多指多関節型であり、1つの対象物90を作業対象とする場合について説明する。また、センサ群50に含まれるセンサが、ビジョンセンサ、アームエンコーダ、ハンドエンコーダ、及びハンド部44の先端に設けられたパッドセンサである場合について説明する。なお、ビジョンセンサは、撮影方向がハンド部44の座標系のZ軸と平行になるように、ハンド部44の先端に取り付けられる。これにより、ビジョンセンサと対象物との距離をハンド部44の先端と対象物との距離とみなす。
なお、センサ群50に含まれるセンサはこの例に限定されず、対象物90とハンド部44との相対位置及び相対姿勢、主対象物90Aと副対象物90Bとの相対位置、並びに、対象物90に作用する外力を検知可能なセンサが含まれればよい。
図6は、第1実施形態に係る指令値生成装置10のハードウェア構成を示すブロック図である。図6に示すように、指令値生成装置10は、CPU(Central Processing Unit)12、メモリ14、記憶装置16、入出力I/F(Interface)18、入出力装置20、記憶媒体読取装置22、及び通信I/F24を有する。各構成は、バス26を介して相互に通信可能に接続されている。
記憶装置16には、後述する学習処理を実行するための学習プログラム、及び制御処理を実行するための制御プログラムを含む指令値生成プログラムが格納されている。CPU12は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU12は、記憶装置16からプログラムを読み出し、メモリ14を作業領域としてプログラムを実行する。CPU12は、記憶装置16に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
メモリ14は、RAM(Random Access Memory)により構成され、作業領域として一時的にプログラム及びデータを記憶する。記憶装置16は、ROM(Read Only Memory)、及びHDD(Hard Disk Drive)、SSD(Solid State Drive)等により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
入出力I/F18は、ロボット40及びセンサ群50の各々と指令値生成装置10とを接続するためのインタフェースである。センサ群50に含まれるセンサの各々から出力されたセンサデータは、入出力I/F18を介して指令値生成装置10へ入力される。また、指令値生成装置10で生成された指令値は、入出力I/F18を介して、ロボット40へ出力される。入出力装置20は、例えば、キーボードやマウス等の、各種の入力を行うための入力装置、ディスプレイやプリンタ等の、各種の情報を出力するための出力装置である。出力装置として、タッチパネルディスプレイを採用することにより、入力装置として機能させてもよい。
記憶媒体読取装置22は、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、ブルーレイディスク、USB(Universal Serial Bus)メモリ等の各種記憶媒体に記憶されたデータの読み込みや、記憶媒体に対するデータの書き込み等を行う。通信I/F24は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
次に、第1実施形態に係る指令値生成装置10の機能構成について説明する。
図7は、指令値生成装置10の機能構成の例を示すブロック図である。図7に示すように、指令値生成装置10は、機能構成として、取得部31と、受付部32と、生成部33と、制御部38とを含む。各機能構成は、CPU12が記憶装置16に記憶された指令値生成プログラムを読み出し、メモリ14に展開して実行することにより実現される。
取得部31は、対象物90への作業をロボット40に実行させるための指令値と、その作業時のロボット40の動作を手動により教示した際のロボット40の状態を表す状態データを取得する。状態データは、例えば、上記教示の際の、ロボット40の動作を表す動作データ、ロボット40と対象物との相対位置及び相対姿勢を表す位置姿勢データ、作業の間に対象物が受ける外力を表す外力データ等の複数種類のデータを含む。具体的には、取得部31は、センサ群50に含まれるセンサの各々からセンサデータを取得し、センサデータを状態データに変換する。
より具体的には、図8に示すように、取得部31は、ビジョンセンサのセンサデータである画像を取得し、画像内、すなわちXY平面での対象物90の位置及び姿勢を算出する。また、取得部31は、アームエンコーダのセンサデータを取得し、このセンサデータと、ロボットアーム42のキネマティクス情報とに基づいて、ロボットアーム42の先端(以下、「手先」という)の姿勢(ロール角、ピッチ角、ヨー角)を算出する。また、取得部31は、ハンドエンコーダのセンサデータを取得し、このセンサデータと、ハンド部44のキネマティクス情報とに基づいて、手先に対するハンド部44の先端(以下、「指先」という)の姿勢を算出する。また、取得部31は、パッドセンサからセンサデータを取得し、このセンサデータから各指先に作用する外力を算出する。また、取得部31は、このセンサデータから、ハンド部44に把持された対象物90の、指先に対する姿勢を算出する。
また、取得部31は、算出した画像内での対象物90の位置と、手先の姿勢とに基づいて、手先から対象物90までの距離をX、Y、及びZの各軸方向に分解した値を、手先に対する対象物90の相対位置データとして取得する。また、取得部31は、手先の姿勢と、手先に対する指先の姿勢とに基づいて、絶対座標系における指先の姿勢を算出する。また、取得部31は、各指先に作用する外力を、絶対座標系における指先の姿勢に基づいて、X、Y、及びZの各軸方向に分解した値を、外力データとして取得する。また、取得部31は、ハンド部44に把持された対象物90の、指先に対する姿勢と、手先の姿勢と、手先に対する指先の姿勢とに基づいて特定される対象物90の姿勢を、手先に対する対象物90の対象物の相対姿勢データとして取得する。
また、取得部31は、アームエンコーダ及びハンドエンコーダのセンサデータから、ロボットアーム42及びハンド部44の各関節の回転の角速度を算出する。また、取得部31は、アームエンコーダのセンサデータと、ロボットアーム42のヤコビアンとに基づいて、手先の速度を算出する。また、取得部31は、ハンドエンコーダのセンサデータと、ハンド部44のヤコビアンとに基づいて、指先の速度を算出する。取得部31は、この手先及び指先の速度を動作データとして取得する。
なお、各センサデータは時系列データであるため、変換された相対位置データ、相対姿勢データ、外力データ、及び動作データの各々も時系列データである。
受付部32は、複数回の手動による教示の各々について取得部31により取得された状態データのうち、後述する生成器の生成に利用する状態データの部分の選択を受け付ける。状態データの部分とは、複数回の教示から選択された一部の教示の各々について取得された状態データ、及び1回の教示について取得された状態データにおける、指定された時間範囲に含まれる部分の両方を含む。
例えば、受付部32は、図9に示すような部分選択画面70を表示し、生成器の生成に利用する状態データの部分として選択された情報(以下、「選択情報」という)を受け付ける。図9に示す部分選択画面70は、状態データの種類を選択するための選択領域73を含む。また、部分選択画面70は、選択領域73で選択された種類の状態データについて、複数の教示の各々についての状態データを、生成器の生成に利用する状態データとして採用するか否かを選択するための選択領域71を含む。図9の例では、選択領域71は、複数の教示の各々を識別する「試行回数」、その教示が実行された「時刻」、採用する場合にチェックされる「対象」、及び「部分採用」の各項目が含まれる。
また、部分選択画面70は、選択領域73で選択された種類の状態データの各々がグラフ化されて表示される表示領域72を含む。表示領域72において、選択領域71で選択された状態データのグラフが強調表示される。図9では、選択された状態データのグラフを実線、他の状態データのグラフを点線で表している。また、選択領域71において選択された試行回数の教示を網掛で表している。
また、表示領域72には、選択する時間範囲の開始時間及び終了時間の各々を指定するためのスライドバー(図9中の破線)を含む。スライドバーをスライドさせることにより、時間範囲が選択される。また、部分選択画面70は、表示領域72内のスライドバーで指定された時間範囲を表示する表示領域74を含む。また、部分選択画面70は、表示領域72において指定された時間(図9中の黒三角)におけるビジョンセンサで取得された画像が表示される表示領域75を含む。これにより、ユーザは、表示領域75に表示された画像を参考にして、時間範囲を選択することができる。時間範囲が指定された状態データを含む試行回数の教示については、表示領域71の「部分採用」が「あり」となり、時間範囲が指定されていない場合は「なし」となる。
生成部33は、取得部31により取得された状態データのうち、受付部32により受け付けられた選択情報が示す部分の状態データと、対応する時間の指令値とに基づいて、生成器を生成する。生成器は、入力された状態データに対応する動作をロボット40に実行させるための指令値を生成し、出力する。
具体的には、生成部33は、例えば図10の上図の学習フェーズに示すように、複数階層のニューラルネットワーク等のオートエンコーダで構成された生成器の入力及び出力を、時刻tの指令値Cv(t)及び状態データT(t)とする。状態データT(t)は、相対位置データTp(t)、相対姿勢データTθ(t)、外力データTf(t)、及び動作データTv(t)である。学習フェーズでの指令値Cv(t)は、動作データTv(t)としてよい。生成部33は、指令値と状態データとの複数の組み合わせを用いて、ニューラルネットワークの各階層の重みをパラメータとして学習することにより、生成器を生成する。
制御部38は、生成部33により生成された生成器により生成される指令値を出力してロボット40の動作を制御する。具体的には、制御部38は、取得部31から状態データT(t)を受け取り、図10の下図の制御フェーズに示すように、生成器に入力する。これより、生成器から状態データT(t)が示す現在の状態に応じた時刻tの指令値(ここでは、指令速度)Cv^(図10中では、「Cv」の上に「^(ハット)」)(t)が生成器から出力される。制御部38は、この指令値Cv^(t)をロボット40の各モータMへ出力する。これにより、各モータが指令値に基づいて駆動されることにより、ロボット40が動作する。
これにより、図11に示すように、生成器で生成された指令値を用いたロボット40のフィードバック制御が実現される。具体的には、時刻tのセンサデータ群S(t)が、時刻tの状態データT(t)である相対位置データTp(t)、相対姿勢データTθ(t)、外力データTf(t)、及び動作データTv(t)に変換され、生成器に入力される。生成器は、入力された状態データT(t)に基づいて、時刻tの指令値Cv^(t)を生成し、指令値Cv^(t)は、ロボット40の各モータMへ出力される。モータMが指令値Cv^(t)に基づいて駆動されることにより、ロボット40が動作する。ロボット40が動作することにより、アームエンコーダ及びハンドエンコーダで実動作Se(t+1)として、実角加速度Sea(t+1)、実角速度Seω(t+1)、及び実角度Seq(t+1)が取得される。この実動作Se(t+1)と、時刻t+1で取得されたビジョンセンサ及びパッドセンサのセンサデータとが、次時刻t+1のセンサデータ群S(t+1)となる。
次に、第1実施形態に係るロボット制御システム1の作用について説明する。
学習フェーズでは、CPU12が記憶装置16から学習プログラムを読み出して、メモリ14に展開して実行することにより、CPU12が指令値生成装置10の各機能構成として機能し、学習処理が実行される。また、制御フェーズでは、CPU12が記憶装置16から制御プログラムを読み出して、メモリ14に展開して実行することにより、CPU12が指令値生成装置10の各機能構成として機能し、制御処理が実行される。以下、学習処理及び制御処理の各々について詳述する。
図12は、指令値生成装置10のCPU12により実行される学習処理の流れを示すフローチャートである。学習処理は、ロボット40に実行させる動作シーケンス中の動作毎に実行される。
ステップS11で、制御部38が、学習処理の対象の動作の開始位置及び姿勢となるようにロボット40を制御する。例えば、制御部38は、動作シーケンス中の動作のうち、前に学習処理を実行した動作の終了位置及び姿勢を、今回の学習処理の対象の動作の開始位置及び姿勢としてよい。
次に、ステップS12で、取得部31が、ユーザにより教示開始を示すボタンが押下されるなどして、教示開始が指示されたか否かを判定する。教示開始が指示された場合には、ステップS13へ移行し、指示されていない場合には、本ステップの判定を繰り返す。ユーザは、教示開始を指示した後、手動によりロボット40に対象の動作を教示する。
ステップS13では、取得部31が、教示する動作に対応する指令値を取得すると共に、センサ群50に含まれる各センサからセンサデータを取得する。次に、ステップS14で、取得部31が、ユーザにより教示終了を示すボタンが押下されるなどして、教示終了が指示されたか否かを判定する。教示終了が指示された場合には、ステップS15へ移行し、指示されていない場合には、ステップS13に戻る。ステップS15で、取得部31が、上記ステップS13で取得したセンサデータを状態データに変換する。
次に、ステップS16で、取得部31が、所定回数分の教示が終了したか否かを判定する。所定回数分の教示が終了した場合には、ステップS17へ移行し、終了していない場合には、ステップS11に戻る。ステップS17では、受付部32が、部分選択画面70を表示し、生成器の生成に利用する状態データの選択情報を受け付ける。次に、ステップS18で、生成部33が、選択情報が示す状態データの部分と、対応する指令値とを用いて生成器を生成し、学習処理は終了する。
図13は、指令値生成装置10のCPU12により実行される制御処理の流れを示すフローチャートである。
ステップS21で、取得部31が、センサ群50に含まれる各センサからセンサデータを取得する。次に、ステップS22で、取得部31が、上記ステップS21で取得したセンサデータを状態データに変換する。次に、ステップS23で、制御部38が、取得部31から状態データを受け取り、生成器に入力することにより、指令値を生成する。次に、ステップS24で、制御部38が、生成した指令値をロボット40の各モータへ出力し、ステップS21に戻る。
以上説明したように、第1実施形態に係るロボット制御システムによれば、指令値生成装置が、対象物への作業をロボットに実行させるための指令値と、その作業時のロボットの動作を手動により教示した際の、ロボットの状態を表す状態データを取得する。状態データは、ロボットの動作を表す動作データ、ロボットと対象物との相対位置及び相対姿勢を表す位置姿勢データ、作業の間に対象物が受ける外力を表す外力データ等を含む複数種類のデータである。指令値生成装置は、対応する時間に取得された指令値と状態データとに基づいて、入力された状態データに対応する動作をロボットに実行させるための指令値を生成する生成器を生成する。これにより、様々な状態を取り得る対象物に対する作業をロボットにロバストに実行させるためのフィードバック制御系を構成することができる。
また、非特許文献1に記載の技術では、実行している力制御系が、人が手伝え教示した際の位置と力のロギングデータとをそのまま力制御系の指令値入力にしているため、ロバスト性が低い。ロバスト性を高めるには、現在の状態を的確に表現する特徴量を内部的に推定し、その特徴量に基づいて指令値を生成する必要があるが、非特許文献1に記載の技術には、その構造が存在しない。特徴量を内部的に持てる構造となっているモデルにニューラルネットワークがある。ニューラルネットワークはネットワーク重みを変更することにより入力層からのデータを変換し、中間層に特徴量が現れるようにする。しかし、中間層の状態空間が広すぎると過学習することが知られており、それはロバスト性を担保できる能力を持ちながらも、ロバスト性が担保できないものにもなり得ることを示している。この問題に対し、状態空間を意図的に狭くする(次元を絞る)ことによってロバスト性を回復させるオートエンコーダという構造及び学習法が提案されている。上記実施形態における指令値生成装置は、生成器としてオートエンコーダを採用することにより、よりロバスト性を担保できるようなセンサフィードバック系を構成することができる。
また、指令値生成装置は、複数回の教示により取得した状態データの各々を採用するか否か、及び、採用する状態データの時間範囲の選択を受け付け、選択された部分の状態データを用いて生成器を生成する。これにより、手動による教示の際に、誤って意図しない動作をロボットに教示した場合などに、その際に取得されたセンサデータに基づく状態データが生成器の生成に利用されることを防ぐことができる。
なお、上記実施形態において、手動による教示として、ロボットとバイラテラル制御で接続されたティーチング用機器を用いた遠隔操作を行うことが可能である。この場合、指令値生成装置は、ティーチング用機器により作業を実行した際の外力データと共に、コンプライアンスパラメータを収集してもよい。そして、指令値生成装置は、収集した外力データとコンプライアンスパラメータとを用いて、上記実施形態のようなオートエンコーダで構成された生成器の各階層の重みをパラメータとして学習し、外力データを入力として、コンプライアンスパラメータを出力する生成器を生成してもよい。これにより、ハンド部のコンプライアンスパラメータを状況に応じて動的に変更する必要がある場合でも、自動で変更を実行することができる。
また、上記実施形態において、指令値生成装置は、生成器の生成に利用された状態データの一部を削除、及び新たに取得された状態データの追加の少なくとも一方を行って生成器の生成を再実行してもよい。具体的には、状態データの一部を削除する場合は、生成器の生成後に、その生成器から出力された指令値に基づくロボットの動作をユーザが確認し、図9に示すような部分選択画面と同様の画面から削除する状態データを選択すればよい。また、状態データを追加する場合は、動作シーケンスの中で不自然な動作となっている部分について、改めて手動による教示を行うことにより、追加する状態データを取得すればよい。これにより、生成された指令値に基づいて意図しない動作が実行される場合に、生成器の生成をやり直すことで、フィードバック制御系による動作の質を高めることができる。
<第2実施形態>
次に、第2実施形態について説明する。なお、第2実施形態に係るロボット制御システムにおいて、第1実施形態に係るロボット制御システム1と同様の構成については、同一符号を付して詳細な説明を省略する。
図1に示すように、第2実施形態に係るロボット制御システム2は、指令値生成装置210と、ロボット40と、センサ群50とを含んで構成される。
次に、第2実施形態に係る指令値生成装置210の機能構成について説明する。
図14は、指令値生成装置210の機能構成の例を示すブロック図である。図14に示すように、指令値生成装置210は、機能構成として、取得部231と、生成部33と、指示部234と、制御部38とを含む。各機能構成は、CPU12が記憶装置16に記憶された指令値生成プログラムを読み出し、メモリ14に展開して実行することにより実現される。なお、指令値生成装置210のハードウェア構成は、図6に示す、第1実施形態に係る指令値生成装置10のハードウェア構成と同様であるため、説明を省略する。
指示部234は、生成部33により生成された生成器に、摂動項を加味した状態データを入力した場合に生成される指令値に基づいてロボット40が動作可能か否かを判定する。摂動項は、組立やピックアンドプレイスのアプリケーションでばらつく可能性があるパラメータに関するものである。例えば、ピックアンドプレイスの対象物90の想定していた大きさや質量、初期位置、目標位置、対象物90等の摩擦係数といったパラメータに関するものである。例えば、指示部234は、摂動項として、相対位置データ及び相対姿勢データの少なくとも一方に、対象物90のサイズに応じた値を加算又は減算する。対象物90のサイズに応じた値は、例えば、対象物90のサイズに対する割合で指定してもよいし、例えば「10mm」というように、具体的な数値で指定してもよい。指示部234は、摂動項を加味して生成された指令値に基づくロボット40の動作のシミュレーションを実行し、動作可能か否かを判定する。動作可能か否かの判定としては、一連の動作シーケンスで実行される作業が完遂されるか否かを判定してもよいし、動作目標値を設定し、その動作目標値が達成されたか否かを判定してもよい。
指示部234は、動作可能ではないと判定した場合、摂動項を加味した場合に生成される指令値及び状態データの取得を取得部231に指示する。具体的には、指示部234は、摂動項を加味したロボット40の軌道を表示装置に表示するなどしてユーザに示し、かつ、その軌道の開始位置及び姿勢となるようにロボット40を制御するように制御部38へ指示する。
次に、第2実施形態に係るロボット制御システム2の作用について説明する。
図15は、指令値生成装置210のCPU12により実行される学習処理の流れを示すフローチャートである。CPU12が記憶装置16から学習プログラムを読み出して、メモリ14に展開して実行することにより、CPU12が指令値生成装置210の各機能構成として機能し、図15に示す学習処理が実行される。なお、図15に示す学習処理において、第1実施形態における学習処理(図12)と同様の処理については、同一のステップ番号を付与して、詳細な説明を省略する。
ステップS11で、制御部38が、学習処理の対象の動作の開始位置及び姿勢となるようにロボット40を制御する。次に、ステップS200で、取得処理が実行される。取得処理は、図12に示す学習処理のステップS12~S15と同様である。次に、ステップS16で、取得部231が、所定回数分の教示が終了したか否かを判定する。所定回数分の教示が終了した場合には、ステップS211へ移行し、終了していない場合には、ステップS11に戻る。
ステップS211では、生成部33が、取得された状態データ及び指令値を用いて生成器を生成する。次に、ステップS212で、指示部234が、生成された生成器に、摂動項を加味した状態データを入力した場合に生成される指令値に基づいてロボット40の動作をシミュレーションする。次に、ステップS213で、指示部234が、シミュレーションの結果、摂動項を加味した場合に、ロボット40が動作可能か否かを判定する。動作可能な場合には、学習処理は終了し、動作可能ではない場合には、ステップS214へ移行する。
ステップS214では、指示部234が、摂動項を加味したロボット40の軌道を表示装置に表示するなどしてユーザに示し、かつ、その軌道の開始位置及び姿勢となるようにロボット40を制御するように制御部38へ指示し、ステップS200に戻る。
制御処理については、第1実施形態と同様であるため、説明を省略する。
以上説明したように、第2実施形態に係るロボット制御システムによれば、指令値生成装置が、生成された生成器に、摂動項を加味した状態データを入力した場合に生成される指令値に基づいてロボットが動作可能か否かを判定する。そして、指令値生成装置は、動作可能ではない場合、摂動項を加えた場合に生成される指令値及び状態データの取得を取得部に指示する。これにより、手動による教示で、生成器の学習に十分な状態データが取得されているか否かを自動で判定することができる。したがって、ロボットシステムに詳しくないユーザであっても、生成器の生成に必要なデータが集まっているか否かを判断することができる。
<第3実施形態>
次に、第3実施形態について説明する。なお、第3実施形態に係るロボット制御システムにおいて、第1実施形態に係るロボット制御システム1と同様の構成については、同一符号を付して詳細な説明を省略する。
図1に示すように、第3実施形態に係るロボット制御システム3は、指令値生成装置310と、ロボット40と、センサ群50とを含んで構成される。
上記各実施形態では、複数種類の状態データを生成器に入力して指令値を生成しており、生成器内部はブラックボックスの状態であり、生成される指令値への納得感が低い場合がある。そこで、第3実施形態では、ユーザが選択した状態データとの関係で指令値を生成する生成器を生成する。また、第3実施形態では、生成器は、生成された指令値に基づいて目標動作を達成しているか否かの情報も生成する。
図7は、指令値生成装置310の機能構成の例を示すブロック図である。図7に示すように、指令値生成装置310は、機能構成として、取得部31と、受付部332と、生成部333と、制御部38とを含む。各機能構成は、CPU12が記憶装置16に記憶された指令値生成プログラムを読み出し、メモリ14に展開して実行することにより実現される。なお、指令値生成装置310のハードウェア構成は、図6に示す、第1実施形態に係る指令値生成装置10のハードウェア構成と同様であるため、説明を省略する。
受付部332は、例えば図16に示すような種類選択画面80を表示し、取得部31により取得された複数種類の状態データのうち、生成器の生成に利用する状態データの種類の選択を受け付ける。図16の種類選択画面80には、状態データの種類毎に、指令値の生成に採用する場合にチェックされる「指令値対象」、及び動作目標達成の判定に採用される場合にチェックされる「判定対象」の各項目が含まれる。
生成部333は、選択された種類の状態データと指令値とに基づいて、指令値を生成する指令値生成器、及び動作目標の達成を判定する判定器を含む生成器のパラメータを学習する。具体的には、生成部333は、選択された種類の状態データと指令値とに基づいて、選択された種類の状態データが表す状態を再現可能な指令値を生成するためのパラメータを最適化することにより、指令値生成器を生成する。指令値生成器としては、例えば、選択された種類の状態データと指令値との関係を表す回帰式等としてよい。また、生成部333は、指令値の上限値を生成器のパラメータに含めてもよい。
また、生成部333は、選択された種類の状態データと、その状態データが示す状態が、目標動作が達成されていることを表すか否かのフラグ(以下、「動作目標達成フラグ」という)との関係を学習することにより、判定器を生成する。生成部333は、動作目標値を生成器のパラメータに含めてもよい。生成部333は、指令値生成器及び判定器の各々の内部のパラメータの最適化において、選択されていない状態データの係数を小さくすることにより、選択された状態データに応じた指令値生成器及び判定器を生成する。
なお、生成部333は、指令値の上限値及び動作目標値の少なくとも一方がユーザにより指定された場合、指定された指令値の上限値及び動作目標値の少なくとも一方の値を指定された値に固定する。そのうえで、生成部333は、他のパラメータを最適化することにより生成器を生成する。これにより、よりユーザが望むロボットの動作を実現するための指令値を出力可能な生成器を生成することができる。
図17に、第3実施形態における生成器の概略構成の一例を示す。図17に示すように、入力された状態データと、指令値の上限値とが指令値生成器に入力される。指令値生成器は、状態データに応じた指令値を生成し、出力する。また、入力された状態データと、動作目標値とが判定器に入力される。判定器は、状態データに応じた動作目標達成フラグを出力する。
次に、第3実施形態に係るロボット制御システム3の作用について説明する。
図18は、指令値生成装置310のCPU12により実行される学習処理の流れを示すフローチャートである。CPU12が記憶装置16から学習プログラムを読み出して、メモリ14に展開して実行することにより、CPU12が指令値生成装置310の各機能構成として機能し、図18に示す学習処理が実行される。なお、図18に示す学習処理において、第2実施形態における学習処理(図15)と同様の処理については、同一のステップ番号を付与して、詳細な説明を省略する。
ステップS11、S200、及びS16を経て、ステップS311へ移行する。ステップS311では、受付部332が、種類選択画面80を表示し、取得部31により取得された複数種類の状態データのうち、指令値生成器の学習に利用する状態データ、及び判定器の学習に利用する状態データの種類の選択を受け付ける。
次に、ステップS312で、生成部333が、指令値生成器の学習に利用する状態データとして選択された種類の状態データと、動作データに基づく指令値とに基づいて、指令値を生成する指令値生成器のパラメータを最適化する。次に、ステップS313で、生成部333が、判定器の学習に利用する状態データとして選択された種類の状態データに応じた動作目標達成フラグを生成する判定器のパラメータを最適化する。これにより、指令値生成器及び判定器を含む生成器が生成される。そして、学習処理は終了する。
制御処理については、第1実施形態と同様であるため、詳細な説明を省略する。なお、制御フェーズにおいて、生成器から出力される動作目標達成フラグが、動作目標を達成していないことを示している場合には、ロボット40の動作を停止するように制御してもよいし、動作目標値を達成する方向に指令値を補正するようにしてもよい。
以上説明したように、第3実施形態に係るロボット制御システムによれば、指令値生成装置が、ユーザにより選択された種類の状態データを利用して生成器を生成する。これにより、中身がブラックボックスの生成器により生成される指令値に比べ、ユーザにとって納得性の高い指令値を出力することができる。
なお、第3実施形態においても、第1実施形態と同様に、図9に示すような部分選択画面を表示して、選択された種類の状態データについて、生成器の学習に利用する部分の選択を受け付けるようにしてもよい。これにより、手動による教示の際に、誤って意図しない動作をロボットに教示した場合などに、その際に取得されたセンサデータに基づく状態データが生成器の生成に利用されることを防ぐことができる。
また、第3実施形態において、生成された生成器についてのパラメータを、ユーザが確認及び修正可能なユーザインタフェースを提供してもよい。このユーザインタフェースとしては、例えば、生成器のパラメータを直接修正可能な画面を表示してもよい。また、例えば、生成された生成器から出力される指令値に基づく動作のシミュレーション画像を表示するなどしてもよい。ユーザは、シミュレーション画像により動作を確認し、動作速度を遅くするなどの修正を加え、これに対応したパラメータの修正、例えば上限値を下げる等の修正を生成器に反映させればよい。また、パラメータ修正後の生成器から出力される指令値に基づく動作のシミュレーション画像を表示するなどして、修正内容を確認できるようにしてもよい。これにより、明らかに不適切なパラメータや、ユーザの意図に沿わないパラメータ等を事前に修正することができる。
<第4実施形態>
次に、第4実施形態について説明する。なお、第4実施形態に係るロボット制御システムにおいて、第1実施形態に係るロボット制御システム1と同様の構成については、同一符号を付して詳細な説明を省略する。
図19に示すように、第4実施形態に係るロボット制御システム4は、指令値生成装置410と、ロボット40と、センサ群50とを含んで構成される。第4実施形態では、センサ群50にはビジョンセンサが含まれる。なお、センサ群50には、上記各実施形態と同様に、ビジョンセンサ以外のセンサも含まれるが、図19では、センサ群50に含まれるセンサとしてビジョンセンサのみを表している。
図20は、指令値生成装置410の機能構成の例を示すブロック図である。図20に示すように、指令値生成装置410は、機能構成として、取得部431と、生成部33と、設定部435と、制御部38とを含む。各機能構成は、CPU12が記憶装置16に記憶された指令値生成プログラムを読み出し、メモリ14に展開して実行することにより実現される。なお、指令値生成装置410のハードウェア構成は、図6に示す、第1実施形態に係る指令値生成装置10のハードウェア構成と同様であるため、説明を省略する。
取得部431は、手動によるロボット40の動作の教示の際に、対象物を含む作業領域を撮影した画像を取得する。具体的には、取得部431は、ビジョンセンサで取得された画像を取得する。
また、取得部431は、予め設定された対象物90のサイズと、取得した画像から認識される対象物90の画像上でのサイズとに基づいて、ビジョンセンサと対象物90との距離を算出する。取得部431は、算出したビジョンセンサと対象物90との距離と、その距離の算出に利用した画像が取得された際のロボット40の手先の位置座標とをセットで記憶する。そして、取得部431は、この記憶した情報と、手動による教示の際に取得される手先の位置座標の時系列データとに基づいて、対象物90までの距離の時系列データを状態データの1つとして取得する。
また、対象物90や、対象物90のプレイス場所等を、ビジョンセンサで取得された画像から認識するために、事前にビジョンセンサによる画像に基づいて、認識用のパラメータを設定する必要がある。そこで、設定部435は、取得部431により取得された画像に基づいて、画像認識用のパラメータを設定する。画像認識用のパラメータの設定は、画像から対象物を認識するためのニューラルネットワーク等の認識モデルのパラメータの最適化と、ビジョンセンサのカメラの内部パラメータ及び外部パラメータのキャリブレーションとを含む。
次に、第4実施形態に係るロボット制御システム4の作用について説明する。
図21は、指令値生成装置410のCPU12により実行される学習処理の流れを示すフローチャートである。CPU12が記憶装置16から学習プログラムを読み出して、メモリ14に展開して実行することにより、CPU12が指令値生成装置410の各機能構成として機能し、図21に示す学習処理が実行される。なお、図21に示す学習処理において、第2実施形態における学習処理(図15)と同様の処理については、同一のステップ番号を付与して、詳細な説明を省略する。
ステップS11及びS200を経て、ステップS411へ移行する。ステップS411では、取得部431が、予め設定された対象物90のサイズと、取得した画像とに基づいて、ビジョンセンサと対象物90との距離を算出する。そして、取得部431が、算出した距離と、そのときのロボット40の手先の位置座標とをセットで記憶する。この情報の記憶は、本ステップの最初の実行時のみに行えばよい。以降、本ステップが実行される際には、この記憶した情報と、手動による教示の際に取得される手先の位置座標とに基づいて、対象物までの距離を状態データの1つとして取得する。
次に、ステップS16及びステップS211を経て、ステップS412へ移行する。ステップS412では、設定部435は、取得部431により取得された画像に基づいて、画像認識用のパラメータを設定し、学習処理は終了する。
制御処理については、第1実施形態と同様であるため、詳細な説明を省略する。
以上説明したように、第4実施形態に係るロボット制御システムによれば、指令値生成装置が、ビジョンセンサの画像と、予め設定された対象物のサイズとに基づいて、対象物までの距離の時系列データを状態データの1つとして取得する。Z軸方向の距離を認識するためには、深度センサ等の特殊なセンサを用いない場合、三角測量が必要となるが、基準となる情報が与えられていない場合には、三角測量では精度良く距離を認識することはできない。第4実施形態では、特殊なセンサを用いることなく、精度良く対象物までの距離を取得することができる。これにより、ハンド部により対象物を把持する動作等、Z軸方向の距離の正確な把握が必要となる動作を適切に実行可能な指令値を生成することができる。
なお、第3実施形態のように、動作目標を達成しているか否かを判定する判定器を含む生成器を生成する場合、判定器を生成するための状態データとして、対象物までの距離を選択してよい。この場合、図22に示すように、対象物までの距離が、動作目標値として設定した閾値以下となった場合に、動作目標達成を示すフラグを出力する判定器を生成しておけばよい。これにより、ハンド部により対象物を把持する動作をロバストに実行可能になる。
また、第4実施形態に係るロボット制御システムによれば、指令値生成装置が、ビジョンセンサで取得された画像に基づいて、画像認識用のパラメータの設定を行う。これにより、ロボット40の動作を制御する指令値を生成する生成器の生成と共に、画像認識用のパラメータの設定も行うことができ、ユーザの手間を削減することができる。また、副次的な効果として、設定したパラメータによる動作確認も容易に実行することができる。
<第5実施形態>
次に、第5実施形態について説明する。なお、第5実施形態に係るロボット制御システムにおいて、第1実施形態に係るロボット制御システム1と同様の構成については、同一符号を付して詳細な説明を省略する。
図1に示すように、第5実施形態に係るロボット制御システム5は、指令値生成装置510と、ロボット40と、センサ群50とを含んで構成される。
図23は、指令値生成装置510の機能構成の例を示すブロック図である。図23に示すように、指令値生成装置510は、機能構成として、取得部31と、生成部33と、制御部38と、検知部539とを含む。各機能構成は、CPU12が記憶装置16に記憶された指令値生成プログラムを読み出し、メモリ14に展開して実行することにより実現される。なお、指令値生成装置510のハードウェア構成は、図6に示す、第1実施形態に係る指令値生成装置10のハードウェア構成と同様であるため、説明を省略する。ただし、第5実施形態に係る指令値生成プログラムは、学習プログラム及び制御プログラムに加え、後述する検知処理を実行するための検知プログラムを含む。
検知部539は、生成器により生成された指令値を生成器に入力して逆算することにより状態データを推定し、推定された状態データと、取得部31により取得される状態データとを比較して、ロボット40による作業中に発生する異常を検知する。
具体的には、図24に示すように、検知部539は、制御フェーズにおいて、時系列データである時刻t-n~t+kの状態データを生成器に入力する。時刻t-n~時刻tは時刻tを基準にした過去の時刻、時刻t~時刻t+kは時刻tを基準にした未来の時刻である。したがって、図24中の網掛部分は、時刻tを基準にした未来のデータに相当する。検知部539は、生成器から出力される時刻t~時刻t+kの指令値(図24中の破線部)を生成器に入力して逆算することにより、時刻t~時刻t+kの状態データ(図24中の一点鎖線部)を生成する。そして、検知部539は、この生成した時刻t~時刻t+kの状態データと、取得部31により取得された実測値であるセンサデータから変換された時刻t~時刻t+kの状態データ(図24中の二点鎖線部)との差と、予め定めた閾値とを比較する。検知部539は、差が閾値以上の場合には、異常を検知し、動作戦略のフロー図における、異常発生時の状態遷移に進むように状態を制御する。動作戦略のフロー図で、異常発生時の状態遷移がない場合は、検知部539は、ユーザに異常の発生を報知する。
次に、第5実施形態に係るロボット制御システム5の作用について説明する。
学習処理及び制御処理については、上記各実施形態のいずれかと同様の学習処理及び制御処理が実行される。第5実施形態に係るロボット制御システム5では、制御処理と並行して、検知処理が実行される。図25は、指令値生成装置510のCPU12により実行される検知処理の流れを示すフローチャートである。CPU12が記憶装置16から検知プログラムを読み出して、メモリ14に展開して実行することにより、CPU12が指令値生成装置510の各機能構成として機能し、図25に示す検知処理が実行される。
ステップS511で、検知部539が、ロボット40へ出力した指令値を生成器に入力して逆算することにより、状態データを推定する。次に、ステップS512で、検知部539が、推定した状態データと、取得部31により取得された状態データとの差を算出する。次に、ステップS513で、検知部539が、上記ステップS512で算出した差が、予め定めた閾値以上か否かを判定する。差が閾値以上の場合には、ステップS514へ移行し、差が閾値未満の場合には、ステップS511に戻る。ステップS514では、動作戦略において、該当状態が、異常が発生した時に次の状態に遷移する状態であれば、検出部539が制御部38にその動作の実行を完了するように伝え、異常が発生した場合の処理に進む。異常が発生した時の遷移先が決まっていない状態である場合は、検知部539が、異常が検知されたことをユーザに報知し、検知処理は終了する。
以上説明したように、第5実施形態に係るロボット制御システムによれば、指令値生成装置が、状態データから指令値を生成する生成器に指令値を入力して逆算することにより推定した状態データと、実際の状態データとを比較する。そして、両者の差が大きい場合には、異常を検知する。これにより、複雑な異常の検知条件を作成することなく、異常を検知することができる。
なお、上記各実施形態では、学習フェーズで機能する機能構成と、制御フェーズで機能する機能構成とを同一の装置で構成する場合について説明したが、それぞれを別の装置で構成するようにしてもよい。
また、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、これらの各種のプロセッサのうちの1つで処理を実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
また、上記各実施形態では、指令値生成プログラムが記憶装置に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM、DVD-ROM、ブルーレイディスク、USBメモリ等の記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
1、2、3、4、5 ロボット制御システム
10、210、310、410、510 指令値生成装置
12 CPU
14 メモリ
16 記憶装置
18 入出力I/F
20 入出力装置
22 記憶媒体読取装置
24 通信I/F
26 バス
31、231、431 取得部
32、332 受付部
33、333 生成部
38 制御部
234 指示部
435 設定部
539 検知部
40 ロボット
42 ロボットアーム
44 ハンド部
50 センサ群
60 コントローラ
62 ティーチング用機器
70 部分選択画面
80 種類選択画面
90 対象物
90A 主対象物
90B 副対象物

Claims (15)

  1. 対象物への作業をロボットに実行させるための指令値と、前記作業時の前記ロボットの動作を手動により教示した際の前記ロボットの状態を表す状態データであって、少なくとも、前記ロボットの動作を表す動作データ、前記ロボットと前記対象物との相対位置及び相対姿勢を表す位置姿勢データ、並びに、前記作業の間に前記対象物が受ける外力を表す外力データを含む複数種類の状態データとを取得する取得部と、
    前記取得部により対応する時間に取得された前記指令値と前記状態データとに基づいて、入力された前記状態データに対応する動作を前記ロボットに実行させるための指令値を生成する生成器を生成する生成部と、
    を含む指令値生成装置。
  2. 前記生成部は、前記生成器内のパラメータを最適化に基づいて決定することにより前記生成器を生成する請求項1に記載の指令値生成装置。
  3. 複数回の教示の各々について前記取得部により取得された前記状態データのうち、前記生成器の生成に利用する前記状態データの部分の選択を受け付ける受付部を含み、
    前記生成部は、選択された前記状態データの部分を利用して前記生成器を生成する
    請求項1又は請求項2に記載の指令値生成装置。
  4. 前記受付部は、前記取得部により取得された複数種類の前記状態データのうち、前記生成器の生成に利用する前記状態データの種類の選択を受け付け、
    前記生成部は、選択された種類の前記状態データと前記指令値とに基づいて、選択された種類の前記状態データが表す状態を再現可能な指令値を生成するためのパラメータを最適化することにより、前記生成器を生成する
    請求項3に記載の指令値生成装置。
  5. 前記生成部は、生成した前記生成器のパラメータの修正を受け付ける請求項4に記載の指令値生成装置。
  6. 前記生成器のパラメータは、前記指令値の上限値、及び前記指令値に対する動作の目標値を含み、
    前記生成部は、前記上限値及び前記目標値を指定された値に固定すると共に、他のパラメータを最適化することにより前記生成器を生成する
    請求項4又は請求項5に記載の指令値生成装置。
  7. 前記生成部により生成された前記生成器に、前記作業においてばらつく可能性があるパラメータに摂動項を加味した前記状態データを入力した場合に生成される指令値に基づいて前記ロボットが動作可能か否か判定し、動作可能ではない場合、前記摂動項を加えた場合に生成される指令値及び前記状態データの取得を前記取得部に指示する指示部を含む請求項1~請求項6のいずれか1項に記載の指令値生成装置。
  8. 前記生成部は、前記生成器の生成に利用された前記状態データの一部を削除、及び新たに前記取得部により取得された前記状態データの追加の少なくとも一方を行って前記生成器の生成を再実行する請求項1~請求項7のいずれか1項に記載の指令値生成装置。
  9. 前記取得部は、前記教示の際に、前記対象物を含む作業領域を撮影した画像を取得し、
    前記取得部により取得された前記画像に基づいて、前記作業領域を認識するためのパラメータを設定する設定部を含む
    請求項1~請求項8のいずれか1項に記載の指令値生成装置。
  10. 前記取得部は、予め設定された前記対象物のサイズと、前記画像から認識される前記対象物の画像上でのサイズとに基づいて算出される、前記画像を撮影するカメラと前記対象物との距離を取得する請求項9に記載の指令値生成装置。
  11. 前記ロボットの動作の手動による教示は、ダイレクトティーチング、コントローラからの遠隔操作、又は前記ロボットとバイラテラル制御で接続されたティーチング用機器を用いた遠隔操作により実行される請求項1~請求項10のいずれか1項に記載の指令値生成装置。
  12. 前記生成器により生成される指令値を出力して前記ロボットを制御する制御部を含む請求項1~請求項11のいずれか1項に記載の指令値生成装置。
  13. 前記生成器により生成された指令値を前記生成器に入力して逆算することにより、前記状態データを推定し、推定された前記状態データと、前記取得部により取得される前記状態データとを比較して、前記ロボットによる作業中に発生する異常を検知する検知部を含む請求項12に記載の指令値生成装置。
  14. 取得部が、対象物への作業をロボットに実行させるための指令値と、前記作業時の前記ロボットの動作を手動により教示した際の前記ロボットの状態を表す状態データであって、少なくとも、前記ロボットの動作を表す動作データ、前記ロボットと前記対象物との相対位置及び相対姿勢を表す位置姿勢データ、並びに、前記作業の間に前記対象物が受ける外力を表す外力データを含む複数種類の状態データとを取得し、
    生成部が、前記取得部により対応する時間に取得された前記指令値と前記状態データとに基づいて、入力された前記状態データに対応する動作を前記ロボットに実行させるための指令値を生成する生成器を生成する
    指令値生成方法。
  15. コンピュータを、
    対象物への作業をロボットに実行させるための指令値と、前記作業時の前記ロボットの動作を手動により教示した際の前記ロボットの状態を表す状態データであって、少なくとも、前記ロボットの動作を表す動作データ、前記ロボットと前記対象物との相対位置及び相対姿勢を表す位置姿勢データ、並びに、前記作業の間に前記対象物が受ける外力を表す外力データを含む複数種類の状態データとを取得する取得部、及び、
    前記取得部により対応する時間に取得された前記指令値と前記状態データとに基づいて、入力された前記状態データに対応する動作を前記ロボットに実行させるための指令値を生成する生成器を生成する生成部
    として機能させるための指令値生成プログラム。
JP2021145670A 2021-09-07 2021-09-07 指令値生成装置、方法、及びプログラム Active JP7679737B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2021145670A JP7679737B2 (ja) 2021-09-07 2021-09-07 指令値生成装置、方法、及びプログラム
CN202280058959.3A CN117881507A (zh) 2021-09-07 2022-03-28 指令值生成装置、方法、以及程序
EP22866966.9A EP4400274A1 (en) 2021-09-07 2022-03-28 Command value generating device, method, and program
US18/687,674 US20240351205A1 (en) 2021-09-07 2022-03-28 Command value generating device, method, and program
PCT/JP2022/015158 WO2023037634A1 (ja) 2021-09-07 2022-03-28 指令値生成装置、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021145670A JP7679737B2 (ja) 2021-09-07 2021-09-07 指令値生成装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2023038776A true JP2023038776A (ja) 2023-03-17
JP7679737B2 JP7679737B2 (ja) 2025-05-20

Family

ID=85507366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021145670A Active JP7679737B2 (ja) 2021-09-07 2021-09-07 指令値生成装置、方法、及びプログラム

Country Status (5)

Country Link
US (1) US20240351205A1 (ja)
EP (1) EP4400274A1 (ja)
JP (1) JP7679737B2 (ja)
CN (1) CN117881507A (ja)
WO (1) WO2023037634A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230271319A1 (en) * 2022-02-28 2023-08-31 Denso Wave Incorporated Method of generating a learning model for transferring fluid from one container to another by controlling robot arm based on a machine-learned learning model, and a method and system for weighing the fluid
WO2024236652A1 (ja) * 2023-05-12 2024-11-21 ファナック株式会社 ロボット制御装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116494249B (zh) * 2023-06-26 2023-12-19 极限人工智能(北京)有限公司 协作机械臂实时手动控制装置、控制方法及协作系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018190241A (ja) * 2017-05-09 2018-11-29 オムロン株式会社 タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法
WO2019107454A1 (ja) * 2017-11-28 2019-06-06 川崎重工業株式会社 技能伝承機械装置
US20190184561A1 (en) * 2017-12-15 2019-06-20 The Regents Of The University Of California Machine Learning based Fixed-Time Optimal Path Generation
JP2020082332A (ja) * 2018-11-30 2020-06-04 オムロン株式会社 制御装置、制御方法、及び制御プログラム
JP2020192641A (ja) * 2019-05-28 2020-12-03 川崎重工業株式会社 制御装置、制御システム、機械装置システム及び制御方法
JP2020192640A (ja) * 2019-05-28 2020-12-03 川崎重工業株式会社 制御装置、制御システム、機械装置システム及び制御方法
JP2021030360A (ja) * 2019-08-22 2021-03-01 オムロン株式会社 モデル生成装置、モデル生成方法、制御装置及び制御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018190241A (ja) * 2017-05-09 2018-11-29 オムロン株式会社 タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法
WO2019107454A1 (ja) * 2017-11-28 2019-06-06 川崎重工業株式会社 技能伝承機械装置
US20190184561A1 (en) * 2017-12-15 2019-06-20 The Regents Of The University Of California Machine Learning based Fixed-Time Optimal Path Generation
JP2020082332A (ja) * 2018-11-30 2020-06-04 オムロン株式会社 制御装置、制御方法、及び制御プログラム
JP2020192641A (ja) * 2019-05-28 2020-12-03 川崎重工業株式会社 制御装置、制御システム、機械装置システム及び制御方法
JP2020192640A (ja) * 2019-05-28 2020-12-03 川崎重工業株式会社 制御装置、制御システム、機械装置システム及び制御方法
JP2021030360A (ja) * 2019-08-22 2021-03-01 オムロン株式会社 モデル生成装置、モデル生成方法、制御装置及び制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230271319A1 (en) * 2022-02-28 2023-08-31 Denso Wave Incorporated Method of generating a learning model for transferring fluid from one container to another by controlling robot arm based on a machine-learned learning model, and a method and system for weighing the fluid
WO2024236652A1 (ja) * 2023-05-12 2024-11-21 ファナック株式会社 ロボット制御装置

Also Published As

Publication number Publication date
CN117881507A (zh) 2024-04-12
US20240351205A1 (en) 2024-10-24
JP7679737B2 (ja) 2025-05-20
EP4400274A1 (en) 2024-07-17
WO2023037634A1 (ja) 2023-03-16

Similar Documents

Publication Publication Date Title
WO2023037634A1 (ja) 指令値生成装置、方法、及びプログラム
JP5754454B2 (ja) ロボットピッキングシステム及び被加工物の製造方法
JP5835926B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP6973119B2 (ja) ロボット制御装置及びロボットシステム
US11040451B2 (en) Teaching device and teaching method
JP2021000678A (ja) 制御システムおよび制御方法
Lepora et al. Pose-based tactile servoing: Controlled soft touch using deep learning
US10406688B2 (en) Offline programming apparatus and method having workpiece position detection program generation function using contact sensor
JP6322949B2 (ja) ロボット制御装置、ロボットシステム、ロボット、ロボット制御方法及びロボット制御プログラム
JP2017170571A (ja) ロボット、ロボット制御装置、及びロボットシステム
KR20080088165A (ko) 로봇 캘리브레이션 방법
JP2021505416A (ja) マニピュレータの制御システムおよび制御方法
JP6796557B2 (ja) 溶接ロボットのトーチケーブル干渉評価情報出力装置、評価情報出力方法及びプログラム
US12190536B2 (en) Device and method for training a neural network for controlling a robot
JP7564327B2 (ja) 教示装置
JP5806105B2 (ja) パラメータ補正方法および制御システム
CN112533739B (zh) 机器人控制装置、机器人控制方法以及存储介质
Shauri et al. Sensor integration and fusion for autonomous screwing task by dual-manipulator hand robot
CN118829511A (zh) 用于安装部件组件的机器人系统和方法
JP2022163836A (ja) ロボット画像の表示方法、コンピュータープログラム、及び、ロボット画像の表示システム
US20240227180A9 (en) Robot system, learning apparatus, information processing apparatus, learned model, control method, information processing method, method for manufacturing product, and recording medium
JP6743431B2 (ja) 制御装置、及びロボットシステム
JP4808920B2 (ja) 自動機械の制御装置
JP2023110601A (ja) 動作経路生成装置、方法、及びプログラム
WO2025023078A1 (ja) ロボットシステム及び制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240711

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250421

R150 Certificate of patent or registration of utility model

Ref document number: 7679737

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150