JP7660686B2 - ロボット制御装置、ロボット制御システム、及びロボット制御方法 - Google Patents

ロボット制御装置、ロボット制御システム、及びロボット制御方法 Download PDF

Info

Publication number
JP7660686B2
JP7660686B2 JP2023540415A JP2023540415A JP7660686B2 JP 7660686 B2 JP7660686 B2 JP 7660686B2 JP 2023540415 A JP2023540415 A JP 2023540415A JP 2023540415 A JP2023540415 A JP 2023540415A JP 7660686 B2 JP7660686 B2 JP 7660686B2
Authority
JP
Japan
Prior art keywords
robot
spatial information
control unit
calibration
information acquisition
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
JP2023540415A
Other languages
English (en)
Other versions
JPWO2023013740A1 (ja
JPWO2023013740A5 (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.)
Kyocera Corp
Original Assignee
Kyocera 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 Kyocera Corp filed Critical Kyocera Corp
Publication of JPWO2023013740A1 publication Critical patent/JPWO2023013740A1/ja
Publication of JPWO2023013740A5 publication Critical patent/JPWO2023013740A5/ja
Application granted granted Critical
Publication of JP7660686B2 publication Critical patent/JP7660686B2/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
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • 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
    • 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/39008Fixed camera detects reference pattern held by end effector

Landscapes

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

Description

関連出願へのクロスリファレンス
本出願は、日本国特許出願2021-128475号(2021年8月4日出願)の優先権を主張するものであり、当該出願の開示全体を、ここに参照のために取り込む。
本開示は、ロボット制御装置、ロボット制御システム、及びロボット制御方法に関する。
従来、予め画像座標系でキャリブレーション範囲を設定する装置が知られている(例えば特許文献1参照)。
特開2018-111166号公報
本開示の一実施形態に係るロボット制御装置は、ロボットを制御する制御部を備える。前記制御部は、前記ロボットの動作空間を撮影する空間情報取得部の実視野サイズと、前記空間情報取得部の空間情報とを取得する。前記制御部は、前記実視野サイズと前記空間情報とに基づいて、所定の第1位置を設定する。前記制御部は、前記第1位置と前記実視野サイズとに基づいて、前記ロボットのキャリブレーション位置を生成する。
本開示の一実施形態に係るロボット制御システムは、前記ロボット制御装置と、前記ロボットと、前記空間情報取得部とを備える。
本開示の一実施形態に係るロボット制御方法は、ロボットを制御する制御部が、前記ロボットの動作空間を撮影する空間情報取得部の実視野サイズと、前記空間情報取得部の撮影画像とを取得することを含む。前記ロボット制御方法は、前記制御部が、前記空間情報取得部の実視野サイズと撮影画像とに基づいて、所定の第1位置を設定することを含む。前記ロボット制御方法は、前記制御部が、前記第1位置と前記空間情報取得部の実視野サイズとに基づいて、前記ロボットのキャリブレーション位置を生成することを含む。
一実施形態に係るロボット制御システムの構成例を示すブロック図である。 一実施形態に係るロボット制御システムの構成例を示す模式図である。 空間情報取得部のFOV(Field Of View)の一例を示す模式図である。 候補位置の例を示す模式図である。 一実施形態に係るロボット制御方法の手順例を示すフローチャートである。
ロボットの動作範囲内においてロボットが動作できない範囲を避けてキャリブレーション範囲を設定するために、目視確認等の煩雑な作業が必要となる。キャリブレーション範囲の簡便な設定が求められる。本開示の一実施形態に係るロボット制御装置、ロボット制御システム、及びロボット制御方法によれば、キャリブレーション範囲が簡便に設定され得る。
(ロボット制御システム1の概要)
図1及び図2に例示されるように、一実施形態に係るロボット制御システム1は、ロボット40と、ロボット制御装置10と、空間情報取得部20とを備える。ロボット40は、所定の動作空間において動作する。空間情報取得部20は、ロボット40が動作する動作空間のデプス情報を生成する。空間情報取得部20は、後述するように、動作空間に存在する物体50の表面に位置する測定点までの距離を算出する。空間情報取得部20から測定点までの距離は、デプスとも称される。デプス情報は、各測定点について測定したデプスに関する情報である。言い換えれば、デプス情報は、動作空間に存在する物体50の表面に位置する測定点までの距離に関する情報である。デプス情報は、空間情報取得部20から見た方向とその方向のデプスとを関連づけたデプスマップとして表されてもよい。空間情報取得部20は、(X,Y,Z)座標系に基づいて動作空間のデプス情報を生成する。ロボット制御装置10は、空間情報取得部20で生成されたデプス情報に基づいてロボット40を動作させる。ロボット制御装置10は、(X_RB,Y_RB,Z_RB)座標系に基づいてロボット40を動作させる。
(X_RB,Y_RB,Z_RB)座標系は、(X,Y,Z)座標系と同じ座標系として設定されてもよいし、異なる座標系として設定されてもよい。(X_RB,Y_RB,Z_RB)座標系が(X,Y,Z)座標系と異なる座標系として設定される場合、ロボット制御装置10は、空間情報取得部20で(X,Y,Z)座標系で生成されたデプス情報を(X_RB,Y_RB,Z_RB)座標系に変換して用いる。
ロボット40及びロボット制御装置10の数は、例示されるように1台に限られず2台以上であってもよい。空間情報取得部20の数は、例示されるように、1つの動作空間に対して1台であってもよいし、2台以上であってもよい。以下、各構成部が具体的に説明される。
<ロボット制御装置10>
ロボット制御装置10は、制御部11と、記憶部12とを備える。
制御部11は、ロボット制御装置10の種々の機能を実現するために、少なくとも1つのプロセッサを含んで構成されてよい。プロセッサは、ロボット制御装置10の種々の機能を実現するプログラムを実行しうる。プロセッサは、単一の集積回路として実現されてよい。集積回路は、IC(Integrated Circuit)とも称される。プロセッサは、複数の通信可能に接続された集積回路及びディスクリート回路として実現されてよい。プロセッサは、CPU(Central Processing Unit)を含んで構成されてよい。プロセッサは、DSP(Digital Signal Processor)又はGPU(Graphics Processing Unit)を含んで構成されてもよい。プロセッサは、他の種々の既知の技術に基づいて実現されてよい。
記憶部12は、磁気ディスク等の電磁記憶媒体を含んで構成されてよいし、半導体メモリ又は磁気メモリ等のメモリを含んで構成されてもよい。記憶部12は、HDD(Hard Disk Drive)として構成されてもよいしSSD(Solid State Drive)として構成されてもよい。記憶部12は、各種情報及び制御部11で実行されるプログラム等を格納する。記憶部12は、制御部11のワークメモリとして機能してよい。制御部11が記憶部12の少なくとも一部を含んで構成されてもよい。
ロボット制御装置10は、空間情報取得部20及びロボット40と有線又は無線で通信可能に構成される通信デバイスを更に備えてもよい。通信デバイスは、種々の通信規格に基づく通信方式で通信可能に構成されてよい。通信デバイスは、既知の通信技術により構成することができる。通信デバイスのハードウェア等の詳細な説明は省略される。通信デバイスの機能は、1つのインタフェースによって実現されてもよいし、接続先別にそれぞれ別体のインタフェースによって実現されてもよい。制御部11が空間情報取得部20及びロボット40と通信可能に構成されてもよい。制御部11が通信デバイスを含んで構成されてもよい。
<ロボット40>
ロボット40は、図2に例示されるように、アーム42と、アーム42に取り付けられるエンドエフェクタ44と、エンドエフェクタ44に設置されているマーク46とを備える。なお、マーク46は、エンドエフェクタ44ではなく、アーム42に設置されていてもよい。
アーム42は、例えば、6軸又は7軸の垂直多関節ロボットとして構成されてよい。アーム42は、3軸又は4軸の水平多関節ロボット又はスカラロボットとして構成されてもよい。アーム42は、2軸又は3軸の直交ロボットとして構成されてもよい。アーム42は、パラレルリンクロボット等として構成されてもよい。アーム42を構成する軸の数は、例示したものに限られない。
エンドエフェクタ44は、例えば、作業対象物を把持できるように構成される把持ハンドを含んでよい。把持ハンドは、複数の指を有してよい。把持ハンドの指の数は、2つ以上であってよい。把持ハンドの指は、1つ以上の関節を有してよい。エンドエフェクタ44は、作業対象物を吸着できるように構成される吸着ハンドを含んでもよい。エンドエフェクタ44は、作業対象物を掬うことができるように構成される掬いハンドを含んでもよい。エンドエフェクタ44は、ドリル等の工具を含み、作業対象物に穴を開ける作業等の種々の加工を実施できるように構成されてもよい。エンドエフェクタ44は、これらの例に限られず、他の種々の動作ができるように構成されてよい。
ロボット40は、アーム42を動作させることによって、エンドエフェクタ44の位置を制御できる。エンドエフェクタ44は、作業対象物に対して作用する方向の基準となる軸を有してもよい。エンドエフェクタ44が軸を有する場合、ロボット40は、アーム42を動作させることによって、エンドエフェクタ44の軸の方向を制御できる。ロボット40は、エンドエフェクタ44が作業対象物に作用する動作の開始及び終了を制御する。ロボット40は、エンドエフェクタ44の位置、又は、エンドエフェクタ44の軸の方向を制御しつつ、エンドエフェクタ44の動作を制御することによって、作業対象物を動かしたり加工したりすることができる。
ロボット40は、ロボット40の各構成部の状態を検出するセンサを更に備えてよい。センサは、ロボット40の各構成部の現実の位置若しくは姿勢、又は、ロボット40の各構成部の速度若しくは加速度に関する情報を検出してよい。センサは、ロボット40の各構成部に作用する力を検出してもよい。センサは、ロボット40の各構成部を駆動するモータに流れる電流又はモータのトルクを検出してもよい。センサは、ロボット40の実際の動作の結果として得られる情報を検出できる。ロボット制御装置10は、センサの検出結果を取得することによって、ロボット40の実際の動作の結果を把握することができる。つまり、ロボット制御装置10は、センサの検出結果に基づいてロボット40の状態を取得できる。
ロボット制御装置10は、空間情報取得部20でマーク46を撮影した画像に基づいてマーク46の位置、又は、マーク46が設置されているエンドエフェクタ44の位置を認識する。また、ロボット制御装置10は、空間情報取得部20でマーク46を撮影した画像に基づいてロボット40の状態を認識する。ロボット制御装置10は、センサの検出結果に基づいて取得したロボット40の状態と、マーク46を写した画像に基づいて取得したロボット40の状態とを比較することによって、ロボット40のキャリブレーションを実行できる。
<空間情報取得部20>
空間情報取得部20は、ロボット40の動作空間に関する空間情報を取得する。空間情報取得部20は、動作空間を撮影し、空間情報として動作空間の画像を取得してよい。空間情報取得部20は、図2に例示されるように、動作空間に存在する物体50を撮影してよい。空間情報取得部20は、カメラとして構成されてよい。3Dステレオカメラは、動作空間に存在する物体50を撮影し、動作空間に存在する物体50の表面に位置する測定点までの距離をデプスとして算出し、デプス情報を生成する。空間情報取得部20は、3Dステレオカメラとして構成されてもよい。空間情報取得部20は、LiDAR(light detection and ranging)として構成されてもよい。LiDARは、動作空間に存在する物体50の表面に位置する測定点までの距離を測定し、デプス情報を生成する。つまり、空間情報取得部20は、空間情報として動作空間のデプス情報を取得してよい。空間情報取得部20は、これらに限られず種々のデバイスとして構成されてもよい。空間情報取得部20は、空間情報として、動作空間の画像又はデプス情報に限られず他の種々の情報を取得してよい。空間情報取得部20は、撮像素子を備えてよい。空間情報取得部20は、光学系を更に備えてよい。空間情報取得部20は、動作空間を撮影した画像をロボット制御装置10に出力してよい。空間情報取得部20は、ロボット40の動作空間におけるデプス情報を生成してロボット制御装置10に出力してもよい。空間情報取得部20は、ロボット40の動作空間における点群情報を生成してロボット制御装置10に出力してもよい。すなわち、空間情報取得部20は、空間情報を、点群データの形式で出力してもよい。言い換えれば、点群情報は、空間情報を有していてもよい。点群情報は、動作空間に存在する物体50の表面に位置する各測定点の集合の情報であり、各測定点の座標情報又は色情報を含む情報である。点群情報は、測定空間内の物体50を複数の点で表すデータであるともいえる。空間情報が点群データの形式であることによって、空間情報取得部20で取得された初期データに基づく空間情報よりも、データ密度を小さくすることができる。
空間情報取得部20は、図3に二点鎖線の範囲として例示されるFOV70(Field Of View)を有する。FOV70は、空間情報取得部20の撮影範囲(画角)に対応する。FOV70は、空間情報取得部20の中心軸70Aと、奥行方向の視野角71と、幅方向の視野角72とに基づいて定まる。中心軸70Aは、FOV70(画角)の中心に位置する点の集合ともいえる。図3においてFOV70の形状は、四角錐である。FOV70の形状は、四角錐に限られず他の種々の形状であり得る。FOV70は、中心位置70Cを含んでよい。中心位置70Cは、中心軸70Aの上に位置する。中心位置70Cは、ロボット40の作業範囲の中央に位置してもよい。
空間情報取得部20は、FOV70に含まれる範囲を撮影できる。空間情報取得部20の実視野サイズは、空間情報取得部20のFOV70と、デプス情報とに基づいて定まる。後述するように、ロボット制御装置10は、空間情報取得部20の実視野サイズと、空間情報取得部20が撮影したロボット40のマーク46を含む画像とに基づいて、ロボット40のマーク46の位置及び姿勢を取得できる。具体的に、ロボット制御装置10は、マーク46を写した画像を所定のアルゴリズムで解析することによって、画像に基づいてマーク46の位置及び姿勢を算出できる。所定のアルゴリズムは、例えば、数式又はテーブル等を含んでよいし、演算処理を特定するプログラムを含んでもよい。所定のアルゴリズムは、画像に基づく算出結果を補正するためのパラメータを含んでもよい。
(ロボット制御装置10の動作例)
ロボット制御装置10は、動作空間に存在する物体50等の作業対象に作用するようにロボット40を動作させたり、物体50を避けるようにロボット40を動作させたりする。ロボット制御装置10は、物体50を空間情報取得部20で写した撮影画像に基づいて、物体50に作用したり物体50を避けたりするようにロボット40を動作させる。
<キャリブレーション>
ロボット制御装置10の制御部11は、空間情報取得部20の撮影画像に写ったマーク46の位置及び姿勢に基づいてロボット40の状態を取得し、ロボット40と物体50との位置関係を取得できる。一方で、制御部11は、例えばアーム42などに設置されたエンコーダなどのロボット40のセンサに基づいてロボット40の状態を取得する。ロボット40のセンサに基づく状態は、空間情報取得部20の撮影画像に基づく状態よりもロボット40の位置及び姿勢を高精度に表す。したがって、制御部11は、空間情報取得部20の撮影画像に基づくロボット40の状態を、ロボット40のセンサに基づくロボット40の状態に一致させることによって、ロボット40を動作空間において高精度で制御できる。空間情報取得部20の撮影画像に基づくロボット40の状態を、ロボット40のセンサに基づくロボット40の状態に一致させる作業は、キャリブレーションとも称される。具体的に、制御部11は、空間情報取得部20の(X,Y,Z)座標系をロボット40の(X_RB,Y_RB,Z_RB)座標系に一致させるようにキャリブレーションを実行する。制御部11は、空間情報取得部20の座標系とロボット40の座標系との相対位置関係を推定し、推定した相対位置関係に基づいて空間情報取得部20の座標系をロボット40の座標系に合わせてよい。
制御部11は、図3に例示されるFOV70の少なくとも一部をキャリブレーション範囲としてキャリブレーションを実行してよい。本実施形態において、制御部11は、図3に示されるキャリブレーション範囲60においてキャリブレーションを実行する。キャリブレーション範囲60は、図2において二点鎖線の立体領域としても示されている。キャリブレーション範囲60は、ロボット40のキャリブレーションを実行する範囲に対応する。キャリブレーション範囲60は、ロボット40の作業領域を含んでよい。キャリブレーション範囲60は、ロボット40の作業領域とFOV70とが重なる範囲であってよい。
また、制御部11は、キャリブレーション範囲60の中に、ロボット40のマーク46を移動させることによってキャリブレーションを実行するための点を設定する。キャリブレーションを実行するための点は、キャリブレーション位置とも称される。制御部11は、ロボット40のマーク46をキャリブレーション位置に移動させて空間情報取得部20によってマーク46を撮影させる。制御部11は、マーク46を写した画像に基づいてマーク46の位置及び姿勢を算出する。制御部11は、ロボット40のセンサの検出結果に基づいて定まるマーク46の位置及び姿勢に対して、画像に基づいて算出したマーク46の位置及び姿勢を一致させるように、画像に基づくマーク46の位置及び姿勢を補正する。画像に基づくマーク46の位置及び姿勢の補正がキャリブレーションに対応する。マーク46の位置及び姿勢は、先端位置姿勢とも称される。キャリブレーションは、先端位置姿勢の補正に対応する。キャリブレーション位置は、先端位置姿勢を補正する位置に対応する。
具体的に、制御部11は、以下説明するようにキャリブレーションを実行してよい。制御部11は、ロボット40のマーク46をキャリブレーション位置に移動させるためのロボット40の制御情報を生成する。制御部11は、制御情報に基づいてロボット40を動作させ、ロボット40のマーク46をキャリブレーション位置に移動させる。制御部11は、マーク46を写した画像を空間情報取得部20から取得する。制御部11は、画像に基づいてマーク46の位置及び姿勢を算出する。画像に基づいて算出したマーク46の位置及び姿勢は、画像に基づく先端位置姿勢とも称される。制御部11は、ロボット40のセンサの検出結果に基づいて定まるマーク46の位置及び姿勢を算出する。センサの検出結果に基づいて算出したマーク46の位置及び姿勢は、センサに基づく先端位置姿勢とも称される。制御部11は、画像に基づく先端位置姿勢と、センサに基づく先端位置姿勢とを比較する。制御部11は、画像に基づく先端位置姿勢がセンサに基づく先端位置姿勢に一致するように、画像に基づく先端位置姿勢を補正する。制御部11は、画像に基づく先端位置姿勢を算出するアルゴリズムを補正してよい。制御部11は、アルゴリズムに含まれるパラメータを補正してよいし、数式、テーブル又はプログラムを補正してもよい。複数のキャリブレーション位置が設定されている場合、制御部11は、各キャリブレーション位置にロボット40を移動させ、各キャリブレーション位置においてマーク46を写した画像を取得し、画像に基づく先端位置姿勢を補正する。
なお、上記の例では、マーク46の位置及び姿勢に対して、キャリブレーションを行なっているが、キャリブレーションを行なう箇所は、マーク46の位置及び姿勢に限られない。すなわち、制御部11は、予めマーク46の位置と、キャリブレーションを行なうロボット40の一部であるキャリブレーション対象部との位置関係を記憶しておき、画像に基づくマーク46の位置及び姿勢からキャリブレーション対象部の位置及び姿勢を算出してもよい。そして、ロボット40のセンサの検出結果に基づくキャリブレーション対象部の位置及び姿勢と比較することによってキャリブレーションを行なうことができる。したがって、マーク46の位置及び姿勢以外でもキャリブレーションを行なうことが可能になる。また、上記の例では、キャリブレーション対象部はロボット40の先端位置姿勢であったが、位置及び姿勢が算出可能な個所であれば、キャリブレーション対象物はロボット40の先端位置姿勢に限られない。
<キャリブレーションアイテムの生成>
制御部11は、キャリブレーションを実行する前に、あらかじめキャリブレーション範囲60を設定する。また、制御部11は、キャリブレーション範囲60に含まれるキャリブレーション位置を設定する。制御部11は、キャリブレーション範囲60の中にキャリブレーション位置を設定する。
制御部11は、キャリブレーション位置で特定される先端位置姿勢にロボット40を移動させるようにロボット40の制御情報を生成する。制御部11は、ロボット40をキャリブレーション位置に移動させたときの先端位置姿勢とロボット40のマーク46の認識結果とを特定する情報をキャリブレーションアイテムとして生成する。なお、キャリブレーションアイテムは、例えば、座標に関する情報である。具体的には、キャリブレーションアイテムは、例えば、ロボット40をキャリブレーション位置に移動させたときのロボット40のセンサの検出結果に基づく先端位置姿勢を示す座標情報、又は空間情報取得部20によって認識されたマーク46の認識結果に基づく先端位置姿勢を示す座標情報などである。
制御部11は、マーク46の認識結果に関する先端位置姿勢のキャリブレーションアイテムが、ロボット40のセンサの検出結果に関する先端位置姿勢のキャリブレーションアイテムに一致するようにキャリブレーションを実行する。具体的に、制御部11は、キャリブレーション位置にロボット40を移動させる。制御部11は、空間情報取得部20によって、ロボット40がキャリブレーション位置に移動したときのロボット40のマーク46の認識結果を取得する。制御部11は、ロボット40のセンサに基づく先端位置姿勢のキャリブレーションアイテムに対する、マーク46の認識結果として取得された先端位置姿勢のキャリブレーションアイテムの相対位置関係を算出する。相対位置関係は、両者のキャリブレーションアイテムの間の座標の差及び角度の差に対応する。制御部11は、両者のキャリブレーションアイテムに対する相対位置関係に対応する座標の誤差及び角度の誤差がゼロ又はゼロに近くなるように(つまり、誤差が所定値未満になるように)空間情報取得部20の座標系を補正してロボット40の座標系に合わせる。このようにすることで、制御部11は、ロボット40がキャリブレーション位置に移動したときのマーク46の認識結果をロボット40のセンサで特定される先端位置姿勢に一致させることによって、相対位置関係を算出できる。なお、制御部11は、ロボット40のセンサで特定される先端位置姿勢を、マーク46の認識結果で認識される先端位置姿勢に一致させるようにしてもよい。
制御部11は、キャリブレーションアイテムを生成することによって、キャリブレーション位置を設定できる。逆に言えば、キャリブレーション位置は、キャリブレーションアイテムを生成するためにロボット40を移動させる位置に対応する。制御部11は、キャリブレーションアイテムをロボット40の制御に適用することによってロボット40をキャリブレーション位置に移動させてキャリブレーションを実行できる。
制御部11は、以下に説明するようにキャリブレーション位置を生成してよい。
制御部11は、空間情報取得部20から、空間情報取得部20の実視野サイズに関する情報、又は、FOV70に関する情報を取得する。制御部11は、空間情報取得部20の実視野サイズ又はFOV70とロボット40の作業領域とに基づいて、キャリブレーション範囲60を設定する。制御部11は、ロボット40の動作空間における物体50の位置に基づいてキャリブレーション範囲60を設定してよい。制御部11は、空間情報取得部20で検出した物体50のデプス情報又は点群情報に基づいて、キャリブレーション範囲60を設定してよい。図3において、キャリブレーション範囲60の形状は、四角錐台形状に設定されている。キャリブレーション範囲60の形状は、四角錐台形状に限られず他の種々の形状に設定されてよい。キャリブレーション範囲60は、空間情報取得部20の中心軸70Aに沿う方向の長さに対応する高さ(H)と、四角錐台の底面の奥行方向の長さに対応する深さ(D)及び幅方向の長さに対応する幅(W)とによって特定されてよい。
ここで、奥行方向の視野角71は、u[rad]で表されるとする。幅方向の視野角72は、v[rad]で表されるとする。また、空間情報取得部20から中心位置70Cまでの距離がhで表されるとする。この場合、W及びDは以下の式で算出され得る。
W=2×h×tan(u/2)
D=2×h×tan(v/2)
Hは、ロボット40の動作空間に基づいて適宜定められ得る。Hは、例えば物体50の高さに基づいて定められ得る。
制御部11は、ロボット40を第1位置に移動させる。第1位置は、中心軸70A上に設定される。第1位置は、例えば、事前に設定されていてもよい。本実施形態において、第1位置は、例えば、中心位置70Cに設定されるとする。制御部11は、第1位置において、ロボット40のマーク46の画像に基づくマーク46の位置及び姿勢が所定の先端位置姿勢になるようにロボット40を動作させる制御情報を生成する。制御部11は、制御情報に基づいてロボット40を制御することによってロボット40を第1位置に移動させる。第1位置は、図3に例示されるFOV70の中心位置70Cであってよい。制御部11は、ロボット40が第1位置に移動したときのマーク46の画像を取得し、マーク46の位置及び姿勢を画像に基づく先端位置姿勢として算出する。また、制御部11は、センサに基づく先端位置姿勢を算出する。制御部11は、第1位置の画像に基づく先端位置姿勢と、センサに基づく先端位置姿勢とを基準として、キャリブレーション範囲60の中でキャリブレーション位置の候補となる位置を生成する。
制御部11は、キャリブレーション範囲60の中でキャリブレーション位置の候補となる位置を生成する。制御部11は、例えば図4に示されるように、キャリブレーション範囲60の中で、第1候補位置(P1)~第9候補位置(P9)を生成する。候補位置の数は、9個に限られず、8個以下であってもよいし10個以上であってもよい。第1候補位置(P1)は、第1位置に一致するように設定される。P1~P9等の候補位置は、まとめて第2位置とも称される。第2位置(候補位置)の数は、キャリブレーション範囲60のW方向、D方向及びH方向それぞれのグリッド間隔数に基づいて定められてよい。グリッド間隔数は、キャリブレーション範囲60をその方向に沿って何個に分割するかを表す。図4の例において、W方向のグリッド間隔数(GW)は2に設定される。D方向のグリッド間隔数(GD)は2に設定される。H方向のグリッド間隔数(GH)は1に設定される。図4の例において、キャリブレーション範囲60を表す四角錐台の底面において、W方向及びD方向の辺を2分割する点(辺の中点)と角とを含む9点(P1~P9)が第2位置(候補位置)として設定される。P1は、中心位置70Cと同一の点に設定される。P2~P9の座標は、P1の座標を基準として定まる。P1の座標が(P1X,P1Y,P1Z)で表される場合、P2の座標は、(P1X-W/GW,P1Y-D/GD,P1Z)で表される。P3の座標は、(P1X,P1Y-D/GD,P1Z)で表される。P4の座標は、(P1X+W/GW,P1Y-D/GD,P1Z)で表される。P5の座標は、(P1X-W/GW,P1Y,P1Z)で表される。P6の座標は、(P1X+W/GW,P1Y,P1Z)で表される。P7の座標は、(P1X-W/GW,P1Y+D/GD,P1Z)で表される。P8の座標は、(P1X,P1Y+D/GD,P1Z)で表される。P9の座標は、(P1X+W/GW,P1Y+D/GD,P1Z)で表される。また、キャリブレーション範囲60を表す四角錐台の上面において、W方向及びD方向の辺を2分割する点(辺の中点)と角とを含む9点が第2位置(候補位置)として設定される。
制御部11は、ロボット40の動作をシミュレーションすることによって、ロボット40が第2位置(候補位置)に移動した場合のロボット40の状態を推定する。つまり、制御部11は、ロボット40が各第2位置(各候補位置)に移動すると仮定した場合のロボット40の状態を算出する。そして、制御部11は、各第2位置において、ロボット40のキャリブレーションの可否を判定する。
制御部11は、第2位置(候補位置)に移動すると仮定した場合のロボット40の状態が物体50に接触しない状態であり、関節可動域内である状態であり、かつ、特異点でない状態である場合、ロボット40のキャリブレーションは可能であるとして、第2位置(候補位置)をキャリブレーション位置として登録する。制御部11は、第2位置(候補位置)をキャリブレーション位置として登録する場合、ロボット40を第2位置(候補位置)に移動させたときの先端位置姿勢とロボット40のマーク46の認識結果とを特定する情報をキャリブレーションアイテムとして生成する。制御部11は、第2位置(候補位置)の全てについて一括でキャリブレーション位置として登録するかしないかを判定してよい。制御部11は、各第2位置(各候補位置)についてキャリブレーション位置として登録するかしないかを判定してもよい。制御部11は、ロボット40の関節の角度を表す数値が可動域内である場合、ロボット40の状態が関節制限でない状態であると判定してもよい。制御部11は、ロボット40の関節の角度を表す数値が可動域外である場合、ロボット40の状態が関節制限状態であると判定してもよい。
特異点は、ロボット40の構造的にロボット40を制御できなくなる姿勢に対応する。ロボット40を動作させる軌道に特異点が含まれている場合、ロボット40は特異点付近において高速に移動(暴走)し、特異点で停止してしまう。ロボット40の特異点は、以下の(1)~(3)の3種類である。
(1)作業領域の外側限界の近くまでにロボット40を制御するときの作業領域外の点。(作業領域は、ロボット40の動作空間に対応する領域である。)
(2)作業領域内であっても、ロボットベースの真上と真下にロボット40を制御するときの点。
(3)ロボット40のアーム42の先端の関節より1つ前の関節角度がゼロ又は180度になる点(手首整列特異点)。
制御部11は、ロボット40の状態を表す数値が特異点となる状態を表す数値に一致した場合に、ロボット40の状態が特異点の状態であると判定してもよい。制御部11は、ロボット40の状態を表す数値と特異点となる状態を表す数値との差が所定値未満である場合に、ロボット40の状態が特異点の状態であると判定してもよい。ロボット40の状態を表す数値は、例えばアーム42の関節の角度を含んでもよいし、ロボット40を駆動するモータのトルクを含んでもよい。
以上述べてきたように、制御部11は、キャリブレーション範囲60を設定し、キャリブレーション範囲60の中でキャリブレーション位置を設定する。また、制御部11は、ロボット40をキャリブレーション位置に移動させたときのロボット40の先端位置姿勢とロボット40のマーク46の認識結果とを特定する情報としてキャリブレーションアイテムを生成できる。
(ロボット制御方法の手順例)
ロボット制御装置10の制御部11は、図5に例示されるフローチャートの手順を含むロボット制御方法を実行してもよい。ロボット制御方法は、制御部11を構成するプロセッサに実行させるロボット制御プログラムとして実現されてもよい。ロボット制御プログラムは、非一時的なコンピュータ読み取り可能な媒体に格納されてよい。
制御部11は、空間情報取得部20の実視野サイズ、又は、FOV70に関する情報を取得する(ステップS1)。制御部11は、ロボット40のマーク46が写った撮影画像の空間情報を取得する(ステップS2)。制御部11は、ロボット40を第1位置に移動させる(ステップS3)。
制御部11は、全ての候補位置を算出する(ステップS4)。制御部11は、ステップS4の手順で算出した各位置にロボット40を移動させたと仮定した場合のロボット40の状態において、ロボット40が動作空間内の物体50に接触するか判定する(ステップS5)。制御部11は、ステップS4の手順で算出した各位置にロボット40を移動させたと仮定したときにロボット40が物体50に接触する場合(ステップS5:YES)、ステップS9の手順に進む。制御部11は、ステップS4の手順で算出した各位置にロボット40を移動させたと仮定したときにロボット40が物体50に接触しない場合(ステップS5:NO)、ステップS4の手順で算出した各位置にロボット40を移動させたと仮定した場合のロボット40の状態において、ロボット40が関節可動域外の状態になっているか判定する(ステップS6)。制御部11は、ステップS4の手順で算出した各位置にロボット40を移動させたと仮定したときにロボット40が関節可動範囲域外の状態になっている場合(ステップS6:YES)、ステップS9の手順に進む。制御部11は、ステップS4の手順で算出した各位置にロボット40を移動させたと仮定したときにロボット40が関節可動域外の状態になっていない場合(ステップS6:NO)、ステップS4の手順で算出した各位置にロボット40を移動させたと仮定した場合のロボット40の状態において、ロボット40が特異点の状態になっているか判定する(ステップS7)。制御部11は、ステップS4の手順で算出した各位置にロボット40を移動させたと仮定したときにロボット40が特異点の状態になっている場合(ステップS7:YES)、ステップS9の手順に進む。制御部11は、ステップS5の手順で算出した各位置にロボット40を移動させたと仮定したときにロボット40が特異点の状態になっていない場合(ステップS7:NO)、ロボット40がステップS5の手順で算出した各位置に移動しても物体50に接触せず関節可動域外でもなく特異点の状態にもならないと判定できる。制御部11は、ロボット40をステップS4の手順で算出した各位置に移動させたときの先端位置姿勢とロボット40のマーク46の認識結果とを特定する情報をキャリブレーション位置として生成する(ステップS8)。制御部11は、ステップS8の手順の終了後、図5のフローチャートの手順の実行を終了する。制御部11は、ステップS5の手順で算出した各位置にロボット40を移動させたと仮定したときにロボット40が物体50に接触する場合(ステップS5:YES)、ロボット40が関節可動域外の状態になっている場合(ステップS6:YES)、又はロボット40が特異点の状態になっている場合(ステップS7:YES)の少なくとも1つの場合において、ステップS4の手順で算出した各位置をキャリブレーション位置として登録しない(ステップS9)。制御部11は、ステップS9の手順の終了後、図5のフローチャートの手順の実行を終了する。
制御部11は、ステップS4の手順で算出した全ての位置について一括でキャリブレーション位置として登録するかしないかを決定してよい。制御部11は、ステップS5の手順で算出した各位置についてキャリブレーション位置として登録するかしないかを決定してもよい。
(小括)
以上述べてきたように、本実施形態に係るロボット制御装置10及びロボット制御方法によれば、空間情報取得部20の撮影画像などの空間情報に基づいてキャリブレーション位置が生成される。このようにすることで、作業者の目視作業無しで、キャリブレーション位置が生成され得る。つまり、自動でキャリブレーション位置が生成され得る。キャリブレーション範囲60は、キャリブレーション位置を含む範囲である。その結果、キャリブレーション範囲60が簡便に設定され得る。
また、本実施形態に係るロボット制御装置10及びロボット制御方法によれば、空間情報取得部20の実視野サイズ又はFOV70に基づくシミュレーションが実行される。そして、シミュレーションに基づいてロボット40の動作空間における物体50等の障害物との衝突を避けるようにキャリブレーション位置が生成され得る。また、シミュレーションに基づいてロボット40が関節可動域外の状態にならないようにキャリブレーション位置が生成され得る。また、シミュレーションに基づいてロボット40が特異点の状態にならないようにキャリブレーション位置が生成され得る。このようにすることで、実際にロボット40を動かさずにキャリブレーション位置が生成され得る。その結果、キャリブレーション位置が効率的に生成され得る。
本開示に係る実施形態について、諸図面及び実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形又は改変を行うことが可能であることに注意されたい。従って、これらの変形又は改変は本開示の範囲に含まれることに留意されたい。例えば、各構成部等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の構成部等を1つに組み合わせたり、或いは分割したりすることが可能である。
本開示に記載された構成要件の全て、及び/又は、開示された全ての方法、又は、処理の全てのステップについては、これらの特徴が相互に排他的である組合せを除き、任意の組合せで組み合わせることができる。また、本開示に記載された特徴の各々は、明示的に否定されない限り、同一の目的、同等の目的、または類似する目的のために働く代替の特徴に置換することができる。したがって、明示的に否定されない限り、開示された特徴の各々は、包括的な一連の同一、又は、均等となる特徴の一例にすぎない。
さらに、本開示に係る実施形態は、上述した実施形態のいずれの具体的構成にも制限されるものではない。本開示に係る実施形態は、本開示に記載された全ての新規な特徴、又は、それらの組合せ、あるいは記載された全ての新規な方法、又は、処理のステップ、又は、それらの組合せに拡張することができる。
1 ロボット制御システム
10 ロボット制御装置(11:制御部、12:記憶部)
20 空間情報取得部
40 ロボット(42:アーム、44:エンドエフェクタ、46:マーク)
50 物体
60 キャリブレーション範囲
70 FOV(70A:中心軸、70C:中心位置、71:奥行方向の視野角、72:幅方向の視野角)

Claims (5)

  1. ロボットを制御する制御部を備え、
    前記制御部は、
    前記ロボットの動作空間を撮影する空間情報取得部の実視野サイズと、前記動作空間に存在する物体のデプス情報を含む前記空間情報取得部の空間情報とを取得し、
    前記実視野サイズと前記空間情報とに基づいて、所定の第1位置を設定し、
    前記第1位置と前記実視野サイズとに基づいて、前記ロボットのキャリブレーション位置の候補位置を生成する、
    ロボット制御装置。
  2. 前記制御部は、
    前記ロボットが前記キャリブレーション位置の候補位置に移動すると仮定した場合の前記ロボットの状態を算出し、
    前記ロボットのキャリブレーションの可否を判定する、
    請求項1に記載のロボット制御装置。
  3. 前記制御部は、
    前記空間情報取得部の実視野サイズと空間情報とに基づいて前記動作空間に存在する物体の位置を更に算出し、
    前記ロボットの状態が、前記動作空間に存在する物体に接触しない状態であり、関節可動域でない状態であり、かつ、前記ロボットの状態が特異点でない状態である場合、前記ロボットを前記キャリブレーション位置に移動させる、
    請求項1に記載のロボット制御装置。
  4. 請求項1から3までのいずれか一項に記載のロボット制御装置と、前記ロボットと、前記空間情報取得部とを備える、ロボット制御システム。
  5. ロボットを制御する制御部が、前記ロボットの動作空間を撮影する空間情報取得部の実視野サイズと、前記動作空間に存在する物体のデプス情報を含む前記空間情報取得部の空間情報とを取得することと、
    前記制御部が、前記実視野サイズと前記空間情報とに基づいて、所定の第1位置を設定することと、
    前記制御部が、前記第1位置と前記実視野サイズとに基づいて、前記ロボットのキャリブレーション位置の候補位置を生成することと
    を含む、ロボット制御方法。
JP2023540415A 2021-08-04 2022-08-04 ロボット制御装置、ロボット制御システム、及びロボット制御方法 Active JP7660686B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2021128475 2021-08-04
JP2021128475 2021-08-04
PCT/JP2022/030011 WO2023013740A1 (ja) 2021-08-04 2022-08-04 ロボット制御装置、ロボット制御システム、及びロボット制御方法

Publications (3)

Publication Number Publication Date
JPWO2023013740A1 JPWO2023013740A1 (ja) 2023-02-09
JPWO2023013740A5 JPWO2023013740A5 (ja) 2024-04-25
JP7660686B2 true JP7660686B2 (ja) 2025-04-11

Family

ID=85155783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023540415A Active JP7660686B2 (ja) 2021-08-04 2022-08-04 ロボット制御装置、ロボット制御システム、及びロボット制御方法

Country Status (5)

Country Link
US (1) US20240342918A1 (ja)
EP (1) EP4382261A4 (ja)
JP (1) JP7660686B2 (ja)
CN (1) CN117794704A (ja)
WO (1) WO2023013740A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7423851B1 (ja) 2023-10-31 2024-01-29 株式会社ダイヘン 端末装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015129473A1 (ja) 2014-02-28 2015-09-03 ソニー株式会社 ロボットアーム装置、キャリブレーション方法及びプログラム
JP2018111166A (ja) 2017-01-12 2018-07-19 ファナック株式会社 視覚センサのキャリブレーション装置、方法及びプログラム
JP2018114578A (ja) 2017-01-17 2018-07-26 ファナック株式会社 ロボット制御装置
CN111195915A (zh) 2020-01-20 2020-05-26 深圳龙岗智能视听研究院 一种基于遗传算法的机械臂绝对定位精度标定方法及系统
US20200298403A1 (en) 2016-03-29 2020-09-24 Cognibotics Ab Method, constraining device and system for determining geometric properties of a manipulator

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8170287B2 (en) * 2007-10-26 2012-05-01 Honda Motor Co., Ltd. Real-time self collision and obstacle avoidance

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015129473A1 (ja) 2014-02-28 2015-09-03 ソニー株式会社 ロボットアーム装置、キャリブレーション方法及びプログラム
US20200298403A1 (en) 2016-03-29 2020-09-24 Cognibotics Ab Method, constraining device and system for determining geometric properties of a manipulator
JP2018111166A (ja) 2017-01-12 2018-07-19 ファナック株式会社 視覚センサのキャリブレーション装置、方法及びプログラム
JP2018114578A (ja) 2017-01-17 2018-07-26 ファナック株式会社 ロボット制御装置
CN111195915A (zh) 2020-01-20 2020-05-26 深圳龙岗智能视听研究院 一种基于遗传算法的机械臂绝对定位精度标定方法及系统

Also Published As

Publication number Publication date
WO2023013740A1 (ja) 2023-02-09
EP4382261A1 (en) 2024-06-12
JPWO2023013740A1 (ja) 2023-02-09
US20240342918A1 (en) 2024-10-17
EP4382261A4 (en) 2025-08-13
CN117794704A (zh) 2024-03-29

Similar Documents

Publication Publication Date Title
CN112672860B (zh) 用于ar和数字孪生的机器人校准
JP6966582B2 (ja) ロボットモーション用のビジョンシステムの自動ハンドアイ校正のためのシステム及び方法
JP6855492B2 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
JP6180087B2 (ja) 情報処理装置及び情報処理方法
JP5949242B2 (ja) ロボットシステム、ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム
EP2636493B1 (en) Information processing apparatus and information processing method
JP5815761B2 (ja) 視覚センサのデータ作成システム及び検出シミュレーションシステム
JP2016099257A (ja) 情報処理装置及び情報処理方法
JP2005300230A (ja) 計測装置
JP6855491B2 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
JP7112528B2 (ja) 作業座標作成装置
JP2019098409A (ja) ロボットシステムおよびキャリブレーション方法
JP7660686B2 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
JP7657936B2 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
JP7583942B2 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
CN116390834A (zh) 机器人系统
JP7519222B2 (ja) 画像処理装置
JP2005186193A (ja) ロボットのキャリブレーション方法および三次元位置計測方法
US20240346674A1 (en) Information processing device, information processing method, imaging device, and information processing system
US20250001594A1 (en) Robot control device, robot control system, and robot control method
JP2022162340A (ja) ピッキング装置
WO2024062535A1 (ja) ロボット制御装置
WO2024135220A1 (ja) ロボット制御システム
JP2021091070A (ja) ロボット制御装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240201

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250214

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250401

R150 Certificate of patent or registration of utility model

Ref document number: 7660686

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150