JP6697204B1 - Robot system control method, non-transitory computer-readable recording medium, and robot system control device - Google Patents

Robot system control method, non-transitory computer-readable recording medium, and robot system control device Download PDF

Info

Publication number
JP6697204B1
JP6697204B1 JP2019213029A JP2019213029A JP6697204B1 JP 6697204 B1 JP6697204 B1 JP 6697204B1 JP 2019213029 A JP2019213029 A JP 2019213029A JP 2019213029 A JP2019213029 A JP 2019213029A JP 6697204 B1 JP6697204 B1 JP 6697204B1
Authority
JP
Japan
Prior art keywords
operation target
robot system
scan
end effector
pose
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
JP2019213029A
Other languages
Japanese (ja)
Other versions
JP2021003800A (en
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.)
Mujin Inc
Original Assignee
Mujin Inc
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
Priority claimed from US16/258,120 external-priority patent/US10456915B1/en
Application filed by Mujin Inc filed Critical Mujin Inc
Priority to CN202010066275.0A priority Critical patent/CN111483750A/en
Priority to CN202010277929.4A priority patent/CN111470244B/en
Priority to DE102020101767.7A priority patent/DE102020101767B4/en
Priority to US16/752,582 priority patent/US10870204B2/en
Priority to JP2020070953A priority patent/JP7495688B2/en
Publication of JP6697204B1 publication Critical patent/JP6697204B1/en
Application granted granted Critical
Priority to US17/110,205 priority patent/US11413753B2/en
Publication of JP2021003800A publication Critical patent/JP2021003800A/en
Priority to US17/806,432 priority patent/US11772267B2/en
Priority to US18/465,101 priority patent/US20240075619A1/en
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/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • B65G1/02Storage devices
    • B65G1/04Storage devices mechanical
    • B65G1/137Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed
    • B65G1/1373Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed for fulfilling orders in warehouses
    • 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
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • B65G1/02Storage devices
    • B65G1/04Storage devices mechanical
    • B65G1/137Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed
    • B65G1/1373Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed for fulfilling orders in warehouses
    • B65G1/1378Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed for fulfilling orders in warehouses the orders being assembled on fixed commissioning areas remote from the storage areas
    • 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/39543Recognize object and plan hand shapes in grasping movements
    • 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/40053Pick 3-D object from pile of objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manipulator (AREA)
  • De-Stacking Of Articles (AREA)
  • Specific Conveyance Elements (AREA)

Abstract

【課題】ロボットを含むユニット間の高度な連携を実現し、操作対象の収納効率を十分に高める。【解決手段】エンドエフェクタが操作対象を把持するアプローチ位置を取得すること、操作対象の識別子をスキャンするスキャン位置を取得すること、アプローチ位置及びスキャン位置に基づいて、制御シークエンスを作成又は取得し、その実行をロボットに指令することを含む制御方法。制御シークエンスは、(1)操作対象をスタート位置から把持すること、(2)操作対象の識別子を、スタート位置と作業位置との間に位置するスキャナでスキャンすること、(3)所定条件を満たすときに、操作対象を、持ち替え位置において、エンドエフェクタから一旦解放し、かつ、持ち替えるようにエンドエフェクタで再度把持すること、及び、(4)操作対象を作業位置に移動することを含む。【選択図】図4BPROBLEM TO BE SOLVED: To realize a high degree of cooperation between units including a robot and sufficiently enhance the storage efficiency of an operation target. An end effector acquires an approach position for gripping an operation target, acquires a scan position for scanning an identifier of the operation target, creates or acquires a control sequence based on the approach position and the scan position, A control method including instructing a robot to execute the operation. The control sequence is (1) grasping the operation target from the start position, (2) scanning the identifier of the operation target with a scanner located between the start position and the work position, (3) satisfying a predetermined condition. At this time, the operation target is once released from the end effector in the holding position, and is gripped again by the end effector so as to be held again, and (4) the operation target is moved to the work position. [Selection diagram] Fig. 4B

Description

本開示は、概して、ロボットシステムに関し、特に、物品等の操作対象を操作するロボットシステムの制御装置、制御方法、物流システム、プログラム、及び記録媒体に関する。   The present disclosure generally relates to a robot system, and more particularly to a controller, a control method, a physical distribution system, a program, and a recording medium for a robot system that operates an operation target such as an article.

多くのロボット(例えば、自動的に/独立して物理的動作を実行するように構成されたマシン)は、その絶えず向上する性能及び低下するコストにより、現在、多くの分野で広く使用されている。例えば、ロボットは、製造、組立て、梱包、移送、輸送等において、操作対象の操縦や移動といった様々な作業や仕事(タスク)を実行するように使用することができる。作業の実行において、ロボットは、人間の動作を反復することができ、それにより、人間による危険又は反復的な作業を置換したり、低減したりすることができる。   Many robots (eg, machines configured to perform physical actions automatically / independently) are now widely used in many fields due to their ever-increasing performance and diminishing costs. . For example, the robot can be used in manufacturing, assembling, packing, transferring, transporting, and the like to perform various tasks such as manipulating and moving an operation target. In performing work, the robot can repeat human movements, thereby replacing or reducing human danger or repetitive work.

このようなロボットを用いたシステム(ロボットシステム)として、例えば、特許文献1には、物品の入庫から出庫までを自動化及び省力化するために、搬送容器を一時的に格納する搬送容器格納機構と、搬送容器内の物品が、出庫情報に基づいて、出荷用容器に自動的に集約される物品自動送出機構とを備える自動物流システムが提案されている。   As a system (robot system) using such a robot, for example, Patent Document 1 discloses a transport container storage mechanism that temporarily stores a transport container in order to automate and save labor from loading and unloading of articles. An automatic physical distribution system has been proposed which includes an automatic article delivery mechanism in which articles in a transport container are automatically collected in a shipping container based on shipping information.

特開2018−167950号公報JP, 2018-167950, A

しかし、技術の進歩にも拘わらず、ロボットは多くの場合、より大きな及び/又はより複雑な作業を実行するための人間による関与作業を再現するために必要な洗練さを欠いている。そのため、ロボットシステムにおける自動化及び高機能化は未だ十分ではなく、人間の関与を置換することが困難な作業が少なからず存在し、、また、ロボットシステムは、実行される動作における粒度(granularity)の細かい制御及び柔軟性が欠如している。従って、ロボット間の様々な動作及び/又は対話を管理し、ロボットシステムの自動化及び高機能化を更に促進するための技術改良が依然として必要とされている。そこで、本開示は、ロボットを含むユニット間の高度な連携を実現し、例えば操作対象の収納効率を十分に高めることができるロボットシステムの制御装置及び制御方法等を提供することを目的とする。   However, despite technological advances, robots often lack the sophistication necessary to duplicate human-involved tasks to perform larger and / or more complex tasks. Therefore, automation and high functionality in the robot system are still insufficient, and there are many tasks in which it is difficult to replace human involvement, and the robot system has a granularity in the operation to be executed. Lack of fine control and flexibility. Accordingly, there remains a need for technical improvements to manage various movements and / or interactions between robots and further facilitate automation and enhanced functionality of robotic systems. Therefore, it is an object of the present disclosure to provide a controller, a control method, and the like of a robot system that can realize a high degree of cooperation between units including a robot and can sufficiently enhance the storage efficiency of an operation target, for example.

本発明は、上述した課題を解決するために、以下の構成を採用する。   The present invention adopts the following configurations in order to solve the problems described above.

[1]すなわち、本開示に係るロボットアーム及びエンドエフェクタを有するロボットを含むロボットシステムの制御方法は、前記エンドエフェクタが操作対象を把持(グリップ)するアプローチ位置を取得することと、前記操作対象の識別子をスキャンするスキャン位置を取得することと、前記アプローチ位置及び前記スキャン位置に基づいて、制御シークエンスを作成又は取得し、該制御シークエンスの実行を前記ロボットに指令することと、を含む。そして、前記制御シークエンスは、下記(1)〜(4);
(1)前記操作対象をスタート位置から把持すること、
(2)前記操作対象の識別情報(例えば、バーコード、クイックレスポンス(QR)コード(登録商標))等のコンピュータ読取可能な識別子)を、前記スタート位置と前記作業位置との間に位置するスキャナでスキャンすること、
(3)所定条件を満たすときに、前記操作対象を、持ち替え位置において、前記エンドエフェクタから一旦解放し、かつ、持ち替えるように前記エンドエフェクタで再度把持すること、及び、
(4)前記操作対象を作業位置に移動すること、
を含む。
[1] That is, a control method of a robot system including a robot having a robot arm and an end effector according to the present disclosure includes acquiring an approach position at which the end effector grips an operation target, and Acquiring a scan position for scanning the identifier, creating or acquiring a control sequence based on the approach position and the scan position, and instructing the robot to execute the control sequence. Then, the control sequence is the following (1) to (4);
(1) Grasping the operation target from the start position,
(2) A scanner in which identification information of the operation target (for example, a computer-readable identifier such as a bar code or a quick response (QR) code (registered trademark)) is located between the start position and the work position. To scan with,
(3) When the predetermined condition is satisfied, the operation target is once released from the end effector at the holding position, and is gripped again by the end effector so that the holding target is held again; and
(4) moving the operation target to a work position,
including.

ここで、「操作対象」とは、ロボットシステムに備わるロボットが操作する対象物を示し、例えば、1つ以上の物品(アイテム)、それらが載置又は収容されたビン、コンテナ、箱等の容器を含み、その容器は、梱包されていても、梱包が解かれていてもよく、また、容器の一部(例えば上面)が開放されていてもよい。また、他の実施形態及び実施例において、「操作対象」は、棚、パレット、コンベヤ、その他仮置き場等を含む概念であってもよい。また、「制御シークエンス」とは、ロボットシステムに備わる1つ以上のロボット等のユニットに個々の作業を実行させるための制御を行う際に予め設定しておく動作の順序を示す。   Here, the “operation target” refers to an object operated by a robot included in the robot system, and includes, for example, one or more items (items) and containers such as bottles, containers, and boxes on which they are placed or accommodated. The container may be packaged or unpacked, and a portion of the container (eg, the top surface) may be open. In addition, in other embodiments and examples, the “operation target” may be a concept including shelves, pallets, conveyors, and other temporary storage areas. Further, the “control sequence” refers to an order of operations set in advance when performing control for causing one or more units such as a robot included in the robot system to execute individual work.

[2]上記構成において、前記制御シークエンスは、下記(5)及び(6);
(5)前記操作対象を持ち替えて前記エンドエフェクタで把持する方向を変更した場合に、前記作業位置における前記操作対象の収納効率が高められることを、前記所定条件として設定すること、及び、
(6)前記操作対象を持ち替える前の前記作業位置における収納効率、及び、前記操作対象を持ち替えた後の前記作業位置における収納効率を計算すること、
を含むように構成してもよい。
[2] In the above configuration, the control sequence is the following (5) and (6);
(5) It is set as the predetermined condition that the storage efficiency of the operation target at the work position is enhanced when the operation target is changed and the gripping direction of the end effector is changed, and
(6) calculating the storage efficiency in the work position before the operation target is changed and the storage efficiency in the work position after the operation target is changed,
May be included.

[3]上記構成において、前記制御シークエンスは、下記(7)及び(8);
(7)前記操作対象の高さを取得すること、及び、
(8)前記操作対象の高さに基づいて、前記収納効率を計算すること、
を含むように構成してもよい。
[3] In the above configuration, the control sequence is the following (7) and (8);
(7) Obtaining the height of the operation target, and
(8) calculating the storage efficiency based on the height of the operation target,
May be included.

[4]上記構成において、前記操作対象の高さは、前記操作対象の頂部表面の高さ位置(レベル)と、前記エンドエフェクタに把持された状態で測定された前記操作対象の底部表面の高さ位置(レベル)とから、計算するように構成してもよい。 [4] In the above configuration, the height of the operation target is the height position (level) of the top surface of the operation target and the height of the bottom surface of the operation target measured in a state of being gripped by the end effector. It may be configured to calculate from the position (level).

[5]上記構成において、前記測定対象の高さは、前記スキャナで前記操作対象をスキャンする際に測定されるように構成してもよい。 [5] In the above configuration, the height of the measurement target may be measured when the operation target is scanned by the scanner.

[6]上記構成において、前記制御シークエンスは、(9)前記所定条件を満たすときに、前記操作対象を、前記持ち替え位置において、仮置き台に載置して前記エンドエフェクタから一旦解放することを含むように構成してもよい。 [6] In the above-mentioned configuration, the control sequence is (9) that when the predetermined condition is satisfied, the operation target is placed on a temporary placing table at the holding position and temporarily released from the end effector. It may be configured to include.

[7]上記構成において、前記操作対象を含むピックアップエリアを示す撮像データを取得することと、前記撮像データに基づいて、前記操作対象の最初のポーズを判定することと、前記操作対象の最初のポーズが正確である可能性を示す信頼基準を計算することと、前記信頼基準に基づいて、前記アプローチ位置及び前記スキャン位置を取得することと、を更に含むように構成してもよい。 [7] In the above configuration, the imaging data indicating the pickup area including the operation target is acquired, the first pose of the operation target is determined based on the imaging data, and the first pose of the operation target is determined. It may be configured to further include calculating a confidence criterion indicating that the pose is likely to be accurate, and acquiring the approach position and the scan position based on the confidence criterion.

ここで、「ポーズ」とは、操作対象の位置及び/又は向き(例えば、停止している状態の向きを含む姿勢)を示し、ロボットシステムによって利用されるグリッド系における平行移動の成分及び/又は回転の成分を含む。また、「ポーズ」は、ベクトル、角度のセット(例えば、オイラー角、及び/又は、ロール−ピッチ−ヨーの角度)、同次変換、又はそれらの組合せによって示され、操作対象の「ポーズ」におけるそれらの座標変換等は、平行移動の成分、回転の成分、それらの変化、又はそれらの組合せを含み得る。   Here, the “pose” indicates the position and / or orientation (for example, the posture including the orientation of the stopped state) of the operation target, and the component of parallel movement in the grid system used by the robot system and / or Including the rotation component. Further, the “pose” is indicated by a vector, a set of angles (for example, Euler angles and / or roll-pitch-yaw angles), a homogeneous transformation, or a combination thereof, and the “pose” of the operation target These coordinate transformations and the like may include translational components, rotational components, changes thereof, or a combination thereof.

また、「信頼基準」とは、判定された操作対象のポーズの現実世界における操作対象の実際のポーズに対する合致度合い(確実性又は可能性の程度)を表す定量化された基準を示す。換言すれば、「信頼基準」とは、判定された操作対象のポーズの正確さを示す基準であり、又は、判定されたポーズが操作対象の実際のポーズにマッチすることの可能性を示す指標ともいえる。この「信頼基準」は、例えば、操作対象を含むピックアップエリアの画像データにおける操作対象の1つ以上の可視特性(例えば、形状、色、画像、デザイン、ロゴ、テキスト等)と、マスターデータに記憶された操作対象の可視特性に関する情報との間のマッチングの結果に基づいて定量化することができる。   In addition, the “confidence criterion” refers to a quantified criterion indicating the degree of matching (certainty or possibility) of the determined pose of the operation target with the actual pose of the operation target in the real world. In other words, the “confidence criterion” is a criterion indicating the accuracy of the determined pose of the operation target, or an index indicating the possibility that the determined pose matches the actual pose of the operation target. Can also be said. The “confidence criterion” is stored in, for example, one or more visible characteristics (for example, shape, color, image, design, logo, text, etc.) of the operation target in the image data of the pickup area including the operation target and the master data. It can be quantified based on the result of matching with the information regarding the visible characteristic of the operated target.

[8]上記構成において、前記制御シークエンスは、(10)前記信頼基準を十分性閾値と比較した結果に基づいて、性能のメトリック及び/又はスキャンのメトリックに従って、前記アプローチ位置及び前記スキャン位置を選択的に計算すること、を含み、前記スキャンのメトリックは、前記操作対象の最初のポーズが正確であるか否かに拘わらず、前記操作対象の識別子が前記エンドエフェクタによって覆われない可能性に関連するものであるように構成してもよい。 [8] In the above configuration, the control sequence selects (10) the approach position and the scan position according to a performance metric and / or a scan metric based on a result of comparing the confidence criterion with a sufficiency threshold. Metric of the scan, the metric of the scan being related to the possibility that the identifier of the operation target is not covered by the end effector regardless of whether the first pose of the operation target is accurate or not. It may be configured to do so.

[9]上記構成において、前記アプローチ位置及び前記スキャン位置は、前記信頼基準が前記十分性閾値を満たさない場合に、前記スキャンのメトリックに基づいて取得され、又は、前記性能のメトリックよりも前記スキャンのメトリックを優先し、該スキャンのメトリックに基づいて取得されるように構成してもよい。 [9] In the above configuration, the approach position and the scan position are acquired based on the metric of the scan when the confidence criterion does not satisfy the sufficiency threshold, or the scan position is more than the performance metric. May be prioritized and acquired based on the metric of the scan.

[10]或いは、上記構成において、前記アプローチ位置及び前記スキャン位置は、前記信頼基準が前記十分性閾値を満たす場合に、前記性能のメトリックに基づいて取得されるように構成してもよい。 [10] Alternatively, in the above configuration, the approach position and the scan position may be configured to be acquired based on the performance metric when the confidence criterion satisfies the sufficiency threshold.

[11]上記構成において、前記制御シークエンスは、下記(11)及び(12);
(11)前記操作対象の識別情報を、前記スキャナに提供するための第1のスキャン位置と、前記操作対象の代替的な識別情報を、前記スキャナに提供するための第2のスキャン位置とを取得すること、及び、
(12)前記操作対象を前記第1のスキャン位置まで移動した後に、前記スキャン結果が成功したスキャンを示す場合には、前記操作対象を前記作業位置に移動し、かつ、前記第2のスキャン位置を無視すること、又は、前記スキャン結果が失敗したスキャンを示す場合には、前記操作対象を前記第2のスキャン位置に移動すること、
を含むように構成してもよい。
[11] In the above configuration, the control sequence is the following (11) and (12);
(11) A first scan position for providing the identification information of the operation target to the scanner, and a second scan position for providing the alternative identification information of the operation target to the scanner. To obtain, and
(12) If the scan result indicates a successful scan after the operation target is moved to the first scan position, the operation target is moved to the work position, and the second scan position is set. , Or moving the operation target to the second scan position if the scan result indicates a failed scan.
May be included.

[12]また、本開示による、ロボットアーム及びエンドエフェクタを有するロボットを含むロボットシステムの制御方法を実施させるためのプロセッサ命令を記録した非一過性のコンピュータ読取可能な記録媒体は、前記プロセッサ命令が、前記エンドエフェクタが操作対象を把持するアプローチ位置を取得する命令と、前記操作対象の識別子をスキャンするスキャン位置を取得する命令と、前記アプローチ位置及び前記スキャン位置に基づいて、制御シークエンスを作成又は取得し、該制御シークエンスの実行を前記ロボットに指令する命令と、を含む。そして、前記制御シークエンスは、下記(1)〜(4);
(1)前記操作対象をスタート位置から把持すること、
(2)前記操作対象の識別情報を、前記スタート位置と前記作業位置との間に位置するスキャナでスキャンすること、
(3)所定条件を満たすときに、前記操作対象を、持ち替え位置において、前記エンドエフェクタから一旦解放し、かつ、持ち替えるように前記エンドエフェクタで再度把持すること、及び、
(4)前記操作対象を作業位置に移動すること、
を含む。
[12] The non-transitory computer-readable recording medium having processor instructions recorded thereon for implementing a control method of a robot system including a robot having a robot arm and an end effector according to the present disclosure is the processor instructions. However, a control sequence is created based on the command for acquiring the approach position where the end effector grips the operation target, the command for acquiring the scan position for scanning the identifier of the operation target, and the approach position and the scan position. Or a command for instructing the robot to execute the control sequence. Then, the control sequence is the following (1) to (4);
(1) Grasping the operation target from the start position,
(2) scanning the identification information of the operation target with a scanner located between the start position and the work position,
(3) When the predetermined condition is satisfied, the operation target is once released from the end effector at the holding position, and is gripped again by the end effector so that the holding target is held again; and
(4) moving the operation target to a work position,
including.

[13]上記構成において、前記制御シークエンスは、下記(5)及び(6);
(5)前記操作対象を持ち替えて前記エンドエフェクタで把持する方向を変更した場合に、前記作業位置における前記操作対象の収納効率が高められることを、前記所定条件として設定すること、及び、
(6)前記操作対象を持ち替える前の前記作業位置における収納効率、及び、前記操作対象を持ち替えた後の前記作業位置における収納効率を計算すること、
を含むように構成してもよい。
[13] In the above configuration, the control sequence is the following (5) and (6);
(5) It is set as the predetermined condition that the storage efficiency of the operation target at the work position is enhanced when the operation target is changed and the gripping direction of the end effector is changed, and
(6) calculating the storage efficiency in the work position before the operation target is changed and the storage efficiency in the work position after the operation target is changed,
May be included.

[14]上記構成において、前記制御シークエンスは、下記(7)及び(8);
(7)前記操作対象の高さを取得すること、及び、
(8)前記操作対象の高さに基づいて、前記収納効率を計算すること、
を含むように構成してもよい。
[14] In the above configuration, the control sequence is the following (7) and (8);
(7) Obtaining the height of the operation target, and
(8) calculating the storage efficiency based on the height of the operation target,
May be included.

[15]上記構成において、前記測定対象の高さは、前記操作対象の頂部表面の高さ位置(レベル)と、前記エンドエフェクタに把持された状態で測定された前記測定対象の底部表面の高さ位置(レベル)とから、計算するように構成してもよい。 [15] In the above configuration, the height of the measurement target is the height position (level) of the top surface of the operation target and the height of the bottom surface of the measurement target measured while being held by the end effector. It may be configured to calculate from the position (level).

[16]また、本開示による、ロボットアーム及びエンドエフェクタを有するするロボットを含むロボットシステムの制御装置は、前記[1]〜[11]の何れかに記載の制御方法を実行するものである。 [16] Further, a control device for a robot system including a robot having a robot arm and an end effector according to the present disclosure executes the control method according to any one of [1] to [11].

本開示の一実施形態に係るロボットシステムが作動し得る例示的環境を示す図である。FIG. 3 illustrates an exemplary environment in which a robot system according to an embodiment of the present disclosure may operate. 本開示の一実施形態に係るロボットシステムのハード構成の一例を示すブロック図である。FIG. 3 is a block diagram showing an example of a hardware configuration of a robot system according to an embodiment of the present disclosure. 操作対象の第1のポーズを模式的に示す斜視図である。It is a perspective view which shows typically the 1st pose of an operation target. 操作対象の第2のポーズを模式的に示す斜視図である。It is a perspective view which shows typically the 2nd pose of an operation target. 操作対象の第3のポーズを模式的に示す斜視図である。It is a perspective view which shows typically the 3rd pose of an operation target. 本開示の一実施形態に係るロボットシステムによって実行される例示的作業を示す上面図である。FIG. 6 is a top view showing an exemplary work performed by a robot system according to an embodiment of the present disclosure. 本開示の一実施形態に係るロボットシステムによって実行される例示的作業を示す正面図である。FIG. 6 is a front view showing an exemplary work performed by the robot system according to the embodiment of the present disclosure. 本開示の一実施形態に係るロボットシステムの動作における手順の一例を示すフロー図である。FIG. 9 is a flowchart showing an example of a procedure in an operation of the robot system according to the embodiment of the present disclosure. 本開示の一実施形態に係るロボットシステムの動作における手順の一例を示すフロー図である。FIG. 9 is a flowchart showing an example of a procedure in an operation of the robot system according to the embodiment of the present disclosure.

本開示によれば、複数のユニット(例えば、各種ロボット、各種デバイス、それらと一体又は別体に設けられた制御装置等)が高度に統合されたロボットシステム、その制御装置、及び、それらを備える物流システム、並びにそのための方法等が提供される。すなわち、本開示の実施形態に係るロボットシステムは、例えば、1つ以上の作業を自律的に実行することができる統合システムである。また、本開示の実施形態に係るロボットシステムは、操作対象を収納容器等に収納する際に、操作対象の形状や寸法と収容容器の空間容積に基づいて、その収容効率を格段に高めることができる高度化したハンドリングを含むように作動する。また、操作対象の最初のポーズに関連する信頼基準に基づいて、制御シークエンスを作成又は取得して実行することにより、操作対象の高度化されたスキャン作業を提供する。     According to the present disclosure, a robot system in which a plurality of units (for example, various robots, various devices, and a control device provided integrally or separately with them) is highly integrated, the control device thereof, and the same A physical distribution system and a method therefor are provided. That is, the robot system according to the embodiment of the present disclosure is, for example, an integrated system capable of autonomously executing one or more tasks. Further, the robot system according to the embodiment of the present disclosure can significantly enhance the storage efficiency when storing the operation target in the storage container or the like, based on the shape and size of the operation target and the spatial volume of the storage container. Operates to include advanced handling that can be done. In addition, a sophisticated scanning operation of the operation target is provided by creating or acquiring and executing the control sequence based on the confidence criterion related to the first pose of the operation target.

本開示の実施形態に係るロボットシステムは、操作対象を操作すること(例えば、物理的移動及び/又は方向付け)に基づいて、作業を実行するように構成することができる。より具体的には、ロボットシステムは、例えば、スタート位置を含むピックアップエリア(例えば、操作対象の供給元である大箱、ビン、コンテナ、パレット、収納容器、バケット、ケージ、ベルトコンベヤ等)から操作対象を取り上げ、それを目的の作業位置を含むドロップエリア(例えば、操作対象の移動先の大箱、ビン、コンテナ、パレット、収納容器、バケット、ケージ、ベルトコンベヤ等)に移動させ、様々な操作対象を並び替えたり置き換えたりすること等を実施することができる。   The robot system according to the embodiment of the present disclosure may be configured to perform work based on operating an operation target (for example, physical movement and / or orientation). More specifically, the robot system operates from, for example, a pickup area including a start position (for example, a large box, a bin, a container, a pallet, a storage container, a bucket, a cage, a belt conveyor, which is a supply source of an operation target). Pick up an object, move it to the drop area that contains the desired work position (for example, the destination box, bin, container, pallet, storage container, bucket, cage, belt conveyor, etc.) and perform various operations. The objects can be rearranged or replaced.

また、ロボットシステムが実行する制御シークエンスには、操作対象の1つ以上の特定の位置及び/又は表面上に位置する1つ以上の識別子(例えば、バーコード又はクイックレスポンス(QR)コード(登録商標)等)を、移送の際にスキャンすることが含まれ得る。従って、ロボットシステムは、操作対象を、把持してピックアップし、適宜の位置/向きで識別子をスキャンし、ポーズを調整し、ポーズを変えて持ち替え(把持を解放し、再度把持し直してピックアップする)、作業位置に移送して把持を解放し、作業位置に配置するといった種々の作業を実行することができる。   In addition, the control sequence executed by the robot system includes one or more specific positions to be operated and / or one or more identifiers located on the surface (for example, a bar code or a quick response (QR) code (registered trademark). ) Etc.) may be included in the scan during the transfer. Therefore, the robot system grips and picks up the operation target, scans the identifier at an appropriate position / orientation, adjusts the pose, changes the pose and holds (releases the grip, re-grasps again, and picks up the object. ), It is possible to perform various works such as transferring to the work position, releasing the grip, and disposing at the work position.

また、ロボットシステムは、操作対象の位置及びポーズ、操作対象の周りの環境を識別するための撮像デバイス(例えば、カメラ、赤外センサ/カメラ、レーダー、ライダー等)を備えることができる。さらに、ロボットシステムは、操作対象のポーズに関する信頼基準を計算することができる。また、ロボットシステムは、スタート位置を含むピックアップエリア、作業位置を含むドロップエリア、及び、操作対象の移動経路の途中にある持ち替え位置を含むエリア(例えば、仮置き台等の適宜の作業台、他のロボット等)等に移送されるときの操作対象の位置及び向きを示す画像を取得することができる。   In addition, the robot system may include an imaging device (for example, a camera, an infrared sensor / camera, a radar, a rider, etc.) for identifying the position and pose of the operation target and the environment around the operation target. In addition, the robot system can calculate a confidence criterion for the pose of the manipulated object. Further, the robot system includes a pickup area including a start position, a drop area including a work position, and an area including a holding position in the middle of a movement path of an operation target (for example, an appropriate work table such as a temporary table, other It is possible to acquire an image showing the position and the orientation of the operation target when it is transferred to the robot etc.).

さらに、ロボットシステムは、操作対象を、所定の順番(例えば、上から底、、外側から内側、内側から外側等)に従って、識別又は選択するように、画像処理を行うことができる。またさらに、ロボットシステムは、例えば、撮像データのパターン画像におけるピクセルの色、輝度、深さ/位置、及び/又は、それらの組み合わせやそれらの値の変化に基づいて、操作対象のアウトラインを識別し、また、それをグルーピング等することにより、その画像から、例えばピックアップエリアにおける操作対象の最初のポーズを判定することができる。最初のポーズの判定において、ロボットシステムは、所定のプロセス及び/又は方程式に従って、信頼基準を計算することができる。   Further, the robot system can perform image processing so as to identify or select the operation target according to a predetermined order (for example, top to bottom, outer to inner, inner to outer, etc.). Furthermore, the robot system identifies the outline of the operation target based on, for example, the color, the brightness, the depth / position of the pixel in the pattern image of the imaging data, and / or the combination thereof or the change of the values thereof. Further, by grouping them, the first pose of the operation target in the pickup area can be determined from the image. In determining the initial pose, the robot system can calculate a confidence metric according to a predetermined process and / or equation.

また、ロボットシステムは、スタート位置を含むピックアップエリア等から作業位置を含むドロップエリア等までの経路の途中に設けられた持ち替え位置において、必要に応じて、操作対象の持ち替え(操作対象の把持位置の変更)を行うことができる。そして、ロボットシステムは、操作対象がスタート位置を含むピックアップエリア等から作業位置を含むドロップエリア等へ移動される間に、例えば測距機能を有する撮像デバイスにより、必要に応じて、操作対象の高さを取得することができる。   In addition, the robot system changes the holding target of the operation target (holding position of the operation target at the holding position of the operation target, if necessary, at the holding position provided on the way from the pickup area including the start position to the drop area including the work position. Change). Then, while the operation target is moved from the pickup area including the start position to the drop area including the work position, the robot system may increase the height of the operation target by an imaging device having a distance measuring function, if necessary. Can be obtained.

また、ロボットシステムは、操作対象の位置、ポーズ、高さ、信頼基準、若しくはそれらの組合せ、及び/又は、ロボットの位置、ポーズ、若しくはそれらの組み合わせに応じて、各作業を実行するための制御シークエンスを実行することができる。かかる制御シークエンスは、例えば、モーションプランニング、ディープラーニング等の機械学習等によって作成又は取得することができる。制御シークエンスは、例えば、操作対象の並び替え、持ち替え、置き換え等のためには、スタート位置、及び/又は、移動途中の任意の位置で、操作対象を把持すること、操作対象を操縦すること、操作対象を目的の作業位置に置くこと等に対応する。   In addition, the robot system controls to execute each work according to the position, pose, height, confidence standard, or a combination thereof of the operation target and / or the position, pose, or a combination thereof of the robot. The sequence can be executed. Such a control sequence can be created or acquired by, for example, machine learning such as motion planning or deep learning. The control sequence is, for example, rearrangement of operation objects, holding, replacement, etc., at the start position and / or at an arbitrary position during movement, to grasp the operation objects, to steer the operation objects, It corresponds to placing the operation target in the intended work position.

ここで、従来のロボットシステムでは、操作対象を、スタート位置を含むピックアップエリア等で把持し、操作対象をその把持状態で作業位置を含むドロップエリア等へ移動して解放するような制御シークエンスを実行する。従って、従来のシステムでは、把持された操作対象はその把持状態で移動されて、その把持状態から解放されるのみであり、操作対象が積み付け又は収納される空間を十分に有効に利用できていたとはいえなかった。このため、操作対象の積み付け又は収納効率の観点から、人間による介入(調整、やり直し、補完、システム停止等)及びそのための操作入力を必要とする場合があった。   Here, in the conventional robot system, a control sequence is performed in which the operation target is gripped in a pickup area including the start position and the operation target is moved to a drop area including the work position in the gripped state and released. To do. Therefore, in the conventional system, the gripped operation target is only moved in the gripped state and released from the gripped state, and the space in which the operation target is stacked or stored can be used sufficiently effectively. It couldn't be said. For this reason, human intervention (adjustment, redo, supplement, system stop, etc.) and an operation input therefor may be required from the viewpoint of packing or storage efficiency of operation targets.

一方、本開示によるロボットシステムは、従来とは異なり、操作対象の形状情報、及び、操作対象の積み付け又は収納情報に基づいて、制御シークエンスを作成又は取得して実行することができる。換言すると、本開示によるロボットシステムは、操作対象の形状情報、及び、操作対象の積み付け又は収納情報に基づいて、更なる操作対象の積み付け又は収納効率を最適化することができる。また、本開示によるロボットシステムは、スタート位置から作業位置の途中に位置する持ち替え位置において、操作対象の把持位置を、操作対象の積み付け又は収納効率の最適化に適合する把持位置へと変更することができる。   On the other hand, unlike the related art, the robot system according to the present disclosure can create or acquire the control sequence based on the shape information of the operation target and the stowage or storage information of the operation target and execute the control sequence. In other words, the robot system according to the present disclosure can optimize the packing or storage efficiency of further operation targets based on the shape information of the operation targets and the packing or storage information of the operation targets. Further, the robot system according to the present disclosure changes the grip position of the operation target to a grip position suitable for optimizing the packing efficiency or the storage efficiency of the operation target at the holding position which is located in the middle of the work position from the start position. be able to.

また、本開示によるロボットシステムは、従来のシステムと異なり、必要に応じて、操作対象の実際の高さに従って、操作対象の積み付け又は収納効率の最適化に適合する制御シークエンスを作成又は取得して実行することができる。例えば、スキャニングされた操作対象の1つ以上の特定の位置及び/又は表面上に位置する1つ以上の識別子が同一である操作対象であっても、実際には異なる形状寸法を有する場合があり得る。そこで、持ち替え位置よりも制御シークエンスの上流側(前段階)において、例えば、鉛直方向に位置決めされた撮像デバイス(カメラや距離測定デバイス)から、支持されている位置が既知である操作対象までの距離情報に基づいて、操作対象の高さを実測する。そして、実測された操作対象の高さに基づいて、作業位置における操作対象の積み付け又は収納効率を計算することができ、その結果に基づいて、制御シークエンスをより最適化することができる。   Further, unlike the conventional system, the robot system according to the present disclosure creates or acquires a control sequence that is suitable for optimizing the packing efficiency or storage efficiency of the operation target according to the actual height of the operation target, as necessary. Can be executed. For example, one or more specific positions of scanned objects and / or one or more identifiers located on the surface may be the same, but actually have different geometric dimensions. obtain. Therefore, on the upstream side (previous stage) of the control sequence with respect to the holding position, for example, the distance from the vertically positioned imaging device (camera or distance measuring device) to the operation target whose supported position is known. The height of the operation target is measured based on the information. Then, the packing or storage efficiency of the operation targets at the work position can be calculated based on the actually measured height of the operation target, and the control sequence can be further optimized based on the result.

さらに、本開示によるロボットシステムは、従来のシステムとは異なり、必要に応じて、信頼基準に従って、制御シークエンスを作成又は取得して実行することができる。例えば、信頼基準に従って、操作対象に対するアプローチを変化させ、操作対象上の把持位置を変更し、操作対象のポーズ/位置を変更し、及び/又は移動経路の一部を変更することができる。   Moreover, unlike conventional systems, the robotic system according to the present disclosure can optionally create or acquire and execute control sequences according to confidence criteria. For example, the approach to the operation target can be changed, the grip position on the operation target can be changed, the pose / position of the operation target can be changed, and / or a part of the movement path can be changed according to a confidence criterion.

また、ピックアップエリア等で把持された測定対象のポーズは、概して、その頂部表面が水平に向いて(上方向に)露出し、かつ、操作対象の側部表面が垂直に向いて(横方向に)露出し得る。そこで、本開示によるロボットシステムは、マスターデータにおいて、操作対象が、1つの識別子を操作対象の底部表面(すなわち、操作対象の頂部表面とは反対側)に有し、かつ、他の識別子を操作対象の側部表面の1つに有していることを含み得る。   In addition, the pose of the measurement target held in the pickup area or the like is generally exposed with its top surface facing horizontally (upward) and the side surface of the operation target facing vertically (horizontal direction). ) Can be exposed. Therefore, in the robot system according to the present disclosure, in the master data, the operation target has one identifier on the bottom surface of the operation target (that is, on the side opposite to the top surface of the operation target), and operates another identifier. Having on one of the side surfaces of the object.

また、本開示によるロボットシステムは、操作対象の識別においてピックアップエリアの画像を処理する場合、必要に応じて、信頼基準を計算することができる。その信頼基準が十分性閾値を超え、操作対象の頂部表面が露出していることの十分な確実性が認識された場合、ロボットシステムは、その露出した頂部表面上にエンドエフェクタを配置し、頂部表面を把持し、スキャナの前に所定の位置で操作対象の底部表面を提供するように、操作対象を回転させることができる。一方、信頼基準が十分性閾値未満であり、操作対象の頂部表面又は底部表面が露出しているか否かが認識されない場合、ロボットシステムは、操作対象の側部表面の1つに沿ってエンドエフェクタを配置し、操作対象の側部表面を把持し、例えば対向するスキャナのセットの間を通すように、操作対象を回転させることができる。   In addition, the robot system according to the present disclosure can calculate the confidence criterion as necessary when processing the image of the pickup area in identifying the operation target. If the confidence criterion exceeds the adequacy threshold and a sufficient certainty that the top surface to be manipulated is exposed is recognized, the robot system places an end effector on the exposed top surface and The manipulation target can be rotated to grip the surface and provide the bottom surface of the manipulation target in place in front of the scanner. On the other hand, if the confidence criterion is less than the sufficiency threshold and it is not recognized whether the top or bottom surface of the operation target is exposed, then the robot system may move the end effector along one of the side surfaces of the operation target. Can be arranged to grasp the side surface of the operation target and rotate the operation target, for example, so as to pass it between the sets of opposed scanners.

この場合、操作対象の移動経路内、例えば、スタート位置を含むピックアップエリアと作業位置を含むドロップエリアとの間等において操作対象をスキャンすることにより、作業効率及び作業速度が向上される。その際、本開示によるロボットシステムは、スキャン位置において、スキャナと協働もする制御シークエンスを作成又は取得することにより、操作対象の移動作業と操作対象のスキャン作業を効果的に組み合わせることができる。さらに、操作対象の最初のポーズの信頼基準に基づく制御シークエンスを作成又は取得することにより、スキャン作業に関する効率、速度及び精度をさらに向上させることができる。   In this case, by scanning the operation target within the movement path of the operation target, for example, between the pickup area including the start position and the drop area including the work position, the work efficiency and work speed are improved. At that time, the robot system according to the present disclosure can effectively combine the moving operation of the operation target and the scanning operation of the operation target by creating or acquiring the control sequence that also cooperates with the scanner at the scan position. Furthermore, by creating or acquiring a control sequence based on the confidence criterion of the first pose of the operation target, efficiency, speed and accuracy regarding the scanning work can be further improved.

また、本開示によるロボットシステムは、操作対象の最初のポーズが正確ではない場合に対応する制御シークエンスを作成又は取得することができる。これにより、操作対象のポーズの判定のエラー(例えば、較正エラー、予期しないポーズ、予期しない光の条件等の結果の判定のエラー)を伴う場合であっても、操作対象を正確に及び確実にスキャンする可能性を増大させることができる。その結果、ロボットシステムに関する全体のスループットを増大させることができるとともに、操作者の労力/介入を更に低減することができる。   In addition, the robot system according to the present disclosure can create or acquire a control sequence corresponding to the case where the first pose of the operation target is not accurate. As a result, the operation target can be accurately and surely set even when accompanied by an error in determining the pose of the operation target (for example, an error in determining a result such as a calibration error, an unexpected pose, or an unexpected light condition). The likelihood of scanning can be increased. As a result, the overall throughput of the robot system can be increased and the labor / intervention of the operator can be further reduced.

なお、本明細書では、複数の特定の詳細な説明が、本開示を完全に理解させるために説明されるが、本開示はそれらに限定されない。また、本開示の実施形態では、本明細書に記載された技術に関し、それら特定の詳細を伴わずに実施することができる。さらに、よく知られている特定の機能又はルーチン等は、本開示を不要にわかりにくくすることを避けるために、詳細には記載されない。本明細書における「実施形態(an embodiment)」、「1つの実施形態(one embodiment)」等の参照は、記載の特定の特徴、構造、材料、又は特性が、本開示の少なくとも1つの実施形態に含まれていることを意味する。このため、本明細書におけるそのようなフレーズの表示は、必ずしも、すべてが同じ実施形態を参照してはいない。一方、そのような参照は、必ずしも相互に排他的であることもない。さらに、特定の特徴、構造、材料、又は特性は、1つ以上の実施形態において、任意の適切な方式で組み合わせることができる。加えて、図示の様々な実施形態は、説明的表示に過ぎず、必ずしも正寸で示されていないことを理解されたい。   It should be noted that although specific details have been set forth herein in order to provide a thorough understanding of the present disclosure, the present disclosure is not limited thereto. In addition, the embodiments of the present disclosure can be carried out with respect to the technology described in the present specification without accompanying those specific details. In addition, well-known specific functions or routines, etc. have not been described in detail to avoid unnecessarily obscuring the present disclosure. References to “an embodiment”, “one embodiment” and the like in this specification are made in accordance with at least one embodiment of the disclosure in which the particular feature, structure, material, or characteristic described is at least one embodiment. Means included in. As such, references to such phrases in this specification are not necessarily all referring to the same embodiment. On the other hand, such references are not necessarily mutually exclusive. Furthermore, the particular features, structures, materials, or characteristics may be combined in any suitable manner in one or more embodiments. In addition, it should be understood that the various embodiments shown are for illustration purposes only and are not necessarily shown to scale.

また、よく知られていてかつロボットシステム及びサブシステムとしばしば関連付けられる構造又はプロセスであって、本開示のいくつかの顕著な態様を不要に妨げ得る構造又はプロセスについては、本開示の明確化の目的のために、説明を省略する。さらに、本明細書では、本開示の様々な実施形態を説明しているが、本開示は、他の実施形態として、このセクションにおける記載とは異なる構成、又は異なる構成要素を有するものを含むことができる。従って、本開示は、追加の要素を伴うか、以下に記載の要素のいくつかを伴わないような他の実施形態を含み得る。   Also, structures or processes that are well known and often associated with robotic systems and subsystems that may unnecessarily interfere with some salient aspects of the present disclosure are described in the clarifications of this disclosure. The description is omitted for the purpose. Further, although various embodiments of the disclosure are described herein, the disclosure includes other embodiments having different configurations or different components than those described in this section. You can As such, the disclosure may include other embodiments with additional elements or without some of the elements described below.

また、本開示の各実施形態は、プログラム可能なコンピュータ又はコントローラによって実行されるルーチンを含み、コンピュータ又はコントローラで実行可能な命令の形態を採ることができる。本開示が属する技術分野の当業者であれば、本開示の技術が、種々のコンピュータ又はコントローラを含むシステムで実施され得ることを理解することができる点に留意されたい。本開示の技術は、種々のコンピュータで1つ以上の命令を実行するように、プログラムされ、構成され、又は、構築された特定用途のコンピュータ又はデータプロセッサで実施することができる。従って、本明細書で使用される「コンピュータ(computer)」及び「コントローラ(controller)」との用語は、任意のデータプロセッサであってもよく、インターネットの装置及びハンドヘルドデバイス(パームトップ型コンピュータ、ウェアラブルコンピュータ、セルラ又は移動電話、複数プロセッサシステム、プロセッサベースであるかプログラム可能な家庭用電気機械器具、ネットワークコンピュータ、ミニコンピュータ等を含む)を含むことができる。これらコンピュータ及びコントローラによって扱われる情報は、液晶ディスプレイ(LCD)等の任意の適切な表示媒体に提供することができる。コンピュータ又はコントローラで実行可能な作業を実行するための命令は、ハードウェア、ファームウェア、又はハードウェアとファームウェアとの組合せを含む任意の適切なコンピュータ読取可能な記録媒体に記憶することができる。また、それらの命令は、例えば、フラッシュドライブ、及び/又は、他の適切な媒体を含む任意の適切なメモリデバイスに記録することができる。   Also, each embodiment of the present disclosure includes a routine executed by a programmable computer or controller, and can take the form of instructions executable by the computer or controller. It should be noted that those skilled in the art to which the present disclosure belongs may understand that the technique of the present disclosure can be implemented in a system including various computers or controllers. The techniques of this disclosure may be implemented in a special purpose computer or data processor that is programmed, configured, or constructed to execute one or more instructions on various computers. Thus, the terms "computer" and "controller" as used herein may be any data processor, Internet devices and handheld devices (palmtop computers, wearables, etc.). Computer, cellular or mobile telephone, multi-processor system, processor-based or programmable consumer electronics, network computer, minicomputer, etc.). The information handled by these computers and controllers can be provided on any suitable display medium such as a liquid crystal display (LCD). The instructions for performing computer- or controller-executable tasks may be stored in any suitable computer-readable storage medium, including hardware, firmware, or a combination of hardware and firmware. Also, the instructions may be recorded in any suitable memory device, including, for example, a flash drive and / or other suitable medium.

また、本明細書における「結合された(coupled)」及び「接続された(connected)」との用語は、その派生形とともに、構成要素間の構造的な関係を記載するために使用され得る。これらの用語が、互いに関して同義であることは意図されていないことを理解されたい。むしろ、特定の実施形態では、「接続された(connected)」は、2つ以上の要素が互いに直接接触していることを示すために使用することができる。文脈において明示がない限り、「結合された(coupled)」との用語は、2つ以上の要素が直接的か、或いは、それらの間に他の介在要素を伴って間接的に互いに接触していること、又は、例えば、信号の送信/受信、又は、関数の呼び出しに関するもの等のように、因果関係にあるように、2つ以上の要素が互いに協働するか相互作用すること、又は、その両方を示すために使用することができる。   Also, the terms "coupled" and "connected", as well as their derivatives, may be used herein to describe structural relationships between components. It should be understood that these terms are not intended to be synonymous with respect to each other. Rather, in certain embodiments, "connected" can be used to indicate that two or more elements are in direct contact with each other. Unless otherwise indicated in context, the term "coupled" refers to two or more elements either directly or indirectly contacting each other with other intervening elements between them. Or two or more elements cooperate or interact with each other in a causal relationship, such as, for example, with respect to sending / receiving signals or calling functions, or It can be used to indicate both.

[適切な環境]
図1は、本開示の一実施形態に係るロボットシステム100が作動し得る例示的環境を示す図である。ロボットシステム100は、1つ以上の作業を実行するように構成された1つ以上のロボット等のユニットを備える。
[Suitable environment]
FIG. 1 is a diagram illustrating an exemplary environment in which a robot system 100 according to an embodiment of the present disclosure may operate. The robot system 100 comprises units such as one or more robots configured to perform one or more tasks.

図1に示す例に関し、ロボットシステム100は、倉庫又は分配/輸送ハブ内の、荷下ろしユニット102、移送ユニット104、輸送ユニット106、荷積みユニット108、又はそれらの組合せを備えることができる。これらのユニットにおいて、操作対象を操作するロボットとしては、例えば、デバンニングロボット、ピースピッキングロボット、フェッチングロボットといったロボットアーム及びエンドエフェクタ等によって操作対象を操作するためのロボットが挙げられる。また、ロボットシステム100における各々のユニットは、1つ以上の作業、例えば、倉庫に貯蔵するために、操作対象をトラックやバン等から荷下ろししたり、操作対象を貯蔵位置から荷下ろししたり、例えばコンテナ間で操作対象を移動させたり、操作対象を輸送のためにトラックやバン等に荷積みしたりといった複数の作業を実施するように、それらの複数の作業を組み合わせた制御シークエンスを実行することができる。すなわち、ここでの「作業」とは、「ある位置」から「他のある位置」へ操作対象を移載すること目的とする種々の操作及び動作を含む概念である。   With respect to the example shown in FIG. 1, the robot system 100 may comprise an unloading unit 102, a transfer unit 104, a transportation unit 106, a loading unit 108, or a combination thereof in a warehouse or distribution / transport hub. In these units, examples of the robot for operating the operation target include a robot for operating the operation target by a robot arm and an end effector such as a devanning robot, a piece picking robot, and a fetching robot. Further, each unit in the robot system 100 unloads an operation target from a truck, a van, or the like, or unloads an operation target from a storage position in order to store one or more operations, for example, a warehouse. Perform a control sequence that combines multiple operations, such as moving multiple operations between containers and loading multiple operations onto a truck or van for transportation. be able to. That is, the “work” here is a concept including various operations and actions for the purpose of transferring an operation target from “a certain position” to “another certain position”.

より具体的には、「作業」には、操作対象112のスタート位置114から作業位置116への操作対象112の操作(例えば、移動、方向付け、ポーズの変更等)、スタート位置114から作業位置116への操作対象112の移動経路の途中に設けられた持ち替え位置118における操作対象112の持ち替え、操作対象112の識別情報を取得するための操作対象112のスキャン等を含む。   More specifically, “work” includes operations of the operation target 112 from the start position 114 of the operation target 112 to the work position 116 (for example, movement, orientation, change of pose, etc.), work positions from the start position 114. Reholding of the operation target 112 at the holding position 118 provided in the middle of the movement path of the operation target 112 to 116, scanning of the operation target 112 for acquiring identification information of the operation target 112, and the like are included.

また、例えば、荷下ろしユニット102は、キャリア(例えば、トラック)内のある位置から、ベルトコンベヤ上のある位置まで、操作対象112を移送するように構成することができる。さらに、移送ユニット104は、ある位置(例えば、スタート位置を含むピックアップエリア)から別の位置(例えば、輸送ユニット106上の作業位置を含むドロップエリア)に、操作対象112を移送し、また、その移動経路の途中においてその操作対象112を持ち替えるように構成することができる。さらに、輸送ユニット106は、操作対象112を、移送ユニット104に関連するエリアから、荷積みユニット108に関連するエリアに移送することができる。またさらに、荷積みユニット108は、操作対象112を、例えば、操作対象112を載せたパレット等を移動することにより、移送ユニット104から貯蔵位置(例えば、倉庫におけるラック等の棚上の所定位置)に移送することができる。   Further, for example, the unloading unit 102 can be configured to transfer the operation target 112 from a certain position in the carrier (for example, a truck) to a certain position on the belt conveyor. Further, the transfer unit 104 transfers the operation target 112 from one position (for example, a pickup area including a start position) to another position (for example, a drop area including a work position on the transportation unit 106), and The operation target 112 can be changed over in the middle of the movement route. Further, the transport unit 106 can transfer the operation target 112 from the area associated with the transfer unit 104 to the area associated with the loading unit 108. Furthermore, the loading unit 108 moves the operation target 112, for example, a pallet or the like on which the operation target 112 is placed, so that the loading unit 108 moves from the transfer unit 104 to a storage position (for example, a predetermined position on a shelf such as a rack in a warehouse). Can be transferred to.

なお、ここでの説明においては、ロボットシステム100が、輸送センターに適用されるものの一例として記載するが、ロボットシステム100は、製造、組立て、パッケージング、ヘルスケア、及び/又は他のタイプのオートメーション等のために、他の環境で/他の目的で作業を実行するように構成することができることを理解されたい。ロボットシステム100が、図1に示されていない、マニピュレータ、サービスロボット、モジュール式ロボット等の、他のユニットを含むことができることも理解されたい。例えば、ロボットシステム100は、例えば、ケージカート又はパレットから、コンベヤ又は他のパレットに操作対象112を移送するための、パレットからの荷下ろしユニット、コンテナ間で操作対象112を移送するためのコンテナ切替えユニット、操作対象112をラッピングするためのパッケージングユニット、操作対象112の特性に応じてグルーピングするための並び替えユニット、操作対象112の特性に応じて様々に操作対象112を操作(例えば、並び替え、グルーピング、及び/又は移送)のピッキングユニット、操作対象112を収納するためのパレットやラックを移動させる自走式台車ユニット(例えば自動搬送車、無人搬送車等)、又は、それらの任意の組合せを含むことができる。   It should be noted that although the robot system 100 is described herein as an example applied to a transportation center, the robot system 100 may be used in manufacturing, assembly, packaging, healthcare, and / or other types of automation. It should be appreciated that, etc., can be configured to perform work in other environments / for other purposes. It should also be appreciated that the robot system 100 may include other units not shown in FIG. 1, such as manipulators, service robots, modular robots, etc. For example, the robot system 100 may, for example, transfer a target 112 from a cage cart or pallet to a conveyor or other pallet, a pallet unloading unit, and a container switch to transfer the target 112 between containers. A unit, a packaging unit for wrapping the operation target 112, a sorting unit for grouping according to the characteristics of the operation target 112, various operations of the operation target 112 according to the characteristics of the operation target 112 (for example, sorting , Grouping, and / or transfer), a self-propelled carriage unit that moves a pallet or rack for storing the operation target 112 (for example, an automated guided vehicle, an automated guided vehicle, etc.), or any combination thereof. Can be included.

[適切なシステム]
図2は、本開示の一実施形態に係るロボットシステム100のハード構成の一例を示すブロック図である。ロボットシステム100は、例えば、1つ以上のプロセッサ202、1つ以上のストレージデバイス204、1つ以上の通信デバイス206、1つ以上の入力−出力デバイス208、1つ以上の作動デバイス212、1つ以上の移送モータ214、1つ以上のセンサ216、又は、それらの組合せ等の電子又は電気デバイスを備えることができる。それらの様々な電子又は電気デバイスは、有線接続及び/又は無線接続を介して互いに結合することができる。
[Appropriate system]
FIG. 2 is a block diagram showing an example of the hardware configuration of the robot system 100 according to an embodiment of the present disclosure. The robot system 100 may include, for example, one or more processors 202, one or more storage devices 204, one or more communication devices 206, one or more input-output devices 208, one or more actuating devices 212, one. An electronic or electrical device such as the transfer motor 214 above, one or more sensors 216, or a combination thereof may be included. The various electronic or electrical devices can be coupled to each other via wired and / or wireless connections.

また、ロボットシステム100は、例えば、システムバス、周辺部品相互接続(PCI)バス又はPCI−エクスプレスバス、HyperTransport又は産業標準構成(ISA)バス、小型コンピュータシステムインターフェース(SCSI)バス、ユニバーサルシリアルバス(USB)、IIC(I2C)バス、又は電気電子技術者協会(IEEE)規格1394のバス(「Firewire」とも呼ばれる)等のバスを含むことができる。さらに、ロボットシステム100は、例えば、電子又は電気デバイス間の有線接続を提供するための、ブリッジ、アダプタ、コントローラ、又は、他の信号に関するデバイスを含むことができる。また、無線接続は、例えば、セルラ通信プロトコル(例えば、3G、4G、LTE、5G等)、無線ローカルエリアネットワーク(LAN)プロトコル(例えば、忠実な無線通信環境(wireless fidelity(WIFI))、ピアツーピア又はデバイスツーデバイスの通信プロトコル(例えば、Bluetooth(登録商標)、Near−Field通信(NFC)等)、モノのインターネット(IoT)プロトコル(例えば、NB−IoT、LTE−M等)、及び/又は、他の無線通信プロトコルに基づくものとすることができる。   Further, the robot system 100 includes, for example, a system bus, a peripheral component interconnection (PCI) bus or a PCI-express bus, a HyperTransport or an industrial standard configuration (ISA) bus, a small computer system interface (SCSI) bus, a universal serial bus (USB). ), An IIC (I2C) bus, or a Institute of Electrical and Electronics Engineers (IEEE) standard 1394 bus (also referred to as "Firewire"). Further, the robot system 100 can include bridges, adapters, controllers, or other signaling devices, for example, to provide wired connections between electronic or electrical devices. The wireless connection may be, for example, a cellular communication protocol (for example, 3G, 4G, LTE, 5G, etc.), a wireless local area network (LAN) protocol (for example, a faithful wireless communication environment (WIFI)), peer-to-peer or Device-to-device communication protocol (for example, Bluetooth (registered trademark), Near-Field communication (NFC), etc.), Internet of Things (IoT) protocol (for example, NB-IoT, LTE-M, etc.), and / or other It can be based on the wireless communication protocol.

プロセッサ202は、ストレージデバイス204(例えば、コンピュータメモリ)に記憶された命令(例えば、ソフトウェア命令)を実行するように構成されたデータプロセッサ(例えば、中央処理ユニット(CPU)、特定用途のコンピュータ、及び/又はオンボードサーバ)を含むことができる。プロセッサ202は、他のデバイスを制御/相互作用するようにプログラム命令を実施することができ、それにより、ロボットシステム100に、種々の動作、作業、及び/又は操作を含む制御シークエンスを実行させる。   Processor 202 is a data processor (eg, a central processing unit (CPU)) configured to execute instructions (eg, software instructions) stored in storage device 204 (eg, computer memory), a special purpose computer, and And / or an onboard server). The processor 202 can implement program instructions to control / interact with other devices, causing the robotic system 100 to perform control sequences including various actions, tasks, and / or operations.

ストレージデバイス204は、そこに記憶されたプログラム命令(例えば、ソフトウェア)を有する非一時的なコンピュータ読取可能な記録媒体を含むことができる。ストレージデバイス204としては、例えば、揮発性メモリ(例えば、キャッシュ及び/又はランダムアクセスメモリ(RAM))及び/又は不揮発性メモリ(例えば、フラッシュメモリ及び/又は磁気ディスクドライブ)、ポータブルメモリドライブ及び/又はクラウドストレージデバイス等が挙げられる。また、ストレージデバイス204は、処理結果及び/又は所定のデータ/閾値を更に記憶するとともにアクセスを提供するために使用することができ、例えば、操作対象112に関する情報を含むマスターデータ252を記憶することができる。   Storage device 204 may include a non-transitory computer readable recording medium having program instructions (eg, software) stored thereon. Examples of the storage device 204 include, for example, volatile memory (eg, cache and / or random access memory (RAM)) and / or non-volatile memory (eg, flash memory and / or magnetic disk drive), portable memory drive and / or Examples include cloud storage devices. The storage device 204 may also be used to further store and provide access to processing results and / or predetermined data / thresholds, for example, storing master data 252 including information about the manipulated object 112. You can

このマスターデータ252は、操作対象112に関する情報として、例えば、寸法、形状、質量、重心、質量中心の位置、ポーズやアウトラインに関するテンプレート、異なるポーズを認識するためのモデルデータ、在庫管理単位(SKU:Stock Keeping Unit)等、カラースキーム、イメージ、識別情報、ロゴ、操作対象の予期される位置、予期されるセンサによる測定値(例えば、力、トルク、圧力、接触基準値に関する物理量)、又は、それらの組合せ等を含むことができる。   The master data 252 is, for example, the size, shape, mass, center of gravity, position of the center of mass, template regarding poses and outlines, model data for recognizing different poses, stock management unit (SKU: Stock Keeping Unit), etc., color scheme, image, identification information, logo, expected position of operation target, expected sensor measurement value (eg force, torque, pressure, physical quantity related to contact reference value), or those Can be included.

また、ストレージデバイス204は、例えば、操作対象112の追跡データ254を記憶することができる。この追跡データ254には、スキャン又は操作される操作対象のログ、1つ以上の位置(例えば、適宜のスタート位置、作業位置、持ち替え位置等)における操作対象112の撮像データ(例えば、写真、ポイントクラウド、ライブビデオ等)、その1つ以上の位置における操作対象112の位置及び/又はポーズが含まれ得る。   The storage device 204 can also store the tracking data 254 of the operation target 112, for example. The tracking data 254 includes a log of an operation target to be scanned or operated, imaging data of the operation target 112 at one or more positions (for example, an appropriate start position, work position, holding position, etc.) (for example, a photograph, a point). Cloud, live video, etc.), the position and / or pose of the operation target 112 at one or more positions thereof.

通信デバイス206は、例えば、外部又は遠隔のデバイスとネットワークを介して通信するように構成された回路、受信機、送信機、調整器/復調器(モデム)、信号検出器、信号エンコーダ/デコーダ、コネクタポート、ネットワークカード等を含むことができる。また、通信デバイス206は、1つ以上の通信プロトコル(例えば、インターネットプロトコル(IP)、無線通信プロトコル等)に応じて電気信号を送信、受信、及び/又は処理するように構成することができる。ロボットシステム100は、例えば、レポート、データの収集、分析、トラブルシューティング等の適宜の目的のために、各ユニット間での情報の交換や、外部システム又は外部デバイスとの情報の交換をするように、通信デバイス206を使用することができる。   The communication device 206 includes, for example, a circuit, a receiver, a transmitter, a conditioner / demodulator (modem), a signal detector, a signal encoder / decoder, which is configured to communicate with an external or remote device via a network. It can include connector ports, network cards and the like. The communication device 206 can also be configured to send, receive, and / or process electrical signals in response to one or more communication protocols (eg, Internet Protocol (IP), wireless communication protocols, etc.). The robot system 100 exchanges information between units and exchanges information with external systems or devices for appropriate purposes such as reporting, data collection, analysis, and troubleshooting. , The communication device 206 can be used.

入力−出力デバイス208は、操作者からの情報や指示の入力、操作者への情報の通信及び提示等を行うように構成されたユーザインターフェースデバイスとして、例えば、キーボード、マウス、タッチスクリーン、マイク、ユーザインターフェース(UI)センサ(例えば、モーションコマンドを受信するためのカメラ)、ウェアラブル入力デバイス等の入力デバイス、及び、ディスプレイ210、スピーカ、触覚回路、タクティールフィードバックデバイス等の出力デバイスを含むことができる。また、ロボットシステム100は、動作、作業、操作、又はそれらの組合せを実行する際に、入力−出力デバイス208を使用して、操作者と相互の意思疎通を図ることができる。   The input-output device 208 is, for example, a keyboard, a mouse, a touch screen, a microphone, as a user interface device configured to input information and instructions from an operator, communicate and present information to the operator, and the like. It may include a user interface (UI) sensor (eg, a camera for receiving motion commands), an input device such as a wearable input device, and an output device such as a display 210, a speaker, a haptic circuit, a tactile feedback device. The robot system 100 may also use the input-output device 208 to communicate with an operator when performing an action, task, operation, or combination thereof.

ロボットシステム100は、例えば、操作対象112の移動や回転等の変位を含む制御シークエンスを実行するために、リンクやジョイントで接続された物理的又は構造的な部材(例えば、ロボットマニピュレータ、ロボットアーム等。以下単に「構造的部材」という。)を含むことができる。かかる物理的な又は構造的部材、及び、リンクやジョイントは、ロボットシステム100における1つ以上の作業(例えば、把持、回転、溶接、組み立て等)を実行するように構成されたエンドエフェクタ(例えば、グリッパ、ハンド等)を操縦するように構成され得る。また、ロボットシステム100は、ジョイントの周り又はジョイントにおいて、構造的部材を駆動又は操縦(例えば、変位及び/又は再度の方向付け)するように構成された作動デバイス212(例えば、モータ、アクチュエータ、ワイヤ、人工筋、電気活性ポリマ等)、及び、ある位置から別の位置にユニットを移送するように構成された移送モータ214を含むことができる。   The robot system 100 includes, for example, a physical or structural member (for example, a robot manipulator, a robot arm, or the like) connected by a link or a joint in order to execute a control sequence including displacement such as movement or rotation of the operation target 112. Hereinafter, simply referred to as "structural member"). Such physical or structural members and links or joints may be end effectors (eg, gripping, rotating, welding, assembling, etc.) configured to perform one or more tasks in the robotic system 100 (eg, Grippers, hands, etc.). The robot system 100 also includes an actuation device 212 (eg, motor, actuator, wire) configured to drive or steer (eg, displace and / or reorient) structural members around or at the joint. , Artificial muscles, electroactive polymers, etc.) and a transfer motor 214 configured to transfer the unit from one location to another.

また、ロボットシステム100は、構造的部材を操縦し、及び/又は、ユニットを移送する等の作業を実施するために使用される情報を取得するように構成されたセンサ216を含むことができる。センサ216は、ロボットシステム100の1つ以上の物理的特性(例えば、1つ以上の構造的部材、リンク又はジョイントの状態、条件、位置等)、及び/又は、周囲の環境の特性を検出又は測定するように構成されたデバイス、例えば、加速度計、ジャイロスコープ、力センサ、ひずみゲージ、タクティールセンサ、トルクセンサ、位置エンコーダ等を含むことができる。   The robot system 100 can also include sensors 216 configured to obtain information used to steer structural members and / or perform operations such as transferring units. The sensor 216 detects or detects one or more physical properties of the robot system 100 (eg, one or more structural members, link or joint conditions, conditions, positions, etc.) and / or properties of the surrounding environment. It may include devices configured to measure, such as accelerometers, gyroscopes, force sensors, strain gauges, tactile sensors, torque sensors, position encoders and the like.

さらに、センサ216は、周囲の環境を検出するように構成された1つ以上の撮像デバイス222(例えば、可視及び/又は赤外カメラ、2次元及び/又は3次元の撮像カメラ、ライダー又はレーダー等の距離測定デバイス等)を含むことができる。撮像デバイス222は、例えば、自動検査、ロボットのガイダンス、他のロボットのアプリケーションのための視覚情報を得るために、デジタル画像及び/又はポイントクラウド等の検出環境の表示を生成することができる。   Further, the sensor 216 may include one or more imaging devices 222 (eg, visible and / or infrared cameras, two-dimensional and / or three-dimensional imaging cameras, lidars, radars, etc.) configured to detect the surrounding environment. Distance measuring device, etc.) can be included. The imaging device 222 may generate a display of the detection environment, such as a digital image and / or a point cloud, to obtain visual information for automated inspection, robot guidance, and other robot applications, for example.

また、ロボットシステム100は、例えば、プロセッサ202を介して、デジタル画像、ポイントクラウド、測距データ等を処理し、図1の操作対象112、図1のスタート位置114、図1の作業位置116、スタート位置114及び作業位置116間の持ち替え位置118、操作対象112のポーズ、スタート位置114等における操作対象のポーズに関する信頼基準、操作対象112の高さに関する信頼基準、又は、それらの組合せを識別することができる。   Further, the robot system 100 processes a digital image, a point cloud, distance measurement data, and the like via, for example, the processor 202, and the operation target 112 of FIG. 1, the start position 114 of FIG. 1, the work position 116 of FIG. The holding position 118 between the start position 114 and the work position 116, the pose of the operation target 112, the confidence criterion regarding the pose of the operation subject at the start position 114, the confidence criterion regarding the height of the operation subject 112, or a combination thereof is identified. be able to.

さらに、ロボットシステム100は、操作対象112を操作するために、指定されたエリア(例えば、トラック内又はベルトコンベヤ上等のピックアップエリア、ベルトコンベヤ上に操作対象112を配置するためのドロップエリア、操作対象112を持ち替えるためのエリア、コンテナ内に操作対象を配置するためのエリア、操作対象112を積み付けるためのパレット上のエリア等)の画像を、様々なユニットを介して取得及び分析して、操作対象112、そのスタート位置114、その作業位置116、持ち替え位置118等を識別することができる。また、撮像デバイス222は、例えば、ピックアップエリア、ドロップエリア、及び、それらの間に設定された操作対象112を持ち替えるためのエリア等の画像を生成するように構成された1つ以上のカメラを含むことができる。   Further, the robot system 100 operates the operation target 112 in a designated area (for example, a pickup area in a truck or on a belt conveyor, a drop area for arranging the operation target 112 on the belt conveyor, an operation area). An image of an area for holding the target 112, an area for arranging the operation target in the container, an area on a pallet for stacking the operation target 112, etc.) is acquired and analyzed through various units, The operation target 112, its start position 114, its work position 116, the holding position 118, etc. can be identified. The imaging device 222 also includes, for example, one or more cameras configured to generate images such as a pickup area, a drop area, and an area for holding the operation target 112 set therebetween. be able to.

また、撮像デバイス222は、持ち替え位置118よりも上流側(前段階)において、例えば、所定位置で支持されている操作対象112までの距離を測定するように構成されたライダー又はレーダー等の1つ以上の距離測定デバイスを含むことができる。ロボットシステム100は、取得された画像及び/又は測距データに基づき、スタート位置114、作業位置116、持ち替え位置118、関連するポーズ、操作対象112の実際の高さ、、信頼基準等を判定することができる。   In addition, the imaging device 222 is one of a rider, a radar, and the like configured to measure the distance to the operation target 112 supported at a predetermined position on the upstream side (previous stage) of the holding position 118. The above distance measuring device can be included. The robot system 100 determines a start position 114, a work position 116, a holding position 118, a related pose, an actual height of the operation target 112, a confidence standard, and the like based on the acquired image and / or distance measurement data. be able to.

また、撮像デバイス222は、操作対象112のスキャンを行うために、操作対象の輸送又は移動の間、例えば、スタート位置114と作業位置116(好ましくは持ち替え位置118の前段階)との間に操作対象112の識別情報(例えば、後述する図3A及び/又は図3Cの識別子332)をスキャンするように構成された1つ以上のスキャナ412,416(例えば、バーコードスキャナ、QRコードスキャナ(登録商標)等:後述する図4A及び図4B参照)を含むことができる。そして、ロボットシステム100は、1つ以上のスキャナ412に対し、操作対象112の1つ以上の部分を提供するための制御シークエンスを作成又は取得することができる。   In addition, the imaging device 222 operates in order to scan the operation target 112 during transportation or movement of the operation target, for example, between the start position 114 and the work position 116 (preferably before the holding position 118). One or more scanners 412, 416 (eg, bar code scanners, QR code scanners (registered trademark)) configured to scan the identification information of the target 112 (eg, identifier 332 of FIGS. 3A and / or 3C described below). ) Etc .: See FIG. 4A and FIG. 4B described later). Then, the robot system 100 can create or obtain a control sequence for providing one or more portions of the operation target 112 to the one or more scanners 412.

さらにセンサ216は、例えば、構造的部材やリンク又はジョイントの位置を検出するように構成された位置センサ224(例えば、位置エンコーダ、ポテンショメータ等)を含むことができる。この位置センサ224は、作業の実行の間、構造的部材やリンク又はジョイントの位置及び/又は向きを追跡するために使用され得る。   Further, the sensor 216 may include, for example, a position sensor 224 (eg, position encoder, potentiometer, etc.) configured to detect the position of structural members or links or joints. The position sensor 224 may be used to track the position and / or orientation of structural members or links or joints during the performance of work.

また、センサ216は、例えば、物理的構造又は表面間の直接の接触に関連する特性を測定するように構成された接触センサ226(例えば、圧力センサ、力センサ、ひずみゲージ、圧電抵抗性/圧電性センサ、容量性センサ、弾性抵抗性センサ、他のタクティールセンサ等)を含むことができる。接触センサ226は、操作対象112のエンドエフェクタの把持に対応する特性を測定することができる。これにより、接触センサ226は、エンドエフェクタと操作対象112との間の接触の程度に対応する定量化された測定値(例えば、測定された力、トルク、位置等)を示す接触基準を出力することができる。ここで、「接触基準」は、例えば、エンドエフェクタによって操作対象112に印加された力に関する1つ以上の力又はトルクの読取り値を含むことができる。   Also, the sensor 216 may include, for example, a contact sensor 226 (eg, pressure sensor, force sensor, strain gauge, piezoresistive / piezoresistive / piezoresistive sensor configured to measure properties associated with direct contact between physical structures or surfaces). Sensors, capacitive sensors, elastic resistance sensors, other tactile sensors, etc.). The contact sensor 226 can measure a characteristic corresponding to the grip of the end effector of the operation target 112. Thereby, the contact sensor 226 outputs a contact reference indicating a quantified measurement value (for example, measured force, torque, position, etc.) corresponding to the degree of contact between the end effector and the operation target 112. be able to. Here, the “contact reference” can include, for example, one or more force or torque readings related to the force applied to the actuated object 112 by the end effector.

[最初のポーズに関する信頼基準の判定]
図3A、図3B、及び図3Cは、それぞれ、操作対象302の様々なポーズ(位置及び向き)の一例として、第1のポーズ312、第2のポーズ314、及び第3のポーズ316を模式的に示す斜視図である。ロボットシステム100は、操作対象302のポーズを識別するために、例えば、撮像デバイス222からの2次元画像、3次元画像、ポイントクラウド、及び/又は他の撮像データを処理することができる。また、ロボットシステム100は、例えば、操作対象302の最初のポーズを識別するために、ピックアップエリアに向けられた1つ以上の撮像デバイス222による撮像データを分析することができる。
[Judgment of trust criteria for the first pose]
3A, 3B, and 3C schematically illustrate a first pose 312, a second pose 314, and a third pose 316 as examples of various poses (positions and orientations) of the operation target 302. It is a perspective view shown in FIG. The robot system 100 can process, for example, a 2D image, a 3D image, a point cloud, and / or other imaging data from the imaging device 222 to identify a pose of the manipulation target 302. The robot system 100 can also analyze imaging data from one or more imaging devices 222 directed to the pickup area, for example, to identify the initial pose of the operation subject 302.

ロボットシステム100は、操作対象302のポーズを識別するために、まず、所定の認識メカニズム、認識ルール、及び/又は、ポーズやアウトラインに関するテンプレートに基づいて、撮像データにおける操作対象302のパターン画像を分析し、操作対象302のアウトライン(例えば、周囲の縁部又は表面)を識別し、又は、それをグルーピングすることができる。より具体的には、ロボットシステム100は、例えば、マスターデータ252におけるアウトラインやポーズのテンプレートに基づいて、操作対象のアウトラインにわたり、色、輝度、深さ/位置、及び/又は、それらの組合せやそれらの値の変化におけるパターン(例えば、同じ値であるか、既知の割合/パターンで変化するか等)に対応するアウトラインのグループピングを識別することができる。   In order to identify the pose of the operation target 302, the robot system 100 first analyzes a pattern image of the operation target 302 in the imaging data based on a predetermined recognition mechanism, a recognition rule, and / or a template regarding a pose and an outline. However, the outline (for example, the peripheral edge or surface) of the operation target 302 can be identified, or it can be grouped. More specifically, the robot system 100, for example, based on the outline or pose template in the master data 252, color, brightness, depth / position, and / or a combination thereof, and the like over the outline to be operated. It is possible to identify the grouping of the outlines that correspond to the pattern in the change in the value of (e.g., the same value, change in a known ratio / pattern, etc.).

操作対象302のアウトラインがグルーピングされると、ロボットシステム100は、ロボットシステム100で使用されるグリッド又は座標系において、例えば、操作対象302の1つ以上の表面、縁部、及び/又は、ポイント、並びに、ポーズを識別することができる。   When the outlines of the operation target 302 are grouped, the robot system 100 may, for example, one or more surfaces, edges, and / or points of the operation target 302 in a grid or coordinate system used in the robot system 100. Also, the pose can be identified.

また、ロボットシステム100は、撮像データ内の操作対象302の1つ以上の露出表面(例えば、第1の露出表面304、第2の露出表面306等)を識別することができる。さらにロボットシステム100は、例えば、操作対象302のアウトライン及び較正に係る撮像データ、又は、撮像デバイス222に関するマッピングデータから、操作対象302のアウトラインの形状、1つ以上の複数の寸法(例えば、長さ、幅、及び/又は高さ)を判定し、判定された寸法をマスターデータ252内の対応するデータと比較して、操作対象302を識別することができる。さらに、ロボットシステム100は、露出表面の寸法が識別された操作対象302の長さ、幅、及び高さに基づいて、その露出表面が頂部表面322底部表面324、及び外周表面326の何れに該当するかを識別することができる。   The robot system 100 can also identify one or more exposed surfaces (eg, the first exposed surface 304, the second exposed surface 306, etc.) of the manipulation target 302 in the imaging data. Further, the robot system 100 uses, for example, the outline of the operation target 302 and the imaging data relating to the calibration, or the mapping data of the imaging device 222 to determine the shape of the outline of the operation target 302, one or more dimensions (for example, the length). , Width, and / or height) and compare the determined dimensions with corresponding data in the master data 252 to identify the operation target 302. Further, the robot system 100 determines whether the exposed surface corresponds to the top surface 322, the bottom surface 324, or the outer peripheral surface 326 based on the length, width, and height of the operation target 302 whose exposed surface dimensions are identified. Can be identified.

また、ロボットシステム100は、例えば、1つ以上の露出表面に表示された1つ以上のマーキング(例えば、文字、数、形状、可視画像、ロゴ、又はそれらの組合せ)をマスターデータ252内の1つ以上の所定の画像と比較することにより、操作対象302を識別することができる。この場合、マスターデータ252は、例えば、操作対象302のパッケージ表面上の製品名、ロゴ、デザイン/画像、又はそれらの組合せの1つ以上の画像を含むことができる。また、ロボットシステム100は、撮像データの一部(例えば、操作対象302のアウトライン内の部分)を、マスターデータ252と比較して、操作対象302を識別し、また、同様に、表面に特有の所定の画像パターンに基づいて、操作対象302のポーズ(特に向き)を識別することができる。   The robot system 100 may also include, for example, one or more markings (eg, letters, numbers, shapes, visible images, logos, or combinations thereof) displayed on one or more exposed surfaces in the master data 252. The operation target 302 can be identified by comparing with one or more predetermined images. In this case, the master data 252 may include, for example, one or more images of a product name, logo, design / image, or a combination thereof on the package surface of the operation target 302. The robot system 100 also compares a portion of the imaged data (eg, the portion within the outline of the operation target 302) with the master data 252 to identify the operation target 302, and likewise, is unique to the surface. The pose (particularly the orientation) of the operation target 302 can be identified based on the predetermined image pattern.

ここで、図3Aは、第1の露出表面304(例えば、上を向いた露出表面)が、操作対象302の頂部表面322であり、第2の露出表面306(例えば、概して撮像データのソースに向いた露出表面)が操作対象302の外周表面326の1つである場合の第1のポーズ312を示している。   Here, in FIG. 3A, the first exposed surface 304 (eg, the exposed surface facing up) is the top surface 322 of the operation target 302, and the second exposed surface 306 (eg, generally as a source of imaging data). The first pose 312 is shown when the exposed exposed surface) is one of the outer peripheral surfaces 326 of the operation target 302.

露出表面の識別において、ロボットシステム100は、図3Aの撮像データを処理して、第1の露出表面304及び/又は第2の露出表面306の寸法(例えば、ピクセル数)の測定値を所定の較正又はマッピング機能を使用して、現実世界の寸法にマッピングすることができる。また、ロボットシステム100は、マッピングされた寸法を、マスターデータ252内の既知の/予期される操作対象302の寸法と比較し、その結果に基づいて、操作対象302を識別することができる。さらに、ロボットシステム100は、第1の露出表面304の境界を定める一対の交差する縁部が、識別された操作対象302の長さ及び幅にマッチすることから、第1の露出表面304が、頂部表面322であるか底部表面324であるかを識別することができる。同様に、ロボットシステム100は、第2の露出表面306を規定する縁部の1つが、識別された操作対象302の高さにマッチすることから、第2の露出表面306を外周表面326として識別することができる。   In identifying exposed surfaces, the robotic system 100 processes the imaging data of FIG. 3A to determine a measurement of the dimensions (eg, number of pixels) of the first exposed surface 304 and / or the second exposed surface 306. Calibration or mapping functions can be used to map to real world dimensions. The robot system 100 can also compare the mapped dimensions to the known / expected dimensions of the manipulated object 302 in the master data 252 and identify the manipulated object 302 based on the results. Further, the robot system 100 ensures that the pair of intersecting edges that bound the first exposed surface 304 match the length and width of the identified manipulation target 302, so that the first exposed surface 304 is It can be identified whether it is the top surface 322 or the bottom surface 324. Similarly, the robot system 100 identifies the second exposed surface 306 as the outer peripheral surface 326 because one of the edges defining the second exposed surface 306 matches the height of the identified operation target 302. can do.

また、ロボットシステム100は、図3Aの撮像データを処理して、操作対象302の表面に特有な1つ以上のマーキングを識別することができる。この場合、マスターデータ252は、上述のような操作対象302の表面及び/又は特有のマーキングの1つ以上の画像及び/又は他の視覚的特性(例えば、色、寸法、サイズ等)を含むことができる。図3Aに示すように、操作対象302が頂部表面322に「A」を有することから、ロボットシステム100は、操作対象302をマスターデータ252に記憶されている操作対象として識別することができ、さらに、第1の露出表面304を操作対象302の頂部表面322として識別することができる。   The robot system 100 can also process the imaging data of FIG. 3A to identify one or more markings unique to the surface of the manipulation target 302. In this case, the master data 252 includes one or more images and / or other visual characteristics (eg, color, size, size, etc.) of the surface and / or unique markings of the manipulation target 302 as described above. You can As shown in FIG. 3A, since the operation target 302 has “A” on the top surface 322, the robot system 100 can identify the operation target 302 as the operation target stored in the master data 252. , The first exposed surface 304 can be identified as the top surface 322 of the operation target 302.

またマスターデータ252は、操作対象302の識別情報としての識別子332を含むことができる。より具体的には、マスターデータ252は、操作対象302の識別子332の画像及び/又はコード化されたメッセージ、表面及び/又は縁部のセットに対する識別子332の位置334、それらの1つ以上の視覚的特性、又はそれらの組合せを含むことができる。図3Aに示すように、ロボットシステム100は、第2の露出表面306を、識別子332の存在、及び/又は、識別子332の位置334にマッチするそれらの位置に基づき、外周表面326として識別することができる。   Further, the master data 252 can include an identifier 332 as identification information of the operation target 302. More specifically, the master data 252 includes an image of the identifier 332 of the operation target 302 and / or a coded message, a position 334 of the identifier 332 with respect to a set of surfaces and / or edges, one or more visuals thereof. Characteristics, or a combination thereof. As shown in FIG. 3A, the robot system 100 identifies the second exposed surface 306 as a peripheral surface 326 based on the presence of the identifier 332 and / or their position matching the position 334 of the identifier 332. You can

また、図3Bは、操作対象302が図3Aの方向Bに沿う垂直軸周りに90度回転した第2のポーズ314を示している。例えば、操作対象302の基準ポイント「α」は、図3Aの左下の角、及び、図3Bの右下の角とすることができる。従って、第1のポーズ312との比較において、操作対象302の頂部表面322は、撮像データにおいて異なる向きとして認識され、及び/又は、識別子332を有する操作対象302の外周表面326は視認されない。   3B shows the second pose 314 in which the operation target 302 is rotated 90 degrees about the vertical axis along the direction B in FIG. 3A. For example, the reference point “α” of the operation target 302 can be the lower left corner of FIG. 3A and the lower right corner of FIG. 3B. Therefore, in comparison with the first pose 312, the top surface 322 of the operation target 302 is recognized as a different orientation in the imaging data and / or the outer peripheral surface 326 of the operation target 302 having the identifier 332 is not visible.

ロボットシステム100は、1つ以上の視覚的特徴の識別子332の特定の向きに基づいて、操作対象302の様々なポーズを識別することができる。例えば、操作対象302の既知の長さにマッチする寸法が撮像データにおいて水平に延び、操作対象302の既知の高さにマッチする寸法が撮像データにおいて垂直に延び、及び/又は、操作対象302の既知の幅にマッチする寸法が撮像データにおいて深さの軸に沿って延びる場合、第1のポーズ312及び/又は第3のポーズ316を判定することができる。同様に、ロボットシステム100は、幅にマッチする寸法が撮像データにおいて水平に延び、高さにマッチする寸法が撮像データにおいて垂直に延び、及び/又は、長さにマッチする寸法が撮像データにおいて深さの軸に沿って延びる場合に、第2のポーズ314を判定することができる。   The robot system 100 can identify various poses of the manipulation target 302 based on the particular orientation of the one or more visual feature identifiers 332. For example, a dimension matching a known length of the operation target 302 extends horizontally in the imaging data, a dimension matching a known height of the operation target 302 extends vertically in the imaging data, and / or a dimension of the operation target 302. The first pose 312 and / or the third pose 316 can be determined if a dimension that matches a known width extends along the depth axis in the imaging data. Similarly, the robot system 100 has a width-matching dimension that extends horizontally in the imaging data, a height-matching dimension that extends vertically in the imaging data, and / or a length-matching dimension that extends deep in the imaging data. The second pose 314 can be determined if it extends along the length axis.

また、ロボットシステム100は、例えば、図3A及び図3Bに示す「A」等の視覚的マーキングの向きに基づいて、操作対象302が、第1のポーズ312又は第2のポーズ314にあることを判定することができる。さらに、ロボットシステム100は、例えば、操作対象302の識別子332がマーキング「A」を伴って(すなわち、異なる表面上で)視認される場合等、各表面の組合せにおいて視認されるべき視覚的マーキングに基づいて、操作対象302が第1のポーズ312内にあることを判定することができる。   In addition, the robot system 100 determines that the operation target 302 is in the first pose 312 or the second pose 314 based on the direction of the visual marking such as “A” shown in FIGS. 3A and 3B. Can be determined. In addition, the robot system 100 provides visual markings that should be visible on each surface combination, such as when the identifier 332 of the operational object 302 is viewed with the marking “A” (ie, on different surfaces). Based on this, it can be determined that the operation target 302 is in the first pose 312.

さらに、図3Cは、操作対象302が図3Aの方向Cに沿う水平軸周りに180度回転した第3のポーズ316を示している。例えば、操作対象302の基準ポイント「α」は、図3Aの左下前方の角、及び、図3Cの左上後方の角とすることができる。従って、第1のポーズ312との比較において、第1の露出表面304は、操作対象の底部表面324であり、また、操作対象302の識別子332を有する頂部表面322及び外周表面326の両方は視認されない。   Further, FIG. 3C shows the third pose 316 in which the operation target 302 is rotated 180 degrees about the horizontal axis along the direction C in FIG. 3A. For example, the reference point “α” of the operation target 302 can be the lower left front corner of FIG. 3A and the upper left rear corner of FIG. 3C. Therefore, in comparison to the first pose 312, the first exposed surface 304 is the bottom surface 324 of the operation target, and both the top surface 322 and the outer peripheral surface 326 having the identifier 332 of the operation target 302 are visible. Not done.

上述のようにして、ロボットシステム100は、画像データから判定される寸法に基づいて、操作対象302が第1のポーズ312又は第3のポーズ316にあることを識別することができ、頂部表面322のマーカ(例えば、「A」)が可視である場合、操作対象302が第1のポーズ312にあることを識別することができる。また、ロボットシステム100は、底部表面のマーカ(例えば、操作対象の識別子332の例)が視認される場合、操作対象302が第3のポーズ316にあることを識別することができる。   As described above, the robot system 100 can identify that the operation target 302 is in the first pose 312 or the third pose 316 based on the dimensions determined from the image data, and the top surface 322. When the marker (eg, “A”) is visible, it is possible to identify that the operation target 302 is in the first pose 312. Further, the robot system 100 can identify that the operation target 302 is in the third pose 316 when the marker on the bottom surface (for example, the example of the operation target identifier 332) is visually recognized.

また、操作対象302のポーズを判定する際、現実世界の状況が、判定の正確さに影響する場合がある。例えば、光の状況が、反射及び/又は陰影に起因する等して、表面のマーキングの視認性を低下させる場合がある。さらに、操作対象302の実際の向きによっては、1つ以上の表面の露出又は視認角度が低減される場合があり、それにより、表面上のいずれのマーキングも、識別不能となる場合が生じ得る。従って、ロボットシステム100は、判定された操作対象302のポーズに関する信頼基準を計算することができる。   Further, when determining the pose of the operation target 302, the situation in the real world may affect the accuracy of the determination. For example, the visibility of the marking on the surface may be reduced due to, for example, reflection and / or shading of the light conditions. Furthermore, the actual orientation of the manipulator 302 may reduce the exposure or viewing angle of one or more surfaces, which may cause any markings on the surface to be indistinguishable. Therefore, the robot system 100 can calculate the confidence criterion regarding the pose of the determined operation target 302.

また、ロボットシステム100は、撮像データにおける画像内の寸法測定に係る確実性の間隔(インターバル)に基づいて、信頼基準を計算することができる。この場合、確実性の間隔は、操作対象302と撮像元(例えば、撮像デバイス222)との間の距離が減少するにつれて、及び/又は、操作対象302の測定された縁部が撮像元から放射する方向に対して直交する方向に近くなるにつれて、放射方向に対して平行な方向から離れる場合に増大し得る。さらに、ロボットシステム100は、例えば、撮像データにおけるマーカ又はデザインと、マスターデータ252における既知のマーカ/デザインとの間のマッチの程度に基づいて、信頼基準を計算することができる。またさらに、ロボットシステム100は、撮像データの少なくとも一部と、所定のマーカ/画像との間の、重複又は逸脱の程度を測定することができる。   In addition, the robot system 100 can calculate the confidence criterion based on the certainty interval related to the dimension measurement in the image in the captured data. In this case, the certainty interval may vary as the distance between the manipulation target 302 and the imaging source (eg, the imaging device 222) decreases, and / or the measured edge of the manipulation target 302 may radiate from the imaging source. It may increase as it moves away from the direction parallel to the radial direction as it approaches the direction orthogonal to the direction of rotation. Further, the robot system 100 can calculate a confidence metric, for example, based on the degree of match between the marker or design in the imaging data and the known marker / design in the master data 252. Furthermore, the robot system 100 can measure the degree of overlap or deviation between at least a part of the imaging data and a predetermined marker / image.

この場合、ロボットシステム100は、最小平均自乗誤差(MMSE)のメカニズムに関するもの等、もっとも大である重複、及び/又は、もっとも少ない逸脱の測定に従って、操作対象302及び/又はその向きを識別することができ、さらにまた、得られる重複/逸脱の程度に基づいて、信頼基準を計算することができる。そして、ロボットシステム100は、得られた信頼基準に基づいて、制御シークエンスにおける操作対象302の移動経路を計算することができ、換言すればと、ロボットシステム100は、得られた信頼基準に基づいて、操作対象302を適宜移動させることができる。   In this case, the robotic system 100 identifies the manipulator 302 and / or its orientation according to the measurement of the largest overlap and / or the smallest deviation, such as for the least mean squared error (MMSE) mechanism. Furthermore, a confidence criterion can be calculated based on the degree of overlap / deviation obtained. Then, the robot system 100 can calculate the movement path of the operation target 302 in the control sequence based on the obtained reliability standard. In other words, the robot system 100 can calculate the movement path based on the acquired reliability standard. The operation target 302 can be appropriately moved.

[システム操作]
図4Aは、本開示の一実施形態に係るロボットシステム100によって実行される例示的作業402を示す上面図である。上述のように、作業402は、ロボットシステム100によって実行される(例えば、図1に示すユニット等によって実行される)制御シークエンスの一例である。図4Aに示すように、例えば、作業402は、操作対象112を、スタート位置114を含むピックアップエリアから、持ち替え位置118を経由して、作業位置116を含むドロップエリアに移動すること、スタート位置114から作業位置116に移動する間に操作対象112をスキャンすること、及び、持ち替え位置118において操作対象112を持ち替える(把持位置を変更する)ことを含むことができる。これにより、ロボットシステム100は、操作対象112の追跡データ254にスキャンされた操作対象112を追加し、追跡データ254から操作対象112を除去し、及び/又は、操作対象112を評価する等により、追跡データ254を随時アップデートすることができる。
[System operation]
FIG. 4A is a top view illustrating an exemplary operation 402 performed by the robot system 100 according to one embodiment of the present disclosure. As mentioned above, task 402 is an example of a control sequence performed by robot system 100 (eg, performed by the units such as shown in FIG. 1). As shown in FIG. 4A, for example, in the work 402, the operation target 112 is moved from the pickup area including the start position 114 to the drop area including the work position 116 via the holding position 118. Scanning the operation target 112 while moving from the work position to the work position 116 and changing the operation target 112 (changing the grip position) at the holding position 118 can be included. Thereby, the robot system 100 adds the scanned operation target 112 to the tracking data 254 of the operation target 112, removes the operation target 112 from the tracking data 254, and / or evaluates the operation target 112. The tracking data 254 can be updated at any time.

また、ロボットシステム100は、スタート位置114を識別及び/又は特定するために、ピックアップエリア(より具体的には、例えば、部品調達用のパレット又は大箱に関して指定されたエリア、及び/又は、ベルトコンベヤの受領側の領域等)を撮像するようにためのピックアップエリアに向けられた3Dビジョン等のスキャナ412(撮像デバイス222の一例)を含むことができ、これにより、指定されたエリアの撮像データを取得することができる。そして、ロボットシステム100は、例えばプロセッサ202を介して、指定されたエリアに位置する様々な操作対象112を識別するために、撮像データのコンピュータによる画像処理(視野処理)を実施することができる。   The robot system 100 also uses a pickup area (more specifically, for example, a designated area for a pallet or bin for parts procurement and / or a belt) to identify and / or identify the start position 114. It may include a scanner 412 (an example of an imaging device 222) such as a 3D vision aimed at a pick-up area for imaging the conveyor receiving area, etc., whereby imaging data of a designated area is obtained. Can be obtained. Then, the robot system 100 can perform image processing (visual field processing) by the computer on the imaged data in order to identify the various operation targets 112 located in the designated area via the processor 202, for example.

また、ロボットシステム100は、認識された操作対象112のなかから、作業402を実行するための操作対象112を、例えば、所定の選択基準、及び/又は、選択ルール、及び/又は、ポーズやアウトラインに関するテンプレートに基づいて)、選択し、その操作対象112に関し、スタート位置114及び/又は最初のポーズを判定するために、撮像データをさらに処理することができる。   Further, the robot system 100 selects the operation target 112 for executing the work 402 from among the recognized operation targets 112, for example, a predetermined selection criterion and / or a selection rule and / or a pose or an outline. Imaging data can be further processed to determine a start position 114 and / or an initial pose for the selected and manipulated object 112).

ロボットシステム100は、作業位置116及び持ち替え位置118を識別及び/又は特定するために、ドロップエリア及び別の所定のエリア(より具体的には、例えば、並び替えされたパレット又は大箱、及び/又は、ベルトコンベヤの送り側の領域に関して指定されたエリア等)を撮像するようにそれらのエリアに向けられた別のスキャナ416(撮像デバイス222の一例)を含むことができ、これにより、指定されたエリアの撮像データを取得することができる。そして、ロボットシステム100は、例えばプロセッサ202を介して、操作対象112を配置するための作業位置116、持ち替え位置118、及び/又は、操作対象112のポーズを識別するために、撮像データのコンピュータによる画像処理(視野処理)を実施することができる。また、ロボットシステム100は、複数の操作対象112を積載及び/又は配置するための所定の基準又はルールに基づいて、作業位置116及び持ち替え位置118を(撮像結果に基づくか、又は、撮像結果に基づくことなく)、識別及び選定することができる。   The robot system 100 may identify a drop area and another predetermined area (more specifically, for example, a sorted pallet or bin, and / or the like) in order to identify and / or identify the work position 116 and the holding position 118. Alternatively, it may include another scanner 416 (one example of imaging device 222) that is directed to image areas (such as areas designated with respect to the area on the feed side of the belt conveyor), whereby It is possible to acquire image pickup data of a different area. Then, the robot system 100 uses the computer of the imaging data to identify the work position 116 for placing the operation target 112, the holding position 118, and / or the pose of the operation target 112 via the processor 202, for example. Image processing (visual field processing) can be performed. Further, the robot system 100 determines the work position 116 and the holding position 118 (based on the imaging result or the imaging result based on a predetermined standard or rule for loading and / or arranging the plurality of operation targets 112). Can be identified and selected.

ここで、スキャナ416は、それに隣接し(例えば、対応するスキャナ(複数可)の高さに対応する高さにある)且つ垂直に向けられた操作対象112の表面上にあるマークをスキャンするように、水平方向向かって配置することができる。また、スキャナ416は、それの上/下にあり且つ水平に向いた操作対象112の表面上にあるマークをスキャンするように、垂直方向に向かって配置することもできる。さらに、スキャナ416は、スキャナ416間に置かれた操作対象112の両側をスキャンすることができるように、互いに対抗して配置することもできる。   Here, the scanner 416 is configured to scan a mark on the surface of the manipulator 112 that is adjacent to it (eg, at a height corresponding to the height of the corresponding scanner (s)) and is vertically oriented. It can be arranged horizontally. The scanner 416 may also be vertically oriented so as to scan the marks above / below it and on the surface of the operation target 112 facing horizontally. Further, the scanners 416 may be arranged opposite to each other so that both sides of the operation target 112 placed between the scanners 416 can be scanned.

また、ロボットシステム100は、スキャナ416の位置及び/又はスキャン方向に従って、操作対象112を提供位置に置くように、及び/又は、操作対象112の1つ以上の表面/部分をスキャナ416でスキャンすることができるように、操作対象112を操作することができる。さらに、ロボットシステム100は、例えば、スキャナ416でスキャンされており、かつ、その支持位置が既知である操作対象112の底部表面324の高さ位置を測定するように構成された撮像デバイス222を含むことができる(図4B参照)。   The robot system 100 also positions the operation target 112 at the providing position and / or scans one or more surfaces / portions of the operation target 112 with the scanner 416 according to the position and / or scanning direction of the scanner 416. As described above, the operation target 112 can be operated. Further, the robot system 100 includes an imaging device 222 configured to measure the height position of the bottom surface 324 of the operation target 112, which is scanned by the scanner 416 and whose support position is known, for example. (See FIG. 4B).

こうして識別されたスタート位置114、持ち替え位置118、及び/又は作業位置116を使用して、ロボットシステム100は、作業402を実行するために、各ユニットの1つ以上の構造的部材(例えば、ロボットアーム414及び/又はエンドエフェクタ)を操作することができる。従って、ロボットシステム100は、例えばプロセッサ202を介して、作業402を実行するために対応するユニットによって実施される1つ以上の動作に対応する制御シークエンスを作成又は取得することができる。   Using the start position 114, the pick-up position 118, and / or the work position 116 thus identified, the robot system 100 performs one or more structural members (eg, robots) of each unit to perform the work 402. The arm 414 and / or the end effector) can be manipulated. Accordingly, the robot system 100 can create or obtain a control sequence corresponding to one or more actions performed by the corresponding unit to perform the task 402, eg, via the processor 202.

例えば、移送ユニット104に関する制御シークエンスは、アプローチ位置(例えば、操作対象112を把持するためのエンドエフェクタを配置するための位置/場所)にエンドエフェクタを配置すること、操作対象112を把持すること、操作対象112を持ち上げること、操作対象112をスタート位置114の上からスキャン操作のための提供位置/ポーズに移動すること、操作対象112を持ち替え位置118で持ち替える(把持位置を変更する)こと、操作対象112をスタート位置114から、必要に応じて持ち替え位置118を経由して、作業位置116の上に移動すること、操作対象112を下げること、及び、操作対象112の把持を解放することを含むことができる。   For example, the control sequence for the transfer unit 104 includes placing the end effector in an approach position (eg, a position / place for placing the end effector for gripping the manipulation target 112), gripping the manipulation target 112, Lifting the operation target 112, moving the operation target 112 from above the start position 114 to a provision position / pause for scan operation, holding the operation target 112 at the holding position 118 (changing the gripping position), and operating Including moving the object 112 from the start position 114, optionally via the holding position 118, to the work position 116, lowering the operation target 112, and releasing the grip of the operation target 112. be able to.

また、ロボットシステム100は、ロボットアーム414及び/又はエンドエフェクタを操作する1つ以上の作動デバイス212のためのコマンド及び/又は設定のシークエンスを判定することにより、制御シークエンスを作成又は取得することができる。この場合、ロボットシステム100は、例えば、プロセッサ202を使用して、エンドエフェクタをスタート位置114周りのアプローチ位置に置き、エンドエフェクタで操作対象112を把持し、エンドエフェクタをスキャン位置や持ち替え位置118周りのアプローチ位置に置き、エンドエフェクタを作業位置116周りのアプローチ位置に置き、操作対象112をエンドエフェクタから解放するように、エンドエフェクタ及びロボットアーム414を操縦するための作動デバイス212のコマンド及び/又は設定を計算することができる。これにより、ロボットシステム100は、コマンド及び/又は設定の判定された制御シークエンスに従って作動デバイス212を操作することにより、作業402を完了するための操作を実行することができる。   The robot system 100 may also create or obtain a control sequence by determining a sequence of commands and / or settings for one or more actuating devices 212 that operate the robot arm 414 and / or the end effector. it can. In this case, the robot system 100 uses, for example, the processor 202 to place the end effector at the approach position around the start position 114, grip the operation target 112 with the end effector, and move the end effector around the scan position or the holding position 118. Of the actuation device 212 for manipulating the end effector and the robot arm 414 to position the end effector around the working position 116 and release the actuated object 112 from the end effector. Settings can be calculated. This allows the robot system 100 to perform an operation to complete the task 402 by operating the actuating device 212 according to the determined control sequence of commands and / or settings.

また、ロボットシステム100は、操作対象112のポーズに関する信頼基準に基づいて、制御シークエンスを作成又は取得することができる。この場合、ロボットシステム100は、例えば、ポーズに関する信頼基準に従って、異なる表面を把持又はカバーするため等、エンドエフェクタをピックアップのための様々な位置に置くか、操作対象112に関する様々な提供位置/ポーズを計算するか、それらの組合せを行うことができる。   In addition, the robot system 100 can create or acquire a control sequence based on a confidence criterion regarding the pose of the operation target 112. In this case, the robot system 100 may place the end effector in various positions for pickup, such as to grip or cover different surfaces, or in various provided positions / poses with respect to the manipulator 112, eg, according to a confidence criterion for poses. Can be calculated or a combination thereof can be performed.

一例として、操作対象112が、図3Aの第1のポーズ312に置かれた操作対象302(この場合、操作対象302の頂部表面322が、概して上に向くとともに露出している。)であり、ポーズに関する信頼基準が高い(すなわち、確実性の程度が十分性閾値を超え、判定されたポーズが正確である可能性が高い)場合、ロボットシステム100は、第1のアプローチ位置432及び第1の提供位置442を含む第1の制御シークエンス422を作成又は取得することができる。このとき、例えば、操作対象302の頂部表面322が上を向いている(すなわち、図3Cの対象識別子332を有する底部表面324が下を向いている)ことの確実性が十分にあることから、ロボットシステム100は、エンドエフェクタを操作対象302の頂部表面322の上に直接置くための第1のアプローチ位置432を含む第1の制御シークエンス422を計算し得る。   As an example, the operation target 112 is the operation target 302 placed in the first pose 312 of FIG. 3A (where the top surface 322 of the operation target 302 is generally facing upwards and exposed). If the confidence criterion for the pose is high (ie, the degree of certainty exceeds the sufficiency threshold and the determined pose is likely to be accurate), then the robotic system 100 determines that the first approach position 432 and the first A first control sequence 422 can be created or obtained that includes the serving location 442. At this time, for example, there is sufficient certainty that the top surface 322 of the operation target 302 faces upward (that is, the bottom surface 324 having the target identifier 332 of FIG. 3C faces downward). The robot system 100 may calculate a first control sequence 422 that includes a first approach position 432 for placing the end effector directly on the top surface 322 of the manipulator 302.

その結果、ロボットシステム100は、操作対象302の底部表面324が露出するように、操作対象302の頂部表面322に接触/カバーするエンドエフェクタで、操作対象112を把持することができる。また、ロボットシステム100は、操作対象112が、底部表面324に位置する識別子332をスキャンする上を向いたスキャナ416の真上になるための第1の提供位置442を含む第1の制御シークエンス422を計算することができる。   As a result, the robot system 100 can grip the operation target 112 with the end effector that contacts / covers the top surface 322 of the operation target 302 so that the bottom surface 324 of the operation target 302 is exposed. The robot system 100 also includes a first control sequence 422 that includes a first providing position 442 for the operation target 112 to be directly above the upward facing scanner 416 that scans the identifier 332 located on the bottom surface 324. Can be calculated.

一方、ポーズに関する信頼基準が低い(すなわち、確実性の程度が十分性閾値未満であり、判定されたポーズが正確である可能性が低い)場合、ロボットシステム100は、第2のアプローチ位置434及び1つ以上の第2の提供位置444を含む、第2の制御シークエンス424(すなわち、第1の制御シークエンス422とは異なる)を作成又は取得することができる。このとき、ロボットシステム100は、例えば、操作対象112の寸法を測定するとともにマスターデータ252と比較し、操作対象302が図3Aの第1のポーズ312又は図3Cの第3のポーズ316にあることを(例えば、測定の確実性のレベルが所定の閾値を超える場合に)判定することができる。   On the other hand, if the confidence criterion for the pose is low (ie, the degree of certainty is less than the adequacy threshold and the determined pose is unlikely to be accurate), then the robot system 100 determines that the second approach position 434 and A second control sequence 424 (ie, different from the first control sequence 422) can be created or obtained that includes one or more second provision locations 444. At this time, the robot system 100 measures, for example, the dimensions of the operation target 112 and compares them with the master data 252, and the operation target 302 is in the first pose 312 of FIG. 3A or the third pose 316 of FIG. 3C. Can be determined (eg, if the level of certainty of the measurement exceeds a predetermined threshold).

しかし、ロボットシステム100には、操作対象112の表面上にプリントされたマークを撮像/処理するのに困難な場合があり、その結果、判定されたポーズに関する信頼基準が十分性閾値未満となり得る。換言すると、ロボットシステム100は、操作対象302の上に向いた露出表面がその頂部表面322である(例えば、第1のポーズ312)か、或いは、その底部表面324(例えば、第3のポーズ316)であるかを、十分に確信していない場合がある。   However, the robot system 100 may have difficulty in capturing / processing the mark printed on the surface of the operation target 112, and as a result, the confidence criterion regarding the determined pose may be less than the sufficiency threshold. In other words, in the robot system 100, the exposed surface facing upward of the operation target 302 is its top surface 322 (eg, the first pose 312) or its bottom surface 324 (eg, the third pose 316). ) May not be fully convinced.

この場合、信頼基準が低い(確実性の程度が低い)ために、ロボットシステム100は、図3Aの操作対象302の外周表面326の1つに隣接して(例えば、操作対象302の頂部表面322及び/又は底部表面324に対して平行な方向に整列する、及び/又は、面している)エンドエフェクタを配置するための第2のアプローチ位置434を含む第2の制御シークエンス424を計算し得る。   In this case, the robot system 100 may be adjacent to one of the outer peripheral surfaces 326 of the operation target 302 of FIG. And / or a second control sequence 424 may be calculated that includes a second approach position 434 for positioning the end effector aligned and / or facing in a direction parallel to the bottom surface 324. ..

その結果、ロボットシステム100は、操作対象302の外周表面326の1つに接触/カバーするとともに、操作対象302の頂部表面322及び底部表面324の両方を露出させるエンドエフェクタで、操作対象112を把持することができる。また、ロボットシステム100は、スキャナ416の前(例えば、スキャンフィールド内、及び/又はスキャンフィールドに面して)に、操作対象302の頂部表面322及び底部表面324を同時又は連続して提供又は置くことができる。操作対象112がスキャン位置にある場合、ロボットシステム100は、スキャナ416(例えば、少なくとも、操作対象302の頂部表面322及び底部表面324を向いたスキャナ416)を用いて、提供された表面を同時に及び/又は連続してスキャンし、その上の操作対象302の識別子332(複数可)を取得することができる。   As a result, the robot system 100 grips the operation target 112 with an end effector that contacts / covers one of the outer peripheral surfaces 326 of the operation target 302 and exposes both the top surface 322 and the bottom surface 324 of the operation target 302. can do. The robot system 100 may also provide or place the top surface 322 and the bottom surface 324 of the operation target 302 in front of the scanner 416 (eg, in and / or facing the scan field) simultaneously or sequentially. be able to. When the manipulator 112 is in the scan position, the robot system 100 uses the scanner 416 (eg, at least the scanner 416 facing the top surface 322 and the bottom surface 324 of the manipulator 302) to simultaneously scan the provided surface. It is possible to scan continuously and / or obtain the identifier 332 (s) of the operation target 302 on it.

また、第2の制御シークエンス424は、最初は下を向いていた表面(操作対象302の底部表面324)を水平に、かつ、上を向いたスキャナ416の真上に配置するため、及び/又は、最初は上を向いていた表面(操作対象の頂部表面322)を垂直に、かつ、水平に向いたスキャナ416のすぐ前方に置くための、第2の提供位置444(複数可)を含んでいる。第2の制御シークエンス424は、2つの提供位置/ポーズを提供するために、再度の方向付け/回転の動作(例えば、破線の中空の円で示したような動作)を含むことができ、それにより、直交して向けられたスキャナ416を使用して、頂部表面322及び底部表面324の両方をスキャンする。さらに、ロボットシステム100は、例えば、操作対象302の頂部表面322を、上に向いたスキャナに連続して提供するとともにスキャンし、次いで、操作対象302を90度回転させて、その底部表面324を、スキャンのために水平に向いたスキャナ416に提供することができる。その際、再度の方向付け/回転の動作は、操作対象302の識別子332を読み取ることを失敗した場合にロボットシステム100が対応するコマンドを実施するように、条件付きのものとすることができる。   The second control sequence 424 also positions the initially downwardly facing surface (the bottom surface 324 of the operation subject 302) horizontally and directly above the upwardly facing scanner 416, and / or , Including second providing position (s) 444 for placing the initially upwardly facing surface (top surface 322 to be manipulated) vertically and just in front of the horizontally oriented scanner 416. There is. The second control sequence 424 may include a reorientation / rotation action (eg, as indicated by the dashed hollow circle) to provide the two delivery positions / pauses, which Scans both top surface 322 and bottom surface 324 using orthogonally oriented scanner 416. Further, the robot system 100 may, for example, continuously provide and scan the top surface 322 of the manipulator 302 to an upward facing scanner, and then rotate the manipulator 302 90 degrees to reveal its bottom surface 324. , Can be provided to a horizontally oriented scanner 416 for scanning. The reorientation / rotation action can then be conditional, such that if the reading of the identifier 332 of the operation subject 302 fails, the robot system 100 will execute the corresponding command.

代替的には、一例として、ロボットシステム100は、信頼基準が低い場合に、操作対象302の幅に沿う外周表面326の1つを把持/カバーするための制御シークエンス(図示せず)を作成又は取得することができる。この場合、ロボットシステム100は、水平に対向した一対のスキャナ416の間で操作対象302を移動して、そのの長さに沿って操作対象302の外周表面326を提供し、例えば、図3Aに示すように、外周表面326の1つの上の識別子332をスキャンすることができる。なお、信頼基準に基づく制御シークエンスに関する詳細については、後記の図5A及び図5Bを参照して後述する。   Alternatively, as an example, the robot system 100 may create or control sequences (not shown) for gripping / covering one of the outer peripheral surfaces 326 along the width of the manipulator 302 when confidence criteria are low. Can be obtained. In this case, the robot system 100 moves the operation target 302 between a pair of horizontally opposed scanners 416 and provides an outer peripheral surface 326 of the operation target 302 along its length, for example, as shown in FIG. 3A. As shown, the identifier 332 on one of the peripheral surfaces 326 can be scanned. Note that details regarding the control sequence based on the confidence criterion will be described later with reference to FIGS. 5A and 5B described later.

また、ロボットシステム100は、エンドエフェクタで把持されている操作対象112(以下、「操作対象302」に替えて「操作対象112」という)の2次元又は3次元形状と、作業位置116に置かれた収納容器450(例えば大箱、バケット等)内の操作対象112に関する情報に基づいて、制御シークエンスを再取得することができる。   In addition, the robot system 100 is placed at the work position 116 and the two-dimensional or three-dimensional shape of the operation target 112 (hereinafter, referred to as the “operation target 112” instead of the “operation target 302”) held by the end effector. The control sequence can be reacquired based on the information about the operation target 112 in the storage container 450 (for example, a large box, a bucket, etc.).

一例として、ロボットシステム100は、例えば、前述の第1の制御シークエンス及び第2の制御シークエンスの何れの場合でも、操作対象112の寸法を把握している。また、作業位置116に置かれた収納容器450内に既に収容された別の操作対象112と、それらの寸法も既知であるから、ロボットシステム100は、収納容器450内の空いている容積の空間情報を求めることができる。ロボットシステム100は、エンドエフェクタで把持されている操作対象112の種々のポーズを2次元又は3次元的に変化させた場合の操作対象112の空間形状パラメータを計算することができる。よって、それらの空間形状パラメータと、収納容器450内の空間情報とを比較することにより、収納容器450内に、より高い充填密度でその操作対象112を収納することができるパターン又はプランを最適化して選定することができる。   As an example, the robot system 100 grasps the size of the operation target 112 in both the first control sequence and the second control sequence described above. Further, since the other operation targets 112 already stored in the storage container 450 placed at the work position 116 and their dimensions are also known, the robot system 100 uses the empty space in the storage container 450. You can ask for information. The robot system 100 can calculate the spatial shape parameter of the operation target 112 when various poses of the operation target 112 grasped by the end effector are changed two-dimensionally or three-dimensionally. Therefore, by comparing those spatial shape parameters with the spatial information in the storage container 450, the pattern or plan capable of storing the operation target 112 at a higher packing density in the storage container 450 is optimized. Can be selected.

この場合、ロボットシステム100は、エンドエフェクタが収納容器450にアクセスする際に、エンドエフェクタと、収納容器450や既に収容されている操作対象112との干渉の有無を考慮することができる。そして、その時点で把持されている操作対象112をそのままの向きで収納容器450に収納するよりも、操作対象112のポーズを変えた方が、収納容器450への操作対象112の充填率が高いときには、ロボットシステム100は、収納に最適化されたポーズに操作対象112を持ち替える操作を含む制御シークエンスを作成又は取得することができる。   In this case, the robot system 100 can consider the presence or absence of interference between the end effector and the storage container 450 or the operation target 112 already stored when the end effector accesses the storage container 450. The filling rate of the operation target 112 into the storage container 450 is higher when the pose of the operation target 112 is changed than when the operation target 112 currently held is stored in the storage container 450 in the same orientation. At times, the robot system 100 can create or acquire a control sequence that includes an operation of holding the operation target 112 in a pose optimized for storage.

図4Bは、本開示の一実施形態に係るロボットシステム100によって実行される例示的作業404を示す正面図である。この例では、複数の操作対象112がパレット464上に混載されており、そのパレット464が、例えばAGV(Automated Guided Vehicle:自動搬送車)といった自走式台車462に搭載された状態でスタート位置114を含むピックアップエリアへ搬送される。なお、図4Bにおいて、同一形状の複数の操作対象112が整然と混載されている状態を示すが、実際の荷下ろしの状況によっては、寸法形状が異なる複数の操作対象112がランダムにパレット464上に積載されることが多いことに留意されたい。   FIG. 4B is a front view illustrating an exemplary operation 404 performed by the robot system 100 according to one embodiment of the present disclosure. In this example, a plurality of operation targets 112 are mixedly mounted on a pallet 464, and the pallet 464 is mounted on a self-propelled trolley 462 such as an AGV (Automated Guided Vehicle), and the start position 114 is set. It is transported to the pickup area including. Although FIG. 4B shows a state in which a plurality of operation objects 112 having the same shape are orderly mixed, a plurality of operation objects 112 having different sizes and shapes are randomly placed on the pallet 464 depending on the actual unloading situation. Note that it is often loaded.

パレット464が搬送されたピックアップエリアはスキャナ412で撮像され、図4Aで説明したのと同様にして操作対象112が選択される。選択された操作対象112は、移送ユニット104のロボットアーム414の先端部に設置されたエンドエフェクタによって、この例では操作対象112の頂部表面322が把持され、スキャナ416でスキャンされて識別子332が取得される。ロボットシステム100は、例えば、その操作対象112の識別子332の情報をマスターデータ252と比較して、操作対象112の寸法を含む情報を把握することができる。   The pickup area to which the pallet 464 has been conveyed is imaged by the scanner 412, and the operation target 112 is selected in the same manner as described with reference to FIG. 4A. The selected operation target 112 is gripped on the top surface 322 of the operation target 112 in this example by the end effector installed at the tip of the robot arm 414 of the transfer unit 104, and is scanned by the scanner 416 to acquire the identifier 332. To be done. The robot system 100 can grasp the information including the dimension of the operation target 112 by comparing the information of the identifier 332 of the operation target 112 with the master data 252, for example.

一方、識別子332が同一である操作対象112であっても、実際には異なる寸法(特に高さ)を有する場合があり得る。そこで、ロボットシステム100は、例えば操作対象112をスキャンしているときに、作業スペースの床面又は床面付近に設置された距離測定デバイス466(撮像デバイス222の一例)により、操作対象112の底部表面324までの距離を測定する。この際、スキャンしているときに操作対象112の移動を一時停止させる場合、その一時停止中に操作対象112の底部表面324までの距離を測定することができる。なお、図4Bにおいて、操作対象112をパレット464から荷下ろし(デパレタイズ)した直後に、距離測定デバイス466による測定を行うように示したが、その測定のタイミングは、制御シークエンスにおいて持ち替え位置118よりも上流位置で行うのであれば、特に制限されない。   On the other hand, even the operation targets 112 having the same identifier 332 may actually have different dimensions (especially height). Therefore, the robot system 100 uses the distance measuring device 466 (an example of the imaging device 222) installed on or near the floor surface of the work space to scan the bottom of the operation target 112 while scanning the operation target 112, for example. The distance to surface 324 is measured. At this time, when the movement of the operation target 112 is suspended during scanning, the distance to the bottom surface 324 of the operation target 112 can be measured during the suspension. In FIG. 4B, the operation target 112 is shown to be measured by the distance measuring device 466 immediately after being unloaded (depalletized) from the pallet 464, but the timing of the measurement is higher than that of the holding position 118 in the control sequence. There is no particular limitation as long as it is performed at the upstream position.

この例では、ロボットシステム100は、測定時の操作対象112の頂部表面322の高さ位置(把持レベル)を、制御シークエンス又は適宜の位置測定により把握することができる。よって、操作対象112の底部表面324までの距離の測定値を取得することにより、操作対象112の高さ112hを求めることができる。すなわち、ロボットシステム100は、距離測定デバイス466による操作対象112の底部表面324の測定データを受け取り、この受け取った測定データと、操作対象112の頂部表面322の高さ位置(把持レベル)とから、高さ112hを計算することができる。この高さ112hが、操作対象112のマスターデータ252として記憶された値と異なる場合には、ロボットシステム100は、マスターデータ252を置換、又は、マスターデータ252に追加して更新することができる。   In this example, the robot system 100 can grasp the height position (grasping level) of the top surface 322 of the operation target 112 at the time of measurement by a control sequence or an appropriate position measurement. Therefore, the height 112h of the operation target 112 can be obtained by acquiring the measurement value of the distance to the bottom surface 324 of the operation target 112. That is, the robot system 100 receives the measurement data of the bottom surface 324 of the operation target 112 by the distance measuring device 466, and from the received measurement data and the height position (grasping level) of the top surface 322 of the operation target 112, The height 112h can be calculated. When the height 112h is different from the value stored as the master data 252 of the operation target 112, the robot system 100 can replace the master data 252 or add it to the master data 252 to update it.

こうして操作対象112の実際の寸法が判明した後、ロボットシステム100は、操作対象112を種々の方向から把持したときのポーズの空間形状パラメータを計算することができる。それから、ロボットシステム100は、それらの空間形状パラメータと、作業位置116に置かれた収納容器450内の空間情報とを比較することにより、収納容器450内に、より高い充填密度でその操作対象112を収納することができるプラン又はパターンを最適化して選定することができる。   After the actual size of the operation target 112 is known in this way, the robot system 100 can calculate the space shape parameter of the pose when the operation target 112 is gripped from various directions. Then, the robot system 100 compares the spatial shape parameters with the spatial information in the storage container 450 placed at the work position 116, so that the operation target 112 is stored in the storage container 450 at a higher packing density. It is possible to optimize and select a plan or a pattern that can store the data.

このとき、ロボットシステム100は、エンドエフェクタが収納容器450にアクセスする際に、エンドエフェクタと、収納容器450や既に収容されている操作対象112との干渉の有無を計算し、干渉が生じ得る場合には、そのパターンを排除することができる。そして、その時点で把持されている操作対象112をそのままの向きで収納容器450に収納するよりも、操作対象112のポーズを変えた方が、収納容器450への操作対象112の充填率が高いときには、ロボットシステム100は、それまでの制御シークエンス472(図4A及び図4Bにおける第1の制御シークエンス422又は第2の制御シークエンス424に相当する。)を変更し、収納に最適化されたポーズとなるように操作対象112を持ち替える操作を含む制御シークエンスを再作成することができる。   At this time, when the end effector accesses the storage container 450, the robot system 100 calculates the presence / absence of interference between the end effector and the storage container 450 or the operation target 112 that has already been stored. Can exclude that pattern. The filling rate of the operation target 112 in the storage container 450 is higher when the pose of the operation target 112 is changed than when the operation target 112 currently held is stored in the storage container 450 in the same orientation. At times, the robot system 100 changes the control sequence 472 (corresponding to the first control sequence 422 or the second control sequence 424 in FIGS. 4A and 4B) up to that point, and the pose is optimized for storage. It is possible to recreate a control sequence including an operation of changing the operation target 112 so that

逆に、現時点で把持している操作対象112のポーズが収納効率の観点から最適な場合には、ロボットシステム100は、制御シークエンス472の変更を行わず、把持した操作対象112を、作業位置116における輸送ユニット106の入庫用コンベヤ等の上に載置されたバケット等の収納容器450に収納する。   On the contrary, when the pose of the operation target 112 currently gripped is optimal from the viewpoint of storage efficiency, the robot system 100 does not change the control sequence 472 and moves the gripped operation target 112 to the work position 116. It is stored in a storage container 450 such as a bucket placed on the storage conveyor or the like of the transportation unit 106 in FIG.

また、ロボットシステム100は、操作対象112を持ち替える場合、再計算後の制御シークエンス474に従って、操作対象112を操作する。例えば、スキャン後の操作対象112を、持ち替え位置118の周辺エリアへ移動し、エンドエフェクタを所定の向きに向けて操作対象112を仮り置き用のポーズとし、その状態で仮置き台468に載置して、把持を解放する。仮置き台としては、特に制限されず、例えば、操作対象112を、その少なくとも2面が露出されるように載置でき、特に、把持の行い易さ及び把持時の安定性の観点から、操作対象112を支持しつつ傾いた状態で保持することができる台座等が好ましい例として挙げられる。ロボットシステム100は、エンドエフェクタの向きを変え、仮り置きする前に把持していた面とは異なる面を把持して、操作対象112を持ち替えることができる。   Further, when changing the operation target 112, the robot system 100 operates the operation target 112 according to the control sequence 474 after the recalculation. For example, the operation target 112 after scanning is moved to the area around the holding position 118, the operation target 112 is turned into a pose for temporary placement with the end effector facing in a predetermined direction, and the operation target 112 is placed on the temporary placement table 468 in that state. Then, the grip is released. The temporary stand is not particularly limited, and for example, the operation target 112 can be placed so that at least two surfaces thereof are exposed, and in particular, from the viewpoint of ease of gripping and stability at the time of gripping, the operation target 112 can be operated. A preferable example is a pedestal capable of supporting the object 112 while holding it in an inclined state. The robot system 100 can change the orientation of the end effector, grasp a surface different from the surface grasped before the temporary placement, and change the operation target 112.

ロボットシステム100は、その持ち替えた操作対象112を作業位置116における輸送ユニット106の入庫用コンベヤ等の上に載置されたバケット等の収納容器450に収納する。この際、エンドエフェクタを一時に直接的に位置決めせずに、例えば、目的位置に対して前後/左右/上下に揺れ動かすように動作させてもよい。また、エンドエフェクタを複数台又は複数ユニット設け、操作対象112のサイズとの関係で、個々のエンドエフェクタを使い分けるように制御してもよい。   The robot system 100 stores the re-held operation target 112 in a storage container 450 such as a bucket placed on the storage conveyor or the like of the transportation unit 106 at the work position 116. At this time, instead of directly positioning the end effector at one time, it may be operated so as to swing forward / backward / left / right / vertically with respect to the target position. Further, a plurality of end effectors or a plurality of end effectors may be provided, and control may be performed such that each end effector is selectively used in relation to the size of the operation target 112.

なお、上記において、作業402に関する動作を実行するために、ロボットシステム100は、操作対象112の現在の位置(例えば、ロボットシステム100によって使用されるグリッドに対応する座標のセット)、及び/又は、現在のポーズを追跡することができる。例えば、ロボットシステム100は、例えばプロセッサ202を介して、図2の位置センサ224からのデータに従って、現在の位置/ポーズを追跡することができる。ロボットシステム100は、位置センサ224からのデータに従って、ロボットアーム414の1つ以上の部分(例えば、リンクやジョイント)を配置することができる。ロボットシステム100は、ロボットアーム414の位置及び向きに基づき、エンドエフェクタの位置/ポーズをさらに計算することができ、それにより、エンドエフェクタによって保持される操作対象112の現在の位置を計算することができる。また、ロボットシステム100は、推測メカニズムに従って、他のセンサの読取り値(例えば、力の読取り値又は加速度計の読取り値)の処理、実行された作動コマンド/設定、及び/又は、関連するタイミング、又はそれらの組合せに基づいて、現在の位置を追跡することができる。   It should be noted that, in the above, in order to execute the operation related to the work 402, the robot system 100 has a current position of the operation target 112 (for example, a set of coordinates corresponding to a grid used by the robot system 100), and / or You can track your current pose. For example, the robot system 100 can track the current position / pose according to the data from the position sensor 224 of FIG. 2, eg, via the processor 202. Robot system 100 can position one or more portions (eg, links or joints) of robot arm 414 according to data from position sensor 224. The robot system 100 may further calculate the position / pose of the end effector based on the position and orientation of the robot arm 414, thereby calculating the current position of the manipulator 112 held by the end effector. it can. The robot system 100 also processes other sensor readings (eg, force readings or accelerometer readings), executed actuation commands / settings, and / or associated timing according to a speculation mechanism. Or, the current position can be tracked based on a combination thereof.

[操作フロー(信頼基準に基づく制御シークエンス)]
図5Aは、本開示の一実施形態に係るロボットシステム100の動作における手順の一例示す方法500のフロー図である。方法500は、操作対象112の最初のポーズの判定に関連する信頼基準に従って図4Aの作業402を実行するために、信頼基準に基づく制御シークエンスを取得/計算し、及び、実施する手順を含む。また、方法500は、1つ以上のプロセッサ202で、1つ以上のストレージデバイス204に記憶された命令を実行することに基づいて、実施することができる。
[Operation flow (control sequence based on trust criteria)]
FIG. 5A is a flowchart of a method 500 illustrating an example of a procedure in an operation of the robot system 100 according to an embodiment of the present disclosure. Method 500 includes procedures for obtaining / calculating and performing a confidence criteria-based control sequence to perform task 402 of FIG. 4A in accordance with confidence criteria associated with determining an initial pose of manipulator 112. The method 500 can also be implemented based on executing instructions stored on one or more storage devices 204 on one or more processors 202.

ブロック501では、ロボットシステム100は、図2の1つ以上の撮像デバイス222のスキャンフィールドを識別することができる。例えば、ロボットシステム100は、例えば、1つ以上のプロセッサ202を介して、図4A及び図4Bのスキャナ412,416等の1つ以上の撮像デバイス222によってスキャンされ得る空間を識別することができる。ロボットシステム100は、スキャナ416の向きに従って、逆向きの方向(opposite directions)及び/又は直交した方向に向けられたスキャンフィールドを識別することができる。図4A及び図4Bに示すように、スキャナ416は、水平方向の両側、又は、垂直方向の両側等、互いに反対側に、及び/又は、互いに面して配置することができる。また、スキャナ416は、1つが上又は下に向き、別のものが水平方向を向く等、互いに垂直に配置することもできる。   At block 501, the robot system 100 can identify a scan field of one or more imaging devices 222 of FIG. For example, the robot system 100 can identify a space that can be scanned by one or more imaging devices 222, such as the scanners 412 and 416 of FIGS. 4A and 4B, via one or more processors 202, for example. The robot system 100 can identify scan fields oriented in opposite directions and / or orthogonal directions according to the orientation of the scanner 416. As shown in FIGS. 4A and 4B, the scanners 416 can be positioned on opposite sides and / or facing each other, such as horizontally on both sides or vertically on both sides. The scanners 416 can also be arranged vertically with one facing up or down and another facing horizontally.

ロボットシステム100は、例えば、マスターデータ252に従ってスキャンフィールドを識別することができる。マスターデータ252は、撮像デバイス222及び/又は対応するスキャンフィールドを示すグリッド位置、座標、及び/又は、他のマーカを含むことができる。マスターデータ252は、撮像デバイス222のレイアウト及び/又は物理的配置、撮像デバイス222の能力、環境的因子(例えば、光の条件、及び/又は遮蔽物/構造)、又はそれらの組合せに従って、予め判定することができる。また、ロボットシステム100は、スキャンフィールドを識別するために、較正プロセスを実施することができる。例えば、ロボットシステム100は、移送ユニット104を使用して、位置のセットに既知のマーク又はコードを配置し、対応する撮像デバイス222が既知のマークを正確にスキャンしたかを判定することができる。ロボットシステム100は、正確なスキャン結果となった既知のマークの位置に基づいて、スキャンフィールドを識別することができる。   The robot system 100 can identify the scan field according to the master data 252, for example. The master data 252 can include grid positions, coordinates, and / or other markers that indicate the imaging device 222 and / or the corresponding scan fields. The master data 252 is pre-determined according to the layout and / or physical placement of the imaging device 222, the capabilities of the imaging device 222, environmental factors (eg, light conditions, and / or obstructions / structures), or combinations thereof. can do. The robot system 100 can also perform a calibration process to identify the scan field. For example, the robotic system 100 can use the transfer unit 104 to place a known mark or code in a set of locations and determine whether the corresponding imaging device 222 has accurately scanned the known mark. The robot system 100 can identify the scan field based on the position of the known mark that resulted in the accurate scan result.

ブロック502では、ロボットシステム100は、指定されたエリアをスキャンすることができる。ロボットシステム100は、1つ以上の撮像デバイス222(例えば、図4A及び図4Bのスキャナ412及び/又は他のエリアスキャナ)を、例えば、プロセッサ202によって送信されたコマンド/プロンプトを介して使用して、ピックアップエリア及び/又はドロップエリア等の1つ以上の指定されたエリアの撮像データ(例えば、取得されたデジタル画像及び/又はポイントクラウド)を生成することができる。撮像データは、撮像デバイス222から1つ以上のプロセッサ202に通信することができる。従って、1つ以上のプロセッサ202は、さらなる処理のために、ピックアップエリア(例えば、作業の実行前の操作対象112を含む)、持ち替えエリア、及び/又は、ドロップエリア(例えば、作業の実行後の操作対象112を含む)を示す撮像データを受信することができる。   At block 502, the robotic system 100 can scan a designated area. The robot system 100 uses one or more imaging devices 222 (eg, the scanner 412 of FIGS. 4A and 4B and / or other area scanners), eg, via commands / prompts sent by the processor 202. , Imaging data (eg, acquired digital images and / or point clouds) of one or more designated areas, such as pickup areas and / or drop areas can be generated. Imaging data can be communicated from the imaging device 222 to one or more processors 202. Accordingly, the one or more processors 202 may further include a pickup area (e.g., including the operation target 112 prior to performing the work), a holding area, and / or a drop area (e.g., after performing the work) for further processing. It is possible to receive imaging data indicating the operation target 112).

ブロック504では、ロボットシステム100は、操作対象112及び関連する位置(例えば、図1のスタート位置114、及び/又は、図1の作業位置116)、及び/又は、操作対象112の最初のポーズを識別することができる。ロボットシステム100、例えば、プロセッサ202を介して、操作対象112のアウトライン(例えば、周囲の縁部及び/又は表面)を識別するために、パターン認識メカニズム及び/又は認識ルールに基づいて、撮像データを分析することができる。ロボットシステム100は、さらに、種々の操作対象112に対応するような、例えば、所定の認識メカニズム、認識ルール、及び/又は、ポーズやアウトラインに関するテンプレートに基づいて操作対象112のアウトライン及び/又は表面のグルーピングを識別することができる。   At block 504, the robot system 100 poses the manipulator 112 and associated positions (eg, the start position 114 of FIG. 1 and / or the work position 116 of FIG. 1) and / or the initial pose of the manipulator 112. Can be identified. Via the robot system 100, eg, the processor 202, the imaging data is analyzed based on pattern recognition mechanisms and / or recognition rules to identify outlines (eg, peripheral edges and / or surfaces) of the manipulated object 112. Can be analyzed. The robot system 100 may further include an outline and / or a surface of the operation target 112 corresponding to various operation targets 112 based on, for example, a predetermined recognition mechanism, a recognition rule, and / or a template regarding a pose or an outline. Grouping can be identified.

ロボットシステム100は、例えば、操作対象112のアウトラインにわたり、色、輝度、深さ/位置、及び/又は、それらの組合せにおけるパターン(例えば、同じ値であるか、既知の割合/パターンで変化するか)に対応する操作対象112のアウトラインのグルーピングを識別することができる。また、例えば、ロボットシステム100は、マスターデータ252において規定された所定の形状/ポーズのテンプレート、画像、又はそれらの組合せに従って、操作対象112のアウトライン及び/又は表面のグルーピングを識別することができる。   The robot system 100 may, for example, span the outline of the target 112, pattern in color, brightness, depth / position, and / or combinations thereof (e.g., are they the same value or change at a known rate / pattern? It is possible to identify the outline grouping of the operation target 112 corresponding to (). Further, for example, the robot system 100 can identify the outline and / or the surface grouping of the operation target 112 according to a template of a predetermined shape / pose defined in the master data 252, an image, or a combination thereof.

ピックアップエリアで認識された操作対象112から、ロボットシステム100は、操作対象112として、(例えば、所定のシークエンス又は規則のセット、及び/又は、操作対象のアウトラインのテンプレートに従って)1つを選択することができる。ロボットシステム100は、例えば、スキャナ412の既知の位置に対する距離/位置を示すポイントクラウドに従う等して、操作対象112を選択することができる。また、ロボットシステム100は、例えば、角/縁部に位置し、撮像結果に露出する/示される2つ以上の表面を有する操作対象112を選択することができる。さらに、ロボットシステム100は、所定のパターン又はシークエンス(例えば、基準位置に対し、左から右へ、もっとも近くからもっとも遠くへ等)に従って、操作対象112を選択することができる。   From the operation target 112 recognized in the pickup area, the robot system 100 selects one as the operation target 112 (for example, according to a predetermined sequence or rule set and / or an outline template of the operation target). You can The robot system 100 can select the operation target 112, for example, according to a point cloud indicating the distance / position of the scanner 412 with respect to the known position. In addition, the robot system 100 can select an operation target 112 having two or more surfaces located at corners / edges and exposed / shown in an imaging result, for example. Further, the robot system 100 can select the operation target 112 according to a predetermined pattern or sequence (eg, left to right, closest to farthest from the reference position, etc.).

選択された操作対象112に関し、ロボットシステム100は、スタート位置114及び/又は最初のポーズを判定するために、撮像データをさらに処理することができる。例えば、ロボットシステム100は、撮像データにおける操作対象112の位置(例えば、判定されたポーズに関する所定の基準ポイント)を、ロボットシステム100によって使用されるグリッド内の位置へマッピングすることにより、スタート位置114を判定することができ、所定の較正マップに従って位置をマッピングすることができる。   With respect to the selected control target 112, the robot system 100 can further process the imaging data to determine the start position 114 and / or the initial pose. For example, the robot system 100 maps the position of the operation target 112 (for example, a predetermined reference point regarding the determined pose) in the imaging data to a position in the grid used by the robot system 100, so that the start position 114. Can be determined and the position can be mapped according to a predetermined calibration map.

ロボットシステム100は、ドロップエリアの撮像データを処理して、操作対象112間のあいているスペースを判定することができる。ロボットシステム100は、画像の位置を、現実の位置及び/又はシステムによって使用される座標にマッピングする所定の較正マップに従って、操作対象112のアウトラインをマッピングし、それに基づいて、空いているスペースを判定することができる。ロボットシステム100は、異なるグルーピングに属する操作対象112のアウトライン(そしてひいては、操作対象112の表面)間の空間として、空いているスペースを判定することができる。さらに、ロボットシステム100は、空いているスペースの1つ以上の寸法を測定し、測定された寸法を操作対象112の1つ以上の寸法(例えば、マスターデータ252に記憶されているようなもの)と比較することにより、操作対象112にとって適切な空いているスペースを判定することができる。また、ロボットシステム100は、所定のパターン(例えば、基準位置に対し、左から右へ、もっとも近くからもっとも遠くへ、底部から頂部へ等)に従って、適切な/空いているスペースの1つを、作業位置116として選択することができる。   The robot system 100 can process the imaging data of the drop area to determine the space between the operation targets 112. The robot system 100 maps the outline of the operation target 112 according to a predetermined calibration map that maps the position of the image to the actual position and / or the coordinates used by the system, and based on that, determines the free space. can do. The robot system 100 can determine a vacant space as a space between outlines (and, by extension, surfaces of the operation targets 112) of the operation targets 112 that belong to different groupings. In addition, the robot system 100 measures one or more dimensions of the vacant space and the measured dimensions are one or more dimensions of the operation target 112 (eg, as stored in master data 252). By comparing with, it is possible to determine an appropriate empty space for the operation target 112. The robot system 100 may also select one of the appropriate / empty spaces according to a predetermined pattern (eg, left to right, closest to farthest, bottom to top, etc. relative to a reference position). It can be selected as the work position 116.

ロボットシステム100は、撮像データを処理せずに又は処理することに加えて、作業位置116を判定することができる。例えば、ロボットシステム100は、エリアを撮像することなく、所定の制御シークエンス及び位置に従って、配置エリアに操作対象112を配置することができる。また、例えば、ロボットシステム100は、複数の作業(例えば、スタックの共通の層/列に位置する操作対象112に関するもの等、複数の操作対象112を移動すること)を実施するために、撮像データを処理することができる。   The robot system 100 can determine the work position 116 without or in addition to processing the imaging data. For example, the robot system 100 can arrange the operation target 112 in the arrangement area according to a predetermined control sequence and position without imaging the area. Also, for example, the robot system 100 may use imaging data to perform multiple tasks (eg, moving multiple operation targets 112, such as those associated with operation targets 112 located in a common layer / column of a stack). Can be processed.

ブロック522では、例えば、ロボットシステム100は、撮像データ(例えば、スキャナ412からの撮像データ)の処理に基づき、最初のポーズ(例えば、ピックアップエリアにおける操作対象112の停止したポーズの推定)を判定することができる。ロボットシステム100は、操作対象112のアウトラインと、マスターデータ252の所定のポーズのテンプレートにおけるアウトラインとを比較すること(例えば、ピクセル値を比較すること)に基づいて、操作対象112の最初のポーズを判定することができる。所定のポーズのテンプレートには、例えば、予期される操作対象112の対応する向きに係る、操作対象112のアウトラインの異なる可能性のある配置を含むことができる。ロボットシステム100は、選択された操作対象112と前に関連付けられた操作対象112のアウトラインのセット(例えば、図3A及び/又は図3Cの第1の露出表面304、及び/又は、図3Aの第2の露出表面306等の、露出表面の縁部)を識別することができる。ロボットシステム100は、比較された操作対象112のアウトライン間の、もっとも少ない差異の測定に対応するポーズのテンプレートの1つを選択することにより、最初のポーズを判定することができる。   In block 522, for example, the robot system 100 determines a first pose (eg, estimation of a stopped pose of the operation target 112 in the pickup area) based on processing of the imaging data (eg, imaging data from the scanner 412). be able to. The robot system 100 compares the outline of the operation target 112 with the outline of the template of the predetermined pose of the master data 252 (for example, comparing pixel values) to determine the first pose of the operation target 112. Can be judged. The template for a given pose may include, for example, different possible placements of the outline of the manipulator 112, depending on the corresponding orientation of the manipulator 112 expected. The robot system 100 may include a set of outlines of the selected target 112 and the previously associated target 112 (eg, the first exposed surface 304 of FIGS. 3A and / or 3C and / or the first exposed surface 304 of FIG. 3A). Edges of exposed surfaces, such as two exposed surfaces 306) can be identified. The robot system 100 can determine the initial pose by selecting one of the pose templates that corresponds to the measurement of the least difference between the outlines of the compared targets 112.

さらなる例に関し、ロボットシステム100は、操作対象112の物理的寸法に基づき、操作対象112の最初のポーズを判定することができる。ロボットシステム100は、撮像データで取得された露出表面の寸法に基づき、操作対象112の物理的寸法を概算することができる。ロボットシステム100は、撮像データにおける操作対象112のアウトラインの各々に関する長さ及び/又は角度を測定し、次いで、較正マップ、変換テーブル若しくはプロセス、所定の方程式、又はそれらの組合せを使用して、測定された長さを現実世界の長さ又は標準的な長さにマッピング又は変換することができる。ロボットシステム100は、物理的寸法に対応する操作対象112及び/又は露出表面(複数可)を識別するために、測定された寸法を使用することができる。   For a further example, the robot system 100 can determine the initial pose of the manipulator 112 based on the physical dimensions of the manipulator 112. The robot system 100 can roughly estimate the physical size of the operation target 112 based on the size of the exposed surface acquired by the imaging data. The robot system 100 measures the length and / or angle for each of the outlines of the manipulated object 112 in the imaging data and then uses a calibration map, a conversion table or process, a predetermined equation, or a combination thereof. The defined length can be mapped or converted to a real world length or a standard length. The robot system 100 can use the measured dimensions to identify the manipulated object 112 and / or exposed surface (s) that correspond to the physical dimensions.

ロボットシステム100は、概算された物理的寸法を、マスターデータ252内の操作対象112の既知の寸法のセット(例えば、高さ、長さ、及び/又は幅)並びにその表面と比較することにより、操作対象112及び/又は露出表面(複数可)を識別することができる。ロボットシステム100は、マッチした寸法のセットを使用して、露出表面(複数可)及び対応するポーズを識別することができる。例えば、ロボットシステム100は、露出表面の寸法が、予期された操作対象112に関する長さ及び幅にマッチする場合に、露出表面を、図3Aの操作対象302の頂部表面322、又は、図3Bの操作対象302の底部表面324(例えば、一対の両側の表面)として識別することができる。露出表面の向きに基づき、ロボットシステム100は、操作対象112の最初のポーズ(例えば、露出表面が上を向いている場合、操作対象302の第1のポーズ312又は第3のポーズ316)を判定することができる。   The robot system 100 compares the estimated physical dimensions to a set of known dimensions (eg, height, length, and / or width) of the manipulated object 112 in the master data 252 and its surface, The manipulation target 112 and / or the exposed surface (s) can be identified. The robot system 100 can use the set of matched dimensions to identify exposed surface (s) and corresponding poses. For example, the robot system 100 may define the exposed surface as the top surface 322 of the manipulator 302 of FIG. 3A, or of FIG. 3B, if the dimensions of the exposed surface match the expected length and width for the manipulator 112. It can be identified as the bottom surface 324 of the operation target 302 (eg, a pair of opposite surfaces). Based on the orientation of the exposed surface, the robot system 100 determines a first pose of the operation target 112 (eg, the first pose 312 or the third pose 316 of the operation target 302 when the exposed surface is facing up). can do.

例えば、ロボットシステム100は、操作対象112の1つ以上の表面、及び/又は、その1つ以上のマーキングの可視画像に基づき、操作対象112の最初のポーズを判定することができる。ロボットシステム100は、接続されたアウトラインのセットのピクセル値を、マスターデータ252の、所定のマーキングベースのポーズのテンプレートと比較することができる。マーキングベースのポーズのテンプレートには、例えば、様々な異なる向きの予期される操作対象112の、1つ以上の特有のマーキングが含まれ得る。ロボットシステム100は、比較された画像に関するもっとも少ない差異の測定の結果となる、表面、表面の向き、及び/又は対応するポーズの1つを選択することにより、操作対象112の最初のポーズを判定することができる。   For example, the robot system 100 can determine a first pose of the manipulation target 112 based on a visible image of one or more surfaces of the manipulation target 112 and / or one or more markings thereof. The robot system 100 can compare the pixel values of the set of connected outlines with a template of a given marking-based pose of the master data 252. The marking-based pose template may include, for example, one or more unique markings of the expected manipulator 112 in a variety of different orientations. The robot system 100 determines the initial pose of the manipulator 112 by selecting one of the surface, the surface orientation, and / or the corresponding pose that results in the least difference measurement for the compared images. can do.

ブロック524では、ロボットシステム100は、操作対象112の最初のポーズに関する信頼基準を計算することができる。ロボットシステム100は、最初のポーズを判定することの一部として、信頼基準を計算することができる。例えば、信頼基準は、操作対象112のアウトラインと、上述の選択されたテンプレートのアウトラインとの間の差異の基準に対応し得る。また、例えば、信頼基準は、上述の概算された物理的寸法及び/又は角度に関連する公差レベルに対応し得る。また、例えば、信頼基準は、撮像データ内の可視マーキングと、上述のテンプレートの画像との間の差異の基準に対応し得る。   At block 524, the robot system 100 may calculate a confidence metric for the initial pose of the manipulator 112. The robot system 100 can calculate confidence criteria as part of determining the initial pose. For example, the confidence criterion may correspond to a difference criterion between the outline of the operation target 112 and the outline of the selected template described above. Also, for example, a confidence metric may correspond to a tolerance level associated with the approximated physical dimensions and / or angles described above. Also, for example, the confidence criterion may correspond to the criterion of the difference between the visible marking in the imaging data and the image of the template described above.

ブロック506では、ロボットシステム100は、操作対象112に関する作業402を実行するための制御シークエンス(例えば、図4Aの第1の制御シークエンス422、図4Aの第2の制御シークエンス424、図4Bにおける制御シークエンス472等)、並びに、図4Bに示す操作対象112の持ち替え操作を含む制御シークエンス474を計算することができる。   At block 506, the robot system 100 may perform a control sequence (eg, the first control sequence 422 of FIG. 4A, the second control sequence 424 of FIG. 4A, the control sequence of FIG. 4B) for performing the task 402 on the operation target 112. 472), and the control sequence 474 including the holding operation of the operation target 112 shown in FIG. 4B can be calculated.

例えば、ロボットシステム100は、図4A及び図4Bのロボットアーム414及び/又はエンドエフェクタを操作する作動デバイス212に関するコマンド若しくは設定のシークエンス、又はそれらの組合せを計算することに基づいて、制御シークエンスを作成又は取得することができる。いくつかの作業に関し、ロボットシステム100は、ロボットアーム414及び/又はエンドエフェクタを操縦して、操作対象112をスタート位置114から、必要に応じて持ち替え位置118を経由して作業位置116に移動する制御シークエンス及び設定値を計算することができる。ロボットシステム100は、空間内の移動経路を計算するように構成された制御シークエンスメカニズム(例えば、処理、機能、方程式、アルゴリズム、コンピュータで生成された/読取り可能なモデル、又はそれらの組合せ)を実施することができる。   For example, the robot system 100 creates a control sequence based on calculating a sequence of commands or settings for the actuating device 212 that operates the robot arm 414 and / or the end effector of FIGS. 4A and 4B, or a combination thereof. Or you can get it. For some tasks, the robot system 100 steers the robot arm 414 and / or the end effector to move the operation target 112 from the start position 114 to the work position 116, optionally via the hold position 118. Control sequences and setpoints can be calculated. The robot system 100 implements a control sequence mechanism (eg, process, function, equation, algorithm, computer generated / readable model, or combination thereof) configured to calculate a path of travel in space. can do.

例えば、ロボットシステム100は、操作対象112をスタート位置114から、必要に応じて持ち替え位置118を経由して作業位置116に、1つ以上の提供のポーズ/位置(例えば、エンドエフェクタのための1つ以上の対応するスキャン位置)を通して移動するために、空間を通る移動経路を計算するように、A*アルゴリズム、D*アルゴリズム、及び/又は他のグリッドに基づく検索を使用することができる。制御シークエンスメカニズムは、さらなる処理、機能、若しくは方程式、及び/又はマッピングテーブルを使用して、移動経路を、作動デバイス212に関するコマンド若しくは設定のシークエンス、又はそれらの組合せに変換することができる。制御シークエンスメカニズムを使用する際、ロボットシステム100は、ロボットアーム414及び/又はエンドエフェクタを操縦し、操作対象112に計算された移動経路をたどらせる制御シークエンスを計算することができる。   For example, the robot system 100 may move the operation target 112 from the start position 114 to the work position 116, optionally via the repositioning position 118, to one or more provided poses / positions (eg, 1 for end effectors). An A * algorithm, a D * algorithm, and / or other grid-based searches may be used to compute a path of travel through space to move through one or more corresponding scan positions). The control sequence mechanism may use further processing, functions, or equations, and / or mapping tables to translate the travel path into a sequence of commands or settings for the actuating device 212, or a combination thereof. When using the control sequence mechanism, the robot system 100 can calculate a control sequence that steers the robot arm 414 and / or the end effector to cause the operation target 112 to follow the calculated movement path.

ロボットシステム100は、信頼基準に基づき、制御シークエンスを選択的に作成又は取得することができる。ロボットシステム100は、信頼基準に従って、アプローチ位置(例えば、図4Aの第1のアプローチ位置432及び/又は図4Aの第2のアプローチ位置434)、1つ以上のスキャン位置(例えば、図4の第1の提供位置442及び/又は図4の第2の提供位置444)、又はそれらの組合せを含む制御シークエンスを計算することができる。例えば、ロボットシステム100は、信頼基準を十分性閾値と比較した結果に基づいて、メトリック(例えば、性能のメトリック、及び/又は、スキャンのメトリック)に係る、アプローチ位置及び/又はスキャン位置を計算することができる。スキャン位置は、操作対象112の1つ以上の識別子332をスキャンするものである1つ以上の対応する対象スキャナ416の前(すなわち、そのスキャンフィールド)に、操作対象112の1つ以上の表面を提供するように、エンドエフェクタを配置するためのものとすることができる。   The robot system 100 can selectively create or acquire a control sequence based on a confidence criterion. The robot system 100 may use one or more scan positions (eg, the first approach position 432 of FIG. 4A and / or the second approach position 434 of FIG. 4A), one or more scan positions (eg, the first approach position 434 of FIG. 4A) according to a confidence criterion. A control sequence can be calculated that includes one serving position 442 and / or the second serving position 444 of FIG. 4, or a combination thereof. For example, the robot system 100 calculates an approach position and / or a scan position for a metric (eg, performance metric and / or scan metric) based on a result of comparing the confidence criterion to a sufficiency threshold. be able to. The scan position is one or more surfaces of the manipulation target 112 in front of (ie, its scan field) one or more corresponding target scanners 416 that scan one or more identifiers 332 of the manipulation target 112. As provided, the end effector may be for placement.

ブロック532では、ロボットシステム100は、例えば、プロセッサ202を介して、利用可能なアプローチ位置のセットを計算することができる。利用可能なアプローチ位置は、エンドエフェクタを配置するのに十分な、スタート位置114周りに開放されているか又は占められていない空間に対応するものとすることができる。また、ロボットシステム100は、他の操作対象112を妨げることなく、操作対象112に接触及び把持するために、選択されたアプローチ位置にエンドエフェクタを置くことができる。   At block 532, the robot system 100 may calculate a set of available approach positions, eg, via the processor 202. The available approach positions may correspond to a space that is open or unoccupied around the start position 114 sufficient to position the end effector. The robot system 100 can also place the end effector at the selected approach position to contact and grip the operation target 112 without interfering with other operation targets 112.

例えば、ロボットシステム100は、操作対象112のアウトラインと、隣接する操作対象112のアウトラインとの間の分離距離を計算することにより、利用可能なアプローチ位置のセットを計算することができる。ロボットシステム100は、その分離距離を、エンドエフェクタの物理的サイズ/形状、及び/又は、それらの様々な向きに対応する、所定の距離のセットと比較することができる。ロボットシステムは、対応する分離距離が、エンドエフェクタのサイズに対応する距離の所定のセットを超える場合、利用可能なアプローチ位置の各々を識別することができる。   For example, the robot system 100 can calculate the set of available approach positions by calculating the separation distance between the outline of the operation target 112 and the outline of the adjacent operation target 112. The robot system 100 can compare the separation distance to a predetermined set of distances that correspond to the physical size / shape of the end effector and / or their various orientations. The robot system can identify each of the available approach positions if the corresponding separation distance exceeds a predetermined set of distances corresponding to the size of the end effector.

決定ブロック534では、ロボットシステム100は、信頼基準を1つ以上の十分性閾値と比較して、これらが満たされているか否かを判定することができる。ブロック536で示されるもの等、信頼基準が十分性閾値を満たす場合(例えば、信頼基準が必要とされる十分性閾値を超える場合)、ロボットシステム100は、性能のメトリックに基づき、制御シークエンス(例えば、第1の制御シークエンス422)を計算することができる。信頼基準が十分性閾値を満たす場合、ロボットシステム100は、最初のポーズが適切であると推定し、操作対象112の少なくとも1つの識別子332をスキャンすることに関する可能性、及び/又は、最初のポーズが不正確である場合があることの可能性に対応する、スキャンのメトリックを考慮することなく、制御シークエンスを計算することができる。   At decision block 534, the robot system 100 can compare the confidence criteria to one or more sufficiency thresholds to determine if they are met. If the confidence criterion meets the sufficiency threshold, such as that shown at block 536 (eg, if the confidence criterion exceeds the required sufficiency threshold), the robotic system 100 may base the control sequence on the performance metric (eg, , A first control sequence 422) can be calculated. If the confidence criterion meets the sufficiency threshold, the robot system 100 deduces that the first pose is suitable and may involve scanning at least one identifier 332 of the manipulator 112 and / or the first pose. The control sequence can be calculated without considering the metric of the scan, which corresponds to the possibility that may be inaccurate.

一例として、ロボットシステム100は、ブロック542において、候補のプランを計算することができる。候補のプランの各々は、利用可能なアプローチ位置とスキャン位置との特有の組合せ(例えば、操作対象112に関する対応する提供位置/向き)に対応する制御シークエンスの例とすることができる。ロボットシステム100は、マスターデータ252内の、識別子332の位置(複数可)334又は対応するモデル/ポーズを回転させる等により、最初のポーズに従って、識別子332の位置334を計算することができる。ロボットシステム100は、エンドエフェクタに識別子332の位置334をカバーさせる(例えば、直上、前方、及び/又は閾値の距離内に置く)利用可能なアプローチ位置を除去することができる。   As an example, robot system 100 may calculate candidate plans at block 542. Each of the candidate plans may be an example of a control sequence corresponding to a unique combination of available approach positions and scan positions (eg, corresponding serving position / orientation for the target 112). The robot system 100 can calculate the position 334 of the identifier 332 according to the initial pose, such as by rotating the position (s) 334 of the identifier 332 or the corresponding model / pose in the master data 252. The robotic system 100 can eliminate available approach positions that cause the end effector to cover the position 334 of the identifier 332 (eg, directly above, in front of, and / or within a threshold distance).

ロボットシステム100は、セット内の残りの利用可能なアプローチ位置(例えば、ブロック532の計算結果)の各々に関し、候補のプランを計算することができる。候補のプランの各々に関し、ロボットシステム100は、利用可能なアプローチ位置に従って、特有のスキャン位置をさらに計算することができる。ロボットシステム100は、操作対象112のモデルの回転及び/又は移動に基づき、スキャン位置を計算することができ、それにより、識別子332の位置334に対応する表面が、スキャンフィールド内にあるとともに、対応するスキャナ416に面する。ロボットシステム100は、所定のプロセス、方程式、関数等に従って、モデルを回転及び/又は移動することができる。   Robot system 100 may calculate a candidate plan for each of the remaining available approach positions in the set (eg, the results of the calculations in block 532). For each of the candidate plans, the robot system 100 can further calculate the unique scan position according to the available approach positions. The robot system 100 can calculate the scan position based on the rotation and / or movement of the model of the operation target 112 so that the surface corresponding to the position 334 of the identifier 332 is within the scan field and corresponding. Facing scanner 416. The robot system 100 can rotate and / or move the model according to predetermined processes, equations, functions, etc.

ブロック544では、ロボットシステム100は、各候補のプランに関する性能のメトリックを計算することができる。ロボットシステム100は、作業402を完了することに関するスループット(率)に対応する性能のメトリックを計算することができる。例えば、性能のメトリックは、候補のプランに関する、操作対象112が移動する距離、概算される移動時間、作動デバイス212に関するコマンド及び/又は設定の変更の数、達成率(すなわち、ピースロスの量と相補的である)、又はそれらの組合せに関連し得る。ロボットシステム100は、1つ以上の測定された又は既知のデータ(例えば、設定/コマンドに関連する加速度/速度、及び/又は、把持表面及び/又は動きに関連するピースロスの割合)、並びに、所定の計算プロセス、方程式、関数等を使用して、候補の制御シークエンスに関する対応する値を計算することができる。   At block 544, the robot system 100 may calculate performance metrics for each candidate plan. The robot system 100 can calculate a performance metric corresponding to the throughput (rate) for completing the task 402. For example, the performance metric may be the distance traveled by the operation target 112, the estimated travel time, the number of command and / or setting changes relating to the actuating device 212, the achievement rate (ie, the amount of piece loss and the complement of the piece loss complementary to the candidate plan. Target) or a combination thereof. The robot system 100 includes one or more measured or known data (e.g., acceleration / velocity associated with settings / commands and / or percentage of piece loss associated with gripping surfaces and / or movements) and a predetermined amount. Can be used to calculate the corresponding values for the candidate control sequences.

ブロック546では、ロボットシステム100は、制御シークエンスとして、最大の性能のメトリックをもった候補のプラン(すなわち、対応するアプローチ位置を伴う)を選択することができる。例えば、ロボットシステム100は、制御シークエンスとして、候補のプランのセットの中で、もっとも高い達成率、もっとも短い移動距離、もっとも少ないコマンド及び/又は設定の変更の数、もっとも速い移動の持続時間、又はそれらの組合せに対応する候補のプランを選択することができる。従って、ロボットシステム100は、アプローチ位置として、もっとも高い性能のメトリックに対応するセット内の利用可能なアプローチ位置を選択することができる。   At block 546, the robot system 100 may select a candidate plan with the metric of maximum performance (ie, with a corresponding approach position) as the control sequence. For example, the robot system 100 may use the highest success rate, the shortest movement distance, the smallest number of command and / or setting changes, the fastest movement duration, or the shortest movement distance in the set of candidate plans as the control sequence. Candidate plans corresponding to those combinations can be selected. Therefore, the robot system 100 can select an available approach position in the set corresponding to the highest performance metric as the approach position.

比較すると、ロボットシステム100は、信頼基準が十分性閾値を満たさない(例えば、信頼基準が必要な十分性閾値未満である)場合、異なる基準に従って、候補のプランを計算することができる。ブロック538で示すように、ロボットシステム100は、スキャンのメトリックに基づき、制御シークエンス(例えば、第2の制御シークエンス424)を計算することができる。スキャンのメトリックは、操作対象112の識別子332の少なくとも1つが、最初のポーズが正確であるかに関わらず、エンドエフェクタによってカバーされないままであり、かつ、スキャン可能であることの可能性に対応する値(例えば、2要素の値、又は、2要素ではないスコア/パーセンテージ)である。   By comparison, the robot system 100 may calculate candidate plans according to different criteria if the confidence criteria do not meet the sufficiency threshold (eg, the confidence criteria is less than the required sufficiency threshold). As indicated by block 538, the robot system 100 may calculate a control sequence (eg, the second control sequence 424) based on the scan metric. The metric of the scan corresponds to the possibility that at least one of the identifiers 332 of the operated object 112 remains uncovered by the end effector and is scannable, regardless of whether the initial pose is correct. A value (eg, a two-element value or a score / percentage that is not two-element).

例えば、ロボットシステム100は、信頼基準が十分性閾値を満たさない場合、性能のメトリックに対してスキャンのメトリックを優先させる(例えば、最初に満たす及び/又はより重い重要度を与える)ことができる。従って、ロボットシステム100は、1つ以上のスキャナ416の前に、少なくとも1つのカバーされていない操作対象112の識別子332を提供するための1つ以上のスキャン位置(すなわち、スキャンフィールド内にある、及び/又は、対応するスキャナに向いている)を含む制御シークエンスを計算することができる。   For example, the robotic system 100 may prioritize (eg, meet first and / or give more weight) scan metrics over performance metrics if the confidence criteria do not meet the sufficiency threshold. Accordingly, the robotic system 100 is in front of the one or more scanners 416 one or more scan positions (ie, within the scan field) to provide at least one uncovered identifier 112 of the operation target 112. And / or suitable control sequences (including for a corresponding scanner) can be calculated.

図5Bは、本開示の一実施形態に係るロボットシステムの動作における手順の一例を示すフロー図であり、スキャンメトリックに基づいて、制御シークエンス(例えば、エンドエフェクタのための1つ以上の位置)を選択的に計算するためのフロー図538を示す。   FIG. 5B is a flow diagram illustrating an example of a procedure in the operation of the robot system according to the embodiment of the present disclosure, which determines a control sequence (for example, one or more positions for an end effector) based on a scan metric. FIG. 6 shows a flow diagram 538 for selectively calculating.

この例では、スキャンのメトリックに基づき、制御シークエンスを計算することには、ブロック552に示したように、露出した識別子332の位置のセットを計算することを含むことができる。ロボットシステム100は、操作対象112の最初のポーズに対し、露出した識別子332の位置のセット(例えば、把持位置において、エンドエフェクタでスキャン可能なままであり得る識別子332の位置334)を計算することができる。ロボットシステム100は、利用可能なアプローチ位置の各々に関する、露出した識別子332の位置334を計算することができる。露出した識別子332の位置334は、最初のポーズが正確であるとの仮定に従って、対応するアプローチ位置において、エンドエフェクタでカバーされないままである操作対象112の識別子332の位置334に対応するものとすることができる。   In this example, calculating the control sequence based on the scan metric may include calculating a set of exposed identifier 332 positions, as indicated at block 552. The robot system 100 may calculate a set of exposed identifier 332 positions (eg, a position 334 of the identifier 332 that may remain scannable by the end effector in the gripping position) for the initial pose of the manipulator 112. You can The robot system 100 can calculate the position 334 of the exposed identifier 332 for each of the available approach positions. The position 334 of the exposed identifier 332 shall correspond to the position 334 of the identifier 332 of the operation target 112 that remains uncovered by the end effector in the corresponding approach position, according to the assumption that the initial pose is correct. be able to.

ブロック542に関して上述したように、マスターデータ252は、予期される操作対象112の各々に関する識別子332の位置334を記載するコンピュータモデル又はテンプレート(例えば、1つ以上の操作対象112の縁部及び/又は画像に対してのオフセットの測定)を含むことができる。ロボットシステム100は、最初のポーズにマッチするように、マスターデータ252内の所定のモデル/テンプレートを回転及び/又は移動させることに基づき、露出した識別子332の位置のセットを計算することができる。ロボットシステム100は、エンドエフェクタに識別子332の位置334をカバーさせる(例えば、直上、前方、及び/又は閾値の距離内に置く)、アプローチ位置を除去することができる。換言すると、ロボットシステム100は、識別子332の位置334の直上、前方、及び/又は閾値の距離内にある、利用可能なアプローチ位置を除去することができる。   As described above with respect to block 542, the master data 252 may include a computer model or template (eg, edges of one or more operating targets 112 and / or templates) that describe the position 334 of the identifier 332 for each of the expected operating targets 112. Measuring the offset with respect to the image). The robot system 100 can calculate a set of exposed identifier 332 positions based on rotating and / or moving a given model / template in the master data 252 to match the initial pose. The robot system 100 can cause the end effector to cover the position 334 of the identifier 332 (eg, directly above, in front of, and / or within a threshold distance) and remove the approach position. In other words, the robot system 100 can eliminate available approach positions directly above, in front of, and / or within a threshold distance of the position 334 of the identifier 332.

ブロック554では、ロボットシステム100は、代替的な識別子332の位置334のセットを計算することができる。ロボットシステム100は、最初のポーズの代替のポーズに関し、代替的な識別子332の位置334のセットを計算することができる。利用可能なアプローチ位置の各々に関し、ロボットシステム100は、代替的ポーズを計算することができ、代替的ポーズの各々に関し、ロボットシステム100は、代替的な識別子332の位置を計算することができる。従って、代替的な識別子332の位置は、最初のポーズが正確ではないとの仮定に従って、対応するアプローチ位置において、エンドエフェクタでカバーされないままである操作対象112の識別子332の位置334に対応するものとすることができる。露出した識別子332の位置334に関して上述したように、ロボットシステム100は、代替的なポーズに従って、マスターデータ252内の所定のモデル/テンプレートを回転及び/又は移動させることに基づいて、代替的な識別子332の位置334を計算することができる。   At block 554, the robot system 100 may calculate a set of positions 334 of alternative identifiers 332. The robot system 100 can calculate a set of positions 334 of alternative identifiers 332 for the alternative poses of the initial pose. For each of the available approach positions, the robot system 100 can calculate an alternative pose, and for each of the alternative poses, the robot system 100 can calculate the position of the alternative identifier 332. Therefore, the position of the alternative identifier 332 corresponds to the position 334 of the identifier 332 of the operation target 112 that remains uncovered by the end effector in the corresponding approach position, according to the assumption that the initial pose is not correct. Can be As described above with respect to the position 334 of the exposed identifier 332, the robot system 100 may rotate and / or move a predetermined model / template in the master data 252 according to the alternative pose. The position 334 of 332 can be calculated.

ブロック556では、ロボットシステム100は、アプローチ位置の各々、代替的ポーズの各々、操作対象112の識別子332の各々、又はそれらの組合せに関する露出の可能性を計算することができる。露出の可能性は、1つ以上の操作対象112の識別子が、露出したままであるとともに、対応するアプローチ位置から、操作対象112を把持しているエンドエフェクタでスキャン可能のままである可能性を示している。露出の可能性は、最初のポーズが正確であるシナリオと、最初のポーズが正確ではないシナリオとの両方を示すことができる。換言すると、露出の可能性は、最初のポーズが正確ではない場合であっても、1つ以上の操作対象112の識別子が、露出したままであるとともにスキャン可能なままである可能性を示すことができる。   At block 556, the robot system 100 may calculate the exposure potential for each approach position, each alternative pose, each identifier 332 of the manipulator 112, or a combination thereof. The possibility of exposure is such that the identifiers of one or more operation targets 112 may remain exposed and remain scannable from the corresponding approach position with the end effector gripping the operation target 112. Shows. Possibility of exposure can indicate both scenarios where the initial pose is correct and scenarios where the initial pose is incorrect. In other words, the exposure probability indicates that the identifiers of one or more targets 112 may remain exposed and scannable, even if the initial pose is not accurate. You can

例えば、ロボットシステム100は、特定の条件(例えば、アプローチ位置、代替的なポーズ、操作対象112の識別子、又はそれらの組合せの特有の例)に対応する確率的な値等、条件に関する確実性として、露出の可能性を計算することができる。ロボットシステム100は、条件に関する確実性を、特定の条件が真であることの確実性/可能性(例えば、信頼基準に近い値)と合わせること(例えば、追加及び/又は複数倍することを介する)に基づき、露出の可能性を計算することができる。ロボットシステム100は、複数の識別子が、考慮されるアプローチ位置及び/又は考慮されるポーズに関して露出した際に、露出していると思われる識別子の各々に関する確実性を付加することに基づき、露出の可能性を計算することができる。   For example, the robotic system 100 may provide certainty about a condition, such as a probabilistic value corresponding to a particular condition (eg, approach position, alternative pose, identifier of the target 112, or a combination thereof). , The possibility of exposure can be calculated. The robot system 100 may (eg, add and / or multiply) the certainty of a condition with the certainty / likelihood (eg, close to a confidence criterion) that a particular condition is true. ), The likelihood of exposure can be calculated. The robotic system 100 is based on adding a certainty for each of the identifiers that it considers to be exposed when multiple identifiers are exposed with respect to the considered approach position and / or the considered pose. Possibility can be calculated.

ロボットシステム100は、考慮されるアプローチ位置に関する潜在的なポーズの各々等、露出した識別子の位置と代替的な識別子の位置とに基づく確実性の値を組み合わせることに基づいて、露出の可能性を計算することができる。例えば、ロボットシステム100は、露出した識別子の位置と、逆の符号(例えば、正及び負)を有する代替的な識別子の位置とに関する確実性を使用して、露出の可能性を計算することができる。ロボットシステム100は、2つの確実性の大きさを加えること、及び/又は、符号を伴う確実性を加えることに基づき、露出の可能性を計算することができる。全体の大きさは、操作対象112の1つ以上の識別子332がスキャン可能なままであることの全体の可能性を示し得、符号が付された/ベクトルの可能性は、操作対象112の1つ以上の識別子が、最初のポーズが正確ではない場合であっても、スキャン可能なままであることの可能性を示し得る。従って、最初のポーズの正確さに関わらず、操作対象112の識別子332がスキャン可能であることの類似の可能性を示すため等、アプローチ位置は、全体の大きさがより大である場合に理想的であり、符号が付された/ベクトルの可能性が、ゼロに近くなる。   The robotic system 100 determines the likelihood of exposure based on combining certainty values based on the position of the exposed identifier and the position of the alternative identifier, such as each of the potential poses for the considered approach position. Can be calculated. For example, the robot system 100 may use certainty regarding the location of the exposed identifier and the location of the alternative identifier with opposite signs (eg, positive and negative) to calculate the likelihood of exposure. it can. The robot system 100 can calculate the likelihood of exposure based on adding two confidence magnitudes and / or adding the confidence with a sign. The overall size may indicate the overall likelihood that one or more identifiers 332 of the manipulated object 112 remain scannable, and the signed / vector likelihood is 1 of the manipulated object 112. One or more identifiers may indicate the possibility of remaining scannable, even if the initial pose is not accurate. Therefore, the approach position is ideal when the overall size is larger, such as to show a similar possibility that the identifier 332 of the operation target 112 can be scanned regardless of the accuracy of the initial pose. And the likelihood of being signed / vector is close to zero.

ブロック558では、ロボットシステム100は、アプローチ位置を選択することができる。ロボットシステム100は、アプローチ位置として、露出された識別子332のセット(例えば、最初のポーズが正確であることの仮定に従う、操作対象112の識別子332の概算の位置のセット)と、代替的な識別子332のセット(例えば、最初のポーズが正確ではないことの仮定に従う、操作対象112の識別子332の概算の位置の1つ以上のセット)との両方に、カバーされていない識別子332の位置334を含む利用可能なアプローチ位置を選択することができる。換言すると、ロボットシステム100は、最初のポーズの正確さに関わらず、露出したスキャン可能である操作対象112の少なくとも1つの識別子332を残すアプローチ位置を選択することができる。ロボットシステム100は、アプローチ位置として、全体の大きさがもっとも大であるもの、及び/又は、符号が付された/ベクトルの可能性がゼロにより近いもの等、ターゲットとされる条件にマッチする、及び/又はもっとも近い露出の可能性に対応する、利用可能なアプローチ位置を選択することができる。   At block 558, the robotic system 100 may select an approach position. The robot system 100 may use a set of exposed identifiers 332 (eg, a set of approximate positions of the identifier 332 of the manipulator 112 as an approach position, subject to the assumption that the initial pose is correct) and alternative identifiers. Position 334 of the uncovered identifier 332, both with the set of 332 (eg, one or more sets of approximate positions of the identifier 332 of the target 112, subject to the assumption that the initial pose is not accurate). Available approach positions can be selected to include. In other words, the robot system 100 can select an approach position that leaves at least one identifier 332 of the exposed scannable operation target 112 regardless of the accuracy of the initial pose. The robot system 100 matches the targeted condition such as the approach position having the largest overall size and / or the signed / vector probability closer to zero. And / or an available approach position can be selected that corresponds to the closest possible exposure.

ロボットシステム100は、露出の可能性に基づき、スキャンの可能性(例えば、露出した操作対象112の識別子332が、成功してスキャンされる可能性)を計算することができる。例えば、ロボットシステム100は、露出の可能性を、対応する露出した操作対象112の識別子332に関連する評価値(例えば、成功したスキャンの追跡の割合、物理的サイズ、及び/又は識別子332のタイプ)と組み合わせることができる。ロボットシステム100は、アプローチ位置として、もっとも高いスキャンの可能性に対応する、利用可能なアプローチ位置を選択することができる。   The robot system 100 may calculate a scan possibility (eg, the identifier 332 of the exposed operation target 112 may be successfully scanned) based on the exposure possibility. For example, the robot system 100 may evaluate the exposure probability to a corresponding evaluation value (eg, percentage of successful scans tracked, physical size, and / or type of identifier 332) associated with the identifier 332 of the corresponding exposed manipulation target 112. ) Can be combined with The robot system 100 can select an available approach position corresponding to the highest scanning possibility as the approach position.

ロボットシステム100は、露出した識別子332のセットを、代替的な識別子332のセットと比較して、露出した識別子332のセット及び代替的な識別子332のセットが、操作対象112の対向する表面の位置(例えば、第1のポーズ312と第3のポーズ316との間)を含むかを判定することができる。従って、ロボットシステム100は、2つの対向する表面と直交する、第3の表面(例えば、操作対象302の外周表面326の1つ)に対応する利用可能なアプローチ位置を選択することができる。   The robot system 100 compares the set of exposed identifiers 332 with the set of alternative identifiers 332 such that the set of exposed identifiers 332 and the set of alternative identifiers 332 are located on opposite surfaces of the manipulation target 112. (Eg, between the first pose 312 and the third pose 316) may be included. Therefore, the robot system 100 can select an available approach position corresponding to a third surface (eg, one of the outer peripheral surfaces 326 of the operation target 302) orthogonal to the two opposing surfaces.

ブロック560では、信頼基準が十分性閾値を満たさない等の場合、ロボットシステム100は、選択されたアプローチ位置に基づいて、候補となる制御シークエンスを作成又は取得することができる。ロボットシステム100は、操作対象112の識別子332を、露出した識別子332のセットと代替的な識別子332のセットとの両方に置く1つ以上の提供位置/向きに対応するエンドエフェクタに関する1つ以上のスキャン位置を含む候補となる制御シークエンスを計算することができる。換言すると、ロボットシステム100は、最初のポーズの正確さに関わらず、操作対象112をスキャンすることができる候補となる制御シークエンスを計算することができる。   At block 560, the robot system 100 may create or obtain a candidate control sequence based on the selected approach position, such as if the confidence criterion does not meet the adequacy threshold. The robot system 100 places one or more identifiers 332 of the manipulated object 112 on both the set of exposed identifiers 332 and the set of alternative identifiers 332 with respect to one or more end positions corresponding to one or more provided positions / orientations. Candidate control sequences including scan positions can be calculated. In other words, the robot system 100 can calculate a candidate control sequence that can scan the operation target 112 regardless of the accuracy of the initial pose.

ロボットシステム100は、露出した識別子332のセットと、代替的な識別子332のセットとの両方において、識別子332の位置334に対処する候補となる制御シークエンスを作成又は取得することができる。例えば、ロボットシステム100は、対向する及び/又は直交する表面の、可能性のある識別子332の位置に対処する候補となる制御シークエンスを計算することができる。従って、ロボットシステム100は、最初のポーズに加え、逆向きのポーズ(例えば、操作対象112のアウトラインが視認位置/角度から同じに置かれている逆方向に向いたポーズ)、及び/又は、回転された他のポーズに対処することができる。説明の例として図3A及び図3Cを再び参照すると、ロボットシステム100は、把持位置が操作対象302の外周表面326の1つに対応する場合、第1のポーズ312と第3のポーズ316との両方に対処する候補となる制御シークエンスを計算することができる。   The robot system 100 can create or obtain candidate control sequences that address the location 334 of the identifier 332 in both the exposed set of identifiers 332 and the alternative set of identifiers 332. For example, the robot system 100 can calculate candidate control sequences that address possible identifier 332 locations on opposing and / or orthogonal surfaces. Therefore, in addition to the initial pose, the robot system 100 may perform a reverse pose (for example, a reverse pose in which the outline of the operation target 112 is located at the same position from the view position / angle) and / or a rotation. Can deal with other poses that have been made. Referring back to FIGS. 3A and 3C as an example of the description, the robot system 100 has a first pose 312 and a third pose 316 when the grip position corresponds to one of the outer peripheral surfaces 326 of the operation target 302. Candidate control sequences can be calculated that address both.

複数の可能性のあるポーズに対処する(例えば、最初のポーズにおけるエラーの概算)ために、ロボットシステム100は、操作対象112の識別子332を、露出した識別子332のセットと、代替的な識別子332のセットとの両方に置くスキャンポーズを計算することができる。ブロック562で示すように、ロボットシステム100は、スキャンフィールド内又はスキャンフィールドを通して、操作対象112に関する候補のポーズのセットを計算することができる。アプローチ位置が選択されると、ロボットシステム100は、スキャンフィールド内に識別子332の位置334を配置するように、識別子332の位置334のモデルを回転及び/又は移動させること等により、ブロック542に関して上述したように、候補となるスキャン位置を計算することができる。   To address multiple possible poses (eg, estimate the error in the first pose), the robot system 100 sets the identifier 332 of the manipulator 112 to a set of exposed identifiers 332 and an alternative identifier 332. You can calculate the scan pose to put on both the set and. As indicated by block 562, the robotic system 100 may calculate a set of candidate poses for the manipulator 112 within or through the scan field. Once the approach position is selected, the robot system 100 may rotate and / or move the model of the position 334 of the identifier 332 to position the position 334 of the identifier 332 within the scan field, etc., as described above with respect to block 542. As described above, the candidate scan position can be calculated.

ブロック564では、ロボットシステム100は、露出した識別子332のセットと、代替的な識別子332のセットとを、候補となるスキャン位置の各々にマッピングすることができる。ロボットシステム100は、最初のポーズを始点とし、識別子332の位置335のモデルを回転させることに基づき、露出した識別子332のセットをマッピングすることができる。ロボットシステム100は、代替的なポーズの1つ(例えば、逆向きのポーズ)を始点とし、識別子332の位置334のモデルを回転させることに基づき、代替的な識別子332のセットをマッピングすることができる。   At block 564, the robot system 100 may map the exposed set of identifiers 332 and the alternative set of identifiers 332 to each of the candidate scan positions. The robot system 100 can map the exposed set of identifiers 332 based on rotating the model at the position 335 of the identifier 332 starting from the first pose. The robot system 100 may map a set of alternative identifiers 332 based on rotating the model at position 334 of identifiers 332 starting from one of the alternative poses (eg, the reverse pose). it can.

識別子332の位置334がマッピングされると、ブロック568において、ロボットシステム100は、露出した識別子332のセットと、代替的な識別子332のセットとの両方における操作対象112の識別子332の位置334及び/又は向きを、スキャンフィールドと比較することができる。決定ブロック570では、ロボットシステム100は、候補のポーズが、露出した識別子332のセットと、代替的な識別子332のセットとの両方における操作対象112の識別子332をスキャナに同時に提供したかを判定することができる。   Once the location 334 of the identifier 332 has been mapped, at block 568, the robot system 100 causes the location 334 and / or the location 334 of the identifier 332 of the operation target 112 in both the set of exposed identifiers 332 and the set of alternative identifiers 332. Alternatively, the orientation can be compared to the scan field. At decision block 570, the robot system 100 determines whether the candidate pose simultaneously provided the scanner with the identifier 332 of the manipulated object 112 in both the set of exposed identifiers 332 and the set of alternative identifiers 332. be able to.

ブロック572では、ロボットシステム100は、露出した識別子332のセットと代替的な識別子332のセットとの両方における操作対象112の識別子332を、異なるスキャナ/スキャンフィールドに同時に提供する候補のポーズを、スキャンポーズとして識別することができる。例えば、露出した操作対象112の識別子332のセットと代替的な識別子332のセットとにおける操作対象112の位置が対向する表面上にある状態で、把持位置が操作対象112の外周表面326の1つに対応する場合、ロボットシステム100は、操作対象112の両側の表面の各々がスキャナの1つに向いた状態で、対向/対面している一対のスキャナの間に操作対象112を置くスキャンポーズを識別することができる。   At block 572, the robot system 100 scans for candidate poses that simultaneously provide the identifiers 332 of the target 112 in both the set of exposed identifiers 332 and the set of alternative identifiers 332 to different scanner / scan fields. Can be identified as a pose. For example, when the position of the operation target 112 in the set of exposed identifiers 332 of the operation target 112 and the set of alternative identifiers 332 is on the opposite surface, the grip position is one of the outer peripheral surfaces 326 of the operation target 112. In the scan pose, the robot system 100 places the operation target 112 between a pair of facing / facing scanners, with the surfaces on both sides of the operation target 112 facing one of the scanners. Can be identified.

ブロック574では、候補のポーズのどれも、露出した操作対象112の識別子332のセットと代替的な識別子332のセットとの両方において、操作対象112の識別子332を同時に提供しない場合、ロボットシステム100は、露出した操作対象112の識別子332のセット及び代替的な識別子332のセットから、各々が少なくとも1つの操作対象112の識別子332を提供する複数のスキャン位置(例えば、第1のスキャン位置及び第2のスキャン位置)を計算することができる。例えば、第1のスキャン位置は、露出した操作対象112の識別子332のセット内の1つ以上の識別子332の位置334を、対象スキャナの1つに提供することができ、第2のスキャン位置は、代替的な操作対象112の識別子332のセット内の1つ以上の識別子332の位置334を、スキャナの1つに提供することができる。第2のスキャン位置は、第1のスキャン位置から、エンドエフェクタを軸周りに回転させること、エンドエフェクタを平行移動すること、又はそれらの組合せに関連し得る。   At block 574, if none of the candidate poses provide the identifier 332 of the manipulated object 112 at the same time in both the set of identifiers 332 of the exposed manipulated object 112 and the set of alternative identifiers 332, the robot system 100 determines. , A plurality of scan positions (eg, a first scan position and a second scan position) each of which provides at least one identifier 332 of the manipulation target 112 from the set of identifiers 332 of the manipulation target 112 and the set of alternative identifiers 332. Can be calculated). For example, the first scan position may provide one of the target scanners with a position 334 of one or more identifiers 332 in the set of identifiers 332 of the exposed manipulation target 112, and a second scan position may be , The position 334 of one or more identifiers 332 within the set of identifiers 332 of the alternative operation target 112 may be provided to one of the scanners. The second scan position may be associated with rotating the end effector about an axis, translating the end effector, or a combination thereof from the first scan position.

ふたたび図4A及び図4Bに示す例を参照すると、第2の制御シークエンス424は、上述のように、2つの対向する表面(例えば、第1のポーズ312及び第3のポーズ316に関する)に直交する第3の表面(例えば、操作対象112の外周表面326の1つ)に対応する、第2のアプローチ位置434に対応するものとすることができる。従って、第1のスキャン位置は、最初のポーズ(例えば、第1のポーズ312)に対応する表面(例えば、操作対象112の底部表面324であると概算される)を、上に向いたスキャナ416の上であるとともにこのスキャナに向く第2の提供位置444の一つの第1の位置に対応し得る。第2のスキャン位置は、操作対象112を90度だけ、例えば、概してスタート位置114から作業位置116への全体の移動方向に対して反時計回りの方向に回転させた第2の提供位置444の一つの第2の位置に対応するものとすることができる。従って、第2のスキャン位置は、代替的なポーズ(例えば、第3のポーズ316)に対応する表面(例えば、操作対象112の底部表面324であると判断される)を、水平に向いたスキャナ416の前方及びこのスキャナ416に向く垂直な向きに配置する第2の提供位置444に対応するものとすることができる。   Referring again to the example shown in FIGS. 4A and 4B, the second control sequence 424 is orthogonal to two opposing surfaces (eg, for the first pose 312 and the third pose 316), as described above. It may correspond to the second approach position 434, which corresponds to the third surface (eg, one of the outer peripheral surfaces 326 of the operation target 112). Thus, the first scan position is a scanner 416 with its surface (e.g., estimated to be the bottom surface 324 of the manipulator 112) corresponding to the first pose (e.g., the first pose 312) facing up. Corresponding to a first position of one of the second providing positions 444 above and facing the scanner. The second scanning position is the second providing position 444 obtained by rotating the operation target 112 by 90 degrees, for example, in the counterclockwise direction with respect to the general movement direction from the start position 114 to the working position 116. It may correspond to one second position. Thus, the second scan position is a scanner with the surface (eg, determined to be the bottom surface 324 of the operation target 112) corresponding to the alternative pose (eg, the third pose 316) oriented horizontally. It may correspond to a second providing position 444, which is arranged in front of 416 and in a vertical orientation towards this scanner 416.

結果として得られるスキャンポーズ及び/又はスキャン位置のセットに従って、ロボットシステム100は、候補の制御シークエンスを作成又は取得することができる。ロボットシステム100は、上述の1つ以上のメカニズム(例えば、A*メカニズム)を使用して、エンドエフェクタを選択されたアプローチ位置に置き、それに応じて操作対象112に接触及び把持し、また、操作対象112を、識別されたスキャンポーズ及び/又はスキャン位置のセットまで、持ち上げるとともに移動する候補のプランを計算することができる。例えば、スキャンポーズが識別されると、ロボットシステム100は、候補のプランを計算して、スキャンフィールド内又はスキャンフィールドを通る操作対象112に関するスキャンポーズを確立することができる。ロボットシステム100がスキャンポーズを識別しない場合、ロボットシステム100は、候補のプランを計算して、複数のスキャン位置のセットを連続して通るようにエンドエフェクタを移動/方向付けすることができ、それにより、複数の提供位置/向きに従って、操作対象112を連続して移動/回転させる。   According to the resulting set of scan poses and / or scan positions, the robot system 100 can create or obtain candidate control sequences. The robot system 100 uses one or more of the mechanisms described above (eg, the A * mechanism) to position the end effector at a selected approach position and contact and grip the manipulator 112 accordingly and also manipulate. Candidate plans for lifting and moving the subject 112 to a set of identified scan poses and / or scan positions can be calculated. For example, once a scan pose is identified, the robot system 100 can calculate candidate plans and establish a scan pose for the manipulator 112 within or through the scan field. If the robot system 100 does not identify a scan pose, the robot system 100 can calculate a candidate plan and move / orient the end effector to sequentially pass through a set of scan positions, Thus, the operation target 112 is continuously moved / rotated according to the plurality of providing positions / directions.

ブロック576では、ロボットシステム100は、候補の制御シークエンスの各々に関するスキャンの可能性を再作成又はアップデートすることができる。ロボットシステム100は、ブロック544に関して上述した様々な可能性及び/又は優先度(例えば、アプローチ位置、スキャン位置、利用されるスキャナ416、露出していると思われる識別子332、関連するエラー、及び/又は損失率、又はそれらの組合せに関する、可能性及び/又はスコア)を組み合わせることに基づくが、性能のメトリックの代わりに、スキャンのメトリックに関して、スキャンの可能性をアップデートすることができる。   At block 576, the robot system 100 may recreate or update the scan possibilities for each of the candidate control sequences. Robot system 100 may perform various possibilities and / or priorities (eg, approach position, scan position, scanner 416 utilized, suspected exposed identifier 332, associated error, and / or various possibilities and / or priorities described above with respect to block 544. Alternatively, the scan likelihood can be updated with respect to the metric of the scan instead of the performance metric, but based on a combination of probability and / or score), or loss rate, or a combination thereof.

ブロック578では、ロボットシステム100は、スキャンの可能性に従って、候補のプランの選択に基づき、制御シークエンスを作成又は取得することができる。ロボットシステム100は、制御シークエンスとして、候補のプランの中でスキャンの可能性が最大である候補のプランを選択することができる。例えば、ロボットシステム100は、例えば、スタート位置114と作業位置116との間の空間のスキャンのための操作対象112の移動の間、1つ以上のスキャンフィールド(すなわち、1つ以上のスキャナ416の前)における、露出した識別子332の位置334の少なくとも1つ及び代替的な識別子332の位置334の少なくとも1つを配置することの可能性がもっとも高い候補のプランを選択することができる。   At block 578, the robotic system 100 may create or obtain a control sequence based on the selection of candidate plans according to the scan likelihood. The robot system 100 can select, as a control sequence, a candidate plan having the highest possibility of scanning among the candidate plans. For example, the robot system 100 may, for example, move one or more scan fields (i.e., one or more scanners 416) during movement of the manipulator 112 for scanning the space between the start position 114 and the work position 116. In the previous), the candidate plan most likely to place at least one of the exposed identifier 332 positions 334 and at least one of the alternative identifier 332 positions 334 can be selected.

比較的小さい差異の値(例えば、所定の閾値)内で、2つ以上の候補のプランがスキャンの可能性に対応する場合、ロボットシステム100は、対応する候補のプランに対応する性能のメトリックを(例えば、ブロック544及びブロック546に関して上述したように)計算及び評価することができる。ロボットシステム100は、制御シークエンスとして、ターゲットとされる条件にもっとも近い候補のプランを選択することができる。   If more than one candidate plan corresponds to a scan probability within a relatively small difference value (eg, a predetermined threshold), the robot system 100 determines a performance metric corresponding to the corresponding candidate plan. It can be calculated and evaluated (eg, as described above with respect to blocks 544 and 546). The robot system 100 can select a candidate plan that is the closest to the targeted condition as the control sequence.

ロボットシステム100は、図示の例示的フローから外れることができる。例えば、ロボットシステム100は、上述のように、アプローチ位置を選択することができる。選択されたアプローチ位置に基づき、ロボットシステム100は、操作対象112を把持し、持ち上げ、再度の方向付け、水平移動、下に戻すとともに解放する、又はそれらの組合せ等、動きの所定のセットを実施することができる。動きの所定のセットの間又は後に、ロボットシステム100は、(例えば、ブロック502に戻るようにループすることを介して)ピックアップエリアを再度撮像又はスキャンし、最初のポーズ及び信頼基準(例えば、ブロック522及びブロック524を介する)を再度判定することができる。   The robot system 100 may deviate from the exemplary flow shown. For example, the robot system 100 can select the approach position, as described above. Based on the selected approach position, the robot system 100 performs a predetermined set of movements, such as grasping, lifting, reorienting, moving horizontally, returning and releasing, or a combination thereof. can do. During or after the predetermined set of movements, the robotic system 100 re-images or scans the pickup area (eg, via looping back to block 502) to determine the initial pose and confidence criteria (eg, block). 522 and via block 524) can again be determined.

図5Aに戻ると、ブロック508において、ロボットシステム100は、結果としての制御シークエンスの実施を開始することができる。ロボットシステム100は、制御シークエンスのコマンド及び/又は設定を他のデバイス(例えば、対応する作動デバイス212及び/又は他のプロセッサ)に送信して、作業402,404を実行するように1つ以上のプロセッサ202を操作することに基づく制御シークエンスを実施することができる。従って、ロボットシステム100は、コマンド若しくは設定、又はそれらの組合せのシークエンスに応じて、作動デバイス212を操作することにより、制御シークエンスを実行することができる。例えば、ロボットシステム100は、作動デバイス212を操作して、エンドエフェクタをスタート位置114周りのアプローチ位置に配置すること、操作対象112に接触及び把持すること、又はそれらの組合せを行うことができる。   Returning to FIG. 5A, at block 508, the robot system 100 can begin performing the resulting control sequence. The robot system 100 may send control sequence commands and / or settings to other devices (eg, corresponding actuating devices 212 and / or other processors) to perform one or more tasks 402, 404. A control sequence based on operating the processor 202 may be implemented. Accordingly, the robot system 100 can execute the control sequence by manipulating the actuating device 212 in response to a sequence of commands or settings, or a combination thereof. For example, the robot system 100 can operate the actuation device 212 to position the end effector in an approach position around the start position 114, contact and grip the operation target 112, or a combination thereof.

ブロック582では、ロボットシステム100は、エンドエフェクタをスキャン位置に移動することができ、それにより、操作対象112を提供位置/向きに移動する。例えば、操作対象112をスタート位置114から持ち上げた後、又は持ち上げるのに伴い、ロボットシステム100は、エンドエフェクタを移動して、操作対象112に関するスキャンポーズを確立することができる。また、ロボットシステム100は、エンドエフェクタを第1のスキャン位置に移動することができる。   At block 582, the robotic system 100 may move the end effector to the scan position, thereby moving the manipulator 112 to the serving position / orientation. For example, the robot system 100 may move the end effector to establish a scan pose for the operation target 112 after or after the operation target 112 is lifted from the start position 114. In addition, the robot system 100 can move the end effector to the first scan position.

ブロック584では、ロボットシステム100は、スキャナ416を操作して、操作対象112をスキャンすることができる。例えば、1つ以上のプロセッサ202は、コマンドをスキャナ416に送信して、スキャンを実施する、及び/又は、質問をスキャナ416に送信して、スキャンステータス及び/又はスキャンされた値を受信することができる。ブロック585等において、制御シークエンスがスキャンポーズを含む場合、ロボットシステム100は、制御シークエンスを実施して、スキャンフィールドの向きに直交する方向に、スキャンフィールドにわたって、スキャンポーズの操作対象112を移動することができる。操作対象112が移動される間、スキャナ416は、操作対象112の識別子332の複数の可能性のある位置334に関する複数の表面を(同時に、及び/又は連続して)スキャンすることができる。   At block 584, the robot system 100 may operate the scanner 416 to scan the operation target 112. For example, one or more processors 202 may send commands to scanner 416 to perform a scan and / or send queries to scanner 416 to receive scan status and / or scanned values. You can If the control sequence includes a scan pose, such as at block 585, the robotic system 100 may perform the control sequence to move the scan pose target 112 across the scan field in a direction orthogonal to the scan field orientation. You can While the manipulator 112 is moved, the scanner 416 can scan multiple surfaces (simultaneously and / or sequentially) for a plurality of possible locations 334 of the identifier 332 of the manipulator 112.

決定ブロック586では、ロボットシステム100は、スキャン結果(例えば、ステータス及び/又はスキャンされた値)を評価して、操作対象112がスキャンされたかどうかを判定することができる。例えば、ロボットシステム100は、制御シークエンスを、第1のスキャン位置まで実施した後に、スキャン結果を評価することができる。ブロック588等において、スキャン結果が、操作対象112のスキャンが成功したことを示す(例えば、ステータスが、有効なコード/識別子の検出に対応する、及び/又は、スキャンされた値が、識別された/予期された操作対象112にマッチする)場合、ロボットシステム100は、操作対象112を作業位置116に移動することができる。スキャンが成功したことに基づき、ロボットシステム100は、任意の後のスキャン位置(例えば、第2のスキャン位置)を無視し、操作対象112を作業位置116に直接移動することができる。   At decision block 586, the robot system 100 may evaluate the scan result (eg, status and / or scanned value) to determine if the manipulator 112 has been scanned. For example, the robot system 100 can evaluate the scan result after performing the control sequence up to the first scan position. At block 588, the scan result indicates that the scan of the operation target 112 was successful (eg, the status corresponds to detection of a valid code / identifier and / or the scanned value has been identified. (/ Matches the expected operation target 112), the robot system 100 can move the operation target 112 to the work position 116. Based on the successful scan, the robot system 100 can move the operation target 112 directly to the work position 116, ignoring any subsequent scan position (eg, the second scan position).

スキャン結果が、操作対象112のスキャンが成功しなかったことを示す場合、ロボットシステム100は、決定ブロック590において、現在のスキャン位置が、制御シークエンスにおける最後のものであるかどうかを判定することができる。最後の制御シークエンスではない場合、ロボットシステム100は、ブロック582へ戻るループによって示されるように、操作対象112を次の提供位置/向きに移動することができる。   If the scan result indicates that the scan of the manipulator 112 was not successful, the robot system 100 may determine at decision block 590 whether the current scan position is the last one in the control sequence. it can. If not the last control sequence, the robot system 100 may move the manipulator 112 to the next serving position / orientation, as indicated by the loop back to block 582.

現在のスキャン位置が、制御シークエンスにおける最後のものである場合、ロボットシステム100は、ブロック592で示すように、1つ以上の改善作業を実施することができる。ロボットシステム100は、制御シークエンスにおけるスキャン位置のすべてに関するスキャン結果が、スキャンの失敗を示す場合、制御シークエンスを停止及び/又はキャンセルすることができる。ロボットシステム100は、操作者に知らせるためのエラーのステータス/メッセージを生成することができる。ロボットシステム100は、スキャンが失敗した操作対象112に関して指定されたエリア内(すなわち、スタート位置114及び作業位置116とは異なる位置)に、操作対象112を配置することができる。   If the current scan position is the last one in the control sequence, the robot system 100 may perform one or more remediation tasks, as indicated by block 592. The robot system 100 may stop and / or cancel the control sequence if the scan results for all of the scan positions in the control sequence indicate a scan failure. The robot system 100 can generate error status / messages to inform the operator. The robot system 100 can arrange the operation target 112 in an area (that is, a position different from the start position 114 and the work position 116) specified for the operation target 112 for which the scan has failed.

作業402,404(すなわち、操作対象112のスキャンを成功し、作業位置116に置くこと)を成功して完了したか、あるいは改善作業を実施したかに基づき、ロボットシステム100は、次の作業/操作対象112に移動することができる。ロボットシステム100は、ブロック502に戻るループによって示すように、指定されたエリアを再スキャンすることができ、また、ブロック504に戻るループによって示すように、既存の撮像データを使用して、次の操作対象112を選択することができる。   Based on whether the work 402, 404 (that is, the scan of the operation target 112 is successful and the work target 112 is placed at the work position 116) has been completed successfully or the improvement work has been performed, the robot system 100 determines the next work / It is possible to move to the operation target 112. The robot system 100 may rescan the designated area, as indicated by the loop back to block 502, and may use the existing imaging data to move to the next area as indicated by the loop back to block 504. The operation target 112 can be selected.

空間内(例えば、スタート位置114と作業位置116との間の位置)で操作対象112をスキャンすることにより、作業402,404を実行することに関する効率及び速度が向上される。スキャン位置を含む制御シークエンスであって、スキャナ416と協働もする制御シークエンスを計算することにより、ロボットシステム100は、操作対象112を移動するための作業を、操作対象112をスキャンするための作業と効果的に組み合わせることができる。さらに、最初のポーズの信頼基準に従って制御シークエンスを作成又は取得することにより、スキャン作業に関する効率、速度、及び精度がさらに向上する。上述のように、ロボットシステム100は、最初のポーズが正確ではないというシナリオに対応する代替的な向きに対処する制御シークエンスを作成又は取得することができる。従って、ロボットシステム100は、較正エラー、予期しないポーズ、予期しない光の条件等に起因するもの等、ポーズの判定のエラーを伴う場合であっても、操作対象112を正確に/成功的にスキャンする可能性を増大させることができる。正確なスキャンの可能性の増大は、ロボットシステム100に関する全体のスループットの増大につながるとともに、操作者の労力/介入をさらに低減することができる。   Scanning the operation target 112 in space (eg, a position between the start position 114 and the work position 116) improves efficiency and speed with respect to performing the works 402, 404. By calculating a control sequence that includes a scan position and that also cooperates with the scanner 416, the robot system 100 performs a task of moving the operation target 112 and a task of scanning the operation target 112. Can be effectively combined with. Moreover, creating or obtaining the control sequence according to the confidence criteria of the initial pose further improves efficiency, speed, and accuracy with respect to scanning operations. As described above, the robot system 100 can create or obtain a control sequence that addresses alternative orientations that correspond to scenarios where the initial pose is not accurate. Therefore, the robot system 100 accurately / successfully scans the operation target 112 even when there is a pose determination error such as a calibration error, an unexpected pose, an unexpected light condition, or the like. The possibility of doing so can be increased. The increased likelihood of accurate scanning can lead to an increase in overall throughput for the robot system 100 and can further reduce operator effort / intervention.

[まとめ]
本開示の実施例の上述の発明を実施するための形態は、排他的であるか、本開示を上記に開示の明確な形態に限定されることは意図されていない。本開示に関する特定の実施例が、説明の目的のために上述されているが、様々な均等の変形形態が、当業者が認識することになるように、本開示の範囲内で可能である。例えば、プロセス又はブロックが所与の順番で提供されているが、代替的な実施態様により、異なる順番で、ステップを有するルーチンを実施するか、ブロックを有するシステムを採用する場合があり、また、いくつかのプロセス又はブロックは、削除、移動、追加、細分化、結合、及び/又は変形されて、代替的又はサブの組合せを提供する場合がある。これらプロセス又はブロックの各々は、様々な異なる方法で実施される場合がある。また、プロセス又はブロックが、図示の時点で、連続して実施されるものであるが、これらプロセス又はブロックは、代わりに、並行して実施されるか実行される場合があり、あるいは、異なる時間に実施される場合がある。さらに、本明細書に示されたあらゆる特定の数は、実施例にすぎず、代替的実施態様では、異なる値又はレンジが採用される場合がある。
[Summary]
The forms for carrying out the above invention of the embodiments of the present disclosure are not intended to be exclusive or to limit the present disclosure to the explicit forms disclosed above. Although particular embodiments of the present disclosure have been described above for purposes of illustration, various equivalent variations are possible within the scope of the present disclosure, as those skilled in the relevant art will recognize. For example, although processes or blocks are provided in a given order, alternative implementations may implement routines with steps or employ systems with blocks in different orders, and Some processes or blocks may be deleted, moved, added, subdivided, combined, and / or modified to provide alternative or sub-combinations. Each of these processes or blocks may be implemented in a variety of different ways. Also, while processes or blocks are performed sequentially at the times shown, these processes or blocks may instead be performed or performed in parallel, or at different times. May be carried out. Moreover, any particular numbers provided herein are examples only, and alternative embodiments may employ different values or ranges.

これら及び他の変更は、上述の発明を実施するための形態に照らして、本開示に行うことができる。発明を実施するための形態には、本開示の特定の実施例と、想定されるベストモードとが記載されているが、本開示は、上述の説明が、テキストにおいてどれだけ詳細に示されるかに関わらず、多くの方法で実施することができる。本システムの詳細は、その特定の実施態様において、著しく変化する場合があるが、依然として、本明細書に開示の技術に包含されている。上述のように、本開示の特定の特徴又は態様を記載する際に使用された特定の用語は、その用語が、用語が関連付けられた本開示の特定の特性、特徴、又は態様のいずれにも限定されるように本明細書で再定義されることを暗示するものとは取られないものとする。従って、本発明は、添付の特許請求の範囲によるものを除き、限定されない。概して、添付の特許請求の範囲で使用される用語は、上述の発明を実施するための形態のセクションが、そのような用語を明示的に規定していない限り、本開示を、明細書に開示の特定の実施例に制限するようには解釈されないものとする。   These and other changes can be made to the present disclosure in light of the above-described modes for carrying out the invention. While the mode for carrying out the invention describes specific embodiments of the present disclosure and the best modes envisioned, the present disclosure describes how detailed the above description is in the text. Regardless, it can be implemented in many ways. The details of the system, which may vary significantly in its particular implementation, are still encompassed by the technology disclosed herein. As mentioned above, a particular term used in describing a particular feature or aspect of this disclosure refers to any particular characteristic, feature, or aspect of this disclosure to which the term is associated. It is not meant to be redefined herein as limiting. Therefore, the present invention is not limited, except by the appended claims. In general, the terminology used in the appended claims discloses the present disclosure in the specification, unless the section of the Detailed Description of the Invention sets out such term explicitly. It should not be construed as limiting to any particular embodiment of.

本発明の特定の態様が、特定の特許請求の範囲の形態で添付のように与えられているが、本出願人は、任意の数の請求項の形態で、本発明の様々な態様を想定している。従って、本出願人は、本出願又は継続出願において、本出願を出願した後に、さらなる特許請求の範囲を実行する権利を留保して、そのような追加の請求項の形態を実行する。   While particular aspects of the invention are provided in the accompanying claims in the form of specific claims, Applicants contemplate the various aspects of the invention in the form of any number of the claims. is doing. Accordingly, Applicants reserve the right, in this application or in its continuation application, to carry out further claims after filing this application and to carry out such additional claim forms.

100…ロボットシステム、102…荷下ろしユニット、104…移送ユニット、106…輸送ユニット、108…荷積みユニット、112…操作対象、114…スタート位置、116…作業位置、118…持ち替え位置、202…プロセッサ、204…ストレージデバイス、206…通信デバイス、208…入力−出力デバイス、210…ディスプレイ、212…作動デバイス、214…移送モータ、216…センサ、222…撮像デバイス、224…位置センサ、226…接触センサ、252…マスターデータ、254…追跡データ、302…操作対象、304…第1の露出表面、306…第2の露出表面、312…第1のポーズ、314…第2のポーズ、316…第3のポーズ、322…頂部表面、324…底部表面、326…外周表面、332…識別子、334…識別子の位置、402,404…作業、412,416…スキャナ、414…ロボットアーム、422…第1の制御シークエンス、424…第2の制御シークエンス、432…第1のアプローチ位置、434…第2のアプローチ位置、442…第1の提供位置、444…第2の提供位置、450…収納容器、464…自走式台車、464…パレット、466…距離測定デバイス、468…仮置き台、472,474…制御シークエンス。

100 ... Robot system, 102 ... Unloading unit, 104 ... Transfer unit, 106 ... Transport unit, 108 ... Loading unit, 112 ... Operation target, 114 ... Start position, 116 ... Working position, 118 ... Holding position, 202 ... Processor , 204 ... Storage device, 206 ... Communication device, 208 ... Input-output device, 210 ... Display, 212 ... Actuating device, 214 ... Transfer motor, 216 ... Sensor, 222 ... Imaging device, 224 ... Position sensor, 226 ... Contact sensor , 252 ... Master data, 254 ... Tracking data, 302 ... Operation target, 304 ... First exposed surface, 306 ... Second exposed surface, 312 ... First pose, 314 ... Second pose, 316 ... Third Pose, 322 ... Top surface, 324 ... Bottom surface, 326 ... Peripheral surface, 332 ... Identifier, 334 ... Identifier position, 402, 404 ... Work, 412, 416 ... Scanner, 414 ... Robot arm, 422 ... First Control sequence, 424 ... Second control sequence, 432 ... First approach position, 434 ... Second approach position, 442 ... First providing position, 444 ... Second providing position, 450 ... Storage container, 464 ... Self-propelled trolley, 464 ... Pallet, 466 ... Distance measuring device, 468 ... Temporary stand, 472, 474 ... Control sequence.

Claims (14)

ロボットアーム及びエンドエフェクタを有するロボットを含むロボットシステムの制御方法であって、
前記エンドエフェクタが操作対象を把持するアプローチ位置を取得することと、
前記操作対象の識別子をスキャンするスキャン位置を取得することと、
前記アプローチ位置及び前記スキャン位置に基づいて、制御シークエンスを作成又は取得し、該制御シークエンスの実行を前記ロボットに指令することと、
を含み、
前記制御シークエンスは、下記(1)〜();
(1)前記操作対象をスタート位置から把持すること、
(2)前記操作対象の識別情報を、前記スタート位置と作業位置との間に位置するスキャナでスキャンすること、
(3)所定条件を満たすときに、前記操作対象を、持ち替え位置において、前記エンドエフェクタから一旦解放し、かつ、持ち替えるように前記エンドエフェクタで再度把持すること、
(4)前記操作対象を前記作業位置に移動すること、
(5)前記操作対象を持ち替えて前記エンドエフェクタで把持する方向を変更した場合に、前記作業位置における前記操作対象の収納効率が高められることを、前記所定条件として設定すること、及び、
(6)前記操作対象を持ち替える前の前記作業位置における収納効率、及び、前記操作対象を持ち替えた後の前記作業位置における収納効率を計算すること、
を含む、ロボットシステムの制御方法。
A method for controlling a robot system including a robot having a robot arm and an end effector, comprising:
Acquiring an approach position at which the end effector grips an operation target,
Acquiring a scan position for scanning the identifier of the operation target;
Creating or acquiring a control sequence based on the approach position and the scan position, and instructing the robot to execute the control sequence;
Including,
The control sequence is the following (1) to ( 6 );
(1) Grasping the operation target from the start position,
(2) scanning the identification information of the operation target with a scanner located between the start position and the work position,
(3) When the predetermined condition is satisfied, the operation target is temporarily released from the end effector at the holding position and is re-gripped by the end effector so as to be held again.
(4) moving the operation target in the working position,
(5) It is set as the predetermined condition that the storage efficiency of the operation target at the work position is enhanced when the operation target is changed and the gripping direction of the end effector is changed, and
(6) calculating the storage efficiency in the work position before the operation target is changed and the storage efficiency in the work position after the operation target is changed,
A method for controlling a robot system, including:
前記制御シークエンスは、下記(7)及び(8);
(7)前記操作対象の高さを取得すること、及び、
(8)前記操作対象の高さに基づいて、前記収納効率を計算すること、
を含む、請求項に記載のロボットシステムの制御方法。
The control sequence is the following (7) and (8);
(7) Obtaining the height of the operation target, and
(8) calculating the storage efficiency based on the height of the operation target,
The control method of the robot system according to claim 1 , further comprising:
前記操作対象の高さは、前記操作対象の頂部表面の高さ位置と、前記エンドエフェクタに把持された状態で測定された前記操作対象の底部表面の高さ位置とから、計算する、
請求項に記載のロボットシステムの制御方法。
The height of the operation target is calculated from the height position of the top surface of the operation target and the height position of the bottom surface of the operation target measured in a state gripped by the end effector,
The control method of the robot system according to claim 2 .
前記操作対象の高さは、前記スキャナで前記操作対象をスキャンする際に測定される、
請求項又はに記載のロボットシステムの制御方法。
The height of the operation target is determined when scanning the operation target by the scanner,
Control method of a robot system according to claim 2 or 3.
前記制御シークエンスは、(9)前記所定条件を満たすときに、前記操作対象を、前記持ち替え位置において、仮置き台に載置して前記エンドエフェクタから一旦解放することを含む、請求項1〜の何れかに記載のロボットシステムの制御方法。 The control sequences may (9) when the predetermined condition is satisfied includes the operation target in the re-holding position, temporarily released from the end effector is placed on the temporary placement table, according to claim 1-4 7. A method for controlling a robot system according to any one of 1. 前記操作対象を含むピックアップエリアを示す撮像データを取得することと、
前記撮像データに基づいて、前記操作対象の最初のポーズを判定することと、
前記操作対象の最初のポーズに関する信頼基準を計算することと、
前記信頼基準に基づいて、前記アプローチ位置及び前記スキャン位置を取得すること、
を更に含む、請求項1〜の何れかに記載のロボットシステムの制御方法。
Acquiring imaging data indicating a pickup area including the operation target,
Determining a first pose of the operation target based on the imaging data,
Calculating a confidence criterion for the first pose of the manipulator;
Obtaining the approach position and the scan position based on the confidence criterion,
Further comprising, a control method of a robot system according to any one of claims 1 to 5.
前記制御シークエンスは、(10)前記信頼基準を十分性閾値と比較した結果に基づいて、性能のメトリック及び/又はスキャンのメトリックに従って、前記アプローチ位置及び前記スキャン位置を選択的に計算すること、
を含み、
前記スキャンのメトリックは、前記操作対象の最初のポーズに関する信頼基準に拘わらず、前記操作対象の識別子が前記エンドエフェクタによって覆われない可能性に関連するものである、
請求項に記載のロボットシステムの制御方法。
(10) selectively calculating the approach position and the scan position according to a performance metric and / or a scan metric based on a result of comparing the confidence criterion with a sufficiency threshold;
Including,
The scan metric is related to the likelihood that the identifier of the manipulator will not be covered by the end effector, regardless of the confidence criterion regarding the initial pose of the manipulator.
The control method of the robot system according to claim 6 .
前記アプローチ位置及び前記スキャン位置は、前記信頼基準が十分性閾値を満たさない場合に、前記スキャンのメトリックに基づいて取得され、又は、前記性能のメトリックよりも前記スキャンのメトリックを優先し、該スキャンのメトリックに基づいて取得される、
請求項に記載のロボットシステムの制御方法。
The approach position and the scan position are obtained based on the metric of the scan when the confidence criterion does not meet a sufficiency threshold, or prioritize the metric of the scan over the metric of the performance, Obtained based on the metric of
The control method of the robot system according to claim 6 .
前記アプローチ位置及び前記スキャン位置は、前記信頼基準が十分性閾値を満たす場合に、前記性能のメトリックに基づいて取得される、
請求項に記載のロボットシステムの制御方法。
The approach position and the scan position are obtained based on the performance metric if the confidence criterion meets a sufficiency threshold,
The control method of the robot system according to claim 6 .
前記制御シークエンスは、下記(11)及び(12);
(11)前記操作対象の識別情報を、前記スキャナに提供するための第1のスキャン位置と、前記操作対象の代替的な識別情報を、前記スキャナに提供するための第2のスキャン位置とを取得すること、及び、
(12)前記操作対象を前記第1のスキャン位置まで移動した後に、スキャン結果が成功したスキャンを示す場合には、前記操作対象を前記作業位置に移動し、かつ、前記第2のスキャン位置を無視すること、又は、スキャン結果が失敗したスキャンを示す場合には、前記操作対象を前記第2のスキャン位置に移動すること、
を含む、請求項1〜の何れかに記載の制御方法。
The control sequence is the following (11) and (12);
(11) A first scan position for providing the identification information of the operation target to the scanner, and a second scan position for providing the alternative identification information of the operation target to the scanner. To obtain, and
(12) After the operation target is moved to the first scan position, if the scan result indicates a successful scan, the operation target is moved to the work position and the second scan position is changed. Ignoring, or moving the operation target to the second scan position if the scan result indicates a failed scan,
Including, control method according to any one of claims 1-9.
ロボットアーム及びエンドエフェクタを有するロボットを含むロボットシステムの制御方法を実施させるためのプロセッサ命令を記録した非一過性のコンピュータ読取可能な記録媒体であって、
前記プロセッサ命令は、
前記エンドエフェクタが操作対象を把持するアプローチ位置を取得する命令と、
前記操作対象の識別情報をスキャンするスキャン位置を取得する命令と、
前記アプローチ位置及び前記スキャン位置に基づいて、制御シークエンスを作成又は取得し、該制御シークエンスの実行を前記ロボットに指令する命令と、
を含み、
前記制御シークエンスは、下記(1)〜();
(1)前記操作対象をスタート位置から把持すること、
(2)前記操作対象の識別子を、前記スタート位置と作業位置との間に位置するスキャナでスキャンすること、
(3)所定条件を満たすときに、前記操作対象を、持ち替え位置において、前記エンドエフェクタから一旦解放し、かつ、持ち替えるように前記エンドエフェクタで再度把持すること、
(4)前記操作対象を前記作業位置に移動すること、
(5)前記操作対象を持ち替えて前記エンドエフェクタで把持する方向を変更した場合に、前記作業位置における前記操作対象の収納効率が高められることを、前記所定条件として設定すること、及び、
(6)前記操作対象を持ち替える前の前記作業位置における収納効率、及び、前記操作対象を持ち替えた後の前記作業位置における収納効率を計算すること、
を含む、非一過性のコンピュータ読取可能な記録媒体。
A non-transitory computer-readable recording medium having processor instructions recorded thereon for carrying out a control method of a robot system including a robot having a robot arm and an end effector,
The processor instructions are
A command to obtain an approach position at which the end effector grips an operation target;
An instruction to acquire a scan position for scanning the identification information of the operation target;
A command for creating or acquiring a control sequence based on the approach position and the scan position, and for instructing the robot to execute the control sequence,
Including,
The control sequence is the following (1) to ( 6 );
(1) Grasping the operation target from the start position,
(2) scanning the identifier of the operation target with a scanner located between the start position and the work position,
(3) When the predetermined condition is satisfied, the operation target is temporarily released from the end effector at the holding position and is re-gripped by the end effector so as to be held again.
(4) moving the operation target in the working position,
(5) It is set as the predetermined condition that the storage efficiency of the operation target at the work position is increased when the operation target is changed and the direction of gripping by the end effector is changed, and
(6) calculating storage efficiency at the work position before changing the operation target and storage efficiency at the work position after changing the operation target,
A non-transitory computer-readable recording medium including.
前記制御シークエンスは、下記(7)及び(8);
(7)前記操作対象の高さを取得すること、及び、
(8)前記操作対象の高さに基づいて、前記収納効率を計算すること、
を含む、請求項11に記載の非一過性のコンピュータ読取可能な記録媒体。
The control sequence is the following (7) and (8);
(7) Obtaining the height of the operation target, and
(8) calculating the storage efficiency based on the height of the operation target,
The non-transitory computer-readable recording medium according to claim 11 , comprising:
前記操作対象の高さは、前記操作対象の頂部表面の高さ位置と、前記エンドエフェクタに把持された状態で測定された前記操作対象の底部表面の高さ位置とから、計算する、
請求項12に記載の非一過性のコンピュータ読取可能な記録媒体。
The height of the operation target is calculated from the height position of the top surface of the operation target and the height position of the bottom surface of the operation target measured in a state gripped by the end effector,
The non-transitory computer-readable recording medium according to claim 12 .
ロボットアーム及びエンドエフェクタを有するロボットを含み、かつ、請求項1〜10の何れかに記載の制御方法を実行するロボットシステムの制御装置。
It includes a robot having a robot arm and the end effector and the robot controller system for performing a control method according to any one of claims 1-10.
JP2019213029A 2019-01-25 2019-11-26 Robot system control method, non-transitory computer-readable recording medium, and robot system control device Active JP6697204B1 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CN202010066275.0A CN111483750A (en) 2019-01-25 2020-01-20 Control method and control device for robot system
CN202010277929.4A CN111470244B (en) 2019-01-25 2020-01-20 Control method and control device for robot system
DE102020101767.7A DE102020101767B4 (en) 2019-01-25 2020-01-24 CONTROL PROCEDURE AND CONTROL FOR A ROBOTIC SYSTEM
US16/752,582 US10870204B2 (en) 2019-01-25 2020-01-24 Robotic system control method and controller
JP2020070953A JP7495688B2 (en) 2019-01-25 2020-04-10 Robot system control method and control device
US17/110,205 US11413753B2 (en) 2019-01-25 2020-12-02 Robotic system control method and controller
US17/806,432 US11772267B2 (en) 2019-01-25 2022-06-10 Robotic system control method and controller
US18/465,101 US20240075619A1 (en) 2019-01-25 2023-09-11 Robotic system control method and controller

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16/258,120 2019-01-25
US16/258,120 US10456915B1 (en) 2019-01-25 2019-01-25 Robotic system with enhanced scanning mechanism
JP2019118678 2019-06-26
JP2019118678 2019-06-26

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020070953A Division JP7495688B2 (en) 2019-01-25 2020-04-10 Robot system control method and control device

Publications (2)

Publication Number Publication Date
JP6697204B1 true JP6697204B1 (en) 2020-05-20
JP2021003800A JP2021003800A (en) 2021-01-14

Family

ID=70682480

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019213029A Active JP6697204B1 (en) 2019-01-25 2019-11-26 Robot system control method, non-transitory computer-readable recording medium, and robot system control device
JP2020070953A Active JP7495688B2 (en) 2019-01-25 2020-04-10 Robot system control method and control device

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020070953A Active JP7495688B2 (en) 2019-01-25 2020-04-10 Robot system control method and control device

Country Status (3)

Country Link
JP (2) JP6697204B1 (en)
CN (1) CN111483750A (en)
DE (1) DE102020101767B4 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116002368A (en) * 2023-02-09 2023-04-25 安徽布拉特智能科技有限公司 Battery cell feeding control method, electronic equipment and storage medium

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021202340A1 (en) 2021-03-10 2022-09-15 Robert Bosch Gesellschaft mit beschränkter Haftung METHOD OF CONTROLLING A ROBOT TO PICK AND INSPECT AN OBJECT AND ROBOT CONTROL DEVICE
CN117295480B (en) * 2021-04-29 2024-07-23 X趋势人工智能公司 Robot apparatus for dispensing specified items
DE102021115473A1 (en) * 2021-06-15 2022-12-15 Linde Material Handling Gmbh Methods for automatic picking and mobile picking robots
DE102022101825B3 (en) 2022-01-26 2023-02-23 Ssi Schäfer Automation Gmbh (At) Method and system for automated material handling including 100% verification
DE102022203410A1 (en) 2022-04-06 2023-10-12 Robert Bosch Gesellschaft mit beschränkter Haftung Method for controlling a robotic device
DE102022121538A1 (en) 2022-08-25 2024-03-07 Bayerische Motoren Werke Aktiengesellschaft Method for depositing an object using a robot
WO2024134794A1 (en) * 2022-12-21 2024-06-27 日本電気株式会社 Processing device, robot system, processing method, and recording medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05217014A (en) * 1992-02-07 1993-08-27 Fujitsu Ltd Method for reading out bar code
JP2013078825A (en) * 2011-10-04 2013-05-02 Yaskawa Electric Corp Robot apparatus, robot system, and method for manufacturing workpiece
JP2013198943A (en) * 2012-03-23 2013-10-03 Toyota Motor Corp Mobile robot
JP2017185578A (en) * 2016-04-05 2017-10-12 株式会社リコー Object gripping device and gripping control program

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5366031B2 (en) 2011-10-17 2013-12-11 株式会社安川電機 Robot sorting system, robot apparatus, and method for manufacturing sorted articles
JP6415291B2 (en) 2014-12-09 2018-10-31 キヤノン株式会社 Information processing apparatus, information processing method, and program
JP6466297B2 (en) 2015-09-14 2019-02-06 株式会社東芝 Object detection apparatus, method, depalletizing automation apparatus, and packing box
AT519176B1 (en) 2016-10-14 2019-02-15 Engel Austria Gmbh robot system
JP7001354B2 (en) 2017-03-29 2022-01-19 トーヨーカネツ株式会社 Automatic logistics system
JP7045139B2 (en) 2017-06-05 2022-03-31 株式会社日立製作所 Machine learning equipment, machine learning methods, and machine learning programs
DE102017005882B4 (en) 2017-06-22 2019-08-01 FPT Robotik GmbH & Co. KG Method of operating a robot to verify its working environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05217014A (en) * 1992-02-07 1993-08-27 Fujitsu Ltd Method for reading out bar code
JP2013078825A (en) * 2011-10-04 2013-05-02 Yaskawa Electric Corp Robot apparatus, robot system, and method for manufacturing workpiece
JP2013198943A (en) * 2012-03-23 2013-10-03 Toyota Motor Corp Mobile robot
JP2017185578A (en) * 2016-04-05 2017-10-12 株式会社リコー Object gripping device and gripping control program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116002368A (en) * 2023-02-09 2023-04-25 安徽布拉特智能科技有限公司 Battery cell feeding control method, electronic equipment and storage medium
CN116002368B (en) * 2023-02-09 2023-08-04 安徽布拉特智能科技有限公司 Battery cell feeding control method, electronic equipment and storage medium

Also Published As

Publication number Publication date
JP2021003800A (en) 2021-01-14
DE102020101767A1 (en) 2020-07-30
DE102020101767B4 (en) 2021-07-22
JP7495688B2 (en) 2024-06-05
CN111483750A (en) 2020-08-04
JP2021003801A (en) 2021-01-14

Similar Documents

Publication Publication Date Title
US11772267B2 (en) Robotic system control method and controller
JP7284953B2 (en) Robotic system with advanced scanning mechanism
JP6697204B1 (en) Robot system control method, non-transitory computer-readable recording medium, and robot system control device
JP6738112B2 (en) Robot system control device and control method
JP7349094B2 (en) Robot system with piece loss management mechanism
US11905116B2 (en) Controller and control method for robot system
JP6765741B1 (en) Non-temporary computer-readable storage media, how to operate robot systems and object transfer systems
JP2023024980A (en) Robot system comprising sizing mechanism for image base and method for controlling robot system
CN111470244B (en) Control method and control device for robot system
CN115609569A (en) Robot system with image-based sizing mechanism and method of operating the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191129

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191129

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200302

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200410

R150 Certificate of patent or registration of utility model

Ref document number: 6697204

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350