JP6895539B2 - 構築可能性分析に基づくプロジェクトの計画および適応 - Google Patents

構築可能性分析に基づくプロジェクトの計画および適応 Download PDF

Info

Publication number
JP6895539B2
JP6895539B2 JP2019554555A JP2019554555A JP6895539B2 JP 6895539 B2 JP6895539 B2 JP 6895539B2 JP 2019554555 A JP2019554555 A JP 2019554555A JP 2019554555 A JP2019554555 A JP 2019554555A JP 6895539 B2 JP6895539 B2 JP 6895539B2
Authority
JP
Japan
Prior art keywords
sequence
task
product
tasks
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019554555A
Other languages
English (en)
Other versions
JP2020522037A (ja
Inventor
バーン,ケンドラ
リークマンス,エリ
ガイダロフ,ストヤン
ミハウォフスキ,マレク
ビアーズワース,マイケル
バターフォス,ライアン
ベン−ツビ,イタイ
Original Assignee
エックス デベロップメント エルエルシー
エックス デベロップメント エルエルシー
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 エックス デベロップメント エルエルシー, エックス デベロップメント エルエルシー filed Critical エックス デベロップメント エルエルシー
Publication of JP2020522037A publication Critical patent/JP2020522037A/ja
Application granted granted Critical
Publication of JP6895539B2 publication Critical patent/JP6895539B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/10Programme control other than numerical control, i.e. in sequence controllers or logic controllers using selector switches
    • G05B19/102Programme control other than numerical control, i.e. in sequence controllers or logic controllers using selector switches for input of programme steps, i.e. setting up sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4189Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the transport system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35193Manufacturability
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35499Model of process, machine and parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Manipulator (AREA)
  • General Factory Administration (AREA)

Description

[0001] 本明細書で別段の指示がない限り、本節で説明する事柄は、本出願におけるクレームに対する従来技術ではなく、本節への包含によって従来技術であると認めるものではない。
[0002] 自動製造プロセスは、自動車、壁、家具、または任意の数の他の物理的製造などの、出力製品を構築するために使用され得る1つ以上のロボット装置の使用を伴い得る。ロボット装置は、構築プロセス中に使用され得る、グリッパまたはドリルなどの、端部エフェクタ搭載ツールを備え得る。ロボット装置は、そのロボット装置にプロセスを完了させるために一連の特定の動作コマンドおよび他の操作のためのコマンドでプログラムされ得る。
[0003] 本開示は、製品を構築するか、または組み立てるために作業現場におけるタスクのロボットオートメーションに関連するシステムおよびプロセスを提供する。自動化タスクが作業現場で実行されているときに、本明細書で開示するシステムおよびプロセスは、構築されている製品(例えば、構造物)のモデルからの逸脱を調整できる。例えば、作業現場オートメーションシステムは、最終製品を構築するためにタスクのシーケンスを調整し得る。本システムは製品を構築しているときに、構築可能性分析を実行して、システムがモデルに従って製品を構築するのを妨げ得る問題を検出し得る。構築可能性分析によってタスクの現在のシーケンスを使用して製品が構築可能ではないと示される場合、システムは、必ずしも製品のモデルを変更することなく、システムが製品の構築を継続できるようにする新しいタスクのシーケンスを生成し得る。例えば、システムが製品を構築している間に問題を検出した場合、本システムは、これまでに構築されている(すなわち、「構築済み」)製品の部分を外して構築して、製品がモデルの要件を満足するように製品を仕上げるのを可能にする、新しいタスクのシーケンスを生成し得る。従って、本システムは、問題が検出される前に完了していた作業を保存し得る。
[0004] 一態様では、コンピュータ実装方法が提供される。本方法は、製品構築の構築前フェーズ中に、製品のモデルに従って製品を構築する第1のタスクのシーケンスを生成することを伴う。本方法は、構築フェーズ中に、1つ以上のロボット装置に、第1のタスクのシーケンスの実行を開始することにより製品を構築させることも伴う。さらに、本方法は、第1のタスクのシーケンスの実行中に、構築可能性分析を実行して、第1のタスクのシーケンスを実行することにより製品を仕上げる実現可能性を判断することを伴う。本方法は、その分析に基づいて、第1のタスクのシーケンスを実行することによって製品を仕上げることは実現可能ではないと判断することをさらに伴う。そして、第1のタスクのシーケンスを実行することによって製品を仕上げることは実現可能ではないと判断することに応答して、本方法は、モデルに従って製品を仕上げるための第2のタスクのシーケンスを生成することを伴い、第2のタスクのシーケンスは第1のタスクのシーケンスとは異なる。さらになお、本方法は、1つ以上のロボット装置に、第2のタスクのシーケンスの実行を開始することにより製品の構築を継続させることを伴う。
[0005] 別の態様では、作業現場オートメーションシステムが提供される。本システムは、1つ以上のロボット装置、ならびに1つ以上のプロセッサおよび1つ以上のデータ記憶装置を含む制御システムを含む。制御システムは、製品を構築するための命令を受信するように構成され、本命令は製品に関する1つ以上の制約を含む。制御システムは、構築前フェーズ中に、(i)製品に対するモデルを決定すること、および(ii)そのモデルに従って製品を構築するための第1のタスクのシーケンスを生成すること、を行うようにも構成される。さらに、制御システムは、構築フェーズ中に、1つ以上のロボット装置に、第1のタスクのシーケンスのタスクの実行を開始することにより製品を構築させ、第1のタスクのシーケンスの実行中に、第1のタスクのシーケンスの構築可能性分析を実行して、第1のタスクのシーケンスを実行することにより製品を仕上げる実現可能性を判断するように構成される。その分析に基づいて、製品を仕上げることは実現可能ではない場合、制御システムは、モデルに従って製品を仕上げるための第2のタスクのシーケンスを生成することであって、第2のタスクのシーケンスは第1のタスクのシーケンスとは異なること、および1つ以上のロボット装置に、第2のタスクのシーケンスの実行を開始することにより製品の構築を継続させること、を行うように構成される。
[0006] さらに別の態様では、方法が提供される。本方法は、設計フェーズ中に、製品の第1のモデルに対して第1のタスクのシーケンスを生成することを伴う。本方法は、構築フェーズ中に、1つ以上のロボット装置に、第1のタスクのシーケンスの実行を開始することにより製品を構築させることも伴う。本方法は、第1のタスクのシーケンスの実行中に、第1のモデルの第1の構築可能性分析を実行して、第1のモデルに従って製品を構築する実現可能性を判断すること、およびその分析に基づいて、第2のモデルを決定することをさらに伴う。なおさらに、本方法は、1つ以上のロボット装置に第2のモデルに従って製品の構築を継続させることを伴う。
[0007] これらおよび他の態様、利点、ならびに代替は、必要に応じて添付の図面を参照して、以下の詳細な説明を読むことにより、当業者には明らかになるであろう。さらに、この概要節および本文書の他の箇所で提供される説明は、制限としてではなく例として、クレームされた主題を例示することを意図していることが理解されるべきである。
[0008]実施形態例に従った、作業現場を示す。 [0009]実施形態例に従った、ロボット装置制御システムの構成要素を示す簡略化されたブロック図である。 [0010]実施形態例に従って、製品を構築するフェーズを示す流れ図である。 [0011]実施形態例に従って、製品を構築するフェーズのプロセスを示す流れ図である。 [0012]実施形態例に従い、設計フェーズ中に実行されるプロセスを示す流れ図である。 [0013]実施形態例に従った、椅子のテンプレートを例示する。 [0014]実施形態例に従った、テーブルに関する制約を示す。 [0015]実施形態例に従った、テーブルの設計をそれぞれ示す。 [0015]実施形態例に従った、テーブルの設計をそれぞれ示す。 [0015]実施形態例に従った、テーブルの設計をそれぞれ示す。 [0015]実施形態例に従った、テーブルの設計をそれぞれ示す。 [0015]実施形態例に従った、テーブルの設計をそれぞれ示す。 [0016]実施形態例に従った、ツリー構造を例示する。 [0017]実施形態例に従って、タスクを実行するロボット装置を示す。 [0018]実施形態例に従って、方法を例示する流れ図である。 [0019]実施形態例に従って、別の方法を例示する流れ図である。 [0020]実施形態例に従った、ロボットの図を示す。 [0021]実施形態例に従って、ロボット装置の構成要素を示す簡略化されたブロック図である。 [0022]実施形態例に従って、コンピューティング装置の構成要素を示す簡略化されたブロック図である。
[0023] 方法およびシステム例が本明細書で説明される。本明細書で説明する任意の実施形態例もしくは特徴は必ずしも、他の実施形態もしくは特徴よりも好ましいか、または好都合であると解釈されるべきではない。本明細書で説明する実施形態例は、制限することを意図していない。開示するシステムおよび方法のある態様は、様々に異なる方法で配置されて組み合わせることができ、その全ては本明細書で企図されることが容易に理解されるであろう。
[0024] さらに、図に示す特定の配置は制限と見なされるべきではない。他の実施形態は所与の図に示す各要素よりも多いか、または少ない要素を含み得ることを理解すべきである。その上、例示する要素の一部は、組み合わされるか、または省略され得る。また、実施形態例は図に例示されていない要素を含み得る。
I.概要
[0025] 本明細書で開示するのは、製品を構築するためのタスクのシーケンスを自動化し得るシステムである。本システムによって構築されている製品は別個の製品であり得るか、またはさらに大きい製品もしくは構造の部分である製品であり得る。製品はユーザーによって設計され得、ユーザーは製品に関する制約も指定し得る。指定された制約は製品の機能的および/または非機能的特徴に関する制約であり得る。制約は、製品を構築するプロセスに関する性能制約でもあり得る。具体的には、製品を構築するために、本システムは、制約を満足する製品のモデルを決定し得る。次いで、本システムは、そのモデルに従って製品を構築するために実行され得るタスクのシーケンスを決定し得る。
[0026] 具体的には、製品の構築には2つのフェーズを伴い得る。第1のフェーズは、2つのサブフェーズ、すなわち、設計フェーズおよびシミュレーションフェーズを伴う、構築前フェーズである。設計フェーズでは、本システムは、製品に対するモデルを決定し得、そのモデルに従って製品を構築するためのタスクのシーケンスも決定し得る。そしてシミュレーションフェーズでは、本システムは、おそらく製品を構築するためのタスクのシーケンスの性能、製品が構築されているときの製品の挙動(例えば、製品の安定性)、および/または製品の中間段階をシミュレートすることにより、製品の構築をシミュレートし得る。製品を構築する第2のフェーズは、構築フェーズである。構築フェーズでは、本システムは、物理的な製品を構築するためにタスクのシーケンスを実行し得る。
[0027] しかし、いずれかのフェーズにおいて、システムが製品を構築するのを妨げ得るエラーが生じ得る。具体的には、エラーは、本システムに所望の仕様から逸脱した製品を構築させ得る。例えば、構築フェーズ中に、構築済み製品のモデルからの逸脱が生じ得る。かかる逸脱は蓄積して、最終製品において望ましくない影響(例えば、欠陥)を生じ得る。一般に、システムは、構築前フェーズおよび/または構築フェーズにおいて、最終製品に望ましくない影響を生じ得る問題に遭遇し得る。
[0028] それに応じて、システムが製品を構築するのを妨げ得るか、または所望の仕様を満足しない製品をシステムに構築させ得るエラーを回避するために、本システムは、製品、またはそのある部分を構築する実現可能性を判断する構築可能性分析を実行し得る。一般に、本システムは、構築前フェーズ中に構築前構築可能性分析を実行し得、次いで、構築フェーズ中に(例えば、構築の開始時および/または構築の最中に)構築可能性分析を実行し得る。構築前構築可能性分析は、本システムが製品に対するモデルを正確かつ効率的に決定するのを可能にし得る。構築前構築可能性分析は、特定のタスクのシーケンスで製品が無事完成となり得ることを本システムが検証するのも可能にし得る。そして、構築可能性分析は、本システムが、製品の構築中に生じ得る問題または変更を検出して効果的に適応するのを可能にし得る。問題を検出して適応することにより、本システムは、製品が所望の仕様に従って構築される可能性を改善し得る。
[0029] 一例では、本システムは、設計フェーズにおいて製品のモデルを決定しているとき、第1の構築可能性分析を実行し得る。具体的には、第1の構築可能性分析は、モデルが製品に関する制約を満足するかどうかを判断し得る。本明細書で説明するように、製品制約は、構築している製品を包含する製品のクラスの特徴を定義する。例えば、テーブルに関する製品制約は、そのテーブルは、脚が平らな床の上に置かれた場合に表面が平らまたは水平になるように、表面を支持する1本以上の脚または支持部材を有することであり得る。モデルを決定した後、第1の構築可能性分析は、テーブルのモデルが、他の制約の中でとりわけ、脚の最小数および上面の配向に関する制約を満足するテーブルを記述しているかどうかを判断し得る。分析によりモデルが制約を満足していないと判断されると、本システムは、そのモデルは構築可能ではないと判断し得る。しかし、モデルが制約を満足する場合、分析によりそのモデルは構築可能であると判断され得る。
[0030] 設計フェーズ中に実行される構築可能性分析は、モデルが、例えば、ユーザーによって指定され得る、テーブルに関する他の所望の制約を満足するかどうかも判断し得る。例えば、制約は、他の特徴または特性の中でとりわけ、テーブルの重量制限、重心、安定性、応力(例えば、曲げ応力)、強度(例えば、座屈強度)などの、テーブルの所望の特徴または特性を定義し得る。設計フェーズ中の構築可能性分析は、制約によって定義された非機能的特徴をモデルが満足するかどうかも判断し得る。例えば、本システムは、制約によって定義される所望の美的特徴(例えば、彫刻、造作など)をモデルが満足するかどうかを判断し得る。
[0031] 構築可能性分析によりモデルが構築可能ではないと判断される場合、本システムは次いで新しいモデルを決定し得、そしてその新しいモデルに関して構築可能性分析も実行し得る。このプロセスは循環的であり、従って、構築可能性分析で本システムによって構築可能なモデルが判断されるまで、繰り返され得る。一旦、システムが構築可能なモデルを決定すると、本システムは、構築可能なモデルを満足する製品を構築するために実行され得るタスクのシーケンスを生成し得る。一実施形態では、本システムは、ツリー構造を使用して、製品を構築するための考えられるタスクのシーケンスを生成し得る。次いで、本システムは、製品を構築するための1つの考えられるタスクのシーケンスを選択し得る。
[0032] 一旦、タスクのシーケンスが選択されると、本システムは、シミュレーションフェーズに進み得、その間に本システムはそのタスクのシーケンスの性能をシミュレートし得る。具体的には、本システムは、システムで利用可能な資源を使用してタスクの性能をシミュレートし得る。資源は、タスクを実行するために利用可能な作業員、タスクを実行するために作業員が使用できる利用可能なツール、および製品を構築するために利用可能な材料を含み得る。例えば、本システムは、システムで利用可能な資源(例えば、部品、材料など)を使用してタスクのシーケンスを実行するロボット装置をシミュレートし得る。システムで利用可能な資源を使用してタスクのシーケンスをシミュレートすることにより、本システムは構築可能性分析を実行して、決定されたモデルに従って製品を構築するための資源を有しているかどうかを判断し得る。例えば、シミュレーション中、分析により、タスクのシーケンスの各タスクを実行するように構成され得るロボット装置に本システムがアクセスできるかどうかが判断され得る。例として、テーブルを構築するタスクの1つは、研磨タスクであり得、構築可能性分析により本システムが、研磨タスクを実行するように構成され得るロボット装置を含むかどうかが判断され得る。
[0033] シミュレーションフェーズ中、本システムは、シーケンスのタスクが実行される順序(「作業順序」とも呼ばれる)も判断し得る。かかるシステムでは、構築可能性分析(シミュレーションフェーズ中)は、タスクが、決定された作業順序に従って実行できるかどうかを判断することも伴い得る。一例では、分析により、タスクが決定された順序で実行される場合、構築中に製品が安定しているかどうかが判断され得る。別の例では、分析により、製品を構築しているときに矛盾が生じるかどうかも判断され得る。例えば、分析により、タスクを実行するために割り当てられたロボット装置間に時間的または空間的な矛盾が生じるかどうかが判断され得る。さらに別の例では、分析により、製品が決定されたタスクのシーケンスを使用して構築される場合に、性能制約が満足されるかどうかが判断され得る。例えば、シミュレーションに基づき、分析により、製品を構築するための推定時間が判断され得、次いで、実行時間が性能制約を満足するかどうかが判断され得る。
[0034] シミュレーションフェーズ中に構築可能性分析を実行することにより、本システムは、システムで利用可能な資源を使用して製品が構築可能であるかどうかを判断し得る。製品が構築可能ではない場合、本システムは、モデルに従って製品を構築するための新しいタスクのシーケンスを決定し得る。いくつかの例では、本システムは、事前に決定された閾値のシーケンスを検査し得、その各々を分析では構築可能ではないと判断する。これらの例では、本システムは、モデルは構築可能ではないと判断し得、製品に対して新しいモデルを決定するために設計フェーズに戻り得る。逆に、分析により、製品がシステムの資源を使用して構築可能であると判断される場合、本システムは、構築フェーズに移行し得る。
[0035] 構築フェーズでは、本システムは、作業現場に配置されたロボット装置に命令を送信することによって作業現場で製品を構築し得る。命令は、決定された作業順序に従ってロボット装置にタスクを実行させる。このフェーズでは、本システムは、構築可能性分析を実行して、システムが適応する必要があり得る問題または変更が生じているかどうかを判断し得る。具体的には、本システムは、作業現場を示すデータを(例えば、センサーおよび/またはロボット装置からのフィードバックから)受信し得、分析ではそのデータを使用してモデルからの逸脱が生じているかどうかを判断し得る。分析では、将来、逸脱が生じ得るかどうかも判断し得る。分析は、作業現場の条件(例えば、環境条件、障害物)、製品の現在の状態(例えば、完成した構造および/または完成したタスクの状態)、利用可能な資源、制約に対する変更(例えば、ユーザーによる)、および設計からの逸脱(例えば、時間における遅延または構造設計からの逸脱)に基づき得る。分析で逸脱(現在の、または予期される)が検出される場合、分析では製品は構築可能ではないと示され得る。
[0036] 一実施形態では、製品が構築可能ではないという判断に応答して、本システムは、設計フェーズに戻り得る。設計段階では、本システムは、ツリー構造を使用して、元のタスクのシーケンスの代わりに実行すべき製品を構築するための新しいタスクのシーケンスを生成し得る。具体的には、本システムは、ツリー構造を使用して、これまでに構築している製品の部分上に構築するタスクのシーケンスを生成し得る。そのため、新しいタスクのシーケンスは、実行されている作業を保存する。実行されている作業を保存することは、時間と費用を節約し得る。さらに、新しいモデルを生成することは集約的な計算能力および膨大な時間を必要とし得、それは、高額な費用を招いて製品が完成するのを遅らせるので、新しいタスクのシーケンスを生成することは好都合であろう。
II.システムおよび方法例
A.作業現場座標フレーム例
[0037] 図1は、実施形態例に従った、作業現場座標フレーム100を示す。作業現場座標フレーム100は、物体、マシン、および恐らくは人間がその中に配置され得る物理的環境の一部を定義し得る。作業現場座標フレーム100は、3次元の形をとり得、様々な目的のために使用され得る。例えば、作業現場座標フレーム100は、建物または別のプロジェクトの建設が実施されているか、実施間近である建設現場に対して定義され得る。そのため、作業現場座標フレーム100は、物理的な建築プロセスが物理的世界内で計画されているか、または生じている物理的な段階または複数の段階を含み得る。
[0038] しかし、本開示の様々な態様が以下で建設現場の文脈で説明されるが、実施態様例は建設現場に制限されず、様々な他の作業現場座標フレーム、例えば、他の例の中でとりわけ、店舗スペース、製造施設、物流設備、オフィススペース、ショッピングセンター、フェスティバル会場、および/または空港など、にまで及び得る。追加として、図1には1つの作業現場座標フレーム100が示されているが、実施態様例は複数の作業現場座標フレームの文脈で実行され得る。
[0039] 図1に示すように、作業現場座標フレーム100は複数の資源を含む。資源は、1人以上のアクター、装置、ハードウェア構成要素、および/または物理的材料を含み得る。物理的材料は建設資材140であり得、それは建設現場に配置された資材またはツールであり得る。例えば、図1では、建設資材140は、れんがのパレットとして示されている。例中では、作業現場座標フレーム100内のアクターは、ロボットアクターおよび人間のアクターを含み得る。人間のアクターは1つ以上の技能を有し得る。例えば、人間のアクターは大工であり得る。さらに、人間のアクターは、コンピューティング装置を使用して、ロボットアクターおよび装置とインタフェースを取り得る。
[0040] 作業員ロボット130は、作業現場座標フレーム100内でタスクを実行するように構成されたロボット装置であり得る。例示するシナリオでは、作業員ロボット130は、ロボットアームに取り付けられた端部エフェクタツールを含む。端部エフェクタツールは作業面に関してタスク、例えば、穴開け、ライス加工、切断、溶接、釘打ち、リベット打ち、研磨、吹き付け、把持、押出、エッチング加工、彫刻、または建物の建設中に典型的に実行される任意の他のタスクなど、を実行するように構成され得る。さらに、作業員ロボット130のロボットアームは、異なるタイプの端部エフェクタを取り付けることができる取付台を含み得る。そのため、作業員ロボット130が異なるタイプのタスクを実行できるように異なる端部エフェクタは交換され得る。さらに、作業員ロボット130は作業現場全体を動くことが可能であり得る。例えば、図1に示すように、作業員ロボット130は車輪を含み得る。しかし、可動性を提供するための他の構成(例えば、二足歩行装置、四足歩行装置、トレッド、トラックなど)も可能である。
[0041] 図1に例示するように、作業現場座標フレーム100は、いくつかのパイロンマーカー104を含む。パイロンマーカー104は、作業現場座標フレーム100の境界に、および/または作業現場座標フレーム100全体に配置され得、3次元座標系102を作業現場座標フレーム100内に確立するために使用され得る。例えば、3次元座標系102は、x軸、y軸、およびz軸をもつデカルト座標系であり得る。パイロンマーカー104の1つは、座標系102の原点として指定され得、残りのパイロンマーカー104は原点から既知の距離で間隔を空けて置かれ得る。結果として、パイロンマーカー104の各々は、座標系102内の既知の(x,y,z)座標と関連付けられ得、x、y、およびz座標は、それぞれx、y、およびz軸に沿って原点のパイロンマーカーからの距離に対応する。
[0042] パイロンマーカー104は必ずしも作業現場座標フレーム100の境界に置かれる必要はなく、代替または追加として作業現場座標フレーム100全体の様々な既知の位置に配置され得る。例えば、いくつかの実施形態では、パイロンマーカー104は、作業現場全体にわたる2次元または3次元グリッドで配置され得る。しかし、他の構成も可能であり、パイロンマーカー104は、作業現場座標フレーム100内の既知の位置に任意の方法で配置され得る。
[0043] ロボット装置120のレーザートラッカーがロボット装置120に関してパイロンマーカー104の位置を測定できるように、パイロンマーカー104は再帰反射であり得る。ロボット装置120から既知の座標をもつパイロンマーカーの位置を判断することにより、ロボット装置120の座標が導出され得る。ロボット装置120は作業現場座標フレーム100を動き回るので、それは時々、そのレーザートラッカーとパイロンマーカー104との間に見通し線(line of sight)を提供し得る。これは、ロボット装置120が作業現場座標フレーム100を動き回るときに、ロボット装置120の位置に対して更新された座標を提供する。
[0044] パイロンマーカー104に加えて、作業現場座標フレーム100はいくつかの追加のマーカー112を含み得る。マーカー112は、作業現場座標フレーム100全体にわたって様々な対象物体に取り付けられ得る。例えば、図1に示すように、それぞれのマーカー112は、ロボット装置120、作業員ロボット130、および/または建設資材140に取り付けられ得る。マーカー112の位置は、ロボット装置120、作業員ロボット130、および/または建設資材140と関連付けられた座標系102内の座標を提供するために測定され得る。
[0045] いくつかの実施形態では、作業現場座標フレーム100内の対象物体の位置を判断することは、3次元座標系内の単一点の位置を単に判断すること以上を伴い得る。例えば、いくつかの実施形態では、点のセットの位置は、対象物体の体積を定義するために判断され得る。例えば、図1を参照すると、建設資材140の体積を表す3次元空間が判断され得る。ロボット装置は、建設資材140に取り付けられたマーカー112のセットの位置を判断し得る。マーカー112は建設資材140の境界もしくは縁部に取り付けられ得るか、またはいくつかの実施形態では、マーカー112は任意の既知の方法で建設資材140上に配置され得る。建設資材140上に配置されたマーカー112のセットの位置を判断することにより、3次元体積の位置が判断されて、作業現場座標フレーム100内で建設資材140の形状を示し得る。同様に、様々な対象物体上に配置されたマーカー112のセットの位置を判断することにより、ムーバーロボット120、作業員ロボット130、または作業現場座標フレーム100内の任意の他の物体に対して、3次元体積および作業現場座標フレーム100内でのそれらの位置が判断され得る。
[0046] いくつかの実施形態では、作業現場座標フレーム100内の対象物体の位置を判断することは、対象物体のポーズを作業現場座標フレーム100に対して判断することを含み得る。対象物体のポーズは、その物体の位置および配向の組合せを含み得る。対象物体のポーズを判断するために、とりわけ、分析もしくは幾何学的方法、遺伝的アルゴリズム法、および/または学習に基づく方法を含む、様々なプロセスが使用され得る。
[0047] 対象物体がロボット装置である、いくつかの実施形態では、ロボットのポーズはその動作状態に基づいて判断され得る。ロボット装置は、異なるポーズとなる様々な動作状態を有し得る。制御システムは、ロボット装置の動作状態を判断し得る。ロボット装置の体積および/または形状が既知であるか、またはそうでなければ判断されていると仮定して、制御システムは、判断された動作状態に基づいてロボット装置のポーズを判断し得る。
[0048] 例えば、図1を参照すると、作業員ロボット130は、その動作状態に基づいて任意の数のポーズに位置付けられ得るロボットアームを含む。1つの動作状態は、作業面に関してタスクを実行するためにロボットアームを構成することを含み得る。しかし、動作状態は、関連付けられたポーズとなる作業現場座標フレーム100内でのロボット装置の任意の構成を含み得る。ロボットアームの様々な構成要素の体積および形状は、既知であるか、またはそうでなければ判断されている。従って、作業員ロボット130の動作状態に基づきロボットアームのポーズ(例えば、位置および配向)を判断することにより、作業現場座標フレーム100内でロボットアームによって占有される空間を表す3次元体積が判断され得る。
B.ロボット制御システム例
[0049] 図2は、本明細書で説明する実施形態に関連して使用できるロボット制御システム200の構成例を示す。ロボット制御システム200は、自律的に、半自律的に、および/またはユーザー(複数可)によって提供された指示を使用して、動作するように構成され得る。ロボット制御システム200は、例えば、建設現場、生産現場、製造現場、検査または品質管理場所などの、作業現場の管理に対して責任を負い得る。例えば、建設または製造の作業現場では、ロボット制御システム200は、建設の調整または製品(「出力製品」とも区別しないで呼ばれる)の製造に対して責任を負い得る。具体的には、かかるロボット制御システムは、1つ以上のロボット装置を制御して製品を構築し得、また1つ以上のセンサーを使用して環境を監視し得る。
[0050] 図2に例示するように、ロボット装置制御システム200は、端部エフェクタ220を制御するように構成されたロボット装置210を含む。端部エフェクタ220は、作業面(例えば、出力製品の表面)に関してタスクを実行するように構成されるツール端部エフェクタであり得、ロボット装置210の、ロボットアームなどの、可動構成要素に取り付けられ得る。ロボット装置210は作業現場(例えば、図1に示される現場100)内に配置され得る。
[0051] 一例によれば、作業現場は、ロボット装置が組立ラインで部品を取り付けて製品(例えば、テーブル、航空機翼など)を組み立てる、工場の現場であり得る。追加の例によれば、作業現場は、組立ラインではなく、ロボット装置が様々な部品を組み合わせて物理的構造を構築する作業現場であり得る。これらの例では、作業現場は、最終の物理的構造が、完全に構築された場合に、そこから別の位置(例えば、販売業者または顧客の位置)に(例えば、製品として)配送され得る一時的な位置であり得る。
[0052] さらに別の例によれば、作業現場は、ロボット装置が重い建設資材で作業して橋または道路を建設する、地方自治体の現場であり得る。さらなる例によれば、作業現場は、ロボット装置が建設資材で作業して家または建物を建設する、建設現場であり得る。作業現場は、ロボット装置が住宅資材を取り付けて家の一部分を構築する、家の内部でもあり得る。これらの例では、最終の物理的構造が作業現場内に取り付けられる。
[0053] ロボット制御システム200は、作業現場を表す環境データを提供するように構成されたローカルセンサー(複数可)230およびグローバルセンサー(複数可)240をさらに含み得る。例えば、ローカルセンサー(複数可)230およびグローバルセンサー(複数可)240は、例えば、システムによって構築されている製品など、作業現場内の様々な物体の位置を判断し得る。別の例として、ローカルセンサー(複数可)230およびグローバルセンサー(複数可)240は、作業現場の「ワールドマップ」を生成するためにロボット制御システム200が使用できるデータをロボット制御システム200に提供し得る。ワールドマップは、作業現場のリアルタイムまたはほぼリアルタイムの表現を示し得る。従って、ローカルセンサー(複数可)230およびグローバルセンサー(複数可)240は、ロボット制御システム200がワールドマップを連続的に、または定期的に更新できるように、ロボット制御システム200にデータを提供し得る。ロボット制御システム200はまた、センサーデータおよび/またはワールドマップを使用して、作業現場内のタスクの業績も追跡し得る。具体的には、ロボット制御システム200は、タスクに関与している任意のロボット装置、タスクを実行する際に使用された任意の材料、およびタスク実行の結果として構築済み製品に対する変更を追跡し得る。
[0054] 追加として、ローカルセンサー(複数可)230は、ロボット装置210上またはロボット装置210内部に配置されて、端部エフェクタ220の位置を作業面(例えば、構築されている製品の表面)に関して測定するように構成され得る。ローカルセンサー(複数可)230は、作業面の特徴をスキャンまたは捕捉するようにも構成され得る。他方、グローバルセンサー(複数可)240は、作業現場内に配置され得、出力製品の位置を作業現場内の座標系に関して測定するように構成され得る。グローバルセンサー(複数可)240はまた、端部エフェクタ220の位置を座標系に関して、または別の物体(例えば、ロボット装置の基部の位置)に関して測定するようにも構成され得る。さらに、グローバルセンサー(複数可)は、ロボット装置210の位置も測定するように構成され得る。
[0055] 一実施形態では、グローバルセンサー(複数可)240は、超高分解能(例えば、1ミリメートルの100分の1)のレーザートラッカーシステムを含み得る。レーザートラッカーシステムは、作業現場内で物体の位置を判断するために使用され得る。しかし、グローバルセンサー(複数可)240は、レーザートラッカーシステムに制限されず、作業現場内に配置された物体の特徴を捕捉可能な任意のセンサー、例えば、とりわけ、モーションキャプチャセンサー、スキャナ、光検知測距(LIDAR)センサー、点群センサー、超音波距離センサー、全地球測位システム(GPS)受信機、ソナー、光学センサー、無線自動識別(RFID)システム、近距離無線通信(NFC)チップ、無線センサー、無線型センサー、レーダー、カメラ(例えば、カラーカメラ、グレースケールカメラ、および/または赤外線カメラ)、および/または距離センサー(例えば、超音波および/または赤外線)など、を含み得る。
[0056] そしてローカルセンサー(複数可)230は、オプティカルフローデータを提供するための高速度カメラまたは慣性計測装置(IMU)を含み得る。しかし、ローカルセンサー(複数可)230は、高速度カメラまたはIMUに限定されず、端部エフェクタ220の位置を作業面に関して測定可能であるか、または作業面の特徴を捕捉可能な任意のセンサーを含み得る。かかるセンサーは、とりわけ、力センサー、近接センサー、運動センサー(例えば、ジャイロスコープ、および/または加速度計)、負荷センサー、位置センサー、熱画像センサー、深度センサー(例えば、RGB−D、レーザー、立体照明、および/または飛行時間カメラ)、超音波距離センサー、赤外線センサー、光学センサー、無線自動識別(RFID)システム、近距離無線通信(NFC)チップ、無線センサー、光センサー、タッチセンサー(例えば、容量センサー)、スキャナ、カメラ(例えば、カラーカメラ、グレースケールカメラ、および/または赤外線カメラ)、および/または距離センサー(例えば、超音波および/または赤外線)を含む。いくつかの実施形態では、端部エフェクタ220の作業面に関する位置は、車輪走行距離計測法および/またはロボット順運動学(robot forward kinematics)を使用して判断され得る。
[0057] 追加として、ローカルセンサー(複数可)230およびグローバルセンサー(複数可)240は、他の可能な位置の中でとりわけ、作業現場内または作業現場の近くに位置付けられ得る。例えば、ローカルセンサー(複数可)230は、ロボット装置210に取り付けられ得る。いくつかの実施形態では、グローバルセンサー(複数可)240は、例えば、専用センシング設置として、作業現場全体にわたって固定位置に配置され得る。さらに、実施態様例は、携帯電話、ラップトップ、および/またはタブレットなどの、既存の装置内部に組み込まれたセンサーも使用し得る。これらの装置は、建設現場における建設作業員など、生産現場に配置された作業員が所持し得る。
[0058] 図2は、ローカルセンサー(複数可)230およびグローバルセンサー(複数可)240からデータを受信し得るコントローラ250も示し得る。具体的には、ローカルセンサー(複数可)230およびグローバルセンサー(複数可)240は、センサーデータをコントローラ250に通信ユニット260を通して提供し得る。通信ユニット260は、有線リンクおよび/または無線リンク(例えば、様々な無線送信機および受信機を使用)を含み得る。有線リンクは、例えば、パラレルバスまたは、ユニバーサルシリアルバス(USB)などのシリアルバスを含み得る。無線リンクは、例えば、他の可能性の中でとりわけ、Bluetooth(登録商標)、IEEE802.11(IEEE802.11はIEEE802.11−2007、IEEE802.11n−2009、または任意の他のIEEE802.11版を指し得る)、セルラー方式(GSM、GPRS、CDMA、UMTS、EV−DO、WiMAX(登録商標)、HSPDA、またはLTEなど)、またはZigbee(登録商標)を含み得る。さらに、セルラー通信プロトコルを使用する「3G」または「4G」データ接続(例えば、CDMA、GSM、またはWiMAX、および「WiFi」接続に対する802.11の使用)など、複数の有線および/または無線プロトコルが使用され得る。
[0059] 他の例では、ロボット制御システム200は、ローカルセンサー(複数可)230およびグローバルセンサー(複数可)240ならびに/またはコントローラ250がそれを通してクラウドサーバーと通信し得るアクセスポイントを含み得る。アクセスポイントは、無線アクセスポイント(WAP)または無線ルーターの形などの様々な形を取り得る。さらに、接続が、CDMAまたはGSMプロトコルなどの、セルラーエアインタフェースプロトコルを使用して行われる場合、アクセスポイントは、セルラーネットワークを介してインターネット接続を提供するセルラーネットワーク内の基地局であり得る。他の例も可能である。
[0060] コントローラ250は、1つ以上のプロセッサ(複数可)252、データ記憶254、プログラム命令256、入力/出力装置258、および電源262を含むと示されている。コントローラ250は本開示の範囲から逸脱することなく追加の構成要素を含み、かつ/または1つ以上の構成要素が除去できるので、コントローラ250は例示目的のみで示されていることに留意されたい。さらに、コントローラ250の様々な構成要素は任意の方法で配置されて接続され得ることに留意されたい。コントローラ250は、全体または一部においてロボット装置210に組み込まれ得るか、または、他の可能性の中でとりわけ、デスクトップコンピュータ、ラップトップ、タブレット、ウェアラブルコンピューティングデバイス、および/または携帯電話の形を取り得る。
[0061] 1つ以上のプロセッサ(複数可)252からの、各プロセッサは、汎用プロセッサまたは専用プロセッサ(例えば、デジタル信号プロセッサ、特定用途向け集積回路など)であり得る。プロセッサ(複数可)252は、データ記憶254内に格納されていて、本明細書で説明するコントローラ250の機能を提供するために実行可能である、コンピュータ可読プログラム命令256を実行するように構成され得る。例えば、プログラム命令256は、ローカルセンサー(複数可)230およびグローバルセンサー(複数可)240から受信したセンサーデータの処理を提供するために実行可能であり得る。
[0062] データ記憶254は、プロセッサ(複数可)252によって読み取るか、またはアクセスできる1つ以上のコンピュータ可読記憶媒体を含むか、またはその形を取り得る。1つ以上のコンピュータ可読記憶媒体は、例えば、光、磁気、有機もしくは他のメモリまたはディスク記憶などの、揮発性および/または不揮発性記憶構成要素を含み得、それらは全体または一部においてプロセッサ(複数可)252と統合され得る。いくつかの実施形態では、データ記憶254は、単一の物理装置(例えば、1つの光、磁気、有機もしくは他のメモリまたはディスク記憶装置)を使用して実装され得、他方、他の実施形態では、データ記憶254は、2つ以上の物理装置を使用して実装され得る。さらに、コンピュータ可読プログラム命令256に加えて、データ記憶254は、他の可能性の中でとりわけ、診断データなどの、追加のデータを含み得る。さらに、コントローラ250は、コントローラ250の様々な構成要素に電力を供給するように構成された電源262も含み得る。電池からの直流または商用電源からの交流電流などの、任意のタイプの電源が使用され得る。
[0063] 図1は、入力/出力装置258を含むコントローラ250をさらに示す。入力/出力装置258は、ディスプレイを通してユーザーに情報を出力し得る。ディスプレイは任意の形式を取り得、画像および/またはグラフィックスをコントローラ250のユーザーに投影するように配置され得る。配置例では、入力/出力装置258内部のプロジェクタは、画像および/またはグラフィックスの様々な射影をディスプレイの表面に投影するように構成され得る。ディスプレイは、電子発光ディスプレイもしくは液晶ディスプレイなどの、不透明もしくは透明(または半透明)マトリクスディスプレイ、画像をユーザーの目に伝達するための1つ以上の導波路、または画像をユーザーに伝達可能な他の光学要素を含み得る。対応するディスプレイドライバは、かかるマトリックスディスプレイを駆動するためにコントローラ250内部に配置され得る。ディスプレイに対する他の配置も可能であり得る。そのため、ディスプレイは、ユーザーが本明細書で開示するシステムとそれを通してやり取りし得るアプリケーションを提供し得るグラフィカルインタフェースを表示し得る。
[0064] さらに、ロボット制御システム200は、入力/出力装置258のディスプレイ上にワールドマップを表示し得る。それ故、入力/出力装置258は、構築済み製品を含め、作業現場のリアルタイムまたはほぼリアルタイムの表現を表示し得る。その結果、ユーザーは出力製品の構築または組み立ての進展を監視できる。作業現場を示すリアルタイムフィードバックデータ(例えば、ローカルセンサー(複数可)230およびグローバルセンサー(複数可)240からのデータ)に基づいて、表示されたワールドマップは作業現場におけるリアルタイムの変化を反映するように更新され得る。
[0065] 入力/出力装置258はタスク制御も含み得る。タスク制御はユーザーに、タスク実行のリアルタイム制御を提供し得る。例えば、ユーザーは、タスクを開始、停止、スキップ、または変更し得る入力を提供することが可能であり得る。例えば、ディスプレイ上に表示されるグラフィカルインタフェースは、ロボット制御システム200が実行するタスクのタスクキューを含み得る。グラフィカルインタフェースは、ユーザーがタスクを開始、停止、スキップ、または変更するのを可能にし得る。いくつかの実施態様では、グラフィカルインタフェースは、ユーザーが出力製品に関連したパラメータを入力するのを可能にし得る。グラフィカルインタフェースは、寸法、密度、曲率特性、他の幾何形状特性、使用される材料、および/または他の数値入力を含む、出力製品の態様に関連し得るパラメータをユーザーが入力するのを可能にし得る。
[0066] さらなる例では、グラフィカルインタフェースは、出力製品を構築するタイムラインを含み得る。タイムラインは、現在のタイムスタンプを表すカーソルを有し得、タイムスタンプは、出力製品を構築するプロセスの特定の時点を表し得る。加えて、タイムラインは、プロセスを特定の速度で再生するか、またはプロセスを早送りするか、もしくは巻き戻すためのボタンを含み得る。タイムラインは、作業現場の幾何形状および/または他の態様がディスプレイ内に表示される時点を制御するために使用され得る。さらに、タイムラインは、出力製品をシミュレートする目的で、または作業現場内で起こっている実際の物理的な構築プロセスをソフトウェア内で可視化するためのいずれかで、特定の時点を示すために使用され得る。さらに、ユーザーは出力製品の設計をグラフィカルインタフェースを通して変更できる。
[0067] いくつかの例では、ディスプレイは、作業現場の複数の3Dビューをユーザーに提供し得、ユーザーが特定のビューの向きおよび/またはズームを変更するのを可能にし得る。他の例では、ディスプレイは、数値表現などの、作業現場の他のタイプの表現も、または代わりに、提示し得る。さらなる例では、ユーザーには、作業現場を記述する1つ以上の変数および/またはその作業現場における構築プロセスに影響を及ぼす所望の出力製品をユーザーが変更するのを可能にする3次元(3D)モデリンググラフィカルインタフェースが提供され得る。
[0068] さらなる例では、グラフィカルインタフェースは、実行時中に、プロセスの態様を記述するパラメータを含み得る。具体的には、ロボット装置210の特徴、例えば、ロボット装置210の位置、ロボット装置210によって現在使用されている物理的なツール、および/またはロボット装置210が現在それに沿って作業現場内で動作している軸など、を記述するロボットパラメータが表示され得る。追加として、端部エフェクタ220の動作特性を記述するツールパラメータが表示され得る。例えば、スピンドルに供給されている電力量またはグリッパで使用されている力の量が、グラフィカルインタフェース例内に表示され得る。加えて、グラフィカルインタフェースはセンサーデータを表示し得る。グラフィカルインタフェースは、タスク実行の順序付けおよび/または速度に関連した制御も含み得る。さらに、グラフィカルインタフェースは、ロボット位置および診断などの、ロボットアクターに関連した制御を含み得る。追加として、グラフィカルインタフェースは、出力製品の異なる属性の制御を可能にする。グラフィカルインタフェース内には、実行時中に実行されている1つ以上のタスクを操作するための制御が提供され得る。例えば、ユーザーは、計画されたタスクをリアルタイムで、またはほぼリアルタイムで変更することにより構築プロセスを変更するために、タッチ入力を使用してグラフィカルとやり取りすることが可能であり得る。
[0069] いくつかの例では、グラフィカルインタフェースは、作業現場内で特定の装置を選択するために、装置制御を含み得る。例えば、グラフィカルインタフェースは、作業現場内のロボットアクターを表示し得、特定のロボット装置の選択を可能にし得る。追加として、グラフィカルインタフェースは、ロボット装置の現在の位置を記述する位置情報などの、ロボットパラメータを含み得る。いくつかの例では、位置は、デカルト座標として、ロボット軸値として、またはその両方で表示され得る。さらなる例では、位置情報は、ロボットアクターの端部エフェクタまたはロボットの端部エフェクタ上に取り付けられた物理的なツールの位置を反映し得る。
[0070] 追加として、入力/出力装置258は、ユーザー入力を(例えば、コントローラ250のユーザーから)受信し得る。具体的には、入力/出力装置258は、他の可能なやり取りの中でとりわけ、スクロール、テキストの提供、および/またはアプリケーションの様々な特徴の選択などの、グラフィカルインタフェースとのやり取りを可能にし得る。入力/出力装置258は、様々な形を取り得る。一例では、入力/出力装置258は、グラフィカルインタフェースの制御のために使用されるコンピューティングマウスなどの、ポインティングディバイスを含み得る。しかし、入力/出力装置258がタッチスクリーンディスプレイを含む場合、グラフィカルインタフェースの制御を可能にするタッチ入力(例えば、指またはスタイラスの使用など)が受信され得る。別の例では、入力/出力装置258は、グラフィカルインタフェースを通して表示される数、文字および/または記号の選択を提供するキーボードを含み得る。例えば、入力/出力装置258がタッチスクリーンディスプレイを含む配置では、ディスプレイの一部がキーボードを表示し得る。従って、キーボードを含むディスプレイの部分上でのタッチ入力は、ディスプレイを通してグラフィカルインタフェース上に表示される特定の数、文字、および/または記号の選択などの、ユーザー入力となり得る。さらに別の例では、入力/出力装置258は、マイクロホンを通してユーザーからなど、音声入力を受信し、次いで、様々な音声認識技術の1つを使用して、ディスプレイを通して表示され得る1つ以上の文字に解釈可能である、音声入力装置を含み得る。他の例も可能である。
C.作業現場オートメーションシステム
[0071] 実施形態例は、他のタイプの作業現場の中でとりわけ、製造、製作、および建設作業現場における作業現場オートメーションのためのシステムおよびプロセスを提供し得る。作業現場オートメーションは、作業現場における製品の設計および/または構築のプロセスの自動化を伴い得る。具体的には、作業現場オートメーションシステムは、製品に対するモデルを決定し得、次いで、そのモデルに従って製品を構築するために実行され得るタスクのシーケンスを生成し得る。そしてタスクのシーケンスは、作業現場内に配置される利用可能なアクターによって実行され得る。タスクを実行する場合、アクターは、作業現場内に、または作業現場近くに配置された利用可能な資源を利用し得る。一例では、タスクはロボット装置によって実行され得、従って、製品は、一部または完全に、ロボット装置によって構築され得る。
[0072] 図3は、例示的な実施形態に従って、製品を構築するフェーズ300を示す。図3に例示するように、製品を構築することは、3つのフェーズ、すなわち、設計フェーズ302、シミュレーションフェーズ304、および構築フェーズ306を伴い得る。具体的には、設計フェーズ302はおよびシミュレーションフェーズ304は、製品を構築する前に実行されるプロセスを伴い得、従って、設計フェーズ302はおよびシミュレーションフェーズ304は、総称して、構築前フェーズと呼ばれ得る。しかし、以下で説明するように、本システムは、構築フェーズ306が開始された後に構築前フェーズに戻り得る。
[0073] その上、フェーズ300の各々は、ユーザーからの入力がほとんど、または全くなしで実行され得る。そのため、本システムは、半自律的に、または自律的に製品を構築し得る。さらに、設計フェーズ302およびシミュレーションフェーズ304は、コンピューティング装置を使用して実行され得る。いくつかの例では、設計フェーズ302およびシミュレーションフェーズ304は、構築フェーズ306中にアクターに命令を提供する同じコンピューティング装置を使用して実行され得る。
[0074] 一実施形態では、図3に例示するように、作業現場オートメーションシステムは、入力308を受信し得る。入力308は、ユーザーから(例えば、コンピューティング装置への入力を介して)受信され得るか、または別のコンピューティング装置から受信され得る。例内では、入力308は、作業現場において製品を構築するか、または組み立てるための命令を示し得る。そのため、入力308の受信に応答して、本システムは製品を構築するか、または組み立て得る。具体的には、本システムは、フェーズ300の各々と関連付けられたプロセスを実行することにより製品を構築し得る。図3に例示するように、入力308の受信に応答して、本システムは、設計フェーズ302と関連付けられたプロセスを実行することにより製品の設計を決定し得る。
a.設計フェーズ
[0075] 図4は、例示的な実施形態例に従って、製品を構築するフェーズ300の各々と関連付けられているプロセスを示す。図4に例示するように、設計フェーズ302の第1のプロセス402では、本システムは、製品に対するモデルを決定するように構成され得る。出力製品のモデルは、製品の2次元(2D)または3次元(3D)表現であり得る。一般に、モデルは、製品の物理的な構造がどのように構成され、一旦、本システムによって構築されると製品がどのように機能するかを示し得る。モデルは、製品を構築するために使用される材料および部品の特性など、製品の他の特徴も示し得る。
[0076] 一実施態様では、本システムは、本システムのユーザーからモデルを受信することにより、製品に対するモデルを決定し得る。例えば、ユーザーはモデルを設計し得、次いで入力308の一部としてモデルを含め得る。典型的には、ユーザーは設計ソフトウェアを使用してモデルを開発し得る。具体的には、設計されるモデルは、他のタイプのモデルの中でとりわけ、2Dまたは3Dコンピュータ支援設計(CAD)であり得る。例えば、建設作業現場では、建設プロジェクトを設計およびモデル化するために建築情報モデリング(BIM)が使用され得る。モデルのタイプは、製品タイプおよび/またはユーザーの好みの慣例などの要因に基づき得る。
[0077] 別の実施態様では、本システムは、別のシステムまたは装置からモデルを受信することにより、製品に対するモデルを決定し得る。例えば、入力308の受信に応答して、本システムは、モデルをデータベースから取得し得る。データベースは、一般的に構築されるか、または組み立てられる製品などの、様々な製品のモデルを含み得る。追加および/または代替として、データベースは、本システムによって購入できるモデルを格納する商用データベースであり得る。
[0078] さらに別の実施態様では、本システムは、製品に対するモデルを生成することにより、製品に対するモデルを決定し得る。この実施態様では、入力308は製品のタイプおよびその製品に関する1つ以上の制約を示し得る。製品のタイプおよび1つ以上の制約は、例えば、ユーザーによって定義され得る。一旦、本システムが入力308を受信すると、本システムは次いで、製品タイプおよび制約に基づいて、製品に対するモデルを生成し得る。より具体的には、本システムは、製品タイプに基づいて、製品タイプを定義する特性を決定し得る。本システムは次いで、決定された特性および1つ以上の制約を使用して、モデルが製品特性および所望の制約を満足するようにモデルを生成し得る。
[0079] 一実施形態では、入力308に含まれる制約は、製品の部類または種類などの、製品の所望の高レベル仕様を定義し得る。高レベル仕様は、製品で使用される材料、製品の機能的特徴、製品の美的特徴なども含み得る。例えば、制約は製品のパラメータ(例えば、寸法)に対する最大値および/または最小値を定義し得る。追加および/または代替として、制約は作業現場内の空間的な考慮事項(例えば、どこで製品を構築すべきか、障害物の位置など)を示し得る。追加および/または代替として、制約は、低レベル仕様を定義し得、それは、製品の構成要素間の関係に関する制約(例えば、相対位置決め)を示し得る。追加および/または代替として、制約は、製品の構築プロセスに関する性能制約を示し得る。性能制約の例は、構築時間、速度、製造方法、効率性、費用、材料浪費、使用する資源などを含むが、それらに制限されない。
[0080] 例えば、入力308が、製品タイプが椅子であることを示す場合を検討する。入力308は、椅子のタイプ(例えば、肘掛け椅子)を示す高レベル制約、肘掛け椅子で使用すべき所望の材料、荷重支持制約(例えば、最小/最大荷重支持、耐荷重面位置など)、作業現場内で肘掛け椅子を設置すべき場所など、を含み得る。次いで、入力308に基づいて、本システムは肘掛け椅子に対するモデルを生成し得る。
[0081] 図5は、例示的な実施形態に従って、モデルを決定するプロセス402のステップを例示する。図5に示すように、第1のステップ502は、本システムが製品のタイプ(例えば、クラス)を定義する特性を決定することであり得る。特性は、製品タイプの構造的に堅固な構造を何が構成するかを定義する機能的特性であり得る。特性は、製品タイプの美的特徴を定義する非機能特性でもあり得る。特性は、その製品タイプに収まる製品の全部または一部の間で共有され得る。例内では、特性は、本システムによってアクセスされ得るデータベース内に格納され得る。
[0082] 図5に示すように、次のステップ504は、本システムが製品の構成要素を決定することであり得る。具体的には、本システムは製品タイプを使用して、製品の考えられる構成要素を判断し得る。本システムは、例えば、データベースから、その製品タイプで使用される構成要素を決定し得る。例えば、データベースは、様々な製品タイプのテンプレートを含み得る。テンプレートは、その製品タイプの製品間で良く見られる構成要素など、その製品タイプに含まれ得る構成要素を示す。いくつかの例では、テンプレートはその製品タイプの製品内の構成要素のサンプル配置も示し得る。
[0083] 図6は、例示的な実施形態に従った、肘掛け椅子600のテンプレート例を示す。図6に示すように、テンプレートは、仕様に合った数の脚および肘掛けなどの、肘掛け椅子600の構成要素を含み得る。例えば、肘掛け椅子600は4本の脚606を含む。テンプレートは、肘掛け椅子600が背もたれ610、座部604、および2本の肘掛け602を含み得ることも指定し得る。テンプレートは、肘掛け椅子の構成要素のサンプル配置も指定し得る。例えば、図6に示すように、テンプレートは、脚606の各々が一端を座部604に連結されることを示し得る。さらに、テンプレートは、製品の構成要素間の考えられる関係(例えば、構成要素の相対位置決め)を示し得る。
[0084] 追加として、テンプレートは、肘掛け椅子600の考えられる特性を示し得る。図6に示すように、テンプレートは、肘掛け椅子600の様々な構成要素の寸法の許容値の範囲を示し得る。この例では、肘掛け椅子600のテンプレートは、他の寸法の中でとりわけ、座部604の高さを示す高さH1、肘掛けの高さH2、肘掛け幅W2、座部幅W1、背もたれの高さH3、座部長L2、肘掛け長L1を例示する。各値は、それぞれの特徴に対する許容値の範囲を示し得る。テンプレートは、肘掛け椅子600の構成要素が製造され得る仕様に合った材料など、非機能的特性も示し得る。肘掛け椅子600で使用され得る仕様に合った材料の例は、他の材料の中でとりわけ、無垢材、木製スラット、詰め物の入った革、詰め物をした織物、金属、成型プラスチックを含む。
[0085] 再度図5を参照すると、本システムが製品の構成要素を決定するプロセス504を実行した後、本システムは次いで、構成要素の各々に対してモデルを決定するプロセス506を実行し得る。一実施態様では、製品タイプのテンプレートは、各構成要素のサンプルモデルを指定し得、従って、本システムは、テンプレートから各構成要素に対するモデルを決定し得る。本システムがサンプル構成要素モデルを使用する場合、本システムは、必要ならば、各モデルが製品に関する制約を満足するように、各構成要素のモデルを調整し得る。
[0086] 別の実施態様では、本システムは、各構成要素に対するモデルを生成し得る。この実施態様では、本システムは、構成要素の特性および制約を使用して、その構成要素に対する幾何形状を反復して生成し得る。構成要素の幾何形状を反復して生成することは、本システムが構成要素の特性に基づき、その構成要素に対するモデルを生成すること、および次いで、そのモデルが構成要素に関する制約を満足するまで反復してモデルを調整することを伴い得る。代替として、本システムは、構成要素の特性に基づき、その構成要素に対して複数のモデルを生成し得、次いで、制約を満足する1つのモデルを選択し得る。
[0087] 図5に例示するように、プロセス506を実行した後、本システムは次いで、製品に対するモデルを生成するプロセス508を実行し得る。一例では、本システムは、(プロセス506中に決定された)製品の各構成要素の1つ以上のモデルを組み込むことにより、1つ以上のモデルを反復して生成し得る。1つ以上のモデルを反復して生成することは、各モデルが構成要素の様々なモデルの異なる順列を含むように、製品に対して1つ以上のモデルを生成することを伴い得る。さらに、いくつかの例では、構成要素のモデルは、そのモデルが、1つの構成要素を別の構成要素に連結するコネクタの設計を含まないように、個別であり得る。かかる例では、製品モデルを生成することは、異なる構成要素間のコネクタの設計を生成することを含み得る。追加および/または代替として、製品モデルを生成することは、製品の美的特徴を設計することを含み得る。
[0088] 一例では、本システムは、ボトムアッププロセスでモデルを生成し得る。本システムは、まず、2つの構成要素をどのように一緒に組み込むかを決定し得る。このステップは、構成要素の機能的特徴、2つの構成要素間のコネクタの設計、美的特徴などを決定することを含み得る。本システムは次いで、2つの構成要素を連結し得、モデルがその2つの構成要素に関する制約を満足するまで、2つの構成要素のモデルを反復して調整し得る。次に、本システムは、別の構成要素をその2つの構成要素とどのように組み合わせるかを決定し得る。このプロセスは、全ての構成要素がモデルに組み込まれるまで繰り返され得る。
[0089] 一旦、本システムが製品のモデルを生成すると、本システムは次いで、モデルが制約を満足するまで、そのモデルを反復して調整し得る。一実施形態では、モデルが制約を満足するようにモデルを反復して調整することは、モデルの1つ以上のパラメータを調整することを含み得る。調整可能なパラメータは、構成要素の幾何形状、構成要素の寸法、構成要素の材料などを含む。本システムは、パラメータの値が、製品の特性によって定義された値の範囲に含まれる限り、これらのパラメータを調整し得る。加えて、本システムは、モデルが任意の性能制約を満足するようにパラメータを調整し得る。本システムが制約を満足するようにモデルを調整できない場合、本システムは、そのモデルは構築可能ではないと判断し得、従ってそのモデルを廃棄し得る。製品に対してモデルを生成する他の方法も可能である。例えば、本システムは、モデルがそのモデルに関する制約を満足するまで、製品の異なる構成要素のパラメータをランダムに反復して調整することにより、モデルを生成し得る。
[0090] 一旦、本システムが製品の1つ以上のモデルを生成すると、本システムは次いで、1つ以上のモデルから1つのモデルを選択し得る。一例では、本システムは、性能制約を最も良く満足するモデルを選択し得る。例えば、性能制約は、本システムが費用に対してモデルを最適化すべきであることを示し得る。それに応じて、本システムは、推定費用が最も少ないモデルを選択し得る。いくつかの例では、本システムのユーザーは、最適化すべきデフォルトの性能制約を定義し得る。代替として、プロジェクトに関する性能制約がない場合、本システムは、制約を満足するいずれのモデルでも選択し得る。性能制約の例は、他の例の中でとりわけ、美的または機能的特性に対する最適化、時間に対する最適化、精度に対する最適化を含む。
[0091] 図7A〜図7Fは、製品のモデルを決定するプロセス402を実行するシステムの一例を示す。この例では、システムへの入力308は、製品がテーブルであることを示し得る。そして入力308は、テーブルに関する所望の制約も示し得る。一実施形態では、入力308の受信に応答して、本システムは、テーブルのモデルを決定するプロセス402を実行することによって、設計フェーズ302を開始し得る。具体的には、プロセス402の第1のステップは、テーブルの製品特性を決定することである(図5のステップ502)。例では、本システムは、テーブルのテンプレートを使用してテーブルの特性を決定し得る。
[0092] 図7Aは、例示的な実施形態に従った、テーブルのテンプレート例700を示す。テンプレートは、テーブルの特性、例えば、他の特性の中でとりわけ、テーブルの異なる構成要素、構成要素の可能な配置、テーブルの可能な寸法、テーブルが構築され得る材料など、を示し得る。図7Aに例示するように、テーブルのテンプレート700は、支持構造によって支持される表面702を含み得る。例えば、テーブルのテンプレート700は、テーブルの支持構造が1本以上の脚であることを示し得る。
[0093] さらに、図7Aは、テーブルに関する所望の制約も示す。例えば、制約は、図7において最大幅wおよび最大長lによって示される、テーブルの最大周長などの、テーブルの所望の寸法を示し得る。制約は、テーブルの所望の高さhも示し得る。前述のように、制約は、テーブルの寸法、テーブルを構築する材料、性能制約、負荷制約なども示し得る。
[0094] 一旦、本システムがテーブルの特性を決定すると、本システムは次いで、テーブルの構成要素の各々に対するモデルを生成し得る。具体的には、本システムは、前述のプロセスを使用して、テーブルの構成要素の1つ以上のモデルを生成し得る。この例では、テーブルの構成要素は、表面702および、テーブルが水平面上に置かれた場合に表面702が平らまたは水平になるよう表面702を支持する構造である。そして、一旦、本システムが構成要素の各々に対して1つ以上のモデルを決定すると、本システムは、前述のプロセスを使用して、テーブルに対する1つ以上のモデルを生成し得る。
[0095] 図7B〜図7Fは各々、例示的な実施形態に従い、本システムによって生成されたテーブルのモデルを例示する。具体的には、図7B、7C、7D、7E、および7Fはそれぞれ、テーブルモデル704、708、710、712、および714を例示する。これらの図に例示するように、各テーブルは表面および支持構造を含むので、各テーブルモデルはテーブルの特性を満足する。さらに、図7B〜図7Fに例示するように、各テーブルはテーブルに関する制約を満足する。例えば、各テーブルは、制約によって指定された最大寸法以内である。
[0096] 再度図4を参照すると、モデルを決定するステップ402の後、本システムは、構築可能性分析404を実行するように構成され得る。具体的には、構築可能性分析404は、そのモデルが製品制約を満足するかどうかを判断し得る。例えば、図7Aのテーブル700に関する製品制約は、テーブルの最大幅wおよび最大長lによって示されるように、テーブルの最大周長を示し得る。この例では、構築可能性分析404は、生成されたモデル(例えば、図7B〜図7Fで例示されるモデルの1つ)が、制約を満足するテーブルを記述するかどうかを判断し得る。分析によりモデルがその制約を満足しないと判断される場合、本システムは、そのモデルが構築可能ではないと判断し得る。他方、モデルが制約を満足する場合、分析によりそのモデルは構築可能であると判断され得る。
[0097] 構築可能性分析404は、モデルが、製品の他の機能的特徴を満足するかどうかも判断し得る。例えば、機能的特徴は、例えば、重量制限、重心、安定性、応力(例えば、曲げ応力)、強度(例えば、座屈強度)などの、製品の特性を定義し得る。構築可能性分析404は、制約によって定義された非機能的特徴をモデルが満足するかどうかも判断し得る。例えば、本システムは、制約によって定義される美的特徴(例えば、彫刻、造作など)をモデルが満足するかどうかを判断し得る。分析に基づき、本システムは、決定要素406において進むかどうかを判断し得る。モデルが構築可能ではない場合、本システムは、ステップ402に戻って新しいモデルを決定し得る。モデルが構築可能である場合、本システムは、ステップ408に進み得る。
[0098] ステップ408で、本システムは、モデルに従って製品を構築するためのタスクのシーケンスを生成し得る。タスクは、製品の構築に関連して実行され得る任意のタイプのタスクであり得る。タスクのタイプ例は、建設タスク、製造タスク、組立てタスク、処理タスクなどを含む。追加として、タスクは、部品、ツール、障害物などの、作業現場内に置かれた物体とやり取りすることを伴い得る。さらに、タスクは、作業現場内で利用可能な1つ以上のツールを使用して実行され得る。
[0099] 一実施形態では、本システムは、選択されたモデルに従って製品を構築するために実行できるタスクのシーケンスの順列を生成し得る。一例では、本システムは、ツリー構造を使用してタスクのシーケンスの順列を生成し得る。ツリー構造は、ルートノードと1つ以上の最終ノードとの間に複数のノードを含み得る。ノードは、ルートノードが1つ以上のノードに分岐するように配置され、その各々も1つ以上のノードに分岐する。ノードは、最終ノードに達するまで、継続的に1つ以上のノードに分岐する。さらに、ルートノードは製品の現在の状態を表し、各ノードはタスクを表し得る。そして、最終ノードは製品構築の完成または最終タスクを示し得る。
[0100] 図8Aは、例示的な実施形態に従った、ツリー構造820を例示する。図8Aに例示するように、ツリー構造822は、ルートノード822を含み、それは、構築および/または作業現場の現在の状態を示し得る。図8Aにさらに例示するように、1つ以上の第1のステップがルートノードから分岐し得る。この例では、2つの可能な第1のステップ824および826がルートノード822から分岐する。さらに例示するように、3つの第2のステップ828、830、および832が第1のステップ824から分岐し、3つの第2のステップ834、836、および838。各ノードは、最終ノードに達するまで、1つ以上のノードに分岐し、最終ノードは最終ステップを表す。図8Aに示すように、第2のノード(楕円によって表される)の各々と最終ノード840、842、844、846、848、および850との間に1つ以上のノードがある。
[0101] タスクのシーケンスの順列は、ルートノードから最終ノードへの連続したノードのシーケンスを選択することにより決定され得る。選択されたノードのシーケンスは、構築プロセスの順列のステップを表す。例えば、製品のどの部分もまだ構築されていない場合、ルートノードは、製品が構築される作業現場の現在の状態を示し得る。そしてルートノードから分岐するノードから選択される第1のノードは、作業現場内で製品を構築するためのタスクのシーケンスの第1のステップである。しかし、構築されている製品の部分がある場合、ルートノードは製品の構築された部分を示す。そしてルートノードから分岐するノードから選択される第1のノードは、製品の構築された部分を外して構築するタスクのシーケンスの第1のステップである。
[0102] 本システムは次いで、制約を満足するタスクのシーケンスの順列を選択し得る。一例では、本システムは、任意の指定された性能制約に基づいて順列を選択し得る。例えば、性能制約は、本システムが費用に対してモデルを最適化すべきであることを示し得る。それに応じて、本システムは、推定費用が最も少ないタスクのシーケンスの順列を選択し得る。いくつかの例では、本システムのユーザーは、最適化すべきデフォルトの性能制約を定義し得る。代替として、製品に関する性能制約がない場合、本システムは、制約を満足するタスクのシーケンスの順列のいずれでも選択し得る。
[0103] 一旦、本システムがタスクのシーケンスの順列を選択すると、本システムは、シミュレーションフェーズ304に進み得る。シミュレーションフェーズ304では、本システムは、ステップ410でシミュレーションを実行し得る。具体的には、シミュレーションを実行するために、本システムは、選択されたタスクのシーケンスを実行すべき作業順序を決定し得る。これは、各タスクに対して資源を判断すること、必要な資源をそのそれぞれのタスクに割り当てること、およびタスクが実行される順序を決定することを含み得る。いくつかの例では、本システムは、タスクのシーケンスに対して作業順序を決定できないことがあり得、従って、本システムは、選択されたタスクのシーケンスを実行することが可能でないと判断し得る。このシナリオでは、本システムは、タスクのシーケンスのその順列が実現可能ではないと判断し得、タスクのシーケンスの異なる順列を選択し得る。このプロセスは、本システムがモデルに関する制約を満足する順列を選択するまで、反復され得る。
[0104] 一旦、本システムが作業順序を決定すると、本システムは、タスクのシーケンスの性能をシミュレートし得る。シミュレーション中、本システムは構築可能性分析412を実行して、そのタスクのシーケンスが本システムの資源を使用して実行できるかどうかを判断し得る。一態様では、本システムは、選択されたタスクのシーケンスが、本システムが利用可能なロボット装置によって実行できるかどうかを判断し得る。一例では、本システムは、選択された順列の各タスクがロボット装置によって実行できるかどうかを判断し得る。構築可能性分析の別の態様では、本システムは、選択されたモデルおよび選択されたタスクのシーケンスに従って製品を構築するための材料および部品を本システムが有しているかどうかを判断し得る。構築可能性が何らかの理由で(例えば、資源不足など)不合格であり得ることを本システムが検出すると、本システムはタスクのシーケンスの異なる順列を選択するために、タスクのシーケンスを生成するステップ408に戻り得る。
[0105] さらに、シミュレーションステップ410中に、本システムは、選択されたタスクのシーケンスのタスクを作業現場で利用可能な一人以上のアクターに割り当て得る。一例では、本システムは、作業員のスケジュールを保持し得、それは、作業現場内に配置される作業員(ロボットおよび人間の両方)のスケジュールを示す。本システムは次いで、構築プロセスのタスクを作業現場内で利用可能なアクターに割り当て得る。一例では、製品がもっぱらロボット装置によって構築されるように、本システムは全てのタスクを利用可能なロボット装置に割り当て得る。ロボット装置に割り当てられるタスクはロボット装置の端部エフェクタのタイプによって決まり得る。本システムは、タスクを、その特定のタスクを実行するように構成される端部エフェクタを含むロボット装置に割り当て得る。例えば、物体の移動を伴うタスクは、グリッパ端部エフェクタを含むロボット装置に割り当てられ得る。
b.シミュレーションフェーズ
[0106] 一旦、タスクがアクターに割り当てられると、本システムは、タスクのシーケンスをシミュレートし得る。このステップでは、本システムは、作業現場内でタスクのシーケンスの1つ以上のタスクを実行するための資源を利用してアクターをシミュレートし得る。本シミュレーションは、作業現場内のロボット装置がタスクを作業順序によって指定された順序でどのように実行し得るかを示し得る。いくつかの例では、シミュレーションは、ロボット装置が作業現場内でタスクを実行し得るのと同じ速度で実行され得る。他の例では、シミュレーションは、もっと速い速度で実行され得る。さらに、いくつかの例では、シミュレーションの表現は、コンピューティング装置のディスプレイ上に表示され得る。追加および/または代替として、シミュレーションは将来の分析のために記録され得る。
[0107] その上、構築可能性分析412は、シミュレートされたロボット装置が指定された資源を利用し、作業順序によって指定された順序で、それらの割り当てられたタスクを実行できるかどうかを判断し得る。構築可能性分析412の一態様では、本システムは、各シミュレートされたロボット装置がその割り当てられたタスクを実行できるかどうかを判断し得る。一例では、本システムは、各シミュレートされた(タスクを割り当てられた)ロボット装置が、その割り当てられたタスクを実行する際に問題に遭遇するかどうかを判断し得る。例えば、構築可能性分析は、ロボット装置の運動学的制限(例えば、関節制限および/または到達可能性制限)に起因して、失敗または問題を検出し得る。別の例では、本システムは、我々の作業に関する速度または加速度制約を判断し得、ある種のタスク(例えば、膠蒸着工具経路(glue deposition toolpath))が利用可能なロボット装置の能力を超えているかどうかを識別し得る。
[0108] 追加として、別の態様では、構築可能性分析は、作業現場内に配置される物体のいずれかの間で生じ得る衝突、例えば、他の例の中でとりわけ、それらそれぞれのタスクを実行しているロボット装置間の潜在的な衝突、作業現場内でのロボット装置と物体との間の衝突など、を検出し得る。本システムは、各シミュレートされたロボット装置が、その割り当てられたタスクを実行するために配置される必要がある領域に到達し得るかどうかも判断し得る。
[0109] 構築可能性分析412のさらに別の態様では、本システムは、シミュレートされた構造が製品の組立てを通して安定しているかどうかを判断し得る。さらに別の態様では、本システムは、本システムで利用可能な資源がプロジェクトを完了するために十分であるかどうかも判断し得る。構築可能性分析412中、設計が、選択された構築プロセス(すなわち、選択されたモデルおよび/または選択されたタスクのシーケンス)を使用して構築可能ではないことを本システムが検出すると、本システムは、タスクのシーケンスの異なる順列を選択するためにタスクのシーケンスを生成するステップ408に戻ることを決定要素414で決定し得る。逆に、本システムがシミュレーションを完了して、タスクのシーケンスでいかなる問題も検出しない場合、本システムは構築フェーズ306に進むことを決定要素414で決定し得る。
C.構築フェーズ
[0110] 構築フェーズ416で、本システムは、作業現場内のアクターに選択されたタスクのシーケンスを実行させることにより、選択されたモデルを作業現場内で実装し得る。タスクのシーケンスのステップを実行するために、本システムは、割り当てられたタスクをアクターに実行させる命令をアクターに送信し得る。例えば、タスクに対する命令は、ロボット装置がそのタスクを実行するようにスケジュールされている場合、ロボット装置に送信され得る。別の例では、本システムは、命令を人間の作業員にコンピューティング装置を介して送信し得、作業員はそのコンピューティング装置を本システムとやり取りするために使用している。
[0111] 追加として、構築フェーズ306で、本システムは、作業現場を示すデータを含むワールドマップを生成して維持し得る。本システムは、作業現場内に配置された装置(例えば、図2のグローバルおよびローカルセンサー230および240)から受信したデータを使用して、ワールドマップを生成し得る。ワールドマップは、作業現場内の全てのアクターの概観、アクターによって実行されるタスク、および作業現場内での資源および物体の関連位置を含み得る。ワールドマップは、作業現場内の資源の各々の記述、位置、および量も含み得る。例えば、ワールドマップは、本システムが利用可能な各タイプの材料の在庫目録を含み得る。さらに、本システムは、作業現場内に配置された装置(例えば、ロボット装置、センサーなど)から受信したデータを少なくとも使用してワールドマップをリアルタイムで動的に更新し得る。そのため、ワールドマップは作業現場の空間的特徴を定義するだけでなく、作業現場にリアルタイムで生じている可能性のある変化などの、作業現場の物理的な詳細も含み得る。その結果、ワールドマップと物理的世界との間のライブリンクが確立され得る。
[0112] 図8Bは、橋804を建設しているロボット装置802のワールドマップ800を例示する。図8Bに示すように、ワールドマップ800は、橋804の「構築済み」部分808Aを示す。同様に図8Bに示すように、ワールドマップは構築すべき橋804の部分の設計808の概略も示す。この例では、ロボット装置は橋を建設する構築フェーズを開始している。従って、ロボット装置802は、資源806を使用して橋804を建設するためのタスクのシーケンスと関連付けられたタスクを実行している。
[0113] 一実施形態では、本システムは、構築フェーズ306中に、構築可能性分析418を定期的または連続的に実行し得る。構築可能性分析418は、タスクのシーケンスおよび/またはモデルに従って製品を構築する実現可能性を分析する。例では、構築可能性分析418は、製品を構築する前に実行され得る。追加および/または代替として、構築可能性分析418は、製品が構築されている間に実行され得る。プロセス416およびプロセス418は図4では2つの別々のプロセスとして示されているが、本システムは、そのプロセスを同時に実行し得ることに留意されたい。そのため、本システムは、作業員が構築416を実行しているときに、構築可能性分析418を実行し得る。
[0114] 一実施形態では、構築可能性分析418を実行するために、本システムは、ワールドマップからのデータを分析して、製品構築の実現可能性に影響を及ぼし得る問題を検出し得る。一態様では、本システムは、製品の構築済み部分を製品のモデルと比較し得る。構築済み部分がモデルから逸脱していることをシステムが検出すると、本システムは、製品が依然として制約を満足しているかどうかを判断し得る。追加および/または代替として、本システムは、実行されていないタスクのシーケンスのタスクが依然として実行できるかどうかを判断し得る。追加および/または代替として、本システムは、実行されていないタスクを実行すると逸脱の度合いがさらに増して、最終製品が制約を満足できなくなるかどうかを判断し得る。
[0115] 例えば、本システムは、橋プロジェクトのワールドマップ800を分析し得る。例えば、システムは、構築済み部分808Aがモデルに従って構築されているかどうかを、おそらくは構築済み部分808Aの寸法をモデルの対応する部分の寸法と比較することによって、判断し得る。本システムは、橋の重量支持力などの、構築済み部分808Aの特性も判断し得、判断された特性を所望の特性と比較し得る。本システムは、ロボット装置802が橋804の未構築部分を建設できるかどうかも、恐らくは、資源806が橋804を建設するために必要な資源を含むかどうかを判断することによって、判断し得る。本システムは、未構築部分808Bの建設と関連付けられたタスクが実行できるかどうも判断し得る。例えば、本システムは、橋804の建設において遅れがあったかどうか、遅れがあった場合、本システムは、制約によって設定される期限内に未実行のタスクを依然として完了できるかどうかを判断し得る。
[0116] 本システムは、プロジェクトの構築可能性に影響を及ぼし得るワールドマップからの他のデータを分析し得る。一例では、本システムは、作業現場内の資源が製品の建設を完了するために十分であるかどうかを判断し得る。別の例では、本システムは、タスクのシーケンスの性能を妨害し得る作業現場内の変化または事象を検出し得る。例えば、本システムは、作業現場内の条件が構築プロセスに影響を及ぼし得るような方法で変化している(例えば、著しい温度変化)かどうかを検出し得る。本システムは、作業現場に持ち込まれた新しい障害物も検出し得、それは、タスクのシーケンスの性能に影響を及ぼし得る。
[0117] 構築可能性分析418の別の態様では、本システムは、設計および/または制約に対する変更を示す入力を受信し得る。そしてそれに応答して、本システムは、設計および/または制約に対する変更を考慮して、製品が選択されたタスクのシーケンスを使用して依然として構築可能であるかどうかを判断し得る。例えば、本システムは、性能制約に対する変更を示す入力を受信し得る。それに応答して、本システムは、現在のタスクのシーケンスが新しい性能制約を満足できるかどうかを判断し得る。
[0118] 製品は現在のタスクのシーケンスを使用して構築可能ではないとシステムが判断すると、本システムは、新しいタスクのシーケンスを選択することを決定し得る。一実施形態では、製品は構築可能ではないという判断に応答して、本システムは、決定要素420でエラーを検出し得る。次いで、本システムは、タスクのシーケンスを生成するステップ408に戻り得る。タスクのシーケンスを生成するステップ408で、本システムは、新しいタスクのシーケンスを生成し得る。一例では、新しいタスクのシーケンスは、以前のタスクのシーケンスと同じ設計を達成し得るが、恐らくは異なるステップを使用する。
[0119] 一実施形態では、本システムはツリー構造を使用して新しいタスクのシーケンスを生成し得る。前述のように、ツリー構造のルートノードはプロジェクトの現在の状態を表す。この事例では、製品の構築済み部分は、プロジェクトの現在の状態であり、従って、ルートノードとして表される。そのため、ルートノードから分岐する第1のノードは、製品の構築された部分を外して構築する第1のステップを表す。次いで、本システムは、ルートノードから始まってツリー構造の最終ノードで終わるタスクのシーケンスを選択し得る。新しいタスクのシーケンスの最終ノードは、元のタスクのシーケンスと同じ最終ノードであり得るか、または異なる最終ノードであり得る。新しいタスクのシーケンスをこのような方法で生成することにより、本システムは、出力製品の構築済み部分上に構築し得、従って、本システムは、既に実行されている作業を保存し得る。
[0120] 新しいタスクのシーケンスの生成を容易にするために、本システムは、新しいタスクのシーケンスを生成することを決定する前に実行された最後のタスクを判断し得る。本システムは次いで、そのタスクが関連付けられている構築ツリー内のノードを判断し、そのノードをルートノードとして指定し得る。本システムは次いで、ルートノードと最終ノードとの間の連続したノードのシーケンスを選択し得る。新しいノードのシーケンスは、元々選択されたノードのシーケンスとは異なる。一旦、新しいシーケンスが生成されると、本システムは次いで、図4に示すようなプロセスを実行し得る。
[0121] いくつかの例では、本システムは、元の設計に対するタスクのシーケンスが達成可能ではないと判断し得る。本システムは次いで、製品に対するモデルを決定するステップ402に戻り得る。ステップ402で、本システムは、以前に生成されて、制約を満足するモデルの1つを選択し得る。代替として、本システムは、製品の構築済み部分を外して構築する新しいモデルを生成し得る。一旦、新しいモデルが生成されると、本システムは、各フェーズのプロセスを前述のように実行し得る。いくつかの例では、本システムは、設計フェーズ302のプロセスを完了した後、シミュレーションフェーズ304をスキップして、構築フェーズ306に直接移行し得る。
[0122] それにもかかわらず、一旦、新しいタスクのシーケンスおよび/またはモデルが生成されると、本システムは製品の構築を再開し得る。いくつかの例では、本システムが潜在的な問題を、その問題が実際に生じる前に検出すると、本システムは構築416を停止することなく、その問題に対応し得る。しかし、生じる問題が現在実行されているタスクに影響を及ぼす場合、本システムは、調整を決定するまで、構築416を一時停止し得る。一旦、調整が決定されると、本システムは構築416を再開し得る。
[0123] 前述したロボット制御システムに関連した操作は、1つ以上のプロセッサによる方法として実装され得る。前述のように、ロボット制御システムは、1つ以上のロボット装置を操作し得る。従って、ロボット装置とロボット制御システムとの間で信号の交換があり得る。ロボット制御システムの操作を記述する方法例900および1000は、それぞれ図9および図10に流れ図の形で例示される。
[0124] 図9は、実施形態例に従い、出力製品を構築する作業現場オートメーションシステムの方法例900を示す。ブロック902に例示するように、方法900は、製品構築の構築前フェーズ中に、製品のモデルに従って製品を構築するための第1のタスクのシーケンスを生成することを伴う。ブロック904によって例示するように、方法900は、構築フェーズ中に、1つ以上のロボット装置に、第1のタスクのシーケンスの実行を開始することによって製品を構築させることも伴う。ブロック906に示すように、方法900は、第1のタスクのシーケンスの実行中に、構築可能性分析を実行して、第1のタスクのシーケンスを実行することにより製品を仕上げる実現可能性を判断することをさらに伴う。
[0125] ブロック908によって例示するように、方法900は、分析に基づき、第1のタスクのシーケンスを実行することにより製品を仕上げることは実現可能ではないと判断することをさらに伴う。ブロック910によって示すように、方法900は追加として、第1のタスクのシーケンスを実行することにより製品を仕上げることは実現可能ではないと判断することに応答して、モデルに従って製品を仕上げるための第2のタスクのシーケンスを生成することを伴い、第2のタスクのシーケンスは第1のタスクのシーケンスとは異なる。ブロック912によって示すように、方法900は、1つ以上のロボット装置に、第2のタスクのシーケンスの実行を開始することによって製品の構築を継続させることをさらに伴う。具体的には、本システムは、第1のタスクのシーケンスを実行する代わりに、第2のタスクのシーケンスの実行を開始する。さらに、このプロセスは循環的であり得る。例えば、第2のタスクのシーケンスの実行中に、本システムは、構築可能性分析に基づき、第2のタスクのシーケンスを実行することにより製品を仕上げることは実現可能ではないと判断し得る。それに応じて、本システムは第3のタスクのシーケンスを生成し得る。その後、本システムは、第2のタスクのシーケンスを実行する代わりに、第3のタスクのシーケンスの実行を開始し得る、などと続く。
[0126] 図10は、実施形態例に従い、出力製品を構築する作業現場オートメーションシステムの別の方法例1000を示す。ブロック1002によって示すように、方法1000は、構築前フェーズ中に、製品の第1のモデルに対して第1のタスクのシーケンスを生成することを伴う。さらに、ブロック1004によって例示するように、方法1000は、構築フェーズ中に、1つ以上のロボット装置に、第1のタスクのシーケンスの実行を開始することによって製品を構築させることを伴う。ブロック1006によって示すように、方法1000は、第1のタスクのシーケンスの実行中に、第1のモデルの第1の構築可能性分析を実行して、第1のモデルに従った製品構築の実現可能性を判断することも伴う。さらに、ブロック1008によって示すように、方法1000は、分析に基づき、第2のモデルを決定することを伴う。追加として、ブロック1010によって示すように、方法1000は、1つ以上のロボット装置に、第2のモデルに従って製品の構築を継続させることを伴う。
D.ロボット装置例
[0127] 図11は、実施形態例に従った、ロボット装置を例示する。具体的には、ロボット装置1100は、1つ以上の異なるツール、グリッパ、またはガイドを装備可能な端部エフェクタ1104をもつロボットアーム1102を含み得る。ロボットアーム1102は、図11にA1〜A6として示されている、6つの自由度に沿った動きが可能であり得る。ある例では、ロボット装置1100は、左右の動きを可能にする図示されていないレールに沿ってなど、1つ以上の軸A0に沿った動きがさらに可能であり得る。ある実施形態では、端部エフェクタ1104を特定の位置に位置付けるために命令が与えられ得、A1〜A6に沿ったロボットアーム1104および/または1つ以上の軸A0に沿ったロボット装置アクター1100の位置が、関連コントローラのプロセスによって計算され得る。代替実施形態では、ロボット装置1100および/またはロボットアーム1102の位置制御は、別々の、個々の設定および制御コマンドを必要とし得る。もっと少ない自由度で動作するロボット装置がいくつかの例では、同様に、または代わりに使用され得る。
[0128] ロボット装置1100は、固定の端部エフェクタを有し得るか、または端部エフェクタを交換することが可能であり得る。端部エフェクタを交換するために、ロボット装置1100は、ロボット装置1100上または近くに保管され得る複数の端部エフェクタにアクセスし得る。複数の端部エフェクタは、ツール端部エフェクタ、グリッパ端部エフェクタ、およびガイド端部エフェクタなどの、異なるタイプの端部エフェクタを含み得る。そのため、端部エフェクタを交換する機能を有する、ロボット装置1100は、異なるタイプの端部エフェクタを必要とする異なるタスクに割り当てられ得る。本明細書で説明するように、ロボット装置1100は、ロボット装置1100に割り当てられるタスクに基づき端部エフェクタを選択し得る。
[0129] 図12は、ロボット装置1200の構成例を示す。一般に、ロボット装置1200は、コンピューティング能力を有していて、作動機能ならびに/または、とりわけ、光および/もしくは音などの物理現象を放出/生成する機能を用いて、その周囲とやり取りする任意の装置であり得る。例えば、ロボット装置1200は、とりわけ、ヒューマノイドロボット、ロボットアーム、四足ロボットであり得る。ロボット装置は、「ロボットの」ようであるとして当業者に一般に理解される任意の装置でもあり得る。ロボット装置1200は、とりわけ、ロボット装置、ロボットマニピュレータ、ロボットクライアント、またはロボットとも呼ばれ得る。
[0130] ロボット装置1200は、プロセッサ(複数可)1202、データ記憶1204、プログラム命令1206、コントローラ1208、センサー(複数可)1210、電源(複数可)1212、アクチュエータ(複数可)1214、および可動構成要素(複数可)1216を含むと示されている。ロボット装置1200は例示目的のみで示されており、ロボット装置1200は、本開示の範囲から逸脱することなく、追加の構成要素を含み得、かつ/または1つ以上の構成要素が除去され得ることに留意されたい。さらに、ロボット装置1200の様々な構成要素は任意の方法で配置されて連結され得ることに留意されたい。
[0131] その上、プロセッサ(複数可)252、データ記憶254、プログラム命令256、センサー(例えば、ローカルセンサー(複数可)230およびグローバルセンサー(複数可)240)、および/または電源(複数可)262の前述の説明は、別のシステムまたは配置で使用されているそれぞれの構成要素に関連した以下の任意の説明に適用され得る。例えば、記述のとおり、図12(他の考えられる図の中でとりわけ)は、別の配置で組み込まれているプロセッサ、データ記憶、プログラム命令、センサー、および/または電源を例示している。問題になっているこれらの構成要素は従って、図2に関連して前述したそれぞれの構成要素と同じか類似の特性(および/または形式)を取り得る。しかし、問題の構成要素は、本開示の範囲から逸脱することなく、他の特性(および/または形式)も取り得る。
[0132] 記述のとおり、ロボット装置1200は、コントローラ1208(例えば、マイクロコントローラの形を取る)を含み得る。コントローラ1208は、処理装置およびデータ記憶を含み得、様々な操作を(例えば、単独で、またはプロセッサ(複数可)1202と連携して)管理または実行するように配置され得る。従って、このコントローラ1208は前述したコントローラ250と同じか類似の特性(および/または形式)を取り得るが、他の特性(および/または形式)も取り得る。そこでいくつかの実施態様では、コントローラ250はロボット装置1200の一部として組み込まれ得、従って、コントローラ250はそれ自身、コントローラ1208であり得る。他の態様では、コントローラ1208は、ロボット装置1200の一部として含まれ得、コントローラ250はロボット装置1200から分離され得る。実施態様にかかわらず、これらのコントローラは、様々な形を取り得る。例えば、コントローラは、他の可能性の中でとりわけ、チップセット、サーバーシステム、デジタル信号プロセッサ、プログラマブル論理制御装置、および/またはサンプル値データシステムの形を取り得る。その上、コントローラは、本明細書では、とりわけ、制御システムとも呼ばれ得る。
[0133] 追加として、ロボット装置1200は、1つ以上のアクチュエータ(複数可)1214も含み得る。アクチュエータは、機械的な動きを導入するために使用され得る機構である。具体的には、アクチュエータは、保存されたエネルギーを1つ以上の構成要素の動きに変換するように構成され得る。アクチュエータに動力を供給するために様々な機構が使用され得る。例えば、アクチュエータは、他の可能性の中でとりわけ、化学物質、圧縮空気、水力学、または電力によって動力供給され得る。この配置で、アクチュエータ(複数可)1214は、ロボット装置1200の様々な可動構成要素(複数可)1216の動きを引き起こし得る。可動構成要素(複数可)1216は、とりわけ、ロボットアーム、脚、および/またはハンドなどの、付属物/部材を含み得る。可動構成要素(複数可)1216は、とりわけ、可動基部、車輪、および/または端部エフェクタも含み得る。さらに、ロボット装置1200が少なくとも1つの端部エフェクタを含む場合、かかる端部エフェクタは、前述したようにとりわけ、ツール(例えば、ねじ回し、ドリル、溶接ごて、またはそれらの何らかの組合せ)および/またはグリッパであり得る。
E.コンピューティング装置例
[0134] 図13は、1つ以上のプロセッサ1302、データ記憶1304、プログラム命令1306、電源(複数可)1308、センサー1310、ディスプレイ1312、およびインプットメソッドエディタ(IME)1314を含むコンピューティング装置例1300の構成要素を示すブロック図である。コンピューティング装置1300は例示目的のみで示されており、コンピューティング装置1300は、本開示の範囲から逸脱することなく、追加の構成要素を含み得、かつ/または1つ以上の構成要素が除去され得ることに留意されたい。さらに、コンピューティング装置1300の様々な構成要素は任意の方法で配置されて接続され得ることに留意されたい。
[0135] ディスプレイ1312は任意の形(例えば、LED、LCD、OLEDなど)を取り得る。さらに、ディスプレイ1312は、タッチスクリーンディスプレイ(例えば、タブレット上のタッチスクリーンディスプレイ)であり得る。ディスプレイ1312は、本明細書で開示するシステムとユーザーがそれを通してやり取りし得るアプリケーションを提供し得るグラフィカルユーザーインタフェース(GUI)を示し得る。
[0136] さらに、コンピューティング装置1300は、IME1314を介してユーザー入力を(例えば、コンピューティング装置1300のユーザーから)受信し得る。具体的には、IME1314は、他の可能なやり取りの中でとりわけ、スクロール、テキストの提供、および/またはアプリケーションの様々な特徴の選択などの、GUIとのやり取りを可能にし得る。IME1314は、様々な形を取り得る。一例では、IME1314は、GUIの制御のために使用されるコンピューティングマウスなどの、ポインティングディバイスであり得る。しかし、ディスプレイ1312がタッチスクリーンディスプレイである場合、GUIの制御を可能にするユーザータッチ入力(例えば、指またはスタイラスの使用など)が受信され得る。別の例では、IME1314は、GUIを通して表示される数、文字および/または記号の選択を提供するキーボードなどのテキストIMEであり得る。
[0137] 例えば、ディスプレイ1312がタッチスクリーンディスプレイである配置では、ディスプレイ1312の部分はIME1312を表示し得る。従って、IME1314を含むディスプレイ1312の部分上でのタッチ入力は、ディスプレイ1312を介してGUI上に表示される特定の数、文字および/または記号の選択などのユーザー入力となり得る。さらに別の例では、IME1314は、音声入力を、コンピューティング装置1300のマイクロホンを通してユーザーからなど、受信するために使用され得、次いで、様々な音声認識技術の1つを使用して、ディスプレイ1312を介して表示され得る1つ以上の文字に解釈可能である、音声IMEであり得る。他の例も可能であり得る。
[0138] コンピューティング装置1300は、通信ユニット1316も含み得る。通信ユニット1316は、有線リンクおよび/または無線リンク(例えば、様々な無線送信機および受信機を使用)を含み得る。有線リンクは、例えば、パラレルバスまたは、ユニバーサルシリアルバス(USB)などのシリアルバスを含み得る。無線リンクは、例えば、他の可能性の中でとりわけ、Bluetooth、IEEE802.11(IEEE802.11はIEEE802.11−2007、IEEE802.11n−2009、または任意の他のIEEE802.11版を指し得る)、セルラー方式(GSM、GPRS、CDMA、UMTS、EV−DO、WiMAX、HSPDA、またはLTEなど)、またはZigbeeを含み得る。さらに、セルラー通信プロトコルを使用する「3G」または「4G」データ接続(例えば、CDMA、GSM、またはWiMAX、および「WiFi」接続に対する802.11の使用)など、複数の有線および/または無線プロトコルが使用され得る。
[0139] コンピューティング装置1300は、1つ以上のセンサー、例えば、とりわけ、オプティカルフローセンサー、力センサー、近接センサー、運動センサー(例えば、ジャイロスコープ、および/または加速度計)、負荷センサー、位置センサー、熱画像センサー、深度センサー(例えば、RGB−D、レーザー、立体照明、および/または飛行時間カメラ)、超音波距離センサー、赤外線センサー、光学センサー、無線自動識別(RFID)システム、近距離無線通信(NFC)チップ、無線センサー、光センサー、タッチセンサー(例えば、容量センサー)、カメラ(例えば、カラーカメラ、グレースケールカメラ、および/または赤外線カメラ)、および/または距離センサー(例えば、超音波および/または赤外線)などと接続され得る。
III.追加の特徴
A.直列化
[0140] 例では、システムによって生成される様々なデータが直列化されてシステムのデータ記憶(例えば、図13のデータ記憶1304)内に格納され得る。例えば、本システムは、本システムによって生成される他のデータの中でとりわけ、製品モデル、可能なタスクシーケンスを生成するために使用されるツリー、作業現場のワールドマップを直列化できる。具体的には、データを直列化すると、本システムが製品の構築を一時中断し、その後再開するのを可能にし得る。例えば、構築プロセスは、一旦作業時間が終わると一時中断され得、作業時間の開始時に再開され得る。一旦、構築プロセスが再開されると、本システムはデータの最後のインスタンス(例えば、最後のモデル、ツリー構造、ワールドマップなど)を取得し得る。次いで、本システムは、システムが一時中断されていた間に生じた可能性がある変更を吸収するためにデータを更新し得る。一旦、データが更新されると、本システムは、構築可能性分析を実行して、モデルおよび/またはタスクのシーケンスの最後のインスタンスが依然として使用できるかどうかを判断し得る。
B.機械学習
[0141] 前述した例に加えて、本システムは、特定の製品がどのように定義されるかを学習するために、機械学習、統計的分析、および/または他の分析技術を使用し得る。具体的には、本システムは、椅子の3Dモデルを、例えば、オンラインカタログまたは他のソースから取り込むことにより、特定の製品が何であるかを学習し得る。次いで、本システムは、椅子および/またはその構成要素の機能的特性を学習し得る。例えば、本システムは、製品の特性のセットなどの、データを分析し得る。例えば、特性のセットは、他の特性の中でとりわけ、色、マーク、視覚的パターン、および表面仕上げ/テクスチャなどの、美的特性を示し得る。追加または代替として、特性のセットは、他の特性の中でとりわけ、曲げ強度、脆性、体積弾性率、摩擦係数、圧縮強度、クリープ、弾性、疲労強度、可撓性、破壊靱性、硬度、可塑性、弾力性、せん断強度、剛性、応力/歪特性、表面粗さ、引張強度、靱性、粘性、降伏強度、および重量などの、機械的特性を示し得る。追加および/または代替として、特性のセットは、例えば、形状、サイズ、配向、角度などの、幾何形状特性を示し得る。
[0142] 追加または代替として、特性のセットは、他の特性の中でとりわけ、キャパシタンス、伝導性、密度、絶縁耐力、場特性、インダクタンス、誘電率、および抵抗などの、電気および/または磁気特性を示し得る。追加または代替として、特性のセットは、他の特性の中でとりわけ、耐食性、引火性、pH、反応性、安定性、表面エネルギー/張力、および毒性などの化学特性を示し得る。追加または代替として、特性のセットは、他の技術の中でとりわけ、コーティング、切断、穿孔、形成および成形加工、熱処理、接合、機械加工、圧延、研磨、および溶接に対する製造特性を示し得る。追加または代替として、特性のセットは、他の特性の中でとりわけ、吸光度、蛍光、感光性、反射性、屈折率、散乱、および透過率などの、光学特性を示し得る。追加または代替として、特性のセットは、他の特性の中でとりわけ、沸点、臨界点、放射率、融点、比熱、熱伝導度、熱拡散率、および熱膨張などの、熱的特性を示し得る。
[0143] 例えば、本システムは、椅子を定義する、他の特徴の中でとりわけ、考えられる荷重支持制約(例えば、人の体重、耐荷重面位置など)を学習することにより、椅子とは何かを学習し得る。かかるシステムは次いで、椅子のその定義で椅子のモデルを生成し得る。さらに、本システムは、特定の製品のその定義または理解を精緻化するために使用できるフィードバックを受信し得る。かかるフィードバックは、製品のユーザーからのフィードバックを含み得る。追加として、フィードバックは機械学習モデルに入力され、その結果、本システムは、製品のその定義を連続して精緻化し得る。
IV.結論
[0144] 本開示は、本出願で説明する特定の実施形態に関して制限されるものではなく、様々な態様の例示を意図する。当業者には明らかであるように、多くの修正および変形が、その精神および範囲から逸脱することなく行われ得る。本開示の範囲内の機能的に同等な方法および装置が、本明細書で列挙するものに加えて、前述から当業者には明らかであろう。かかる修正および変形は、添付のクレームの範囲に含まれることを意図する。
[0145] 前述の詳細な記述は、開示するシステム、装置、および方法の様々な特徴および機能を、付随する図面を参照して説明する。図中、文脈で別段の指示がない限り、類似の記号は典型的には、類似の構成要素を識別する。本明細書および図面で説明する実施形態例は、制限することを意図するものではない。本明細書で提示する主題の精神および範囲から逸脱することなく、他の実施形態が利用でき、他の変更を行うことができる。本開示の態様は、本明細書で大まかに説明して、図面で例示するように、多種多様に異なる構成で配置、置換、結合、分離、および設計でき、その全てが本明細書で明示的に企図されることが容易に理解されるであろう。
[0146] 前述の方法のブロックなどの、情報の処理を表すブロックは、本明細書で説明する方法または技術の特定の論理機能を実行するように構成できる回路に対応し得る。代替または追加として、情報の処理を表すブロックは、プログラムコード(関連データを含む)のモジュール、セグメント、または一部に対応し得る。プログラムコードは、方法または技術内の特定の論理機能または動作を実装するためにプロセッサによって実行可能な1つ以上の命令を含み得る。プログラムコードおよび/または関連データは、ディスクもしくはハードドライブまたは他の記憶媒体を含む記憶装置などの、任意のタイプのコンピュータ可読媒体上に格納され得る。
[0147] コンピュータ可読媒体は、レジスタメモリ、プロセッサキャッシュ、およびランダムアクセスメモリ(RAM)のような、データを短期間、格納するコンピュータ可読媒体などの、持続性コンピュータ可読記憶媒体も含み得る。コンピュータ可読媒体は、例えば、読み取り専用メモリ(ROM)、光もしくは磁気ディスク、読み取り専用コンパクトディスク(CD−ROM)のような、二次もしくは永続的長期記憶などの、プログラムコードおよび/またはデータをより長期間、格納する持続性コンピュータ可読記憶媒体も含み得る。コンピュータ可読媒体は、任意の他の揮発性または不揮発性記憶システムでもあり得る。コンピュータ可読媒体は、例えば、コンピュータ可読記憶媒体、または有形的記憶装置と考えられ得る。
[0148] その上、1つ以上の情報伝送を表すブロックは、同じ物理装置内のソフトウェアおよび/またはハードウェアモジュール間の情報伝送に対応し得る。しかし、他の情報伝送は、異なる物理装置内のソフトウェアモジュールおよび/またはハードウェアモジュール間であり得る。
[0149] 図に示される特定の配置は制限と見なされるべきではない。他の実施形態は所与の図に示されるよりも多いか、または少ない各要素を含み得ることが理解されるべきである。さらに、例示する要素のいくつかは、組み合わせるか、または省略できる。なおさらに、実施形態例は、図に例示されていない要素を含むことができる。
[0150] 様々な態様および実施形態が本明細書で開示されているが、他の態様および実施形態が当業者には明らかであろう。本明細書で開示する様々な態様および実施形態は例示目的であり、制限することを意図しておらず、真の範囲は以下のクレームによって示されている。

Claims (19)

  1. 製品を前記製品に対するモデルに従って構築するために使用される、構築プロセスの性能に関する制約である性能制約を指定するデータを受信するステップと
    前記製品を構築するための前記構築プロセスの構築前フェーズ中に、前記モデルに従って前記製品を構築するための第1のタスクのシーケンスであって、前記性能制約を満足し得る第1のタスクのシーケンスを生成するステップと、
    構築フェーズ中に、1つ以上のロボット装置に、前記第1のタスクのシーケンスの実行を開始することによって前記製品を構築させるステップと、
    前記第1のタスクのシーケンスの前記実行中に、構築可能性分析を実行し、前記性能制約を考慮すると、前製品の構築済み部分に対して前記第1のタスクのシーケンスの残りのタスクを実行することによる前記モデルに従った前記製品の構築がもはや可能ではない程度まで、前記1つ以上の逸脱が生じていると判断するステップと、
    記性能制約を考慮すると、前記構築済み部分に対して前記第1のタスクのシーケンスの前記残りのタスクを実行することによる前記モデルに従った前記製品の構築がもはや可能ではない程度まで、前記1つ以上の逸脱が生じていると判断するステップに応答して、前記構築済み部分に基づいた前記製品の新しいモデル、および異なる第2のタスクのシーケンスを生成するステップであって、前記第2のタスクのシーケンスは、前記第1のタスクのシーケンスに含まれていない1つ以上のタスクを含み、前記構築済み部分からの前記モデルに従った前記製品の構築がもはや可能ではないと判断される程度まで蓄積した前記1つ以上の逸脱の存在にもかかわらず、前記新しいモデルに従って前記構築済み部分から前記製品を構築可能にするようシミュレーションされる、ステップと、
    前記1つ以上のロボット装置に、前記第2のタスクのシーケンスを実行することにより前記新しいモデルに従って前記構築済み部分から前記製品を構築させるステップであって、前記第2のタスクのシーケンスが、前記第1のタスクのシーケンスに含まれていない前記1つ以上のタスクを含む、ステップとを含む、コンピュータ実装方法。
  2. 前記第1のタスクのシーケンスを生成するステップは、
    ツリー構造のルートノードと最終ノードとの間のノードのシーケンスを選択するステップを含み、前記ルートノードと前記最終ノードとの間の各前記ノードは前記第1のタスクのそれぞれ1つと関連付けられる、請求項1に記載のコンピュータ実装方法。
  3. 前記第2のタスクのシーケンスを生成するステップは、
    (i)前記第1のタスクのシーケンスの最後に実行されたタスク、および(ii)前記最後に実行されたタスクと関連付けられた最後に実行されたノードを判断するステップと、
    前記最後に実行されたノードを、前記第2のタスクのシーケンスのルートノードである第2のルートノードとして指定するステップと、
    前記第2のタスクのシーケンスに対応する第2のノードのシーケンスとして、前記第2のルートノードと第2の最終ノードとの間のノードのシーケンスに対応するタスクのシーケンスを、前記第2のタスクのシーケンスが前記性能制約を満足するように選択するステップとを含む、請求項2に記載のコンピュータ実装方法。
  4. 前記指定された性能制約は、前記構築プロセスを使用して前記製品が構築されるべき最大時間を含み、
    前記製品がもはや構築可能ではないと判断するステップは、前記第1のタスクのシーケンスの前記残りのタスクの実行によって、前記構築プロセスを使用した前記製品の構築のための時間が前記最大時間を超えると判断するステップを含む、請求項1に記載のコンピュータ実装方法。
  5. 前記製品は作業現場で構築され、かつ、
    前記方法は、
    前記作業現場のマップを生成するステップをさらに含み、前記作業現場の前記マップは、前記作業現場内で前記製品を構築するために利用可能な1つ以上の資源の記述および前記製品の構築された部分の記述を含む、請求項1に記載のコンピュータ実装方法。
  6. 前記第1のタスクのシーケンスの構築可能性分析を実行するステップは、
    前記作業現場の前記マップを分析するステップと、
    前記分析に基づいて、まだ実行されていない前記第1のタスクのシーケンスのタスクを実行することは実現可能ではないと判断するステップとを含む、請求項5に記載のコンピュータ実装方法。
  7. 前記作業現場の前記マップを分析するステップは、
    前記ロボット装置が前記第1のタスクのシーケンスのタスクを実行するのを妨げる前記作業現場内の障害物を検出するステップ、および、前記ロボット装置が前記第1のタスクのシーケンスのタスクを実行するのを妨げる前記ロボット装置の幾何形状を検出するステップのうちの少なくとも1つを含む、請求項6に記載のコンピュータ実装方法。
  8. 前記方法は、
    前記構築前フェーズ中に、前記第1のタスクのシーケンスを実行る前記1つ以上のロボット装置シミュレーションを実行するステップと、
    前記シミュレーション中に、前記第1のタスクのシーケンスのシミュレーション構築可能性分析を実行して、前記作業現場内で前記製品を構築するために利用可能な資源を使用した前記第1のタスクのシーケンスの実行の実現可能性を判断するステップと、
    前記分析に基づいて、新しいタスクのシーケンスを生成することを決定するステップとをさらに含む、請求項1に記載のコンピュータ実装方法。
  9. 前記第2のタスクのシーケンスの前記実行中に、構築可能性分析を実行して、前記第2のタスクのシーケンスを実行することによって前記新しいモデルに従って前記製品を仕上げる実現可能性を判断するステップと、
    前記分析に基づいて、前記第2のタスクのシーケンスを実行することによって前記新しいモデルに従って前記製品を仕上げることは実現可能ではないと判断するステップと、
    それに応答して、前記新しいモデルに従って前記製品を仕上げるための第3のタスクのシーケンスを生成するステップであって、前記第3のタスクのシーケンスは、前記第2のタスクのシーケンスとは異なる、ステップと、
    前記1つ以上のロボット装置に、前記第3のタスクのシーケンスの実行を開始することにより前記製品の構築を継続させるステップとをさらに含む、請求項1に記載のコンピュータ実装方法。
  10. 命令を格納する1つ以上の持続性コンピュータ可読記憶媒体であって、前記命令は、1つ以上のプロセッサによって実行されると、動作の実行を生じさせ、前記動作は、
    製品を前記製品に対するモデルに従って構築するために使用される、構築プロセスの性能に関する制約である性能制約を指定するデータを受信するステップと、
    前記製品を構築するための前記構築プロセスの構築前フェーズ中に、前記モデルに従って前記製品を構築するための第1のタスクのシーケンスであって、前記性能制約を満足し得る第1のタスクのシーケンスを生成するステップと、
    構築フェーズ中に、1つ以上のロボット装置に、前記第1のタスクのシーケンスの実行を開始することによって前記製品を構築させるステップと、
    前記第1のタスクのシーケンスの前記実行中に、構築可能性分析を実行し、前記性能制約を考慮すると、前製品の構築済み部分に対して前記第1のタスクのシーケンスの前記残りのタスクを実行することによる前記モデルに従った前記製品の構築がもはや可能ではない程度まで、前記1つ以上の逸脱が生じていると判断するステップと、
    記性能制約を考慮すると、前記構築済み部分に対して前記第1のタスクのシーケンスの前記残りのタスクを実行することによる前記モデルに従った前記製品の構築がもはや可能ではない程度まで、前記1つ以上の逸脱が生じていると判断するステップに応答して、前記構築済み部分に基づいた前記製品の新しいモデル、および異なる第2のタスクのシーケンスを生成するステップであって、前記第2のタスクのシーケンスは、前記第1のタスクのシーケンスに含まれていない1つ以上のタスクを含み、前記構築済み部分からの前記モデルに従った前記製品の構築がもはや可能ではないと判断される程度まで蓄積した前記1つ以上の逸脱の存在にもかかわらず、前記新しいモデルに従って前記構築済み部分から前記製品を構築可能にするようシミュレーションされる、ステップと、
    前記1つ以上のロボット装置に、前記第2のタスクのシーケンスを実行することにより前記新しいモデルに従って前記構築済み部分から前記製品を構築させるステップであって、前記第2のタスクのシーケンスが、前記第1のタスクのシーケンスに含まれていない前記1つ以上のタスクを含む、ステップとを含む、媒体。
  11. 前記第1のタスクのシーケンスを生成するステップは、
    ツリー構造のルートノードと最終ノードとの間のノードのシーケンスを選択するステップを含み、前記ルートノードと前記最終ノードとの間の各前記ノードは前記第1のタスクのそれぞれ1つと関連付けられる、請求項10に記載の媒体。
  12. 前記第2のタスクのシーケンスを生成するステップは、
    (i)前記第1のタスクのシーケンスの最後に実行されたタスク、および(ii)前記最後に実行されたタスクと関連付けられた最後に実行されたノードを判断するステップと、
    前記最後に実行されたノードを、前記第2のタスクのシーケンスのルートノードである第2のルートノードとして指定するステップと、
    前記第2のタスクのシーケンスに対応する第2のノードのシーケンスとして、前記第2のルートノードと第2の最終ノードとの間のノードのシーケンスに対応するタスクのシーケンスを、前記第2のタスクのシーケンスが前記性能制約を満足するように選択するステップとを含む、請求項11に記載の媒体。
  13. 前記指定された性能制約は、前記構築プロセスを使用して前記製品が構築されるべき最大時間を含み、
    前記製品がもはや構築可能ではないと判断するステップは、前記第1のタスクのシーケンスの前記残りのタスクの実行によって、前記構築プロセスを使用した前記製品の構築のための時間が前記最大時間を超えると判断するステップを含む、請求項10に記載の媒体。
  14. 前記製品は作業現場で構築され、かつ、
    前記方法は、
    前記作業現場のマップを生成するステップをさらに含み、前記作業現場の前記マップは、前記作業現場内で前記製品を構築するために利用可能な1つ以上の資源の記述および前記製品の構築された部分の記述を含む、請求項10に記載の媒体。
  15. 前記第1のタスクのシーケンスの構築可能性分析を実行するステップは、
    前記作業現場の前記マップを分析するステップと、
    前記分析に基づいて、まだ実行されていない前記第1のタスクのシーケンスのタスクを実行することは実現可能ではないと判断するステップとを含む、請求項14に記載の媒体。
  16. 前記作業現場の前記マップを分析するステップは、
    ロボット装置が前記第1のタスクのシーケンスのタスクを実行するのを妨げる前記作業現場内の障害物を検出するステップ、および、前記ロボット装置が前記第1のタスクのシーケンスのタスクを実行するのを妨げる前記ロボット装置の幾何形状を検出するステップのうちの少なくとも1つを含む、請求項15に記載の媒体。
  17. 前記動作は、
    前記構築前フェーズ中に、前記第1のタスクのシーケンスを実行している前記1つ以上のロボット装置をシミュレーションするステップと、
    前記シミュレーション中に、前記第1のタスクのシーケンスのシミュレーション構築可能性分析を実行して、前記作業現場内で前記製品を構築するために利用可能な資源を使用した前記第1のタスクのシーケンスの実行の実現可能性を判断するステップと、
    前記分析に基づいて、新しいタスクのシーケンスを生成することを決定するステップとをさらに含む、請求項10に記載の媒体。
  18. 前記動作は、
    前記第2のタスクのシーケンスの前記実行中に、構築可能性分析を実行して、前記第2のタスクのシーケンスを実行することによって前記新しいモデルに従って前記製品を仕上げる実現可能性を判断するステップと、
    前記分析に基づいて、前記第2のタスクのシーケンスを実行することによって前記新しいモデルに従って前記製品を仕上げることは実現可能ではないと判断するステップと、
    それに応答して、前記新しいモデルに従って前記製品を仕上げるための第3のタスクのシーケンスを生成するステップであって、前記第3のタスクのシーケンスは、前記第2のタスクのシーケンスとは異なる、ステップと、
    前記1つ以上のロボット装置に、前記第3のタスクのシーケンスの実行を開始することにより前記製品の構築を継続させるステップとをさらに含む、請求項10に記載の媒体。
  19. 1つ以上の処理デバイスと、
    命令を格納する1つ以上のコンピュータ可読記憶媒体とを備えたシステムであって、前記命令は、前記1つ以上の処理デバイスによって実行されると、動作の実行を生じさせ、前記動作は、
    製品を前記製品に対するモデルに従って構築するために使用される、構築プロセスの性能に関する制約である性能制約を指定するデータを受信するステップと、
    前記製品を構築するための前記構築プロセスの構築前フェーズ中に、前記モデルに従って前記製品を構築するための第1のタスクのシーケンスであって、前記性能制約を満足し得る第1のタスクのシーケンスを生成するステップと、
    構築フェーズ中に、1つ以上のロボット装置に、前記第1のタスクのシーケンスの実行を開始することによって前記製品を構築させるステップと、
    前記第1のタスクのシーケンスの前記実行中に、構築可能性分析を実行し、前記性能制約を考慮すると、前製品の構築済み部分に対して前記第1のタスクのシーケンスの前記残りのタスクを実行することによる前記モデルに従った前記製品の構築がもはや可能ではない程度まで、前記1つ以上の逸脱が生じていると判断するステップと、
    記性能制約を考慮すると、前記構築済み部分に対して前記第1のタスクのシーケンスの前記残りのタスクを実行することによる前記モデルに従った前記製品の構築がもはや可能ではない程度まで、前記1つ以上の逸脱が生じていると判断するステップに応答して、前記構築済み部分に基づいた前記製品の新しいモデル、および異なる第2のタスクのシーケンスを生成するステップであって、前記第2のタスクのシーケンスは、前記第1のタスクのシーケンスに含まれていない1つ以上のタスクを含み、前記構築済み部分からの前記モデルに従った前記製品の構築がもはや可能ではないと判断される程度まで蓄積した前記1つ以上の逸脱の存在にもかかわらず、前記新しいモデルに従って前記構築済み部分から前記製品を構築可能にするようシミュレーションされる、ステップと、
    前記1つ以上のロボット装置に、前記第2のタスクのシーケンスを実行することにより前記新しいモデルに従って前記構築済み製品から前記製品を構築させるステップであって、前記第2のタスクのシーケンスが、前記第1のタスクのシーケンスに含まれていない前記1つ以上のタスクを含む、構築させるステップとを含む、システム。
JP2019554555A 2017-06-01 2018-03-22 構築可能性分析に基づくプロジェクトの計画および適応 Active JP6895539B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/611,777 2017-06-01
US15/611,777 US20180348742A1 (en) 2017-06-01 2017-06-01 Planning and Adapting Projects Based on a Buildability Analysis
PCT/US2018/023775 WO2018222252A1 (en) 2017-06-01 2018-03-22 Planning and adapting projects based on a buildability analysis

Publications (2)

Publication Number Publication Date
JP2020522037A JP2020522037A (ja) 2020-07-27
JP6895539B2 true JP6895539B2 (ja) 2021-06-30

Family

ID=64455475

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019554555A Active JP6895539B2 (ja) 2017-06-01 2018-03-22 構築可能性分析に基づくプロジェクトの計画および適応

Country Status (7)

Country Link
US (2) US20180348742A1 (ja)
EP (1) EP3586207B1 (ja)
JP (1) JP6895539B2 (ja)
KR (1) KR102334995B1 (ja)
CN (1) CN110494813B (ja)
CA (1) CA3059412C (ja)
WO (1) WO2018222252A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014017443A1 (ja) * 2012-07-24 2014-01-30 Dic株式会社 金属ナノ粒子複合体、金属コロイド溶液及びそれらの製造方法
EP3299922B1 (en) * 2015-05-22 2022-09-07 FUJIFILM Corporation Robot device and movement control method for robot device
US11162241B2 (en) * 2018-03-27 2021-11-02 Deere & Company Controlling mobile machines with a robotic attachment
US10810524B1 (en) * 2018-05-21 2020-10-20 Amazon Technologies, Inc. Dynamic resource prediction simulation
US11745345B2 (en) 2019-08-30 2023-09-05 Intrinsic Innovation Llc Planning by work volumes to avoid conflicts
US11813751B2 (en) 2019-08-30 2023-11-14 Intrinsic Innovation Llc Multi-objective robot path planning
US11787048B2 (en) 2019-08-30 2023-10-17 Intrinsic Innovation Llc Robot planning from process definition graph
US11890758B2 (en) 2019-08-30 2024-02-06 Intrinsic Innovation Llc Robot planning from process definition graph
US11747787B2 (en) 2019-08-30 2023-09-05 Intrinsic Innovation Llc Combining transformers for robotics planning
WO2021041960A1 (en) 2019-08-30 2021-03-04 X Development Llc Splitting transformers for robotics planning
KR102382749B1 (ko) * 2019-09-17 2022-04-06 한국전자기술연구원 조립 구조물 지원 장치와 방법
US11526823B1 (en) 2019-12-27 2022-12-13 Intrinsic Innovation Llc Scheduling resource-constrained actions
US11511419B2 (en) * 2020-05-01 2022-11-29 Intrinsic Innovation Llc Task planning for measurement variances
EP3926422A1 (en) * 2020-06-17 2021-12-22 Siemens Aktiengesellschaft Method for programming at least one machine in an industrial automation system
CN111764665A (zh) * 2020-07-10 2020-10-13 上海雅跃智能科技有限公司 一种基于bim的智能爬架与外墙作业机器人系统
US11763223B1 (en) * 2022-05-18 2023-09-19 Realization Technologies, Inc System for generating and maintaining a resource deployment map over a communications network
CN116540659B (zh) * 2023-07-04 2023-11-10 成都飞机工业(集团)有限责任公司 一种大型复杂产品车间调度方法、系统、设备及介质

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835684A (en) * 1994-11-09 1998-11-10 Amada Company, Ltd. Method for planning/controlling robot motion
US5969973A (en) * 1994-11-09 1999-10-19 Amada Company, Ltd. Intelligent system for generating and executing a sheet metal bending plan
WO2001016838A2 (en) * 1999-08-30 2001-03-08 Strategic Simulation Systems, Inc. Project management, scheduling system and method
US10110795B2 (en) * 2002-06-04 2018-10-23 General Electric Company Video system and method for data communication
JP2004240659A (ja) * 2003-02-05 2004-08-26 Hitachi Ltd 作業指示システム
JP4319026B2 (ja) * 2003-12-26 2009-08-26 株式会社神戸製鋼所 スケジュール作成方法及びスケジュール作成システム、並びにプログラム
US8355818B2 (en) * 2009-09-03 2013-01-15 Battelle Energy Alliance, Llc Robots, systems, and methods for hazard evaluation and visualization
CN102187047B (zh) * 2007-12-05 2014-12-17 霍利贝顿能源服务公司 改进井具的设计、制造、性能和/或使用的方法和设备
US9144904B2 (en) * 2008-05-21 2015-09-29 Fanuc Robotics America Corporation Method and system for automatically preventing deadlock in multi-robot systems
US20100017009A1 (en) * 2008-06-30 2010-01-21 International Business Machines Corporation System for monitoring multi-orderable measurement data
US8560358B2 (en) * 2008-09-23 2013-10-15 Sap Ag Collaborative environment to assess, design, and implement product changes
US8290830B2 (en) * 2010-04-07 2012-10-16 Siemens Product Lifecycle Management Software Inc. System and method for visualization and comparison of physical assets using engineering design data
US8744626B2 (en) * 2010-05-27 2014-06-03 Deere & Company Managing autonomous machines across multiple areas
US9283675B2 (en) * 2010-11-11 2016-03-15 The Johns Hopkins University Human-machine collaborative robotic systems
US8401687B2 (en) * 2010-11-24 2013-03-19 Sap Ag Visual assembly tool
DE102011011542B4 (de) * 2011-02-17 2016-05-25 Convergent Information Technologies Gmbh Verfahren zur automatisierten Programmierung und Optimierung von robotischen Arbeitsabläufen
US20120283863A1 (en) * 2011-05-02 2012-11-08 Interface Technologies Resource scheduling and adaptive control software for cutting room operations
JP5689396B2 (ja) * 2011-10-06 2015-03-25 株式会社日立製作所 生産計画装置および生産計画方法
US9061102B2 (en) * 2012-07-17 2015-06-23 Elwha Llc Unmanned device interaction methods and systems
US20140249882A1 (en) * 2012-10-19 2014-09-04 The Curators Of The University Of Missouri System and Method of Stochastic Resource-Constrained Project Scheduling
US10552774B2 (en) * 2013-02-11 2020-02-04 Amazon Technologies, Inc. Cost-minimizing task scheduler
US20140343999A1 (en) * 2013-03-15 2014-11-20 Oracle International Corporation Risk-aware project scheduling techniques
EP3100124B1 (en) * 2014-01-28 2023-03-01 ABB Schweiz AG Method and apparatus for optimizing performance of robotic cell
US9387589B2 (en) * 2014-02-25 2016-07-12 GM Global Technology Operations LLC Visual debugging of robotic tasks
US9278449B1 (en) * 2014-05-21 2016-03-08 Bot & Dolly, Llc Closed-loop control system for robotic operation
US20150363513A1 (en) * 2014-06-13 2015-12-17 Wolfram Alpha Llc Method and system for designing products
US9686275B2 (en) * 2014-07-07 2017-06-20 International Business Machines Corporation Correlating cognitive biometrics for continuous identify verification
US9272417B2 (en) * 2014-07-16 2016-03-01 Google Inc. Real-time determination of object metrics for trajectory planning
US9440353B1 (en) * 2014-12-29 2016-09-13 Google Inc. Offline determination of robot behavior
WO2016138242A1 (en) 2015-02-25 2016-09-01 Abb Technology Ag Robotic additive manufacturing apparatuses, systems and methods
CN104808627A (zh) * 2015-04-20 2015-07-29 海安县申菱电器制造有限公司 一种离散制造系统的车间布局方法
US10668623B2 (en) 2015-05-29 2020-06-02 Abb Schweiz Ag Method and system for robotic adaptive production
EP3101566A1 (de) * 2015-06-05 2016-12-07 Invenio Virtual Technologies GmbH Verfahren und vorrichtung zum überprüfen der baubarkeit eines virtuellen prototyps
US10628532B2 (en) 2015-07-23 2020-04-21 Autodesk, Inc. System-level approach to goal-driven design

Also Published As

Publication number Publication date
CA3059412C (en) 2023-09-26
JP2020522037A (ja) 2020-07-27
CA3059412A1 (en) 2018-12-06
CN110494813A (zh) 2019-11-22
EP3586207A1 (en) 2020-01-01
US11256240B2 (en) 2022-02-22
KR102334995B1 (ko) 2021-12-06
US20200174460A1 (en) 2020-06-04
CN110494813B (zh) 2022-08-30
WO2018222252A1 (en) 2018-12-06
KR20190117812A (ko) 2019-10-16
US20180348742A1 (en) 2018-12-06
EP3586207A4 (en) 2021-01-20
EP3586207B1 (en) 2023-05-31

Similar Documents

Publication Publication Date Title
JP6895539B2 (ja) 構築可能性分析に基づくプロジェクトの計画および適応
US10967501B1 (en) Guide placement by a robotic device
US11675369B2 (en) Robot coordination in a shared workspace
US20200218223A1 (en) Automatic Generation of Toolpaths
US11253991B1 (en) Optimization of observer robot locations
Alatartsev et al. Robotic task sequencing problem: A survey
JP2019531199A (ja) 現場で収集された測定値に基づくカスタマイズされたロボット設置
WO2017189502A1 (en) Agile manufacturing platform and system
EP3166084A2 (en) Method and system for determining a configuration of a virtual robot in a virtual environment
US11726448B1 (en) Robotic workspace layout planning
US20220019939A1 (en) Method and system for predicting motion-outcome data of a robot moving between a given pair of robotic locations
US11370120B2 (en) Method and system for teaching a robot in reaching a given target in robot manufacturing
US10987812B1 (en) Error accrual and mitigation during robotic process
JP2013136109A (ja) 干渉判定装置及び干渉判定方法
KR20230111250A (ko) 로봇 제어 계획들의 생성
US20220366660A1 (en) Method and system for predicting a collision free posture of a kinematic system
US20220043455A1 (en) Preparing robotic operating environments for execution of robotic control plans
Woller Automatický návrh trajektorie robotu v robotické buňce

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191129

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210518

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210607

R150 Certificate of patent or registration of utility model

Ref document number: 6895539

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350