JP2022511343A - A robot system with a dynamic motion adjustment mechanism and a method for operating it - Google Patents

A robot system with a dynamic motion adjustment mechanism and a method for operating it Download PDF

Info

Publication number
JP2022511343A
JP2022511343A JP2021516567A JP2021516567A JP2022511343A JP 2022511343 A JP2022511343 A JP 2022511343A JP 2021516567 A JP2021516567 A JP 2021516567A JP 2021516567 A JP2021516567 A JP 2021516567A JP 2022511343 A JP2022511343 A JP 2022511343A
Authority
JP
Japan
Prior art keywords
planned
robot
task
waypoints
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021516567A
Other languages
Japanese (ja)
Other versions
JP7174965B2 (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
Application filed by Mujin Inc filed Critical Mujin Inc
Publication of JP2022511343A publication Critical patent/JP2022511343A/en
Priority to JP2022123205A priority Critical patent/JP2022160552A/en
Application granted granted Critical
Publication of JP7174965B2 publication Critical patent/JP7174965B2/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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • 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/39243Adaptive trajectory tracking

Abstract

計画された軌道または計画されたその実行を動的に調節するようロボットシステムを動作させるシステム及び方法が開示される。ロボットシステムは、タスクを実行するための計画された軌道の計画されたウェイポイントを置き換えるよう、更新されたウェイポイントを導出してもよい。更新されたウェイポイントを使用して、ロボットシステムは、計画された軌道に従って、初期に計画されたものとは異なってタスクを実行してもよい。【選択図】図6Systems and methods of operating a robotic system to dynamically adjust a planned trajectory or its planned execution are disclosed. The robot system may derive updated waypoints to replace the planned waypoints in the planned orbit for performing the task. Using the updated waypoints, the robot system may perform tasks differently from those initially planned, according to the planned trajectory. [Selection diagram] FIG. 6

Description

関連出願の相互参照
本出願は、参照によりその全体が本明細書に組み込まれる、2020年1月5日に出願された米国仮特許出願第62/957,282号の利益を主張する。
Cross-reference to related applications This application claims the benefit of US Provisional Patent Application No. 62 / 957,282 filed January 5, 2020, which is incorporated herein by reference in its entirety.

本技術は概して、ロボットシステムを対象とし、より詳細には、来たるべきロボティックアクション(複数可)を動的に調節するシステム、処理、及び技術を対象とする。 The technology generally targets robotic systems, and more specifically to systems, processes, and technologies that dynamically adjust upcoming robotic actions (s).

これまでにそれらの性能が増大し、コストが低下したことにより、多くのロボット(例えば、物理アクションを自動的に/自律的に実行するように構成されたマシン)は今では、多くの分野において広範囲に使用されている。ロボットは、例えば、製造及び/または組み立て、パッキング及び/またはパッケージング、運送及び/または輸送などにおいて様々なタスク(例えば、空間を通じて物体を操作または移送する)を実行するために使用されることがある。タスクを実行する際、ロボットは、人間のアクションを再現することによって、危険または反復的なタスクを実行するために本来必要とされる人間の関与を置換または低減させることができる。 Due to their increased performance and lower costs, many robots (eg machines configured to perform physical actions automatically / autonomously) are now in many areas. Widely used. Robots may be used to perform various tasks (eg, manipulating or transferring objects through space), such as in manufacturing and / or assembly, packing and / or packaging, transportation and / or transportation. be. When performing a task, the robot can replace or reduce the human involvement inherently required to perform the dangerous or repetitive task by reproducing the human action.

しかしながら、技術の進歩に関わらず、ロボットは、より複雑且つ難解なタスクを実行するために必要とされる人間の敏感性及び/または順応性を再現するために必要な精巧さを欠いていることが多い。例えば、ロボットは、現実世界状況及び/またはそれに対する動的変化に応答してなど、ロボットに対してスケジュールされた次のアクションを動的に(例えば、進行している動作/タスクの実行の間)を調節するための制御の粒度及び柔軟性を欠いていることが多い。したがって、様々な現実世界の因子に関わらず、タスクを完了するようロボットの様々な態様を制御及び管理する改善された技術及びシステムに対する必要性が残ったままである。 However, despite technological advances, robots lack the sophistication needed to recreate the human sensitivities and / or adaptability needed to perform more complex and esoteric tasks. There are many. For example, the robot dynamically (eg, during an ongoing action / task execution) the next action scheduled for the robot, such as in response to a real-world situation and / or a dynamic change to it. ) Often lacks control granularity and flexibility to regulate. Therefore, regardless of various real-world factors, there remains a need for improved technologies and systems that control and manage various aspects of the robot to complete the task.

動的動き調節機構を有するロボットシステムが動作することができる実施例の環境の例示である。It is an example of the environment of the embodiment in which a robot system having a dynamic motion adjustment mechanism can operate. 本技術の1つ以上の実施形態に係る、ロボットシステムを例示するブロック図である。It is a block diagram illustrating the robot system which concerns on one or more embodiments of this technique. 本技術の1つ以上の実施形態に係る、ロボットシステムの例示である。It is an example of a robot system according to one or more embodiments of the present technology. 本技術の1つ以上の実施形態に係る、実施例のタスクを実行するロボットシステムの上面図である。It is a top view of the robot system which executes the task of an Example which concerns on one or more embodiments of this technique. 本技術の1つ以上の実施形態に係る、応答プロファイルの例示である。It is an example of a response profile according to one or more embodiments of the present technology. 本技術の1つ以上の実施形態に係る、例示的な調節の例示である。It is an example of exemplary regulation according to one or more embodiments of the present art. 本技術の1つ以上の実施形態に係る、図1のロボットシステムを動作させる実施例の方法のフローチャートである。It is a flowchart of the method of the embodiment which operates the robot system of FIG. 1 which concerns on one or more embodiments of this technique. 本技術の1つ以上の実施形態に係る、実施例の調節機構の例示である。It is an example of the adjustment mechanism of the Example which concerns on one or more embodiments of this technique. 本技術の1つ以上の実施形態に係る、実施例の調節機構の例示である。It is an example of the adjustment mechanism of the Example which concerns on one or more embodiments of this technique. 本技術の1つ以上の実施形態に係る、実施例の調節機構の例示である。It is an example of the adjustment mechanism of the Example which concerns on one or more embodiments of this technique. 本技術の1つ以上の実施形態に係る、実施例の調節機構の例示である。It is an example of the adjustment mechanism of the Example which concerns on one or more embodiments of this technique.

動的動き調節機構を有するロボットシステムに対するシステム及び方法が本明細書で説明される。いくつかの実施形態に従って構成されたロボットシステム(例えば、1つ以上の指定されたタスクを実行するデバイスの統合システム)は、現実世界の状況またはそれに対する動的変化に従って、次のロボティックアクションを動的に調節することに基づいて、低減したリソース消費、低減したタスク完了持続期間、増大した効率性、低減したエラー率などをもたらす。 Systems and methods for robotic systems with dynamic motion adjustment mechanisms are described herein. A robotic system configured according to some embodiments (eg, an integrated system of devices performing one or more specified tasks) will take the next robotic action according to a real-world situation or dynamic changes to it. It results in reduced resource consumption, reduced task completion duration, increased efficiency, reduced error rates, etc., based on dynamic adjustments.

いくつかの従来のシステムは、パッキングの順番/配列を予め決定するために、オフラインのパッキングシミュレータを使用する。従来のパッキングシミュレータは、パッキング計画を生成するために、容器の予め定められたセットまたは推測されたセットに対する物体情報(例えば、容器の形状/サイズ)を処理する。決定されると、パッキング計画は、宛先における物体の特定の配置位置/姿勢(例えば、パレット、ビン、ケージ、ボックスなど)、配置の予め定義された順番、及び/または予め定められた動き計画を指令し、及び/またはそれらを必要とする。予め定められたパッキング計画から、パッキングシミュレータは、パッキング計画に合致し、またはパッキング計画を可能にする元の要件(例えば、物体に対する順番及び/または配置)を導出することがある。 Some traditional systems use an offline packing simulator to predetermine the packing order / arrangement. Traditional packing simulators process object information (eg, container shape / size) for a predetermined or inferred set of containers to generate a packing plan. Once determined, the packing plan will include a specific placement position / orientation of the object at the destination (eg, pallets, bins, cages, boxes, etc.), a predefined order of placement, and / or a predetermined movement plan. Direct and / or need them. From a predetermined packing plan, the packing simulator may derive the original requirements (eg, order and / or placement with respect to the object) that match the packing plan or enable the packing plan.

パッキング計画がオフラインで展開されるとき、計画は、実際のパッキング操作/状況、物体の到着、及び/または他のシステムの実行とは独立している。したがって、全体的な操作/実行は、受け取られるパッケージ(例えば、開始/ピックアップ位置における)が、予め定められたパッキング計画に合致する固定された順番に従うことを必要とする。そのようにして、システムは、受け取られるパッケージにおけるリアルタイム状況及び/もしくは逸脱(例えば、異なる順番、位置、及び/もしくは方位)、予期しないエラー(例えば、衝突、紛失した部品、及び/もしくは全く異なるパッケージング状況)、リアルタイムパッケージング要件(例えば、受け取られる順序)、並びに/またはオフラインで展開されるパッキング計画の実行の間の他のリアルタイム因子に適合することができない。 When the packing plan is deployed offline, the plan is independent of the actual packing operation / situation, the arrival of objects, and / or the execution of other systems. Therefore, the overall operation / execution requires that the packages received (eg, at the start / pick-up position) follow a fixed order that matches a predetermined packing plan. As such, the system will receive real-time conditions and / or deviations in the packages received (eg, different orders, positions, and / or orientations), unexpected errors (eg, collisions, lost parts, and / or completely different packages). Inability to meet other real-time factors during real-time packaging requirements (eg, receiving order), and / or execution of packing plans deployed offline.

従来のシステムとは対照的に、本明細書で説明されるロボットシステムは、リアルタイム因子に従って、パッキング計画、対応する動き計画、及び/またはその実行を動的に調節することができる。例示的な実施例として、ロボットシステムは、ロボティックユニット(例えば、ロボティックアームなどの移送ユニット)を使用して、計画された軌道(例えば、動き計画)を実行することができる。計画された軌道は、物体の移動の間に目標とされた位置を定義する計画されたウェイポイントを含んでもよい。 In contrast to traditional systems, the robotic systems described herein can dynamically adjust packing plans, corresponding motion plans, and / or their execution according to real-time factors. As an exemplary embodiment, a robotic system can use a robotic unit (eg, a transfer unit such as a robotic arm) to perform a planned trajectory (eg, motion planning). The planned trajectory may include planned waypoints that define the targeted position during the movement of the object.

ロボットシステムは、計画された軌道に沿った進捗を追跡してもよく、計画された軌道の1つ以上の残りの部分に対応する次のロボティックアクション(例えば、速度、設定、状態など)を動的に調節してもよい。更新するために、ロボットシステムは、計画されたウェイポイントから取って代わるよう、更新されたウェイポイントの新たなセットを導出してもよい。更新されたウェイポイントは、計画された軌道上にあってもよく、または計画された軌道に沿ってもよく、ロボット及びロボットによって保持/運搬される目標物体の移動を停止し、再開し、及び/もしくは取り消すこと、並びに/またはロボット及び目標物体に対する移動の割合を調節することなどのタスクの実行への動的な調節に対応してもよい。 The robot system may track progress along a planned trajectory, taking the next robotic action (eg, speed, setting, state, etc.) corresponding to one or more rest of the planned trajectory. It may be adjusted dynamically. To update, the robot system may derive a new set of updated waypoints to replace the planned waypoints. The updated waypoint may be on or along the planned trajectory, stopping, resuming, and relocating the robot and the target object held / carried by the robot. It may accommodate dynamic adjustments to the execution of tasks such as / or undoing and / or adjusting the rate of movement relative to the robot and the target object.

いくつかの実施形態では、ロボットシステムは、受け取られたコマンド、エラー検出、及び/または計画された/実行された軌道と関連付けられたコンテキストもしくは環境における他の変化などの入力/出力状態に応答して、計画された軌道に沿った実行可能性領域を導出してもよい。ロボットシステムは、対応するロボット(例えば、計画された軌道を実行する/計画された軌道に従うロボット)の応答プロファイル(例えば、能力及び/または遅延)に従って、実行可能性領域を導出してもよい。ロボットシステムは、既存の計画された軌道を使用してもよく、計画されたウェイポイントを置き換えるよう、1つ以上の更新されたウェイポイントを導出してもよい。更新されたウェイポイントの1つ目は、1つ以上のリアルタイムパラメータに従って、実行可能性領域内の位置として導出されてもよい。代わりにまたは加えて、ロボットシステムは、目標とされた終点状態に到達するよう、実行可能性領域及び1つ以上のリアルタイムパラメータを反復的に更新してもよい。したがって、ロボットシステムは、計画された軌道の1つ以上の残りの部分を実行し/計画された軌道の1つ以上の残りの部分に従うよう、ロボットを動作させる1つ以上の態様を動的に調節することができる。 In some embodiments, the robot system responds to input / output conditions such as received commands, error detection, and / or other changes in the context or environment associated with the planned / executed trajectory. And the feasibility area along the planned trajectory may be derived. The robot system may derive a feasibility area according to the response profile (eg, capability and / or delay) of the corresponding robot (eg, a robot that performs / follows a planned trajectory). The robot system may use an existing planned trajectory or derive one or more updated waypoints to replace the planned waypoints. The first updated waypoint may be derived as a position within the viable area according to one or more real-time parameters. Alternatively or additionally, the robot system may iteratively update the feasibility area and one or more real-time parameters to reach the targeted endpoint state. Thus, the robot system dynamically performs one or more modes of operating the robot to perform one or more rests of the planned trajectory / to follow one or more rests of the planned trajectory. Can be adjusted.

以下の説明では、やがて開示される技術の完全な理解をもたらすために、多数の特定の詳細が示される。他の実施形態では、ここで導入される技術は、それらの特定の詳細なしに実施されてもよい。他の例では、特定の関数またはルーチンなどの公知の特徴は、本開示を不必要に曖昧にすることを回避するために、詳細には説明されない。「実施形態(an embodiment)」、「一実施形態(one embodiment)」、またはそれらと同様のものに対するこの説明における言及は、説明される特定の特徴、構造、材料、または特性が、本開示の少なくとも一実施形態に含まれることを意味する。よって、この明細書におけるそのような句の出現は、必ずしも同一の実施形態を指すわけではない。一方、そのような言及は、必ずしも相互にいずれかを排除するわけではない。更に、特定の特徴、構造、材料、または特性が、1つ以上の実施形態におけるいずれかの適切な方式において組み合わされてもよい。図面に示される様々な実施形態は、例示的な表現にすぎず、必ずしも同一縮尺で描かれるわけではないことが理解されよう。 The following description provides a number of specific details to provide a complete understanding of the technology to be disclosed in due course. In other embodiments, the techniques introduced herein may be implemented without their specific details. In other examples, known features such as specific functions or routines are not described in detail to avoid unnecessarily obscuring the present disclosure. References in this description to "an embodied", "one embodied", or the like are described in the present disclosure as specific features, structures, materials, or properties described. It means that it is included in at least one embodiment. Therefore, the appearance of such a phrase in this specification does not necessarily refer to the same embodiment. On the other hand, such references do not necessarily exclude one from each other. In addition, specific features, structures, materials, or properties may be combined in any suitable manner in one or more embodiments. It will be appreciated that the various embodiments shown in the drawings are merely exemplary representations and are not necessarily drawn to the same scale.

公知であり、ロボットシステム及びサブシステムと関連付けられることが多いが、開示される技術のいくつかの重要な態様を不必要に曖昧にすることがある、構造または処理を説明するいくつかの詳細は、明確にすることを目的として、以下の説明において示されない。その上、以下の開示は、本技術の異なる態様のいくつかの実施形態を示すが、いくつかの他の実施形態は、この章において説明されるものとは異なる構成または異なる構成要素を有してもよい。したがって、開示される技術は、追加の要素を有する他の実施形態、または以下で説明される要素のいくつかを有さない他の実施形態を有してもよい。 Some details that describe the structure or process that are known and often associated with robotic systems and subsystems, but may unnecessarily obscure some important aspects of the disclosed technology. , Not shown in the following description for the purpose of clarification. Moreover, the following disclosures show some embodiments of different aspects of the technique, but some other embodiments have different configurations or different components than those described in this chapter. You may. Accordingly, the disclosed technique may have other embodiments with additional elements, or other embodiments that do not have some of the elements described below.

以下で説明される本開示の多くの実施形態または態様は、プログラム可能コンピュータまたはプロセッサによって実行されるルーチンを含む、コンピュータ実行可能命令またはプロセッサ実行可能命令の形式を取ってもよい。当業者は、開示される技術が、示されるもの及び以下で説明されるもの以外のコンピュータシステムまたはプロセッサシステム上で実施されてもよいことを認識するであろう。本明細書で説明される技術は、以下で説明されるコンピュータ実行可能命令のうちの1つ以上を実行するように特にプログラムされ、構成され、または構築された特殊目的コンピュータまたはデータプロセッサにおいて具体化されてもよい。したがって、本明細書で全体的に使用される用語「コンピュータ」及び「プロセッサ」は、いずれかのデータプロセッサを指し、インターネットアプライアンス及びハンドヘルドデバイス(パームトップコンピュータ、ウェアラブルコンピュータ、セルラ電話または携帯電話、マルチプロセッサシステム、プロセッサベース家電製品またはプログラム可能家電製品、ネットワークコンピュータ、及びミニコンピュータなど)を含んでもよい。それらのコンピュータ及びプロセッサによって処理される情報は、液晶ディスプレイ(LCD)を含む、いずれかの適切な表示媒体において提示されてもよい。コンピュータ実行可能タスクまたはプロセッサ実行可能タスクを実行するための命令は、ハードウェア、ファームウェア、またはハードウェア及びファームウェアの組み合わせを含む、いずれかの適切なコンピュータ可読媒体内またはいずれかの適切なコンピュータ可読媒体上に記憶されてもよい。命令は、例えば、フラッシュドライブを含むいずれかの適切なメモリデバイス及び/または他の適切な媒体に含まれてもよい。 Many embodiments or embodiments of the present disclosure described below may take the form of computer-executable or processor-executable instructions, including routines executed by a programmable computer or processor. Those skilled in the art will recognize that the disclosed techniques may be implemented on computer or processor systems other than those shown and described below. The techniques described herein are embodied in special purpose computers or data processors specifically programmed, configured, or constructed to execute one or more of the computer executable instructions described below. May be done. Accordingly, the terms "computer" and "processor" as used herein as a whole refer to any data processor, such as Internet appliances and handheld devices (palmtop computers, wearable computers, cellular or mobile phones, multi). It may include processor systems, processor-based home appliances or programmable home appliances, network computers, and mini-computers, etc.). The information processed by those computers and processors may be presented on any suitable display medium, including a liquid crystal display (LCD). Instructions for performing a computer-executable task or processor-executable task are in any suitable computer-readable medium, including hardware, firmware, or a combination of hardware and firmware, or any suitable computer-readable medium. It may be stored above. The instructions may be contained, for example, in any suitable memory device including a flash drive and / or other suitable medium.

用語「結合される(coupled)」及び「接続される(connected)」と共にそれらの派生物は、構成要素の間の構造的関係を記述するために本明細書で使用されてもよい。それらの用語は、相互に対する同義語として意図していないことが理解されるべきである。むしろ、特定の実施形態では、「接続される」は、2つ以上の要素が相互に直接接触していることを示すために使用されてもよい。コンテキストにおいて他に明らかにされない限り、用語「結合される」は、2つ以上の要素が相互に直接接触もしくは間接接触(それらの間の他の仲介要素による)のいずれかにあること、2つ以上の要素が相互に協同もしくは相互作用していること(例えば、信号送信/受信に対する、もしくは関数呼び出しに対するなど、原因及び結果関係にあるような)、またはその両方を示すために使用されてもよい。 Derivatives thereof, along with the terms "coupled" and "connected", may be used herein to describe the structural relationships between the components. It should be understood that these terms are not intended as synonyms for each other. Rather, in certain embodiments, "connected" may be used to indicate that the two or more elements are in direct contact with each other. Unless otherwise specified in the context, the term "combined" means that two or more elements are either in direct or indirect contact with each other (due to other intermediary elements between them). Even if the above elements are used to indicate that they are cooperating or interacting with each other (for example, for signal transmission / reception, or for function call, etc., which have a cause-effect relationship), or both. good.

<適切な環境>
図1は、動的動き調節機構を有するロボットシステム100が動作することができる環境例を示している。ロボットシステム100は、1つ以上のタスクを実行するように構成された1つ以上のユニット(例えば、ロボット)を含んでもよく、及び/または1つ以上のユニットと通信してもよい。動的動き調節機構の態様は、様々なユニットによって実施または実行されてもよい。
<Appropriate environment>
FIG. 1 shows an example of an environment in which a robot system 100 having a dynamic motion adjusting mechanism can operate. The robot system 100 may include one or more units (eg, robots) configured to perform one or more tasks and / or may communicate with one or more units. Aspects of the dynamic motion control mechanism may be implemented or implemented by various units.

図1に示される実施例について、ロボットシステム100は、倉庫または流通/出荷ハブ内で、積み下ろしユニット102、移送ユニット104(例えば、パレット積載ロボット及び/もしくは部品ピッカロボット)、運送ユニット106、積み込みユニット108、またはそれらのそれらの組み合わせを含んでもよい。ロボットシステム100におけるユニットの各々は、1つ以上のタスクを実行するように構成されてもよい。タスクは、トラックもしくはバンから物体を積み下ろし、倉庫にそれらを格納し、もしくは格納位置から物体を積み下ろし、出荷に対してそれらを準備するなどの目標を達成する操作を実行するよう順番で組み合わされてもよい。別の実施例について、タスクは、目標位置上に(例えば、パレットの最上部上に、及び/またはビン/ケージ/ボックス/容器の内部)物体を配置することを含んでもよい。以下で説明されるように、ロボットシステムは、物体を配置し、及び/または積み重ねるための計画(例えば、配置位置/方位、物体を移送する順番、及び/または対応する動き計画)を導出してもよい。ユニットの各々は、タスクを実行するための導出された計画のうちの1つ以上に従って、一連のアクションを実行するように構成されてもよい(例えば、その中の1つ以上の構成要素を動作させることによって)。 For the embodiment shown in FIG. 1, the robot system 100 may include a loading / unloading unit 102, a transfer unit 104 (eg, a pallet loading robot and / or a component picker robot), a transport unit 106, and a loading unit in a warehouse or distribution / shipping hub. 108, or combinations thereof, may be included. Each of the units in the robot system 100 may be configured to perform one or more tasks. The tasks are combined in order to perform operations such as loading and unloading objects from a truck or van, storing them in a warehouse, or unloading objects from a storage location and preparing them for shipment. May be good. For another embodiment, the task may include placing an object on a target position (eg, on the top of a pallet and / or inside a bin / cage / box / container). As described below, the robot system derives a plan for placing and / or stacking objects (eg, placement position / orientation, order of moving objects, and / or corresponding motion plans). May be good. Each of the units may be configured to perform a series of actions according to one or more of the derived plans for performing the task (eg, operating one or more components within it). By letting).

いくつかの実施形態では、タスクは、開始位置114からタスク位置116に目標物体112(例えば、実行するタスクに対応するパッケージ、ボックス、容器、ケージ、パレットなどの1つ)を移動させるためなど、目標物体112の操作(例えば、移動及び/または再方向付け)を含んでもよい。例えば、積み下ろしユニット102(例えば、デバンニングロボット)は、運搬装置(例えば、トラック)内の位置からコンベヤベルト上の位置に目標物体112を移送するように構成されてもよい。また、移送ユニット104は、1つの位置(例えば、コンベヤベルト、パレット、またはビン)から別の位置(例えば、パレット、ビンなど)に目標物体112を移送するように構成されてもよい。別の実施例について、移送ユニット104(例えば、パレット積載ロボット)は、元の位置(例えば、パレット、ピックアップエリア、及び/またはコンベヤ)から宛先パレットに目標物体112を移送するように構成されてもよい。操作を完了する際に、運送ユニット106は、移送ユニット104と関連付けられたエリアから積み込みユニット108と関連付けられたエリアに目標物体112を移送してもよく、積み込みユニット108は、移送ユニット104から格納位置(例えば、棚上の位置)に目標物体112を移送してもよい(目標物体112を運搬するパレットを移動させることによって)。タスク及び関連するアクションに関する詳細は、以下で説明される。 In some embodiments, the task moves the target object 112 (eg, one of the packages, boxes, containers, cages, pallets, etc. corresponding to the task to be performed) from the start position 114 to the task position 116, and the like. Manipulation of the target object 112 (eg, moving and / or reorienting) may be included. For example, the loading / unloading unit 102 (eg, a devanning robot) may be configured to transfer the target object 112 from a position in the carrier (eg, a truck) to a position on the conveyor belt. The transfer unit 104 may also be configured to transfer the target object 112 from one position (eg, conveyor belt, pallet, or bin) to another (eg, pallet, bin, etc.). For another embodiment, the transfer unit 104 (eg, pallet loading robot) may be configured to transfer the target object 112 from its original position (eg, pallet, pickup area, and / or conveyor) to the destination pallet. good. Upon completing the operation, the transport unit 106 may transfer the target object 112 from the area associated with the transfer unit 104 to the area associated with the loading unit 108, the loading unit 108 retracting from the transfer unit 104. The target object 112 may be transferred to a position (eg, a position on the shelf) (by moving a pallet carrying the target object 112). Details regarding tasks and related actions are described below.

例示的な目的のために、出荷を中心とした文脈でロボットシステム100が説明されるが、ロボットシステム100は、製造、組み立て、パッケージング、ヘルスケア、及び/または他のタイプの自動化のためなど、他の環境内で/他の目的のためにタスクを実行するように構成されてもよいことが理解されよう。また、ロボットシステム100は、図1に示されない、マニピュレータ、サービスロボット、モジュラロボットなどの他のユニットを含んでもよいことが理解されよう。例えば、いくつかの実施形態では、ロボットシステム100は、コンベヤ上のケージカートもしくはパレット、または他のパレットから物体を移送するためのパレット荷卸ユニット、1つのコンテナから別のコンテナに物体を移送するためのコンテナ切り替えユニット、物体を覆うためのパッケージングユニット、それらの1つ以上の特性に従って物体をグループ化するための分類ユニット、それらの1つ以上の特性に従って異なって物体を操作する(例えば、分類する、グループ化する、及び/または移送する)ための部品ピッキングユニット、あるいはそれらの組み合わせを含んでもよい。 For illustrative purposes, the robot system 100 is described in a shipping-centric context, where the robot system 100 is for manufacturing, assembly, packaging, healthcare, and / or other types of automation, and the like. It will be understood that it may be configured to perform tasks within / for other purposes. It will also be appreciated that the robot system 100 may include other units not shown in FIG. 1, such as manipulators, service robots, modular robots, and the like. For example, in some embodiments, the robot system 100 is a pallet unloading unit for transferring objects from a cage cart or pallet on a conveyor, or another pallet, to transfer an object from one container to another. Container switching units, packaging units for covering objects, classification units for grouping objects according to one or more of their properties, manipulating objects differently according to one or more of their properties (eg, classification). It may include a component picking unit for, grouping, and / or transporting), or a combination thereof.

ロボットシステム100は、動き(例えば、回転的変位及び/または並進的変位)のための関節において接続された物理的部材または構造的部材を含んでもよく、またはそれらに結合されてもよい。構造的部材及び間接は、ロボットシステム100の使用/動作に応じて1つ以上のタスク(例えば、つかむこと、回転すること、溶接することなど)を実行するように構成されたエンドエフェクタ(例えば、グリッパ)を操作するように構成された運動連鎖を形成してもよい。ロボットシステム100は、対応する間接の周りでまたは対応する間接において構造的部材を駆動または操作(例えば、変位させ及び/または再方向付ける)ように構成された駆動デバイス(例えば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性ポリマなど)を含んでもよい。いくつかの実施形態では、ロボットシステム100は、場所ごとに対応するユニット/シャーシを移送するように構成された移送モータを含んでもよい。 The robot system 100 may include, or may be coupled to, physical or structural members connected at the joints for motion (eg, rotational and / or translational displacement). Structural members and indirect end effectors (eg, gripping, rotating, welding, etc.) configured to perform one or more tasks (eg, grabbing, rotating, welding, etc.) depending on the use / operation of the robot system 100. A kinetic chain configured to manipulate the gripper) may be formed. The robot system 100 is a drive device (eg, a motor, an actuator, a wire) configured to drive or operate (eg, displace and / or reorient) a structural member around or in the corresponding indirect. , Artificial muscles, electroactive polymers, etc.). In some embodiments, the robot system 100 may include a transfer motor configured to transfer the corresponding unit / chassis from location to location.

ロボットシステム100は、構造的部材を操作し、及び/またはロボティックユニットを移送するためなどのタスクを実行するために使用される情報を取得するように構成されたセンサを含んでもよい。センサは、ロボットシステム100の1つ以上の物理特性(例えば、それらの1つ以上の構造的部材/間接の状態、状況、及び/もしくは位置)並びに/または周囲環境の1つ以上の物理特性を検出または測定するように構成されたデバイスを含んでもよい。センサのいくつかの実施例は、加速度計、ジャイロスコープ、力センサ、歪みゲージ、触知センサ、トルクセンサ、位置エンコーダなどを含んでもよい。 The robot system 100 may include sensors configured to acquire information used to operate structural members and / or perform tasks such as transporting robotic units. The sensor captures one or more physical characteristics of the robot system 100 (eg, one or more of their structural members / indirect states, situations, and / or positions) and / or one or more physical characteristics of the surrounding environment. It may include devices configured to detect or measure. Some embodiments of the sensor may include accelerometers, gyroscopes, force sensors, strain gauges, tactile sensors, torque sensors, position encoders and the like.

いくつかの実施形態では、例えば、センサは、周囲環境を検出するように構成された1つ以上の撮像デバイス(例えば、視覚カメラ及び/または赤外線カメラ、2D及び/または3D撮像カメラ、ライダまたはレーダなどの測距デバイスなど)を含んでもよい。撮像デバイスは、マシン/コンピュータビジョンを介して処理することができる(例えば、自動検査、ロボットガイダンス、または他のロボティックアプリケーションのための)デジタル画像及び/またはポイントクラウドなど、検出された環境の表現を生成してもよい。以下で更に詳細に説明されるように、ロボットシステム100は、目標物体112、開始位置114、タスク位置116、目標物体112の姿勢、開始位置114及び/もしくは姿勢に関する信頼性測定、またはそれらの組み合わせを識別するよう、デジタル画像及び/またはポイントクラウドを処理してもよい。 In some embodiments, for example, the sensor is one or more imaging devices configured to detect the surrounding environment (eg, a visual camera and / or an infrared camera, a 2D and / or 3D imaging camera, a rider or a radar. Such as ranging devices) may be included. The imaging device can be processed via machine / computer vision to represent the detected environment, such as digital images and / or point clouds (eg, for automated inspection, robot guidance, or other robotic applications). May be generated. As described in more detail below, the robot system 100 has a target object 112, a start position 114, a task position 116, a posture of the target object 112, a reliability measurement of the start position 114 and / or a posture thereof, or a combination thereof. Digital images and / or point clouds may be processed to identify.

目標物体112を操作するために、ロボットシステム100は、目標物体112及びそれらの開始位置114を識別するよう、指定されたエリア(例えば、トラック内部またはコンベヤベルト上などのピックアップ位置)の画像を捕捉及び分析してもよい。同様に、ロボットシステム100は、タスク位置116を識別するよう、別の指定されたエリア(例えば、コンベヤ上で物体を配置するための降ろし位置、コンテナ内部で物体を配置するための位置、または積み重ねる目的のためのパレット上の位置)の画像を捕捉及び分析してもよい。例えば、撮像デバイスは、ピックアップエリアの画像を生成するように構成された1つ以上のカメラ、及び/またはタスクエリア(例えば、降ろしエリア)の画像を生成するように構成された1つ以上のカメラを含んでもよい。捕捉された画像に基づいて、以下で説明されるように、ロボットシステム100は、開始位置114、タスク位置116、関連する姿勢、パッキング/配置計画、移送/パッキングの順番、及び/または他の処理結果を決定してもよい。 To operate the target object 112, the robot system 100 captures an image of a designated area (eg, a pickup position, such as inside a truck or on a conveyor belt) to identify the target object 112 and their starting position 114. And may be analyzed. Similarly, the robot system 100 identifies another designated area (eg, a unloading position for placing an object on a conveyor, a position for placing an object inside a container, or stacking) to identify a task position 116. Images of (position on the palette for the purpose) may be captured and analyzed. For example, the imaging device may be one or more cameras configured to produce an image of the pickup area and / or one or more cameras configured to generate an image of a task area (eg, a unloading area). May include. Based on the captured images, the robot system 100 may include a start position 114, a task position 116, associated postures, packing / placement planning, transfer / packing order, and / or other processing, as described below. The result may be determined.

いくつかの実施形態では、例えば、センサは、ロボットシステム100の構造的部材(例えば、ロボティックアーム及び/もしくはエンドフェクタ)並びに/または対応する間接の位置を検出するように構成された位置センサ(例えば、位置エンコーダ、ポテンショメータなど)を含んでもよい。ロボットシステム100は、タスクの実行の間に構造的部材及び/または間接の位置及び/または方位を追跡するために位置センサを使用してもよい。 In some embodiments, for example, the sensor is a position sensor configured to detect a structural member of the robot system 100 (eg, a robotic arm and / or an endpoint) and / or a corresponding indirect position (eg,). , Position encoder, potentiometer, etc.). The robot system 100 may use position sensors to track structural members and / or indirect positions and / or orientations during task execution.

<適切なシステム>
図2は、本技術の1つ以上の実施形態に係る、ロボットシステム100を例示するブロック図である。いくつかの実施形態では、例えば、ロボットシステム100(例えば、上記説明されたユニット及び/またはロボットのうちの1つ以上における)は、1つ以上のプロセッサ202、1つ以上の記憶装置204、1つ以上の通信デバイス206、1つ以上の入力出力デバイス208、1つ以上の駆動デバイス212、1つ以上の移送モータ214、1つ以上のセンサ216、またはそれらの組み合わせなど、電子/電気デバイスを含んでもよい。様々なデバイスは、有線接続及び/または無線接続を介して相互に結合されてもよい。例えば、ロボットシステム100は、システムバス、ペリフェラルコンポーネントインターコネクト(PCI)バスもしくはPCI-Expressバス、ハイパテキストもしくはインダストリスタンダードアーキテクチャ(ISA)バス、スモールコンピュータシステムインタフェース(SCSI)バス、ユニバーサルシリアルバス(USB)、IIC(I2C)バス、またはInstitute of Electrical and Electronics Engineers(IEEE)スタンダード1394バス(「Firewire」とも称される)などのバスを含んでもよい。また、例えば、ロボットシステム100は、デバイスの間の有線接続をもたらすためのブリッジ、アダプタ、プロセッサ、または他の信号関連デバイスを含んでもよい。無線接続は、例えば、セルラ通信プロトコル(例えば、3G、4G、LTE、5Gなど)、無線ローカルエリアネットワーク(LAN)プロトコル(例えば、ワイヤレスフィデリティ(WIFI))、ピアツーピアもしくはデバイスツーデバイス通信プロトコル(例えば、Bluetooth、近接場通信(NFC)など)、モノのインターネット(IoT)プロトコル(例えば、NB-IoT、LTE-Mなど)、及び/または他の無線通信プロトコルに基づいてもよい。
<Appropriate system>
FIG. 2 is a block diagram illustrating the robot system 100 according to one or more embodiments of the present technology. In some embodiments, for example, the robot system 100 (eg, in one or more of the units and / or robots described above) is one or more processors 202, one or more storage devices 204, 1. Electronic / electrical devices such as one or more communication devices 206, one or more input / output devices 208, one or more drive devices 212, one or more transfer motors 214, one or more sensors 216, or a combination thereof. It may be included. The various devices may be coupled to each other via a wired and / or wireless connection. For example, the robot system 100 includes a system bus, a peripheral component interconnect (PCI) bus or a PCI-Express bus, a hypertext or industry standard architecture (ISA) bus, a small computer system interface (SCSI) bus, and a universal serial bus (USB). , IIC (I2C) bus, or an Institute of Electrical and Electricals Enginers (IEEE) standard 1394 bus (also referred to as "Firefire"). Also, for example, the robot system 100 may include a bridge, adapter, processor, or other signal-related device to provide a wired connection between the devices. Wireless connections are, for example, cellular communication protocols (eg, 3G, 4G, LTE, 5G, etc.), wireless local area network (LAN) protocols (eg, wireless fidelity (WIFI)), peer-to-peer or device-to-device communication protocols (eg, eg). It may be based on Bluetooth, proximity communication (NFC), etc.), Internet of Things (IoT) protocols (eg, NB-IoT, LTE-M, etc.), and / or other wireless communication protocols.

プロセッサ202は、記憶装置204(例えば、コンピュータメモリ)に記憶された命令(例えば、ソフトウェア命令)を実行するように構成されたデータプロセッサ(例えば、中央処理装置(CPU)、特殊目的コンピュータ、及び/またはオンボードサーバ)を含んでもよい。いくつかの実施形態では、プロセッサ202は、図2に例示された他の電子/電気デバイス及び/または図1に例示されたロボティックユニットに動作可能に結合された別個のコントローラ/スタンドアロンコントローラに含まれてもよい。プロセッサ202は、他のデバイスを制御/と連動するプログラム命令を実行してもよく、それによって、ロボットシステム100に、アクション、タスク、及び/または動作を実行させる。 The processor 202 is a data processor (eg, a central processing unit (CPU), a special purpose computer, and / Alternatively, it may include an onboard server). In some embodiments, the processor 202 is included in a separate controller / stand-alone controller operably coupled to other electronic / electrical devices exemplified in FIG. 2 and / or robotic units exemplified in FIG. It may be. Processor 202 may execute program instructions that control / interlock with other devices, thereby causing the robot system 100 to perform actions, tasks, and / or actions.

記憶装置204は、プログラム命令(例えば、ソフトウェア)をそこに記憶した非一時的コンピュータ可読媒体を含んでもよい。記憶装置204のいくつかの実施例は、揮発性メモリ(例えば、キャッシュ及び/もしくはランダムアクセスメモリ(RAM))並びに/または不揮発性メモリ(例えば、フラッシュメモリ及び/もしくは磁気ディスクドライブ)を含んでもよい。記憶装置204の他の実施例は、ポータブルメモリドライブ及び/またはクラウド記憶装置を含んでもよい。 The storage device 204 may include a non-temporary computer-readable medium in which program instructions (eg, software) are stored. Some embodiments of storage 204 may include volatile memory (eg, cache and / or random access memory (RAM)) and / or non-volatile memory (eg, flash memory and / or magnetic disk drive). .. Other embodiments of storage device 204 may include portable memory drives and / or cloud storage devices.

いくつかの実施形態では、記憶装置204は、更に、処理結果及び/または予め定められたデータ/閾値を記憶し、処理結果及び/または予め定められたデータ/閾値へのアクセスをもたらすために使用されてもよい。例えば、記憶装置204は、ロボットシステム100によって操作することができる物体(例えば、ボックス、容器、及び/または製品)の記述を含むマスタデータ252を記憶してもよい。1つ以上の実施形態では、マスタデータ252は、各々のそのような物体に対する記録データを含んでもよい。記録データは、ロボットシステム100によって操作されることが予測される物体に対する次元、形状(例えば、潜在的な姿勢に対するテンプレート及び/もしくは異なる姿勢にある物体を認識するためのコンピュータ生成モデル)、色スキーム、画像、識別情報(例えば、バーコード、クイックレスポンス(QR)コード(登録商標)、ロゴなど、及び/もしくはそれらの予測された位置)、予測された重み、他の物理/視覚特性、またはそれらの組み合わせを含んでもよい。いくつかの実施形態では、マスタデータ252は、物体の各々に対する質量中心(CoM)位置もしくはそれらの推定、1つ以上のアクション/手順に対応する予測されたセンサ測定(例えば、力、トルク、圧力、及び/もしくは接触測定に対する)、またはそれらの組み合わせなど、物体に関する操作関連情報を含んでもよい。 In some embodiments, the storage device 204 is also used to store processing results and / or predetermined data / thresholds and provide access to processing results and / or predetermined data / thresholds. May be done. For example, the storage device 204 may store master data 252 including a description of an object (eg, a box, a container, and / or a product) that can be operated by the robot system 100. In one or more embodiments, the master data 252 may include recorded data for each such object. The recorded data are dimensions, shapes (eg, templates for potential poses and / or computer-generated models for recognizing objects in different poses), color schemes for objects that are expected to be manipulated by the robot system 100. , Images, identification information (eg, barcodes, quick response (QR) codes®, logos, etc., and / or their predicted positions), predicted weights, other physical / visual properties, or them. May include a combination of. In some embodiments, the master data 252 is the mass center (CoM) position for each of the objects or their estimation, predicted sensor measurements corresponding to one or more actions / procedures (eg, force, torque, pressure). , And / or for contact measurements), or combinations thereof, and may include operation-related information about the object.

通信デバイス206は、ネットワークを介して外部デバイスまたはリモートデバイスと通信するように構成された回路を含んでもよい。例えば、通信デバイス206は、受信機、送信機、変調器/復調器(モデム)、信号検出器、信号エンコーダ/デコーダ、コネクタポート、ネットワークカードなどを含んでもよい。通信デバイス206は、1つ以上の通信プロトコル(例えば、インターネットプロトコル(IP)、無線通信プロトコルなど)に従って、電気信号を送信、受信、及び/または処理するように構成されてもよい。いくつかの実施形態では、ロボットシステム100は、ロボットシステム100のユニットの間で情報を交換し、及び/またはロボットシステム100の外部のシステムもしくはデバイスと情報を交換する(例えば、報告、データ収集、分析、及び/もしくはトラブルシューティングの目的のために)ために通信デバイス206を使用してもよい。 Communication device 206 may include circuits configured to communicate with external or remote devices over a network. For example, the communication device 206 may include a receiver, a transmitter, a modulator / demodulator (modem), a signal detector, a signal encoder / decoder, a connector port, a network card, and the like. The communication device 206 may be configured to transmit, receive, and / or process electrical signals according to one or more communication protocols (eg, Internet Protocol (IP), wireless communication protocol, and the like). In some embodiments, the robot system 100 exchanges information between units of the robot system 100 and / or exchanges information with an external system or device of the robot system 100 (eg, reporting, data collection, etc.). Communication device 206 may be used for analysis and / or troubleshooting purposes.

入力出力デバイス208は、人間のオペレータに情報を通信し、及び/または人間のオペレータから情報を受信するように構成されたユーザインタフェースデバイスを含んでもよい。例えば、入力出力デバイス208は、ディスプレイ210及び人間のオペレータに情報を通信するための他の出力デバイス(例えば、スピーカ、触覚回路、または触知フィードバックデバイスなど)を含んでもよい。また、入力出力デバイス208は、キーボード、マウス、タッチスクリーン、マイクロフォン、ユーザインタフェース(UI)センサ(例えば、動きコマンドを受信するためのカメラ)、ウェアラブル入力デバイスなどの制御または受信デバイスを含んでもよい。いくつかの実施形態では、ロボットシステム100は、アクション、タスク、動作、またはそれらの組み合わせを実行する際に、人間のオペレータと相互作用するために入力出力デバイス208を使用してもよい。 The input / output device 208 may include a user interface device configured to communicate and / or receive information from a human operator. For example, the input / output device 208 may include a display 210 and other output devices for communicating information to a human operator, such as a speaker, a tactile circuit, or a tactile feedback device. The input / output device 208 may also include control or reception devices such as keyboards, mice, touch screens, microphones, user interface (UI) sensors (eg, cameras for receiving motion commands), wearable input devices, and the like. In some embodiments, the robot system 100 may use input / output devices 208 to interact with human operators in performing actions, tasks, actions, or combinations thereof.

ロボットシステム100は、動き(例えば、回転的変位及び/または並進的変位)に対して間接において接続された物理的部材または構造的部材を含んでもよい。構造的部材及び間接は、ロボットシステム100の使用/動作に応じて1つ以上のタスク(例えば、つかむこと、回転すること、溶接することなど)を実行するように構成されたエンドエフェクタ(例えば、グリッパ)を操作するように構成された運動連鎖を形成してもよい。ロボットシステム100は、対応する間接の周りでまたは対応する間接において構造的部材を駆動または操作(例えば、変位させ及び/または再方向付ける)ように構成された駆動デバイス212(例えば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性ポリマなど)を含んでもよい。いくつかの実施形態では、ロボットシステム100は、場所ごとに対応するユニット/シャーシを移送するように構成された移送モータを含んでもよい。 The robot system 100 may include physical or structural members indirectly connected to movement (eg, rotational and / or translational displacement). Structural members and indirect end effectors (eg, gripping, rotating, welding, etc.) configured to perform one or more tasks (eg, grabbing, rotating, welding, etc.) depending on the use / movement of the robot system 100. A kinetic chain configured to manipulate the gripper) may be formed. The robot system 100 is a drive device 212 (eg, a motor, an actuator, etc.) configured to drive or operate (eg, displace and / or reorient) a structural member around or in the corresponding indirect. Wires, artificial muscles, electroactive polymers, etc.) may be included. In some embodiments, the robot system 100 may include a transfer motor configured to transfer the corresponding unit / chassis from location to location.

ロボットシステム100は、構造的部材を操作し、及び/またはロボティックユニットを移送するためなどのタスクを実行するために使用される情報を取得するように構成されたセンサ216を含んでもよい。センサ216は、ロボットシステム100の1つ以上の物理特性(例えば、それらの1つ以上の構造的部材/間接の状態、状況、及び/もしくは位置)並びに/または周囲環境の1つ以上の物理特性を検出または測定するように構成されたデバイスを含んでもよい。センサ216のいくつかの実施例は、加速度計、ジャイロスコープ、力センサ、歪みゲージ、触知センサ、トルクセンサ、位置エンコーダなどを含んでもよい。 The robot system 100 may include sensors 216 configured to acquire information used to operate structural members and / or perform tasks such as transporting robotic units. Sensor 216 is one or more physical characteristics of the robot system 100 (eg, one or more of their structural members / indirect states, situations, and / or positions) and / or one or more physical characteristics of the surrounding environment. May include devices configured to detect or measure. Some embodiments of the sensor 216 may include accelerometers, gyroscopes, force sensors, strain gauges, tactile sensors, torque sensors, position encoders and the like.

いくつかの実施形態では、例えば、センサ216は、周囲環境を検出するように構成された1つ以上の撮像デバイス222(例えば、視覚カメラ及び/または赤外線カメラ、2D及び/または3D撮像カメラ、ライダまたはレーダなどの測距デバイスなど)を含んでもよい。撮像デバイス222は、マシン/コンピュータビジョンを介して処理することができる(例えば、自動検査、ロボットガイダンス、または他のロボティックアプリケーションのための)デジタル画像及び/またはポイントクラウドなど、検出された環境の表現を生成してもよい。 In some embodiments, for example, the sensor 216 is one or more imaging devices 222 configured to detect the surrounding environment (eg, a visual camera and / or an infrared camera, a 2D and / or a 3D imaging camera, a rider). Alternatively, it may include a ranging device such as a radar). The imaging device 222 can be processed via machine / computer vision (eg, for automated inspection, robot guidance, or other robotic applications) of digital images and / or point clouds in a detected environment. Representations may be generated.

目標物体112を操作するために、ロボットシステム100(例えば、上記説明された様々な回路/デバイスを介した)は、目標物体112及びそれらの開始位置114を識別するよう、指定されたエリア(例えば、トラック内部またはコンベヤベルト上などのピックアップ位置)の画像を捕捉及び分析してもよい。同様に、ロボットシステム100は、タスク位置116を識別するよう、別の指定されたエリア(例えば、コンベヤ上で物体を配置するための降ろし位置、コンテナ内部で物体を配置するための位置、または積み重ねる目的のためのパレット上の位置)の画像を捕捉及び分析してもよい。例えば、撮像デバイス222は、ピックアップエリアの画像を生成するように構成された1つ以上のカメラ及び/またはタスクエリア(例えば、降ろしエリア)の画像を生成するように構成された1つ以上のカメラを含んでもよい。捕捉された画像に基づいて、以下で説明されるように、ロボットシステム100は、開始位置114、タスク位置116、関連する姿勢、パッキング/配置計画、移送/パッキングの順番、及び/または他の処理結果を決定してもよい。 To operate the target object 112, the robot system 100 (eg, via the various circuits / devices described above) has designated an area (eg, via the various circuits / devices described above) to identify the target object 112 and their starting position 114. Images of the pickup position, such as inside a truck or on a conveyor belt) may be captured and analyzed. Similarly, the robot system 100 identifies another designated area (eg, a unloading position for placing an object on a conveyor, a position for placing an object inside a container, or stacking) to identify a task position 116. Images of (position on the palette for the purpose) may be captured and analyzed. For example, the imaging device 222 may be one or more cameras configured to generate an image of the pickup area and / or one or more cameras configured to generate an image of a task area (eg, a unloading area). May include. Based on the captured images, the robot system 100 may include a start position 114, a task position 116, associated postures, packing / placement planning, transfer / packing order, and / or other processing, as described below. The result may be determined.

いくつかの実施形態では、例えば、センサ216は、ロボットシステム100の構造的部材(例えば、ロボティックアーム及び/もしくはエンドフェクタ)並びに/または対応する間接の位置を検出するように構成された位置センサ224(例えば、位置エンコーダ、ポテンショメータなど)を含んでもよい。ロボットシステム100は、タスクの実行の間に構造的部材及び/または間接の位置及び/または方位を追跡するために位置センサ224を使用してもよい。ロボットシステム100は、図1の目標物体112及び/または構造的部材に対する現在の位置及び/または過去の位置の組を表す追跡データ254を導出するために、センサ216からの検出された位置、追跡された位置、追跡された方位などを使用してもよい。 In some embodiments, for example, the sensor 216 is configured to detect structural members of the robot system 100 (eg, robotic arms and / or endpoints) and / or corresponding indirect positions. (For example, position encoder, potentiometer, etc.) may be included. The robot system 100 may use position sensors 224 to track structural members and / or indirect positions and / or orientations during task execution. The robot system 100 tracks the detected position from the sensor 216 in order to derive tracking data 254 representing a set of current and / or past positions with respect to the target object 112 and / or the structural member of FIG. The location, tracked orientation, etc. may be used.

<実施例のシステムアーキテクチャ>
図3は、本技術の1つ以上の実施形態に係る、図1のロボットシステム100の例示である。ロボットシステム100は、動きプランナ回路302、ブリッジ回路304、及び/またはロボット306を含んでもよい。
<System architecture of the example>
FIG. 3 is an example of the robot system 100 of FIG. 1 according to one or more embodiments of the present technology. The robot system 100 may include a motion planner circuit 302, a bridge circuit 304, and / or a robot 306.

動きプランナ回路302(例えば、図2のプロセッサ202及び/または別個のデバイス/収容に対応する回路)は、対応するタスクを実行するようロボット306を動作させるための計画された軌道322を導出するように構成されてもよい。例えば、各々の計画された軌道322は、図1の開始位置114から図1のタスク位置116まで図1の対応する目標物体112を操作し、または移動させるようロボット306(例えば、図1の移送ユニット104)を動作させるためのものであってもよい。いくつかの実施形態では、動きプランナ回路302は、目標物体112及びタスク位置116を識別及び特定するよう、図2の撮像デバイス222からデータを取得及び処理してもよい。動きプランナ回路302は、タスク位置116から開始位置114への目標物体112に対する経路セグメントを反復的に導出することに基づいて、計画された軌道322を導出してもよい。動きプランナ回路302は、予め定められたルール及び/または処理に従って、経路セグメント及び対応する計画された軌道322を導出してもよい。計画された軌道322は、対応するタスクを達成するための、目標物体112及び/または1つ以上のロボティック構成要素(例えば、エンドエフェクタ及び/もしくはロボティックアーム)に従う経路もしくはセグメントのセット、速度、手順のセット、またはそれらの組み合わせを表してもよい。動きプランナ回路302は、ブリッジ回路304に計画された軌道322を通信してもよい。例えば、動きプランナ回路302は、ブリッジ回路304に、対応するタスクを達成するようロボット306によって実行されることになる移動を表すコマンド軌道を送信してもよい。 The motion planner circuit 302 (eg, the processor 202 in FIG. 2 and / or the circuit corresponding to the separate device / accommodation) is to derive the planned trajectory 322 for operating the robot 306 to perform the corresponding task. It may be configured in. For example, each planned orbit 322 operates or moves the corresponding target object 112 of FIG. 1 from the start position 114 of FIG. 1 to the task position 116 of FIG. 1 robot 306 (eg, transfer of FIG. 1). It may be for operating the unit 104). In some embodiments, the motion planner circuit 302 may acquire and process data from the imaging device 222 of FIG. 2 to identify and identify the target object 112 and the task position 116. The motion planner circuit 302 may derive a planned trajectory 322 based on iteratively deriving a path segment for a target object 112 from task position 116 to start position 114. The motion planner circuit 302 may derive a path segment and a corresponding planned trajectory 322 according to predetermined rules and / or processing. The planned orbit 322 is a set, velocity of a path or segment that follows the target object 112 and / or one or more robotic components (eg, end effectors and / or robotic arms) to accomplish the corresponding task. , A set of procedures, or a combination thereof. The motion planner circuit 302 may communicate the track 322 planned for the bridge circuit 304. For example, the motion planner circuit 302 may transmit to the bridge circuit 304 a command trajectory representing a movement that will be performed by the robot 306 to accomplish the corresponding task.

ブリッジ回路304(例えば、プロセッサ202のうちの1つ以上)は、計画された軌道322を実行する際にロボット306と相互作用するように構成されてもよい。いくつかの実施形態では、ブリッジ回路304は、ロボットのセットによって/ロボットのセットにわたって実行される、リンクされた一連の別個のタスクを各々が含む動作を制御及び実行するよう、複数のロボット(例えば、倉庫または出荷ハブ内のロボット)に対するアクションを調整/制御するロボットシステムコントローラとして実行されてもよい。したがって、ブリッジ回路304は、計画された軌道322の様々な部分/態様を実行するよう、ロボット306に対するタイミングを制御してもよい。 The bridge circuit 304 (eg, one or more of the processors 202) may be configured to interact with the robot 306 in performing the planned orbit 322. In some embodiments, the bridge circuit 304 controls and performs actions, each comprising a linked set of separate tasks, performed by a set of robots / across a set of robots (eg, a plurality of robots (eg,). , Robots in warehouses or shipping hubs) may be performed as robot system controllers to coordinate / control actions. Therefore, the bridge circuit 304 may control the timing with respect to the robot 306 to perform various parts / embodiments of the planned trajectory 322.

ロボット306は、ブリッジ回路304からのコマンド及び/または設定(例えば、計画された軌道322またはそれらの部分の表現)に従って、計画された軌道322を実行し、対応するタスクを実行するように構成されてもよい。例えば、ロボット306は、ロボティックアーム及び/またはエンドエフェクタが目標物体112をつかみ、移送し、及び/または離すように操縦するよう、図2の駆動デバイス212及び/または図2の移送モータ214を動作させてもよい。例示的な実施例として、ロボット306は、開始位置114における目標物体112の周りのつかむ位置にエンドエフェクタを配置するよう、計画された軌道322に従ってもよく、ロボティックアームを移動させてもよい。つかむ位置においてエンドエフェクタを介して目標物体112をつかんだ後、ロボット306は、計画された軌道322に対応する、経路、速度、手順のセットなどに従って目標物体112を移送してもよい。 Robot 306 is configured to perform a planned trajectory 322 and perform a corresponding task according to commands and / or settings from the bridge circuit 304 (eg, representation of the planned track 322 or parts thereof). You may. For example, the robot 306 controls the drive device 212 and / or the transfer motor 214 of FIG. 2 so that the robotic arm and / or the end effector steers the target object 112 to grab, transfer, and / or release. It may be operated. As an exemplary embodiment, the robot 306 may follow a planned trajectory 322 or move the robotic arm to place the end effector in a gripping position around the target object 112 at the starting position 114. After grabbing the target object 112 through the end effector at the grab position, the robot 306 may transfer the target object 112 according to a set of paths, velocities, procedures, etc. corresponding to the planned trajectory 322.

計画された軌道322を実行する際、ブリッジ回路304及びロボット306は、タスクを達成するよう相互に反復的に通信してもよい。例えば、ブリッジ回路304は、ロボット306の初期位置342(例えば、ロボティックアーム、エンドエフェクタ、それらの一部、もしくはそれらの組み合わせのリアルタイム位置(複数可))、並びに/または移送された目標物体112の初期位置342を決定してもよい。ブリッジ回路304は、発信する通信(例えば、コマンド、設定など)及び/またはロボット306からのフィードバックデータ362に基づいて、計画された軌道322の実行の前の初期位置342を決定してもよい。例示的な実施例として、ブリッジ回路304は、デッドロッキング機構を使用して、及び前に実行/実行されたコマンド、設定、動き計画などに従って、初期位置342を導出してもよい。加えてまたは代わりに、ブリッジ回路304は、フィードバックデータ362に含まれるロボットの追跡/報告された位置に基づいて、初期位置342を決定してもよい。ブリッジ回路304は同様に、計画された軌道322の実行の間に、ロボット306、その一部、及び/または目標物体112のリアルタイム位置を決定及び追跡してもよい。 In executing the planned orbit 322, the bridge circuit 304 and the robot 306 may iteratively communicate with each other to accomplish the task. For example, the bridge circuit 304 may be an initial position 342 of the robot 306 (eg, a real-time position (s) of a robotic arm, an end effector, some of them, or a combination thereof), and / or a transferred target object 112. The initial position 342 of may be determined. The bridge circuit 304 may determine an initial position 342 prior to execution of the planned orbit 322 based on outgoing communications (eg, commands, settings, etc.) and / or feedback data 362 from the robot 306. As an exemplary embodiment, the bridge circuit 304 may derive an initial position 342 using a deadlocking mechanism and according to previously executed / executed commands, settings, motion plans, and the like. In addition or instead, the bridge circuit 304 may determine the initial position 342 based on the robot's tracked / reported position contained in the feedback data 362. Similarly, the bridge circuit 304 may determine and track the real-time position of the robot 306, a portion thereof, and / or the target object 112 during the planned orbital 322 execution.

また、ブリッジ回路304は、計画された軌道322を実行するための1つ以上の入力/出力(I/O)状態344を追跡してもよい。I/O状態344は、計画された軌道322を実行することと関連付けられたロボット306の動作状態及び/または対応する進捗/状態を表してもよい。例えば、I/O状態344は、計画された軌道322を実行する際の中断状態、再開状態、及び/または取消状態を含んでもよい。また、I/O状態344は、計画された軌道322と初期に関連付けられた速度または移動割合を調節するための速度変化状態を含んでもよい。速度変化状態は、速度変化、更新された速度の逸脱、及び/または速度設定の間の遷移と関連付けられたコマンド/設定の通信を含んでもよい。速度変化に関する詳細は、以下で説明される。 The bridge circuit 304 may also track one or more input / output (I / O) states 344 to perform the planned orbit 322. The I / O state 344 may represent the operating state and / or the corresponding progress / state of the robot 306 associated with performing the planned orbit 322. For example, the I / O state 344 may include a suspended state, a restarted state, and / or a canceled state in executing the planned orbital 322. The I / O state 344 may also include a speed change state for adjusting the speed or rate of movement initially associated with the planned orbit 322. The speed change state may include speed changes, updated speed deviations, and / or command / setting communication associated with transitions between speed settings. Details regarding speed changes are described below.

ブリッジ回路304は更に、計画された軌道322の実行と関連付けられたエラー状態346を追跡してもよい。例えば、ブリッジ回路304は、ロボットの検出されたエラー(例えば、部品損失状態)を報告するフィードバックデータ362に基づいて、エラー状態346を追跡してもよい。また、ブリッジ回路304は、報告されたデータ(例えば、フィードバックデータ362)を、計画された軌道322の予測された状態/進捗及び/またはそれらの更新(例えば、速度変化)と比較することに基づいて、エラー状態346を決定してもよい。 The bridge circuit 304 may further track the error condition 346 associated with the planned execution of orbit 322. For example, the bridge circuit 304 may track the error state 346 based on feedback data 362 that reports the detected error (eg, component loss state) of the robot. The bridge circuit 304 is also based on comparing the reported data (eg, feedback data 362) with the predicted state / progress and / or their updates (eg, velocity changes) of the planned trajectory 322. The error state 346 may be determined.

ブリッジ回路304は、軌道調節器305を含んでもよい。軌道調節器305は、計画された軌道322及び/またはそれらの実行を調節するように構成された1つ以上の回路及び/または関数を含んでもよい。軌道調節器305は、計画された軌道322に沿った1つ以上のポイントにおけるI/O状態344、エラー状態346、つかむ強さもしくは状態、パッケージ識別情報もしくは状態、リアルタイム状況、及び/または計画された軌道322の実行の間の他のリアルタイムパラメータを追跡してもよい。追跡された情報が動作状態から逸脱し、及び/または調節条件と合致するとき、軌道調節器305は、計画された軌道322を動的に調節してもよい。いくつかの実施形態では、軌道調節器305は、計画された軌道322を使用してもよく、それによって、移動の計画された経路を維持し、計画された軌道322の実行を調節するよう、そこの1つ以上のウェイポイントを動的に更新/置き換えてもよい。動的な調節に関する詳細を、以下に記載する。 The bridge circuit 304 may include a track regulator 305. The orbital regulator 305 may include one or more circuits and / or functions configured to regulate the planned orbital 322 and / or their execution. The orbit regulator 305 is planned for I / O state 344, error state 346, grip strength or state, package identification or state, real-time situation, and / or at one or more points along the planned orbit 322. Other real-time parameters may be tracked during the execution of the orbit 322. The orbital regulator 305 may dynamically adjust the planned orbital 322 when the tracked information deviates from the operating state and / or meets the adjustment conditions. In some embodiments, the orbital regulator 305 may use a planned orbital 322, thereby maintaining a planned path of movement and coordinating the execution of the planned orbital 322. One or more waypoints there may be dynamically updated / replaced. Details regarding dynamic regulation are given below.

<タスク実行例>
図4は、本技術の1つ以上の実施形態に係る、実施例のタスクを実行するロボットシステム100の上面図である。例示される実施例のタスクは、開始位置114からタスク位置116に目標物体112を移送することを含んでもよい。上記説明されたように、図3の動きプランナ回路302は、タスクを実行するための計画された軌道322を導出してもよい。
<Task execution example>
FIG. 4 is a top view of a robot system 100 that executes a task of an embodiment according to one or more embodiments of the present technology. The task of the illustrated embodiment may include transferring the target object 112 from the start position 114 to the task position 116. As described above, the motion planner circuit 302 of FIG. 3 may derive a planned trajectory 322 for performing a task.

いくつかの実施形態では、計画された軌道322は、1つ以上の計画されたウェイポイント402を含んでもよい。計画されたウェイポイント402は、1つ以上のシステム動作パラメータまたはロボット動作パラメータに従った、計画された軌道322に沿った目標とされた位置を含んでもよい。例えば、計画されたウェイポイント402は、各々の処理期間404(T)に対応する追跡された部材(例えば、エンドエフェクタなどのロボット306の1つ以上の部分、及び/または目標物体112)に対する目標とされた位置を表してもよい。言い換えると、図3のブリッジ回路304及び/またはロボット306は、各々の処理期間の間に次の計画されたウェイポイントに、追跡された部材を反復的に移動させてもよい。1つ以上の実施形態では、追跡された部材の移動は、計画されたウェイポイント402のペアの間で直線的であってもよく、及び/または一定速度にあってもよい。計画されたウェイポイント402は、移動の方向もしくは速度を変化させることによって、または追跡された部材を回転させることによってなど、追跡された部材の移動を変化させるための位置を表してもよい。 In some embodiments, the planned orbit 322 may include one or more planned waypoints 402. The planned waypoint 402 may include a targeted position along the planned trajectory 322 according to one or more system or robotic motion parameters. For example, the planned waypoint 402 is a target for a tracked member (eg, one or more parts of the robot 306, such as an end effector, and / or a target object 112) corresponding to each processing period 404 (T). It may represent the position where. In other words, the bridge circuit 304 and / or robot 306 of FIG. 3 may iteratively move the tracked member to the next planned waypoint during each processing period. In one or more embodiments, the movement of the tracked member may be linear and / or at a constant speed between the planned pairs of waypoints 402. The planned waypoint 402 may represent a position for changing the movement of the tracked member, such as by changing the direction or speed of movement, or by rotating the tracked member.

例示的な実施例として、ロボットシステム100(例えば、ブリッジ回路304を介した)は、追跡された部材の現在の位置406を追跡してもよい。ロボットシステム100は、ロボット306がタスクの実行の間、及び/またはタスクの実行と対応する計画された軌道との間に目標物体112を移送する間、現在の位置406を追跡してもよい。したがって、ブリッジ回路304は、新たなタスクに対する計画された軌道322が受信されるとき、エンドエフェクタの現在の位置406を知ることができる。ブリッジ回路304は、図3の初期位置342として現在の位置406を設定してもよい。したがって、ブリッジ回路304は、計画された軌道322を実行するデータ及び/またはコマンドをロボット306に送信してもよい。例えば、ブリッジ回路304は、各々の処理期間404にわたって計画されたウェイポイント402の次の1つに追跡された部分を反復的に移動させるためのデータ及び/またはコマンドをロボット306に送信してもよい。 As an exemplary embodiment, the robot system 100 (eg, via a bridge circuit 304) may track the current position 406 of the tracked member. The robot system 100 may track the current position 406 during the execution of the task and / or while the robot 306 transfers the target object 112 between the execution of the task and the corresponding planned trajectory. Therefore, the bridge circuit 304 can know the current position 406 of the end effector when the planned trajectory 322 for the new task is received. The bridge circuit 304 may set the current position 406 as the initial position 342 in FIG. Therefore, the bridge circuit 304 may send data and / or commands to perform the planned orbit 322 to the robot 306. For example, the bridge circuit 304 may send data and / or commands to the robot 306 to iteratively move the tracked portion to the next one of the waypoints 402 planned over each processing period 404. good.

計画された軌道322の実行の間、ロボットシステム100は、リアルタイム状況を監視してもよい。リアルタイム状況のいくつかの実施例は、部品損失(例えば、目標物体112を落とすこと)、目標物体112に対してつかむことが不十分であること、ロボット306及び/または目標物体112と別の物体/構造との間の予測されない接触/計画されない接触(例えば、衝突イベント)、予め定められた取消条件、不一致のセンサ値、開始/終了位置における予測されない状況、並びにロボット306における動作的及び/または機械的故障などを表すエラー状況を含んでもよい。リアルタイム状況の他の実施例は、外部ソース(例えば、図3の動きプランナ回路302)及び/もしくは内部ソース(例えば、図3の軌道調節器305)からの中断コマンド、再開コマンド、取消コマンド、及び/または速度調節コマンドなど、他のデバイス/システムによって提供されるコマンドを含んでもよい。ブリッジ回路304は、リアルタイム状況を監視することに基づいて、図3のI/O状態344及び/または図3のエラー状態346を検出及び設定してもよい。 During the execution of the planned orbit 322, the robot system 100 may monitor the real-time situation. Some embodiments of real-time situations include component loss (eg, dropping the target object 112), inadequate gripping against the target object 112, robot 306 and / or an object separate from the target object 112. / Unexpected contact with structure / Unplanned contact (eg, collision event), predetermined cancellation conditions, mismatched sensor values, unpredictable situations at start / end positions, and behavioral and / or behavior in robot 306. It may include an error situation indicating a mechanical failure or the like. Other embodiments of real-time situations include suspend, resume, cancel commands, and / or suspend commands from external sources (eg, motion planner circuit 302 in FIG. 3) and / or internal sources (eg, orbit regulator 305 in FIG. 3). / Or may include commands provided by other devices / systems, such as speed control commands. The bridge circuit 304 may detect and set the I / O state 344 and / or the error state 346 of FIG. 3 based on monitoring the real-time situation.

各々の処理期間404の間、ブリッジ回路304及び/またはロボット306は、I/O状態344をチェックしてもよい。I/O状態344が、計画された軌道322の継続した実行(例えば、再開状態、及び/または中断/取消/速度変化がないこと)を示すとき、ブリッジ回路304及び/またはロボット306は、計画されたウェイポイント402の次の1つに、追跡された部分(例えば、エンドエフェクタ及び/または目標物体112)を進めるよう動作してもよい。ブリッジ回路304及び/またはロボット306は、次のウェイポイントに追跡された部分を進める間、エラー状態に対してチェックすることを続けてもよい。エラー状況が検出され、エラー状態346が設定/検出されるとき、ブリッジ回路304は、計画された軌道322の実行を無効にしてもよく、取り消してもよく、調節してもよく、及び/または再始動してもよい。計画された軌道322に対して無効にし、取り消すなどの際、ブリッジ回路304(例えば、軌道調節器305を介した)は、移動速度及び/またはウェイポイントを調節してもよい。したがって、ブリッジ回路304は、他の故障につながる突然の移動/衝突を低減させる円滑な/シームレスな方式において、及び/またはロボット306のハードウェア/物理的能力に従って、計画された軌道322に対する変更を実行してもよい。 During each processing period 404, the bridge circuit 304 and / or the robot 306 may check the I / O state 344. When the I / O state 344 indicates continuous execution of the planned orbit 322 (eg, no restart state and / or interruption / cancellation / speed change), the bridge circuit 304 and / or robot 306 plans. It may act to advance the tracked portion (eg, the end effector and / or the target object 112) to one of the following waypoints 402. The bridge circuit 304 and / or the robot 306 may continue to check for error conditions while advancing the portion tracked to the next waypoint. When an error situation is detected and an error condition 346 is set / detected, the bridge circuit 304 may disable, cancel, adjust, and / or execute the planned orbital 322 execution. You may restart. The bridge circuit 304 (eg, via the orbital regulator 305) may adjust the travel speed and / or waypoint when disabling and canceling the planned orbital 322. Thus, the bridge circuit 304 makes changes to the planned trajectory 322 in a smooth / seamless manner to reduce sudden movements / collisions leading to other failures and / or according to the hardware / physical capabilities of the robot 306. You may do it.

図5Aは、本技術の1つ以上の実施形態に係る、応答プロファイル502の例示である。応答プロファイル502は、コマンドを実行する際のロボット306における物理反応または実行を表してもよい。図5Aに例示される実施例について、応答プロファイル502は、停止コマンドまたは中断状態に応答した、エンドエフェクタの速度を表してもよい。垂直軸は、エンドエフェクタの速度を表してもよく、水平軸は、時間を表してもよい。応答プロファイル502は、ロボット306において受信される停止コマンド/中断状態などのトリガイベント504、及びロボット306の対応する応答を表してもよい。ロボット306は、トリガイベント504に応答してもよく、エンドエフェクタの移動を停止することによってなど、完了イベントを実行してもよい。ロボット306は、トリガイベント504を受信して処理するのに、ロボットの処理遅延508を必要とすることがある。トリガイベント504及び/またはその処理に続いて、ロボット306は、完了イベント506を達成するよう、エンドエフェクタの移動を減速させることによってなど、物理的な変更を実行してもよい。 FIG. 5A is an example of a response profile 502 according to one or more embodiments of the present technology. The response profile 502 may represent a physical reaction or execution in the robot 306 when executing a command. For the embodiment illustrated in FIG. 5A, the response profile 502 may represent the speed of the end effector in response to a stop command or suspended state. The vertical axis may represent the speed of the end effector and the horizontal axis may represent time. The response profile 502 may represent a trigger event 504 such as a stop command / interruption state received by the robot 306 and the corresponding response of the robot 306. The robot 306 may respond to the trigger event 504 or execute a completion event, such as by stopping the movement of the end effector. The robot 306 may require a robot processing delay 508 to receive and process the trigger event 504. Following the trigger event 504 and / or processing thereof, the robot 306 may make physical changes, such as by slowing the movement of the end effector to achieve the completion event 506.

ロボットシステム100(例えば、ブリッジ回路304)は、計画された軌道322の実行を調節するために、応答プロファイル502を使用してもよい。言い換えると、ロボットシステム100は、計画された軌道322の実行を調節する際に、ロボット306の物理特性または遂行特性を説明することができる。いくつかの実施形態では、ロボットシステム100は、計画されたウェイポイント402を置き換える更新されたウェイポイントを導出するために、応答プロファイル502を使用してもよい。 The robot system 100 (eg, the bridge circuit 304) may use the response profile 502 to coordinate the execution of the planned trajectory 322. In other words, the robot system 100 can explain the physical or performance characteristics of the robot 306 in coordinating the execution of the planned trajectory 322. In some embodiments, the robot system 100 may use the response profile 502 to derive an updated waypoint that replaces the planned waypoint 402.

図5Bは、本技術の1つ以上の実施形態に係る、実施例の調節520の例示である。図5に例示されるように、図1のロボットシステム100(例えば、図3のブリッジ回路304及び/または図3のロボット306を介した)は、開始位置114からタスク位置116に目標物体112を移送するための、図の計画された軌道322を実行してもよい。実行の間、ロボットシステム100は、目標部分(例えば、エンドエフェクタ及び/または図1の目標物体112)の現在の位置406を追跡してもよい。 FIG. 5B is an example of regulation 520 of an embodiment according to one or more embodiments of the present art. As illustrated in FIG. 5, the robot system 100 of FIG. 1 (eg, via the bridge circuit 304 of FIG. 3 and / or the robot 306 of FIG. 3) places the target object 112 from the start position 114 to the task position 116. The planned orbit 322 of the figure for transfer may be performed. During execution, the robot system 100 may track the current position 406 of the target portion (eg, the end effector and / or the target object 112 in FIG. 1).

ロボットシステム100が、図3のI/O状態344及び/または図3のエラー状態346などにおける状態変化を決定するとき、ロボットシステム100は、計画されたウェイポイント402の中で、1つ以上のアクティブウェイポイント522(例えば、第1の来たるべきポイント522a及び/または第2の来たるべきポイント522b)を決定してもよい。アクティブウェイポイント522は、現在の位置406を超え、または現在の位置406に対して来たるべき計画されたウェイポイント402のインスタンスを含んでもよく、目標部分(例えば、現在の位置406の背後のウェイポイント)を通過し、または目標部分によってトラバースされた計画されたウェイポイント402のインスタンスを排除してもよい。いくつかの実施形態では、ロボットシステム100は、計画されたウェイポイント402の隣接したウェイポイントの間に延びる計画されたセグメント524に沿って、ロボット306を、その代表的な部分(例えば、エンドエフェクタ)及び/または目標物体112を反復的に移動させるよう動作させてもよい。 When the robot system 100 determines a state change in the I / O state 344 of FIG. 3 and / or the error state 346 of FIG. 3, the robot system 100 has one or more of the planned waypoints 402. Active waypoints 522 (eg, first upcoming point 522a and / or second upcoming point 522b) may be determined. The active waypoint 522 may include an instance of the upcoming planned waypoint 402 beyond the current position 406 or relative to the current position 406 and may include a target portion (eg, a way behind the current position 406). Instances of planned waypoints 402 that have passed through points) or have been traversed by target portions may be eliminated. In some embodiments, the robot system 100 attaches the robot 306 to a representative portion thereof (eg, an end effector) along a planned segment 524 extending between adjacent waypoints of the planned waypoints 402. ) And / or the target object 112 may be operated to move iteratively.

更に、決定された状態変化に応答して、ロボットシステム100は、状態変化に対応する図5の応答プロファイル502にアクセスにし、及び/または応答プロファイル502を分析してもよい。例えば、ロボットシステム100(例えば、ブリッジ回路304)は、状態変化に対応するアクションを実行及び完了するロボット306の能力を決定してもよい。したがって、ロボットシステム100は、調節アクション(例えば、状態変化に応答して取られるアクション)を完了することができる計画された軌道322に沿った位置を表す実行可能性領域530を導出してもよい。実行可能性領域530は、調節アクションを完了することができる(例えば、調節を開始することができ、または最初に効果を奏することができる)計画された軌道322に沿った最も近い/最も早い位置及び/または最も遠い/最も遅い位置を表してもよい。 Further, in response to the determined state change, the robot system 100 may access and / or analyze the response profile 502 of FIG. 5 corresponding to the state change. For example, the robot system 100 (eg, the bridge circuit 304) may determine the ability of the robot 306 to perform and complete actions corresponding to state changes. Accordingly, the robot system 100 may derive a viability region 530 representing a position along a planned trajectory 322 capable of completing an adjustment action (eg, an action taken in response to a state change). .. The viability region 530 is the closest / earliest position along the planned trajectory 322 where the adjustment action can be completed (eg, the adjustment can be initiated or the effect can be achieved first). And / or may represent the farthest / slowest position.

ロボットシステム100(例えば、図3の軌道調節器305)は、実行可能性領域530に基づいて、1つ以上の更新されたウェイポイント532を導出してもよい。更新されたウェイポイント532は、計画された軌道322に沿ってもよい。更新されたウェイポイント532は、計画されたウェイポイント402を置き換えるためのものであってもよい。更新されたウェイポイント532のうちの1つ以上は、計画されたウェイポイント402の対応する1つ以上と一致してもよい。いくつかの実施形態では、ロボットシステム100は、更新されたウェイポイント532の隣接したウェイポイントの間に延びる更新されたセグメント534に沿って、ロボット306を、その代表的な部分(例えば、エンドエフェクタ)及び/または目標物体112を反復的に移動させるよう動作させてもよい。 The robot system 100 (eg, orbital regulator 305 in FIG. 3) may derive one or more updated waypoints 532 based on the feasibility region 530. The updated waypoint 532 may be along the planned orbit 322. The updated waypoint 532 may be to replace the planned waypoint 402. One or more of the updated waypoints 532 may match the corresponding one or more of the planned waypoints 402. In some embodiments, the robot system 100 attaches the robot 306 to a representative portion thereof (eg, an end effector) along an updated segment 534 extending between adjacent waypoints of the updated waypoints 532. ) And / or the target object 112 may be operated to move iteratively.

ロボットシステム100は、実行可能性領域530内の更新されたウェイポイント532のうちの1つ以上を導出してもよい。ロボットシステム100は、追跡された部分が次の更新されたウェイポイント(例えば、実行可能性領域530内のウェイポイント)において調節アクションを完了することができるように、現在の位置406において調節アクションを開始してもよい。例示的な実施例として、ロボットシステム100は、次の更新されたウェイポイントにおいてエンドエフェクタ及び/または運搬された目標物体112を停止してもよい。また、ロボットシステム100は、次の更新されたウェイポイントによって目標とされた速度(例えば、計画された速度と比較した、移動速度における増大または減少)を達成してもよい。ロボットシステム100は、移動速度を反復的に増大または減少させることによってなど、所望の終点状態を達成するために、複数の更新されたウェイポイント532を使用してもよい。更新されたウェイポイント532を導出する際、ロボットシステム100は、更新された移動速度を考慮することができる。図4の処理期間404は、一定のままであってもよく、更新されたウェイポイント532は、一定の処理期間404に対する更新された移動速度に対応してもよい。例えば、更新されたウェイポイント532の間の距離/離間距離は、更新された移動速度がより低速であるとき、計画されたウェイポイント402と比較して減少してもよい。 The robot system 100 may derive one or more of the updated waypoints 532 within the feasibility area 530. The robot system 100 performs an adjustment action at the current position 406 so that the tracked portion can complete the adjustment action at the next updated waypoint (eg, a waypoint within the viability region 530). You may start. As an exemplary embodiment, the robot system 100 may stop the end effector and / or the transported target object 112 at the next updated waypoint. The robot system 100 may also achieve the speed targeted by the next updated waypoint (eg, increase or decrease in travel speed compared to the planned speed). The robot system 100 may use a plurality of updated waypoints 532 to achieve the desired end point state, such as by iteratively increasing or decreasing the movement speed. When deriving the updated waypoint 532, the robot system 100 can take into account the updated travel speed. The processing period 404 of FIG. 4 may remain constant and the updated waypoint 532 may correspond to the updated travel speed for a constant processing period 404. For example, the distance / distance between the updated waypoints 532 may be reduced compared to the planned waypoint 402 when the updated travel speed is slower.

いくつかの実施形態では、応答プロファイル502は、(1)ロボット306の最大逆速度(例えば、1つの処理期間404またはその残りの部分の間の移動速度における最大の負の変化)及び(2)ロボット306の最大順速度(例えば、1つの処理期間404またはその残りの部分の間の移動速度における最大の正の変化)に対応してもよい。最大逆速度は、

Figure 2022511343000001
によって表されてもよく、最大順速度は、
Figure 2022511343000002
によって表されてもよい。代表的な部分の位置は、qと表わされてもよく、対応する速度(例えば、位置の第1の派生)は、
Figure 2022511343000003
によって表されてもよく、対応する加速度(例えば、位置の第2の派生)は、
Figure 2022511343000004
によって表されてもよい。現在のセグメント(例えば、現在の位置406を含むセグメント)に対する初期位置/ウェイポイントは、
Figure 2022511343000005
と表されてもよい。 In some embodiments, the response profile 502 comprises (1) the maximum reverse speed of the robot 306 (eg, the largest negative change in the speed of movement between one processing period 404 or the rest thereof) and (2). It may correspond to the maximum forward speed of the robot 306 (eg, the maximum positive change in moving speed between one processing period 404 or the rest of it). The maximum reverse speed is
Figure 2022511343000001
May be represented by, the maximum forward speed is
Figure 2022511343000002
May be represented by. The position of the representative portion may be expressed as q and the corresponding velocity (eg, the first derivation of the position) is
Figure 2022511343000003
May be represented by the corresponding acceleration (eg, a second derivation of position).
Figure 2022511343000004
May be represented by. The initial position / waypoint for the current segment (eg, the segment containing the current position 406) is
Figure 2022511343000005
May be expressed as.

実行可能性領域530は、来たるべき計画されたウェイポイント(例えば、第1の来たるべきポイント522a)に対する(1)逆境界及び(2)前方境界の両方によって画定されてもよい。逆境界は、最大逆速度

Figure 2022511343000006
、来たるべき計画されたウェイポイント
Figure 2022511343000007
、及び処理期間404(T)に従って導出されてもよい。例えば、逆境界は、
Figure 2022511343000008
に基づいて導出されてもよい。前方境界は、最大逆速度
Figure 2022511343000009
、来たるべき計画されたウェイポイント
Figure 2022511343000010
、及び処理期間404(T)に従って導出されてもよい。例えば、前方境界は、
Figure 2022511343000011
に基づいて導出されてもよい。 The viability region 530 may be defined by both (1) reverse boundaries and (2) forward boundaries for upcoming planned waypoints (eg, first upcoming point 522a). Reverse boundary is maximum reverse velocity
Figure 2022511343000006
, The upcoming planned waypoint
Figure 2022511343000007
, And may be derived according to the processing period 404 (T). For example, the reverse boundary
Figure 2022511343000008
It may be derived based on. The front boundary is the maximum reverse speed
Figure 2022511343000009
, The upcoming planned waypoint
Figure 2022511343000010
, And may be derived according to the processing period 404 (T). For example, the front boundary
Figure 2022511343000011
It may be derived based on.

ロボットシステム100は、実行可能性領域530内に位置することになる更新されたウェイポイント532の1つ目を導出してもよい。第1の更新されたウェイポイントを導出する際、ロボットシステム100は、目標とされた速度を決定してもよい。目標とされた速度は、最大逆速度

Figure 2022511343000012
及び最大順速度
Figure 2022511343000013
によって境界を設けられてもよい。いくつかの実施形態では、目標とされた速度は、処理期間404(T)にわたって次のセグメント(例えば、第1の来たるべきポイント522a)に対する初期位置と第2の後続のセグメント(例えば、第2の来たるべきポイント522b)に対する初期位置との間の差を評価することに基づいて導出されてもよい。したがって、目標とされた速度は、
Figure 2022511343000014
として表されてもよく、次のセグメントの初期位置は、
Figure 2022511343000015
と表わされ、第2の後続のセグメントに対する初期位置は、
Figure 2022511343000016
と表わされる。応答コマンドが実行可能性領域530を超えて延長するとき、第1の更新されたウェイポイントは、その境界にあるなど、実行可能性領域530内にあるように切り捨てられてもよく、または調節されてもよい。更新されたウェイポイント532の1つ目は、1つの処理期間にわたって目標とされた速度及び/または対応する加速度を実行することに基づいて導出されてもよい。 The robot system 100 may derive the first of the updated waypoints 532 that will be located within the feasibility zone 530. In deriving the first updated waypoint, the robot system 100 may determine the targeted speed. The targeted speed is the maximum reverse speed
Figure 2022511343000012
And maximum forward speed
Figure 2022511343000013
Boundaries may be provided by. In some embodiments, the targeted speed is the initial position with respect to the next segment (eg, first upcoming point 522a) and the second subsequent segment (eg, first) over the processing period 404 (T). It may be derived based on assessing the difference between the initial position and the upcoming point 522b) of 2. Therefore, the targeted speed is
Figure 2022511343000014
May be expressed as, the initial position of the next segment is
Figure 2022511343000015
The initial position for the second subsequent segment is
Figure 2022511343000016
It is expressed as. When the response command extends beyond the feasibility area 530, the first updated waypoint may be truncated or adjusted to be within the feasibility area 530, such as at its boundaries. You may. The first of the updated waypoints 532 may be derived based on performing a targeted velocity and / or corresponding acceleration over a processing period.

1つ以上の実施形態では、ロボットシステム100は、現在の速度/計画された速度と目標とされた速度との間の1つ以上の中間速度を計算してもよい。ロボットシステム100は、目標とされた速度が1つの処理期間内に達成可能でないとき、最大順速度/逆速度または加速度に従って中間速度を計算してもよい。したがって、ロボットシステム100は、複数の処理期間/ウェイポイントにわたって、及び目標とされた速度まで、中間速度を反復的に実行して、中間速度に到達してもよい。ロボットシステム100は、各々の対応する処理期間にわたって、中間速度/目標とされた速度及び/または対応する加速度に従って、更新されたウェイポイント532を導出してもよい。 In one or more embodiments, the robot system 100 may calculate one or more intermediate speeds between the current speed / planned speed and the targeted speed. The robot system 100 may calculate the intermediate speed according to the maximum forward / reverse speed or acceleration when the targeted speed is not achievable within one processing period. Therefore, the robot system 100 may iteratively execute an intermediate speed over a plurality of processing periods / waypoints and up to a targeted speed to reach the intermediate speed. The robot system 100 may derive updated waypoints 532 according to intermediate speed / targeted speed and / or corresponding acceleration over each corresponding processing period.

<制御フロー例>
図6は、本技術の1つ以上の実施形態に係る、図1のロボットシステム100を動作させる実施例の方法600のフローチャートである。方法600は、図3の計画された軌道322またはその実行を動的に調節する(その実行の派生の後及び/またはその実行の間)ためのものであってもよい。方法600は、図3のブリッジ回路304、図3の動きプランナ回路302、及び/または図3のロボット306を使用して実行されてもよい。方法600は、図2のプロセッサ202のうちの1つ以上により、図2の記憶装置204のうちの1つ以上に記憶された命令を実行することに基づいて実行されてもよい。方法600は、通信デバイス206を使用して、計画された軌道322、図5Bの調節520、図3のフィードバックデータ362、及び/または対応するコマンド/設定を通信することに基づいて実行されてもよい。通信されたコマンド/設定は、ロボット306において実行されてもよく、それによって、計画された軌道322及び/またはそれに対する調節520に対応するタスクを実行する。いくつかの実施形態では、方法600は、1つ以上の状態マシンを使用して実行されてもよい。
<Example of control flow>
FIG. 6 is a flowchart of the method 600 of the embodiment in which the robot system 100 of FIG. 1 is operated according to one or more embodiments of the present technology. Method 600 may be for dynamically adjusting the planned orbit 322 of FIG. 3 or its execution (after the derivation of that execution and / or during its execution). Method 600 may be performed using the bridge circuit 304 of FIG. 3, the motion planner circuit 302 of FIG. 3, and / or the robot 306 of FIG. Method 600 may be performed on the basis of executing instructions stored in one or more of the storage devices 204 of FIG. 2 by one or more of the processors 202 of FIG. Method 600 may also be performed based on communicating the planned trajectory 322, the adjustment 520 of FIG. 5B, the feedback data 362 of FIG. 3 and / or the corresponding command / setting using the communication device 206. good. The communicated commands / settings may be performed in robot 306, thereby performing tasks corresponding to the planned orbit 322 and / or adjustment 520 for it. In some embodiments, method 600 may be performed using one or more state machines.

ブロック602において、ロボットシステム100は、タスクを実行するように構成された初期に計画された軌道を通信してもよい。例えば、動きプランナ回路302は、図1の開始位置114から図1のタスク位置116に目標物体112を移送することなど、図1の目標物体112の操作を必要とするタスクを達成するための計画された軌道322を導出してもよい。いくつかの実施形態では、動きプランナ回路302は、タスク位置116における目標物体112に対する目標とされた姿勢を決定し、開始位置114に接続する経路セグメントを反復的に決定することによって、計画された軌道322を導出してもよい。 At block 602, the robot system 100 may communicate an initially planned trajectory configured to perform a task. For example, the motion planner circuit 302 is a plan for accomplishing a task that requires the operation of the target object 112 of FIG. 1, such as transferring the target object 112 from the start position 114 of FIG. 1 to the task position 116 of FIG. The completed orbital 322 may be derived. In some embodiments, the motion planner circuit 302 is designed by determining the targeted posture with respect to the target object 112 at the task position 116 and iteratively determining the path segment connecting to the starting position 114. The orbital 322 may be derived.

動きプランナ回路302は、導出された計画された軌道322をブリッジ回路304に通信してもよく、ブリッジ回路304は、初期に計画された軌道322を受信してもよい。以下で更に詳細に説明されるように、ブリッジ回路304は、タスクの実行及び/またはタスクに対するリアルタイム/動的調節を制御してもよい。 The motion planner circuit 302 may communicate the derived planned track 322 to the bridge circuit 304, and the bridge circuit 304 may receive the initially planned track 322. As described in more detail below, the bridge circuit 304 may control task execution and / or real-time / dynamic coordination for the task.

ブロック604において、ロボットシステム100は、計画された軌道322と関連付けられた図4の1つ以上の計画されたウェイポイント402を識別してもよい。計画されたウェイポイント402は、図4の処理期間404のセットの間に反復的に/増加的に目標とされた計画された軌道322に沿った位置を含んでもよい。言い換えると、ロボットシステム100は、対応する処理期間404の終了時に、計画されたウェイポイント402に代表する部分(例えば、エンドエフェクタ)及び/または目標物体112を配置するようロボット306を動作させてもよい。いくつかの実施形態では、計画されたウェイポイント402を識別することは、ブリッジ回路304が、受信された位置から動きプランナ回路302において導出され、受信された位置に含まれる計画されたウェイポイント402にアクセスすることを含んでもよい。他の実施形態では、計画されたウェイポイント402を識別することは、ブリッジ回路304が、処理期間404(例えば、各々の期間の間の予め設定された持続期間)及び計画された軌道322と関連付けられた速度設定(例えば、計画された軌道322と共に提供される情報)に従って、計画された軌道322に沿った位置を決定することを含んでもよい。 At block 604, the robot system 100 may identify one or more planned waypoints 402 in FIG. 4 associated with the planned trajectory 322. The planned waypoint 402 may include positions along the planned orbital 322 that are iteratively / incrementally targeted during the set of processing periods 404 of FIG. In other words, the robot system 100 may operate the robot 306 to place a portion (eg, an end effector) and / or a target object 112 that is representative of the planned waypoint 402 at the end of the corresponding processing period 404. good. In some embodiments, identifying the planned waypoint 402 means that the bridge circuit 304 is derived from the received position in the motion planner circuit 302 and contained in the received position. May include accessing the. In another embodiment, identifying the planned waypoint 402 associates the bridge circuit 304 with a processing period 404 (eg, a preset duration between each period) and a planned orbit 322. It may include determining a position along the planned orbit 322 according to a set speed setting (eg, information provided with the planned orbit 322).

ブロック606において、ロボットシステム100は、タスクの実行を開始してもよい。例えば、ロボットシステム100は、ブリッジ回路304が、タスク実行処理を始め、対応するプロトコルを開始するなどのために、ロボット306にコマンド/設定を通信することに基づいて、タスクの実行を開始してもよい。ブリッジ回路304は更に、その代表的な部分(例えば、エンドエフェクタ)など、ロボット306の図3の初期位置342を決定してもよく、及び/または予め定められた位置(例えば、目標物体112をつかむための計画された軌道322によって識別されるつかむ位置)に代表的な部分を操縦するようロボット306を動作させてもよい。手順が完了すると、予め定められた位置は、初期位置342としての役割を果たしてもよい。 At block 606, the robot system 100 may start executing tasks. For example, the robot system 100 initiates task execution based on communication of commands / settings to the robot 306, such as when the bridge circuit 304 initiates a task execution process and initiates a corresponding protocol. May be good. The bridge circuit 304 may further determine an initial position 342 of FIG. 3 of the robot 306, such as its representative portion (eg, an end effector), and / or a predetermined position (eg, a target object 112). The robot 306 may be operated to steer a representative portion (a gripping position identified by a planned trajectory 322 for gripping). When the procedure is complete, the predetermined position may serve as the initial position 342.

決定ブロック608において、ロボットシステム100は、計画された軌道322に従って、タスクの実行が終点に到達したかどうかを決定してもよい(例えば、タスク位置116に配置される目標物体112に対応する終結状態)。以下で詳細に説明されるように、ロボットシステム100は、計画された軌道322に沿って目標物体112を反復的に移送してもよい。ロボットシステム100は、タスクの実行が各々の移動の反復に対して終点に到達したかどうかを決定してもよい。いくつかの実施形態では、ロボットシステムは、目標物体112がタスク位置116に配置されるとき、及び/または計画された軌道322に対応する全てのコマンド/設定が実行/完了されたとき、終点に到達したと決定してもよい。タスクが終点に到達したとき、ロボットシステム100は、ブロック610において表されるように次のタスクを識別してもよく、ブロック602へのフィードバックループによって示されるように、対応する次の計画された軌道を通信してもよい。 In the determination block 608, the robot system 100 may determine whether the task execution has reached the end point according to the planned trajectory 322 (eg, the termination corresponding to the target object 112 located at the task position 116). Status). As described in detail below, the robot system 100 may iteratively transfer the target object 112 along the planned trajectory 322. The robot system 100 may determine whether the execution of the task has reached the end point for each iteration of movement. In some embodiments, the robot system is at the end point when the target object 112 is placed at task position 116 and / or when all commands / settings corresponding to the planned trajectory 322 have been executed / completed. It may be determined that it has been reached. When the task reaches the end point, the robot system 100 may identify the next task as represented in block 610 and the corresponding next planned as indicated by the feedback loop to block 602. The orbit may be communicated.

タスクが終点に到達しなかったとき、ロボットシステム100は、ブロック612に提示されるように、次のウェイポイントを識別してもよい。ロボットシステム100(例えば、ブリッジ回路304)は、現在の位置406(例えば、第1の反復に対する初期位置342)を、現在維持されている/有効なウェイポイントのセットと比較することに基づいて、次のウェイポイントを識別してもよい。維持されている/有効なウェイポイントのセットは、計画されたウェイポイント402を初期に含んでもよい。維持されている/有効なウェイポイントのセットは、調節520の後の、または調節520に基づいた計画されたウェイポイント402の代わりに、図5Bの更新されたウェイポイント532を含んでもよい。比較に基づいて、ロボットシステム100は、移動方向に沿った現在の位置406に隣接した(例えば、その前方直前に)ウェイポイントとして次のウェイポイントを識別してもよい。 When the task does not reach the end point, the robot system 100 may identify the next waypoint, as presented at block 612. The robot system 100 (eg, the bridge circuit 304) is based on comparing the current position 406 (eg, the initial position 342 to the first iteration) with the currently maintained / valid set of waypoints. The next waypoint may be identified. The set of maintained / valid waypoints may initially include the planned waypoints 402. The set of maintained / valid waypoints may include the updated waypoints 532 of FIG. 5B after adjustment 520 or in place of the planned waypoints 402 based on adjustment 520. Based on the comparison, the robot system 100 may identify the next waypoint as a waypoint adjacent to (eg, just before) the current position 406 along the direction of travel.

ブロック614において、ロボットシステム100は、識別された次のウェイポイントへの、ロボット306の代表的な部分及び/または目標物体112の移動を実行してもよい。例えば、ブリッジ回路304は、目標物体112またはロボット306の代表的な部分を次のウェイポイントへの計画された軌道322に従わせるようロボット306を動作させるためのコマンド及び/または設定のセットを通信することによって、移動を実行してもよい。ロボット306は、識別された次のウェイポイントにロボット306の代表的な部分及び/または目標物体112を移動/変位させるコマンド及び/または設定のセットを受信及び実行してもよい。 At block 614, the robot system 100 may perform the movement of a representative portion of the robot 306 and / or the target object 112 to the next identified waypoint. For example, the bridge circuit 304 communicates a set of commands and / or settings for operating the robot 306 to make a representative portion of the target object 112 or the robot 306 follow a planned trajectory 322 to the next waypoint. By doing so, the move may be performed. Robot 306 may receive and execute a set of commands and / or settings to move / displace a representative portion of robot 306 and / or target object 112 to the next identified waypoint.

ブロック616において、ロボットシステム100は、タスクの実行の間に現実世界状況を監視してもよい。例えば、ロボットシステム100は、現実世界状況を監視するよう、図2のセンサ216からリアルタイムデータを受信及び分析してもよい。また、ロボットシステム100は、動きプランナ回路302からのリアルタイムデータ(例えば、コマンド及び/もしくは他のメッセージ)、ロボットユニットからのリアルタイムデータ(例えば、ロボット306からのフィードバックデータ362)、並びに/または他の通信可能に結合されたデバイス/システム(例えば、倉庫管理システム)からのリアルタイムデータを監視機能のために使用してもよい。 At block 616, the robot system 100 may monitor the real world situation during the execution of the task. For example, the robot system 100 may receive and analyze real-time data from sensor 216 in FIG. 2 to monitor real-world situations. The robot system 100 also includes real-time data from the motion planner circuit 302 (eg, commands and / or other messages), real-time data from the robot unit (eg, feedback data 362 from the robot 306), and / or other. Real-time data from communicable coupled devices / systems (eg, warehouse management systems) may be used for monitoring functions.

いくつかの実施形態では、ロボットシステム100は、代表的な部分及び/または目標物体112が次のウェイポイントに移動している間(例えば、対応するセグメント移動の実行の間)、図3のI/O状態344を監視することに基づいて、現実世界状況を監視してもよい。I/O状態344は、リアルタイムセンサデータ及び/または受信された通信データを分析した結果に対応してもよく、ロボットシステム100(例えば、ロボット306)がタスクの実行を完了し、目標物体112を操作する能力を表してもよい。ロボットシステム100(例えば、ブリッジ回路304)は、中断状態、再開状態、取消状態、速度変化状態、エラー状態346、及び/またはそれらに対する変化を検出することによって、I/O状態344を監視してもよい。 In some embodiments, the robot system 100 is the I of FIG. 3 while the representative portion and / or the target object 112 is moving to the next waypoint (eg, during the execution of the corresponding segment movement). The real world situation may be monitored based on monitoring the / O state 344. The I / O state 344 may correspond to the result of analyzing real-time sensor data and / or received communication data, with the robot system 100 (eg, robot 306) completing the task execution and the target object 112. It may represent the ability to operate. The robot system 100 (eg, bridge circuit 304) monitors the I / O state 344 by detecting a suspended state, a restart state, a canceled state, a speed change state, an error state 346, and / or changes to them. May be good.

決定ブロック618において、ロボットシステム100は、監視された現実世界状況が進行しているタスクを調節するためのトリガに合致するかどうかを決定してもよい。トリガは、上記説明された状態のうちの1つ以上に対応する状況など、タスクに対する変更を必要とする状況を表してもよい。例示的な実施例として、ロボットシステム100は、より低いつかむ強さ、損失した部品、衝突、及び/またはタスクの実行の間に発生する他の予測されない状況を検出してもよく、それらを説明することができる。 In decision block 618, the robot system 100 may determine whether the monitored real-world situation meets a trigger for adjusting an ongoing task. The trigger may represent a situation that requires a change to the task, such as a situation corresponding to one or more of the states described above. As an exemplary embodiment, the robot system 100 may detect and illustrate lower grip strength, lost parts, collisions, and / or other unpredictable situations that occur during task execution. can do.

監視された現実世界状況がトリガ条件に合致しないとき、ロボットシステム100は、フィードバックループによって表されるように、初期に計画された軌道322に従ってタスクを実行することを続けてもよい。したがって、ロボットシステム100は、ブロック608~616に対して上記説明された処理を実行してもよく、計画された軌道322内の次のウェイポイントを識別してもよく、初期に計画されたようにタスクを反復的に実行してもよい。 When the monitored real-world situation does not meet the trigger condition, the robot system 100 may continue to perform the task according to the initially planned trajectory 322, as represented by the feedback loop. Therefore, the robot system 100 may perform the processes described above for blocks 608-616, or may identify the next waypoint within the planned orbit 322, as initially planned. The task may be executed iteratively.

監視された現実世界状況がトリガ条件に合致するとき、ロボットシステム100は、ブロック620に表されるように、1つ以上のタスク調節(例えば、図5Bの調節520)を動的に導出してもよい。いくつかの実施形態では、ロボットシステム100は、I/O状態344に基づいて、図5Bの更新されたウェイポイント532を導出することによってなど、調節520を動的に導出してもよい。例えば、中断状態、再開状態、取消状態、速度変化状態、及び/またはエラー状態を検出したことに応答して、ロボットシステム100は、計画された軌道322に沿った更新されたウェイポイント532を(例えば、ロボット306の代表的な部分が開始位置114とタスク位置116との間にあるときなど、タスクの実行の間に)動的に導出してもよい。更新されたウェイポイント532は、来たるべきウェイポイント/残りのウェイポイントのうちの1つ以上を含む計画されたウェイポイント402を置き換えるように構成されてもよい。更新されたウェイポイント532は、各々のウェイポイントが、対応する処理期間404の終了時に目標物体112または代表的な部分によって到達されることになる目標とされた位置を表すように、処理期間404に対応してもよい。 When the monitored real-world situation meets the trigger condition, the robot system 100 dynamically derives one or more task adjustments (eg, adjustment 520 in FIG. 5B) as represented by block 620. May be good. In some embodiments, the robot system 100 may dynamically derive the adjustment 520, such as by deriving the updated waypoint 532 of FIG. 5B, based on the I / O state 344. For example, in response to detecting a suspended state, a restart state, a canceled state, a speed change state, and / or an error state, the robot system 100 sets an updated waypoint 532 along the planned trajectory 322. It may be dynamically derived (during task execution, for example, when a representative portion of the robot 306 is between the start position 114 and the task position 116). The updated waypoint 532 may be configured to replace a planned waypoint 402 that includes one or more of the upcoming waypoints / remaining waypoints. The updated waypoints 532 have a processing period of 404 such that each waypoint represents a targeted position that will be reached by the target object 112 or a representative portion at the end of the corresponding processing period 404. May correspond to.

いくつかの実施形態では、ロボットシステム100は、ブロック622に示されるように、検出されたトリガと関連付けられた、図5Aの応答プロファイル502を識別することに基づいて、タスク調節を動的に導出してもよい。例えば、ロボットシステム100は、ロボット306に対する代表的な部分の移動を減速させ、加速させ、及び/または停止するための応答プロファイル502を識別してもよい。ロボットシステム100は、ロボット306に関する予め定められた情報/既知の情報(例えば、図2のマスタデータ252内にあるなど、図2の記憶装置204に記憶された情報)にアクセスすることに基づいて、及び/またはロボット306とプロファイルを通信することに基づいて、応答プロファイル502を識別してもよい。したがって、ロボットシステム100は、対応する応答プロファイル502と関連付けられた最大逆速度及び/または最大順速度など、調節またはその一部(例えば、加速、減速、停止など)を実行するロボットの物理的能力を表すものを識別してもよい。 In some embodiments, the robot system 100 dynamically derives task adjustments based on identifying the response profile 502 of FIG. 5A associated with the detected trigger, as shown in block 622. You may. For example, the robot system 100 may identify a response profile 502 for decelerating, accelerating, and / or stopping the movement of a representative portion with respect to the robot 306. The robot system 100 is based on accessing predetermined information / known information about the robot 306 (for example, information stored in the storage device 204 of FIG. 2, such as in the master data 252 of FIG. 2). And / or the response profile 502 may be identified based on communicating the profile with the robot 306. Accordingly, the robot system 100 is capable of performing adjustments or parts thereof (eg, acceleration, deceleration, stop, etc.), such as maximum reverse speed and / or maximum forward speed associated with the corresponding response profile 502. You may identify what represents.

ブロック624において、ロボットシステム100は、応答プロファイル502に基づいて、実行可能性領域530を決定してもよい。ロボットシステム100(例えば、ブリッジ回路304を介した)は、計画された軌道322に沿い、かつ目標物体112及び/またはロボット306の代表的な部分を表す現在の位置406の前方の実行可能性領域530を決定してもよい。ロボットシステム100は、更新されたコマンド/設定の投影されたタイミング、及び実行可能性領域530からの速度/時間に基づいて外挿された位置/距離に従って、応答プロファイル502をマッピングすることに基づいて、実行可能性領域530を決定してもよい。したがって、ロボットシステム100は、最大逆速度及び/または最大順速度のそれぞれと関連付けられた逆境界及び/または前方境界を導出することに基づいて、実行可能性領域530を決定してもよい。逆境界及び前方境界は、実行可能性領域530(例えば、逆境界と前方境界との間の領域)を画定するために使用されてもよい。ロボットシステム100は、調節520が最初に効果を奏することができる計画された軌道322に沿った位置を識別/提示するために、実行可能性領域530を使用してもよい。 At block 624, the robot system 100 may determine the feasibility region 530 based on the response profile 502. The robot system 100 (eg, via a bridge circuit 304) is a viable area in front of the current position 406 along the planned trajectory 322 and representing a representative portion of the target object 112 and / or the robot 306. 530 may be determined. The robot system 100 is based on mapping the response profile 502 according to the projected timing of the updated commands / settings and the extrapolated position / distance based on the speed / time from the viability region 530. , The feasibility area 530 may be determined. Therefore, the robot system 100 may determine the viability region 530 based on deriving the reverse boundary and / or the forward boundary associated with each of the maximum reverse velocity and / or the maximum forward velocity. Reverse and forward boundaries may be used to define a viable region 530 (eg, the region between the reverse and forward boundaries). The robot system 100 may use the feasibility area 530 to identify / present a position along the planned trajectory 322 on which the adjustment 520 can initially be effective.

ブロック626において、ロボットシステム100は、検出されたトリガに対する目標速度を決定してもよい。例えば、ロボットシステム100は、監視された状況が停止、取消、及び/または逆行などの予め定められた状態に対応するとき、ゼロ移動状態または停止された移動状態として目標速度を決定してもよい。また、ロボットシステム100は、速度変化段階及び/または逆行状態(例えば、計画された軌道322に沿った反対の方向を有するベクトル)と関連付けられた/速度変化段階及び/または逆行状態(例えば、計画された軌道322に沿った反対の方向を有するベクトル)によって目標とされた速度として目標速度を決定してもよい。更に、ロボットシステム100は、エラー状態346の検出に応答して、1つ以上の予め定められた処理及び/または式に従って、目標速度を決定してもよい。 At block 626, the robot system 100 may determine a target speed for the detected trigger. For example, the robot system 100 may determine the target speed as a zero movement state or a stopped movement state when the monitored situation corresponds to a predetermined state such as stop, cancellation, and / or retrograde. .. Also, the robot system 100 is associated with a velocity change step and / or a retrograde state (eg, a vector having opposite directions along a planned trajectory 322) / velocity change step and / or a retrograde state (eg, a plan). The target velocity may be determined as the target velocity by a vector having opposite directions along the resulting orbit 322). Further, the robot system 100 may determine the target speed according to one or more predetermined processes and / or equations in response to the detection of the error condition 346.

目標速度は、初期に計画された軌道322または来たるべきそれらの部分と関連付けられた計画された速度とは異なってもよい。言い換えると、目標速度は、計画された軌道322に対する動的に導出された調節及び/またはその実行に対する終点状態/状況に対応してもよい。 The target speed may differ from the initially planned orbit 322 or the planned speed associated with those parts to come. In other words, the target velocity may correspond to a dynamically derived adjustment and / or end point state / situation for the planned orbit 322.

決定ブロック628において、ロボットシステム100(例えば、ブリッジ回路304を介した)は、目標速度に対する変更を1つの処理期間にわたって実行可能かどうかを決定してもよい。例えば、ロボットシステム100は、目標速度及び/または現在の速度と目標速度との間の差を、応答プロファイル502と関連付けられた最大速度/境界速度と比較してもよい。目標速度が1つの処理期間内に実行可能でないとき(例えば、目標速度がロボット306と関連付けられた最大速度変化を上回るとき)、ロボットシステム100は、ブロック630において表されるように、1つ以上の中間速度を決定してもよい。言い換えると、ロボットシステム100は、中間速度を通過し、目標速度に到達するために、複数の処理期間を使用してもよい。いくつかの実施形態では、ロボットシステム100は、目標速度に最も近い最大速度/境界速度として中間速度を決定してもよい。他の実施形態では、ロボットシステム100は、目標速度に到達するために必要な処理期間/反復の最小数を決定してもよい。ロボットシステム100は、目標速度を決定された最小数で除算することに基づいて、中間速度(複数可)を計算してもよい。中間速度(複数可)は、現在の速度と目標速度との間の値/設定を含んでもよい。 In the determination block 628, the robot system 100 (eg, via the bridge circuit 304) may determine whether the change to the target speed can be performed over one processing period. For example, the robot system 100 may compare the target speed and / or the difference between the current speed and the target speed with the maximum speed / boundary speed associated with the response profile 502. When the target speed is not feasible within one processing period (eg, when the target speed exceeds the maximum speed change associated with the robot 306), the robot system 100 has one or more, as represented in block 630. The intermediate speed of may be determined. In other words, the robot system 100 may use a plurality of processing periods to pass an intermediate speed and reach a target speed. In some embodiments, the robot system 100 may determine an intermediate speed as the maximum speed / boundary speed closest to the target speed. In other embodiments, the robot system 100 may determine the minimum number of processing periods / iterations required to reach the target speed. The robot system 100 may calculate the intermediate speed (s) based on dividing the target speed by a determined minimum number. The intermediate speed (s) may include a value / setting between the current speed and the target speed.

ブロック632において、ロボットシステム100は、導出された速度(複数可)(例えば、目標速度及び/または中間速度(複数可))に基づいて、更新されたウェイポイントを導出してもよい。いくつかの実施形態では、ブリッジ回路304は、上記説明された実行可能な決定に従って、フラグを設定してもよい。ブリッジ回路304は、更新されたウェイポイント532の1つ目を導出するために、最初の来たるべきセグメント/次の来たるべきセグメントに対する決定された速度を使用してもよい。第1のウェイポイントは、上記説明されたような応答プロファイル502と関連付けられた最大速度/調節によって境界を設けられる来たるべき速度に基づいて導出されてもよい。したがって、ロボットシステム100は、実行可能性領域530内の位置として第1のウェイポイントを導出してもよい。 At block 632, the robot system 100 may derive updated waypoints based on the derived speed (s) (eg, target speed and / or intermediate speed (s)). In some embodiments, the bridge circuit 304 may be flagged according to the viable determination described above. The bridge circuit 304 may use the determined speed for the first upcoming segment / next upcoming segment to derive the first of the updated waypoints 532. The first waypoint may be derived based on the upcoming speed bounded by the maximum speed / adjustment associated with the response profile 502 as described above. Therefore, the robot system 100 may derive a first waypoint as a position within the feasibility region 530.

例示的な実施例として、ロボットシステム100は、現在の位置406の前方の次の来たるべきウェイポイント(例えば、図5Bの第1の来たるべきウェイポイント522a)において変更が実行されると決定してもよい。したがって、応答プロファイル502は、第1の来たるべきウェイポイント522aに続くセグメントにマッピングされてもよい。応答プロファイル502が1つの処理期間内に実行することができる変更を記述するので、実行可能性領域530は、図5Bの第1の来たるべきウェイポイント522aと第2の来たるべきウェイポイント522bとの間のサブセグメントを含んでもよい。ロボットシステム100は、目標とされた速度及び/または目標とされた速度に最も近い位置に従ってなど、実行可能性領域530内の位置として第1の更新されたウェイポイントを導出してもよい。例えば、ロボット306が来たるべき処理期間内の所望の変更を実行することができる場合、ロボットシステム100は、目標とされた調節の実行を予測することに基づいて(例えば、最大加速度/減速度を距離/位置を予測する1つ以上の予め定められた処理に基づいて)、第1の更新されたウェイポイントを導出してもよい。ロボット306が変更を実行する1つよりも多い処理期間を必要とする場合、ロボットシステム306は、実行可能性領域530の最も遠い境界、または第1の来たるべきポイント522aに対する上記説明された分割された位置として、第1の更新されたウェイポイントを導出してもよい。 As an exemplary embodiment, the robot system 100 determines that the change will be performed at the next upcoming waypoint in front of the current position 406 (eg, the first upcoming waypoint 522a in FIG. 5B). You may. Therefore, the response profile 502 may be mapped to the segment following the first upcoming waypoint 522a. The viability region 530 describes the first upcoming waypoint 522a and the second upcoming waypoint 522b in FIG. 5B, as the response profile 502 describes the changes that can be made within one processing period. May include subsegments between and. The robot system 100 may derive a first updated waypoint as a position within the viable region 530, such as according to the targeted speed and / or the position closest to the targeted speed. For example, if the robot 306 is capable of performing the desired changes within the upcoming processing period, the robot system 100 is based on predicting the execution of the targeted adjustment (eg, maximum acceleration / deceleration). Based on one or more predetermined processes for predicting distance / position), a first updated waypoint may be derived. If the robot 306 requires more processing time than one to perform the change, the robot system 306 is the furthest boundary of the viable region 530, or the division described above for the first upcoming point 522a. The first updated waypoint may be derived as the location.

いくつかの実施形態では、ロボットシステム100は、目標とされた速度及び/または中間速度(複数可)に基づいて、更新されたウェイポイント532の残りのセットを導出してもよい。他の実施形態では、ロボットシステム100は、反復ごとに1つの来たるべき更新されたウェイポイントを導出してもよい。 In some embodiments, the robot system 100 may derive the remaining set of updated waypoints 532 based on the targeted speed and / or intermediate speed (s). In another embodiment, the robot system 100 may derive one upcoming updated waypoint per iteration.

ロボットシステム100は、フィードバックループによって表されるように、調節520を実行するために更新されたウェイポイント532を使用してもよい。よって、I/O状態344に基づいて、ロボットシステム100(例えば、ブリッジ回路304を介した)は、計画されたウェイポイント402の代わりに、更新されたウェイポイント532に従って、目標物体112を操作するためのタスクに対する調節520を実行してもよい。計画された軌道322の残りの部分について、ブリッジ回路304は、後続の処理期間に対して、計画されたウェイポイント402の代わりに、来たるべきウェイポイント532を目標とする/来たるべきウェイポイント532に従うようロボット306を動作させるためのコマンド/設定を生成してもよい。したがって、ブリッジ回路304は、1つ以上の更新されたウェイポイント及び対応する処理期間(複数可)にまたがって、現在の速度から目標移動速度に遷移するようロボット306を動作させてもよい。例えば、実行可能なとき、ブリッジ回路304は、検出されたトリガ条件/状態に従う初期処理期間の間に、現在の速度から目標速度に遷移するようロボット306を動作させてもよい。また、1つの期間/反復にわたって実行可能でない場合、ブリッジ回路304は、初期処理期間の間に現在の速度から中間速度に遷移するようロボット306を動作させてもよい。ブリッジ回路304は、後続の処理期間の間に中間速度から目標速度に遷移するようロボット306を動作させてもよい。ブリッジ回路304は、タスク及びそれに対する後続の調節520を実行するよう、目標物体112及び/または代表的な部分を反復的に移動させてもよい。したがって、ブリッジ回路304は、目標物体112及び/または代表的な部分を移動させるための速度を停止する、逆行させる、及び/または調節するよう、ロボット306を動作させてもよい。 The robot system 100 may use updated waypoints 532 to perform adjustment 520, as represented by the feedback loop. Thus, based on the I / O state 344, the robot system 100 (eg, via the bridge circuit 304) operates the target object 112 according to the updated waypoint 532 instead of the planned waypoint 402. You may perform adjustment 520 for the task for. For the rest of the planned orbit 322, the bridge circuit 304 targets / is to come waypoint 532 instead of the planned waypoint 402 for subsequent processing periods. You may generate commands / settings to operate the robot 306 to follow 532. Therefore, the bridge circuit 304 may operate the robot 306 to transition from the current speed to the target moving speed across one or more updated waypoints and the corresponding processing period (s). For example, when feasible, the bridge circuit 304 may operate the robot 306 to transition from the current speed to the target speed during the initial processing period according to the detected trigger condition / state. Also, if not feasible over one period / iteration, the bridge circuit 304 may operate the robot 306 to transition from the current speed to an intermediate speed during the initial processing period. The bridge circuit 304 may operate the robot 306 to transition from an intermediate speed to a target speed during the subsequent processing period. The bridge circuit 304 may iteratively move the target object 112 and / or the representative portion to perform the task and subsequent adjustments 520 to it. Therefore, the bridge circuit 304 may operate the robot 306 to stop, reverse, and / or adjust the speed for moving the target object 112 and / or the representative portion.

<実行態様の詳細例>
図7A~図7Dは、本技術の1つ以上の実施形態に係る、実施例の調節機構(例えば、状態マシン)の例示である。図7Aは、軌道実行機構702(例えば、図3のブリッジ回路304、図2のプロセッサ202のうちの1つ以上、またはそれらの組み合わせ)を例示する。軌道実行機構702は、図3の計画された軌道322の実行を調節するための全体フローを管理するように構成されてもよい。軌道実行機構702は、図6の方法600、それらの一部、または代替的な実施形態に対応してもよい。
<Detailed example of execution mode>
7A-7D are illustrations of the adjusting mechanism (eg, state machine) of the embodiment according to one or more embodiments of the present art. FIG. 7A illustrates an orbital execution mechanism 702 (eg, one or more of the bridge circuit 304 of FIG. 3, processor 202 of FIG. 2, or a combination thereof). The orbit execution mechanism 702 may be configured to manage the overall flow for coordinating the execution of the planned orbit 322 of FIG. The orbit execution mechanism 702 may correspond to the method 600 of FIG. 6, a part thereof, or an alternative embodiment.

軌道実行機構702は、図4の処理期間404に従って実行されてもよい。軌道実行機構702は、「X」において開始及び終了する各々の処理期間の間に、以下で説明される様々な状態を通じて遷移してもよい。 The orbit execution mechanism 702 may be executed according to the processing period 404 of FIG. The orbital execution mechanism 702 may transition through the various states described below during each processing period starting and ending at "X".

各々の期間または瞬間の間、軌道実行機構702は、「CheckIO」ブロックによって表されるように、図3のI/O状態344をチェックしてもよい。軌道実行機構702は、図6のブロック616に対して上記説明されたように、I/O状態344またはそれに対する変更をチェックしてもよい。例えば、軌道実行機構702は、中断状態、再開状態、取消状態、速度変化状態などに対する発生または変更を検出してもよい。 During each period or moment, the orbital execution mechanism 702 may check the I / O state 344 of FIG. 3 as represented by the "CheckIO" block. The orbit execution mechanism 702 may check the I / O state 344 or changes to it for block 616 of FIG. 6, as described above. For example, the orbit execution mechanism 702 may detect an occurrence or change in a suspended state, a restarted state, a canceled state, a speed change state, or the like.

I/Oをチェックした後、軌道実行機構702は、「MoveRobot」ブロックによって表されるように、ロボットを移動させてもよい。軌道実行機構702は、図4の計画されたウェイポイント402を有する図3の計画された軌道322、または図5Bの更新されたウェイポイント532を有する図5Bの調節520など、現在維持されている軌道に従って、図3のロボット306を動作させてもよい。例えば、軌道実行機構702は、図6のブロック614に対して上記説明された処理に対応してもよい。 After checking the I / O, the orbital execution mechanism 702 may move the robot as represented by the "MoveRobot" block. The orbit execution mechanism 702 is currently maintained, such as the planned orbit 322 of FIG. 3 with the planned waypoint 402 of FIG. 4, or the adjustment 520 of FIG. 5B with the updated waypoint 532 of FIG. 5B. The robot 306 of FIG. 3 may be operated according to the trajectory. For example, the orbit execution mechanism 702 may correspond to the processing described above for the block 614 of FIG.

いくつかの実施形態では、軌道実行機構702は、「CheckErrors」ブロックによって表されるように、エラー(例えば、図3のエラー状態346)に対してチェックしてもよい。軌道実行機構702は、ブロック616に対して同様に上記説明されたように、エラー状態346に対してチェックしてもよい。言い換えると、軌道実行機構702は、状況の一部分(例えば、I/O状態344)が移動前/移動中にチェックされ、エラーが移動後にチェックされるように、現実世界状況の監視を分割させてもよい。例えば、軌道実行機構702は、実行された移動の評価によって、エラーに対してチェックしてもよい。評価されたエラー状況のいくつかの実施例は、目標物体112及び/または表された部分の間の別の物体または構造物との予測されない接触/計画されない接触、目標物体を落とすこと(「部品損失」)、1つ以上の予め定められた取消状態(例えば、目標位置において物体をずらすこと)、及びセンサバルブのずれなどを含んでもよい。軌道実行機構702は、検出されたエラーに対応する応答アクションを決定するために、予め定められた処理を使用してもよい。応答アクションは、逆行して移動すること、タスクを取り消すこと、タスクを再開することなどを含んでもよい。 In some embodiments, the orbital execution mechanism 702 may check for errors (eg, error state 346 in FIG. 3), as represented by the "CheckErrors" block. The orbit execution mechanism 702 may check the error condition 346 for the block 616 as well as described above. In other words, the orbit execution mechanism 702 divides the real-world situation monitoring so that a portion of the situation (eg, I / O state 344) is checked before / during the move and errors are checked after the move. May be good. For example, the orbit execution mechanism 702 may check for errors by evaluating the movement performed. Some embodiments of the evaluated error situation are unexpected / unplanned contact with the target object 112 and / or another object or structure between the represented parts, dropping the target object ("Parts". "Loss") may include one or more predetermined cancellation states (eg, shifting an object at a target position), misalignment of a sensor valve, and the like. The orbit execution mechanism 702 may use predetermined processing to determine the response action corresponding to the detected error. Response actions may include moving backwards, canceling a task, resuming a task, and so on.

その後、軌道実行機構702は、「PlanNextMove」ブロックによって表されるように、次の移動を決定してもよい。軌道実行機構702は、図6のブロック612、618、及び620に対して同様に上記説明されたように、次の移動を計画してもよい。例えば、軌道実行機構702は、I/O状態344及び/またはエラー状態346が前述のステップにおいてフラグ付けされたかどうか、または検出されたかどうかを決定してもよい。計画された次の移動は、トリガ条件が検出されなかったとき、既存の計画を続けることに対応してもよい。1つ以上のトリガ条件が検出された場合、軌道実行機構702は、次の移動がタスクの実行を取り消すことになり、タスクの実行を終了することになり、及び/または移動を減速させることになると決定してもよい。 The orbital execution mechanism 702 may then determine the next move, as represented by the "PlanNextMove" block. The orbit execution mechanism 702 may plan the next movement for the blocks 612, 618, and 620 of FIG. 6 as similarly described above. For example, the orbital execution mechanism 702 may determine whether the I / O state 344 and / or the error state 346 has been flagged or detected in the steps described above. The next planned move may correspond to continuing an existing plan when no trigger condition is detected. If one or more trigger conditions are detected, the trajectory execution mechanism 702 will cancel the execution of the task, end the execution of the task, and / or slow down the movement. You may decide that it will be.

軌道実行機構702は、計画された次の移動に従って、間接情報(例えば、次の移動を実行するための詳細)を計算してもよい。トリガ条件が検出されなかった場合、軌道実行機構702は、ウェイポイントの残りのセット/既存のセットに従って、次のウェイポイント及び対応する移動速度を識別することに基づいて、次の移動を導出してもよい。1つ以上のトリガ条件が検出された場合、軌道実行機構702は、図3の軌道調節器305を開始してもよい。軌道調節器305は、ブロック620に対応してもよく、残りのウェイポイント/既存のウェイポイントから逸脱するタスク調節(例えば、図5Bの更新されたウェイポイント532)に対する詳細を動的に導出してもよい。例えば、軌道調節器305は、計画された次の移動に対応する新たな目標速度及び/または対応する中間速度のセットを決定してもよい。いくつかの実施形態では、図3の軌道調節器305及び/または動きプランナ回路302は、トリガ条件に基づいて、軌道を再導出してもよい。 The orbit execution mechanism 702 may calculate indirect information (eg, details for performing the next movement) according to the planned next movement. If no trigger condition is detected, the orbit execution mechanism 702 derives the next move based on identifying the next waypoint and the corresponding velocity according to the remaining set of waypoints / existing set. May be. If one or more trigger conditions are detected, the orbit execution mechanism 702 may start the orbit regulator 305 of FIG. The trajectory regulator 305 may correspond to block 620 and dynamically derive details for remaining waypoints / task adjustments that deviate from existing waypoints (eg, updated waypoints 532 in FIG. 5B). May be. For example, the orbital regulator 305 may determine a new target speed and / or a corresponding intermediate speed set for the next planned movement. In some embodiments, the trajectory regulator 305 and / or motion planner circuit 302 of FIG. 3 may redistribute the trajectory based on the trigger condition.

図7Bは、図7Aの軌道実行機構702に対する実施例のコマンドフロー704(例えば、状態マシンフロー)を例示する。フロー704は、図3のブリッジ回路304に対する様々なコマンド状態及びコマンド状態の間の遷移を表してもよい。言い換えると、フロー704は、図3のロボット306において実行することができるコマンド/アクション及び実行状態の間の遷移を表してもよい。 FIG. 7B illustrates a command flow 704 (eg, state machine flow) of an embodiment for the orbital execution mechanism 702 of FIG. 7A. Flow 704 may represent various command states and transitions between command states for the bridge circuit 304 of FIG. In other words, the flow 704 may represent a transition between commands / actions and execution states that can be executed by the robot 306 of FIG.

フロー704は、ブリッジ回路304へのデータ及び/またはコマンドの通信を表すTRストリーミング状態を含んでもよい。TRストリーミング状態に基づいて、フロー704は、異なる軌道タイプの間のフローを表してもよい。いくつかの実施形態では、軌道タイプは、T-コマンド、T-コネクト、T-キャンセル、及び/またはT-リバースコネクトを含んでもよい。 The flow 704 may include a TR streaming state representing communication of data and / or commands to the bridge circuit 304. Based on the TR streaming state, the flow 704 may represent a flow between different orbit types. In some embodiments, the orbital type may include T-command, T-connect, T-cancel, and / or T-reverse connect.

T-コマンドタイプは、軌道を入力するように構成されてもよい。例えば、図3のブリッジ回路304は、図6のブロック602に例示されるように、図3の計画された軌道322を受信してもよい。T-コマンドタイプは、図3の軌道調節器305によって導出された図3の初期に計画された軌道322に対応してもよい。ブリッジ回路304は、T-コマンドタイプに対して初期に導出されるとして、計画された軌道322を実行することを続けてもよい。 The T-command type may be configured to enter the orbit. For example, the bridge circuit 304 of FIG. 3 may receive the planned orbit 322 of FIG. 3, as illustrated in block 602 of FIG. The T-command type may correspond to the initially planned trajectory 322 of FIG. 3 derived by the trajectory regulator 305 of FIG. The bridge circuit 304 may continue to execute the planned orbit 322 as initially derived for the T-command type.

フロー704は、リアルタイム状況(例えば、図3のI/O状態344及び/または図3のエラー状態346)に応答して、異なる軌道タイプまたは状態に遷移してもよい。例えば、中断状況、再開状況、及び/または速度変化状況の決定は、軌道調節器305に、T-コマンドからT-コネクトに遷移させることができる。T-コネクトタイプの軌道は、図5Bの調節520を含んでもよい。T-コネクトは、中断状況に対する0速度への減速コマンド、及び再開状況に対する前の速度または進行中の速度への加速コマンドに対応してもよい。速度変化状況に対し、軌道調節器305は、ロボット306の代表的な部分を加速/減速させるための実行計画を計算してもよい。いくつかの実施形態では、実行計画は、目標速度まで各々の反復に対して速度変化をガイドするように構成された現在の移動速度乗数(CTSM)を含んでもよい。実行計画は更に、別のデバイス/システムから受信された外部移動速度乗数(ETSM)を含んでもよい。いくつかの実施形態では、更新は、既存の起動/進行中の軌道として記憶されてもよく、フロー704は、更新された軌道の後続の実行に対してT-コネクトからT-コマンドに再度遷移してもよい。 The flow 704 may transition to a different orbital type or state in response to a real-time situation (eg, I / O state 344 in FIG. 3 and / or error state 346 in FIG. 3). For example, the determination of the suspension status, the restart status, and / or the speed change status can be made to transition from the T-command to the T-connect in the orbit controller 305. The T-connect type orbit may include the adjustment 520 of FIG. 5B. The T-Connect may respond to a deceleration command to zero speed for a suspension situation and an acceleration command to a previous speed or an ongoing speed for a restart situation. The trajectory regulator 305 may calculate an execution plan for accelerating / decelerating a representative portion of the robot 306 in response to a speed change situation. In some embodiments, the execution plan may include a current moving speed multiplier (CTSM) configured to guide the speed change for each iteration up to the target speed. The execution plan may further include an external travel rate multiplier (ETSM) received from another device / system. In some embodiments, the update may be stored as an existing activated / in-progress trajectory, and the flow 704 again transitions from T-connect to T-command for subsequent executions of the updated trajectory. You may.

T-キャンセルタイプは、軌道の実行を取り消すためのものであってもよい。T-キャンセル軌道タイプは、検出されたエラー状況(例えば、図3のエラー状態346)に応答して、及び/または検出されたエラー状態の間に生成されてもよい。T-キャンセル軌道タイプは、0速度に停止するための1つ以上のコマンドに対応してもよい。いくつかの実施形態では、T-キャンセルタイプは、タスクを終了/完了することに対応してもよい。例えば、ロボット306が目標物体112の操作を終了するとき(例えば、タスク位置116に配置することによって)、T-キャンセルタイプは、新たなタスクを開始する前に、処理フローからの完了した計画された軌道322を削除するよう生成されてもよい。したがって、フロー704は、T-キャンセルがいずれのエラーまたはトリガ条件をも有さないとき、TR終了状態に入ってもよい。代わりに、1つ以上の予め定められたトリガ条件に対し、T-キャンセルは、回復不能なエラー状況(例えば、部品損失)に対してTR中止段階に遷移する前に、問題のある計画された軌道322を消去してもよい。 The T-cancel type may be for canceling the execution of the orbit. The T-cancellation trajectory type may be generated in response to a detected error condition (eg, error condition 346 in FIG. 3) and / or during the detected error condition. The T-cancel trajectory type may correspond to one or more commands for stopping at zero speed. In some embodiments, the T-cancel type may correspond to completing / completing a task. For example, when the robot 306 finishes manipulating the target object 112 (eg, by placing it at task position 116), the T-cancel type is planned to be completed from the processing flow before starting a new task. It may be generated to delete the orbital 322. Therefore, the flow 704 may enter the TR end state when the T-cancel has no error or trigger condition. Instead, for one or more predefined trigger conditions, T-cancellation was problematicly planned before transitioning to the TR stop phase for irreparable error situations (eg, component loss). The orbit 322 may be erased.

T-リバースコネクトタイプの軌道は、1つ以上の予め定められたエラー状況に対応してもよい。例えば、T-リバースコネクトは、移送の移動の間、及び/またはピッキング/配置操作の間に、ロボット306が1つ以上の物体に衝突し、または1つ以上の物体を阻害したことに応答して生成されてもよい。また、T-リバースコネクトは、ロボット306の計画された位置(例えば、エンドエフェクタの姿勢)が、ロボット306の検出された位置に合致しないときに生成されてもよい。 The T-reverse connect type trajectory may correspond to one or more predetermined error situations. For example, the T-Reverse Connect responds to the robot 306 colliding with or blocking one or more objects during the transfer movement and / or during the picking / placement operation. May be generated. Further, the T-reverse connect may be generated when the planned position of the robot 306 (for example, the posture of the end effector) does not match the detected position of the robot 306.

図7Cは、図7Aの軌道実行機構702に対する実施例の実行フロー706を例示する。実行フロー706は、上記説明された(例えば、図7Bにおいて)軌道タイプの各々に対する異なる状態及び遷移を表してもよい。各々のコマンド/アクションに対し、標準ストリーミング状態(RegularStreaming)は、現在のウェイポイントのセット(例えば、図4の初期に計画されたウェイポイント402及び図5Bの調節520に続く図5Bの更新されたウェイポイント532)に続く、図1のロボットシステム100(例えば、図3のブリッジ回路304及び図3のロボット306を介した)を表してもよい。 FIG. 7C illustrates an execution flow 706 of an embodiment for the orbital execution mechanism 702 of FIG. 7A. Execution flow 706 may represent different states and transitions for each of the orbital types described above (eg, in FIG. 7B). For each command / action, the standard streaming state (Regular Streaming) has been updated in FIG. 5B following the current set of waypoints (eg, waypoint 402 initially planned in FIG. 4 and adjustment 520 in FIG. 5B. The robot system 100 of FIG. 1 (eg, via the bridge circuit 304 of FIG. 3 and the robot 306 of FIG. 3) following the waypoint 532) may be represented.

ロボットシステム100は、ブリッジ回路304とロボット306との間の通信と関連付けられた遅延またはラグ、及び対応する処理時間を考慮することができる。例えば、ブリッジ回路304及び/またはロボット306は、最終位置を待機し(WaitForFinalPos)、及びロボットが指令されたアクションを実行するまで待機する状態を実行してもよい。ロボット306の最終位置は、アクションの終点においてブリッジ回路304によって取得されてもよい。ロボット306は、待機状態を終了するよう、最終位置を報告する図3のフィードバックデータ362を送信してもよい。代わりにまたは加えて、ブリッジ回路304は、待機状態を終了するよう、指令されたアクション及び/またはフィードバックデータ362(例えば、完了状態レポート)に基づいて、最終位置を計算してもよい。 The robot system 100 can take into account the delay or lag associated with the communication between the bridge circuit 304 and the robot 306, and the corresponding processing time. For example, the bridge circuit 304 and / or the robot 306 may execute a state of waiting for a final position (WaitForFinalPos) and waiting for the robot to perform a commanded action. The final position of the robot 306 may be acquired by the bridge circuit 304 at the end of the action. The robot 306 may transmit the feedback data 362 of FIG. 3 reporting the final position so as to end the standby state. Alternatively or additionally, the bridge circuit 304 may calculate the final position based on the action and / or feedback data 362 (eg, completion status report) instructed to exit the standby state.

いくつかの実施形態では、ロボットシステム100は、予め定められたエラー状態に応答するように構成されたエラー回復機構を含んでもよい。例えば、エラー回復機構は、上記説明されたように、移動を自動で逆行させることに対応してもよい(例えば、図7BのT-リバースコネクト)。ロボットシステム100は、標準ストリーミング状態から、及び/または待機状態からエラー回復機構に遷移してもよい。ロボットシステム100は、エラー回復状態から、標準ストリーミング状態及び/または待機状態に再度遷移してもよい。 In some embodiments, the robot system 100 may include an error recovery mechanism configured to respond to a predetermined error condition. For example, the error recovery mechanism may correspond to automatically reversing the movement as described above (eg, T-reverse connect in FIG. 7B). The robot system 100 may transition from the standard streaming state and / or from the standby state to the error recovery mechanism. The robot system 100 may re-transition from the error recovery state to the standard streaming state and / or the standby state.

ロボットシステム100は更に、ロボット306におけるエンコーダまたは処理遅延を考慮することができる。例えば、ブリッジ回路304及び/またはロボット306は、エンコーダにおいて処理遅延または収束を待機する状態(WaitForEncodConvrg)を実行してもよい。ロボット306のエンコーダは、ロボット306が移動の終点において最終的な目標とされた位置に到達した後に停止してもよい。 The robot system 100 can further take into account the encoder or processing delay in the robot 306. For example, the bridge circuit 304 and / or the robot 306 may execute a state (WaitForEncodeConvrg) waiting for processing delay or convergence in the encoder. The encoder of the robot 306 may stop after the robot 306 reaches the final targeted position at the end of the movement.

ロボット306は、その終点への軌道に従うことに基づいて、最終位置に到着してもよい。ロボットシステム100が、終点に到着する前の軌道に沿ったエラー状態を決定する場合、ブリッジ回路304は、ロボット306の移動を停止してもよい。エラーに応答して、ブリッジ回路304は、最終位置と関連付けられたコマンドを保留してもよい。実行フロー706は、標準ストリーミング状態から収束待機状態に直接遷移してもよい。 Robot 306 may arrive at its final position based on its trajectory to its end point. If the robot system 100 determines an error condition along the trajectory before reaching the end point, the bridge circuit 304 may stop the movement of the robot 306. In response to the error, the bridge circuit 304 may withhold the command associated with the final position. The execution flow 706 may directly transition from the standard streaming state to the convergence standby state.

ロボットシステム100は、ロボット306を停止して、状態マシンを終了させてもよく、ブリッジ回路304は、ロボット306が指定された位置から予め定められた距離にあり、または予め定められた距離内にあることを保証するよう、エンコーダの収束を待機してもよい。ロボット306が停止すると、ロボットシステム100は、次の軌道を再計算するために、停止ポイントを使用してもよい。 The robot system 100 may stop the robot 306 and terminate the state machine, the bridge circuit 304 being at or within a predetermined distance from the robot 306 at a designated position. You may wait for the encoder to converge to ensure that it is. When the robot 306 stops, the robot system 100 may use the stop points to recalculate the next trajectory.

図7Dは、図7Aの軌道実行機構702に対する実施例の軌道フロー708を例示する。軌道フロー708は、異なる軌道の遷移の間の関係を例示してもよい。軌道フロー708は、遷移によって目標とされたものへの軌道タイプを決定する前の遷移を決定してもよい。したがって、図1のロボットシステム100は、どのイベントが続くべきかの優先順位を付けてもよく、異なる遷移の間の階層をもたらしてもよい。異なる状態遷移は、遷移を通信または選択するための異なる種類の決定を行うために使用されてもよい。 FIG. 7D illustrates the orbital flow 708 of the embodiment for the orbital execution mechanism 702 of FIG. 7A. The orbital flow 708 may exemplify the relationship between different orbital transitions. The orbital flow 708 may determine the transition prior to determining the orbital type to what is targeted by the transition. Therefore, the robot system 100 of FIG. 1 may prioritize which events should follow and may result in a hierarchy between different transitions. Different state transitions may be used to make different types of decisions to communicate or select transitions.

軌道フロー708は、図7Bのコマンドフロー704に対して上記説明された状態に対応してもよい。例えば、図7DにおけるTRストリーミング状態は、図7BのTRストリーミング状態及びT-コマンド状態に対応してもよい。TR中断、TR再開、TR取消、TR速度変化、及びTR逆行は、図7Bにおいて説明された遷移トリガに対応してもよい。TR終了状態は、図7BのTR終了状態への遷移(例えば、操作の間のエラーがない最終位置への到着)に対応してもよい。 The orbital flow 708 may correspond to the state described above with respect to the command flow 704 of FIG. 7B. For example, the TR streaming state in FIG. 7D may correspond to the TR streaming state and the T-command state in FIG. 7B. TR interruption, TR restart, TR cancellation, TR speed change, and TR retrograde may correspond to the transition trigger described in FIG. 7B. The TR end state may correspond to the transition to the TR end state of FIG. 7B (for example, arrival at the final position where there is no error during the operation).

ロボットシステム100は、現実世界状況を円滑及びシームレスに説明するために、動的調節520を使用してもよい。図3の動きプランナ回路302を使用して軌道を再導出するために必要とされる時間及びリソースが比較的に大きいので、ロボットシステム100は、初期に計画された軌道322に沿った更新されたウェイポイント532を動的に導出するために、ブリッジ回路304を使用してもよい。例えば、現実世界状況に応答してロボット306の移動を即時に停止または逆行させることは、ロボット306をジャークさせるか、または振動させることがあり、それは、更なる望ましくないエラーを生じさせる可能性を増大させることがある。代わりに、現実世界状況(例えば、エラー)に関わらずに初期に計画された軌道を継続的に実行することは、追加のエラー(例えば、衝突)を生じさせることがあり、及び/またはリソースを浪費することがある(例えば、部品損失に続いて)。そのようにして、計画されたウェイポイント404を更新されたウェイポイント532を置き換えることによって、ロボットシステム100は動的調節を実質的に実行することができると共に、全体的な効率性及びエラー比率を増大させる。その上、上記説明されたロボットシステム100は、(例えば、図6の方法600及び/または実施例の状態マシンを介して)、タスクを実用的に実行してもよいと共に、現実世界の状況を考慮して調節する。 The robot system 100 may use the dynamic adjustment 520 to smoothly and seamlessly describe the real world situation. Due to the relatively large amount of time and resources required to redistribute the trajectory using the motion planner circuit 302 of FIG. 3, the robot system 100 has been updated along the initially planned trajectory 322. A bridge circuit 304 may be used to dynamically derive the waypoint 532. For example, immediately stopping or reversing the movement of the robot 306 in response to a real-world situation may cause the robot 306 to jerk or vibrate, which can lead to further unwanted errors. May increase. Instead, continuous execution of the initially planned trajectory regardless of real-world conditions (eg, errors) can result in additional errors (eg, collisions) and / or resources. It can be wasted (eg, following component loss). In this way, by replacing the planned waypoints 404 with the updated waypoints 532, the robot system 100 can substantially perform dynamic adjustments as well as overall efficiency and error ratios. Increase. Moreover, the robot system 100 described above may perform tasks practically (eg, via the method 600 and / or the state machine of FIG. 6) as well as real-world situations. Adjust in consideration.

<結論>
開示された技術の実施例の上記発明を実施するための形態は、包括的であること、または開示された技術を上記開示された厳密な形式に限定することを意図していない。開示された技術に対する特定の実施例が例示を目的に上記説明されたが、当業者が認識するように、様々な同等な修正が開示された技術の範囲内で可能である。例えば、処理またはブロックが所与の順序において提示されたが、代替的な実施態様は、異なる順序において、ステップを有するルーチンを実行してもよく、またはブロックを有するシステムを採用してもよく、いくつかの処理またはブロックは、代替的な組み合わせまたは下位の組み合わせを提供するよう削除されてもよく、移動されてもよく、追加されてもよく、細分化されてもよく、組み合わされてもよく、及び/または修正されてもよい。それらの処理またはブロックの各々は、様々な異なる方式において実行されてもよい。また、処理またはブロックが順番に実行されるとして一度に示されたが、それらの処理またはブロックは代わりに、並列して実行もしくは実行されてもよく、または異なる時に実行されてもよい。更に、本明細書で言及されたいずれかの特定の数は例にすぎず、代替的な実施態様は、異なる値または範囲を採用してもよい。
<Conclusion>
The embodiments of the disclosed techniques for carrying out the invention are not intended to be comprehensive or to limit the disclosed techniques to the exact form disclosed above. Although specific embodiments for the disclosed techniques have been described above for illustration purposes, various equivalent modifications are possible within the disclosed techniques, as will be appreciated by those of skill in the art. For example, processes or blocks are presented in a given order, but alternative embodiments may execute routines with steps in different orders, or employ systems with blocks. Some processes or blocks may be deleted, moved, added, subdivided, or combined to provide alternative or subordinate combinations. , And / or may be modified. Each of those processes or blocks may be performed in a variety of different ways. Also, although the processes or blocks are indicated at once as being executed in sequence, those processes or blocks may instead be executed or executed in parallel, or at different times. Moreover, any particular number referred to herein is merely an example, and alternative embodiments may employ different values or ranges.

上記発明を実施するための形態を考慮して、開示された技術にそれらの変更及び他の変更が行われてもよい。発明を実施するための形態は、開示された技術の特定の実施例と共に考慮される最良モードを説明したが、開示された技術は、上記説明がどんなに詳細にテキストに現れようと、多くの方式において実施されてもよい。システムの説明は、その特定の実施態様において著しく変化してもよいと共に、なお。本明細書で開示される技術によってなおも包含される。上述したように、開示された技術の特定の特徴または態様を説明するときに使用される特定の用語は、用語がそれと関連付けられる、いずれかの特定の特性、特徴、または態様に用語が限定されるように再定義されることを暗に意味すると取られるべきではない。したがって、添付の請求項によって定めることを除き、発明は限定されない。概して、以下の請求項において使用される用語は、上記発明を実施するための形態の章がそのような用語を明確に定義しない限り、明細書において開示された特定の実施例に開示された技術を限定すると解釈されるべきではない。 In consideration of the embodiment for carrying out the above invention, those changes and other changes may be made to the disclosed technology. The embodiments for carrying out the invention have described the best modes considered with specific embodiments of the disclosed technology, but the disclosed technology is in many ways, no matter how detailed the above description appears in the text. It may be carried out in. The description of the system may vary significantly in that particular embodiment, and yet. It is still included by the techniques disclosed herein. As mentioned above, the particular term used in describing a particular feature or aspect of the disclosed technology is limited to any particular property, feature, or aspect with which the term is associated. It should not be taken to imply that it is redefined as. Therefore, the invention is not limited except as provided in the appended claims. In general, the terms used in the following claims are the techniques disclosed in the particular embodiments disclosed herein, unless the chapter of embodiments for carrying out the invention explicitly defines such terms. Should not be construed as limiting.

発明の特定の態様は、特定の請求項の形式において以下に提示されるが、出願人は、いずれかの数の請求項の形式にある発明の様々な態様を考慮するであろう。したがって、出願人は、本出願または継続出願のいずれにおいて、そのような追加の請求項の形式を追求するよう、本出願の出願の後に、追加の請求項を追求する権利を保有する。 A particular aspect of the invention is presented below in the form of a particular claim, but the applicant will consider various aspects of the invention in the form of any number of claims. Therefore, the applicant reserves the right to pursue additional claims after the application of this application so as to pursue such additional claims in either this application or the continuation application.

Claims (20)

ロボットシステムを動作させる方法であって、
目標物体を操作するための計画された軌道を受信することと、
前記計画された軌道に沿った計画されたウェイポイントのセットを識別することであって、前記計画されたウェイポイントのセットにおける各々のウェイポイントは、前記目標物体またはロボットの代表的な部分を配置するための前記計画された軌道上の増加的に目標とされた位置を表すことと、
前記目標物体または前記ロボットの前記代表的な部分が前記計画された軌道に従うように、前記ロボットを動作させるためのコマンドまたは設定のセットを通信することによって、前記計画された軌道に従ってタスクの実行を開始することと、
前記目標物体または前記ロボットの前記代表的な部分を前記計画された軌道上の後続の計画されたウェイポイントに移送するための前記タスクを反復的に実行することと、
前記計画された軌道の反復的な実行の間に、前記タスクの実行及び前記目標物体を操作することを完了する能力を表す入力/出力(I/O)状態を監視することと、
前記I/O状態に基づいて、前記計画されたウェイポイントのセットから取って代わる、前記計画された軌道に沿った更新されたウェイポイントのセットを動的に導出することと、
前記I/O状態に基づいて、前記計画されたウェイポイントのセットに従うのではなく、前記更新されたウェイポイントのセットに従って、前記目標物体または前記ロボットの前記代表的な部分を移送するための前記タスクに対する調節を実行することと、
を備えた、方法。
It ’s a way to operate a robot system.
Receiving a planned trajectory for manipulating the target object,
Identifying a set of planned waypoints along the planned trajectory, where each waypoint in the set of planned waypoints places a representative portion of the target object or robot. Representing the increasingly targeted position on the planned orbit to do so
Performing a task according to the planned trajectory by communicating a set of commands or settings for operating the robot so that the target object or the representative portion of the robot follows the planned trajectory. To get started and
Repetitively performing the task of transferring the target object or the representative portion of the robot to a subsequent planned waypoint on the planned orbit.
Monitoring input / output (I / O) conditions that represent the ability to complete the task execution and manipulation of the target object during the iterative execution of the planned trajectory.
Dynamically deriving an updated set of waypoints along the planned trajectory that replaces the planned set of waypoints based on the I / O state.
The said for transferring the target object or the representative portion of the robot according to the updated set of waypoints, rather than following the planned set of waypoints based on the I / O state. Performing adjustments to the task and
A method.
前記I/O状態を監視することは、前記タスクを完了する前記ロボットシステムの前記能力と関連付けられたリアルタイム現実世界状況を表す、中断状態、再開状態、取消状態、速度変化状態、及び/またはエラー状態を、前記タスクの実行の間に検出することを含み、
前記更新されたウェイポイントのセットを動的に導出すること、及び前記タスクに対する前記調節を反復的に実行することは、前記中断状態、前記再開状態、前記取消状態、前記速度変化状態、及び/または前記エラー状態を検出したことに応答して実行される、
請求項1に記載の方法。
Monitoring the I / O state represents a real-time real-world situation associated with the ability of the robot system to complete the task, a suspended state, a restart state, a canceled state, a speed change state, and / or an error. The state includes detecting during the execution of the task.
Dynamically deriving the updated set of waypoints and performing the adjustments to the task iteratively can be the suspended state, the restarted state, the canceled state, the speed change state, and /. Or, it is executed in response to the detection of the error state.
The method according to claim 1.
前記更新されたウェイポイントのセットを動的に導出することは、前記計画されたウェイポイントのセットと関連付けられた計画された移動速度とは異なる目標移動速度を決定することを含み、
前記タスクに対する前記調節を実行することは、前記更新されたウェイポイントのセットにおける1つ以上のウェイポイントにまたがって前記目標移動速度に遷移することを含む、
請求項1に記載の方法。
Dynamically deriving the updated set of waypoints involves determining a target travel speed that is different from the planned travel speed associated with the planned set of waypoints.
Performing the adjustment for the task comprises transitioning to the target movement speed across one or more waypoints in the updated set of waypoints.
The method according to claim 1.
前記更新されたウェイポイントのセット及び前記計画されたウェイポイントのセットは、処理期間に対応しており、前記更新されたウェイポイントのセット及び前記計画されたウェイポイントのセットにおける各々のウェイポイントは、前記処理期間の終了時に前記目標物体または前記ロボットの前記代表的な部分が到達することになる目標とされた位置を表し、
前記更新されたウェイポイントのセットを動的に導出することは、現在の速度と前記目標移動速度との間の中間移動速度を決定することを含み、
前記タスクに対する前記調節を実行することは、
初期処理期間の間に前記中間移動速度に遷移することと、
前記初期処理期間に続く後続の処理期間の間に前記目標移動速度に遷移することと、
によって、前記目標移動速度に反復的に遷移することを含む、
請求項3に記載の方法。
The updated set of waypoints and the planned waypoint set correspond to a processing period, and each waypoint in the updated waypoint set and the planned waypoint set is Represents a targeted position that the target object or the representative portion of the robot will reach at the end of the processing period.
Dynamically deriving the updated set of waypoints involves determining an intermediate speed between the current speed and the target speed.
Performing the adjustment for the task
Transitioning to the intermediate movement speed during the initial processing period and
The transition to the target movement speed during the subsequent processing period following the initial processing period, and
Including repetitive transitions to the target movement speed by
The method according to claim 3.
前記タスクに対する前記調節を実行することは、前記目標物体及び/または前記ロボットの前記代表的な部分の移動を停止するための前記目標移動速度に遷移することを含む、請求項3に記載の方法。 The method of claim 3, wherein performing the adjustment to the task comprises transitioning to the target movement speed for stopping the movement of the target object and / or the representative portion of the robot. .. 前記タスクに対する前記調節を実行することは、前記目標物体及び/または前記ロボットの前記代表的な部分の移動を逆行させるための前記目標移動速度に遷移することを含む、請求項3に記載の方法。 The method of claim 3, wherein performing the adjustment to the task involves transitioning to the target movement speed for reversing the movement of the target object and / or the representative portion of the robot. .. 前記更新されたウェイポイントのセットを動的に導出することは、前記計画された軌道に沿い、かつ前記目標物体及び/または前記ロボットの前記代表的な部分を表す現在の位置の前方にある実行可能性領域を決定することを含み、
前記実行可能性領域は、前記計画された軌道に沿った位置であって、前記調節が最初に有効となる位置を表すためのものである、請求項1に記載の方法。
Dynamically deriving the updated set of waypoints is an execution along the planned trajectory and in front of the current position representing the target object and / or the representative portion of the robot. Including determining the potential area
The method of claim 1, wherein the viable region is a position along the planned orbit and is intended to represent a position where the adjustment is first effective.
前記実行可能性領域は、前記タスクまたはその一部に対する前記調節を実行する前記ロボットの物理的能力を表す応答プロファイルに従って決定される、請求項7に記載の方法。 7. The method of claim 7, wherein the feasible area is determined according to a response profile that represents the physical ability of the robot to perform the adjustments to the task or a portion thereof. 前記実行可能性領域は、前記現在の位置からの前記応答プロファイルをマッピングすることに基づいて決定され、
前記更新されたウェイポイントのセットは、前記実行可能性領域内に位置する第1のウェイポイントを含む、
請求項8に記載の方法。
The feasibility area is determined based on mapping the response profile from the current location.
The updated set of waypoints comprises a first waypoint located within the feasibility zone.
The method according to claim 8.
前記実行可能性領域は、(1)処理期間の間の速度における最大負変化、及び(2)前記処理期間の間の速度における最大正変化によって画定され、
前記第1のウェイポイントは、前記処理期間にわたって評価された、第2の来たるべき位置と第1の来たるべき位置との間の差に基づいて導出される、
請求項9に記載の方法。
The viable region is defined by (1) the maximum negative change in speed during the treatment period and (2) the maximum positive change in speed during the treatment period.
The first waypoint is derived based on the difference between the second coming position and the first coming position evaluated over the processing period.
The method according to claim 9.
ロボットシステムであって、
通信デバイスと、
前記通信デバイスに結合された少なくとも1つのプロセッサと、を備え、
前記通信デバイスは、
開始位置からタスク位置に目標物体を移送するタスクを実行するための計画された軌道を動きプランナ回路から受信することと、
前記計画された軌道を実行するためのロボットと、コマンド、設定、及び/またはフィードバックデータを通信することと、
を行うように構成され、
前記少なくとも1つのプロセッサは、
前記計画された軌道に沿った計画されたウェイポイントのセットを識別することであって、前記計画されたウェイポイントのセットにおける各々のウェイポイントは、前記目標物体またはロボットの代表的な部分を配置するための前記計画された軌道上の増加的に目標とされた位置を表すことと、
前記ロボットに通信されたコマンド及び/または設定の初期のセットに基づいて、前記計画された軌道に従って前記タスクの実行を開始することと、
前記目標物体または前記ロボットの前記代表的な部分を前記計画された軌道上の後続の計画されたウェイポイントに移送するための前記タスクを反復的に実行することと、
前記計画された軌道の反復的な実行の間に、前記タスクの実行及び前記目標物体を操作することを完了する能力を表す入力/出力(I/O)状態を監視することと、
前記I/O状態に基づいて、前記計画されたウェイポイントのセットから取って代わる、前記計画された軌道に沿った更新されたウェイポイントのセットを動的に導出することと、
前記I/O状態に基づいて、前記計画されたウェイポイントのセットに従うのではなく、前記更新されたウェイポイントのセットに従って、前記目標物体または前記ロボットの前記代表的な部分を移送するための前記タスクに対する調節を実行することと、
を行い、
前記タスクに対する前記調節は、前記ロボットに通信されたコマンド及び/または設定の後続のセットに対応している、ロボットシステム。
It ’s a robot system,
With communication devices
With at least one processor coupled to the communication device,
The communication device is
Receiving a planned trajectory from the motion planner circuit to perform the task of transporting the target object from the start position to the task position, and
Communicating commands, settings, and / or feedback data with the robot to perform the planned trajectory.
Is configured to do
The at least one processor
Identifying a set of planned waypoints along the planned trajectory, where each waypoint in the set of planned waypoints places a representative portion of the target object or robot. Representing the increasingly targeted position on the planned orbit to do so
Initiating the execution of the task according to the planned trajectory, based on an initial set of commands and / or settings communicated to the robot.
Repetitively performing the task of transferring the target object or the representative portion of the robot to a subsequent planned waypoint on the planned orbit.
Monitoring input / output (I / O) conditions that represent the ability to complete the task execution and manipulation of the target object during the iterative execution of the planned trajectory.
Dynamically deriving an updated set of waypoints along the planned trajectory that replaces the planned set of waypoints based on the I / O state.
The said for transferring the target object or the representative portion of the robot according to the updated set of waypoints, rather than following the planned set of waypoints based on the I / O state. Performing adjustments to the task and
And
The adjustment for the task corresponds to a subsequent set of commands and / or settings communicated to the robot, the robot system.
前記計画された軌道を導出するように構成された前記動きプランナ回路と、
前記計画された軌道及び/または前記タスクに対する前記調節に従って、前記タスクを実行するように構成された前記ロボットと、
を更に備え、
前記通信デバイス及び前記少なくとも1つのプロセッサは、前記プランナ回路と前記ロボットとの間で通信可能に結合され、かつ、前記タスクの実行を実施するよう前記ロボットを制御するように構成されたブリッジ回路を含む、
請求項11に記載のロボットシステム。
With the motion planner circuit configured to derive the planned trajectory,
With the robot configured to perform the task according to the planned trajectory and / or the adjustment to the task.
Further prepare
The communication device and the at least one processor are communicably coupled between the planner circuit and the robot, and a bridge circuit configured to control the robot to perform the task. include,
The robot system according to claim 11.
前記少なくとも1つのプロセッサは、
前記計画されたウェイポイントのセットを識別すること、前記タスクの実行を開始すること、前記タスクを反復的に実行すること、前記I/O状態を監視すること、前記更新されたウェイポイントのセットを動的に導出すること、及び/または前記タスクに対する前記調節を実行することに基づいて、前記タスクの実行を制御するように構成された1つ以上の状態マシン、
を含む、請求項11に記載のロボットシステム。
The at least one processor
Identifying the planned set of waypoints, initiating the execution of the task, performing the task iteratively, monitoring the I / O status, the updated set of waypoints. One or more state machines configured to control the execution of the task, based on dynamically deriving and / or performing the adjustment to the task.
11. The robot system according to claim 11.
前記監視されたI/O状態は、前記タスクを完了する前記ロボットシステムの前記能力と関連付けられたリアルタイム現実世界状況を表す、中断状態、再開状態、取消状態、速度変化状態、及び/またはエラー状態を含み、
前記中断状態、前記再開状態、前記取消状態、前記速度変化状態、及び/もしくは前記エラー状態、またはそれらの変化を検出したことに応答して、前記更新されたウェイポイントのセットが動的に導出されると共に、前記タスクに対する前記調節が動的に実行される、
請求項11に記載のロボットシステム。
The monitored I / O state represents a real-time real-world situation associated with said ability of the robot system to complete the task, a suspended state, a restart state, a canceled state, a speed change state, and / or an error state. Including
The updated set of waypoints is dynamically derived in response to the detection of the suspended state, the restarted state, the canceled state, the speed change state, and / or the error state, or their changes. At the same time, the adjustment for the task is dynamically performed.
The robot system according to claim 11.
前記少なくとも1つのプロセッサは、
前記計画されたウェイポイントのセットと関連付けられた計画された移動速度とは異なる目標移動速度を決定することに基づいて、前記更新されたウェイポイントのセットを動的に導出することと、
前記更新されたウェイポイントのセットにおける1つ以上のウェイポイントにまたがって現在速度から前記目標移動速度に遷移することに基づいて、前記タスクに対する前記調節を実行することと、
を行う、請求項11に記載のロボットシステム。
The at least one processor
Dynamically deriving the updated set of waypoints based on determining a target travel speed that is different from the planned travel speed associated with the planned set of waypoints.
Performing the adjustment for the task based on the transition from the current speed to the target movement speed across one or more waypoints in the updated set of waypoints.
11. The robot system according to claim 11.
前記少なくとも1つのプロセッサは、前記計画された軌道に沿い、かつ前記目標物体及び/または前記ロボットの前記代表的な部分を表す現在の位置の前方にある実行可能性領域を決定することに基づいて、前記更新されたウェイポイントのセットを動的に導出し、
前記実行可能性領域は、前記計画された軌道に沿った位置であって、前記タスクに対する前記調節が最初に有効となる位置を表すためのものである、請求項11に記載のロボットシステム。
The at least one processor is based on determining a viable area along the planned trajectory and in front of the current position representing the target object and / or the representative portion of the robot. , Dynamically derive the updated set of waypoints,
11. The robotic system of claim 11, wherein the feasibility area is a position along the planned trajectory to represent a position where the adjustment for the task is first effective.
1つ以上のプロセッサによって実行されるとき、前記1つ以上のプロセッサに方法を実行させるプロセッサ命令を記憶した有形非一時的コンピュータ可読媒体であって、
前記方法は、
目標物体を操作するための計画された軌道を受信することと、
前記計画された軌道に沿った計画されたウェイポイントのセットを識別することであって、各々の計画されたウェイポイントは、前記目標物体またはロボットの代表的な部分を配置するための前記計画された軌道上の増加的に目標とされた位置を表すことと、
前記目標物体または前記ロボットの前記代表的な部分が前記計画された軌道に従うように、前記ロボットを動作させるためのコマンドまたは設定のセットを通信することによって、前記計画された軌道に従ってタスクの実行を開始することと、
前記目標物体または前記ロボットの前記代表的な部分を前記計画された軌道上の後続の計画されたウェイポイントに移送するための前記タスクを反復的に実行することと、
前記セグメント移動の反復的な実行の間に、前記タスクの実行及び前記目標物体を操作することを完了する能力を表す入力/出力(I/O)状態を監視することと、
前記I/O状態に基づいて、前記計画されたウェイポイントのセットから取って代わる、前記計画された軌道に沿った更新されたウェイポイントのセットを動的に導出することと、
前記I/O状態に基づいて、前記計画されたウェイポイントのセットに従うのではなく、前記更新されたウェイポイントのセットに従って、前記目標物体または前記ロボットの前記代表的な部分を移送するための前記タスクに対する調節を実行することと、
を含む、有形非一時的コンピュータ可読媒体。
A tangible, non-temporary computer-readable medium that stores processor instructions that cause one or more processors to perform a method when executed by one or more processors.
The method is
Receiving a planned trajectory for manipulating the target object,
Identifying a set of planned waypoints along the planned trajectory, each planned waypoint being said to place a representative portion of the target object or robot. Representing an increasingly targeted position on the orbit
Performing a task according to the planned trajectory by communicating a set of commands or settings for operating the robot so that the target object or the representative portion of the robot follows the planned trajectory. To get started and
Repetitively performing the task of transferring the target object or the representative portion of the robot to a subsequent planned waypoint on the planned orbit.
Monitoring input / output (I / O) states that represent the ability to complete the task execution and manipulation of the target object during the iterative execution of the segment movement.
Dynamically deriving an updated set of waypoints along the planned trajectory that replaces the planned set of waypoints based on the I / O state.
The said for transferring the target object or the representative portion of the robot according to the updated set of waypoints, rather than following the planned set of waypoints based on the I / O state. Performing adjustments to the task and
Tangible, non-temporary computer-readable media, including.
前記I/O状態を監視することは、前記タスクを完了する前記ロボットシステムの前記能力と関連付けられたリアルタイム現実世界状況を表す、中断状態、再開状態、取消状態、速度変化状態、及び/またはエラー状態を、前記タスクの実行の間に検出することを含み、
前記更新されたウェイポイントのセットを動的に導出すること、及び前記タスクに対する前記調節を反復的に実行することは、前記中断状態、前記再開状態、前記取消状態、前記速度変化状態、及び/または前記エラー状態を検出したことに応答して実行される、
請求項17に記載の有形非一時的コンピュータ可読媒体。
Monitoring the I / O state represents a real-time real-world situation associated with the ability of the robot system to complete the task, a suspended state, a restart state, a canceled state, a speed change state, and / or an error. The state includes detecting during the execution of the task.
Dynamically deriving the updated set of waypoints and performing the adjustments to the task iteratively can be the suspended state, the restarted state, the canceled state, the speed change state, and /. Or, it is executed in response to the detection of the error state.
The tangible, non-temporary computer-readable medium of claim 17.
前記更新されたウェイポイントのセットを動的に導出することは、前記計画されたウェイポイントのセットと関連付けられた計画された移動速度とは異なる目標移動速度を決定することを含み、
前記タスクに対する前記調節を実行することは、前記更新されたウェイポイントのセットにおける1つ以上のウェイポイントにまたがって前記目標移動速度に遷移することを含む、
請求項17に記載の有形非一時的コンピュータ可読媒体。
Dynamically deriving the updated set of waypoints involves determining a target travel speed that is different from the planned travel speed associated with the planned set of waypoints.
Performing the adjustment for the task comprises transitioning to the target movement speed across one or more waypoints in the updated set of waypoints.
The tangible, non-temporary computer-readable medium of claim 17.
前記更新されたウェイポイントのセットを動的に導出することは、前記計画された軌道に沿い、かつ前記目標物体及び/または前記ロボットの前記代表的な部分を表す現在の位置の前方にある実行可能性領域を決定することを含み、
前記実行可能性領域は、前記計画された軌道に沿った位置であって、前記タスクに対する前記調節が最初に有効となる位置を表すためのものである、
請求項17に記載の有形非一時的コンピュータ可読媒体。
Dynamically deriving the updated set of waypoints is an execution along the planned trajectory and in front of the current position representing the target object and / or the representative portion of the robot. Including determining the potential area
The feasibility area is intended to represent a position along the planned trajectory where the adjustment for the task is initially effective.
The tangible, non-temporary computer-readable medium of claim 17.
JP2021516567A 2020-01-05 2021-01-04 ROBOT SYSTEM HAVING DYNAMIC MOTION ADJUSTMENT MECHANISM AND METHOD OF OPERATING THE SAME Active JP7174965B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022123205A JP2022160552A (en) 2020-01-05 2022-08-02 Robotic system with dynamic motion adjustment mechanism and method for operating the same

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062957282P 2020-01-05 2020-01-05
US62/957,282 2020-01-05
PCT/US2021/012121 WO2021138691A1 (en) 2020-01-05 2021-01-04 Robotic system with dynamic motion adjustment mechanism and methods of operating the same

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022123205A Division JP2022160552A (en) 2020-01-05 2022-08-02 Robotic system with dynamic motion adjustment mechanism and method for operating the same

Publications (2)

Publication Number Publication Date
JP2022511343A true JP2022511343A (en) 2022-01-31
JP7174965B2 JP7174965B2 (en) 2022-11-18

Family

ID=76654246

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021516567A Active JP7174965B2 (en) 2020-01-05 2021-01-04 ROBOT SYSTEM HAVING DYNAMIC MOTION ADJUSTMENT MECHANISM AND METHOD OF OPERATING THE SAME
JP2022123205A Pending JP2022160552A (en) 2020-01-05 2022-08-02 Robotic system with dynamic motion adjustment mechanism and method for operating the same

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022123205A Pending JP2022160552A (en) 2020-01-05 2022-08-02 Robotic system with dynamic motion adjustment mechanism and method for operating the same

Country Status (4)

Country Link
US (1) US11833690B2 (en)
JP (2) JP7174965B2 (en)
CN (2) CN113365787A (en)
WO (1) WO2021138691A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021138691A1 (en) * 2020-01-05 2021-07-08 Mujin, Inc. Robotic system with dynamic motion adjustment mechanism and methods of operating the same
WO2023127125A1 (en) * 2021-12-28 2023-07-06 日本電気株式会社 Control device, robot system, control method, and recording medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009178835A (en) * 2008-02-01 2009-08-13 Denso Wave Inc Apparatus and method for controlling robot
JP2013013948A (en) * 2011-07-01 2013-01-24 Seiko Epson Corp Robot, and method for controlling robot
JP2015047649A (en) * 2013-08-30 2015-03-16 トヨタ自動車株式会社 Robot and control method of the same
WO2016103297A1 (en) * 2014-12-25 2016-06-30 川崎重工業株式会社 Automatic obstruction avoidance method and control device for arm-type robot
JP6577686B1 (en) * 2019-02-18 2019-09-18 株式会社Mujin Control device, work robot, program, and control method

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012015437A1 (en) 2012-08-02 2014-05-15 Kuka Roboter Gmbh Method and programming means for modifying a robot path
US9221175B2 (en) * 2013-03-28 2015-12-29 Denso Wave Incorporated Method of generating path of multiaxial robot and control apparatus for the multiaxial robot
KR102165437B1 (en) 2014-05-02 2020-10-14 한화디펜스 주식회사 Path planning apparatus of mobile robot
JP6455019B2 (en) * 2014-08-21 2019-01-23 株式会社デンソーウェーブ Robot control apparatus and control method
EP3403146A4 (en) * 2016-01-15 2019-08-21 iRobot Corporation Autonomous monitoring robot systems
US10035266B1 (en) * 2016-01-18 2018-07-31 X Development Llc Generating robot trajectories using a real time trajectory generator and a path optimizer
US10040196B2 (en) * 2016-07-07 2018-08-07 Technologies Holding Corp. System and method for in-flight robotic arm retargeting
AU2017357645B2 (en) * 2016-11-08 2022-11-10 Dogtooth Technologies Limited A robotic fruit picking system
DE112017007397B4 (en) 2017-04-04 2021-09-30 Mujin, Inc. Control device, gripping system, distribution system, program, control method and manufacturing method
CN108724189B (en) 2018-06-22 2020-10-30 金蝶软件(中国)有限公司 Method and device for controlling robot to move and robot control equipment
JP6508691B1 (en) 2018-10-15 2019-05-08 株式会社Mujin Control device, work robot, program, and control method
JP7028196B2 (en) * 2019-01-15 2022-03-02 オムロン株式会社 Robot control device, robot control method, and robot control program
WO2021138691A1 (en) 2020-01-05 2021-07-08 Mujin, Inc. Robotic system with dynamic motion adjustment mechanism and methods of operating the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009178835A (en) * 2008-02-01 2009-08-13 Denso Wave Inc Apparatus and method for controlling robot
JP2013013948A (en) * 2011-07-01 2013-01-24 Seiko Epson Corp Robot, and method for controlling robot
JP2015047649A (en) * 2013-08-30 2015-03-16 トヨタ自動車株式会社 Robot and control method of the same
WO2016103297A1 (en) * 2014-12-25 2016-06-30 川崎重工業株式会社 Automatic obstruction avoidance method and control device for arm-type robot
JP6577686B1 (en) * 2019-02-18 2019-09-18 株式会社Mujin Control device, work robot, program, and control method

Also Published As

Publication number Publication date
JP2022160552A (en) 2022-10-19
CN113561171B (en) 2023-03-24
WO2021138691A1 (en) 2021-07-08
US11833690B2 (en) 2023-12-05
CN113365787A (en) 2021-09-07
US20210205992A1 (en) 2021-07-08
CN113561171A (en) 2021-10-29
JP7174965B2 (en) 2022-11-18

Similar Documents

Publication Publication Date Title
US10953544B2 (en) Robotic system with coordination mechanism and methods of operating the same
US11654558B2 (en) Robotic system with piece-loss management mechanism
US11919169B2 (en) Optimization of motion paths of a robot using vision data
JP2022160552A (en) Robotic system with dynamic motion adjustment mechanism and method for operating the same
US11648676B2 (en) Robotic system with a coordinated transfer mechanism
CN112053398B (en) Object grabbing method and device, computing equipment and storage medium
US20220088778A1 (en) Velocity control-based robotic system
US20240131708A1 (en) Robotic system with dynamic motion adjustment mechanism and methods of operating same
CN111618852B (en) Robot system with coordinated transfer mechanism
CN114683299B (en) Robot tool and method of operating the same
US20220135346A1 (en) Robotic tools and methods for operating the same
US20240132303A1 (en) Robotic systems with dynamic motion planning for transferring unregistered objects
CN117377559A (en) Automatic generation of path constraints for grab stability

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210409

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220428

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220802

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220802

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220809

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220810

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221028

R150 Certificate of patent or registration of utility model

Ref document number: 7174965

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150