JP2022541352A - 形状制約付きの非線形ロボットシステムの軌道最適化のための方法およびシステム - Google Patents

形状制約付きの非線形ロボットシステムの軌道最適化のための方法およびシステム Download PDF

Info

Publication number
JP2022541352A
JP2022541352A JP2022530008A JP2022530008A JP2022541352A JP 2022541352 A JP2022541352 A JP 2022541352A JP 2022530008 A JP2022530008 A JP 2022530008A JP 2022530008 A JP2022530008 A JP 2022530008A JP 2022541352 A JP2022541352 A JP 2022541352A
Authority
JP
Japan
Prior art keywords
vehicle
constraints
trajectory
link
shape
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
JP2022530008A
Other languages
English (en)
Other versions
JP7399287B2 (ja
Inventor
ラフナサン,アルビンド
ジャー,デベシュ
ロメレス,ディエゴ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JP2022541352A publication Critical patent/JP2022541352A/ja
Application granted granted Critical
Publication of JP7399287B2 publication Critical patent/JP7399287B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40298Manipulator on vehicle, wheels, mobile
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40425Sensing, vision based motion planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40455Proximity of obstacles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40471Using gradient method
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40513Planning of vehicle and of its manipulator arm
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40517Constraint motion planning, variational dynamic programming

Abstract

リンクを有するロボットアームに対する動的制約および形状制約を満たしながら、一連の時間間隔にわたって、開始姿勢および終了姿勢とともに経路を含む軌道を求めるための方法およびシステム。各リンクのダイナミクスに基づいて動的制約を求め、環境の座標格子を生成して障害物および各リンクの終点のデカルト座標を求めることによって形状制約を一次微分可能な関数として求める。マルチリンクダイナミクスモデルを用いてロボットアームについての非線形最適化(NLO)プログラムを定式化し、NLOプログラムは、開始姿勢および終了姿勢、動的制約および形状制約を入力として使用して、時間間隔ごとに、動的制約および形状制約ならびにロボットアーム操作制約を満たしながら軌道の目的関数を最適化する。軌道に基づいてロボットアームを動かすようにロボット駆動装置のモータを制御する。【選択図】図1A

Description

本開示は、動的システムの軌道最適化のための方法およびシステムに関し、より具体的には、形状制約付きの非線形ロボットシステムに関する。
ロボットシステムは、ロボットアーム(マニピュレータとも呼ばれる)を含むロボット装置を制御するように構成される場合がある。たとえば、ロボットシステムは、入力信号を受信して制御信号を発生させるコントローラを含み得るものであり、ロボットアームはコントローラにフィードバック信号を提供することができる。
ロボットシステムは、物体を把持する、持ち上げる、または動かすことを含む用途に使用されるエンドエフェクタまたはグリッパを含むロボットアームを含み得る。たとえば、ロボット装置を用いて1つの作業または一連の作業を完了することができる。そのような作業は、物体が環境内のどこにあるかについて与えられた知識に基づいて物体を持ち上げるようにロボットシステムがロボットアームに指示することができるように、物体を動かすことを含み得る。一般的に、マニピュレータアームについての制御入力は、ロボットが最初の姿勢から所望の姿勢に動くために各関節において加えなければならないモータトルクである。
マニピュレータの最適軌道を計画することは、障害物を避けることを含むが、ロボット分野において時間を最小化することは困難である。その理由は、障害物を避ける必要があるために、(i)物理的範囲を過大評価する凸物体のセットによって障害物およびロボットアームを取り囲むこと、および(ii)非平滑非凸制約集合など、従来の方法では多くの問題が起きるからである。物理的範囲の過大評価は、控えめな軌道、またはさらには、実現可能な軌道が存在し得る場合でも実現不可能な軌道につながり得る。非平滑制約集合についての連続時間動的システムの最適化は、解くのが困難な問題である。従来の軌道計画アルゴリズムは、制約が少なくとも1回連続微分可能であると仮定する非線形計画法アルゴリズムを用いる。したがって、障害物回避制約の定式化を非線形計画法アルゴリズムに適したものにするためには、この定式化を適切に行うことが必要である。
いくつかの従来の方法では、たとえば軌道の曲率などの形状をエネルギー消費と関連付けることによって、経路計画ステップにおける時間および労力を最適化する。摩擦および重力に関してエネルギー効率のよい経路計画問題を考える方法もあるが、これらの方法ではマニピュレータが一定速度で動くと仮定している。エネルギー最適動作計画に関する結果は限られており、軌道の時間最適性および平滑性に焦点を当てる方法もある(たとえば米国特許第6,216,058号参照)。これらの技術はすべて、最適化アルゴリズムに頼って、障害物を避ける軌道を見つけている。そのような軌道には多大な費用および労力がかかるからである。しかしながら、最適化問題は非凸であるため、複数の極小が存在することになるが、最適化アルゴリズムが最小を見つけるという保証はない。その結果、そのようなアルゴリズムによって戻される解が本当に障害物を避けるという保証はない。
障害物回避に起因する非平滑非凸制約は、軌道生成および最適化の際に実行する必要がある。いくつかの従来の方法では、障害物回避を伴う軌道計画を最適化問題として定式化している。たとえば、米国特許第7,248,952号に記載されている方法は、軌道計画を混合整数線形計画法問題として定式化している。しかしながら、これらの方法は、ロボット装置の形状を考慮しておらず、ロボットは質点であると仮定している。たとえば、ロボットのアーム全体が質点である場合は、アームのさまざまな向きは表現されない。その結果、質点表現は過度の単純化であり、控えめな軌道につながり得る。
したがって、少なくとも1つの障害物を避けるマニピュレータの軌道の最適化であって、マニピュレータのダイナミクスに従いながら、障害物の形状、マニピュレータアームの形状に起因する空間的に平滑な非凸制約を受ける最適化が必要である。
発明の概要
本開示は、動的システムの軌道最適化のための方法およびシステムに関し、より具体的には、形状制約付きの非線形ロボットシステムに関する。
本開示のいくつかの実施形態は、連続時間衝突回避を可能にする、連続微分可能な剛体動作についての形状制約などの非線形制約付きの動的システムの軌道最適化手法を含む。形状制約は、障害物およびロボットの形状に起因する衝突を避けるためにロボットシステムの動作に課される制約の集合である。また、動的に実現可能な軌道を、マニピュレータ、エンドエフェクタおよびグリッパのようなロボットシステムについて生成できることが、実験から分かった。実現される数多くの有益な局面の中でも特に、いくつかの有益な局面は、本開示の実施形態は、衝突確認/回避モジュールを明確に必要とせずに、または初期の実現可能な解を提供することなく、剛体の連続時間無衝突の動的軌道を生成できることである。
マニピュレータの動作計画は、本開示の本実施形態を特定するのに先立って行われた実験の多くにおいて繰り返し起こる構成要素である。たとえば、行ったいくつかの動作計画実験では、問題全体を運動学的計画および軌道追跡の2つのステップに分解することによって、マニピュレータを開始状態から目標状態に到達させた。しかしながら、問題を2つのステップに分けると、最適性に関して得ることができる解の品質が自動的に制限されることが、この実験から分かった。少なくとも1つの実験において、この問題を同時に解くと、最適化アルゴリズムは、ロボットシステム上で有効なすべての制約に従いながら、労力を最小化する解を見つけなければならないことが観察された。
上述したように、非平滑制約集合についての連続時間動的システムの最適化は、解くのが困難な問題である。その理由は、障害物を避ける必要があるために、従来の方法で経験するような多くの問題が起きるからと考えられ得る。本開示の少なくとも1つの認識は、ロボットアームおよび障害物の物理的範囲の過大評価を可能な限り最小化すべきであるということである。本開示の実施形態のうちの1つは、ロボットアームの厳密に凸状の本体および凸状のハル記述(hull description)を用いて障害物の過大評価を提供する。これによって、ロボットアームの物理的範囲の過大評価を最小化または排除する。障害物回避制約は、2つの凸体間の最小距離として定式化される。そのような制約は、非平滑であり、解くのが困難な場合がある。本開示の別の重要な認識は、障害物回避を、十分な平滑性を有する最適化において、かつ効率的に解くことができるように、制約として定式化しなければならないことである。そのような定式化によって、いずれの実現可能な軌道も障害物を避けることが保証され、アルゴリズムの平滑性によって、従来の非線形計画法アルゴリズムを使用することができる。さらに、定式化のいずれの極小も障害物を避けることができるため、最小を得る必要がなくなる。
実験からさらに学んだいくつかの局面は、軌道最適化は、システムのすべての制約に従いながら所望の目的関数を最適化するための一連の状態および入力を生成する手順であることである。ある実験で用いた軌道最適化のための軌道計画アプローチでは、問題を運動学的計画とその後の動的計画とに分解することを用いるように軌道計画を構成した。運動学的計画は、環境内に存在する障害物との衝突がないか確認しながら、ロボットの構成空間内に経路を配置するように設定した。しかしながら、実験時のいくつかの試験では、実現不可能な軌道、または準最適でありダイナミクス的に実現不可能であることが後で判明した軌道がもたらされることが多かった。得られたことまたは学んだことは、運動学的計画モジュールがダイナミクスを考慮しなかったため、計画モジュールがシステムのダイナミクスおよび制御飽和限界を認識しなかったということである。この結果、システムの制御限界を飽和させる軌道がもたらされ、または、動的に非平滑となり(すなわち、ロボットは動作中に非常に高い加速度をしばしば経験し)、望ましくないことが判明した。それゆえ、本開示の認識は、ロボットシステムの無衝突の最適軌道を自動的に生成するためには形状制約ならびに状態および入力制約を組み込むことが非常に望ましいということである。この認識によって、ロボットと障害物との間の衝突確認が不要な軌道最適化も可能となった。なぜなら、衝突確認は最適化時の制約として実行されるからである。
本開示のいくつかの実施形態は、状態および制御制約がある場合のほとんどの軌道最適化問題を非線形最適化手法を用いて解くことができるという、実験から得られた認識に基づいている。しかしながら、環境内に障害物がある場合にマニピュレータアームの動きに起因して課される形状制約は、非凸の微分不可能な制約につながる。なぜなら、最小関数は一般的に、数学的に微分不可能であるからである。障害物との衝突を避けるために、最適化アルゴリズムは、すべての障害物からの各リンクの最小距離が当該リンクの動作中は常に正であることを保証する必要がある。すべての非線形最適化手法は、すべての制約の勾配情報を用いるので、形状制約はその微分不可能性のためにほとんどの非線形最適化手法で用いることができない。
本開示のいくつかの実施形態は、マニピュレータの個々のリンクの座標にパラメータ化トリックを用いることによって、形状制約を一次微分可能な関数として書くことができるので、形状制約の勾配を計算することができるという、実験からさらに得られた認識に基づいている。この認識によって、ロボットアームの物理的範囲の過大評価を最小化または排除することができ、剛体の形状制約を軌道最適化のための非線形プログラムに組み込むことができる。この改良の結果として、形状制約を非線形最適化解法に組み込み、市販の非線形最適化ソフトウェアで軌道最適化を解くことができる。
本開示のいくつかの実施形態は、形状制約を一次微分可能な関数として定式化することによって、静的障害物がある場合にマニピュレータシステムを使用する。実験に基づいて、シミュレートした試験では、提供された制約下でシステムの実現可能な最適の軌道が生成された。これらの試験のいくつかの結果では、最適化アルゴリズムの外部では衝突確認がなかった。また、提案されている定式化によって、非線形プログラムインスタンスにおいて連続時間衝突回避が可能になった。それゆえ、数多くの重要な局面の中でも特に、少なくとも1つの重要な局面は、非線形最適化問題について形状制約の一次微分可能性を用いて、ロボットシステムの軌道最適化時に形状制約を組み込む定式化である。
したがって、上記の実験的アプローチおよび上記の認識に基づいて、軌道最適化のための定式化は、剛体の状態、入力および形状制約を組み込む。学んだことによって、連続時間衝突確認を最適化問題に組み込むことができ、したがって、衝突回避に関して実現可能なだけでなく、さらに重要なことにはコスト関数に関して最適な軌道を生成することができた。
本明細書に記載されている本開示の実施形態のいくつかの特徴は、航空宇宙産業、非線形制御システム、およびプロセス工学に使用され得る。また、本開示の実施形態のいくつかの特徴は、半導体ウェハ処理システムにおける用途に好適な複数のエンドエフェクタを有するマテリアルハンドリングロボットとともに使用することができる。たとえば、上記の動作は、オフセットステーションに対してウェハまたは基板をピック/プレースするために利用され得る。一連の、1つのエンドエフェクタによるピック動作、および他のエンドエフェクタによるその後のプレース動作は、オフセットステーションにおいてウェハ/基板を迅速に交換する(高速交換動作)ために使用され得る。ロボット駆動装置は、ロボットアームの垂直上昇を制御する1つ以上の垂直リフト機構を含んでもよく、当該垂直リフト機構を用いて、さまざまな高さのステーションにアクセスし、ロボットアームのエンドエフェクタ間の垂直距離を補償し、材料ピック/プレース動作を容易にすることができる。ロボット装置は、モータ駆動式ボールねじ、または、親ねじ、リニアモータ、リンク機構、はさみ機構、油圧アクチュエータ、空気圧アクチュエータ、およびそれらの組み合わせを含むがこれらに限定されない任意の他の適切な作動機構を利用できることが、意図されている。なお、ロボットアームが2本以上ある場合、構成は、上側アームと、上側アームと同じ平面または異なる平面のうちの一方である位置で構成される下側アームとを含み得る。
本開示の一実施形態によれば、プロセッサおよびアクセス可能なメモリを含むコンピューティングシステムが提供される。コンピューティングシステムは、センサデータと、ロボット操作およびダイナミクス(ROD)データと、マルチリンクダイナミクス(MLD)モデルと、非線形最適化(NLO)プログラムと、目的関数とを含む入力を受信するように構成される。ロボットアームに対する動的制約および形状制約を満たしながら、一連の時間間隔にわたって、開始姿勢および終了姿勢とともに経路を含む軌道を求め、ロボットアームは、ロボットアームを動かすためのモータを有するロボット駆動装置に接続される。RODデータからの各リンクのダイナミクスに基づいて、動的制約を求める。センサデータから環境の座標格子を生成して少なくとも1つの障害物および各リンクの終点のデカルト座標を求めることによって、形状制約を一次微分可能な関数として求める。MLDモデルを用いてロボットアームについてのNLOプログラムを定式化し、NLOプログラムは、開始姿勢および終了姿勢、動的制約および形状制約を入力として使用して、軌道がロボットエンドエフェクタを開始姿勢から終了姿勢に動かすように、一連の時間間隔における時間間隔ごとに、動的制約および形状制約ならびにロボットアーム操作制約を満たしながら軌道の目的関数を最適化する。NLOプログラムから得られる最適化された軌道に基づいてロボットアームを動かすようにロボット駆動装置のモータを制御する。
本開示の別の実施形態によれば、ロボット装置に対する動的制約および形状制約を満たしながら、開始姿勢および終了姿勢に関連付けられた経路および対応する制御入力を含む軌道を求めるための方法が提供される。経路は、ロボット装置が一連の時間間隔にわたって進むべき経路である。ロボット装置は複数のリンクを有するロボットアームを含み、ロボットアームは、ロボットアームを動かすためのモータを有するロボット駆動装置に接続される。方法は、メモリに格納されたダイナミクスデータからのさまざまな質量、形状、および慣性モーメントテンソルを含む各リンクのダイナミクスに基づいて動的制約を求めることを備える。メモリに格納されたセンサデータから環境の座標格子を生成して少なくとも1つの障害物および各リンクの終点のデカルト座標を求めることによって、形状制約を一次微分可能な関数として求める。マルチリンクダイナミクスモデルを用いてロボットアームについての非線形最適化(NLO)プログラムを定式化する。NLOプログラムは、開始姿勢および終了姿勢、動的制約および形状制約を入力として使用して、軌道がロボットエンドエフェクタを開始姿勢から終了姿勢に動かすように、一連の時間間隔における時間間隔ごとに、動的制約および形状制約ならびにロボットアーム操作制約を満たしながら軌道の目的関数を最適化する。NLOプログラムから得られる最適化された軌道に基づいてロボットアームを動かすようにロボット駆動装置のモータを制御する。
本開示の別の実施形態によれば、実行可能命令で符号化された非一時的なコンピュータ読取可能媒体が提供され、実行可能命令は、実行されると、1つ以上のデータ処理システムに、センサデータと、ロボット操作およびダイナミクス(ROD)データと、マルチリンク動的(MLD)モデルと、非線形最適化(NLO)プログラムと、目的関数とを含む入力を受信させる。ロボットアームに対する動的制約および形状制約を満たしながら、一連の時間間隔にわたって、開始姿勢および終了姿勢とともに経路を含む軌道を求めさせる。ロボットアームは、コントローラを介してロボットアームを動かすためのモータを有するロボット駆動装置に接続される。RODデータからの各リンクのダイナミクスに基づいて動的制約を求めさせる。センサデータから環境の座標格子を生成して少なくとも1つの障害物および各リンクの終点のデカルト座標を求めることによって、形状制約を一次微分可能な関数として求めさせる。MLDモデルを用いてロボットアームについてのNLOプログラムを定式化させる。NLOプログラムは、開始姿勢および終了姿勢、動的制約および形状制約を入力として使用して、軌道がロボットエンドエフェクタを開始姿勢から終了姿勢に動かすように、一連の時間間隔における時間間隔ごとに、動的制約および形状制約ならびにロボットアーム操作制約を満たしながら軌道の目的関数を最適化する。NLOプログラムから得られる最適化された軌道に基づいてロボットアームを動かすようにロボット駆動装置のモータを制御させる。
本開示の別の実施形態によれば、ロボット装置に対する動的制約および形状制約を満たしながら、開始姿勢および終了姿勢に関連付けられた経路および対応する制御入力を含む軌道を求めるためのロボットシステムが提供される。経路は、ロボット装置が一連の時間間隔にわたって進むべき経路である。ロボット装置は複数のリンクを有するロボットアームを含み、ロボットアームは、ロボットアームを動かすためのモータを有するロボット駆動装置に接続され、ロボット装置はアクセス可能なメモリをさらに含む。メモリは、センサデータと、ロボット操作およびダイナミクス(ROD)データと、マルチリンクダイナミクス(MLD)モデルと、非線形最適化(NLO)プログラムと、目的関数とを含む。ロボットシステムは、プロセスを備え、プロセスは、RODデータからのさまざまな質量、形状、および慣性モーメントテンソルを含む各リンクのダイナミクスに基づいて動的制約を求めるように構成される。センサデータから環境の座標格子を生成して少なくとも1つの障害物および各リンクの終点のデカルト座標を求めることによって、形状制約を一次微分可能な関数として求める。MLDモデルを用いてロボットアームについてのNLOプログラムを定式化する。NLOプログラムは、開始姿勢および終了姿勢、動的制約および形状制約を入力として使用して、軌道がロボットエンドエフェクタを開始姿勢から終了姿勢に動かすように、一連の時間間隔における時間間隔ごとに、動的制約および形状制約ならびにロボットアーム操作制約を満たしながら軌道の目的関数を最適化する。NLOプログラムから得られる最適化された軌道に基づいてロボットアームを動かすようにロボット駆動装置のモータを制御する。
ここで開示されている実施形態について、添付の図面を参照しながらさらに説明する。示されている図面は必ずしも正確な縮尺ではなく、代わりに、ここで開示されている実施形態の原理を示すにあたり全体的に強調が加えられている。
本開示の一実施形態に係る、ロボット装置に関連する方法のいくつかの方法ステップを示すフロー図である。 本開示のいくつかの実施形態に係る、ロボット装置に関連するいくつかの方法を実行するために用いられるいくつかのコンポーネントを示すブロック図である。 本開示のいくつかの実施形態に係る、マルチリンク動的(MLD)モデルを用いてロボットアームについての非線形最適化(NOP)プログラムを定式化するいくつかのステップを示すブロック図である。 本開示のいくつかの実施形態に係る、ロボット装置に関連するいくつかの方法を実行するために用いられるいくつかのステップを示すフロー図である。 本開示のいくつかの実施形態に係る、障害物を避ける経路を有する方法のいくつかのステップを示す概略図である。 本開示のいくつかの実施形態に係る、グリッパを用いる方法のいくつかのステップを示す概略図である。 本開示のいくつかの実施形態に係る、基準座標系における2リンク平面マニピュレータを円形障害物とともに示す概略図である。 本開示のいくつかの実施形態に係る、障害物がある場合の平面3DoFマニピュレータについて本書で提案されている解法によって得られた解を示す概略図であり、マニピュレータエンドエフェクタの初期位置は(0.6,0)であり、目標位置は(0,0.6)である。 本開示のいくつかの実施形態に係る、3DoFマニピュレータシステムについて得られた最適制御を示すグラフ図である。 本開示のいくつかの実施形態に係る、3DoFマニピュレータシステムについて得られた最適制御を示すグラフ図である。 本開示のいくつかの実施形態に係る、3DoFマニピュレータシステムについて得られた最適制御を示すグラフ図である。 本開示のいくつかの実施形態に係る、3DoFマニピュレータシステムについて得られた状態軌道を示すグラフ図である。 本開示のいくつかの実施形態に係る、3DoFマニピュレータシステムについて得られた状態軌道を示すグラフ図である。 本開示のいくつかの実施形態に係る、3DoFマニピュレータシステムについて得られた状態軌道を示すグラフ図である。 本開示のいくつかの実施形態に係る、3DoFマニピュレータシステムについて得られた状態軌道を示すグラフ図である。 本開示のいくつかの実施形態に係る、3DoFマニピュレータシステムについて得られた状態軌道を示すグラフ図である。 本開示のいくつかの実施形態に係る、3DoFマニピュレータシステムについて得られた状態軌道を示すグラフ図である。 本開示のいくつかの実施形態に係る、ロボットアームを含むある種のロボット装置を示す概略図である。 本開示のいくつかの実施形態に係る、ロボットアームを含むある種のロボット装置を示す概略図である。 本開示のいくつかの実施形態に係る、方法を実行するために用いられるいくつかのステップを示すフロー図である。 本開示の一実施形態に係る、車両に関連する方法のいくつかの方法ステップを示すフロー図である。 本開示のいくつかの実施形態に係る、車両に関連する図9Aのステップ935を実行するために用いられるいくつかのステップを示すフロー図である。 本開示のいくつかの実施形態に係る、車両に関連する方法を実行するために用いられるいくつかのステップを示す概略図である。 本開示のいくつかの実施形態に係る、車両の移動経路計画システムに用いられるいくつかのコンポーネントを示すブロック図である。 本開示のいくつかの実施形態に係る、車両に対する障害物を避ける経路を有する方法のいくつかのステップを示す概略図である。 本開示のいくつかの実施形態に係る、車両についての方法を実行するために用いられるいくつかのステップを示すフロー図である。 本開示のいくつかの実施形態に係る、方法を用いる最適な2D車両軌道を示すグラフ図である。 本開示のいくつかの実施形態に係る、方法を用いる最適な2D車両入力軌道を示すグラフ図である。 本開示のいくつかの実施形態に係る、方法を用いる最適な2D車両入力軌道を示すグラフ図である。 本開示のいくつかの実施形態に係る、代替コンピュータを用いて実行可能な図1Aの方法を示すブロック図である。 本開示のいくつかの実施形態に係る、ロボット装置に関連するいくつかの方法を実行するために用いられるデータ処理システムのいくつかのコンポーネントを示すブロック図である。 本開示のいくつかの実施形態に係る、車両を制御するために用いられるいくつかのコンポーネントを示すブロック図である。 本開示のいくつかの実施形態に係る、車両の移動経路計画システムおよびいくつかの車両コントローラに用いられるいくつかのコンポーネントを示すブロック図である。 本開示のいくつかの実施形態に係る、車両内部のいくつかのコンポーネントを示すブロック図である。
実施形態の説明
上記図面はここで開示されている実施形態を示しているが、本明細書で述べるようにその他の実施形態も意図されている。本開示は、説明のための実施形態を、限定のためではなく代表として示す。当業者は、ここで開示されている実施形態の原理の範囲および精神に含まれるその他数多くの改良形および実施形態に想到することが可能である。
本開示は、動的システムの軌道最適化のための方法およびシステムに関し、より具体的には、形状制約付きの非線形ロボットシステムに関する。
図1Aは、本開示の実施形態に係る、方法を実行するためのいくつかの方法ステップを示すフロー図である。
図1Aのステップ115は、トランシーバを介して入力を受信することを含み、入力は、センサデータと、ロボット操作およびダイナミクス(robot operation and dynamics)(ROD)データと、マルチリンク動的(multi-link dynamic)(MLD)モデルと、非線形最適化(NLO)プログラムと、目的関数とを含む。
Figure 2022541352000002
Figure 2022541352000003
図1Aのステップ120は、ロボットアームに対する動的制約および形状制約を満たしながら、一連の時間間隔にわたって、開始姿勢および終了姿勢とともに経路を含む軌道を求めることを含み、ロボットアームは、ロボットアームを動かすためのモータを有するロボット駆動装置に接続される。
図1Aのステップ125は、RODデータからの各リンクのダイナミクスに基づいて動的制約を求めることを含み、各リンクのダイナミクスは、RODデータから得られる、さまざまな質量、形状、および慣性モーメントテンソルを含む。たとえば、第1のリンク、第2のリンク、およびグリッパのダイナミクスは、RODデータから得られる、障害物回避のための質量、形状、および慣性モーメントテンソルを含む。
Figure 2022541352000004
Figure 2022541352000005
センサデータから環境の座標格子を生成して少なくとも1つの障害物および各リンクの終点のデカルト座標を求めることによって、形状制約を一次微分可能な関数として求める。形状制約は、各リンクの終点のデカルト座標を用いて各リンク長をパラメータ化し、次いで、環境における少なくとも1つの障害物の各々からのパラメータ化位置の最小距離を見つけることによって、求められる。少なくとも1つの物体は、環境における2Dまたは3D空間内の凸形状または非凸形状のうちの一方であり得る。また、少なくとも1つの物体が非凸形状であり得る場合は、凸分解プログラムを利用して非凸形状が推定凸形状に変換され得る。
図1Aのステップ130は、MLDモデルを用いてロボットアームについてのNLOプログラムを定式化することを含み、NLOプログラムは、開始姿勢および終了姿勢、動的制約および形状制約を入力として使用して、軌道が開始姿勢と終了姿勢との間の経路をたどるように、一連の時間間隔における時間間隔ごとに、動的制約および形状制約ならびにロボットアーム操作制約を満たしながら軌道の目的関数を最適化する。目的関数は、開始姿勢から終了姿勢までの経路の軌道に沿った一連の時間間隔にわたるロボットアームの状態および制御入力の関数の和であり得る。
図1Aのステップ135は、軌道に基づいてロボットアームを動かすようにロボット駆動装置のモータを制御することを含む。
本開示の実施形態は、非限定的な例として、形状制約を用いて障害物とロボットとの間の衝突回避をモデル化することができる特有の局面を提供する。障害物とロボットアームとの間の最小距離は衝突を避けるのに十分な大きさでなければならないという、形状制約が課される。微分可能な制約を用いてこれを達成するために、本開示は、最小の球体を用いて障害物を取り囲み、ロボットの終点によってロボットをパラメータ化する。ロボットの終点は、終点の凸結合を用いることによってロボット上の任意の点を得ることができるように定義される。終点の凸結合は終点の合計であり、各終点の係数は非負である。
図1Bは、本開示のいくつかの実施形態に係る、いくつかの方法を実行するために用いられるいくつかのコンポーネントを示すブロック図である。
本開示の実施形態によれば、ロボット装置150は、機械システム160と、センサ170と、制御システム180と、ネットワーク193と、電源195とで構成される。機械システム160は、ロボットアーム161と、グリッパ163と、グリッパ用ベース165とで構成される。センサは、環境センサ171と、位置センサ173と、速度センサ174とで構成され得る。制御システムは、データ処理システム181で構成される。
図1Cは、本開示のいくつかの実施形態に係る、マルチリンク動的(MLD)モデルを用いてロボットアームについての非線形最適化(NOP)プログラムを定式化するいくつかのステップを示すブロック図である。
図1Cは、本開示のいくつかの実施形態に係る、マルチリンク動的(MLD)モデルを用いてロボットアームについての非線形最適化(NOP)プログラムを定式化するいくつかのステップを示すブロック図である。無衝突軌道を求めるためのアルゴリズムでは、まず、積分法を用いてMLDMのダイナミクスを離散化して、ロボットアームの進化を記述する一組の非線形代数方程式を得る(131)。離散化された方程式を用いて、ロボットの終点の位置を、追加の代数方程式を用いて各時点において定義する(132)。適切な半径の球体によって障害物を取り囲む(133)。障害物を取り囲む球体とロボットの終点の凸結合の集合との間の最短距離が、障害物を取り囲む球体の半径よりも大きくなくてはならないという、形状制約を課す(134)。離散化されたダイナミクス制約の集合、ロボットの終点をモデル化する方程式、および衝突回避制約が合わせて、適切な目的関数が最小化される非線形最適化プログラムの制約を形成する(136)。非線形最適化プログラムを解くことによってロボットの無衝突軌道を得る(136)。
図1Dは、本開示のいくつかの実施形態に係る、ロボット装置に関連するいくつかの方法を実行するために用いられるいくつかのステップを示すフロー図である。
Figure 2022541352000006
図2Aは、本開示のいくつかの実施形態に係る、障害物を避ける経路を有する方法のいくつかのステップを示す概略図である。
図2Aは、本開示のいくつかの実施形態に係る、障害物を避ける経路を有する方法のいくつかのステップを示す概略図である。障害物201は球体として表されている。障害物と衝突しない軌道202は、球体に侵入しない軌道である。衝突する軌道203は、球体に侵入する軌道である。
図2Bは、本開示のいくつかの実施形態に係る、グリッパを用いる方法のいくつかのステップを示す概略図である。ロボットベース225はロボットアーム221に接続される。ロボットアーム221はリンクによって別のアーム222に接続され、アーム222はリンクによってグリッパ223に接続される。第1のロボットアーム221の終点211,212,226,225は、ロボットアーム上のすべての点を終点の凸結合として得ることができるように定義される。同様に、第2のロボットアーム222の終点213,214,215,216は、ロボットアーム上のすべての点を終点の凸結合として得ることができるように定義される。終点217,218,219,220は、グリッパ223上の任意の点を終点の凸結合として得ることができるように定義される。
図3は、本開示のいくつかの実施形態に係る、基準座標系における2リンク平面マニピュレータを円形障害物とともに示す概略図である。
Figure 2022541352000007
Figure 2022541352000008
図4は、本開示のいくつかの実施形態に係る、障害物がある場合の平面3DoFマニピュレータについて本書で提案されている解法によって得られた解を示す概略図であり、マニピュレータエンドエフェクタの初期位置は(0.6,0)であり、目標位置は(0,0.6)である。
図4は、本開示のいくつかの実施形態に係る、形状制約を含む非線形最適化プログラムを解くことによって得られる、2つの障害物408,410がある場合の3つのリンク402,406,408を有する3DoFマニピュレータの動きを示す。マニピュレータは初期位置(0.6,0)から開始し、障害物408に向かって反時計回りに動く。これによって、リンク402はリンク404に向かって折り重なり始める。次いで、マニピュレータは最終点に向かって時計回りに動き始める。これによって、マニピュレータは、障害物410との衝突を避けるために必要に応じてリンクをさらに曲げる。最後に、マニピュレータはすべてのアームを広げて最終位置に到達する。
図5A、図5Bおよび図5Cは、本開示のいくつかの実施形態に係る、3DoFマニピュレータシステムについて得られた最適制御を示すグラフである。
図5Aは、図4の動作の実行を可能にするリンク406の角加速度についての最適入力を示す。図5Bは、図4の動作の実行を可能にするリンク404の角加速度についての最適入力を示す。図5Cは、図4の動作の実行を可能にするリンク402の角加速度についての最適入力を示す。
図6Aから図6Fは、本開示のいくつかの実施形態に係る、3DoFマニピュレータシステムについて得られた状態軌道を示すグラフである。
図6Aおよび図6Bは、図5の最適制御を実行した結果として生じるリンク406の角度位置およびリンク406の角速度をそれぞれ示す。図6Cおよびは図6Dは、図5の最適制御を実行した結果として生じるリンク404の角度位置およびリンク404の角速度をそれぞれを示す。図6Eおよび図6Fは、図5の最適制御を実行した結果として生じるリンク402の角度位置およびリンク402の角速度をそれぞれ示す。
図7Aおよび図7Bは、本開示のいくつかの実施形態に係る、ロボットアームを含む異なる種類のロボット装置を示す概略図である。
図7Aは、本開示のいくつかの実施形態においてロボットのエンドエフェクタに取り付けられるグリッパ701の概略図を示す。グリッパ701は、グリッパのベース712を介してロボットのエンドエフェクタに取り付けられる。グリッパ701のいくつかの実施形態において、グリッパは、横方向710に動いてロボットが把持すべき任意の物体を把持することができる2つの平行ジョー711を備えている。
図7Bは、ロボットマニピュレータを含む例示的なホロノミックカートを示す。いくつかの実施形態において、可動カート732を有するロボット702は、カート732に装着された、リンク723,725とグリッパ727とを有するロボットアーム722を有する。グリッパ727は環境内の物体をつかむことができる。カート732は1つ以上の車輪711,712を含んでもよく、これらの車輪は2自由度で動作するホロノミック車輪であってもよい。さらなる実施形態において、ラップアラウンド前方コンベアベルト713がホロノミックカート732に含まれてもよい。いくつかの例では、ラップアラウンド前方コンベアベルト713は、ロボット702が、トラックコンテナまたはパレット(図示せず)への箱の積み降ろしをする際に、そのグリッパ727を左右に回転させなくてもよいようにすることができる。機械システムは、ロボットアーム722、グリッパ727、コンベアベルト713、(可動またはホロノミック)カート732、および1つ以上の車輪711,712を含む、図7Aに関して上記に説明したコンポーネントを含んでもよい。検知システムは、ロボットアーム722が動くと環境に関する情報を検知する2Dセンサおよび/または3D深度センサ(図示せず)などの、ロボットアーム722に取り付けられる1つ以上のセンサを有してもよい。さらに、カート732またはグリッパ727の前、横、後ろ、下、または任意の場所にライト737が位置決めされてもよい。
図8は、本開示のいくつかの実施形態に係る、方法を実行するために用いられるいくつかのステップを示すフロー図である。たとえば、図8は、本開示の実施形態におけるステップを示す概略フローチャートである。ステップ810は、ロボットの初期位置および最終位置と、ロボットの状態および制御の限界に対する制約と、最小化すべきコスト関数とについての入力である。アルゴリズムはまた、ステップ815においてロボットが避けなければならない障害物の位置を入力として取り込み、さらにステップ820においてマルチリンク動的モデル(MLDM)を入力として取り込む。アルゴリズムは続いて、ステップ825において積分法を用いてMLDMにおけるダイナミクスを離散化して、ロボットの軌道を記述する一組の非線形方程式を得る。入力ステップ815における障害物ごとに、アルゴリズムは続いて、ステップ830において障害物を取り囲む最小の球体を定義する。次に、アルゴリズムは、ステップ831において経時的なロボットのリンクの終点の軌道を示す追加の変数を導入する。終点は、リンク上の任意の点を終点の凸結合として得ることができるように選択される。ステップ832において、離散化されたMLDMにおける変数へのリンクの終点に関連する追加の代数制約を定義する。衝突回避を課す形状制約は、障害物とロボット内のリンクとの対ごとに生成される。次いで、ステップ840の非線形最適化プログラムによって、入力810として提供された目的関数を最小化する。非線形最適化プログラムステップ840は、MLDM離散化における変数、終点を示す追加の変数からなり、制約は、MLDM離散化からの代数制約、終点のための追加の代数制約、および形状制約を含む。
車両の実施形態
図9Aは、本開示の一実施形態に係る、車両に関連する方法のいくつかの方法ステップを示すフロー図である。
図9Aのステップ915は、トランシーバを介して入力を受信することを含み、入力は、センサデータと、車両操作およびダイナミクス(vehicle operation and dynamics)(ROD)データと、マルチリンク動的(MLD)モデルと、非線形最適化(NLO)プログラムと、目的関数とを含む。
Figure 2022541352000009
Figure 2022541352000010
図1Aのステップ920は、車両に対する動的制約および形状制約を満たしながら、一連の時間間隔にわたって、開始点および終了点を有する経路を含む軌道を求めることを含む。
図1Aのステップ925は、VODデータからの各リンクのダイナミクスに基づいて動的制約を求めることを含み、車両のダイナミクスは、VODデータから得られる、質量、形状、および慣性モーメントテンソルを含む。
Figure 2022541352000011
Figure 2022541352000012
Figure 2022541352000013
センサデータから環境の座標格子を生成して少なくとも1つの障害物および車両の終点のデカルト座標を求めることによって、形状制約を一次微分可能な関数として求める。形状制約は、車両の終点のデカルト座標を用いて車両をパラメータ化し、次いで、環境における少なくとも1つの障害物の各々からのパラメータ化位置の最小距離を見つけることによって、求められる。少なくとも1つの物体は、環境における2Dまたは3D空間内の凸形状または非凸形状のうちの一方であり得る。また、少なくとも1つの物体が非凸形状であり得る場合は、凸分解プログラムを利用して非凸形状が推定凸形状に変換され得る。
図1Aのステップ930は、MLDモデルを用いて車両についてのNLOプログラムを定式化することを含み、NLOプログラムは、開始姿勢および終了姿勢、動的制約および形状制約を入力として使用して、軌道が開始姿勢と終了姿勢との間の経路をたどるように、一連の時間間隔における時間間隔ごとに、動的制約および形状制約ならびに車両操作制約を満たしながら軌道の目的関数を最適化する。目的関数は、開始姿勢から終了姿勢までの経路の軌道に沿った一連の時間間隔にわたる車両の状態および制御入力の関数の和であり得る。
図1Aのステップ935は、軌道に基づいて車両を動かすように車両のモータおよびハンドルを制御することを含む。
本開示の実施形態は、非限定的な例として、形状制約を用いて障害物とロボットとの間の衝突回避をモデル化することができる特有の局面を提供する。障害物と車両との間の最小距離は衝突を避けるのに十分な大きさでなければならないという、形状制約が課される。微分可能な制約を用いてこれを達成するために、本開示は、最小の球体を用いて障害物を取り囲み、車両の終点によって車両をパラメータ化する。車両の終点は、終点の凸結合を用いることによって車両上の任意の点を得ることができるように定義される。終点の凸結合は終点の合計であり、各終点の係数は非負である。
図9Bは、本開示のいくつかの実施形態に係る、車両に関連する図9Aのステップ935を実行するために用いられるいくつかのステップを示すフロー図である。ステップ931は、積分法(明示的オイラー、暗黙的オイラー等)を用いてVODのダイナミクスを離散化して、車両の経時的進化を記述する非線形代数制約の集合を得ることを開示している。ステップ932は、終点の凸結合の集合が車両を取り囲むように車両の端の位置をモデル化する追加の代数制約を含む。ステップ933では、球体を用いて障害物を取り囲む。ステップ934では、ロボットアームの終点の凸結合と障害物との間の最小距離が球体の半径よりも大きくなくてはならないという、形状制約を課す。ステップ936では、VODの離散化されたダイナミクスと、各リンクアームの端の位置をモデル化する代数制約と、形状制約と、ロボットアクチュエータの範囲とからなる非線形最適化プログラム(NOP)を解く。
図10Aは、本開示のいくつかの実施形態に係る、車両に関連する方法を実行するために用いられるいくつかのステップを示す概略図である。たとえば、図10Aは、車両の軌道最適化1009のための方法を実行するために用いられるステップを示す概略図である。車両に搭載されるさまざまなセンサは、軌道オプティマイザにセンサデータ1001を提供する。このセンサデータ1001は、車両に対する障害物の位置および近似形状を生成する。軌道オプティマイザソフトウェア1002は、車両のダイナミクスに起因する微分制約とともにこのデータを用いて、車両の動きについての目的関数1005を最適化する軌道を生成する。目的関数は、車両の軌道に沿った各ステップにおける状態および入力のコストの和である。軌道生成器1002は、通信ネットワーク1014を用いて最適軌道を制御モジュール1015に送信する。制御モジュールは、通信チャネル1011を介して所望の制御入力をモータコントローラ1012に渡すことによって車両の入力を制御する。モータコントローラは次いで、通信チャネル1013を介して最適軌道に従うように車両のステアリングおよび速度1016を制御する。ステアリングおよび速度は検知され、リンク1019を介して制御モジュールに送り返される。
図10Bは、本開示のいくつかの実施形態に係る、車両の移動経路計画システムに用いられるいくつかのコンポーネントを示すブロック図である。たとえば、図10Bは、本開示の一実施形態に係る経路計画システム1030およびメモリ1040の全体構造を示す。経路計画システム1030は、経路計画システム1030のモジュールを実行するための少なくとも1つのプロセッサ1080を含み得る。プロセッサ1080は、データ1042を格納するメモリ1040に接続される(1031,1041)。メモリ1040はまた、好ましい運転スタイルに合わせて訓練されているデータ1042を選択する論理1043を格納する。メモリ1040はまた、所与の時間にわたってセンサデータ1021を格納し(1044)、プロセッサ1080はこのデータを用いて時系列信号を構築する。
図11は、本開示のいくつかの実施形態に係る、車両に対する障害物を避ける経路を有する方法のいくつかのステップを示す概略図である。たとえば、図11は、静的障害物1111がある場合の、車両1110についての車両の無衝突軌道1114の実施形態を示す。車両の目的は、最短時間で障害物1111との衝突を避けながら初期状態1112から最終状態1113に移ることである。
図12は、本開示のいくつかの実施形態に係る、車両についての方法を実行するために用いられるいくつかのステップを示すフロー図である。たとえば、図12は、本開示の実施形態におけるステップを示す概略フローチャート1201である。アルゴリズムは、車両の初期位置および最終位置、車両の状態および制御の限界に対する制約、ならびに最小化すべきコスト関数を、入力として取り込む(1210)。アルゴリズムはまた、車両が避けなければならない障害物の位置を入力として取り込み(1215)、さらに車両操作およびダイナミクス(VOD)を入力として取り込む(1220)。アルゴリズムは続いて、積分法を用いてVODにおけるダイナミクスを離散化して、車両の軌道を記述する一組の非線形方程式を得る(1225)。入力1215における障害物ごとに、アルゴリズムは続いて、障害物を取り囲む最小の球体を定義する(1230)。次に、アルゴリズムは、経時的な車両の終点の軌道を示す追加の変数を導入する(1231)。終点は、車両上の任意の点を終点の凸結合として得ることができるように選択される。離散化されたVODにおける変数への車両の終点に関連する追加の代数制約を定義する(1232)。衝突回避を課す形状制約は、障害物と車両との対ごとに生成される。次いで、非線形最適化プログラム1240によって、入力1210として提供された目的関数を最小化する。非線形最適化プログラム1240は、VOD離散化における変数、終点を示す追加の変数からなり、制約は、VOD離散化からの代数制約、終点のための追加の代数制約、および形状制約を含む。
図13は、本開示のいくつかの実施形態に係る、方法を用いる最適な2D車両軌道を示すグラフ図である。たとえば、図13は、障害物を避ける2D車両の最適軌道を示す。車両の状態は、横軸に沿った位置、縦軸に沿った位置、横軸に対する車両の角度、および車両の速度からなる。車両は当初は(0,0,0,0)の状態にあり、目標状態は(3,3,π/2,0)として与えられる。半径1の円形障害物が場所(2,2)に位置している。
図14Aおよび図14Bは、本開示のいくつかの実施形態に係る、方法を用いる最適な2D車両入力軌道を示すグラフ図である。たとえば、図14Aは、図13の軌道を実行するために用いる必要がある制御変数のうちの1つである、車両の角加速度の最適軌道である。図14Bは、図13の軌道を実行するために用いる必要がある制御変数のうちの1つである、車両の加速度の最適軌道である。
実験
ロボットシステムの無衝突の最適軌道を自動的に生成するために形状制約ならびに状態および入力制約を組み込むという技術的問題を解決する複雑さをさらに理解するために、いくつかの概念について実験を行った。克服しなければならないいくつかの課題は、衝突の確認は典型的には最適化問題を解くことによって行われるということであった。そのような定式化によって、その定式化自体がすぐに微分可能な制約に適したものになるわけではない。その結果、制約の少なくとも1回の微分可能性を仮定する、非線形計画法についての従来技術のほとんどは、軌道最適化に適用できない。
実験したいくつかの動作計画手法では、経路または経路の一部と環境内の障害物との衝突を行う計算的な形状に基づくモジュールを用いた。衝突をもたらした経路の部分は、計画モジュールによって拒絶された。しかしながら、2点間を移動する間の剛体と非凸形状との衝突検出/確認は、計算コストが高いことが分かり、それ以上調べなかった。
多くの実験における別の概念は、本開示の実施形態を展開させる際に直面した課題のうちのいくつかをどのように解決するかについてさらなる知識を得ることができるような軌道最適化であった。たとえば、いくつかの軌道最適化実験におけるプロセスでは、ロボットのダイナミクスに従いながら、かつロボットに課された状態および制御制約を満たしながら、ロボットを既知の初期状態から最終的な所望の目標状態に駆動する、ロボット装置のための最適な一連の状態および制御入力対を生成した。ロボットシステム(または実験中に試験した他の動的システム)のダイナミクスは、システムのパラメータの知識が与えられた、システムの状態の進化を表す一組の微分方程式であった。特に、ロボットシステムのこれらのパラメータは、ロボットの慣性および減衰特性であり得る。このプロセスは、最適化時にロボットのダイナミクスを含まないロボットの運動学的経路を生成するプロセスとは異なることが、この実験から注目すべき重要なことであると思われた。
実験から学んだいくつかの局面は、軌道最適化は、システムのすべての制約に従いながら所望の目的関数を最適化するための一連の状態および入力を生成する手順であることである。ある実験で用いた軌道最適化のための軌道計画アプローチでは、問題を運動学的計画とその後の動的計画とに分解することを用いるように軌道計画を構成した。運動学的計画は、環境内に存在する障害物との衝突がないか確認しながら、ロボットの構成空間内に経路を配置するように設定した。しかしながら、実験時のいくつかの試験では、実現不可能な軌道、または準最適でありダイナミクス的に実現不可能であることが後で判明した軌道がもたらされることが多かった。得られたことまたは学んだことは、運動学的計画モジュールがダイナミクスを考慮しなかったため、計画モジュールがシステムのダイナミクスおよび制御飽和限界を認識しなかったということである。この結果、システムの制御限界を飽和させる軌道がもたらされ、または、動的に非平滑となり(すなわち、ロボットは動作中に非常に高い加速度をしばしば経験し)、望ましくないことが判明した。それゆえ、本開示の認識は、ロボットシステムの無衝突の最適軌道を自動的に生成するためには形状制約ならびに状態および入力制約を組み込むことが非常に望ましいということである。この認識によって、ロボットと障害物との間の衝突確認が不要な軌道最適化も可能となった。なぜなら、衝突確認は最適化時の制約として実行されるからである。
いくつかの他の実験では、軌道最適化に用いられると考えられるいくつかの非線形最適化手法を実験した。これらの実験は、第1の直接的なコロケーション実験的方法、および第2の微分動的計画法(DDP)に基づく実験的アプローチ、の2つのカテゴリーに分けた。これらの実験的手法のすべてにおいて、状態および制御の軌道は、それぞれx1,x2,…,xN、およびu1,u2,…,uNとして時間的に離散化した。得られた知識は、直接的なコロケーション法に基づく実験的方法は、これらの時点における制約としてダイナミクスの積分を実行し、非線形プログラムのインスタンスとして最適化問題全体を解いたことである。コロケーションに基づく実験的手法は、問題全体を最適化のインスタンスと見なし、DDPに基づく実験的アプローチと比べて、より良い解を提供するように見えることが、さらに分かった。
DDP関連の実験的アプローチに関して、軌道最適化の問題全体を、一連の再帰的なより小さな問題に分解した。より小さな問題の各々は、単一の時点において個々の制御にわたって作用し、時間を逆行して解いた。その結果、直接的なコロケーション実験はより良い解を提供するように見えたが、この解は、長い計算時間をかけて、または計算コストを犠牲にして、得られた。DDP関連手法では解がより迅速に提供されたが、解の品質は損なわれたことが分かった。これらの実験的方法のほとんどは、状態および入力制約を組み込むように見えたが、形状制約を組み込むことを試みるという単なる事実は容易ではなく非常に困難であることが分かった。この理由は主に、剛体と任意の形状との衝突回避は非凸かつ微分不可能な制約であるからである。DDPに基づく手法およびコロケーションに基づく手法の双方は、実現可能な解を見つけるために制約の勾配に依存する、勾配に基づくアプローチであるため、最適化時に微分不可能な制約に対処することができない。
実験した衝突回避アプローチに関して、そのような実験したアプローチでは、ロボットの構成空間における無衝突軌道を計算してから、逆運動学を用いてモータトルクを計算した。次いで、いくつかのヒューリスティックアプローチ、たとえば許容可能な制御セット上への投影を用いて、ロボットの制御制約が説明された。しかしながら、許容可能なセット上の投影を用いると、実現可能な解しか得られないため、軌道についての準最適な解につながる。
本開示のいくつかの実施形態は、状態および制御制約がある場合のほとんどの軌道最適化問題を非線形最適化手法を用いて解くことができるという、実験から得られた認識に基づいている。しかしながら、環境内に障害物がある場合にマニピュレータアームの動きに起因して課される形状制約は、非凸の微分不可能な制約をもたらす。なぜなら、最小関数は一般的に、数学的に微分不可能であるからである。障害物との衝突を避けるために、最適化アルゴリズムは、すべての障害物からの各リンクの最小距離が当該リンクの動作中は常に正であることを保証する必要がある。すべての非線形最適化手法は、すべての制約の勾配情報を用いるので、形状制約はその微分不可能性のためにほとんどの非線形最適化手法で用いることができない。
特徴
ロボット装置
本開示の別の実施形態によれば、プロセッサおよびアクセス可能なメモリを含むコンピューティングシステムが提供される。コンピューティングシステムは、センサデータと、ロボット操作およびダイナミクス(ROD)データと、マルチリンク動的(MLD)モデルと、非線形最適化(NLO)プログラムと、目的関数とを含む入力を受信するように構成される。ロボットアームに対する動的制約および形状制約を満たしながら、一連の時間間隔にわたって、開始姿勢および終了姿勢とともに経路を含む軌道を求め、ロボットアームは、ロボットアームを動かすためのモータを有するロボット駆動装置に接続される。RODデータからの各リンクのダイナミクスに基づいて、動的制約を求める。センサデータから環境の座標格子を生成して少なくとも1つの障害物および各リンクの終点のデカルト座標を求めることによって、形状制約を一次微分可能な関数として求める。MLDモデルを用いてロボットアームについてのNLOプログラムを定式化し、NLOプログラムは、開始姿勢および終了姿勢、動的制約および形状制約を入力として使用して、軌道が開始姿勢と終了姿勢との間の経路をたどるように、一連の時間間隔における時間間隔ごとに、動的制約および形状制約ならびにロボットアーム操作制約を満たしながら軌道の目的関数を最適化する。軌道に基づいてロボットアームを動かすようにロボット駆動装置のモータを制御する。以下の1つ以上の局面、または以下の1つ以上の局面の組み合わせは、上記実施形態を改良した実施形態を構成するものとして意図されている。
本開示の局面によれば、形状制約は、各リンクの終点のデカルト座標を用いて各リンク長をパラメータ化し、次いで、環境における少なくとも1つの障害物の各々からのパラメータ化位置の最小距離を見つけることによって、求められる。本局面の少なくとも1つの利点は、目的関数が、開始姿勢から終了姿勢までの経路の軌道に沿った一連の時間間隔にわたるロボットアームの状態および制御入力の関数の和であることであり得る。
別の局面では、ロボットアーム操作制約は、ロボットアームの最大線速度および最大加速度と、所定範囲の状態と、ロボットアームを操作するための制御入力とを備える少なくとも1つの動作制約を含んでもよい。状態は、各関節の角度位置と、最大線速度および最大加速度を含む角速度とを含み、制御入力は、関節の各関節に加えられるトルクの量を含む。さらに、一局面では、ロボットアームは、ベースと、第1の関節を介してベースに結合された第1のリンクと、第2の関節を介して第1のリンクに結合された第2のリンクとを含み、第1のリンクはベースと第2のリンクとの間に配置され、ロボットアームはさらに、グリッパ関節を介して第2の関節と反対側の第2のリンクの端に結合されたグリッパを含んでもよい。
またさらに、別の局面では、各リンクのダイナミクスは、RODデータから得られる、さまざまな質量、形状、および慣性モーメントテンソルを含んでもよい。第1のリンク、第2のリンク、およびグリッパのダイナミクスは、RODデータから得られる、障害物回避のための質量、形状、および慣性モーメントテンソルを含む。一局面では、RODデータは、ロボットアームの各関節を動かすためにロボット駆動装置を介してモータによって加えられるトルクなどの操作制御入力に加えて、ロボットアームの動きのシミュレーションを可能にするロボットアームのモデルを含むロボットアーム情報を含んでもよい。
別の局面では、少なくとも1つの物体は、環境における2Dまたは3D空間内の凸形状または非凸形状のうちの一方であってもよい。少なくとも1つの物体が非凸形状である場合は、凸分解プログラムを利用して非凸形状が推定凸形状に変換される。またさらに、別の局面では、センサデータは、環境における少なくとも1つのセンサから得られ、有線接続または無線接続を介してコンピューティングシステムに関連付けられ、センサデータは、データを出力するおよびデータを受信するように構成されたトランシーバを介してメモリに格納され、各時間間隔の後に、センサデータは少なくとも1つのセンサによって更新されてもよい。
本開示の別の実施形態によれば、ロボット装置に対する動的制約および形状制約を満たしながら、開始姿勢および終了姿勢に関連付けられた経路および対応する制御入力を含む軌道を求めるための方法が提供される。経路は、ロボット装置が一連の時間間隔にわたって進むべき経路である。ロボット装置は複数のリンクを有するロボットアームを含み、ロボットアームは、ロボットアームを動かすためのモータを有するロボット駆動装置に接続される。方法は、メモリに格納されたダイナミクスデータからのさまざまな質量、形状、および慣性モーメントテンソルを含む各リンクのダイナミクスに基づいて動的制約を求めることを備える。メモリに格納されたセンサデータから環境の座標格子を生成して少なくとも1つの障害物および各リンクの終点のデカルト座標を求めることによって、形状制約を一次微分可能な関数として求める。マルチリンクダイナミクスモデルを用いてロボットアームについての非線形最適化(NLO)プログラムを定式化する。NLOプログラムは、開始姿勢および終了姿勢、動的制約および形状制約を入力として使用して、軌道が開始姿勢と終了姿勢との間の経路をたどるように、一連の時間間隔における時間間隔ごとに、動的制約および形状制約ならびにロボットアーム操作制約を満たしながら軌道の目的関数を最適化する。軌道に基づいてロボットアームを動かすようにロボット駆動装置のモータを制御する。以下の1つ以上の局面、または以下の1つ以上の局面の組み合わせは、上記実施形態を改良した実施形態を構成するものとして意図されている。
本開示の局面によれば、形状制約は、各リンクの終点のデカルト座標を用いて各リンク長をパラメータ化し、次いで、環境における少なくとも1つの障害物の各々からのパラメータ化位置の最小距離を見つけることによって、求められてもよく、動的制約は、RODデータからの、さまざまな質量、形状、および慣性モーメントテンソルを含む各リンクのダイナミクスによって求められ、各リンクのダイナミクスはラグランジュ的手法を用いて考慮される。
本局面の少なくとも1つの利点は、目的関数が、開始姿勢から終了姿勢までの経路の軌道に沿った一連の時間間隔にわたるロボットアームの状態および制御入力の関数の和であることであり得る。別の局面では、目的関数による最適化は、環境に存在する少なくとも1つの障害物の領域を避けることに起因して空間的非凸制約を受け、各リンクの軌道ごとに少なくとも1つの空間的非凸制約を求めることが、環境の座標格子上にリンクの動作方向の軸上の場所の位置を投影するための値の間隔を規定して空間的非凸制約の集合を生成することによって行われ、各リンクの軌道がその軌道についての開始姿勢から終了姿勢への動きを完了すると時間のセットを求め、目的関数の最適化は、時間のセットを更新して経路に沿った複数のリンクについての軌道を最適化することによって、各リンクのダイナミクスおよび空間的非凸制約の集合に従って行われてもよい。
別の局面では、ロボットアーム操作制約は、ロボットアームを操作するための所定範囲の状態および制御入力を含み、ロボットアームは、ベースと、第1の関節を介してベースに結合された第1のリンクと、第2の関節を介して第1のリンクに結合された第2のリンクとを含み、第1のリンクはベースと第2のリンクとの間に配置され、ロボットアームはさらに、グリッパ関節を介して第2の関節と反対側の第2のリンクの端に結合されたグリッパを含み、状態は、各関節の角度位置および角速度を含み、制御入力は、関節の各関節に加えられるトルクの量を含んでもよい。
別の局面では、環境を通る特定の経路を設けることを求める第1の要求をトランシーバを介して受信し、第1の要求に対する第1の応答をトランシーバを介して送信し、第1の応答は特定の経路を備え、特定の経路は、開始姿勢と終了姿勢との間の経路をたどる軌道を含んでもよい。
車両
本開示の別の実施形態によれば、プロセッサおよびアクセス可能なメモリを含むコンピューティングシステムが提供される。コンピューティングシステムは、センサデータと、車両操作およびダイナミクス(VOD)データと、車両動的(VD)モデルと、非線形最適化(NLO)プログラムと、目的関数とを含む入力を受信するように構成される。車両に対する動的制約および形状制約を満たしながら、一連の時間間隔にわたって、開始姿勢および終了姿勢とともに経路を含む軌道を求める。車両は、モータと、車両を経路に沿って誘導するためのおよびステアリング駆動システムとを有する。VODデータからの車両操作およびダイナミクス(VOD)のダイナミクスに基づいて動的制約を求める。センサデータから環境の座標格子を生成して少なくとも1つの障害物および車両の終点のデカルト座標を求めることによって、形状制約を一次微分可能な関数として求める。VDモデルを用いて車両についてのNLOプログラムを定式化する。NLOプログラムは、開始姿勢および終了姿勢、動的制約および形状制約を入力として使用して、軌道が車両を開始姿勢から終了姿勢に動かすように、一連の時間間隔における時間間隔ごとに、動的制約および形状制約ならびに車両操作制約を満たしながら軌道の目的関数を最適化する。NLOプログラムから得られる最適化された軌道に基づいて車両を動かすように車両のモータおよび車両ステアリング駆動システムを制御する。
本開示の別の実施形態によれば、車両に対する動的制約および形状制約を満たしながら、開始姿勢および終了姿勢に関連付けられた経路および対応する制御入力を含む軌道を求めるための方法が提供される。経路は、車両が一連の時間間隔にわたって進むべき経路である。車両は、モータと、車両を経路に沿って誘導するためのステアリング駆動システムとを有する。方法は、メモリに格納された車両操作およびダイナミクス(VOD)データからのさまざまな質量、形状、および慣性モーメントテンソルを含む車両のダイナミクスに基づいて動的制約を求めることを含む。メモリに格納されたセンサデータから環境の座標格子を生成して少なくとも1つの障害物および車両の終点のデカルト座標を求めることによって、形状制約を一次微分可能な関数として求める。車両動的(VD)モデルを用いて車両についての非線形最適化(NLO)プログラムを定式化する。NLOプログラムは、開始姿勢および終了姿勢、動的制約および形状制約を入力として使用して、軌道が車両を開始姿勢から終了姿勢に動かすように、一連の時間間隔における時間間隔ごとに、動的制約および形状制約ならびに車両操作制約を満たしながら軌道の目的関数を最適化する。NLOプログラムから得られる最適化された軌道に基づいて車両を動かすように車両のモータおよび車両ステアリング駆動システムを制御する。
本開示の別の実施形態によれば、実行可能命令で符号化された非一時的なコンピュータ読取可能媒体が提供され、実行可能命令は、実行されると、1つ以上のデータ処理システムに、センサデータと、車両操作およびダイナミクス(VOD)と、車両動的(VD)モデルと、非線形最適化(NLO)プログラムと、目的関数とを含む入力を受信させる。車両に対する動的制約および形状制約を満たしながら、一連の時間間隔にわたって、開始姿勢および終了姿勢とともに経路を含む軌道を求めさせる。車両は、モータと、車両を経路に沿って移動させ誘導するためのステアリング駆動システムとを有する。VODデータからの車両のダイナミクスに基づいて動的制約を求めさせる。センサデータから環境の座標格子を生成して少なくとも1つの障害物および車両の終点のデカルト座標を求めることによって、形状制約を一次微分可能な関数として求めさせる。VDモデルを用いて車両についてのNLOプログラムを定式化させる。NLOプログラムは、開始姿勢および終了姿勢、動的制約および形状制約を入力として使用して、軌道が車両を開始姿勢から終了姿勢に動かすように、一連の時間間隔における時間間隔ごとに、動的制約および形状制約ならびに車両操作制約を満たしながら軌道の目的関数を最適化する。NLOプログラムから得られる最適化された軌道に基づいて車両を動かすように車両のモータおよび車両ステアリング駆動システムを制御させる。
本開示の別の実施形態によれば、車両に対する動的制約および形状制約を満たしながら、開始姿勢および終了姿勢に関連付けられた経路および対応する制御入力を含む軌道を求めるための車両システムが提供される。経路は、車両が一連の時間間隔にわたって進むべき経路である。車両は、モータと、車両を経路に沿って誘導するためのステアリング駆動システムと、アクセス可能なメモリとを有する。メモリは、センサデータと、車両操作およびダイナミクス(VOD)データと、車両ダイナミクス(VD)モデルと、非線形最適化(NLO)プログラムと、目的関数とを含む。車両システムは、プロセスを含み、プロセスは、VODデータからのさまざまな質量、形状、および慣性モーメントテンソルを含む車両のダイナミクスに基づいて動的制約を求めるように構成される。センサデータから環境の座標格子を生成して少なくとも1つの障害物および車両の終点のデカルト座標を求めることによって、形状制約を一次微分可能な関数として求める。VDモデルを用いて車両についてのNLOプログラムを定式化し、NLOプログラムは、開始姿勢および終了姿勢、動的制約および形状制約を入力として使用して、軌道が車両を開始姿勢から終了姿勢に動かすように、一連の時間間隔における時間間隔ごとに、動的制約および形状制約ならびに車両操作制約を満たしながら軌道の目的関数を最適化する。NLOプログラムから得られる最適化された軌道に基づいて車両を動かすように車両のモータおよび車両ステアリング駆動システムを制御する。
以下の1つ以上の局面、または以下の1つ以上の局面の組み合わせは、上記実施形態を改良した実施形態を構成するものとして意図されている。
いくつかの局面では、形状制約は、車両の終点のデカルト座標を用いて各リンク長をパラメータ化し、次いで、環境における少なくとも1つの障害物の各々からのパラメータ化位置の最小距離を見つけ、最小距離が障害物を取り囲む円の最小半径を超えることを要求することによって、求められてもよい。
別の局面では、目的関数は、開始姿勢から終了姿勢までの経路の軌道に沿った一連の時間間隔にわたる車両の状態および制御入力の関数の和であってもよい。さらに、別の局面では、車両操作制約は、車両の最大線速度および最大加速度と、所定範囲の状態と、車両を操作するための制御入力とを備える少なくとも1つの動作制約を含んでもよい。
さらに別の局面では、車両は、VODデータから得られる、さまざまな質量、形状、および慣性モーメントテンソルを含む車両のダイナミクスを含んでもよい。車両のダイナミクスは、VODデータから得られる、障害物回避のための質量、形状、および慣性モーメントテンソルを含む。
一局面では、VODデータは、車両を動かすための操作制御入力に加えて、車両の動きのシミュレーションを可能にする車両のモデルを含む車両情報を含んでもよい。
一局面では、少なくとも1つの物体は、環境における2Dまたは3D空間内の凸形状または非凸形状のうちの一方であってもよい。少なくとも1つの物体が非凸形状である場合は、凸分解プログラムを利用して非凸形状が推定凸形状に変換される。
一局面では、センサデータは、環境における少なくとも1つのセンサから得られてもよく、有線接続または無線接続を介してコンピューティングシステムに関連付けられ、センサデータは、データを出力するおよびデータを受信するように構成されたトランシーバを介してメモリに格納され、各時間間隔の後に、センサデータは少なくとも1つのセンサによって更新される。
定義
本開示の局面に従い、実験に基づいて、以下の定義を確立したが、当然ながら、以下の定義は各表現または用語の完全な定義ではない。提供している定義は、実験から得られた理解に基づいて一例として提供しているだけであり、その他の解釈、定義、およびその他の局面が適する場合もある。しかしながら、少なくとも、提示している表現または用語の単なる基本的プレビューとして、このような定義を提供している。
請求項1に記載されているプロセッサは、非限定的な例として、コンピュータハードウェアであってもよく、すなわち、コンピュータを駆動して本開示に記載されているアルゴリズムを実現する基本命令に応答してこの命令を処理する論理回路であってもよい。
図15Aは、本開示の実施形態に係る、代替コンピュータを用いて実行可能な図1Aの方法を示すブロック図である。コンポーネント1500は、バス1556を通して接続された、プロセッサ1540と、コンピュータ読取可能メモリ1512と、ストレージ1558と、ディスプレイ1552およびキーボード1551に対するユーザインターフェイス1549とを有するコンピュータ1511を含み得る。たとえば、プロセッサ1540およびコンピュータ読取可能メモリ1512と通信するユーザインターフェイス1564は、ユーザによる、ユーザインターフェイス1557の表面、キーボード1553からの入力を受けると、データを取得してコンピュータ読取可能メモリ1512に格納する。このデータは、ロボット、車両、環境等の種類のデータ、または非線形制約付きの動的システムの軌道最適化手法に関連するデータを含み得る。
コンピュータ1511は電源1554を含み得るが、用途に応じて、電源1554は、任意的にコンピュータ1511の外部にあってもよい。ディスプレイデバイス1548に接続するように適合させたユーザ入力インターフェイス1557を、バス1556を通してリンクさせることができ、ディスプレイデバイス1548は、とりわけ、コンピュータモニタ、カメラ、テレビ、プロジェクタ、またはモバイルデバイスを含み得る。また、プリンタインターフェイス1559を、バス1556を通して接続し、プリンティングデバイス1532に接続するように適合させることができ、プリンティングデバイス1532は、とりわけ、液体インクジェットプリンタ、固体インクプリンタ、大規模商用プリンタ、サーマルプリンタ、UVプリンタ、または染料昇華型プリンタを含み得る。ネットワークインターフェイスコントローラ(NIC)1534を、バス1556を通してネットワーク1536に接続するように適合させ、とりわけ、データまたは他のデータを、コンピュータ1511の外部の、サードパーティディスプレイデバイス、サードパーティイメージングデバイス、および/またはサードパーティプリンティングデバイス上で、レンダリングすることができる。コンピュータ/プロセッサ1511は、バス1556に接続されたGPS1501を含み得る。
引き続き図15Aを参照して、とりわけ、データまたは他のデータは、ネットワーク1536の通信チャネルで送信することができ、ならびに/または、格納および/もしくはさらに他の処理のためにストレージシステム1558内に格納することができる。さらに、時系列データまたは他のデータは、無線もしくは有線で受信機1546(もしくは外部受信機1538)から受信されてもよく、または、無線もしくは有線で送信機1547(もしくは外部送信機1539)を介して送信されてもよく、受信機1546および送信機1547の双方はバス1556を通して接続される。コンピュータ1511は、入力インターフェイス1508を介して外部センシングデバイス1544および外部入出力デバイス1541に接続されてもよい。入力インターフェイス1508は、1つ以上の入出力デバイス1541、外部メモリ1506、マシンのようなデバイス1502に接続され得る外部センサ1504に接続することができる。コントローラ1542はデバイス1543に接続され得る。さらに、他のコンピュータ645がバス1556に接続され得る。たとえば、外部センシングデバイス1544は、マシンの収集された時系列データの前、最中、後のデータを収集するセンサを含み得る。コンピュータ1511は、他の外部コンピュータ1542に接続されてもよい。出力インターフェイス1509を用いて、処理されたデータをプロセッサ1540から出力してもよい。なお、プロセッサ1540および非一時的なコンピュータ読取可能記憶媒体1512と通信するユーザインターフェイス1549は、ユーザによるユーザインターフェイス1549の表面1552からの入力を受信すると、領域データを取得して非一時的なコンピュータ読取可能記憶媒体1512に格納する。さらに、コントローラ1561はバス1556に接続されて、本開示のシステムおよび方法の実施形態に関連するデバイスを制御することができる。
例示的なデータ処理システムを本開示の実施形態で実装することができる。たとえば、システムを、特に、本明細書に記載されているような複数の相互接続された通信システムの各々1つとして、本明細書に記載されているようなプロセスを実行するように、ソフトウェアによってまたは他の方法で構成することができる。図示したデータ処理システムは、レベル2キャッシュ/ブリッジに接続されるプロセッサを含んでもよく、レベル2キャッシュ/ブリッジはローカルシステムバスに接続される。ローカルシステムバスは、たとえば、周辺コンポーネント相互接続(PCI)アーキテクチャバスであってもよい。図示した例におけるローカルシステムバスには、ディスプレイに接続可能なメインメモリおよびグラフィックスアダプタも接続される。他の周辺機器は、ローカルシステムバスに接続されるローカルエリアネットワーク(LAN)/ワイドエリアネットワーク/ワイヤレス(たとえばWi-Fi)アダプタを含み得る。LAN/WAN/ワイヤレスアダプタは、(データ処理システムの一部ではない)ネットワークに接続することができ、このネットワークは、インターネットを含む、当業者に知られているような任意のパブリックもしくはプライベートデータ処理システムネットワークまたはネットワークの組み合わせであってもよい。データ処理システムは、ネットワーク上でサーバシステムと通信することができ、サーバシステムも、データ処理システムの一部ではないが、たとえば別個のデータ処理システムとして実装することができる。拡張バスインターフェイスを、入出力(I/O)バスへのローカルシステムバスに接続することができる。I/Oバスを、キーボード/マウスアダプタ、ディスクコントローラ、およびI/Oアダプタに接続することができる。ディスクコントローラは記憶装置に接続することができる。記憶装置は、読み出し専用メモリ(ROM)、または消去可能および電気的にプログラム可能な読み出し専用メモリ(EEPROM)、磁気テープ記憶装置などの不揮発性のハードコード型媒体、ならびにフロッピー(登録商標)ディスク、ハードディスクドライブおよびコンパクトディスク読み出し専用メモリ(CD-ROM)またはデジタル多用途ディスク(DVD)などのユーザが記録可能な種類の媒体、ならびにその他の公知の光学、電気、または磁気記憶装置を含むが、これらに限定されない。I/Oバスには、オーディオアダプタも接続することができる。キーボード/マウスアダプタは、マウス、トラックボール、トラックポインタなどの、ポインティングデバイス(図示せず)への接続を提供することができる。
引き続き図15Aを参照して、本開示の一実施形態に係るデータ処理システムは、グラフィカルユーザインターフェイスを使用するオペレーティングシステムを含み得る。オペレーティングシステムは、複数のディスプレイウィンドウをグラフィカルユーザインターフェイスに同時に提示することができ、各ディスプレイウィンドウが、異なるアプリケーションへの、または同じアプリケーションの異なるインスタンスへのインターフェイスを提供する。グラフィカルユーザインターフェイス内のカーソルは、ポインティングデバイスを介してユーザによって操作され得る。カーソルの位置は変更されてもよく、および/または、所望の応答を作動させるためにマウスボタンをクリックするなどのイベントが生成されてもよい。
図15Bは、本開示のいくつかの実施形態に係る、いくつかの方法を実行するために用いられるデータ処理システムのいくつかのコンポーネントを示すブロック図である。
たとえば、データ処理システム1500Bは、環境1573のデータを含むデータを収集する1つ以上のセンサ1572と通信するハードウェアプロセッサ1571を含み得る。センサデータは、ロボット、車両、マシンなどに関するデータおよび同様の種類のデータ、または非線形制約付きの動的システムの軌道最適化手法に関連するデータを含み得る。さらに、センサ1572は、ビデオまたはカメラ入力を信号データに変換することができる。ハードウェアプロセッサ1571は、コンピュータストレージメモリ、すなわちメモリ1579と通信することができ、メモリ1579は、ハードウェアプロセッサ1571によって実行され得るアルゴリズム、命令および他のデータを含む、格納されたデータを含む。たとえば、メモリに格納されるものは、マルチリンク動的モデル、非線形最適化プログラム、および目的関数を含み得る。
引き続き図15Bを参照して、有線接続または無線接続を介して環境における少なくとも1つのセンサから取得され得るセンサデータをメモリ1579に格納することができ、センサデータは、データを出力してデータを受信するように構成されたトランシーバを介してメモリに格納され、各時間間隔の後、センサデータは少なくとも1つのセンサによって更新される。また、メモリには、ロボットアームの各関節を動かすためにロボット駆動装置を介してモータによって加えられるトルクなどの操作制御入力とともに、ロボットアームの動きのシミュレーションを可能にするロボットアームのモデルを含むロボットアーム情報を含み得る、ロボット、車両およびマシンの操作およびダイナミクスデータを格納することができる。マルチリンク動的モデル、非線形最適化プログラム、または目的関数などのソフトウェア1597は、メモリ1579に格納され得る。格納されるデータは、ロボット、車両、マシンなど、もしくは同様の種類のデータ、または非線形制約付きの動的システムの軌道最適化手法に関連するデータを含み得る。
任意的に、ハードウェアプロセッサ1571を、データソース1598、コンピュータデバイス1584、携帯電話デバイス1585、およびストレージデバイス1586と通信するネットワーク1577に接続することができる。さらに、任意的に、ハードウェアプロセッサ1571を、クライアントデバイス(図示せず)に接続されたネットワーク対応サーバ(図示せず)にネットワーク1577を介して接続することができる。ハードウェアプロセッサ1571を、任意的に外部メモリデバイス1591、送信機1592、コントローラ1594に接続することができる。トランシーバを、拡張バスインターフェイス1595を介してハードウェアプロセッサ1571に接続することができる。トランシーバ1596によって受信されるいくつかの種類の出力は、経路に沿った計算された軌道(本開示の方法から得られる)についての要求(トランシーバ1596によって受信される)に対する応答の受信に関心があるユーザの意図に関連していてもよく、当該出力は、モニタもしくはスクリーンなどのユーザの1つ以上のディスプレイデバイス上に表示することができ、および/または、さらに他の分析などのために他のコンピュータ関連デバイスに入力することができる。
引き続き図15Bを参照して、ハードウェアプロセッサ1571は特定用途の要件に応じて2つ以上のハードウェアプロセッサを含み得るものであり、当該プロセッサは内部プロセッサでも外部プロセッサでもよいということが、意図されている。当然ながら、その他のコンポーネントを組み込んでもよい。
ネットワーク1577は、非限定的な例として、1つ以上のローカルエリアネットワーク(LAN)および/またはワイドエリアネットワーク(WAN)を含み得る。ネットワーク環境は、企業規模のコンピュータネットワーク、イントラネット、およびインターネットと同様であってもよい。上述のコンポーネントのすべてについて、本開示のシステムにおいて使用される、クライアントデバイス、ストレージコンポーネント、およびデータソースの数は任意であることが、意図されている。各々は、単一のデバイス、または分散環境において協働する複数のデバイスを備え得る。さらに、データソース1583は、ネットワークを訓練するためのデータリソースを備え得る。たとえば、一実施形態において、訓練データをストレージ1586に格納することができる。訓練データは、他の環境の信号も含み得る。データソース1583は、ネットワークを訓練するためのデータリソースも備え得る。データソース1583が提供するデータは、環境およびロボットアームなどに対応する他のセンサ関連データなど、他のデータを含み得る。
引き続き図15Bを参照して、データソース1583内の一部のデータは、1つ以上のフィードバックループによって提供され得る。データソースの他の例は、限定ではなく例として、ストリーミングビデオ、ウェブクエリ、モバイルデバイスカメラもしくは他の情報、ウェブカムフィード、スマートグラスおよびスマートウォッチフィード、顧客ケアシステム、セキュリティカメラフィード、ウェブ文書、カタログ、ユーザフィード、SMSログ、インスタントメッセージングログ、発話単語トランスクリプト、ボイスコマンドもしくはデータ(たとえば、データは、ロボット、車両、環境等の種類のデータ、または非線形制約付きの動的システムの軌道最適化手法に関連するデータを含み得る)等のゲーミングシステムユーザインタラクションを含む、さまざまなソースを含み得る。使用される特定のデータソース1583は、データが本質的に特定クラスのデータ(たとえば、ロボット、車両、環境等の種類のデータに関連する閾値、性能、安全性等に関するデータ、または非線形制約付きの動的システムの軌道最適化手法に関連するデータ)であるかまたは一般的なもの(クラス固有ではない)であるかを含めて、アプリケーションに基づいて決定され得る。
サードパーティデバイス1584,1585は、コンピュータデバイス1584またはモバイルデバイス1585を含む任意の種類のコンピューティングデバイスを備え得る。ユーザデバイスは、携帯情報端末(PDA)や、モバイルデバイス、たとえばスマートフォン、スマートウォッチ、スマートグラス(または他のウェアラブルスマートデバイス)、拡張現実ヘッドセット、仮想現実ヘッドセットとして実現し得るものであることが、意図されている。さらに、ユーザデバイスは、タブレット等のラップトップ、リモートコントロール、エンターテイメントシステム、車両コンピュータシステム、埋込型システムコントローラ、電気器具、ホームコンピュータシステム、セキュリティシステム、家庭用電子機器、または他の同様の電子機器等であってもよい。一実施形態において、クライアントデバイスは、本開示の方法およびシステムが使用可能なオーディオおよび情報等の入力データを受けることができる。たとえば、サードパーティデバイスは、データ、すなわち、ロボット、車両、環境等に関連するデータもしくは同様の種類のデータ、または非線形制約付きの動的システムの軌道最適化手法に関連するデータ、オーディオ情報を受けるためのマイクもしくはライン入力端子、ビデオもしくは画像情報を受けるためのカメラ、または、そのような情報をインターネットもしくはデータソース3のような別のソースから受けるための通信コンポーネント(たとえばWi-Fi機能)であってもよい。
引き続き図15Bを参照して、ストレージ1586に関して、ストレージ1586は、データ、コンピュータ命令(たとえばソフトウェアプログラム命令、ルーチン、もしくはサービス)、および/または本明細書に記載されている手法の実施形態で使用されるモデルを含む情報を記憶することができる。たとえば、ストレージ1586は、1つ以上のデータソース1583からのデータ、1つ以上のディープニューラルネットワークモデル、ディープニューラルネットワークモデルを生成し訓練するための情報、および1つ以上のディープニューラルネットワークモデルから出力されたコンピュータで使用可能な情報を記憶することができる。
図16Aは、本開示のいくつかの実施形態に係る、車両を制御するための別のシステム1699のブロック図を示す。当該車両は、自律的または半自律的に実行されるように意図された任意の種類のシステムであり得る。システムは、人間オペレータ1610を含み得るものであり、そのような場合、システムは半自律的であり、ドライバ1610の操作をそれぞれ無効にするおよび許可する可能性がある。一例として、システム1600は、四輪乗用車または車であってもよい。可能なシステムの別の例は、差動駆動移動ロボットである。第3の例は、カートまたは移動装置に関連付けられた産業用ロボットマニピュレータまたはロボットである。詳細な説明では、本開示を例示するために全体にわたって自動車車両を使用する。
車両1600は、車両の近傍の環境を検知する少なくとも1つのセンサ1620を含む。センサは、いくつかの種類であり得る。たとえば、センサは、環境のカメラ画像シーケンスを与えるビデオカメラであってもよく、または、LIDARスキャナによって取り込まれた環境の3次元の点を与えるLIDARであってもよい。センサ設定も、異なるセンサの組み合わせであってもよい。たとえば、ビデオカメラは、カメラの位置および/またはカメラが取得した画像シーケンスの起点の情報を与えるグローバルポジショニングシステム(GPS)と組み合わされてもよい。
引き続き図16を参照して、これに代えて、カメラおよびGPSは加速度計と組み合わされてもよく、加速度計は、2つのセンサと組合されて、画像シーケンスに関連する速度および加速度情報を与えることができる。一方のセンサは慣性測定装置(IMU)であってもよい。たとえば、IMUは、3軸加速度計、3軸ジャイロスコープ、および/または磁力計を含み得る。IMUは、速度、向き、および/または他の位置関連情報を提供することができる。経時的に、センサは、センサ信号1621を移動経路計画システム1630に提供する。
システム1699は、少なくとも1つのニューラルネットワークを格納するメモリ1640をさらに含む。メモリ1640に格納されたニューラルネットワークは、時系列信号1631を車両の将来の予測軌道にマッピングするように訓練される。これに加えてまたはこれに代えて、一実施形態において、メモリ1640はニューラルネットワークのセットを格納し、当該セット内の各ニューラルネットワークは、時系列信号を車両の基準軌道にマッピングするためにさまざまな運転スタイルを検討するように訓練される。
引き続き図16を参照して、たとえば、システム1699は、車両を制御するための運転スタイルを決定し、決定した運転スタイルに対応するニューラルネットワークをメモリから選択することができる(1641)。たとえば、運転スタイルは、車両のユーザからの入力に基づいて決定され得る。これに加えてまたはこれに代えて、車両が半自律車両である場合は、車両の手動モードでの運転中に車両の運転者の運転スタイルが学習され得る。これに加えてまたはこれに代えて、システム1699は、時系列信号1631自体に基づいてニューラルネットワークを選択することができる。たとえば、外部入力1610によって与えられるたとえばさまざまな運転状況について、さまざまなニューラルネットワークが選択される(1641)。
移動経路計画システム1630は、センサ信号のシーケンス1621を取り込み、時系列信号1631を生成する。メモリ1640は、ニューラルネットワーク1641を移動経路計画システム1630に提供し、移動経路計画システム1630は基準軌道1632を求める。さらに、センサ入力に加えて、所望のウェイポイント、すなわち所望の中間位置もニューラルネットワークに与えられ得る。ウェイポイントの目的は、選択された軌道を所望の経路に導くことである。別の実施形態において、ウェイポイントは、ネットワークを訓練するためにも与えられる。さまざまな実施形態において、基準軌道1632は、時間が各座標に関連付けられた一連のデカルト座標、車両の一連の位置および速度、ならびに車両の一連の進路、のうちの1つまたは組み合わせとして表され得る。
引き続き図16を参照して、システム1699は、基準軌道1632を追跡するための制御基準のセット1651を求めるためのコントローラのセット1650をさらに含み得る。制御基準のセットは、実行のために車両のアクチュエータ1660に送られる。たとえば環境1670もしくはセンサ1620における不確実性、またはニューラルネットワーク1641における有限精度に起因して、たとえば予期せぬおよび/またはモデル化されていない影響がある場合、車両の移動軌道1601は基準軌道1632とわずかに異なる場合がある。しかしながら、コントローラ1650によって、移動軌道1601は有界誤差を伴って基準軌道1632に近いことが保証される。たとえば、コントローラ1650は、軌道1632または1650内の他のコントローラが故障した場合にセキュリティ層として機能する、故障モードコントローラを含み得る。
図16Bは、本開示のいくつかの実施形態に係る、移動経路計画システムおよび車両のいくつかの車両コントローラに用いられるいくつかのコンポーネントを示すブロック図である。たとえば、車両のコントローラ1650は、車両の動きに関連するさまざまなエンティティを制御するステアリングコントローラ1691およびブレーキ/スロットルコントローラ1692である。たとえば、ステアリング制御装置1691は、移動経路計画システム1630からの基準軌道を、車両のハンドルの一連の角度を含む車両の移動軌道にマッピングすることができる。たとえば、ブレーキ制御モジュール1692は、速度の基準軌道を、車両のブレーキ圧およびエンジンスロットルコマンド軌道にマッピングすることができる。
図16Cは、本開示のいくつかの実施形態に係る、車両内部のいくつかのコンポーネントを示すブロック図である。車両は、ハンドル1685に関連するボタン1681,1682,1683、または車両のダッシュボード1686上のボタンにアクセスする人間オペレータを含み得る。ダッシュボード1686は、人間オペレータが車両を運転できるようにするハンドル1685と、速度およびセンサ出力、または車両の他の情報など、さまざまなモードを示すためのディスプレイ1687とを含む。人間オペレータ、または車両の別のユーザは、コマンドまたは情報1688を入力するように選択することもできる。
実施形態
以下の説明は、具体例としての実施形態のみを提供し、開示の範囲、適用可能性、または構成を限定することを意図していない。むしろ、具体例としての実施形態の以下の説明は、1つ以上の具体例としての実施形態を実装するための説明を、当業者に提供するであろう。添付の請求項に記載されている開示された主題の精神および範囲から逸脱することなく、要素の機能および構成に対してなされ得る、各種変更が意図されている。具体的な詳細事項は、以下の記載において、実施形態の十分な理解を提供するために与えられる。しかしながら、これらの具体的な詳細事項がなくても実施形態を実行できることを、当業者は理解できる。たとえば、開示された主題におけるシステム、プロセス、および他の要素は、実施形態を不必要な詳細で不明瞭にしないために、ブロック図の形態で構成要素として示される場合もある。他の例では、実施形態を不明瞭にしないよう、周知のプロセス、構造、および技術は、不必要な詳細事項を伴わずに示されることがある。さらに、各種図面における同様の参照番号および名称は同様の要素を示す。また、個々の実施形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として示されるプロセスとして説明される場合がある。フローチャートは動作を逐次プロセスとして説明することができるが、動作の多くは並列にまたは同時に実行することができる。さらに、動作の順序は入れ替え可能である。プロセスは、その動作が完了したときに終了されてもよいが、論じられていないかまたは図に含まれていない追加のステップを有する場合がある。さらに、具体的に記載されている何らかのプロセスにおけるすべての動作がすべての実施形態に起こり得る訳ではない。プロセスは、方法、関数、手順、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応する場合、関数の終了は、呼び出し関数または主関数に関数を戻すことに対応し得る。
さらに、開示された主題の実施形態は、少なくとも部分的に手動または自動のいずれかで実現することができる。手動または自動による実現は、マシン、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせの使用を通して行われてもよく、または少なくとも支援されてもよい。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実現される場合、必要なタスクを実行するプログラムコードまたはコードセグメントは、マシン読取可能媒体に格納されてもよい。プロセッサは必要なタスクを実行できる。
さらに、本開示の実施形態および本明細書に記載されている機能的動作は、デジタル電子回路において、有形で実装されるコンピュータソフトウェアもしくはファームウェアにおいて、本明細書に開示される構造およびそれらの構造的均等物を含むコンピュータハードウェアにおいて、または、それらのうちの1つ以上の組み合わせにおいて、実現することができる。さらに、本開示のいくつかの実施形態は、1つ以上のコンピュータプログラムとして、すなわちデータ処理装置が実行するためにまたはデータ処理装置の動作を制御するために、有形の非一時的なプログラムキャリア上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして、実現することができる。またさらに、プログラム命令は、人為的に生成された伝搬信号上に、たとえば、マシンによって生成された電気、光学、または電磁信号上に、符号化することができる。伝搬信号は、データ処理装置が実行するために適切な受信装置に送信される情報を符号化するために生成される。コンピュータ記憶媒体は、マシン読取可能なストレージデバイス、マシン読取可能なストレージ基板、ランダムアクセスメモリデバイスもしくはシリアルアクセスメモリデバイス、またはそれらの1つ以上の組み合わせであってもよい。
本開示の実施形態に従うと、「データ処理装置」という用語は、例として、プログラム可能なプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するすべての種類の装置、デバイス、およびマシンを包含し得る。装置は、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含み得る。この装置はまた、ハードウェアに加えて、当該コンピュータプログラムの実行環境を生成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つ以上の組み合わせを構成するコードを含み得る。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるまたはそういうものとして説明されることもある)は、コンパイルされたもしくは解釈された言語、または宣言的もしくは手続き型言語を含む任意の形態のプログラミング言語で記述することができ、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境での使用に適した他のユニットとして、任意の形態でデプロイすることができる。コンピュータプログラムは、ファイルシステム内のファイルに対応し得るが、対応していなくてもよい。プログラムは、他のプログラムまたはデータを保持するファイルの一部に、たとえばマークアップ言語文書に格納された1つ以上のスクリプト、対象プログラム専用の単一ファイル、またはコーディネートした複数のファイル、たとえば1つ以上のモジュール、サブプログラム、またはコードの一部を格納するファイルに、格納することができる。コンピュータプログラムは、1つのコンピュータ上で、または1つの場所に位置するかもしくは複数の場所に分散され通信ネットワークで相互に接続された複数のコンピュータ上で実行されるようにデプロイすることができる。コンピュータプログラムの実行に適したコンピュータは、一例として、汎用マイクロプロセッサもしくは専用マイクロプロセッサもしくはその両方、または任意の他の種類の中央処理装置に基づいていてもよい。一般的に、中央処理装置は、読出専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受ける。コンピュータの必須要素は、命令を実施または実行するための中央処理装置と、命令およびデータを記憶するための1つ以上のメモリデバイスとである。一般的に、コンピュータはまた、データを記憶するための1つ以上の大容量記憶装置、たとえば、磁気、光磁気ディスク、もしくは光ディスクを含むか、または、それからデータを受けるかまたはそれにデータを転送するかまたはその両方を行うように、上記ディスクに作動的に結合される。しかしながら、コンピュータはそのようなデバイスを有していなくてもよい。さらに、コンピュータは、別のデバイスに埋め込むことができる。たとえば数例を挙げると、携帯電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、グローバルポジショニングシステム(GPS)受信機、または携帯型記憶装置、たとえばユニバーサルシリアルバス(USB)フラッシュドライブに、埋め込むことができる。
ユーザとのやり取りを提供するために、本明細書に記載されている主題の実施形態は、ユーザに情報を表示するための表示装置、たとえばCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタと、ユーザがコンピュータに入力を提供できるようにするキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールとを有する、コンピュータ上で実現されてもよい。他の種類のデバイスを用いてユーザとのやり取りを提供してもよい。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってもよく、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受けることができる。加えて、コンピュータは、ユーザとのやり取りを、ユーザが使用するデバイスに文書を送信し当該デバイスから文書を受信することによって、たとえばユーザのクライアントデバイス上のウェブブラウザに、ウェブブラウザから受信した要求に応じてウェブページを送信することによって、実現することができる。
本明細書に記載されている主題の実施形態は、たとえばデータサーバとしてバックエンドコンポーネントを含む、または、ミドルウェアコンポーネント、たとえばアプリケーションサーバを含む、または、フロントエンドコンポーネント、たとえば本明細書に記載されている主題の実装形態とユーザがやり取りできるようにするグラフィカルユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータを含む、または、そのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの1つ以上の任意の組み合わせを含む、コンピューティングシステムにおいて実現することができる。システムのコンポーネントは、デジタルデータ通信の任意の形態または媒体、たとえば通信ネットワークにより、相互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、たとえばインターネットを含む。
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、一般的には互いに離れており、典型的には通信ネットワークを通してやり取りする。クライアントとサーバの関係は、各コンピュータ上で実行されクライアントとサーバの相互の関係を有するコンピュータプログラムから発生する。
本開示をいくつかの好ましい実施形態を用いて説明してきたが、その他さまざまな適合化および修正を本開示の精神および範囲の中で実施できることが理解されねばならない。したがって、本開示の真の精神および範囲に含まれるこのような変形および修正形をすべてカバーすることが以下の請求項の局面である。
Figure 2022541352000048
図4は、本開示のいくつかの実施形態に係る、形状制約を含む非線形最適化プログラムを解くことによって得られる、2つの障害物408,410がある場合の3つのリンク402,404406を有する3DoFマニピュレータの動きを示す。マニピュレータは初期位置(0.6,0)から開始し、障害物408に向かって反時計回りに動く。これによって、リンク402はリンク404に向かって折り重なり始める。次いで、マニピュレータは最終点に向かって時計回りに動き始める。これによって、マニピュレータは、障害物410との衝突を避けるために必要に応じてリンクをさらに曲げる。最後に、マニピュレータはすべてのアームを広げて最終位置に到達する。
図7Bは、ロボットマニピュレータを含む例示的なホロノミックカートを示す。いくつかの実施形態において、可動カート732を有するロボット702は、カート732に装着された、リンク723,725とグリッパ727とを有するロボットアーム722を有する。グリッパ727は環境内の物体をつかむことができる。カート732は1つ以上の車輪711,712を含んでもよく、これらの車輪は2自由度で動作するホロノミック車輪であってもよい。さらなる実施形態において、ラップアラウンド前方コンベアベルト71がホロノミックカート732に含まれてもよい。いくつかの例では、ラップアラウンド前方コンベアベルト71は、ロボット702が、トラックコンテナまたはパレット(図示せず)への箱の積み降ろしをする際に、そのグリッパ727を左右に回転させなくてもよいようにすることができる。機械システムは、ロボットアーム722、グリッパ727、コンベアベルト71、(可動またはホロノミック)カート732、および1つ以上の車輪711,712を含む、図7Aに関して上記に説明したコンポーネントを含んでもよい。検知システムは、ロボットアーム722が動くと環境に関する情報を検知する2Dセンサおよび/または3D深度センサ(図示せず)などの、ロボットアーム722に取り付けられる1つ以上のセンサを有してもよい。さらに、カート732またはグリッパ727の前、横、後ろ、下、または任意の場所にライト737が位置決めされてもよい。
図9Aのステップ915は、トランシーバを介して入力を受信することを含み、入力は、センサデータと、車両操作およびダイナミクス(vehicle operation and dynamics)(OD)データと、マルチリンク動的(MLD)モデルと、非線形最適化(NLO)プログラムと、目的関数とを含む。
Figure 2022541352000049
Aのステップ920は、車両に対する動的制約および形状制約を満たしながら、一連の時間間隔にわたって、開始点および終了点を有する経路を含む軌道を求めることを含む。
Aのステップ925は、VODデータからの各リンクのダイナミクスに基づいて動的制約を求めることを含み、車両のダイナミクスは、VODデータから得られる、質量、形状、および慣性モーメントテンソルを含む。
Aのステップ930は、MLDモデルを用いて車両についてのNLOプログラムを定式化することを含み、NLOプログラムは、開始姿勢および終了姿勢、動的制約および形状制約を入力として使用して、軌道が開始姿勢と終了姿勢との間の経路をたどるように、一連の時間間隔における時間間隔ごとに、動的制約および形状制約ならびに車両操作制約を満たしながら軌道の目的関数を最適化する。目的関数は、開始姿勢から終了姿勢までの経路の軌道に沿った一連の時間間隔にわたる車両の状態および制御入力の関数の和であり得る。
Aのステップ935は、軌道に基づいて車両を動かすように車両のモータおよびハンドルを制御することを含む。
本開示の実施形態は、非限定的な例として、形状制約を用いて障害物と車両との間の衝突回避をモデル化することができる特有の局面を提供する。障害物と車両との間の最小距離は衝突を避けるのに十分な大きさでなければならないという、形状制約が課される。微分可能な制約を用いてこれを達成するために、本開示は、最小の球体を用いて障害物を取り囲み、車両の終点によって車両をパラメータ化する。車両の終点は、終点の凸結合を用いることによって車両上の任意の点を得ることができるように定義される。終点の凸結合は終点の合計であり、各終点の係数は非負である。
図15Aは、本開示の実施形態に係る、代替コンピュータを用いて実行可能な図1Aの方法を示すブロック図である。コンポーネント1500は、バス1556を通して接続された、プロセッサ1540と、コンピュータ読取可能メモリ1512と、ストレージ1558と、ディスプレイ1552およびキーボード1551に対するユーザインターフェイス1549とを有するコンピュータ1511を含み得る。たとえば、プロセッサ1540およびコンピュータ読取可能メモリ1512と通信するユーザインターフェイス1549は、ユーザによる、ユーザインターフェイス1557の表面、キーボード1553からの入力を受けると、データを取得してコンピュータ読取可能メモリ1512に格納する。このデータは、ロボット、車両、環境等の種類のデータ、または非線形制約付きの動的システムの軌道最適化手法に関連するデータを含み得る。
引き続き図15Aを参照して、とりわけ、データまたは他のデータは、ネットワーク1536の通信チャネルで送信することができ、ならびに/または、格納および/もしくはさらに他の処理のためにストレージシステム1558内に格納することができる。さらに、時系列データまたは他のデータは、無線もしくは有線で受信機1546(もしくは外部受信機1538)から受信されてもよく、または、無線もしくは有線で送信機1547(もしくは外部送信機1539)を介して送信されてもよく、受信機1546および送信機1547の双方はバス1556を通して接続される。コンピュータ1511は、入力インターフェイス1508を介して外部センシングデバイス1544および外部入出力デバイス1541に接続されてもよい。入力インターフェイス1508は、1つ以上の入出力デバイス1541、外部メモリ1506、マシンのようなデバイス1502に接続され得る外部センサ1504に接続することができる。コントローラ1542はデバイス1543に接続され得る。さらに、他のコンピュータ1545がバス1556に接続され得る。たとえば、外部センシングデバイス1544は、マシンの収集された時系列データの前、最中、後のデータを収集するセンサを含み得る。コンピュータ1511は、他の外部コンピュータ1542に接続されてもよい。出力インターフェイス1509を用いて、処理されたデータをプロセッサ1540から出力してもよい。なお、プロセッサ1540および非一時的なコンピュータ読取可能記憶媒体1512と通信するユーザインターフェイス1549は、ユーザによるユーザインターフェイス1549の表面1552からの入力を受信すると、領域データを取得して非一時的なコンピュータ読取可能記憶媒体1512に格納する。さらに、コントローラ1561はバス1556に接続されて、本開示のシステムおよび方法の実施形態に関連するデバイスを制御することができる。
サードパーティデバイス1584,1585は、コンピュータデバイス1584またはモバイルデバイス1585を含む任意の種類のコンピューティングデバイスを備え得る。ユーザデバイスは、携帯情報端末(PDA)や、モバイルデバイス、たとえばスマートフォン、スマートウォッチ、スマートグラス(または他のウェアラブルスマートデバイス)、拡張現実ヘッドセット、仮想現実ヘッドセットとして実現し得るものであることが、意図されている。さらに、ユーザデバイスは、タブレット等のラップトップ、リモートコントロール、エンターテイメントシステム、車両コンピュータシステム、埋込型システムコントローラ、電気器具、ホームコンピュータシステム、セキュリティシステム、家庭用電子機器、または他の同様の電子機器等であってもよい。一実施形態において、クライアントデバイスは、本開示の方法およびシステムが使用可能なオーディオおよび情報等の入力データを受けることができる。たとえば、サードパーティデバイスは、データ、すなわち、ロボット、車両、環境等に関連するデータもしくは同様の種類のデータ、または非線形制約付きの動的システムの軌道最適化手法に関連するデータ、オーディオ情報を受けるためのマイクもしくはライン入力端子、ビデオもしくは画像情報を受けるためのカメラ、または、そのような情報をインターネットもしくはデータソース1583のような別のソースから受けるための通信コンポーネント(たとえばWi-Fi機能)であってもよい。

Claims (24)

  1. コンピューティングシステムであって、
    プロセッサおよびアクセス可能なメモリを備え、前記コンピューティングシステムは、
    センサデータと、ロボット操作およびダイナミクス(ROD)データと、マルチリンク動的(MLD)モデルと、非線形最適化(NLO)プログラムと、目的関数とを含む入力を受信し、
    ロボットアームに対する動的制約および形状制約を満たしながら、一連の時間間隔にわたって、開始姿勢および終了姿勢とともに経路を含む軌道を求めるように構成され、前記ロボットアームは、前記ロボットアームを動かすためのモータを有するロボット駆動装置に接続され、前記コンピューティングシステムはさらに、
    前記RODデータからの各リンクのダイナミクスに基づいて前記動的制約を求め、前記センサデータから環境の座標格子を生成して少なくとも1つの障害物および各リンクの終点のデカルト座標を求めることによって前記形状制約を一次微分可能な関数として求め、
    前記MLDモデルを用いて前記ロボットアームについての前記NLOプログラムを定式化するように構成され、前記NLOプログラムは、前記開始姿勢および前記終了姿勢、前記動的制約および前記形状制約を入力として使用して、前記軌道がロボットエンドエフェクタを前記開始姿勢から前記終了姿勢に動かすように、前記一連の時間間隔における時間間隔ごとに、前記動的制約および前記形状制約ならびにロボットアーム操作制約を満たしながら前記軌道の目的関数を最適化し、前記コンピューティングシステムはさらに、
    前記NLOプログラムから得られる最適化された前記軌道に基づいて前記ロボットアームを動かすように前記ロボット駆動装置の前記モータを制御するように構成される、コンピューティングシステム。
  2. 前記形状制約は、各リンクの前記終点のデカルト座標を用いて各リンク長をパラメータ化し、次いで、前記環境における前記少なくとも1つの障害物の各々からのパラメータ化位置の最小距離を見つけ、前記最小距離が前記障害物を取り囲む円の最小半径を超えることを要求することによって、求められる、請求項1に記載のコンピューティングシステム。
  3. 前記目的関数は、前記開始姿勢から前記終了姿勢までの前記経路の前記軌道に沿った前記一連の時間間隔にわたる前記ロボットアームの状態および制御入力の関数の和である、請求項1に記載のコンピューティングシステム。
  4. 前記ロボットアーム操作制約は、前記ロボットアームの最大線速度および最大加速度と、所定範囲の状態と、前記ロボットアームを操作するための制御入力とを備える少なくとも1つの動作制約を含む、請求項1に記載のコンピューティングシステム。
  5. 前記状態は、各関節の角度位置と、最大線速度および最大加速度を含む角速度とを含み、前記制御入力は、前記関節の各関節に加えられるトルクの量を含む、請求項4に記載のコンピューティングシステム。
  6. 前記ロボットアームは、ベースと、第1の関節を介して前記ベースに結合された第1のリンクと、第2の関節を介して前記第1のリンクに結合された第2のリンクとを含み、前記第1のリンクは前記ベースと前記第2のリンクとの間に配置され、前記ロボットアームはさらに、グリッパ関節を介して前記第2の関節と反対側の前記第2のリンクの端に結合されたグリッパを含む、請求項1に記載のコンピューティングシステム。
  7. 各リンクの前記ダイナミクスは、前記RODデータから得られる、さまざまな質量、形状、および慣性モーメントテンソルを含む、請求項1に記載のコンピューティングシステム。
  8. 前記第1のリンク、前記第2のリンク、および前記グリッパの前記ダイナミクスは、前記RODデータから得られる、障害物回避のための質量、形状、および慣性モーメントテンソルを含む、請求項7に記載のコンピューティングシステム。
  9. 前記RODデータは、前記ロボットアームの各関節を動かすために前記ロボット駆動装置を介して前記モータによって加えられるトルクなどの操作制御入力に加えて、前記ロボットアームの動きのシミュレーションを可能にする前記ロボットアームのモデルを含むロボットアーム情報を含む、請求項1に記載のコンピューティングシステム。
  10. 前記少なくとも1つの物体は、前記環境における2Dまたは3D空間内の凸形状または非凸形状のうちの一方である、請求項1に記載のコンピューティングシステム。
  11. 前記少なくとも1つの物体が非凸形状である場合は、凸分解プログラムを利用して前記非凸形状が推定凸形状に変換される、請求項10に記載のコンピューティングシステム。
  12. 前記センサデータは、前記環境における少なくとも1つのセンサから得られ、有線接続または無線接続を介して前記コンピューティングシステムに関連付けられ、前記センサデータは、データを出力するおよびデータを受信するように構成されたトランシーバを介して前記メモリに格納され、各時間間隔の後に、前記センサデータは前記少なくとも1つのセンサによって更新される、請求項1に記載のコンピューティングシステム。
  13. ロボット装置に対する動的制約および形状制約を満たしながら、開始姿勢および終了姿勢に関連付けられた経路および対応する制御入力を含む軌道を求めるための方法であって、前記経路は前記ロボット装置が一連の時間間隔にわたって進むべき経路であり、前記ロボット装置は複数のリンクを有するロボットアームを含み、前記ロボットアームは、前記ロボットアームを動かすためのモータを有するロボット駆動装置に接続され、前記方法は、
    メモリに格納されたダイナミクスデータからのさまざまな質量、形状、および慣性モーメントテンソルを含む各リンクのダイナミクスに基づいて前記動的制約を求め、前記メモリに格納されたセンサデータから環境の座標格子を生成して少なくとも1つの障害物および各リンクの終点のデカルト座標を求めることによって前記形状制約を一次微分可能な関数として求めることと、
    マルチリンクダイナミクスモデルを用いて前記ロボットアームについての非線形最適化(NLO)プログラムを定式化することとを備え、前記NLOプログラムは、前記開始姿勢および前記終了姿勢、前記動的制約および前記形状制約を入力として使用して、前記軌道がロボットエンドエフェクタを前記開始姿勢から前記終了姿勢に動かすように、前記一連の時間間隔における時間間隔ごとに、前記動的制約および前記形状制約ならびにロボットアーム操作制約を満たしながら前記軌道の目的関数を最適化し、前記方法はさらに、
    前記NLOプログラムから得られる最適化された前記軌道に基づいて前記ロボットアームを動かすように前記ロボット駆動装置の前記モータを制御することを備える、方法。
  14. 前記形状制約は、各リンクの前記終点のデカルト座標を用いて各リンク長をパラメータ化し、次いで、前記環境における前記少なくとも1つの障害物の各々からのパラメータ化位置の最小距離を見つけることによって、求められ、前記動的制約は、RODデータからの、さまざまな質量、形状、および慣性モーメントテンソルを含む各リンクの前記ダイナミクスによって求められ、各リンクのダイナミクスはラグランジュ的手法を用いて考慮される、請求項13に記載の方法。
  15. 前記目的関数は、前記開始姿勢から前記終了姿勢までの前記経路の前記軌道に沿った前記一連の時間間隔にわたる前記ロボットアームの状態および制御入力の関数の和である、請求項13に記載の方法。
  16. 前記目的関数による前記最適化は、前記環境に存在する前記少なくとも1つの障害物の領域を避けることに起因して空間的非凸制約を受け、各リンクの軌道ごとに少なくとも1つの空間的非凸制約を求めることが、環境の前記座標格子上に前記リンクの動作方向の軸上の場所の位置を投影するための値の間隔を規定して空間的非凸制約の集合を生成することによって行われ、各リンクの前記軌道がその軌道についての前記開始姿勢から前記終了姿勢への動きを完了すると時間のセットを求め、前記目的関数の前記最適化は、前記時間のセットを更新して前記経路に沿った前記複数のリンクについての前記軌道を最適化することによって、各リンクの前記ダイナミクスおよび前記空間的非凸制約の集合に従って行われる、請求項13に記載の方法。
  17. 前記ロボットアーム操作制約は、前記ロボットアームを操作するための所定範囲の状態および制御入力を含み、前記ロボットアームは、ベースと、第1の関節を介して前記ベースに結合された第1のリンクと、第2の関節を介して前記第1のリンクに結合された第2のリンクとを含み、前記第1のリンクは前記ベースと前記第2のリンクとの間に配置され、前記ロボットアームはさらに、グリッパ関節を介して前記第2の関節と反対側の前記第2のリンクの端に結合されたグリッパを含み、前記状態は、各関節の角度位置および角速度を含み、前記制御入力は、前記関節の各関節に加えられるトルクの量を含む、請求項13に記載の方法。
  18. 前記環境を通る特定の経路を設けることを求める第1の要求をトランシーバを介して受信し、前記第1の要求に対する第1の応答を前記トランシーバを介して送信し、前記第1の応答は前記特定の経路を備え、前記特定の経路は、前記開始姿勢と前記終了姿勢との間の前記経路をたどる前記軌道を含む、請求項13に記載の方法。
  19. 実行可能命令で符号化された非一時的なコンピュータ読取可能媒体であって、前記実行可能命令は、実行されると、1つ以上のデータ処理システムに、
    センサデータと、ロボット操作およびダイナミクス(ROD)データと、マルチリンク動的(MLD)モデルと、非線形最適化(NLO)プログラムと、目的関数とを含む入力を受信させ、
    ロボットアームに対する動的制約および形状制約を満たしながら、一連の時間間隔にわたって、開始姿勢および終了姿勢とともに経路を含む軌道を求めさせ、前記ロボットアームは、コントローラを介して前記ロボットアームを動かすためのモータを有するロボット駆動装置に接続され、前記実行可能命令は、実行されると、前記1つ以上のデータ処理システムにさらに、
    前記RODデータからの各リンクのダイナミクスに基づいて前記動的制約を求めさせ、前記センサデータから環境の座標格子を生成して少なくとも1つの障害物および各リンクの終点のデカルト座標を求めることによって前記形状制約を一次微分可能な関数として求めさせ、
    前記MLDモデルを用いて前記ロボットアームについての前記NLOプログラムを定式化させ、前記NLOプログラムは、前記開始姿勢および前記終了姿勢、前記動的制約および前記形状制約を入力として使用して、前記軌道がロボットエンドエフェクタを前記開始姿勢から前記終了姿勢に動かすように、前記一連の時間間隔における時間間隔ごとに、前記動的制約および前記形状制約ならびにロボットアーム操作制約を満たしながら前記軌道の目的関数を最適化し、前記実行可能命令は、実行されると、前記1つ以上のデータ処理システムにさらに、
    前記NLOプログラムから得られる最適化された前記軌道に基づいて前記ロボットアームを動かすように前記ロボット駆動装置の前記モータを制御させる、非一時的なコンピュータ読取可能媒体。
  20. ロボット装置に対する動的制約および形状制約を満たしながら、開始姿勢および終了姿勢に関連付けられた経路および対応する制御入力を含む軌道を求めるためのロボットシステムであって、前記経路は前記ロボット装置が一連の時間間隔にわたって進むべき経路であり、前記ロボット装置は複数のリンクを有するロボットアームを含み、前記ロボットアームは、前記ロボットアームを動かすためのモータを有するロボット駆動装置に接続され、前記ロボット装置はアクセス可能なメモリをさらに含み、前記メモリは、センサデータと、ロボット操作およびダイナミクス(ROD)データと、マルチリンクダイナミクス(MLD)モデルと、非線形最適化(NLO)プログラムと、目的関数とを含み、前記ロボットシステムは、
    プロセスを備え、前記プロセスは、
    前記RODデータからのさまざまな質量、形状、および慣性モーメントテンソルを含む各リンクのダイナミクスに基づいて前記動的制約を求め、前記センサデータから環境の座標格子を生成して少なくとも1つの障害物および各リンクの終点のデカルト座標を求めることによって前記形状制約を一次微分可能な関数として求め、
    前記MLDモデルを用いて前記ロボットアームについての前記NLOプログラムを定式化するように構成され、前記NLOプログラムは、前記開始姿勢および前記終了姿勢、前記動的制約および前記形状制約を入力として使用して、前記軌道がロボットエンドエフェクタを前記開始姿勢から前記終了姿勢に動かすように、前記一連の時間間隔における時間間隔ごとに、前記動的制約および前記形状制約ならびにロボットアーム操作制約を満たしながら前記軌道の目的関数を最適化し、前記プロセスはさらに、
    前記NLOプログラムから得られる最適化された前記軌道に基づいて前記ロボットアームを動かすように前記ロボット駆動装置の前記モータを制御するように構成される、ロボットシステム。
  21. コンピューティングシステムであって、
    プロセッサおよびアクセス可能なメモリを備え、前記コンピューティングシステムは、
    センサデータと、車両操作およびダイナミクス(VOD)データと、車両動的(VD)モデルと、非線形最適化(NLO)プログラムと、目的関数とを含む入力を受信し、
    車両に対する動的制約および形状制約を満たしながら、一連の時間間隔にわたって、開始姿勢および終了姿勢とともに経路を含む軌道を求めるように構成され、前記車両は、モータと、前記車両を前記経路に沿って誘導するためのステアリング駆動システムとを有し、前記コンピューティングシステムはさらに、
    前記VODデータからの前記車両操作およびダイナミクス(VOD)のダイナミクスに基づいて前記動的制約を求め、前記センサデータから環境の座標格子を生成して少なくとも1つの障害物および前記車両の終点のデカルト座標を求めることによって前記形状制約を一次微分可能な関数として求め、
    前記VDモデルを用いて前記車両についての前記NLOプログラムを定式化するように構成され、前記NLOプログラムは、前記開始姿勢および前記終了姿勢、前記動的制約および前記形状制約を入力として使用して、前記軌道が前記車両を前記開始姿勢から前記終了姿勢に動かすように、前記一連の時間間隔における時間間隔ごとに、前記動的制約および前記形状制約ならびに車両操作制約を満たしながら前記軌道の目的関数を最適化し、前記コンピューティングシステムはさらに、
    前記NLOプログラムから得られる最適化された前記軌道に基づいて前記車両を動かすように前記車両の前記モータおよび前記車両ステアリング駆動システムを制御するように構成される、コンピューティングシステム。
  22. 車両に対する動的制約および形状制約を満たしながら、開始姿勢および終了姿勢に関連付けられた経路および対応する制御入力を含む軌道を求めるための方法であって、前記経路は前記車両が一連の時間間隔にわたって進むべき経路であり、前記車両は、モータと、前記車両を前記経路に沿って誘導するためのステアリング駆動システムとを有し、前記方法は、
    メモリに格納された車両操作およびダイナミクス(VOD)データからのさまざまな質量、形状、および慣性モーメントテンソルを含む前記車両のダイナミクスに基づいて前記動的制約を求め、前記メモリに格納されたセンサデータから環境の座標格子を生成して少なくとも1つの障害物および前記車両の終点のデカルト座標を求めることによって前記形状制約を一次微分可能な関数として求めることと、
    車両動的(VD)モデルを用いて前記車両についての非線形最適化(NLO)プログラムを定式化することとを備え、前記NLOプログラムは、前記開始姿勢および前記終了姿勢、前記動的制約および前記形状制約を入力として使用して、前記軌道が前記車両を前記開始姿勢から前記終了姿勢に動かすように、前記一連の時間間隔における時間間隔ごとに、前記動的制約および前記形状制約ならびに車両操作制約を満たしながら前記軌道の目的関数を最適化し、前記方法はさらに、
    前記NLOプログラムから得られる最適化された前記軌道に基づいて前記車両を動かすように前記車両の前記モータおよび前記車両ステアリング駆動システムを制御することを備える、方法。
  23. 実行可能命令で符号化された非一時的なコンピュータ読取可能媒体であって、前記実行可能命令は、実行されると、1つ以上のデータ処理システムに、
    センサデータと、車両操作およびダイナミクス(VOD)と、車両動的(VD)モデルと、非線形最適化(NLO)プログラムと、目的関数とを含む入力を受信させ、
    車両に対する動的制約および形状制約を満たしながら、一連の時間間隔にわたって、開始姿勢および終了姿勢とともに経路を含む軌道を求めさせ、前記車両は、モータと、前記車両を前記経路に沿って移動させ誘導するためのステアリング駆動システムとを有し、前記実行可能命令は、実行されると、前記1つ以上のデータ処理システムにさらに、
    前記VODデータからの前記車両のダイナミクスに基づいて前記動的制約を求めさせ、前記センサデータから環境の座標格子を生成して少なくとも1つの障害物および前記車両の終点のデカルト座標を求めることによって前記形状制約を一次微分可能な関数として求めさせ、
    前記VDモデルを用いて前記車両についての前記NLOプログラムを定式化させ、前記NLOプログラムは、前記開始姿勢および前記終了姿勢、前記動的制約および前記形状制約を入力として使用して、前記軌道が前記車両を前記開始姿勢から前記終了姿勢に動かすように、前記一連の時間間隔における時間間隔ごとに、前記動的制約および前記形状制約ならびに車両操作制約を満たしながら前記軌道の目的関数を最適化し、前記実行可能命令は、実行されると、前記1つ以上のデータ処理システムにさらに、
    前記NLOプログラムから得られる最適化された前記軌道に基づいて前記車両を動かすように前記車両の前記モータおよび前記車両ステアリング駆動システムを制御させる、非一時的なコンピュータ読取可能媒体。
  24. 車両に対する動的制約および形状制約を満たしながら、開始姿勢および終了姿勢に関連付けられた経路および対応する制御入力を含む軌道を求めるための車両システムであって、前記経路は前記車両が一連の時間間隔にわたって進むべき経路であり、前記車両は、モータと、前記車両を前記経路に沿って誘導するためのステアリング駆動システムと、アクセス可能なメモリとを有し、前記メモリは、センサデータと、車両操作およびダイナミクス(VOD)データと、車両ダイナミクス(VD)モデルと、非線形最適化(NLO)プログラムと、目的関数とを含み、前記車両システムは、
    プロセスを備え、前記プロセスは、
    前記VODデータからのさまざまな質量、形状、および慣性モーメントテンソルを含む前記車両のダイナミクスに基づいて前記動的制約を求め、前記センサデータから環境の座標格子を生成して少なくとも1つの障害物および前記車両の終点のデカルト座標を求めることによって前記形状制約を一次微分可能な関数として求め、
    前記VDモデルを用いて前記車両についての前記NLOプログラムを定式化するように構成され、前記NLOプログラムは、前記開始姿勢および前記終了姿勢、前記動的制約および前記形状制約を入力として使用して、前記軌道が前記車両を前記開始姿勢から前記終了姿勢に動かすように、前記一連の時間間隔における時間間隔ごとに、前記動的制約および前記形状制約ならびに車両操作制約を満たしながら前記軌道の目的関数を最適化し、前記プロセスはさらに、
    前記NLOプログラムから得られる最適化された前記軌道に基づいて前記車両を動かすように前記車両の前記モータおよび前記車両ステアリング駆動システムを制御するように構成される、車両システム。
JP2022530008A 2019-10-03 2020-07-29 形状制約付きの非線形ロボットシステムの軌道最適化のための方法およびシステム Active JP7399287B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201916591655A 2019-10-03 2019-10-03
US16/591,655 2019-10-03
PCT/JP2020/030103 WO2021065196A1 (en) 2019-10-03 2020-07-29 Method and system for trajectory optimization for nonlinear robotic systems with geometric constraints

Publications (2)

Publication Number Publication Date
JP2022541352A true JP2022541352A (ja) 2022-09-22
JP7399287B2 JP7399287B2 (ja) 2023-12-15

Family

ID=72322508

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022530008A Active JP7399287B2 (ja) 2019-10-03 2020-07-29 形状制約付きの非線形ロボットシステムの軌道最適化のための方法およびシステム

Country Status (4)

Country Link
EP (1) EP3880413B1 (ja)
JP (1) JP7399287B2 (ja)
CN (1) CN114502335A (ja)
WO (1) WO2021065196A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11833680B2 (en) 2021-06-25 2023-12-05 Boston Dynamics, Inc. Robot movement and online trajectory optimization
CN113674411A (zh) * 2021-07-29 2021-11-19 浙江大华技术股份有限公司 基于位姿图调整的建图方法及相关设备
CN113794983B (zh) * 2021-08-27 2022-08-12 北京理工大学 一种基于非线性几何约束优化的多目标室内定位方法
CN113580146B (zh) * 2021-08-29 2022-08-05 浙江工业大学 一种融合动态系统与模型预测控制的机械臂实时避障方法
US20230117928A1 (en) * 2021-10-18 2023-04-20 Boston Dynamics, Inc. Nonlinear trajectory optimization for robotic devices
EP4198670A1 (en) * 2021-10-29 2023-06-21 Volvo Autonomous Solutions AB Method and device for coordinating vehicle routes in confined areas
WO2023072418A1 (en) * 2021-10-29 2023-05-04 Volvo Autonomous Solutions AB Method and device for coordinating vehicle routes in confined areas
CN113885535B (zh) * 2021-11-25 2023-09-12 长春工业大学 一种冲击约束的机器人避障和时间最优轨迹规划方法
CN114248804B (zh) * 2021-12-08 2023-11-10 深圳市优必选科技股份有限公司 步态规划方法、装置、电子设备及可读存储介质
CN114348026B (zh) * 2022-01-30 2023-11-28 中国第一汽车股份有限公司 一种车辆控制方法、装置、设备以及存储介质
CN114310915B (zh) * 2022-02-16 2022-09-09 哈尔滨工业大学 基于视觉反馈的空间机械臂对接末端工具轨迹规划方法
CN114559435B (zh) * 2022-03-23 2023-08-29 杭州电子科技大学 基于球体包络且性能最优目标下的机械臂轨迹规划方法
CN115981144B (zh) * 2022-10-27 2023-11-24 南京师范大学泰州学院 一种齿轮巡检机器人全局非线性滑模有限时间控制方法
CN116300918A (zh) * 2023-03-07 2023-06-23 广东隆崎机器人有限公司 六轴机器人的路径规划、装置、机器人及可读存储介质
CN116382077B (zh) * 2023-03-28 2023-11-07 燕山大学 一种非完整约束轮式机器人固定时间控制器的设计方法
CN116141341B (zh) * 2023-04-21 2023-08-08 之江实验室 满足笛卡尔空间约束的五自由度机械臂指向动作实现方法
CN117075525B (zh) * 2023-10-12 2023-12-19 纳博特南京科技有限公司 基于约束型模型预测控制的移动机器人控制方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008279524A (ja) * 2007-05-08 2008-11-20 Ihi Corp 複数ロボットの衝突検知方法及びロボット装置
JP2010055498A (ja) * 2008-08-29 2010-03-11 Hitachi Ltd 自律移動ロボット装置及びかかる装置における飛び出し衝突回避方法
JP2012056064A (ja) * 2010-09-13 2012-03-22 Sugino Machine Ltd 経路生成装置および経路生成方法
JP2016186683A (ja) * 2015-03-27 2016-10-27 国立大学法人名古屋大学 運転支援装置
WO2016181959A1 (ja) * 2015-05-13 2016-11-17 国立研究開発法人産業技術総合研究所 ロボット動作生成方法
US20180356819A1 (en) * 2017-06-13 2018-12-13 GM Global Technology Operations LLC Autonomous vehicle driving systems and methods for critical conditions
WO2019009350A1 (ja) * 2017-07-05 2019-01-10 オムロン株式会社 経路出力方法、経路出力システム及び経路出力プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216058B1 (en) 1999-05-28 2001-04-10 Brooks Automation, Inc. System of trajectory planning for robotic manipulators based on pre-defined time-optimum trajectory shapes
US7248952B2 (en) 2005-02-17 2007-07-24 Northrop Grumman Corporation Mixed integer linear programming trajectory generation for autonomous nap-of-the-earth flight in a threat environment
US8700307B1 (en) * 2013-03-04 2014-04-15 Mitsubishi Electric Research Laboratories, Inc. Method for determining trajectories manipulators to avoid obstacles
US9862090B2 (en) * 2014-07-25 2018-01-09 California Institute Of Technology Surrogate: a body-dexterous mobile manipulation robot with a tracked base
CN108621165B (zh) * 2018-05-28 2021-06-15 兰州理工大学 障碍环境下的工业机器人动力学性能最优轨迹规划方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008279524A (ja) * 2007-05-08 2008-11-20 Ihi Corp 複数ロボットの衝突検知方法及びロボット装置
JP2010055498A (ja) * 2008-08-29 2010-03-11 Hitachi Ltd 自律移動ロボット装置及びかかる装置における飛び出し衝突回避方法
JP2012056064A (ja) * 2010-09-13 2012-03-22 Sugino Machine Ltd 経路生成装置および経路生成方法
JP2016186683A (ja) * 2015-03-27 2016-10-27 国立大学法人名古屋大学 運転支援装置
WO2016181959A1 (ja) * 2015-05-13 2016-11-17 国立研究開発法人産業技術総合研究所 ロボット動作生成方法
US20180356819A1 (en) * 2017-06-13 2018-12-13 GM Global Technology Operations LLC Autonomous vehicle driving systems and methods for critical conditions
WO2019009350A1 (ja) * 2017-07-05 2019-01-10 オムロン株式会社 経路出力方法、経路出力システム及び経路出力プログラム

Also Published As

Publication number Publication date
CN114502335A (zh) 2022-05-13
WO2021065196A1 (en) 2021-04-08
JP7399287B2 (ja) 2023-12-15
EP3880413A1 (en) 2021-09-22
EP3880413B1 (en) 2023-10-04

Similar Documents

Publication Publication Date Title
JP7399287B2 (ja) 形状制約付きの非線形ロボットシステムの軌道最適化のための方法およびシステム
JP7338034B2 (ja) リモートクライアントデバイスからの入力に基づく効率的なロボットの制御
Khalaji et al. Robust adaptive controller for a tractor–trailer mobile robot
US11554485B2 (en) Generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot
Cherubini et al. A collaborative robot for the factory of the future: Bazar
US20210132615A1 (en) Systems and methods for optimizing route planning for tight turns for robotic apparatuses
KR102003216B1 (ko) 로봇을 위한 모터 제어 및/또는 조정
CN110023866A (zh) 用于自主导航中的动态路线规划的系统和方法
US10019566B1 (en) Authorizing robot use and/or adapting physical control parameters for a robot
Farkhatdinov et al. Improving mobile robot bilateral teleoperation by introducing variable force feedback gain
EP3620273A2 (en) Methods and apparatus for robot control
Rambow et al. Autonomous manipulation of deformable objects based on teleoperated demonstrations
Valenzuela-Urrutia et al. Virtual reality-based time-delayed haptic teleoperation using point cloud data
Pajak et al. Point-to-point collision-free trajectory planning for mobile manipulators
Fennel et al. Haptic-guided path generation for remote car-like vehicles
Parga et al. Tele-manipulation of robot arm with smartphone
Karimi et al. Mavi: A research platform for telepresence and teleoperation
Parga et al. Smartphone-based human machine interface with application to remote control of robot arm
TW202032366A (zh) 用於非完整機器人系統之改良式控制之系統及方法
Kuan et al. Challenges in VR-based robot teleoperation
US11883962B2 (en) Object manipulation with collision avoidance using complementarity constraints
Zhang et al. An interactive control system for mobile robot based on cloud services
Ogawa et al. Motion generation of the humanoid robot for teleoperation by task model
US20240094736A1 (en) Robot navigation in dependence on gesture(s) of human(s) in environment with robot
Rojas et al. A steering wheel manipulation scheme by an anthropomorphic humanoid robot in a constrained vehicle environment

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220114

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230830

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231205

R150 Certificate of patent or registration of utility model

Ref document number: 7399287

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150