JP7326911B2 - 制御システムおよび制御方法 - Google Patents

制御システムおよび制御方法 Download PDF

Info

Publication number
JP7326911B2
JP7326911B2 JP2019114597A JP2019114597A JP7326911B2 JP 7326911 B2 JP7326911 B2 JP 7326911B2 JP 2019114597 A JP2019114597 A JP 2019114597A JP 2019114597 A JP2019114597 A JP 2019114597A JP 7326911 B2 JP7326911 B2 JP 7326911B2
Authority
JP
Japan
Prior art keywords
robot
orientation
simulation
image
imaging
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
JP2019114597A
Other languages
English (en)
Other versions
JP2021000678A (ja
Inventor
嵩史 大倉
拓 大谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2019114597A priority Critical patent/JP7326911B2/ja
Priority to CN202010123289.1A priority patent/CN112109075B/zh
Priority to US16/805,226 priority patent/US11498220B2/en
Priority to EP20160429.5A priority patent/EP3753685B1/en
Publication of JP2021000678A publication Critical patent/JP2021000678A/ja
Application granted granted Critical
Publication of JP7326911B2 publication Critical patent/JP7326911B2/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/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/1692Calibration of manipulator
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • 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/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39014Match virtual world with real world
    • 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/39022Transform between measuring and manipulator coordinate system
    • 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/39031Use of model for robot and for measuring device
    • 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/39041Calibrate only for end position
    • 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/40323Modeling robot environment for sensor based robot system
    • 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/40607Fixed camera to observe workspace, object, workpiece, global

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Description

本技術は、ロボットを制御する制御システムおよび制御方法に関する。
特開平11-239989号公報(特許文献1)には、ロボットに装着されたカメラにより撮影された対象物の実画像を用いてシミュレーションモデルを較正するキャリブレーション装置が開示されている。具体的には、カメラと同じ画角、視点で生成された対象物のグラフィクス画像と実画像とを重畳表示し、これらの画像が一致するように、シミュレーションモデルが較正される。
特開平11-239989号公報
特許文献1に記載の技術は、ロボットとロボットに装着されたカメラとの相対位置関係が一定であることを前提としており、当該相対位置関係に偏差が生じた場合に、シミュレーションに従ってロボットを精度良く動作させることができない。また、特許文献1に記載の技術は、ロボットにカメラを装着できないケースには適用できない。
本発明は、上記の問題に鑑みてなされたものであり、その目的は、シミュレーションに従ってロボットを精度良く動作させることが可能な制御システムおよび制御方法を提供することである。
本開示の一例によれば、ロボットを制御する制御システムは、シミュレーション装置と、ロボットコントローラと、撮像装置と、推定手段とを備える。シミュレーション装置は、ロボットの形状を示すロボットモデルを用いたシミュレーションを行なう。ロボットコントローラは、与えられた移動指令に従ってロボットを駆動制御する。撮像装置は、ロボットを撮像する。推定手段は、撮像装置の撮像により得られた画像に基づいて、ロボットに対する撮像装置の相対位置姿勢を推定する。シミュレーション装置は、オフラインティーチングを実行することにより、ロボットが取るべき位置姿勢を示す教示点を設定するための設定手段と、仮想空間に配置された仮想カメラの撮像によって得られるシミュレーション画像を生成するための画像生成手段とを含む。画像生成手段は、仮想空間において、教示点にロボットモデルを配置するとともに、ロボットモデルに対する相対位置姿勢が推定手段によって推定された相対位置姿勢と一致するように仮想カメラを配置したときの第1シミュレーション画像を生成する。制御システムは、さらに、第1取得手段と、決定手段とを備える。第1取得手段は、教示点への第1移動指令をロボットコントローラに与え、かつ、第1移動指令に従ってロボットが駆動制御された後の撮像装置の撮像により得られる第1実画像を取得する。決定手段は、第1実画像上のロボットの位置姿勢が第1シミュレーション画像上のロボットモデルの位置姿勢に近づくように、教示点に対する補正量を決定する。
この開示によれば、ロボットの実動作を、シミュレーション装置においてシミュレートされた仮想空間上のロボットモデルの動作に近づけることができる。すなわち、実環境と仮想環境との誤差に起因する、ロボットの実動作とシミュレーション動作との誤差を自動的に修正することできる。その結果、シミュレーションに従ってロボットを精度良く動作させることができる。
上述の開示において、決定手段は、偏差演算手段と、補正量演算手段とを含む。偏差演算手段は、撮像装置の撮像によって得られる実画像上のロボットの位置姿勢と第1シミュレーション画像上のロボットモデルの位置姿勢との偏差を演算する。補正量演算部は、第1移動指令に従って駆動制御されたロボットの位置姿勢から、偏差が予め定められた閾値未満となるときのロボットの位置姿勢までの移動量を補正量として演算する。
この開示によれば、ロボットの実動作をシミュレーション動作により精度良く合わせることができる。
上述の開示において、決定手段は、偏差が小さくなる方向への第2移動指令をロボットコントローラに与え、かつ、第2移動指令に従ってロボットが駆動制御された後の撮像装置の撮像によって得られる第2実画像を取得する取得処理を実行するための第2取得手段をさらに含む。第2取得手段は、第1移動指令に従ってロボットが駆動制御されてから、偏差が閾値未満になるまで取得処理を繰り返して実行する。補正量演算手段は、ロボットコントローラに与えられた第2移動指令の積算量を補正量として演算する。
この開示によれば、第1移動指令に従って駆動制御されたロボットの位置姿勢から、偏差が予め定められた閾値未満となるときのロボットの位置姿勢までの移動量を容易に演算することができる。
上述の開示において、決定手段は、偏差演算手段と、補正量演算手段とを含む。偏差演算手段は、第1実画像上のロボットの位置姿勢とシミュレーション画像上のロボットモデルの位置姿勢との偏差を演算する。補正量演算手段は、偏差が予め定められた閾値未満となるときのロボットモデルの位置姿勢から、教示点に配置されたロボットモデルの位置姿勢までの移動量を補正量として演算する。
この開示によれば、補正量を決定する際にロボットを移動させる必要がなく、補正量の決定に要する時間を短縮できる。
上述の開示において、制御システムは、撮像装置とロボットコントローラとシミュレーション装置とに接続され、ロボットコントローラおよび撮像装置を制御する制御装置を備える。推定手段、第1取得手段および決定手段は、制御装置に含まれる。
この開示によれば、教示点に対する補正量の決定のために必要な演算を、制御装置、ロボットコントローラおよびシミュレーション装置を含む複数の機器で分散して実施される。すなわち、各機器の負担を分散できる。
本開示の一例によれば、ロボットを制御する制御システムは、与えられた移動指令に従ってロボットを駆動制御するためのロボットコントローラと、ロボットを撮像するための撮像装置とを備える。制御システムにおける制御方法は、第1~第5のステップを備える。第1のステップは、ロボットモデルを用いたオフラインティーチングを実行することにより、ロボットが取るべき位置姿勢を示す教示点を設定するステップである。第2のステップは、撮像装置の撮像により得られた画像に基づいて、ロボットに対する撮像装置の相対位置姿勢を推定するステップである。第3のステップは、仮想空間において、教示点にロボットモデルを配置するとともに、ロボットモデルに対する相対位置姿勢が推定するステップによって推定された相対位置姿勢と一致するように仮想カメラを配置したときの仮想カメラの撮像によって得られるシミュレーション画像を生成するステップである。第4のステップは、教示点への移動指令をロボットコントローラに与え、かつ、教示点への移動指令に従ってロボットが駆動制御された後の撮像装置の撮像により得られる実画像を取得するステップである。第5のステップは、実画像上のロボットの位置姿勢がシミュレーション画像上のロボットモデルの位置姿勢に近づくように、教示点に対する補正量を決定するステップである。
この開示によっても、シミュレーションに従ってロボットを精度良く動作させることができる。
本開示によれば、シミュレーションに従ってロボットを精度良く動作させることができる。
本実施の形態に係る制御システムの全体構成例を模式的に示す図である。 第1実画像と第1シミュレーション画像とを重ね合わせた画像の一例を示す図である。 本実施の形態に係る制御装置のハードウェア構成例を示すブロック図である。 本実施の形態に従うシミュレーション装置のハードウェア構成例を示す模式図である。 本実施の形態に係るシミュレーション装置の機能構成例を示すブロック図である。 教示点の設定方法を説明する図である。 n番目の教示点Pnに対応する第1シミュレーション画像の生成方法を説明する図である。 本実施の形態に係る制御装置の機能構成例を示すブロック図である。 ロボットに対する撮像装置の相対位置姿勢を推定する方法の一例を説明する図である。 取得処理が実行されたときの実画像の変化の一例を示す図である。 補正量の決定処理における前半部分の流れを示すフローチャートである。 補正量の決定処理における後半部分の流れを示すフローチャートである。 変形例1における補正量の決定処理の一部の流れを示すフローチャートである。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
§1 適用例
まず、図1および図2を参照して、本発明が適用される場面の一例について説明する。図1は、本実施の形態に係る制御システムの全体構成例を模式的に示す図である。
図1に例示される制御システムSYSは、制御装置100と、ロボット200と、ロボットコントローラ300と、シミュレーション装置400と、撮像装置500と、カメラコントローラ600とを備える。
ロボット200は、対象物に対して所定の処理(ピッキング、加工など)を施す機構である。図1に例示されるロボット200は、垂直多関節ロボットであり、ベース21と、ベース21に連結されたアーム22と、アーム22の先端に取り付けられたエンドエフェクタ23とを含む。さらに、ロボット200は、アーム22を動作させるための図示しないサーボモータを有する。
ロボットコントローラ300は、制御装置100からの移動指令に従って、軌道計算および各軸の角度計算などを行なうとともに、計算結果に従って、ロボット200を構成するサーボモータを駆動する。
シミュレーション装置400は、例えば汎用のパーソナルコンピュータ(PC)によって構成され、ロボット200の形状を示すロボットモデルを用いたシミュレーションを行なう。具体的には、シミュレーション装置400は、オフラインティーチングを実行することにより、ロボット200が取るべき位置姿勢を示す教示点を設定し、設定した1または複数の教示点を記述した教示データを生成する。
オフラインティーチングは、ロボットモデルおよび対象物の形状を示す対象物モデルを仮想空間上に表示し、ユーザ入力に従って教示点を設定する処理である。
例えば、ロボット200が対象物のピックアンドプレイスを行なう場合、教示データは、対象物を把持して所定箇所に置くまでの期間において、エンドエフェクタ23が取るべき位置姿勢を示す複数の教示点を時系列順に記述したデータである。
さらに、シミュレーション装置400は、仮想空間上に仮想カメラを配置して、仮想カメラの撮像によって得られる、二次元のシミュレーション画像を生成する。
撮像装置500は、主要なコンポーネントとして、レンズなどの光学系と、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといった撮像素子とを含む。撮像装置500は、視野領域にロボット200が含まれるように設置される。撮像装置500は、カメラコントローラ600による制御に応じて撮像し、撮像により得られた二次元画像データ(以下、単に「画像」と称する)をカメラコントローラ600に出力する。
カメラコントローラ600は、制御装置100からの撮像指令に応じて撮像装置500の撮像を制御し、撮像装置500から画像を取得する。カメラコントローラ600は、取得した画像を制御装置100に出力する。なお、カメラコントローラ600は、取得した画像に対して所定の画像処理(エッジ強調処理など)を施してもよい。
制御装置100は、各種の設備や装置などの制御対象を制御する産業用コントローラに相当する。制御装置100は、後述するような制御演算を実行する一種のコンピュータであり、典型的には、PLC(プログラマブルロジックコントローラ)として具現化されてもよい。
制御装置100は、フィールドネットワークを介してロボットコントローラ300およびカメラコントローラ600と接続され、ロボットコントローラ300およびカメラコントローラ600との間でデータを遣り取りする。さらに、制御装置100は、シミュレーション装置400とも接続され、シミュレーション装置400との間でデータを遣り取りする。
制御装置100は、シミュレーション装置400から教示データを取得し、取得した教示データに応じた移動指令をロボットコントローラ300に出力する。これにより、ロボットコントローラ300は、教示データに従ってロボット200を動作できる。
上述したように、教示データは、仮想空間上のロボットモデルを用いたオフラインティーチングによって作成される。仮想環境と実環境との誤差により、ロボット200の実動作とシミュレーション動作との間に誤差が生じ得る。本実施の形態に係る制御システムSYSでは、このような誤差の発生を抑制するために、以下の(1)~(6)のステップが実行される。
(1)シミュレーション装置400においてオフラインティーチングが実行され、1または複数の教示点が設定される。
(2)制御装置100は、キャリブレーション用画像の撮像指令をカメラコントローラ600に出力し、撮像装置500の撮像により得られるキャリブレーション用画像を取得する。制御装置100は、キャリブレーション用画像に基づいて、ロボット200に対する撮像装置500の相対位置姿勢を推定する。
(3)シミュレーション装置400は、仮想空間において、教示データから選択された1つの教示点にロボットモデルを配置するとともに、仮想カメラを以下の条件Aを満たすように配置したときの第1シミュレーション画像を生成する。
条件A:ロボットモデルに対する仮想カメラの相対位置姿勢が上記の(2)で推定された相対位置姿勢と一致する。
(4)制御装置100は、選択された1つの教示点への移動指令(以下、「第1移動指令」と称する。)を生成し、第1移動指令をロボットコントローラ300に出力する。
(5)制御装置100は、第1移動指令に従ってロボットコントローラ300がロボット200を駆動制御した後に、撮像指令をカメラコントローラ600に出力する。そして、制御装置100は、撮像装置500の撮像によって得られた第1実画像をカメラコントローラ600から取得する。
図2は、第1実画像と第1シミュレーション画像とを重ね合わせた画像の一例を示す図である。第1実画像70は、教示点への第1移動指令に応じた駆動制御された後に撮像された画像である。第1シミュレーション画像80は、教示点にロボットモデル90を配置したときに得られる画像である。なお、図2において、ロボット200およびロボットモデル90は模式的に描かれている。実環境と仮想環境との誤差に応じて、第1実画像70上のロボット200の位置姿勢と第1シミュレーション画像80上のロボットモデル90の位置姿勢との間に偏差が生じ得る。ロボット200は、ロボットモデル90と同様の動作を行なうことが望まれる。そのため、次の(6)のステップが実行される。
(6)制御装置100は、第1実画像70上のロボット200の位置姿勢が第1シミュレーション画像80上のロボットモデル90の位置姿勢に近づくように、教示点に対する補正量を決定する。
これにより、ロボット200の実動作を、シミュレーション装置400においてシミュレートされた仮想空間上のロボットモデル90の動作に近づけることができる。すなわち、実環境と仮想環境との誤差に起因する、ロボット200の実動作とシミュレーション動作との誤差を自動的に修正することできる。その結果、シミュレーションに従ってロボット200を精度良く動作させることができる。
なお、教示データが複数の教示点を記述している場合、当該複数の教示点の各々について、上記の(3)~(6)のステップが繰り返される。
§2 具体例
次に、本実施の形態に係る制御システムSYSの具体例について説明する。
<A.制御装置のハードウェア構成例>
図3は、本実施の形態に係る制御装置のハードウェア構成例を示すブロック図である。図3に示されるように、本実施の形態に係る制御装置100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、チップセット104と、主メモリ106と、ストレージ108と、上位ネットワークコントローラ110と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、フィールドネットワークコントローラ120とを含む。
プロセッサ102は、ストレージ108から読み出した各種プログラムを主メモリ106に展開して実行する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータ伝送などを制御する。
ストレージ108には、基本的な機能を実現するためのシステムプログラム136と、ユーザプログラム130と、推定プログラム132と、補正プログラム134とが格納される。ユーザプログラム130は、制御対象を制御するためのプログラムであり、制御目的に応じてユーザによって作成される。推定プログラム132は、ロボット200に対する撮像装置500の相対位置姿勢を推定するためのプログラムである。補正プログラム134は、教示データを補正するためのプログラムである。
上位ネットワークコントローラ110は、上位ネットワークを介した他の装置との間のデータの遣り取りを制御する。USBコントローラ112は、USB接続を介して、他の装置(例えばシミュレーション装置400)との間のデータの遣り取りを制御する。なお、図3に示す例では、USBコントローラ112とシミュレーション装置400との間でデータの遣り取りが行なわれるものとした。しかしながら、上位ネットワークコントローラ110が上位ネットワークを介してシミュレーション装置400との間のデータの遣り取りを制御してもよい。
メモリカードインターフェイス114は、メモリカード116を着脱可能に構成されており、メモリカード116に対してデータを書込み、メモリカード116から各種データ(ユーザプログラム130やトレースデータなど)を読出すことが可能になっている。
フィールドネットワークコントローラ120は、フィールドネットワークを介して、ロボットコントローラ300およびカメラコントローラ600との間のデータの遣り取りを制御する。
図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御装置100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
<B.シミュレーション装置のハードウェア構成例>
図4は、本実施の形態に従うシミュレーション装置のハードウェア構成例を示す模式図である。シミュレーション装置400は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。
図4に示されるように、シミュレーション装置400は、CPUやGPUなどのプロセッサ402と、主記憶装置404と、入力部406と、ディスプレイ408と、二次記憶装置410と、光学ドライブ412と、通信インターフェイス418とを含む。これらのコンポーネントは、プロセッサバス420を介して接続されている。
プロセッサ402は、二次記憶装置410から読み出したプログラム(一例として、OS430およびシミュレーションプログラム432)を主記憶装置404に展開して実行することで、各種処理を実現する。
二次記憶装置410には、基本的な機能を実現するためのOS430に加えて、シミュレーション装置400としての機能を提供するためのシミュレーションプログラム432が格納される。シミュレーションプログラム432は、コンピュータである情報処理装置(実質的にはプロセッサ402)により実行されることで、本実施の形態に従うシミュレーション装置400を実現する。
二次記憶装置410には、ロボットCADデータ434および対象物CADデータ436も格納される。ロボットCADデータ434は、ロボット200の形状を示すCADデータであり、ロボットモデル90(図2参照)を示す。対象物CADデータ436は、ロボット200による処理の対象物の形状を示すCADデータであり、対象物モデルを示す。
入力部406は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。ディスプレイ408は、プロセッサ402からの処理結果などを表示する。
通信インターフェイス418は、USBなどの任意の通信媒体を介して、制御装置100との間のデータを遣り取りする。
シミュレーション装置400は、光学ドライブ412を有しており、コンピュータ読取可能な命令を非一過的に格納する記録媒体414(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読取られて二次記憶装置410などにインストールされる。
シミュレーション装置400で実行されるシミュレーションプログラム432は、コンピュータ読取可能な記録媒体414を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールされてもよい。また、本実施の形態に従うシミュレーション装置400が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
図4には、プロセッサ402がプログラムを実行することで、シミュレーション装置400として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
<C.シミュレーション装置の機能構成例>
図5は、本実施の形態に係るシミュレーション装置の機能構成例を示すブロック図である。図5に示されるように、シミュレーション装置400は、設定部42と画像生成部44とを含む。設定部42および画像生成部44は、プロセッサ402がシミュレーションプログラム432を実行することにより実現される。
設定部42は、ユーザ入力に従ってオフラインティーチングを実行することにより教示点を設定する。
図6は、教示点の設定方法を説明する図である。図6に示されるように、設定部42は、ロボットCADデータ434(図4参照)で示されるロボットモデル90と対象物CADデータ436で示される対象物モデル95とが配置された仮想空間をディスプレイ408(図4参照)に表示する。ロボットモデル90は、ベース21(図1参照)に対応するベースモデル91と、アーム22に対応するアームモデル92と、エンドエフェクタ23に対応するエンドエフェクタモデル93とを含む。
ユーザは、入力部406(図4参照)を操作して、仮想空間上で、対象物モデル95に対して所望の処理(例えばピッキング)を実施するようにロボットモデル90を動作させることができる。ユーザは、所望の処理を実施するためにエンドエフェクタモデル93が取るべき位置姿勢に到達するまでロボットモデル90を動作させた後に、教示点の設定指示を入力する。設定部42は、教示点の設定指示が入力されたときのロボットモデル90の状態に従って教示点を設定する。
教示点は、例えば、ベースモデル91を基準とするベースモデル座標系BMにおけるエンドエフェクタモデル93の位置および姿勢を示す。エンドエフェクタモデル93の位置は、例えばエンドエフェクタモデル93の重心Gの座標値(x、y、z)で示される。エンドエフェクタモデル93の姿勢は、オイラー角や固定角などで表現される回転パラメータ(θx,θy,θz)で示される。
図5に戻って、設定部42は、設定した1または複数の教示点を時系列順に記述した教示データを生成し、生成した教示データを制御装置100に出力する。図5に示す例では、n番目の教示点Pnは、(xn,yn,zn,θxn,θyn,θzn)で示される。
画像生成部44は、仮想空間に配置された仮想カメラの撮像によって得られるシミュレーション画像を生成する。
画像生成部44は、制御装置100から、ロボット200に対する撮像装置500の相対位置姿勢を示す情報(例えば変換行列BC)を受ける。変換行列BCは、ロボット200のベース21を基準とするベース座標系を、撮像装置500を基準とするカメラ座標系に変換するための行列である。
画像生成部44は、設定部42によって設定された教示点毎に第1シミュレーション画像を生成する。第1シミュレーション画像は、仮想空間上において、教示点にロボットモデル90を配置するとともに、ロボットモデル90に対する相対位置姿勢が変換行列BCで示される相対位置姿勢と一致するように仮想カメラを配置したときの画像である。
図7は、n番目の教示点Pnに対応する第1シミュレーション画像の生成方法を説明する図である。図7に示されるように、画像生成部44は、エンドエフェクタモデル93の位置姿勢が教示点Pnとなるようにロボットモデル90を動作させる。
さらに、画像生成部44は、ベースモデル91を基準とするベースモデル座標系BMを、仮想カメラ94を基準とする仮想カメラ座標系CMに変換するための変換行列BMVCが制御装置100から受けた変換行列BCと一致するように仮想カメラ94を配置する。変換行列BMVCは、ベースモデル座標系における、仮想カメラ座標系の基底ベクトルの成分および原点位置を表しており、ロボットモデル90(具体的にはベースモデル91)に対する仮想カメラ94の相対位置姿勢を示している。
図5に戻って、画像生成部44は、教示点毎に生成した第1シミュレーション画像80を制御装置100に出力する。第1シミュレーション画像80には、仮想カメラ94から見たときの、教示点に配置されたロボットモデル90が含まれる。
<D.制御装置の機能構成例>
図8は、本実施の形態に係る制御装置の機能構成例を示すブロック図である。図8に示されるように、制御装置100は、推定部11と、第1取得部12と、決定部13とを含む。推定部11は、図3に示すプロセッサ102が推定プログラム132を実行することにより実現される。第1取得部12および決定部13は、図3に示すプロセッサ102が補正プログラム134を実行することにより実現される。
<D-1.推定部>
推定部11は、撮像装置500の撮像によって得られた画像に基づいて、ロボット200に対する撮像装置500の相対位置姿勢を推定する。推定部11は、公知の技術を用いて相対位置姿勢を推定すればよい。
例えば、推定部11は、公知のPnP問題の解法を用いて、ロボット200に対する撮像装置500の相対位置姿勢を推定する。PnP問題の解法については、例えば「中野学、他2名、「全留意点の直接計算に基づき一般カメラモデルのPnP問題に対する統一的解法」、電子情報通信学会論文誌 D Vol. J95-D、No.8、pp.1565-1572、2012年」に開示されている。
図9は、ロボットに対する撮像装置の相対位置姿勢を推定する方法の一例を説明する図である。固定位置に設定されるベース21における少なくとも3つの特徴点A1~Am(mは3以上の整数)の三次元座標は、予め特定されており、制御装置100に記録されている。特徴点A1~Amは、例えばベース21の角部である。特徴点A1~Anの三次元座標は、ベース21を基準とするベース座標系Bで示される。
推定部11は、ロボット200を撮像することにより得られるキャリブレーション用画像を撮像装置500から取得する。推定部11は、キャリブレーション画像から特徴点A1~Amを検出し、キャリブレーション用画像上の特徴点A1~Amの座標を特定する。
推定部11は、ベース座標系における特徴点A1~Amの三次元座標と、キャリブレーション用画像上における特徴点A1~Amの座標とを用いたPnP問題を解くことにより、ロボット200に対する撮像装置500の相対位置姿勢を推定する。ロボット200に対する撮像装置500の相対位置姿勢は、例えばベース座標系Bをカメラ座標系C(撮像装置500を基準とする座標系)に変換する変換行列BCで示される。
なお、ロボット200に対する撮像装置500の相対位置姿勢の推定方法は、これに限定されない。
例えば、推定部11は、撮像装置500から得た画像と、撮像装置500とは別に配置された撮像装置から得た画像とを用いて、ロボット200に対する撮像装置500の相対位置姿勢を推定してもよい。2台のカメラを用いたカメラの位置姿勢の推定方法は、例えば「“カメラの位置・姿勢推定0 エピポーラ幾何”、[online]、2018年1月26日、Daily Tech Blog、[2019年6月1日検索]、インターネット<http://daily-tech.hatenablog.com/entry/2018/01/26/064603>」に開示の技術を用いればよい。
もしくは、推定部11は、撮像装置500を移動させながら撮像することにより得られた複数の画像を用いて、ロボット200に対する撮像装置500の相対位置姿勢を推定してもよい。移動カメラ画像を用いたカメラの位置姿勢の推定方法は、例えば「関晃仁、「移動カメラ画像からの3次元形状復元・自己位置推定(SLAM)と高密度な3次元形状復元」、情報処理学会研究報告、2014年1月、Vol.2014-CVIM-190、No.40」に開示の技術を用いればよい。
もしくは、推定部11は、キャリブレーション用マーカが取り付けられたエンドエフェクタ23を移動させながら撮像することにより得られた複数の画像を用いて、ロボット200に対する撮像装置500の相対位置姿勢が推定されてもよい。この推定方法は、ハンドアイキャリブレーションと呼ばれる。ハンドアイキャリブレーションを用いたカメラの位置姿勢の推定方法は、例えば「“リハビリ支援ロボットの教示技術開発”、[online]、2009年、あいち産業科学技術総合センター 研究報告書、[2019年6月1日検索]、インターネット<http://www.aichi-inst.jp/sangyou/research/report/2009_01.pdf>」に開示の技術を用いればよい。
推定部11は、ロボット200に対する撮像装置500の相対位置姿勢を示す情報(例えば変換行列BC)をシミュレーション装置400に出力する。
<D-2.第1取得部>
第1取得部12は、教示データで示される各教示点について、当該教示点への第1移動指令を生成し、第1移動指令をロボットコントローラ300に与える。推定部11は、第1移動指令に応じてロボット200が駆動制御された後に、カメラコントローラ600に撮像指令を出力する。これにより、推定部11は、第1移動指令に応じてロボット200が駆動制御された後の撮像により得られた第1実画像70を取得する。
<D-3.決定部>
決定部13は、第1実画像70上のロボット200の位置姿勢が第1シミュレーション画像80上のロボットモデル90の位置姿勢に近づくように、教示点に対する補正量を決定する。
図8に示されるように、決定部13は、偏差演算部14と、第2取得部15と、補正量演算部16とを有する。
(D-3-1.偏差演算部)
偏差演算部14は、実画像上のロボット200の位置姿勢と、第1シミュレーション画像80のロボットモデル90の位置姿勢との偏差を演算する。
偏差演算部14は、実画像と第1シミュレーション画像80とを重ね合わせ、実画像上のロボット200の特徴点と、第1シミュレーション画像80上のロボットモデル90の特徴点との距離を偏差として演算する。
図2に示す例では、ロボット200の特徴点として、エンドエフェクタ23を構成する2つの爪部の先端である特徴点B1,B2と、2つの爪部の結合部である特徴点B3とが抽出される。同様に、ロボットモデル90の特徴点として、エンドエフェクタモデル93を構成する2つの爪部の先端である特徴点C1,C2と、2つの爪部の結合部である特徴点C3とが抽出される。例えば、偏差演算部14は、特徴点B1~B3と特徴点C1~C3とのそれぞれの距離の合計値を、実画像上のロボット200の位置姿勢と第1シミュレーション画像80のロボットモデル90の位置姿勢との偏差として演算する。
偏差演算部14は、第1取得部12が取得した第1実画像70と、後述する第2取得部15が取得した第2実画像72との両方について、実画像上のロボット200の位置姿勢と第1シミュレーション画像80のロボットモデル90の位置姿勢との偏差を演算する。以下では、第1実画像70上のロボット200の位置姿勢と第1シミュレーション画像80のロボットモデル90の位置姿勢との偏差を「第1偏差」と称する。第2実画像72上のロボット200の位置姿勢と第1シミュレーション画像80のロボットモデル90の位置姿勢との偏差を「第2偏差」と称する。
(D-3-2.第2取得部)
第2取得部15は、第1偏差が予め定められた閾値以上であることに応じて、以下に示す取得処理を実行する。すなわち、第2取得部15は、実画像上のロボット200の位置姿勢と第1シミュレーション画像80上のロボットモデル90の位置姿勢との偏差が小さくなる方向への第2移動指令を生成し、第2移動指令をロボットコントローラ300に与える。第2取得部15は、第2移動指令に応じてロボット200が駆動制御された後に、カメラコントローラ600に撮像指令を出力する。そして、第2取得部15は、第2移動指令に応じてロボット200が駆動制御された後の撮像によって得られた第2実画像72を取得する。
第2取得部15は、第2実画像72上のロボット200の位置姿勢と第1シミュレーション画像80のロボットモデル90の位置姿勢との第2偏差が閾値未満になるまで、上記の取得処理を繰り返して実行する。
第2取得部15は、公知のビジュアルサーボ技術を用いて第2移動指令を生成すればよい。ビジュアルサーボ技術は、例えば「橋本浩一、「ビジュアル・サーボイング」、計測と制御、1996年4月、第35巻、第4号、p.282-285」」に開示されている。
図10は、取得処理が実行されたときの実画像の変化の一例を示す図である。図10には、第1実画像70と、1回目の取得処理で取得された第2実画像72_1と、k回目(kは2以上の整数)の取得処理で取得された第2実画像72_kとが示される。図10に示されるように、第1実画像70に対応する第1偏差は大きい。第2実画像72_1に対応する第2偏差は、第1偏差よりも小さくなっている。そして、第2実画像72_kに対応する第2偏差はほぼ0である。
(D-3-3.補正量演算部)
補正量演算部16は、第1移動指令に従って駆動制御されたロボット200の位置姿勢から、第2偏差が閾値未満となるときのロボット200の位置姿勢までの移動量(以下、「必要移動量」と称する。)を、教示点に対する補正量として演算する。補正量演算部16は、第2取得部15によってロボットコントローラ300へ与えられた第2移動指令の積算量を必要移動量として演算すればよい。
必要移動量は、ベース座標系における、並進移動量dx,dy,dzと回転移動量dθx,dθy,dθzとで示される。補正量演算部16は、教示点Pを示す座標値(x,y,z,θx,θy,θz)に対して必要移動量(補正量)を加算することにより教示点を補正すればよい。すなわち、補正後の教示点は、(x+dx,y+dy,z+dz,θx+dθx,θy+dθy,θz+dθz)で示される。
<E.補正量の決定処理の流れ>
図11および図12を参照して、制御システムSYSにおける補正量の決定処理の流れを説明する。図11は、補正量の決定処理における前半部分の流れを示すフローチャートである。図12は、補正量の決定処理における後半部分の流れを示すフローチャートである。
まず、シミュレーション装置400のプロセッサ402は、オフラインティーチングを実行することにより教示点を設定する(ステップS1)。プロセッサ402は、設定したN個の教示点を時系列順に記述した教示データを生成し、生成した教示データをストレージ108に記録する(ステップS2)。ストレージ108に記録された教示データは、制御装置100に出力される。
次に、制御装置100のプロセッサ102は、撮像指令をカメラコントローラ600に出力する(ステップS3)。撮像装置500は、カメラコントローラ600による制御に従って、ロボット200を撮像する(ステップS4)。カメラコントローラ600は、撮像装置500の撮像により得られた画像(キャリブレーション用画像)を制御装置100に送信する(ステップS5)。
制御装置100のプロセッサ102は、キャリブレーション用画像に基づいて、ロボット200に対する撮像装置500の相対位置姿勢を推定する(ステップS6)。プロセッサ102は、推定した相対位置姿勢をシミュレーション装置400に通知する(ステップS7)。
シミュレーション装置400のプロセッサ402は、仮想空間において、ロボットモデル90に対する相対位置姿勢が制御装置100から通知された相対位置姿勢と一致するように仮想カメラを配置する(ステップS8)。プロセッサ402は、N個の教示点の各々について、当該教示点にロボットモデル90を配置したときの第1シミュレーション画像80を生成する(ステップS9)。プロセッサ402は、生成した第1シミュレーション画像80を制御装置100に転送する(ステップS10)。
次に、制御装置100のプロセッサ102は、ステップS11~S28の第1ループを実行する。すなわち、プロセッサ102は、nに対して1~Nを順に設定し、n番目の教示点に対して補正量を演算する第1ループを実行する。
ステップS12において、プロセッサ102は、n番目の教示点への第1移動指令を生成し、第1移動指令をロボットコントローラ300に与える。ロボットコントローラ300は、現在のロボット200の位置姿勢からn番目の教示点までの軌道を計算する(ステップS13)。ロボットコントローラ300は、計算した軌道に従った目標値指令をロボット200に出力する(ステップS14)。ロボットコントローラ300は、ロボット200から現在の位置姿勢を示す情報を取得する(ステップS15)。これにより、ロボットコントローラ300は、ロボット200の位置姿勢が教示点まで到達したことを確認する。
次に、制御装置100のプロセッサ102は、ステップS16~S26の第2ループを実行する。プロセッサ102は、実画像(第1実画像70および第2実画像72のいずれか)上のロボット200の位置姿勢と第1シミュレーション画像80上のロボットモデル90の位置姿勢との偏差が閾値未満になるまで第2ループを繰り返す。
ステップS17において、プロセッサ102は、撮像指令をカメラコントローラ600に出力する。撮像装置500は、カメラコントローラ600による制御に従って、ロボット200を撮像する(ステップS18)。カメラコントローラ600は、撮像装置500の撮像により得られた実画像を制御装置100に送信する(ステップS19)。なお、第2ループにおける1回目のステップS19で得られる実画像は、第1移動指令に応じてロボット200が駆動制御された後の撮像により得られる第1実画像70である。
プロセッサ102は、ステップS19で受信した実画像と第1シミュレーション画像80とを重ね合わせる(ステップS20)。次に、プロセッサ102は、実画像上のロボット200の位置姿勢と第1シミュレーション画像80上のロボットモデル90の位置姿勢との偏差を演算し、演算した偏差が閾値未満か否かを判定する(ステップS21)。
偏差が閾値未満ではない場合(ステップS21でNO)、プロセッサ102は、偏差が小さくなる方向の移動指定(第2移動指令)を生成し、第2移動指令をロボットコントローラ300に与える(ステップS22)。ロボットコントローラ300は、現在のロボット200の位置姿勢から第2移動指令に対応する位置姿勢までの軌道を計算する(ステップS23)。ロボットコントローラ300は、計算した軌道に従った目標値指令をロボット200に出力する(ステップS24)。ロボットコントローラ300は、ロボット200から現在の位置姿勢を示す情報を取得する(ステップS25)。これにより、ロボットコントローラ300は、ロボット200が第2移動指令に対応する位置姿勢まで到達したことを確認する。その後、ステップS17~S21が繰り返される。このとき、ステップS19で得られる実画像は、第2移動指令に応じてロボット200が駆動制御された後の撮像により得られる第2実画像72である。
偏差が閾値未満である場合(ステップS21でYES)、プロセッサ102は、第2ループを終了し、ステップS27において、第2移動指令の積算量(積算移動量)をn番目の教示点に対する補正量として演算する。
このようにして、n=1~Nについて第1ループ(ステップS16~S28)が実行されることにより、1~N番目の教示点の各々に対する補正量が決定される。
<F.変形例>
<F-1.変形例1>
上記の説明では、実画像上のロボット200の位置姿勢を第1シミュレーション画像80上のロボットモデル90の位置姿勢に合わせるようにロボット200を移動させ、その移動量が教示点に対する補正量として決定される。この方法によれば、ロボット200の実動作をシミュレーション動作に精度良く合わせることができる。しかしながら、ロボット200を移動させるため、補正量を決定するのに時間がかかる。
そこで、補正量を決定するのに要する時間を短縮するために、変形例1に係る制御システムSYSでは、第1実画像70上のロボット200の位置姿勢に合わせるようにロボットモデル90を移動させる。以下、変形例1に係る制御システムSYSの詳細について説明する。
変形例1に係る偏差演算部14は、第1実画像70上のロボット200の位置姿勢とシミュレーション画像上のロボットモデル90の位置姿勢との偏差を演算する。偏差演算部14は、上記の第1シミュレーション画像80と、後述する第2シミュレーション画像との両方について、第1実画像70上のロボット200の位置姿勢とシミュレーション画像上のロボットモデル90の位置姿勢との偏差を演算する。以下では、第1実画像70上のロボット200の位置姿勢と第2シミュレーション画像上のロボットモデル90の位置姿勢との偏差を「第3偏差」と称する。なお、本変形例においても、第1実画像70上のロボット200の位置姿勢と第1シミュレーション画像80上のロボットモデル90の位置姿勢との偏差を「第1偏差」と称する。
画像生成部44は、第1偏差が閾値以上であることに応じて、第1実画像70上のロボット200の位置姿勢とシミュレーション画像上のロボットモデル90の位置姿勢との偏差が小さくなる方向へロボットモデル90を移動させる。画像生成部44は、ロボットモデル90の移動量を記憶しておく。そして、画像生成部44は、仮想カメラ94の撮像により得られる第2シミュレーション画像を生成する。
補正量演算部16は、第3偏差が閾値未満となるときのロボットモデル90の位置姿勢から、教示点に配置されたロボットモデル90の位置姿勢までの移動量(必要移動量)を、教示点に対する補正量として演算する。
図13は、変形例1における補正量の決定処理の一部の流れを示すフローチャートである。変形例1における補正量の決定処理は、図11および図12に示される補正量の決定処理と比較して、ステップS22~S25の代わりにステップS31~S33を備え、かつ、ステップS27の代わりにステップS34を備える点で相違する。
ステップS21でNOの場合、シミュレーション装置400のプロセッサ402は、第1実画像70上のロボット200の位置姿勢とシミュレーション画像上のロボットモデル90の位置姿勢との偏差が小さくなる方向へロボットモデル90を移動させる(ステップS31)。
次に、プロセッサ402は、仮想カメラ94の撮像により得られる第2シミュレーション画像を生成する(ステップS32)。プロセッサ402は、生成した第2シミュレーション画像を制御装置100に転送する(ステップS33)。ステップS33の後、ステップS20,S21が繰り返される。
ステップS21でYESの場合、プロセッサ102は、第2ループを終了する。そして、プロセッサ102は、偏差が閾値未満となるときのロボットモデル90の位置姿勢から、教示点に配置されたロボットモデル90の位置姿勢までの移動量を、教示点に対する補正量として演算する(ステップS34)。
変形例1によれば、ロボット200を移動させるステップ(図12のステップS22~S25)が不要であるため、補正量を決定するのに要する時間を短縮できる。ただし、実環境と仮想環境との間に誤差があるため、ステップS34で演算された補正量は、上記のステップS27で演算される補正量よりも精度が低くなる。そのため、変形例1に係る制御システムSYSは、ロボット200の実動作とシミュレーション動作との誤差がある程度許容される場合に適用可能である。
<F-2.変形例2>
上記の説明では、制御装置100は、二次元の実画像とシミュレーション画像との比較に応じて、教示点に対する補正量を決定するものとした。しかしながら、制御装置100は、三次元の実画像とシミュレーション画像との比較に応じて、教示点に対する補正量を決定してもよい。
例えば、カメラコントローラ600は、三次元ステレオ計測法に従って、2台に撮像装置から得られた二次元画像に基づいて三次元点群(三次元画像)を生成すればよい。もしくは、カメラコントローラ600は、パターン光投影法に従って、二次元画像上のパターン光に基づいて三次元点群を生成してもよい。シミュレーション装置400の画像生成部44は、仮想カメラ94から見たときの三次元点群(三次元画像)をシミュレーション画像として生成すればよい。
本変形例によれば、ロボット200の実動作をシミュレーション動作に精度良く合わせることができる。
<F-3.変形例3>
上記の説明では、推定部11は、制御装置100に備えられるものとした。しかしながら、推定部11は、カメラコントローラ600に備えられていてもよい。
<G.作用・効果>
以上のように、本実施の形態に係る制御システムSYSは、シミュレーション装置400と、ロボットコントローラ300と、撮像装置500とを備える。シミュレーション装置400は、ロボット200の形状を示すロボットモデル90を用いたシミュレーションを行なう。ロボットコントローラ300は、与えられた移動指令に従ってロボット200を駆動制御する。撮像装置500は、ロボット200を撮像する。制御システムSYSは、撮像装置500の撮像により得られた画像に基づいて、ロボット200に対する撮像装置500の相対位置姿勢を推定するための推定部11(プロセッサ102)をさらに備える。シミュレーション装置400は、設定部42と画像生成部44とを含む。設定部42は、オフラインティーチングを実行することにより、ロボット200が取るべき位置姿勢を示す教示点を設定する。画像生成部44は、仮想空間に配置された仮想カメラ94の撮像によって得られるシミュレーション画像を生成する。画像生成部44は、仮想空間において、教示点にロボットモデル90を配置するとともに、ロボットモデル90に対する相対位置姿勢が推定部11によって推定された相対位置姿勢と一致するように仮想カメラ94を配置したときの第1シミュレーション画像80を生成する。制御システムSYSは、さらに、第1取得部12と、決定部13とを備える。第1取得部12は、教示点への第1移動指令をロボットコントローラ300に与え、かつ、第1移動指令に従ってロボット200が駆動制御された後の撮像装置500の撮像により得られる第1実画像70を取得する。決定部13は、第1実画像70上のロボット200の位置姿勢が第1シミュレーション画像80上のロボットモデル90の位置姿勢に近づくように、教示点に対する補正量を決定する。
上記の構成によれば、ロボット200の実動作を、シミュレーション装置400においてシミュレートされた仮想空間上のロボットモデル90の動作に近づけることができる。すなわち、実環境と仮想環境との誤差に起因する、ロボット200の実動作とシミュレーション動作との誤差を自動的に修正することできる。その結果、シミュレーションに従ってロボット200を精度良く動作させることができる。
また、推定部11は、撮像装置500を設置した後に、ロボット200に対する撮像装置500の相対位置姿勢を推定する。そして、仮想カメラ94は、ロボットモデル90に対する相対位置姿勢が推定部11によって推定された相対位置姿勢と一致するように配置される。すなわち、撮像装置500の位置姿勢は、シミュレーション上の仮想カメラ94の位置姿勢に反映される。これにより、撮像装置500の位置姿勢を精密に調整する必要がない。
決定部13は、偏差演算部14と、補正量演算部16とを含む。偏差演算部14は、撮像装置500の撮像によって得られる実画像上のロボット200の位置姿勢と第1シミュレーション画像80上のロボットモデル90の位置姿勢との偏差を演算してもよい。補正量演算部16は、第1移動指令に従って駆動制御されたロボット200の位置姿勢から、偏差が予め定められた閾値未満となるときのロボット200の位置姿勢までの移動量を補正量として演算すればよい。
上記の構成によれば、ロボット200の実動作をシミュレーション動作により精度良く合わせることができる。
具体的には、決定部13は、第2取得部15を含んでもよい。第2取得部15は、偏差が小さくなる方向への第2移動指令をロボットコントローラ300に与え、かつ、第2移動指令に従ってロボット200が駆動制御された後の撮像装置500の撮像によって得られる第2実画像72を取得する取得処理を実行する。第2取得部15は、第1移動指令に従ってロボット200が駆動制御されてから、偏差が閾値未満になるまで取得処理を繰り返して実行する。補正量演算部16は、ロボットコントローラ300に与えられた第2移動指令の積算量を補正量として演算すればよい。
これにより、第1移動指令に従って駆動制御されたロボット200の位置姿勢から、偏差が予め定められた閾値未満となるときのロボット200の位置姿勢までの移動量を容易に演算することができる。
偏差演算部14は、第1実画像70上のロボット200の位置姿勢とシミュレーション画像(第1シミュレーション画像80および第2シミュレーション画像82)上のロボットモデル90の位置姿勢との偏差を演算してもよい。そして、補正量演算部16は、偏差が予め定められた閾値未満となるときのロボットモデル90の位置姿勢から、教示点に配置されたロボットモデル90の位置姿勢までの移動量を補正量として演算してもよい。
これにより、補正量を決定する際にロボット200を移動させる必要がなく、補正量の決定に要する時間を短縮できる。
制御システムSYSは、撮像装置500とロボットコントローラ300とシミュレーション装置400とに接続され、ロボットコントローラ300および撮像装置500を制御する制御装置100をさらに備える。推定部11、第1取得部12および決定部13は、制御装置100に含まれる。
上記の構成によれば、制御装置100は、ロボット200に対する撮像装置500の相対位置姿勢の推定、および、補正量の決定を行なう。ロボットコントローラ300は、ロボット200を駆動制御するための軌道計算等を行なう。シミュレーション装置400は、オフラインティーチングを行なう。このように、教示点に対する補正量の決定のために必要な演算を、制御装置100、ロボットコントローラ300およびシミュレーション装置400を含む複数の機器で分散して実施される。すなわち、各機器の負担を分散できる。
<H.付記>
以上のように、本実施の形態および変形例は以下のような開示を含む。
(構成1)
ロボット(200)を制御する制御システム(SYS))であって、
前記ロボット(200)の形状を示すロボットモデル(90)を用いたシミュレーションを行なうためのシミュレーション装置(400)と、
与えられた移動指令に従って前記ロボットを駆動制御するためのロボットコントローラ(300)と、
前記ロボット(200)を撮像するための撮像装置(500)と、
前記撮像装置(500)の撮像により得られた画像に基づいて、前記ロボット(200)に対する前記撮像装置(500)の相対位置姿勢を推定するための推定手段(11,102)とを備え、
前記シミュレーション装置(400)は、
オフラインティーチングを実行することにより、前記ロボット(200)が取るべき位置姿勢を示す教示点を設定するための設定手段(42,402)と、
仮想空間に配置された仮想カメラ(94)の撮像によって得られるシミュレーション画像を生成するための画像生成手段(44,402)とを含み、
前記画像生成手段(44,402)は、前記仮想空間において、前記教示点に前記ロボットモデル(90)を配置するとともに、前記ロボットモデル(90)に対する相対位置姿勢が前記推定手段(11,102)によって推定された相対位置姿勢と一致するように前記仮想カメラ(94)を配置したときの第1シミュレーション画像(80)を生成し、
前記制御システム(SYS)は、さらに、
前記教示点への第1移動指令を前記ロボットコントローラ(300)に与え、かつ、前記第1移動指令に従って前記ロボット(200)が駆動制御された後の前記撮像装置(500)の撮像により得られる第1実画像(70)を取得するための第1取得手段(12,102)と、
前記第1実画像(70)上の前記ロボット(200)の位置姿勢が前記第1シミュレーション画像(80)上の前記ロボットモデル(90)の位置姿勢に近づくように、前記教示点に対する補正量を決定するための決定手段(13,102)とを備える、制御システム(SYS)。
(構成2)
前記決定手段(13,102)は、
前記撮像装置(500)の撮像によって得られる実画像上の前記ロボット(200)の位置姿勢と前記第1シミュレーション画像(80)上の前記ロボットモデル(90)の位置姿勢との偏差を演算するための偏差演算手段(14,102)と、
前記第1移動指令に従って駆動制御された前記ロボット(200)の位置姿勢から、前記偏差が予め定められた閾値未満となるときの前記ロボット(200)の位置姿勢までの移動量を前記補正量として演算するための補正量演算手段(16,102)とを含む、構成1に記載の制御システム(SYS)。
(構成3)
前記決定手段(13,102)は、
前記偏差が小さくなる方向への第2移動指令を前記ロボットコントローラ(300)に与え、かつ、前記第2移動指令に従って前記ロボット(200)が駆動制御された後の前記撮像装置(500)の撮像によって得られる第2実画像を取得する取得処理を実行するための第2取得手段(15,102)をさらに含み、
前記第2取得手段(15,102)は、前記第1移動指令に従って前記ロボット(200)が駆動制御されてから、前記偏差が前記閾値未満になるまで前記取得処理を繰り返して実行し、
前記補正量演算手段(16,102)は、前記ロボットコントローラ(300)に与えられた前記第2移動指令の積算量を前記補正量として演算する、構成2に記載の制御システム(SYS)。
(構成4)
前記決定手段(13,102)は、
前記第1実画像)70)上の前記ロボット(200)の位置姿勢と前記シミュレーション画像上の前記ロボットモデル(90)の位置姿勢との偏差を演算するための偏差演算手段(14,102)と、
前記偏差が予め定められた閾値未満となるときの前記ロボットモデル(90)の位置姿勢から、前記教示点に配置された前記ロボットモデル(90)の位置姿勢までの移動量を前記補正量として演算するための補正量演算手段(16,102)とを含む、構成1に記載の制御システム(SYS)。
(構成5)
前記撮像装置(500)と前記ロボットコントローラ(300)と前記シミュレーション装置(400)とに接続され、前記ロボットコントローラ(300)および前記撮像装置(500)を制御する制御装置(100)を備え、
前記推定手段(11,102)、前記第1取得手段(12,102)および前記決定手段(13,102)は、前記制御装置(100)に含まれる、構成1から3のいずれかに記載の制御システム(SYS)。
(構成6)
ロボット(200)を制御する制御システム(SYS)における制御方法であって、
前記制御システム(SYS)は、
与えられた移動指令に従って前記ロボット(200)を駆動制御するためのロボットコントローラ(300)と、
前記ロボット(200)を撮像するための撮像装置(500)とを備え、
前記制御方法は、
ロボットモデル(90)を用いたオフラインティーチングを実行することにより、前記ロボット(200)が取るべき位置姿勢を示す教示点を設定するステップと、
前記撮像装置の撮像により得られた画像に基づいて、前記ロボット(200)に対する前記撮像装置(500)の相対位置姿勢を推定するステップと、
仮想空間において、前記教示点に前記ロボットモデル(90)を配置するとともに、前記ロボットモデル(90)に対する相対位置姿勢が前記推定するステップによって推定された相対位置姿勢と一致するように仮想カメラ(94)を配置したときの前記仮想カメラ(94)の撮像によって得られるシミュレーション画像(80)を生成するステップと、
前記教示点への移動指令を前記ロボットコントローラ(300)に与え、かつ、前記教示点への移動指令に従って前記ロボット(200)が駆動制御された後の前記撮像装置(500)の撮像により得られる実画像(70)を取得するステップと、
前記実画像(70)上の前記ロボット(200)の位置姿勢が前記シミュレーション画像(80)上の前記ロボットモデル(90)の位置姿勢に近づくように、前記教示点に対する補正量を決定するステップとを備える、制御方法。
本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
11 推定部、12 第1取得部、13 決定部、14 偏差演算部、15 第2取得部、16 補正量演算部、21 ベース、22 アーム、23 エンドエフェクタ、42 設定部、44 画像生成部、70 第1実画像、72 第2実画像、80 第1シミュレーション画像、82 第2シミュレーション画像、90 ロボットモデル、91 ベースモデル、92 アームモデル、93 エンドエフェクタモデル、94 仮想カメラ、95 対象物モデル、100 制御装置、102,402 プロセッサ、104 チップセット、106 主メモリ、108 ストレージ、110 上位ネットワークコントローラ、112 USBコントローラ、114 メモリカードインターフェイス、116 メモリカード、120 フィールドネットワークコントローラ、130 ユーザプログラム、132 推定プログラム、134 補正プログラム、136 システムプログラム、200 ロボット、300 ロボットコントローラ、400 シミュレーション装置、404 主記憶装置、406 入力部、408 ディスプレイ、410 二次記憶装置、412 光学ドライブ、414 記録媒体、418 通信インターフェイス、420 プロセッサバス、432 シミュレーションプログラム、434 ロボットCADデータ、436 対象物CADデータ、500 撮像装置、600 カメラコントローラ、SYS 制御システム。

Claims (6)

  1. ロボットを制御する制御システムであって、
    前記ロボットの形状を示すロボットモデルを用いたシミュレーションを行なうためのシミュレーション装置と、
    与えられた移動指令に従って前記ロボットを駆動制御するためのロボットコントローラと、
    前記ロボットを撮像するための撮像装置と、
    前記撮像装置の撮像により得られた画像に基づいて、前記ロボットに対する前記撮像装置の相対位置姿勢を推定するための推定手段とを備え、
    前記シミュレーション装置は、
    オフラインティーチングを実行することにより、前記ロボットが取るべき位置姿勢を示す教示点を設定するための設定手段と、
    仮想空間に配置された仮想カメラの撮像によって得られるシミュレーション画像を生成するための画像生成手段とを含み、
    前記画像生成手段は、前記仮想空間において、前記教示点に前記ロボットモデルを配置するとともに、前記ロボットモデルに対する相対位置姿勢が前記推定手段によって推定された相対位置姿勢と一致するように前記仮想カメラを配置したときの第1シミュレーション画像を生成し、
    前記制御システムは、さらに、
    前記教示点への第1移動指令を前記ロボットコントローラに与え、かつ、前記第1移動指令に従って前記ロボットが駆動制御された後の前記撮像装置の撮像により得られる第1実画像を取得するための第1取得手段と、
    前記第1実画像上の前記ロボットの位置姿勢が前記第1シミュレーション画像上の前記ロボットモデルの位置姿勢に近づくように、前記教示点に対する補正量を決定するための決定手段とを備える、制御システム。
  2. 前記決定手段は、
    前記撮像装置の撮像によって得られる実画像上の前記ロボットの位置姿勢と前記第1シミュレーション画像上の前記ロボットモデルの位置姿勢との偏差を演算するための偏差演算手段と、
    前記第1移動指令に従って駆動制御された前記ロボットの位置姿勢から、前記偏差が予め定められた閾値未満となるときの前記ロボットの位置姿勢までの移動量を前記補正量として演算するための補正量演算手段とを含む、請求項1に記載の制御システム。
  3. 前記決定手段は、
    前記偏差が小さくなる方向への第2移動指令を前記ロボットコントローラに与え、かつ、前記第2移動指令に従って前記ロボットが駆動制御された後の前記撮像装置の撮像によって得られる第2実画像を取得する取得処理を実行するための第2取得手段をさらに含み、
    前記第2取得手段は、前記第1移動指令に従って前記ロボットが駆動制御されてから、前記偏差が前記閾値未満になるまで前記取得処理を繰り返して実行し、
    前記補正量演算手段は、前記ロボットコントローラに与えられた前記第2移動指令の積算量を前記補正量として演算する、請求項2に記載の制御システム。
  4. 前記画像生成手段は、前記仮想空間において、前記教示点とは異なる位置姿勢に前記ロボットモデルを移動させるとともに、前記ロボットモデルに対する相対位置姿勢が前記推定手段によって推定された相対位置姿勢と一致するように前記仮想カメラを配置したときの第2シミュレーション画像を生成し、
    前記決定手段は、
    前記第1実画像上の前記ロボットの位置姿勢と前記第2シミュレーション画像上の前記ロボットモデルの位置姿勢との偏差を演算するための偏差演算手段と、
    前記偏差が予め定められた閾値未満となるときの前記ロボットモデルの位置姿勢から、前記教示点に配置された前記ロボットモデルの位置姿勢までの移動量を前記補正量として演算するための補正量演算手段とを含む、請求項1に記載の制御システム。
  5. 前記撮像装置と前記ロボットコントローラと前記シミュレーション装置とに接続され、前記ロボットコントローラおよび前記撮像装置を制御する制御装置を備え、
    前記推定手段、前記第1取得手段および前記決定手段は、前記制御装置に含まれる、請求項1から3のいずれか1項に記載の制御システム。
  6. ロボットを制御する制御システムにおける制御方法であって、
    前記制御システムは、
    与えられた移動指令に従って前記ロボットを駆動制御するためのロボットコントローラと、
    前記ロボットを撮像するための撮像装置とを備え、
    前記制御方法は、
    ロボットモデルを用いたオフラインティーチングを実行することにより、前記ロボットが取るべき位置姿勢を示す教示点を設定するステップと、
    前記撮像装置の撮像により得られた画像に基づいて、前記ロボットに対する前記撮像装置の相対位置姿勢を推定するステップと、
    仮想空間において、前記教示点に前記ロボットモデルを配置するとともに、前記ロボットモデルに対する相対位置姿勢が前記推定するステップによって推定された相対位置姿勢と一致するように仮想カメラを配置したときの前記仮想カメラの撮像によって得られるシミュレーション画像を生成するステップと、
    前記教示点への移動指令を前記ロボットコントローラに与え、かつ、前記教示点への移動指令に従って前記ロボットが駆動制御された後の前記撮像装置の撮像により得られる実画像を取得するステップと、
    前記実画像上の前記ロボットの位置姿勢が前記シミュレーション画像上の前記ロボットモデルの位置姿勢に近づくように、前記教示点に対する補正量を決定するステップとを備える、制御方法。
JP2019114597A 2019-06-20 2019-06-20 制御システムおよび制御方法 Active JP7326911B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019114597A JP7326911B2 (ja) 2019-06-20 2019-06-20 制御システムおよび制御方法
CN202010123289.1A CN112109075B (zh) 2019-06-20 2020-02-27 控制系统和控制方法
US16/805,226 US11498220B2 (en) 2019-06-20 2020-02-28 Control system and control method
EP20160429.5A EP3753685B1 (en) 2019-06-20 2020-03-02 Control system and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019114597A JP7326911B2 (ja) 2019-06-20 2019-06-20 制御システムおよび制御方法

Publications (2)

Publication Number Publication Date
JP2021000678A JP2021000678A (ja) 2021-01-07
JP7326911B2 true JP7326911B2 (ja) 2023-08-16

Family

ID=69743152

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019114597A Active JP7326911B2 (ja) 2019-06-20 2019-06-20 制御システムおよび制御方法

Country Status (4)

Country Link
US (1) US11498220B2 (ja)
EP (1) EP3753685B1 (ja)
JP (1) JP7326911B2 (ja)
CN (1) CN112109075B (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210387350A1 (en) * 2019-06-12 2021-12-16 Mark Oleynik Robotic kitchen hub systems and methods for minimanipulation library adjustments and calibrations of multi-functional robotic platforms for commercial and residential enviornments with artificial intelligence and machine learning
US11478936B2 (en) * 2019-10-09 2022-10-25 Canon Kabushiki Kaisha Image processing apparatus that processes image picked up by image pickup apparatus attached to robot, control method therefor, and storage medium storing control program therefor
WO2021097487A1 (en) 2019-11-12 2021-05-20 Bright Machines, Inc. A software defined manufacturing/assembly system
EP3834998A1 (de) * 2019-12-11 2021-06-16 Siemens Aktiengesellschaft Verfahren, computer-programm-produkt und robotersteuerung zum konfigurieren einer roboter-objekt-systemumgebung sowie roboter
WO2021172271A1 (ja) * 2020-02-25 2021-09-02 ファナック株式会社 ロボットシステム
CN116568465A (zh) * 2020-11-10 2023-08-08 光明机器公司 用于机器人单元的改进的自动校准的方法和系统
JP2022137797A (ja) * 2021-03-09 2022-09-22 オムロン株式会社 安全検証装置、安全検証方法、およびプログラム
JP7437343B2 (ja) * 2021-03-29 2024-02-22 株式会社日立製作所 ロボット制御用のキャリブレーション装置
US20220395981A1 (en) * 2021-06-09 2022-12-15 eBots Inc. System and method for improving accuracy of 3d eye-to-hand coordination of a robotic system
JPWO2023058221A1 (ja) * 2021-10-08 2023-04-13
CN113799140A (zh) * 2021-10-14 2021-12-17 友上智能科技(苏州)有限公司 一种应用在复合机器人上的飞行视觉定位取料方法
JP2023062780A (ja) * 2021-10-22 2023-05-09 川崎重工業株式会社 ロボットデータ処理サーバ及び軌跡データ算出方法
JP2023062781A (ja) * 2021-10-22 2023-05-09 川崎重工業株式会社 ロボットデータ処理サーバ及び補正プログラム算出方法
CN114029952A (zh) * 2021-11-12 2022-02-11 珠海格力电器股份有限公司 机器人操作控制方法、装置和系统
WO2023102647A1 (en) * 2021-12-06 2023-06-15 University Of Manitoba Method for automated 3d part localization and adjustment of robot end-effectors
KR20230143002A (ko) * 2022-04-04 2023-10-11 두산로보틱스 주식회사 로봇의 기능 모듈의 개발 환경 제공 장치 및 방법
JP7364285B1 (ja) 2022-11-11 2023-10-18 高丸工業株式会社 ロボット操作システムの動作方法
CN116079738B (zh) * 2023-02-24 2024-08-20 中国民用航空飞行学院 视觉引导的工业机器人系统标定方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014014912A (ja) 2012-07-11 2014-01-30 Seiko Epson Corp ロボットシステム、ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム
JP2015024480A (ja) 2013-07-29 2015-02-05 富士通株式会社 情報処理装置、制御方法、及びプログラム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317953B1 (en) * 1981-05-11 2001-11-20 Lmi-Diffracto Vision target based assembly
US4833381A (en) * 1987-12-31 1989-05-23 Westinghouse Electric Corp. Optical automatic seam tracker and real time control system for an industrial robot
JPH01239989A (ja) 1988-03-22 1989-09-25 T T T:Kk フレキシブルプリント基板の接続装置及び接続方法
JPH08368B2 (ja) * 1989-07-21 1996-01-10 富士通株式会社 ロボットの遠隔操作装置
JPH06134691A (ja) * 1992-10-23 1994-05-17 Hitachi Ltd 位置検出方法およびこれを用いたフレキシブル生産システム
JP3415427B2 (ja) 1998-02-25 2003-06-09 富士通株式会社 ロボットシミュレーションにおけるキャリブレーション装置
DE10351669B4 (de) * 2003-11-05 2012-09-13 Kuka Laboratories Gmbh Verfahren und Vorrichtung zum Steuern eines Handhabungsgeräts relativ zu einem Objekt
JP2008021092A (ja) * 2006-07-12 2008-01-31 Fanuc Ltd ロボットシステムのシミュレーション装置
CN101726296B (zh) * 2009-12-22 2013-10-09 哈尔滨工业大学 空间机器人视觉测量、路径规划、gnc一体化仿真系统
US9508148B2 (en) * 2010-08-27 2016-11-29 Abb Research Ltd. Vision-guided alignment system and method
WO2013176212A1 (ja) * 2012-05-25 2013-11-28 学校法人立命館 ロボット制御装置、ロボット制御方法、プログラム、記録媒体、ロボットシステム
JP5716769B2 (ja) * 2013-02-21 2015-05-13 株式会社安川電機 ロボットシミュレータ、ロボット教示装置およびロボット教示方法
JP5815761B2 (ja) * 2014-01-23 2015-11-17 ファナック株式会社 視覚センサのデータ作成システム及び検出シミュレーションシステム
CN104067781B (zh) * 2014-06-16 2016-05-18 华南农业大学 基于虚拟机器人与真实机器人集成的采摘系统及方法
CN104199313B (zh) * 2014-09-15 2017-06-20 中国农业科学院农业信息研究所 一种机器人智能仿真测试系统
US9919427B1 (en) * 2015-07-25 2018-03-20 X Development Llc Visualizing robot trajectory points in augmented reality
JP6430986B2 (ja) * 2016-03-25 2018-11-28 ファナック株式会社 ロボットを用いた位置決め装置
CN106651949B (zh) * 2016-10-17 2020-05-15 中国人民解放军63920部队 一种基于仿真的空间机械臂抓捕目标遥操作方法及系统
CN106737683A (zh) * 2017-01-11 2017-05-31 吉林省凯迪科技有限公司 校正工业机器人离线编程在现场中的误差的方法
CN108830905A (zh) * 2018-05-22 2018-11-16 苏州敏行医学信息技术有限公司 仿真医疗器械的双目标定定位方法及虚拟仿真医教系统
CN108724190A (zh) * 2018-06-27 2018-11-02 西安交通大学 一种工业机器人数字孪生系统仿真方法及装置
CN112672860B (zh) * 2018-09-10 2024-04-09 发纳科美国公司 用于ar和数字孪生的机器人校准
EP3875230A4 (en) * 2018-11-01 2022-07-27 Canon Kabushiki Kaisha EXTERNAL INPUT DEVICE, ROBOT SYSTEM, CONTROL METHOD FOR ROBOT SYSTEM, CONTROL PROGRAM AND RECORDING MEDIA
US20200262080A1 (en) * 2019-02-14 2020-08-20 InTune Products LLC Comprehensive model-based method for gantry robot calibration via a dual camera vision system
CN110238831B (zh) * 2019-07-23 2020-09-18 青岛理工大学 基于rgb-d图像及示教器的机器人示教系统及方法
US11458630B2 (en) * 2019-10-15 2022-10-04 X Development Llc Mitigating reality gap through simulating compliant control and/or compliant contact in robotic simulator

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014014912A (ja) 2012-07-11 2014-01-30 Seiko Epson Corp ロボットシステム、ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム
JP2015024480A (ja) 2013-07-29 2015-02-05 富士通株式会社 情報処理装置、制御方法、及びプログラム

Also Published As

Publication number Publication date
CN112109075A (zh) 2020-12-22
US11498220B2 (en) 2022-11-15
JP2021000678A (ja) 2021-01-07
EP3753685A1 (en) 2020-12-23
EP3753685B1 (en) 2021-11-24
US20200398435A1 (en) 2020-12-24
CN112109075B (zh) 2024-05-17

Similar Documents

Publication Publication Date Title
JP7326911B2 (ja) 制御システムおよび制御方法
US10262406B2 (en) Simulator, simulation method, and simulation program
US10401844B2 (en) Simulator, simulation method, and simulation program
US8977395B2 (en) Robot control apparatus, robot control method, program, and recording medium
CN102848389B (zh) 基于视觉运动捕捉的机械臂标定及跟踪系统实现方法
JP6826069B2 (ja) ロボットの動作教示装置、ロボットシステムおよびロボット制御装置
EP2684651A2 (en) Robot system, robot, robot control device, robot control method, and robot control program
CN107627303A (zh) 一种基于眼在手上结构的视觉伺服系统的pd‑smc控制方法
KR20190070875A (ko) 비전-기반 조작 시스템들의 교정 및 동작
CN111459274B (zh) 一种基于5g+ ar的针对非结构化环境的遥操作方法
Gratal et al. Visual servoing on unknown objects
CN115446847A (zh) 用于提高机器人系统的3d眼手协调准确度的系统和方法
EP4400274A1 (en) Command value generating device, method, and program
Fried et al. Uncalibrated image-based visual servoing approach for translational trajectory tracking with an uncertain robot manipulator
JP7447568B2 (ja) シミュレーション装置およびプログラム
JP6939729B2 (ja) 制御システム、制御方法およびプログラム
CN110900606B (zh) 一种基于小型机械臂手眼联动系统及其控制方法
CN107443369A (zh) 一种基于视觉测量模型逆辨识的机器臂无标定伺服控制方法
CN113298881B (zh) 单目相机-imu-机械臂的空间联合标定方法
US20240351205A1 (en) Command value generating device, method, and program
TWI692968B (zh) 三維建模裝置及應用於其之校準方法
Wu et al. A human hybrid tracking and localization method for mixed reality simulation of complex system
JP2023011319A (ja) 調整支援システムおよび調整支援方法
CN118143947A (zh) 一种位姿确定方法、装置、设备和存储介质
Jagersand Model Free View Synthesis of an Articulated Agent

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220407

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230309

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230717

R150 Certificate of patent or registration of utility model

Ref document number: 7326911

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150