JP2023075884A - 動的動作計画システム - Google Patents

動的動作計画システム Download PDF

Info

Publication number
JP2023075884A
JP2023075884A JP2022017295A JP2022017295A JP2023075884A JP 2023075884 A JP2023075884 A JP 2023075884A JP 2022017295 A JP2022017295 A JP 2022017295A JP 2022017295 A JP2022017295 A JP 2022017295A JP 2023075884 A JP2023075884 A JP 2023075884A
Authority
JP
Japan
Prior art keywords
robot
motion
obstacle
joint
module
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.)
Pending
Application number
JP2022017295A
Other languages
English (en)
Inventor
シェン-チュン リン
Hsien-Chung Lin
タリニャーニ ランディ キアーラ
Talignani Landi Chiara
ツァイ チー-コン
Chi-Keng Tsai
哲朗 加藤
Tetsuro Kato
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Publication of JP2023075884A publication Critical patent/JP2023075884A/ja
Pending legal-status Critical Current

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, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39091Avoid collision with moving 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/40477Plan path independent from obstacles, then correction for 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/40607Fixed camera to observe workspace, object, workpiece, global

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

【課題】産業用ロボットのための、動的な衝突回避動作計画の方法とシステムを提供する。【解決手段】障害物回避動作最適化ルーチンは計画軌道と障害物検知データを入力として受信し、検知した障害物を回避するためのロボット軌道命令を計算する。ツール中心点軌道を追従するためのロボット関節動作はロボット制御装置によりロボット動作を命令するために使用される。計画及び最適化計算は実際のロボット位置からロボット命令を計算する制御装置のフィードバックループから分離されたフィードバックループにて行われる。2つのフィードバックループは、ロボット作業空間に存在し得る動的障害物への応答を含む、計画、命令及び制御の計算をリアルタイムで行う。最適化計算は障害物のロボットに対する相対位置と相対速度の双方を効果的に組み込む安全関数を含む。【選択図】図2

Description

本開示は概して産業用ロボットの動作計画の分野に関し、より具体的には、動的障害物存在下におけるロボットの動作計画の方法及びシステムに関し、障害物回避のための動作最適化計算はロボットのフィードバック動作制御装置から切り離され、動作最適化計算は障害物のロボットに対する相対位置及び相対速度の双方を効果的に組み入れる障害物回避拘束を含む。
産業用ロボットの用途として、様々な製造、組み立て、材料運搬の実行が広く知られている。多くのロボットの作業空間環境では、障害物が存在しロボットの動作軌道上に位置し得る。障害物は、静的な性質故にロボットにより簡単に回避可能な機械や設備といった永久構造物であってもよい。障害物はロボットの作業空間内へ移動する、又は作業空間内をランダムに動く動的物体であってもよい。ロボット制御装置により動的物体に対してリアルタイム計算を行わなければならず、ロボットは物体の周辺を操作しながら移動しなければならない。ロボットと障害物との衝突は絶対に避けられなければならない。
動的衝突回避のための動作計画の従来技術はロボット制御装置の動作計画器と物理的ロボットシステムの間の衝突回避安全関数の計算を含む。この計算配置では、ロボットの実際の動作並びに障害物の検知及び回避が1つの閉ループフィードバックシステムに含まれている。この配置は理論的には有意義であるが、実際は、入力及びフィードバックループの高度に接続され多くの場合矛盾する性質から、システムではフィードバックの遅れが起こる。
加えて、既存の動的動作計画システムは衝突回避のために複雑な安全関数の構成を使用する。これらのシステムでは、数々の不安定性の問題、静的障害物に対する非感受性、動作計画計算の遅さにつながる計算の複雑さ、及びロボットと障害物の衝突回避計算に使用するアーム先端のツール以外のロボットの部品(すなわちロボットアーム)を考慮する能力がないことを含む、様々な欠点が現れる。
上述の事情を考慮して、効率的に、そして効果的に静的及び動的障害物の衝突回避を組み入れた、産業用ロボットのための改善された動的動作計画システムが必要である。
本開示の教示に従って、産業用ロボットのための動的衝突回避動作計画の方法及びシステムが説明され、示される。障害物回避動作最適化ルーチンは計画軌道と障害物検知データを入力として受信し、検知した障害物を回避するためのロボット軌道命令を計算する。ツール中心点軌道を追従するためのロボット関節動作はロボット制御装置によりロボット動作を命令するために使用される。計画及び最適化計算は実際のロボット位置からロボット命令を計算する制御装置のフィードバックループから分離されたフィードバックループにて行われる。2つのフィードバックループは、ロボット作業空間に存在し得る動的障害物への応答を含む、計画、命令及び制御の計算をリアルタイムで行う。最適化計算は障害物のロボットに対する相対位置と相対速度の双方を効果的に組み込む安全関数を含む。
開示されるシステム及び方法の追加の特徴は、添付の図面と併せて考慮した以下の説明及び添付された請求項から明らかになろう。
図1はロボット制御装置の動作計算と物理的ロボットの間に衝突回避安全フィルタを組み込んでいる、当業者に既知の閉ループ動的動作計画システムのブロック図である。 図2は本開示の実施形態による、ロボットのフィードバック制御ループから切り離された衝突回避動作計画ループを含む動的動作計画システムのブロック図である。 図3A及び図3Bは本開示の実施形態によるロボットと障害物との2つの異なる動作シナリオ、及び結果として得られる双方に対する安全関数の構成を示す。 図3A及び図3Bは本開示の実施形態によるロボットと障害物との2つの異なる動作シナリオ、及び結果として得られる双方に対する安全関数の構成を示す。 図4は、本開示の実施形態による、動的ロボット動作計画の方法のフローチャート図である。 図5は本開示の実施形態による、ロボット作業空間における障害物がない場合及び作業空間にて障害物が動いている場合の両方の、三次元空間におけるロボットのツール中心点の軌道のグラフである。 図6は本開示の実施形態による、三次元空間における複数のロボットのツール中心点の軌道のグラフであり、各軌道は異なるロボットの速度を示し、ロボットは作業空間における静的障害物を回避する。
本開示の実施形態に関する、動的動作計画システムに向けられた以下の議論は単に例示的な性質のものであり、開示された装置及び技術、又は応用や用途を限定することを決して意図していない。
産業用ロボットを様々な製造、組み立て、材料運搬の動作に使用することは広く知られている。多くのロボットの作業空間環境では、障害物が存在し得、時々ロボットの動作軌道上に位置し得る。すなわち、適応型動作計画がなければ、ロボットが現在の位置から目的位置まで移動する際に、ロボットのある部分は障害物のある部分と衝突又は近接し得る。障害物は機械、設備及び机といった静的構造物であり得、又は障害物は人間、フォークリフト及びその他の機械のような動的な(動いている)物体であり得る。
ロボットが障害物と衝突することを避けながらツールが目的位置まで軌道を追従できるようロボット動作を計算する技術が開発されてきた。しかしながら、これらのシステムでは、数々の不安定性の問題、静的障害物に対する非感受性、動作計画の遅さにつながる計算の複雑さ、及びロボットと障害物の衝突回避計算に使用するアーム先端のツール以外のロボットの部品(すなわちロボットアーム)を考慮する能力がないこと、を含む、様々な欠点が現れる。
図1はロボット制御装置の動作計算と物理的ロボットの間に衝突回避安全フィルタを組み込んでいる、当業者に既知の閉ループ動的動作計画システムのブロック図である。ロボット制御装置110は既知の方法にて入力された目標(目的)位置に基づいてロボット動作命令を計算する。動作命令はudes(X)と示され、udesはデカルト空間における「設計」ロボット動作を示すツール中心点の加速度ベクトルである。動作命令をロボットに直接提供するよりも、制御装置110は動作命令を安全フィルタモジュール120に提供する。
安全フィルタモジュール120はまた知覚モジュール130から入力された障害物データを受信する。知覚モジュール130はロボットの作業空間に存在し得る障害物に関するデータを提供する1つ以上のカメラ又はセンサを含む。障害物データは典型的にはロボットと障害物の最小距離を含み、任意の障害物の位置(空間的形状を含む)及び速度に関するその他のデータも含み得る。障害物データに基づいて、安全フィルタモジュール120は修正動作命令umodを計算し、修正動作命令をロボットシステム140へ提供する。ロボット作業空間に障害物が存在しなければ、修正動作命令umodは設計動作命令udesと同じになる。
ロボットシステム140は物理的に移動することで修正動作命令umodに応答するロボットを含む。実際のロボット状態ベクトルXは、デカルト空間又は関節空間における、現在の制御サイクル時間ステップにおけるロボットの位置及び速度を表す。実際のロボット状態ベクトルXはフィードバックループ150にて制御装置110及び安全フィルタモジュール120の双方に提供され、フィードバック制御計算にて、設計動作命令udes及び修正動作命令umodのそれぞれを次の制御サイクル時間ステップで使用する新しい値の計算に使用される。
図1に示される従来技術のシステムにおけるフィードバック制御配置においては、制御装置110により理想的な動作命令の計算が行われ、必要あれば安全フィルタ120により障害物データに基づいて理想的な動作の修正が行われ、これら双方の計算は実際のロボットシステムの状態のフィードバックを含み、理論的には有意義である。しかし実際は、入力及びフィードバックループの高度に接続され多くの場合矛盾する性質から、システムはフィードバックの遅れを起こす。加えて、既存の図1に示される型の動的動作計画システムは多くの場合安全フィルタモジュール120にて複雑な安全関数構成を使用する。これらの安全関数の構成は動作計画計算が遅い問題を悪化させ、後述するその他の問題を引き起こす。
本開示の動的動作計画システムは動作計画及び障害物回避計算をロボットとその制御装置のフィードバック制御ループから切り離することにより従来技術のシステムの欠点を克服する。現在開示されるシステムはまた、ロボットの動作命令を計算するときに、任意の障害物の、ロボットからの相対的な位置及び速度の双方を考慮した、単純化されながら効果的な安全関数の構成を使用する。
図2は本開示の実施形態による、ロボットのフィードバック制御ループから切り離された衝突回避動作計画ループを含む動的動作計画システムのブロック図である。計画モジュール210は入力された目標(目的)位置に基づいて、計画ロボット動作を計算する。ある非限定例において、ロボットツールはグリッパであり、ロボットのタスクは部品を元の位置から目標位置まで動かすことである。計画ロボット動作udesはデカルト空間にて「設計」(計画)ロボット動作を定義する加速度ベクトルである。特に、udesはツール中心点の加速度として定義されてもよい。計画モジュール210は計画ロボット動作udesを動的動作最適化モジュール220に提供する。
動的動作最適化モジュール220はまた知覚モジュール230から入力された障害物データを受信する。知覚モジュール230はロボットの作業空間に存在し得る障害物に関するデータを提供する1つ以上のカメラ又はセンサを含む。図1に関して上に議論したように、障害物データは典型的には少なくともロボットと障害物の最小距離を含み、障害物の位置(空間的形状を含む)及び速度に関するその他のデータも含み得る。
動的動作最適化モジュール220は、ロボットの機械的制約及び衝突回避安全関数を拘束として含めながら計画ロボット動作udesからの追従偏差を最小にする最適化計算を行う。この最適化計算の結果がロボット動作命令qcmdとなる。ロボット動作命令qcmdは、ロボットの作業空間中の障害物を回避しながらロボットのツールを目標位置まで運ぶ、関節空間におけるロボットの動作である。最適化計算は下に詳しく議論される。フィードバックループ240はロボット動作命令qcmdを動的動作最適化モジュール220から計画モジュール210へと戻って提供する。計画モジュール210及び動的動作最適化モジュール220は各制御サイクルにて上述の計算を繰り返す。
動的動作最適化モジュール220もまたロボット動作命令qcmdをロボット制御装置250に提供する。ロボット制御装置250はロボット制御命令をロボット260に提供し、フィードバックループ270における実際のロボット関節位置qactを受け取る。ロボット制御装置250は各制御サイクルにおけるロボット制御命令を実際のロボット関節位置qact及びロボット動作命令qcmdに基づいて更新する。
図2の動的動作計画システムは、動作計画及び障害物回避計算(モジュール210及び220、並びにフィードバックループ240)をロボット260及びその制御装置250のフィードバック制御ループ270から切り離すことにより、従来技術のシステムにおけるフィードバックの遅れ及び計算パフォーマンスの問題を克服する。
図2の動的動作計画システムの実際のハードウエア実装は2通りの方法により行われてもよい。1つの実装アプローチでは、計画モジュール210及び動的動作最適化モジュール220はロボット制御装置250内のプロセッサ上で実行されるアルゴリズムである。すなわち、物理的なロボット制御装置は図2のモジュール210、220及び250の計算の全てを上述の方法で行う1つ以上のプロセッサを含む。別の実装アプローチでは、計画モジュール210及び動的動作最適化モジュール220が、ロボット制御装置250へロボット動作命令qcmdを通信する別のコンピューター上(異なる装置)のプロセッサにて実行されるアルゴリズムである。
現在開示されるシステムの動的動作最適化モジュール220はまた、ロボット動作命令qcmdを計算するときに、障害物のロボットからの相対的な位置及び速度の双方を考慮した、単純化されながら効果的な安全関数の構成を使用する。安全関数の構成及び動作最適化計算における安全関数の使用が以下に議論される。
図3A及び図3Bは本開示の実施形態による、動的動作最適化モジュール220内で使用されるロボットと障害物の2つの異なる動作シナリオ及び結果として得られる双方に対する安全関数の構成を示す。図3Aと図3Bにおいて、アーム先端のツール310を有するロボット300は作業空間内にて動作する。障害物320もまた作業空間内に存在する。
図3Aにて、障害物320はロボット300から離れていき、その結果障害物320のロボット300に対する相対速度(すなわち最小距離の変化率)は0より大きくなる(vrel>0)。正の相対速度はロボット300から遠ざかる障害物320によるものかもしれず、又は障害物320から遠ざかるアーム先端のツール310によるものかもしれず、又は二者の組み合わせによるものかもしれない。図3Aのように相対速度vrelが0より大きければ、安全関数はh(X)=dのように定義され、h(X)は最適化計算の不等式制約で使用される安全関数であり、dはロボット300から障害物320への距離である(典型的には図2の知覚モジュール230により決定される最小距離である)。
図3Bにて、障害物320はロボット300に近づき(接近し)、その結果障害物320のロボット300に対する相対速度は0以下である(vrel≦0)。負数の相対速度はロボット300に近づく障害物320によるものかもしれず、又は障害物320に近づくアーム先端のツール310によるものかもしれず、又は二者の組み合わせによるものかもしれない。図3Bのように相対速度vrelが0以下の場合、安全関数は相対速度を含むように修正された結果h(X)=d-(vrel 2)/(2amax)のように定義され、h(X)は安全関数(最適化計算の不等式制約にて使用される)であり、dはロボット300から障害物320への距離であり、vrelは相対速度であり、amaxは機械的制約に基づく最大許容ロボット加速度である。
図3A及び図3Bに描かれ上述された安全関数の構成は、障害物がロボットから遠ざかるときにはロボット動作をより制約せず、障害物がロボットに接近するときには接近速度を補償するシンプルな計算を使用しており、双方とも相対速度を考慮に入れたことによりシンプルで効果的なものとなっている。安全関数は図2の動的動作最適化モジュール220で行われる動作最適化計算における不等式制約(すなわちh(X)≧0)内にて使用される。動作最適化計算の詳細は以下にて更に議論される。
図4は、本開示の実施形態による、動的ロボット動作計画の方法のフローチャート図400である。ボックス402にて、計画ロボット動作は目標又は目的となるツール中心点位置に基づいて計算される。代表的な実施例では、計画ロボット動作はツール中心点を目標位置へと動かす「設計」(計画)ロボット動作udesを定義する、デカルト空間におけるツール中心点の加速度ベクトルである。ボックス404にて、作業空間の障害物データは知覚モジュールにより提供される。知覚モジュールは、作業空間に存在する障害物の位置を検知できる三次元(3D)カメラのような、少なくとも1つのカメラ又はセンサを含む。知覚モジュールはカメラ画像から障害物の位置データを計算する画像プロセッサを含んでもよく、又は知覚モジュールは単にロボット動作最適化計算を行うコンピューター又は制御装置に生のカメラ画像を提供してもよい。障害物位置データは、好ましくは、ロボット位置データと容易に比較することができる作業空間座標系にて計算される。ロボットと障害物の最小距離及びロボットと障害物の相対速度は障害物データから最終的に要求される。
ボックス406にて、ロボット動作最適化計算は計画ロボット動作及び障害物データに基づいて行われる。ロボット動作最適化計算の出力は図2を参照して上に議論したロボット動作命令qcmdである。作業空間に障害物が存在しなければ、ロボット動作命令は計画ロボット動作と同じである。ロボット動作命令がボックス402へフィードバックループにて提供され、目標ツール中心点位置及び(障害物を回避するために最適化の最中に修正された)ロボット動作命令に基づいて計画ロボット動作は計算される。
ボックス408にて、ロボット制御装置はロボットへロボット動作命令を提供する。ロボット制御装置は適切なロボット関節動作命令をロボットに提供するために計算又は変換を実行してもよい。ボックス410にて、ロボットは制御装置からの関節動作命令に基づいて実際に動作する。ロボット及び制御装置は閉ループフィードバック制御システムとして動作し、実際のロボットの状態qact(関節位置及び速度)は更新された関節命令の計算のために制御装置にフィードバックされる。ロボット及び制御装置は指定された時間(すなわち特定のミリ秒数)を有する制御サイクルにて動作する。
ボックス406にて、動作最適化問題は以下のように定式化することができる。
Figure 2023075884000002
したがって、
Figure 2023075884000003
Figure 2023075884000004
Figure 2023075884000005
ここで数式(1)は最小化すべき最適化目的関数(計画動作udesからの追従偏差)であり、数式(2)から数式(4)は反復最適化計算中に満たすべき不等式制約である。数式(1)から数式(3)にて、
Figure 2023075884000006
及び
Figure 2023075884000007
はロボットの全ての関節におけるそれぞれの関節速度及び加速度であり、Jはヤコビ行列(ロボットの構成の導関数)、
Figure 2023075884000008
はヤコビ行列の導関数、並びに
Figure 2023075884000009
及び
Figure 2023075884000010
は予め定義されたロボットの機械的制約に基づく最大関節速度及び加速度である。関節位置qが予め定義された関節位置範囲に収まることを要求するような追加の不等式制約(上に示されない)が加えられてもよい。
障害物回避の拘束のためには、図3A及び図3Bに示され上に議論された安全関数h(X)≧0を維持することがゴールとなる。これは数式4を
Figure 2023075884000011
として定義することにより実施される。h(X)=dである単純なケース(図3Aのケース1、遠ざかる場合)では、数式(4)は
Figure 2023075884000012
と簡略化され、ここでγは固定係数であり、dはロボットと障害物との最小距離であり、
Figure 2023075884000013
はロボットと障害物の最小距離の変化率である。ケース2(接近)では、挙動は類似しているが、接近速度が更に補償される。言い換えれば、数式(4)は最小距離dが大きいほど、許容される距離の変化率
Figure 2023075884000014
が大きくなる。係数γの値は所望のシステムの挙動を達成するために打ち立ててもよく、γが小さい値である場合、ロボットの挙動はより保守的なものとなる(より大きい距離を空けて障害物回避を行うために移動が増加する)。
収束時、最適化計算により不等式制約を満たしながら最小の追従偏差を有するロボット動作を表すロボット動作命令
Figure 2023075884000015
が生み出される。障害物が非常に素早くロボットに接近する際には、数式(1)から数式(4)の最適化計算は実行不可能なものとなり、この場合、システムはロボットの動作を遅くし、最適化計算がまだ実行不可能である場合は、ロボットを停止させる。
図4にて、ボックス402の計画ロボット動作の計算、ボックス406におけるロボット動作最適化計算、及びボックス408におけるロボット関節動作命令の計算は全てロボットとリアルタイム通信を行っているロボット制御装置により行われてもよい。代わりに、ボックス402及びボックス406の計算は別個のコンピューターで行ってもよく、各制御サイクルにおけるロボット動作命令はボックス408にて制御装置に提供されてもよい。
図2から図4の動的動作計画技術はリアルなロボットシステムにおける信頼性の高い障害物回避結果を提供するために説明された。これは作業空間中の障害物を回避するための効果的な軌道計画と、安全関数及び結果として得られる動作最適化の迅速な計算の双方を含む。
図5は本開示の実施形態による、ロボット作業空間における障害物がない場合及び作業空間にて障害物が動いている場合の両方の、三次元空間におけるロボットのツール中心点の軌道のグラフである。図示するように作業空間500は直交するX、Y及びZ軸による3D空間で表現される。ロボット(図示せず)は作業空間500で動作し、ツール中心点をスタート地点510から目標(目的)地点512まで動かすタスクを実行することが要求される。図5はリアルな実験室における試験にて収集されたデータを示す。
図5には2つの異なるシナリオが示される。1つ目のシナリオでは、作業空間500に障害物がない。障害物が全くない場合、ロボットはツール中心点をスタート地点510から目標地点512まで、参照軌道520に沿って直線上を移動させる。
2つ目のシナリオでは、作業空間500中を障害物が障害物軌道530に沿って連続した点を追従しながら移動する。リアルな実験室における試験では、障害物は人間が手に持った小さい物体であり、人間は物体が障害物軌道530を追従するようにロボットに接近し腕をロボットへ延ばした。障害物は、ロボットツールがスタート地点510から目標地点512まで移動する間に障害物軌道530に沿って移動する。本開示の動的軌道計画技術を使用し、スタート地点510から目標地点512まで障害物回避軌道540に沿ってロボットはツール中心点を移動させた。障害物回避軌道540は障害物軌道530上を移動する障害物からの安全な隙間を提供するために参照軌道520から大きく逸脱している。障害物回避軌道540の参照軌道520から離れる最も顕著な挙動は軌道540の最初の部分であることは注目するべきことである。これは、その時に障害物がロボットツールの方へ移動していて、図3Bを参照して議論したように安全関数h(X)が接近速度を補償するよう減少したためである。
図6は本開示の実施形態による、三次元空間における複数のロボットのツール中心点の軌道のグラフであり、各軌道は異なるロボットの速度を示し、ロボットは作業空間における静的障害物を回避する。図示するように作業空間600は直交するX、Y及びZ軸による3D空間で表現される。ロボット(図示せず)は作業空間600で動作し、ツール中心点をスタート地点610から目標(目的)地点612まで動かすタスクを実行することが要求される。図6は本開示の動的軌道計画技術を使用した特定のロボット及び制御装置のシミュレーションから収集されたデータを示す。
図6には複数の異なるシナリオが示される。1つ目のシナリオでは、作業空間600に障害物がない。障害物が全くない場合、ロボットはツール中心点をスタート地点610から目標地点612まで、公称軌道620に沿って直線上を直行移動させる。
その他のシナリオでは、固定された球形の障害物630が作業空間600内における公称軌道620を妨害する位置に設置される。バッファゾーン640は障害物630の周囲に安全な距離マージンを定義し、ロボット及びツール中心点はバッファゾーン640の外側に位置しなければならない。障害物630について4つの異なるシミュレーションが行われ、同じスタート地点610及び目標地点612が使用され、プログラムされたロボットのツール中心点最大速度は最も遅い最大速度850mm/秒から最も速い最大速度1800mm/秒まで変化させた。図6に示される障害物回避軌道を計算するために本開示の動的軌道計画技術を使用した。
最も遅いロボットのツール中心点速度である850mm/秒にて、スタート地点610から目標地点612まで障害物回避軌道652に沿ってロボットはツール中心点を移動させた。公称軌道620からツール中心点をバッファゾーン640のわずかに外側に残すために充分なだけの障害物回避軌道652の逸脱が起こることが観察される。やや速いロボットのツール中心点速度である1000mm/秒にて、スタート地点610から目標地点612まで障害物回避軌道654に沿ってロボットはツール中心点を移動させた。障害物回避軌道654は公称軌道620から(軌道652よりも)より逸脱し、ツール中心点はバッファゾーン640のより外側に残された。これは(図3Bに示された)安全関数h(X)における相対速度の減算項から期待された挙動である。より速いロボットのツール中心点速度ではツールと障害物630の相対速度vrelはより大きくなり、安全関数h(X)の値が減少し、その代わりに最適化計算中の安全関数h(X)≧0を保持するために最小距離dの値が大きくなる。
更に速いロボットのツール中心点速度である1500mm/秒にて、スタート地点610から目標地点612まで障害物回避軌道656に沿ってロボットはツール中心点を移動させた。障害物回避軌道656は公称軌道620からより(軌道654よりも)逸脱し、ツール中心点はバッファゾーン640の更に外側に残された。そして、最も速いロボットのツール中心点速度である1800mm/秒では、障害物回避軌道658がとられ、公称軌道620から最も逸脱した。
本開示の動的軌道計画技術を使用すると、最大ツール速度にて障害物回避軌道は公称軌道620から最も逸脱し(軌道658)、最小ツール速度にて逸脱が最も少なかった(軌道652)。これらのシミュレーションは上に議論した安全関数及び動作最適化計算から期待される挙動を確認するものである。
加えて、図2から図4に描写された開示技術における各制御サイクルでの動作命令の計算時間(動的動作最適化モジュール220からの出力を提供するまでの時間)を計測したところ平均0.38ミリ秒(ms)であった。これは図1の従来技術における計算時間である平均約40msと比較すると差は歴然としている。24msという典型的なロボット制御サイクルを使用する場合、本開示の技術は動作計算を充分な速度より更に高速で行い、一方従来技術における動作計算は支持できないほど遅い。
前述の議論を通して、様々なコンピューター及び制御装置を説明し暗示した。これらのコンピューター及び制御装置のソフトウエアアプリケーション及びモジュールはプロセッサ及びメモリモジュールを有する1つ以上の計算装置上で実行されることが理解されよう。特に、これには、上述の図2のロボット制御装置250内及び(使用される場合は)随意の別個のコンピューターそれぞれの内部のプロセッサが含まれる。特に、制御装置250のプロセッサ及び/又は別個のコンピューター(使用される場合)はボックス250のロボットフィードバック動作制御機能に加えてボックス210及びボックス220の動作計画及び障害物回避動作最適化機能を実行する。
上に概要を述べたように、ロボット作業空間における障害物を回避する動的動作計画のための開示された技術により従来技術の方法に対する顕著な利点が提供される。開示された技術は障害物回避動作最適化をロボットと制御装置のフィードバックループから切り離し、その結果従来技術のシステムにおけるフィードバックの遅れの問題を回避することができる。加えて、動作最適化計算に使用される開示された安全関数はロボットと障害物の相対速度を効果的そして簡単に計算できる方法で補償する。
動的動作計画システムのいくつもの態様例や実施形態を上に議論したが、当業者は、修正、置換、追加、及び部分的組み合わせを認識するであろう。したがって次に添付される請求項及び次に紹介する請求項では、それらの修正、置換、追加、及び部分的組み合わせが、本開示の真の精神及び範囲内であり全て含まれると解釈されることが意図される。

Claims (20)

  1. 産業用ロボットのための動的動作計画システムであって、
    前記ロボットの作業空間にて障害物を検知する少なくとも1つのセンサ又はカメラを含む知覚モジュールと、
    前記ロボットの先端に取り付けられたツール上のツール中心点の目標位置に基づいて設計ロボット動作を計算し、プロセッサとメモリを有する第1の計算装置にて実行される計画モジュールと、
    前記第1の計算装置上で実行され前記知覚モジュールから障害物データを受信する動作最適化モジュールであって、前記設計ロボット動作及び前記障害物データに基づいてロボット動作命令を計算し、前記ロボット動作命令は次の制御サイクルの前記設計ロボット動作を計算するために前記計画モジュールにフィードバックとして提供される、動作最適化モジュールと、
    前記ロボット動作命令に基づいてロボット制御命令を計算し、前記ロボット制御命令を前記ロボットに提供し、実際のロボットの状態データを前記ロボットからフィードバックとして受け取る、前記第1の計算装置又は第2の計算装置上で動作するロボット制御モジュールと、
    を備える、産業用ロボットのための動的動作計画システム。
  2. 前記第1の計算装置は前記計画モジュール、前記動作最適化モジュール及び前記ロボット制御モジュールの全てを実行するロボット制御装置であり、前記ロボット制御命令を前記ロボットに提供する、請求項1に記載のシステム。
  3. 前記第1の計算装置は前記計画モジュール及び前記動作最適化モジュールを実行し、前記第2の計算装置は前記第1の計算装置と通信するロボット制御装置であり、前記ロボット制御装置は前記ロボット制御モジュールを実行し前記ロボット制御命令を前記ロボットへ提供する、請求項1に記載のシステム。
  4. 前記ロボットと前記障害物データに存在する障害物との隙間空間を提供するために前記ロボット動作命令は必要に応じて前記設計ロボット動作から逸脱する、請求項1に記載のシステム。
  5. 前記動作最適化モジュールは目的関数及び1つ以上の不等式制約を有する反復最適化計算を使用して前記ロボット動作命令を計算する、請求項1に記載のシステム。
  6. 前記目的関数は前記設計ロボット動作からの偏差を最小化し、前記不等式制約は予め定義された関節位置範囲内にロボット関節位置を維持し、ロボット関節速度を予め定義された関節速度制限より低く維持し、ロボット関節加速度を予め定義された関節加速度制限より低く維持することを含む、請求項5に記載のシステム。
  7. 前記不等式制約は安全関数から計算された安全拘束を含み、前記安全関数はロボットと障害物の最小距離及びロボットと障害物の相対速度に基づいて決定される、請求項5に記載のシステム。
  8. 前記安全拘束は前記安全関数の変化率が前記安全関数に係数を乗算したものの負数以上でなければならないことである、請求項7に記載のシステム。
  9. ロボットと障害物の前記相対速度が0より大きい場合、前記安全関数はロボットと障害物の前記最小距離と等しく、ロボットと障害物の前記相対速度が0以下の場合、前記安全関数はロボットと障害物の前記最小距離から、ロボットと障害物の前記相対速度の関数である追加の安全マージン距離を引いたものと等しい、請求項7に記載のシステム。
  10. 前記設計ロボット動作はデカルト空間におけるツール中心点の加速度であり、前記ロボット動作命令は前記ロボットの全ての関節のロボット関節回転角加速度を含む、請求項1に記載のシステム。
  11. 産業用ロボットのための動的動作計画システムであって、
    前記システムは1つ以上の計算装置上で実行され、
    ロボットのツール中心点の目標位置に基づいて設計ロボット動作を計算する計画モジュールと、
    前記設計ロボット動作及びセンサから受信した障害物データに基づいてロボット動作命令を計算する動作最適化モジュールであって、前記ロボット動作命令は次の制御サイクルの前記設計ロボット動作を計算するために前記計画モジュールにフィードバックとして提供される、動作最適化モジュールと、
    前記ロボット動作命令に基づいてロボット関節制御命令を計算し、前記ロボットに前記ロボット関節制御命令を提供し、実際のロボット関節の状態データを前記ロボットからフィードバックとして受け取るロボット制御モジュールと、
    を備える、産業用ロボットのための動的動作計画システム。
  12. 前記動作最適化モジュールは前記設計ロボット動作からの偏差を最小化する目的関数を有する反復最適化計算とロボットと障害物の最小距離及びロボットと障害物の相対速度に基づいて決定された安全拘束とを使用して前記ロボット動作命令を計算し、前記安全拘束は、ロボットと障害物の前記相対速度が0より大きい場合に、前記相対速度が0以下の場合よりもより弛緩される、請求項11に記載のシステム。
  13. 少なくとも1つの計算装置上で実行され、
    ロボットのツール中心点の目標位置に基づいて設計ロボット動作を計算することと、
    前記設計ロボット動作及びセンサから受信した障害物データに基づいてロボット動作命令を計算することであって、前記ロボット動作命令は次の制御サイクルの前記設計ロボット動作を計算するためにフィードバックとして提供されることと、
    前記ロボット動作命令に基づいてロボット関節制御命令を計算することと、
    前記ロボットへ前記ロボット関節制御命令を提供することと、
    実際のロボット関節の状態データを前記ロボットよりフィードバックとして受信することと、
    を含む、産業用ロボットのための動的動作計画方法。
  14. 前記少なくとも1つの計算装置は、設計ロボット動作の計算と、ロボット動作命令の計算と、ロボット関節制御命令の計算と、前記ロボット関節制御命令を前記ロボットへ提供することと、の全てを実行するロボット制御装置である、請求項13に記載の方法。
  15. 第1の計算装置は前記設計ロボット動作の計算と、前記ロボット動作命令の計算と、を行い、ロボット制御装置は前記ロボット関節制御命令の計算と、前記ロボット関節制御命令を前記ロボットへ提供することと、を実行する、請求項13に記載の方法。
  16. 前記ロボット動作命令は目的関数及び複数の不等式制約を有する反復最適化計算を使用して計算され、前記目的関数は前記設計ロボット動作からの偏差を最小化し、前記不等式制約は予め定義された関節位置範囲内にロボット関節位置を維持し、ロボット関節速度を予め定義された関節速度制限より低く維持し、ロボット関節加速度を予め定義された関節加速度制限より低く維持することを含む、請求項13に記載の方法。
  17. 前記不等式制約は安全関数から計算された安全拘束もまた含み、前記安全関数はロボットと障害物の最小距離及びロボットと障害物の相対速度に基づいて決定される、請求項16に記載の方法。
  18. 前記安全拘束は前記安全関数の変化率が前記安全関数に係数を乗算したものの負数以上でなければならないことである、請求項17に記載の方法。
  19. ロボットと障害物の前記相対速度が0より大きい場合、前記安全関数はロボットと障害物の前記最小距離と等しく、ロボットと障害物の前記相対速度が0以下の場合、前記安全関数はロボットと障害物の前記最小距離から前記相対速度の2乗をロボット加速度の2倍で除算したものを引いたものと等しい、請求項17に記載の方法。
  20. 前記設計ロボット動作はデカルト空間におけるツール中心点の加速度であり、前記ロボット動作命令は前記ロボットの全ての関節のロボット関節回転角加速度を含む、請求項13に記載の方法。
JP2022017295A 2021-11-19 2022-02-07 動的動作計画システム Pending JP2023075884A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/455,676 2021-11-19
US17/455,676 US11872704B2 (en) 2021-11-19 2021-11-19 Dynamic motion planning system

Publications (1)

Publication Number Publication Date
JP2023075884A true JP2023075884A (ja) 2023-05-31

Family

ID=86227480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022017295A Pending JP2023075884A (ja) 2021-11-19 2022-02-07 動的動作計画システム

Country Status (4)

Country Link
US (1) US11872704B2 (ja)
JP (1) JP2023075884A (ja)
CN (1) CN116149311A (ja)
DE (1) DE102022102451A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11782402B2 (en) * 2021-07-02 2023-10-10 Mitsubishi Electric Research Laboratories, Inc. Device for controlling a system with polynomial dynamics

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9272417B2 (en) * 2014-07-16 2016-03-01 Google Inc. Real-time determination of object metrics for trajectory planning
US9862090B2 (en) * 2014-07-25 2018-01-09 California Institute Of Technology Surrogate: a body-dexterous mobile manipulation robot with a tracked base
US11820025B2 (en) * 2017-02-07 2023-11-21 Veo Robotics, Inc. Safe motion planning for machinery operation
JP7351079B2 (ja) * 2018-11-30 2023-09-27 ソニーグループ株式会社 制御装置、制御方法及びプログラム
US11254003B1 (en) * 2019-04-18 2022-02-22 Intrinsic Innovation Llc Enhanced robot path planning
US11179850B2 (en) * 2019-04-24 2021-11-23 Intrinsic Innovation Llc Robot motion planning

Also Published As

Publication number Publication date
US11872704B2 (en) 2024-01-16
US20230158670A1 (en) 2023-05-25
DE102022102451A1 (de) 2023-05-25
CN116149311A (zh) 2023-05-23

Similar Documents

Publication Publication Date Title
US8160745B2 (en) Robots with occlusion avoidance functionality
US8311731B2 (en) Robots with collision avoidance functionality
US9862090B2 (en) Surrogate: a body-dexterous mobile manipulation robot with a tracked base
Seraji et al. Real-time collision avoidance for position-controlled manipulators
US20070255454A1 (en) Control Of Robots From Human Motion Descriptors
Kaldestad et al. Collision avoidance with potential fields based on parallel processing of 3D-point cloud data on the GPU
JP2003241836A (ja) 自走移動体の制御方法および装置
CN113552877A (zh) 用于机器人优化动作规划的初始参考生成
US11975451B2 (en) Simulation-in-the-loop tuning of robot parameters for system modeling and control
Snape et al. Smooth coordination and navigation for multiple differential-drive robots
Leeper et al. Methods for collision-free arm teleoperation in clutter using constraints from 3d sensor data
Di Lillo et al. Safety-related tasks within the set-based task-priority inverse kinematics framework
Lim et al. Designing path of collision avoidance for mobile manipulator in worker safety monitoring system using reinforcement learning
JP2023075884A (ja) 動的動作計画システム
Žlajpah et al. Unified virtual guides framework for path tracking tasks
US20230321831A1 (en) Systems and Methods for Model-free Safety Control in Robotics Platforms
Sadeghian et al. Visual servoing with safe interaction using image moments
Selvaggio et al. Towards a self-collision aware teleoperation framework for compound robots
Spencer et al. Collision avoidance techniques for tele-operated and autonomous manipulators in overlapping workspaces
CN116214495A (zh) 机器人动态运动规划和控制的方法
Lei et al. An mpc-based framework for dynamic trajectory re-planning in uncertain environments
JP7060700B2 (ja) コーディネートシステム、ハンドリング装置及び方法
Zube et al. Model predictive contact control for human-robot interaction
Chen et al. A novel autonomous obstacle avoidance path planning method for manipulator in joint space
Ozaki et al. Planning of collision-free movements of a manipulator with dynamic constraints