(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-04-14
(54)【発明の名称】安全用途のためのシステムアーキテクチャ
(51)【国際特許分類】
B25J 9/16 20060101AFI20220407BHJP
G06T 7/521 20170101ALI20220407BHJP
B25J 19/06 20060101ALI20220407BHJP
【FI】
B25J9/16
G06T7/521
B25J19/06
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021549788
(86)(22)【出願日】2020-02-25
(85)【翻訳文提出日】2021-08-25
(86)【国際出願番号】 US2020019659
(87)【国際公開番号】W WO2020176473
(87)【国際公開日】2020-09-03
(32)【優先日】2019-02-27
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】519287459
【氏名又は名称】ヴェオ ロボティクス, インコーポレイテッド
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】デネンバーグ, スコット
(72)【発明者】
【氏名】ヴュ, クララ
(72)【発明者】
【氏名】ソバルヴァッロ, パトリック
(72)【発明者】
【氏名】パーシツ, レヴ
(72)【発明者】
【氏名】クリヴェシュコ, イリヤ エー.
(72)【発明者】
【氏名】サイモン, エリオット
(72)【発明者】
【氏名】モエル, アルバート
(72)【発明者】
【氏名】フォイ, パトリック ジェイ.
(72)【発明者】
【氏名】ブロンダー, ジャスティン
【テーマコード(参考)】
3C707
5L096
【Fターム(参考)】
3C707KS11
3C707KS31
3C707KT02
3C707KV12
3C707KX19
3C707MS15
3C707MS27
3C707MS30
5L096AA09
5L096BA02
5L096CA18
5L096JA11
5L096MA07
(57)【要約】
産業機械類(例えば、ロボット)または医療デバイス等の他のデバイスのための制御システムは、必ずしも安全定格ではない安全用途および算出構成要素への統合のために設計された安全プロセッサ(SP)を利用する。SPは、待ち時間チェックおよび同じ出力の検証を含む、非安全算出構成要素の性能を監視する。1つ以上のセンサは、SPが実施することができない洗練された処理および分析のために、データを非安全算出構成要素に送信するが、本処理の結果は、SPに送信され、これは、次いで、SPによって制御されている機械類またはデバイスへの安全定格信号を発生させる。結果として、本システムは、安全定格構成要素の範囲を超える複雑な動作を実施する能力にもかかわらず、安全定格に適格であり得る。
【特許請求の範囲】
【請求項1】
制御システムであって、
センサ出力を生成するように構成される複数のセンサと、
複数の非安全算出モジュールであって、前記非安全算出モジュールは、それぞれ、プロセッサを含み、前記センサ出力に同時に応答し、安全分析を実行し、前記非安全算出モジュールは、前記安全分析による安全条件の検出に応答して、制御信号を生成する、複数の非安全算出モジュールと、
安全プロセッサであって、前記安全プロセッサは、前記算出モジュールから前記制御信号を受信し、デバイスを制御するための安全定格信号をそれから発生させるように構成される、安全プロセッサと
を備える、制御システム。
【請求項2】
前記安全プロセッサはさらに、待ち時間チェックおよび同じ出力の検証を含む前記算出モジュールの性能を監視するように構成される、請求項1に記載の制御システム。
【請求項3】
前記安全プロセッサはさらに、中間結果またはデータ構造およびそのエラー補正コードを監視するように構成される、請求項1に記載の制御システム。
【請求項4】
前記安全分析は、非決定的または様々なランタイムを伴うアルゴリズムの実行を含む、請求項1に記載の制御システム。
【請求項5】
前記センサは、3D飛行時間カメラである、請求項1に記載の制御システム。
【請求項6】
前記算出モジュールは、短い待ち時間でリアルタイムで前記飛行時間カメラデータからの画像捕捉、識別、および分類を実施するように構成される、請求項5に記載の制御システム。
【請求項7】
前記算出モジュールは、
前記センサによって取得された前記画像が、集合的に、作業空間を表すように、相互に対して前記センサを位置合わせすることと、
前記作業空間の3次元表現を複数のボリュームとして発生させることと、
閾値を上回る強度レベルを有するセンサピクセル毎に、前記ピクセルを通した視通線光線経路によって遮断され、オクルージョンの前記関連付けられるセンサからの推定距離において終端するボリュームを占有されていないものとして事前にマーキングし、前記光線経路の終端に対応する前記ボリュームを占有されているものとしてマーキングし、前記光線経路に沿った前記オクルージョンを越えるいずれのボリュームも未知のものとしてマーキングすることと、
前記閾値を下回る強度レベルを有するセンサピクセル毎に、前記ピクセルを通した視通線光線経路によって遮断され、前記作業空間の境界において終端する全てのボクセルを未知のものとして事前にマーキングすることと、
最後に、少なくとも一度占有されていないものとして事前にマーキングされたボリュームを占有されていないものとしてマーキングすることと
によって、前記監視される空間の占有およびオクルージョンを分析するように構成される、請求項5に記載の制御システム。
【請求項8】
前記算出モジュールは、
前記センサによって取得された前記画像が、集合的に、作業空間を表すように、相互に対して前記センサを位置合わせすることと、
前記作業空間の3次元表現を複数のボリュームとして発生させることと、
規定された時間周期内に前記作業空間内の移動可能機械類によって到達可能な全ての点のボリューム表現を発生させることと
によって、前記監視される空間内の安全条件を評価するように構成される、請求項5に記載の制御システム。
【請求項9】
前記デバイスは、少なくとも1つのロボットである、請求項1に記載の制御システム。
【請求項10】
前記複数の算出モジュールは、2つのデュアルプロセッサ算出モジュールである、請求項1に記載の制御システム。
【請求項11】
前記複数の算出モジュールは、前記センサによって監視される作業セルの3D表現を発生させるように構成される、請求項1に記載の制御システム。
【請求項12】
前記安全分析は、ISO/TS 15066またはISO 10218-2のうちの少なくとも1つによる速度および分離監視を備える、請求項1に記載の制御システム。
【請求項13】
前記安全分析は、ISO/TS 15066またはISO 10218-2のうちの少なくとも1つによる保護分離距離監視を備える、請求項1に記載の制御システム。
【請求項14】
前記複数の算出モジュールは、それらの間のクロストークを防止するように、前記センサの動作を順次トリガするように構成される、請求項1に記載の制御システム。
【請求項15】
前記複数の算出モジュールは、前記安全プロセッサによって発行される待ち時間タグを受信するように構成される、請求項1に記載の制御システム。
【請求項16】
前記安全プロセッサは、センサ出力を前記算出モジュールに返すために、待ち時間タグを発生させ、前記センサに伝送するように構成される、請求項1に記載の制御システム。
【請求項17】
前記安全プロセッサは、前記算出モジュールによって返された待ち時間タグを受信および分析し、前記複数の算出モジュールによる処理と関連付けられる持続時間が所定の最大間隔を超えるかどうかを決定するように構成される、請求項15に記載の制御システム。
【請求項18】
前記安全プロセッサは、前記算出モジュールによって返された中間値を受信および分析し、前記複数の算出モジュールによる処理エラーが起こったかどうかを決定するように構成される、請求項1に記載の制御システム。
【請求項19】
前記安全プロセッサは、前記複数の算出モジュールが待ち時間基準に従って実質的に同時に動作することを検証するように構成される、請求項1に記載の制御システム。
【請求項20】
前記安全プロセッサは、前記複数の算出モジュールによって実質的に同時に発行されたコマンドが相互と一致することを検証するように構成される、請求項1に記載の制御システム。
【請求項21】
前記算出モジュールは、同じ算出を実施する、請求項20に記載の制御システム。
【請求項22】
前記算出モジュールは、異なる算出を実施する、請求項20に記載の制御システム。
【請求項23】
前記安全プロセッサは、(a)前記複数の算出モジュールが待ち時間基準に従って実質的に同時に動作し、(b)前記複数の算出モジュールによって実質的に同時に発行されたコマンドが相互と一致するという検証に続いて、前記複数の算出モジュールによって実質的に同時に発行された前記コマンドの前記制御されたデバイスによる実行を引き起こすように構成される、請求項1に記載の制御システム。
【請求項24】
前記安全プロセッサは、クロックおよびタイミング信号が、独立した冗長基準信号と一貫することを検証するように構成される、請求項1に記載の制御システム。
【請求項25】
前記算出モジュールは、同じである、請求項1に記載の制御システム。
【請求項26】
前記算出モジュールは、プロセッサ、アーキテクチャ、またはオペレーティングシステムのうちの少なくとも1つの観点から異なる、請求項1に記載の制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2019年2月27日に出願された米国仮特許出願第62/811,070号の優先権および利益を主張し、それを参照することによってその全体として本明細書に組み込む。
【0002】
本発明の分野は、概して、人間および機械類が相互作用する、または近接する産業環境の監視に関し、具体的には、監視される作業空間内の非安全条件を検出するためのシステムおよび方法に関する。
【背景技術】
【0003】
産業機械類は、多くの場合、人間にとって危険である。いくつかの機械類は、これが完全に運転停止されない限り、危険である一方、他の機械類は、種々の動作状態を有し得、そのうちのいくつかは、有害であり、そのうちのいくつかは、そうではない。多くの場合では、有害度は、機械類に対する人間の場所に依存する。結果として、多くの「防護」アプローチが、人間および機械を分離し、機械類が人間に害を及ぼさないように防止するために開発されている。
【0004】
1つの非常に単純かつ一般的なタイプの防護は、機械類を囲繞するケージであり、ケージの扉を開放することが、電気回路に、機械類を安全な状態にさせるように構成される。扉は、人間が、これが運転停止する前に機械に到達することができないように位置し得る。当然ながら、これは、人間と機械との間、または人間と機械が処理しているワークピースとの間の全ての相互作用を妨害し、作業空間の使用を著しく制約する。別の単純な防護機構は、危険な機械類からある距離に設置される感圧マットであり、マットを踏むことは、機械類の安全な運転停止をトリガする。
【0005】
より洗練されたタイプの防護は、例えば、いずれかの物体が監視される領域の中に侵入したかどうかを決定する、光カーテン等の光学センサ、侵入を光学的に検出する、面積走査装置、およびセンサから発出する一連の光線に沿った障害物までの最小距離を検出するために能動的光学感知を使用する、2D LIDARセンサを伴い得る。より最近では、システムは、例えば、3D飛行時間センサ、3D LIDAR、3Dレーダ、およびステレオビジョンカメラを使用して、3D深度情報を採用し始めている。これらのセンサは、3Dにおいて産業機械類を囲繞する面積の中への侵入を検出および位置特定する能力をもたらし、作業セル内の物体を識別および追跡する際にさらなる柔軟性およびパワーをもたらす。
【0006】
産業自動化では、産業プロセスの周辺環境内で作業する人間の安全を確実にすることを意図しているシステムは、「安全システム」として公知である。これらの安全システムは、光カーテン、ケージ扉上のスイッチ、緊急停止ボタン、および安全インターロックとして使用される他の機械制御入力と関連付けられる電子機器およびハードウェアとともに、閉制御ループを組み込む。例えば、光カーテンが、トリガされると、これは、ブリーチ信号を安全コントローラに発行する。安全コントローラは、それに応じて、光カーテンによって防護されている機器に信号を発行し、安全な様式で運転停止させる。安全コントローラは、「安全プロセッサ」、すなわち、マイクロプロセッサ、マイクロコントローラ、または安全システムへの統合のために設計された他のプロセッサを含み得る。
【0007】
安全システムは、通常、関連付けられる産業プロセスに関与する産業制御システムとは別個であり、それから隔離される冗長回路のセットを含む。代替アプローチは、統合された安全システムを伴う制御デバイスを使用することであり、その場合では、コントローラは、標準タスクおよび安全タスクの両方を実行し、それによって、高い安全定格が要求される特に有害な環境内でこれを(下記に議論される理由から)不適切にする。加えて、そのソフトウェアが、厳格な安全規格を満たす方法で標準タスクおよび安全タスクの両方を制御する、統合された安全システムのためのソフトウェアを開発することは、高価かつ困難である。
【0008】
それらの最も単純な実装では、安全システムは、冗長信号を比較し、機械および安全システム状態の内部チェックを提供する、特殊化安全リレーを含む、スイッチおよびリレーから配線接続される。「安全リレー」は、2つの機械的に連結されるノードを有し、その1つは、常時開であり、その1つは、常時閉であり、リレーが、トグルされると、機器は、有効化される。安全定格システムでは、2つのそのような安全リレーは、典型的には、二重構成において安全出力毎に使用されるが、フィードバック入力は、単一チャネルであり、出力の安全な状態の冗長チェックを提供する。より洗練されたシステムは、「安全コントローラ」を採用し、これは、安全インターロック(光カーテン等)から信号を受信し、着信信号を処理し、信号を機器に発行し、安全な様式で減速または停止させる。安全制御は、要求される制御および安全複雑性に応じて、種々の方法で実装されることができ、受動的または能動的であり得る。
【0009】
受動的安全制御は、安全リレーを使用して実行され、能動的安全制御は、安全コントローラを使用して実行される。安全コントローラは、安全定格に適格であるために必要な基準を満足させるプログラマブル論理コントローラ(「安全PLC」)モジュールまたは複数のモジュールであり得る、またはより複雑な専用産業コンピュータとして実装されることができる。記憶された安全制御プログラムの指示の下、安全コントローラコンピュータは、制御されたプロセスのステータスを反映する一連の入力を調査し、一連の安全出力を発生させる。安全コントローラは、そのコアとして、安全コントローラから入力を受信し、制御されている機械類への安全出力を決定する、安全プロセッサを有する。
【0010】
安全コントローラの入力および出力は、連続的範囲内でバイナリ(オンまたはオフ)またはアナログであり得る。入力は、光カーテンまたは産業プロセス機器に取り付けられる他のセンサから取得され得、出力は、機器上の電力制御リレー、アクチュエータ、またはモータへの信号であり得る。入力および出力はまた、入力センサおよび出力アクチュエータに直接接続し、安全コントローラへの共通インターフェースとして使用される、安全入力/出力(I/O)モジュールから生じることができる。安全I/Oモジュールはまた、監視機能および配設および動作の間に安全制御システムをより良好にトラブルシュートする能力を提供する。
【0011】
安全システム全体が安全定格に適格であるために、安全システム制御ループの要素の全て(入力センサ、出力アクチュエータ、安全プロセッサ、および相互接続)は、概して、定格基準を満たさなければならず、異なる要素の相互接続およびそれらの動作もまた、産業安全規格に準拠しなければならない。人間の安全が、危うくなるため、これらの規格は、厳格であり、ハードウェア構成要素に関する故障率およびハードウェアおよびソフトウェア構成要素の両方に関する厳密な開発実践を規定し得る。
【0012】
規格に準拠したシステムは、危険な条件が、非常に高い確率で検出され得、システム自体の故障が、検出され、システムが、制御された機器を安全な状態に遷移させることによって検出された故障に応答するであろうことを確実にする。
【0013】
例えば、国際規格化機構(ISO)は、ISO 13849規格(機械類の安全:制御システムの安全関連部分)を策定した。ISO 13849は、安全関連構成要素の設計に関する安全要件および指針を提供する。ISO 13849は、性能レベル(PL)によって測定されるような構成要素および回路の故障の確率に関する指針を提供する。1時間あたりの構成要素の危険な故障の平均確率として定義されるPLは、a(最低)からe(最高)に及ぶ。
【0014】
同様に、国際電気委員会(IEC)は、一般的なIEC 61508(電気/電子/プログラマブル電子安全関連システムの機能安全)および機械類特有のIEC 62061(機械類の安全:電気、電子、およびプログラマブル電子制御システムの機能安全性)規格を策定した。IEC 61508およびIEC 62061は、安全機能に関する性能の4つの安全完全性レベル(SIL)を規定する。2(SIL2)および3(SIL3)のSILを伴う安全システムは、概して、センサ、算出要素、および電力供給源に関するハードウェア冗長性、および安全障害の場合にシステムをフェイルセーフ状態に遷移させる安全オーバーレイを要求する。これは、費用を増加させ、より高価であることに加えて、安全定格ハードウェアは、類似する非安全システムに機能性および性能において有意に遅れをとる傾向がある。
【0015】
安全システムにおける重要な変数は、「安全応答時間」であり、これは、安全関連事象(例えば、光カーテンを突破する侵入)と安全システムによって監視されている機器が安全な状態に到達したときとの間の経過時間の量である。本安全応答時間は、いくつかの変数の関数であり、安全システムアーキテクチャおよび構成に依存する。例えば、光カーテン侵入がロボットの停止をトリガする単純な場合では、これは、光カーテンが検出された突破に続いて安全コントローラに信号を発行するまでにかかる時間+信号が安全プロセッサに到達するまでにかかる時間(データ伝送待ち時間)+安全プロセッサがコマンドをロボットに発行するまでにかかる時間(安全プロセッサ処理時間)+信号がロボット緊急停止回路に進行するまでにかかる時間+ロボットが信号に肯定応答するまでにかかる時間+ロボットがその移動状態から安全な停止状態に停止するまでにかかる時間の合計であろう。
【0016】
これらの時間はそれぞれ、相互接続および具体的安全プログラム内の論理命令に依存する。コントローラの反応時間は、コントローラに提示される任意の入力変更から、処理された出力が肯定応答され、制御されている機械類によって安全な状態をアクティブ化するために使用されるまでの最悪の場合の遅延である。適切に設計された安全システムは、安全タスク反応時間を許容可能な限度内に限定するためのタイマを有するであろう。本時間限度を超えることは、タイマに、安全システム出力を安全な状態に遷移させるであろう。
【0017】
安全応答時間を可能な限り速くすることが、望ましく、これは、光カーテン等の安全構成要素が、機械類に近接して設置されることを可能にする。これは、工場の床上の空間が限られており、防護機器を可能な限り機械に近接して置く必要性が存在するときに特に有用である。また、本安全応答時間を最小限にすることによって、システムが侵入自体が高速で移動している(例えば、人間が危険な作業セルの中につまずく)状況に応答するであろう可能性が、より高くなり、機械類を可能な限り迅速に安全な状態にすることは、傷害の可能性を低減させる。
【0018】
本安全反応時間が動作サイクルの間で変動しないこと、またはシステムが動作している際にこれがドリフトすることもまた、重要である。安全システムは、繰り返し可能かつ信頼性のある安全反応時間を有する必要がある。これは、防護機器が配設され得る場所が、実験的に決定または計算される安全反応時間に依存するため、重要である。
【0019】
いったん防護機器が、配設され、システムが、動作状態になると、本安全反応時間における変動またはドリフトは、安全定格基準によって要求される防護と機器との間の最小距離の違反につながり得る。感知および算出機器が、より洗練され、複雑な状態になるにつれて、そのような機器が、要求の厳しい安全定格基準を満足させることは、次第により困難になる。例えば、3Dセンサシステムは、防護システムにおける改良された粒度の可能性をもたらす。しかし、3Dセンサシステムは、光カーテンまたは圧力マット等の単純な侵入検出機構は言うまでもなく、2Dセンサシステムに対してより複雑である。最初に、具体的安全区域が、機械類によってもたらされる危害、機械類の運動および軌道、作業空間内の人間の可能性として考えられるアクション、作業空間レイアウト、および各個々のセンサの場所および視野を考慮して識別されなければならない。特に、床空間およびシステム処理能力を最適化しながら安全を確保しようとするとき、1つの物体がセンサに対するオクルージョンを提示し得る場合、およびいくつかの物体が範囲外である、またはセンサによって検出不可能であり得る場合、除外区域の最適な形状を計算することは、困難であり得る。また、3D計算のために必要とされる算出時間は、より長く、作業空間の可能性として変化する幾何学形状または複雑性に依存する算出時間の変動は、3Dセンサおよび算出要素を使用するシステムの安全応答時間が、例えば、光カーテンを使用するより単純な安全システムのものよりも長く、より可変であることの両方であることを意味する。
【0020】
極端に言えば、場面内の要素の検出および分類に関与する処理時間は、長いだけではなく、また、環境が変化するにつれて測定サイクルによって変動し得る。例えば、3D感知安全システムの場合では、セル内に存在する障害物またはオクルージョンが多いほど、または配設されるカメラが多いほど、算出時間は、より長くなり、これは、観察される場面の複雑性に対応し得る。障害物は、動的であり、経時的に(例えば、様々な数の人間または物体が観察下の作業セルに進入し、それから退出する際に)変化し得るため、算出時間は、経時的に変動するであろう。その結果、反応時間に対する上限および/または反応時間分散に対する限界を要求する安全基準を満たすことは、可能ではない。
【0021】
要するに、ロボット工学を伴う用途を含む、産業安全において、良好な実践または正式な安全規制は、安全システムの全ての構成要素が安全定格であることを要求する。残念ながら、従来的安全プロセッサは、作業セルの安全監視に伴う全ての必要な算出タスクを実行することができない。高頻度において、安全プロセッサは、安全要件を損なうことを回避するために十分な処理能力を伴う必要なアルゴリズムを適用するための処理パワーが欠如している。故に、複雑な動作を実施し、予測不可能な数の人々および危害を伴う異種の動的環境に適応しながら、厳格な安全定格基準に準拠し得る安全アーキテクチャの必要性が、存在する。
【発明の概要】
【課題を解決するための手段】
【0022】
本発明の実施形態は、安全プロセッサ(SP)および非安全マルチプロセッサ算出モジュール(MPCM)(すなわち、1つを上回るマザーボードを含む算出モジュール)を利用する。「非安全」構成要素は、安全システムへの統合のために(例えば、安全規格に従って)設計されなかったものを意味する。例えば、アーキテクチャは、既製のマルチコアCPUおよび不確定のランタイムを伴うが、産業用途のために安全であるアルゴリズム使用するサーバクラスコンピューティングプラットフォームであってもよい。(本明細書に使用されるように、用語「CPU」または「プロセッサ」は、概して、マイクロプロセッサを指すが、種々の実施形態では、これは、マイクロコントローラ、周辺集積回路要素、CSIC(特定顧客向け集積回路)、ASIC(特定用途向け集積回路)、論理回路、デジタル信号プロセッサ、FPGA(フィールドプログラマブルゲートアレイ)、PLD(プログラマブル論理デバイス)、PLA(プログラマブル論理アレイ)等のプログラマブル論理デバイス、RFIDプロセッサ、グラフィックス処理ユニット(GPU)、スマートチップ、または本発明のプロセスを実装することが可能である任意の他のデバイスもしくデバイスの配列であってもよい。)SPは、待ち時間チェックおよび同じ出力の検証を含む、MPCMの性能を監視する。1つ以上のセンサは、SPが実施することができない洗練された処理および分析のために、データをMPCMに送信するが、本処理の結果は、SPに送信され、これは、次いで、アーキテクチャによって制御されている機械類への安全定格信号を発生させる。結果として、本システムは、安全定格構成要素の範囲を超える複雑な動作を実施する能力にもかかわらず、安全定格に適格であり得る。また、経過時間を監視することが可能であり、安全要件を満たすために十分な信頼性を伴って本システムを安全な状態にすることが可能なシステムの使用は、そうでなければ安全システムにおける包含に関して不適格であろう、非決定的または様々なランタイムを伴うアルゴリズムの使用を可能にする。例証的目的のために、続く議論は、2つの(デュアル)プロセッサ基板(DPCM)実装を伴う算出モジュールに焦点を当てるが、2つを上回るプロセッサ算出モジュールを伴うアーキテクチャが、本発明の範囲内であることを理解されたい。
【0023】
種々の実施形態では、既製の安全プロセッサであり得るSPは、機械類との安全定格および非安全定格の通信の両方に関与し、本システムの全体的健全性を監視し、本システムの安全保証を損なう処理待ち時間を検出する。代替実施形態では、SPは、安全定格通信に関与し、MPCMは、非安全定格通信に関与する。
【0024】
故に、第1の側面では、本発明は、種々の実施形態では、センサ出力を生成するように構成される、複数のセンサと、複数の非安全算出モジュールであって、非安全算出モジュールは、それぞれ、プロセッサを含み、センサ出力に同時に応答し、安全分析を実行し、非安全算出モジュールは、安全分析による安全条件の検出に応答して、制御信号を生成する、複数の非安全算出モジュールと、算出モジュールから制御信号を受信し、産業機械類を制御するための安全定格信号をそれから発生させるように構成される、安全プロセッサとを備える、制御システムに関する。
【0025】
いくつかの実施形態では、安全プロセッサはさらに、待ち時間チェックおよび同じ出力の検証を含む、算出モジュールの性能を監視するように構成される。安全プロセッサはさらに、中間結果またはデータ構造およびそのエラー補正コードを監視するように構成されてもよく、非決定的または様々なランタイムを伴うアルゴリズムの実行を含んでもよい。センサは、例えば、3D飛行時間カメラであってもよく、種々の実施形態では、算出モジュールは、短い待ち時間でリアルタイムで飛行時間カメラデータからの画像捕捉、識別、および分類を実施するように構成される。
【0026】
いくつかの実施形態では、算出モジュールは、センサによって取得された画像が、集合的に、作業空間を表すように、相互に対してセンサを位置合わせし、作業空間の3次元表現を複数のボリュームとして発生させ、閾値を上回る強度レベルを有するセンサピクセル毎に、ピクセルを通した視通線光線経路によって遮断され、オクルージョンの関連付けられるセンサからの推定距離において終端するボリュームを占有されていないものとして事前にマーキングし、光線経路の終端に対応するボリュームを占有されているものとしてマーキングし、光線経路に沿ったオクルージョンを越えるいずれのボリュームも未知のものとしてマーキングし、その閾値を下回る強度レベルを有するセンサピクセル毎に、ピクセルを通した視通線光線経路によって遮断され、作業空間の境界において終端する全てのボクセルを未知のものとして事前にマーキングし、最後に、少なくとも一度占有されていないものとして事前にマーキングされたボリュームを占有されていないものとしてマーキングすることによって、監視される空間の占有およびオクルージョンを分析するように構成される。
【0027】
算出モジュールは、センサによって取得された画像が、集合的に、作業空間を表すように、相互に対してセンサを位置合わせし、作業空間の3次元表現を複数のボリュームとして発生させ、規定された時間周期内に作業空間内の移動可能機械類によって到達可能な全ての点のボリューム表現を発生させることによって、監視される空間内の安全条件を評価するように構成されてもよい。
【0028】
いくつかの実施形態では、産業機械類は、少なくとも1つのロボットである。複数の算出モジュールは、例えば、2つのデュアルプロセッサ算出モジュールであってもよい。複数の算出モジュールは、センサによって監視される作業セルの3D表現を発生させるように構成されてもよい。安全分析は、ISO/TS 15066またはISO 10218-2のうちの少なくとも1つによる、速度および分離監視および/またはISO/TS 15066またはISO 10218-2のうちの少なくとも1つによる、保護分離距離監視を備えてもよい。
【0029】
算出モジュールは、それらの間のクロストークを防止するように、センサの動作を順次トリガする、および/または安全プロセッサによって発行される待ち時間タグを受信するように構成されてもよい。安全プロセッサは、センサ出力を算出モジュールに返すために、待ち時間タグを発生させ、センサに伝送する、算出モジュールによって返された待ち時間タグを受信および分析し、複数の算出モジュールによる処理と関連付けられる持続時間が、所定の最大間隔を超えるかどうかを決定する、算出モジュールによって返された中間値を受信および分析し、複数の算出モジュールによる処理エラーが、起こったかどうかを決定する、複数の算出モジュールが、待ち時間基準に従って実質的に同時に動作することを検証する、複数の算出モジュールによって実質的に同時に発行されたコマンドが、相互と一致することを検証する、(a)複数の算出モジュールが、待ち時間基準に従って実質的に同時に動作し、(b)複数の算出モジュールによって実質的に同時に発行されたコマンドが、相互と一致するという検証に続いて、複数の算出モジュールによって実質的に同時に発行されたコマンドの制御された産業機械類による実行を引き起こす、および/またはクロックおよびタイミング信号が、独立した冗長基準信号と一貫することを検証するように構成されてもよい。
【0030】
いくつかの実施形態では、算出モジュールは、同じ算出を実施する一方、他の実施形態では、算出モジュールは、異なる算出を実施する。いくつかの実施形態では、算出モジュールは、同じである一方、他の実施形態では、算出モジュールは、プロセッサ、アーキテクチャ、またはオペレーティングシステムのうちの少なくとも1つの観点から異なる。
【0031】
一般に、本明細書に使用されるように、用語「実質的に」は、±10%を意味し、いくつかの実施形態では、±5%を意味する。加えて、本明細書全体を通した「一実施例(one example)」、「ある実施例(an example)」、「一実施形態(one embodiment)」、または「ある実施形態(an embodiment)」の言及は、実施例に関連して説明される特定の特徴、構造、または特性が、本技術の少なくとも1つの実施例に含まれることを意味する。したがって、本明細書全体を通した種々の箇所における語句「一実施例では(in one example)」、「ある実施例では(in an example)」、「一実施形態(one embodiment)」、または「ある実施形態(an embodiment)」の表出は、必ずしも全てが同一の実施例を指すわけではない。さらに、特定の特徴、構造、ルーチン、ステップ、または特性は、本技術の1つ以上の実施例において任意の好適な様式で組み合わせられてもよい。本明細書に提供される見出しは、便宜上のためだけのものであり、請求される技術の範囲または意味を限定または解釈することを意図していない。
【図面の簡単な説明】
【0032】
図面では、同様の参照文字は、概して、異なる図全体を通して同一の部分を指す。また、図面は、必ずしも縮尺通りではなく、代わりに、概して、本発明の原理を図示することに重点が置かれている。以下の説明では、本発明の種々の実施形態が、以下の図面を参照して説明される。
【0033】
【
図1】
図1は、本発明のある実施形態による、デュアルプロセッサアーキテクチャを実装する、安全システムを図式的に図示する。
【0034】
【
図2】
図2は、本発明の別の実施形態による、デュアルプロセッサアーキテクチャを実装する、安全システムを図式的に図示する。
【0035】
【
図3】
図3は、産業作業セルにおいて速度および分離監視を実施するための本発明のある実施形態による、デュアルプロセッサアーキテクチャを実装する、安全システムを図式的に図示する。
【0036】
【
図4】
図4は、産業作業セルにおいて速度および分離監視を実施するための本発明のある実施形態による、DCPMによって実施される機能およびSPとのその通信を図式的に図示する。
【0037】
【
図5】
図5は、本発明のある実施形態による、SPによって実施される待ち時間監視機能およびDCPM出力比較を図式的に図示する。
【発明を実施するための形態】
【0038】
本明細書によるシステムは、安全用途における使用のために設計された従来のプロセッサの能力を超える算出を実施し、また、安全用途における使用のための規制要件を満たし得るアーキテクチャにおいてSPおよび1つ以上のMCPMを組み合わせる。本明細書によるアーキテクチャの用途は、人間とロボットを含む産業機械類との間の安全な連携を可能にするために、産業作業セルを監視するために使用される3Dビジョン安全システムである。しかしながら、本用途が、本発明が適している使用の単なる一実施例を表し、より広範には、本発明のアプローチが、概して、安全システムにおける信号(例えば、センサ信号)を処理するために高性能、短待ち時間算出エンジンを要求する展開に適用可能であることを理解されたい。
【0039】
代表的システムが、
図1に図示される。システム100は、2つの主要サブシステム、すなわち、1つ以上のセンサ105、例えば、3D飛行時間(ToF)センサと、下記により詳細に説明され、時として、「安全アーキテクチャ」と称される、制御システム110とを含む。安全アーキテクチャ110は、その両方が、短い待ち時間で(例えば、GPUを使用して)算出集約的アルゴリズムおよびデータ処理を実施することが可能なDPCMであり得る、一次算出モジュール112
1および二次算出モジュール112
2と、リアルタイム安全用途における使用のために設計された単一の安全プロセッサ(SP)115とを含む。算出モジュール112はそれぞれ、例えば、1つ以上のXeonプロセッサを含むサーバクラスマザーボード、例えば、Intel Corpによって市販されるマザーボードのServer Board S2600BPファミリのうちの1つであってもよい。算出モジュール112は、同じまたは異なる、すなわち、異なる製造業者に由来し、可能性として異なるオペレーティングシステムを伴う、異なるプロセッサおよび/またはアーキテクチャを有してもよい。
【0040】
アーキテクチャは、多くの安全システムによって要求される耐障害性および保証された待ち時間を維持しながら、高性能処理の利益を提供する。
【0041】
センサ105は、有線または無線手段によって、センサデータ(例えば、画像)を算出モジュール112に伝送し、これは、それらを処理し、適切な制御出力を決定する。加えて、センサ105は、
図5に関連して下記により詳細に説明される、待ち時間タグを算出モジュール112に送信し、これは、これらをSP115に転送する。
【0042】
各算出モジュール112は、安全分析を実施し、算出された制御出力信号をSP115に送信する。「安全分析」とは、制御されるシステムの動作を改変する、またはそれを停止させることにつながり得る条件を検出または予測するようなセンサ出力の分析を意味する。加えて、算出モジュール112は、制御出力と比較されるべき中間データまたは中間データ構造の巡回冗長チェック(CRC)等のエラー検出コードを送信してもよい。これは、算出モジュール112によって実施される計算が、大きいデータ構造に適用される複雑なアルゴリズムを伴い得、その一部が、経時的に構築される状態を維持するが、制御出力が、パーセンテージ速度オーバーライドまたはさらには機械類が動作し続けることを可能にされ得るかどうかを示すブール値と同程度に単純であり得るため、有用である。多種多様な計算が、同一の出力を生成し得るため、中間値を比較することは、いかなる障害も起こっておらず、現在のシステム状態が正しいというより高い信頼度を提供することができる。
【0043】
SP115は、制御されているシステム(例えば、産業機械類、ロボット、医療機器等)のコントローラ120に制御出力信号を供給し、コントローラ120からシステム状態情報を受信する。したがって、制御出力信号は、算出モジュールが、最も集約的な動作を実施するにもかかわらず、算出モジュール112ではなく、SP115から直接生じ、結果として、システム100は、従来の安全プロセッサによって提供されるものを超える算出能力を用いて、安全用途における使用のための規制要件を満たし得る。
【0044】
図2に示されるように、いくつかの実施形態200では、センサ105は、代替機構を介してそれらの独自の待ち時間保証を提供し、待ち時間タグを算出モジュール112に渡さなくてもよい。この場合では、SP115は、待ち時間タグを算出モジュール112に直接渡すことができ、安全アーキテクチャ210は、本システムの完全なエンドツーエンド待ち時間(センサ自体の中の任意の処理待ち時間を含む)ではなく、算出モジュールに対して実施された計算の待ち時間のみを監視する。SP115は、待ち時間タグを、センサ105にではなく、算出モジュール112に伝送する。
【0045】
図3に示されるように、本アーキテクチャは、人物が、制御される機械類(図示される実施形態では、ロボット)に接近する際、いずれの危害も減速または停止させ、いったん人物が、その面積を離れると、機械類を自動的に再始動させるであろう、3Dビジョン安全システム300を実装するために使用されることができる。本タイプの安全防護は、速度および分離監視(SSM)として公知であり、ISO 10218-2およびISO/TS 15066に定義される。この場合では、センサ305は、3D飛行時間(ToF)センサであってもよい。典型的な展開では、複数の(例えば、最大8つの)ToFセンサ305が、存在してもよい。各センサ305は、その独自の視点からの深度画像を提供することに関与し、算出モジュール112は、深度画像の全てを処理し、3Dボリュームを発生させる、および/または分析する。好適なToFセンサは、2019年8月28日に出願された米国第16/553,724号(参照することによって本明細書に組み込まれる)に説明されている。30フレーム/秒において、SP115は、3Dセンサ105を連続的に(典型的には、センサ間のクロストークを防止するような逐次的方式で)トリガする。センサデータは、必要に応じて、分析されたセンサデータに基づいて、SP115に渡される速度オーバーライドコマンドの処理および発生のために、算出モジュール112に伝送される。SP115はまた、ロボットコントローラ320と通信し、待ち時間タグでタグ付けされたロボット状態データを算出モジュール112に提供する。本実施形態では、
図4に示されるように、算出モジュール112は、それぞれ、全てのセンサ105からのデータを監視される作業セルのコヒーレントな3D表現に集合的に変換するモジュールを含む。図示される実施形態では、これらのモジュールは、占有およびオクルージョン分析モジュール410を含み、これは、監視される作業セルを表すボクセルの3Dボリュームを分析し、物体およびオクルードされる領域を識別する(例えば、米国特許第10,099,372号(その全開示は、参照することによって本明細書に組み込まれる)に従って)。算出モジュール112はまた、第’372号特許に同様に説明されるように、現在の状態(位置および速度)およびロボットの運動学に基づいて、将来のロボット状態を予測する、ロボット将来状態予測モジュール420と、作業セル内の物体とモジュール420によって予測された将来のロボット状態との間の保護分離距離(PSD)(ISO/TS 15066に定義されるような)を算出するためのモジュール430とを含む。2019年8月23日に出願された米国第62/890,718号(その全内容は、参照することによって本明細書に組み込まれる)に説明されるように、将来のロボット状態は、規定された時間周期内にロボットによって到達可能な全ての点のボクセル(または他の)表現であり得る。本実施形態では、SP115によって発生された制御出力は、通常のロボット動作の過程において従来通りにプログラムされたロボットコントローラ320によって発行されたタスク性能コマンドをオーバーライドする安全信号である。SP115は、例えば、リレーおよび出力信号切替デバイス(OSSD)を介して本情報をロボットコントローラ320にシグナリングし、これは、有害な移動を防止するための「停止」コマンドを発行する。OSSDは、進入または近接が有害であるとき、機械類を停止または中断させる従来の構成要素である。制御出力はまた、衝突を回避するように設計される代替軌道を含み得る。SP115はまた、例えば、イーサネット(登録商標)インターフェースを経由してロボットコントローラ320と通信し、ロボット状態情報を取得してもよく、これをPSD計算における使用のために算出モジュール112に渡す。故に、種々の実施形態では、SP115は、「真実の単一の源」であり、安全制御アーキテクチャ100の唯一のアービタである。
【0046】
SP115によって実施される重要な機能は、本システム内の待ち時間をチェックし、これが許容可能な限度内に留まることを確実にすることであり、過剰な待ち時間は、非安全条件を示し得る。
図5に示されるように、SP115は、最初に、待ち時間タグ、例えば、ランダムな32ビット数をセンサ105に送信し、データのフレームを捕捉するようにそれらをトリガする(ステップ515)、待ち時間チェックモジュール510を含んでもよい。SP115はまた、機械状態情報を受動的または能動的に集め、モジュール512またはメモリパーティション内にこれを維持してもよい。本情報は、算出モジュールが、機械状態をセンサデータと時間的に相関させることを可能にするために、これが算出モジュール112に送信されるときに待ち時間タグに付随してもよい。
【0047】
算出モジュール112は、次いで、制御下の機械類に送信されるべき制御出力を決定するために要求される計算を並行して実施する。各算出モジュール112が、これらの計算を実施する際、待ち時間タグは、そのデータから導出された中間結果と並んで搬送される。両方の算出モジュール112が、それらの算出において使用されるデータに付随する待ち時間タグとともに、適切なプロトコル(例えば、Black Channelプロトコル)を経由して、それらの算出の結果をSP115に伝送する。一方、ステップ517において、待ち時間チェックモジュール510は、そのタイムスタンプ、すなわち、これがセンサ105に送信された時間を伴う各一意のタグを記憶する、ルックアップテーブル520内に発生された待ち時間タグを記録する。待ち時間チェックモジュール510は、待ち時間タグがセンサ105に送信された以降に経過した時間を監視し、長すぎる時間が、待ち時間タグの伝送と受信との間に過ぎているかどうかを決定する(ステップ523)。通常の動作では、SP115は、通常の動作と一貫する固定タイムアウト周期内に、算出モジュール112から、制御出力信号および任意の中間データとともに、待ち時間タグを受信するであろう。伝送と受信との間の間隔、または待ち時間タグが決してSP115に返されない場合の伝送以降に経過した絶対時間が、タイムアウト周期を超える場合、保護停止が、機械コントローラ120にアサートされる(ステップ525)。
【0048】
しかしながら、両方の算出モジュール112が、タイムアウト周期内に制御出力および待ち時間タグを提供する場合、待ち時間チェックモジュール510は、2つの算出モジュール112からの待ち時間タグおよび出力自体の両方を比較する。待ち時間タグが、同じであり(ステップ530)、タイムアウト周期内にSP115によって発行され(ステップ532、535)、制御出力および中間データが、一致する(ステップ538)場合、待ち時間チェックモジュール510は、制御出力を機械コントローラ120に転送する。しかしながら、一方または両方の待ち時間タグが、不正確である、またはタイムアウト周期外に発行された場合、または制御出力または中間データが、一致しない場合、待ち時間チェックモジュール510は、機械類を安全な状態にするために独自に作用する(ステップ525)。
【0049】
待ち時間タグを監視することによって、SP115は、したがって、算出モジュール112に対する限度のない動作の性能における変動性が、本システムの非安全状態をもたらすことができないことを確実にする。同様に、算出モジュール112によって発生された制御出力および中間データが一致することを確実にすることによって、算出モジュールのうちの一方に対する単一のハードウェア障害または偶発的ソフトウェア障害は、本システムの非安全状態をもたらすことができない。例えば、算出モジュール112の合計処理時間が、センサフレームの間の時間を上回る場合、複数の待ち時間タグが、一度に飛行し得ることに留意されたい。この場合では、モジュール112上の算出は、パイプライン化されてもよく、いくつかのコアは、後のフレーム上で前の算出を実施する一方、他のコアは、前のフレーム上で後の算出を実施する。
【0050】
さらに、いくつかの実施形態では、算出モジュール112は、その最終および中間出力が直接比較され得る、同じ算出を実施する一方、他の実施形態では、算出モジュール112は、1/2ボクセルだけボクセルグリッドをオフセットする、またはそれぞれが別個のセンサチャネルを処理することによって等、同一の安全機能を包含するわずかに修正された算出を実施し、そのような実装では、決定のみが、ステップ538において比較される。本後者のアプローチは、増加された多様性を提供するが、低減された診断範囲を提供する。
【0051】
SP115はまた、SP115の正しいクロック機能性を確実にするために、独立した冗長外部クロック信号を用いて、トリガおよびデータ収集を駆動するクロックおよびタイミング信号の一貫性のチェックと、(例えば、図示されない従来のセンサを介した)温度、湿度、および電力レベルを含む本システムの全体的健全性の監視とを含む、周期的健全性自己チェックを実施してもよい。例えば、安全リレーに関して、安全リレーの安全かつ適切な機能を監視する外部デバイス監視(EDM)信号が、存在する。本EDM信号は、SP112に接続され、安全リレーが適切に動作していない場合では、SP112は、機械類またはロボットコントローラへの信号を発生させ、安全な様式で停止させることができる。
【0052】
SP115は、コア不足電圧および過電圧監視等のハードウェア要素を含み、SP115が、安全な状態で機能することができない場合、付加的健全性監視が、SP115および安全定格出力が、安全な状態に置かれ得るように行われることを確実にしてもよい。これは、限定ではないが、SP115またはその算出要素のうちのいずれかの偶発的故障、電力不足、または内部チェックの失敗を含む。SP115または健全性監視ハードウェアが、故障信号を発生させる場合、SP115または健全性監視ハードウェアは、安全アーキテクチャ100全体を安全な状態に置くために、付加的信号を発生させることができる。
【0053】
算出モジュール112およびSP115内のモジュールは全て、限定ではないが、C、C++、C#、Ada、Basic、Cobra、Fortran、Java(登録商標)、Lisp、Perl、Python、Ruby等の高レベル言語、または低レベルアセンブリ言語を含む、任意の好適なプログラミング言語においてプログラムされてもよい。図示される安全アーキテクチャ100は、算出モジュール112のそれぞれが、SP115または安全システムの他の部分を変更することなく、より高速のハードウェアまたは更新されたソフトウェアと置換されることを可能にする。さらに、図示される構成は、安全アーキテクチャ100が、「フェイルセーフ」であることを可能にし、すなわち、SP115の待ち時間チェックモジュール510が、算出障害を検出する場合、SP115は、本システムを安全な状態にする。いずれかの算出モジュール112が、異なる出力をもたらす偶発的障害に悩まされる場合、本システムによって提供される安全機能は、もはや保証されることができない(すなわち、それらは、出力があるべき内容について一致せず、したがって、安全は、保証されることができない)。代替実施形態は、それらのうちの1つにおける単一の偶発的故障を可能にする、3つの算出モジュール112を含む。残りの2つの算出モジュール112が、結果について一致する場合、SP115は、本システムを運転停止させるための信号を発行しないであろう(「フェイルオペレーショナル」モード)。
【0054】
本発明のある実施形態が、上記に説明される。しかしながら、本発明が、それらの実施形態に限定されず、むしろ、本明細書に明確に説明されるものへの追加および修正もまた、本発明の範囲内に含まれることに明確に留意されたい。
【国際調査報告】