JP2020049554A - 軌道生成方法、軌道生成装置、およびロボットシステム - Google Patents

軌道生成方法、軌道生成装置、およびロボットシステム Download PDF

Info

Publication number
JP2020049554A
JP2020049554A JP2018178064A JP2018178064A JP2020049554A JP 2020049554 A JP2020049554 A JP 2020049554A JP 2018178064 A JP2018178064 A JP 2018178064A JP 2018178064 A JP2018178064 A JP 2018178064A JP 2020049554 A JP2020049554 A JP 2020049554A
Authority
JP
Japan
Prior art keywords
trajectory
intermediate point
group
robot arm
robot
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
JP2018178064A
Other languages
English (en)
Other versions
JP2020049554A5 (ja
JP7210201B2 (ja
Inventor
弦 木村
Gen Kimura
弦 木村
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2018178064A priority Critical patent/JP7210201B2/ja
Priority to US16/257,748 priority patent/US11458626B2/en
Priority to CN201910101556.2A priority patent/CN110116405B/zh
Publication of JP2020049554A publication Critical patent/JP2020049554A/ja
Publication of JP2020049554A5 publication Critical patent/JP2020049554A5/ja
Priority to US17/822,229 priority patent/US20220402132A1/en
Application granted granted Critical
Publication of JP7210201B2 publication Critical patent/JP7210201B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P70/00Climate change mitigation technologies in the production process for final industrial or consumer products
    • Y02P70/10Greenhouse gas [GHG] capture, material saving, heat recovery or other energy efficient measures, e.g. motor control, characterised by manufacturing processes, e.g. for rolling metal or metal working

Abstract

【課題】アーム同士の干渉、あるいは他の障害物との干渉などを生じず、効率的に複数のロボットアームを動作させる最適な軌道を生成する。【解決手段】ロボットアームA、Bについて、教示点PA1〜PA3の間に、第1の中間点群(PA11〜PA23、PB11〜PB23)と、その各位置で各アームを待機させる待機時間を含む第1の待機時間群の初期値を生成する。第1の中間点群と待機時間群に変位を与え、第2の中間点群と待機時間群を複数セット生成する(生成工程)。この複数セットについてロボット軌道を作成(軌道作成工程)し、各軌道の評価値を生成(評価工程)する。評価値に基づき変位を与えた、新たな第1の中間点群、待機時間群に対して軌道作成工程と、評価工程と、を繰り返し実行し(試行工程)、打ち切り条件が成立すると、新たな第1の中間点群、待機時間群から軌道を生成する。【選択図】図3

Description

本発明は、複数のロボットアームを、それぞれ開始教示点および目標教示点の間で動作させる軌道を生成する軌道生成方法、軌道生成装置、およびロボットシステムに関する。
自動車や電機製品といった物品を製造する生産ラインでは、複数台のロボットアームを投入して、溶接や組み立てなどの作業を自動化することが行われている。このような生産システムでは、複数のロボットアームの動作領域が重なり合うほど近接して配置されることがある。このような近接する複数のロボットの教示作業は、旧来では、教示者が個々のロボットの動作を1ステップずつ実際に動作させながら、ロボット間で干渉が生じないよう、各ロボットの軌道と、各軌道間の実行タイミングを試行錯誤的に教示していた。
しかし、このような教示者による試行錯誤的な教示作業は、複数のロボットを確実に、また効率的に動作させるのが難しく、また、実用可能なロボット軌道を作成するのにはかなりの熟練を要する、という問題がある。例えば、製品の種類が頻繁に変わる環境では、製品の種類が変更される度に教示者が教示作業を全てやり直すことになるので、立ち上げ工数が増大し、生産性が極端に低下してしまう。また、教示作業の工数が増大すると、人件費の高騰が問題となる。
そこで、近年では、教示者による直接教示に代わって、計算機を用いて複数のロボットの教示作業と動作制御を効率化する方法や装置が提案されている。
例えば、下記の特許文献1では、複数のロボット間の干渉を回避し、なおかつロボットの待ち時間を最小にして効率的にロボットを動作させる制御装置が開示されている。特許文献1のロボット制御装置では、2つのロボットの作業点と作業点間の経路につき、干渉テーブルを作成する。この干渉テーブルを用いると、ロボットアームAとロボットアームBが、それぞれある作業点に位置している時、ロボットアームAとロボットアームBが同時に作業を行なうと干渉が生じることが判る。このようなアーム同士の干渉が生じる可能性がある場合、いずれかのロボットアームの作業を優先させる。この優先順位を制御するデータは、優先順位テーブルとして生成するが、その場合、例えば、各ロボットの残りの作業時間と作業点での待ち時間の和などに応じて優先順位を決定する。
また、下記の非特許文献1は、ロボット同士の干渉回避を行うため、複数のロボットアームA、Bを一つのロボットアームCとみなして経路生成を行う。図7(a)〜(g)は、非特許文献1の技術により制御されるロボットアームAおよびロボットアームBの動作を示し、これらのロボットは2つの関節(2つの自由度)からなる2軸を備えたロボットである。このうち、ロボットアームAは、開始点となる2軸関節角度が(θas1,θas2)であり、目標点となる2軸関節角度が(θag1,θag2)とする。一方、ロボットアームBは、開始点となる2軸関節角度が(θbs1,θbs2)であり、目標点となる2軸関節角度が(θbg1,θbg2)とする。また、この例では、ロボットアームA、Bの作業空間には、障害物Obが設置されている。
非特許文献1の技術では、ロボット同士の干渉および、障害物との干渉回避を考慮に入れた経路を生成するために、ロボットアームAとロボットアームBを一つのロボットアームCとして取り扱う。そして、このロボットアームCの4次元コンフィグレーション空間で、開始点(θas1,θas2, θbs1,θbs2)から、目標点(θag1,θag2, sθbg1,θbg2)へと障害物を回避する経路を探索する。経路生成には、RRT(Rapidly−exploring Random Tree)やPRM(Probabilistic RoadMap Method)のような経路生成アルゴリズムを用いる。このように、第1、第2のロボットアームを一つの仮想的なロボットアームとして取り扱い、経路生成を行うことにより、図8(a)〜(g)に示すように、各ロボットが干渉しない経路をそれぞれ決定することができる。
特開平11−347984号公報
G. S´anchez and J.-C. Latombe, "On delaying collision checking in PRM planning: Application to multi-robot coordination" International Journal of Robotics Research, vol. 21, no. 1, pp. 5-26, 2002.
特許文献1の制御では、2つのロボットの干渉の可能性があるそれぞれの作業点では、優先順位の高い方のロボットの作業点への移動と、その作業を先に行わせ、それが終了するまで優先順位の低い方のロボットの作業点への移動と、その作業を待機させる。しかしながら、例えば、高優先順位のロボットが作業を終えて次の作業点に移動するまで、低優先順位のロボットを1つ前の作業点で待機させると、作業効率が低下する可能性がある。例えば、低優先順位のロボットの、干渉領域に入るまでの移動時間などを考慮すると、高優先順位のロボットが干渉領域を脱していなくても、低優先順位のロボットの移動を開始できる可能性がある。さらに、その場合、低優先順位のロボットの軌道の補正を行うことなどによって、より速く、低優先順位のロボットを移動できる可能性がある。特許文献1の技術では、このような効率化の余地が考慮されていない。即ち、特許文献1の技術では、全体の作業時間を短縮できる余地はまだ十分残されているが、双腕ロボットが同時に移動し干渉回避をする軌道については考慮していないため、この方法ではこれ以上対処できないという問題がある。
一方、非特許文献1で開示された方法は、双腕ロボットを一つのロボットとみなして、経路生成アルゴリズムにより経路生成を行い、ロボットを同時に移動し干渉を回避する。この経路生成にはRRT(Rapidly−exploring Random Tree)やPRM(Probabilistic RoadMap Method)のようなアルゴリズムが用いられる。
非特許文献1では、第1、第2のロボットアームを仮想的なロボットアームとみなし、この仮想的なロボットアームの姿勢をコンフィグレーション空間で1つの点として扱う。そのために、非特許文献1の制御によると、第1、第2のロボットアームの動作のタイミングが同じになる。しかし、第1、第2のロボットアームが同じタイミングで動作するよう制御されると、例えば一方のアームが少ししか動かず、他方のアームが大きく動く場合に、前者のアームが後者のアームに影響され、全体の動作が無駄に遅くなるケースが予想される。
例えば、図7(a)〜(g)の例では、移動量の少ないロボットアームAが先に目標点(図7(g))に到達できてもよく、また、その方が特定の用途で好ましい場合が考えられる。しかしながら、非特許文献1の手法によると、第1、第2のロボットアームを仮想的なロボットアームとして扱うため、第1、第2のロボットアームは、目標点に着くタイミングが同じになるよう制御せざるを得ない。そのため、非特許文献1の手法によると、複数のロボット間に移動量のばらつきがある場合には、無駄な動きの制約が生じる可能性がある。また、非特許文献1のように第1、第2のロボットアームを仮想的なロボットアームとして扱う手法では、次のようなロボット動作を制御できない可能性がある。これらは、例えば、第1、第2のロボットアームが同じ場所にアプローチする動作、第1のロボットアームが動いている間に第2のロボットアームが動き始める動作などである。また、非特許文献1の制御手法では、第1のロボットアームが先に目標点に到着しその他の動作を先行して開始する動作、などを行わせることができない。即ち、非特許文献1の手法によると、複数ロボットの作業時間を最短にする効率化を追及できない可能性がある上、生成できる動作が限定される、という問題がある。
そこで、本発明は、上記問題に鑑み、ロボットアーム同士の干渉、あるいは作業空間中の障害物とロボットアームの干渉などを生じず、効率的に複数のロボットアームを動作させることができる最適な軌道を生成できるようにすることにある。
上記課題を解決するため、本発明においては、開始教示点および目標教示点の間でロボットアームを動作させる軌道を生成する軌道生成方法において、制御装置が、前記開始教示点と前記目標教示点との間に生成された軌道で前記ロボットアームの動作を評価し、軌道の評価値を算出する評価工程と、前記制御装置が、前記評価値の良好な軌道を選択する選択工程と、前記制御装置が、前記選択工程で選択された軌道中の位置と、その位置で前記ロボットアームを待機させる待機時間と、を変更して新たな軌道を生成し、前記新たな軌道に対して前記評価工程と、前記選択工程と、を繰り返すことにより軌道を更新する更新工程と、を有する構成を採用した。
上記構成によれば、ロボットアーム同士の干渉、あるいは作業空間中の障害物とロボットアームの干渉などを生じず、効率的に複数のロボットアームを動作させることができる最適な軌道を生成することができる。
本発明の実施形態に係る軌道生成装置の概略構成を示した説明図である。 本発明の実施形態に係る複数ロボットアームの教示点群、および障害物を示した説明図である。 本発明の実施形態に係る複数ロボットアームの教示点群と軌道を示した説明図である。 本発明の実施形態に係る軌道生成を説明するフローチャート図である。 (a)〜(d)は本発明の実施形態に係る軌道生成の様子を示した説明図である。 (a)〜(d)は本発明の実施形態に係る軌道の異なる軌道生成の様子を示した説明図である。 (a)〜(g)は従来技術による軌道制御の手法を示した説明図である。 本発明の実施形態に適用可能な制御装置の概略構成を示したブロック図である。 本発明の実施形態に係る生産システムに配置可能なロボット装置を示した説明図である。
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
図1は本発明の実施形態に係る軌道生成装置の構成を示す図である。この軌道生成装置は、CPU等からなる演算処理部1と、教示者等がデータ入力などを行う操作部2と、動作プログラム等を記録する記録部3と、ロボットステーションやロボットの軌道の表示を行う表示部4を備えている。
図2は、障害物Obの配置された作業空間において、ロボットアームA、Bを動作させる配置の一例を示している。図2では、ロボットアームAの教示点PA1、PA2、PA3、ロボットアームBの教示点PB1、PB2、PB3が与えられている。本実施形態の軌道生成では、これらの教示点を通る軌道を生成する。その場合、ロボットアームA、B同士が干渉しないことは勿論、ロボットアームA、Bのいずれも障害物Obと干渉しない軌道を生成する。
本実施形態の軌道生成処理は、ロボットアームA、Bは、主にタスク空間のX方向Y方向を移動する2自由度のロボットアームであるものとして説明する。しかしながら、本発明に係るロボットは、一般的に自動作業を行う装置として広く認知されるものであればよく、本発明は例えばロボットアームの関節数、それにより実現される姿勢の自由度の数などによって、限定的に解釈されるものではない。例えば、後述の図9に例示するような6軸多関節ロボットや直動型のロボットを用いたロボットシステムなどにおいても本発明は実施することができる。
この種の2自由度以上の関節数を有する多関節ロボットの場合は、ロボットの教示点は、手先の位置、姿勢もしくは、関節軸角度により決定することができる。また、本実施形態では、2つのロボットアームが動作する例を示すが、本発明はロボットアームの数によって限定されるものではなく、例えば後述の実施形態3のように3つ、あるいはそれ以上のロボットアームが移動する構成でも本発明は実施可能である。
図2において、ロボットアームAは障害物Obおよび、ロボットアームBとの干渉を回避し、教示点PA1、PA2、PA3の順に、移動するものとする。また、ロボットアームBは障害物Obおよび、ロボットアームAとの干渉を回避し、教示点PB1、PB2、PB3の順に、移動するものとする。
また、教示点PA2と教示点PB2では、ロボットアームAとロボットアームBが干渉する位置にあるが、ロボットアームBが教示点PB2に到達するより前に、ロボットアームAが教示点PA2に到達することを制約とする。これを本実施形態では動作制約と呼ぶ。この動作制約は、ロボットアームAが、ワークを搬送し、PA2でワークを置き、ロボットアームBがワークをPB2で受け取るといった動作を想定している。
図3は、図2の環境において、軌道評価のために教示点の間に配置される中間点と、ロボットの経路を示したものである。なお、本実施形態では、説明を容易にするため、中間点は開始位置と目標位置に相当する2つの教示点の間に、3つ配置する例を説明するが、本発明は中間点の数によって限定されるものではない。
また、本明細書において、ロボットの「経路」とは、速度などの時間的概念は含まないロボット、例えば手先などの特定の基準部位が動作する軌跡を意味する。また、ロボットの「軌道」とは、「経路」と、その「経路」上のロボットの動作速度の情報を持つ情報体を意味し、このように本明細書では「軌道」と、「経路」と、は明確に区別される。一般に、軌道はある制御周期ごとのロボットの特定の基準部位を位置させるための位置指令値データとして表現されることが多い。この位置指令値データは、例えば、特定の基準部位を特定の位置(教示点)に位置させるための、ロボットの各関節の位置(角度)データのリスト、のような形式によって表現される。
図3の例では、ロボットアームAは、教示点PA1、中間点PA11、PA12、PA13、教示点PA2を制御点とし、曲線で滑らかに補間した経路TA1上を通り、教示点PA1から教示点PA2へと移動する。その後、ロボットアームAは、教示点PA2、中間点PA21、PA22、PA23、教示点PA3を制御点とし、曲線で滑らかに補間した経路TA2上を通り、教示点PA2から教示点PA3へ到達する。
一方、ロボットアームBは、教示点PB1、中間点PB11、PB12、PB13、教示点PB2を制御点とし、曲線で滑らかに補間した経路TB1上を通り、教示点PB1から教示点PB2へと移動する。その後、ロボットアームBは、教示点PB2、中間点PB21、PB22、PB23、教示点PB3を制御点とし、曲線で滑らかに補間した経路TB2上を通り、教示点PB2から教示点PB3へ到達する。
教示点(ないし中間点)の間で、アームの所定部位を通過させる経路を滑らかに曲線補間する手法として、Spline補間、B−Spline補間、ベジェ曲線補間といった周知の補間手法がある。これらの補間手法を用いて、教示点間を滑らかに繋ぐ経路を生成することにより、ロボットの滑らかな動作を実現することができる。なお、図3は、ロボットアームは中間点を通過するよう表現しているが、中間点は経路を生成するためのパラメータに過ぎず、ロボットアームは必ず中間点を通過することを要請するものではない。たとえば、B−Spline補間で補間した軌道の場合は、経路が中間点を通過しない場合がある。
また、教示点および中間点を用いて生成したロボットの経路に対し、速度情報を含めた軌道を生成する方法として、最短時間制御がある。後述の軌道作成工程では、最短時間制御を用いれば、上記補間方法により生成した経路に基づき、ロボットの物理的な制約の範囲内で、動作時間が最短になる軌道を求めることができる。なお、本実施形態における最短時間制御は、決まった経路上を通る上で、最短時間となる移動速度を求めるもので、経路は変化させない。
また、ロボット動作が満足すべき物理的な制約には、例えば、トルク制約、関節角速度制約、関節角加速度制約、ジャーク制約、手先速度制約、加速度制約などがある。最短時間制御を用いて生成した軌道は、ある制御周期ごとのロボットの位置指令値となる。ただし、最短時間制御を用いずに、カム曲線を利用した軌道生成などを行ってもよい。
また、本実施形態では、ロボットは、教示点ごとにある時間待機するものとし、この時間を待機時間と呼ぶ(ただし、本実施形態は、待機時間が0である制御を除外するものではない)。本実施形態では、ロボットアームAは教示点PA1でWA1秒待機し、教示点PA2ではWA2秒待機するとする。また、教示点PA3は終点であり、動作終了後は待機し続けるので、待機時間は定義しない。また、ロボットアームBは教示点PB1でWB1秒待機し、教示点PB2ではWB2秒待機するとする。また、ロボットアームAの場合と同様、教示点PB3は終点であり動作終了後は待機し続けるので、待機時間は定義しない。
図3において、ロボットアームA、Bがそれぞれ、待機せずに、経路TA1、TA2、TB1、TB2、にそれぞれ沿って移動を開始した場合、例えば教示点PA2、PB2でロボットアームAとBが干渉してしまうことが考えられる。
ここで、例えば、作業内容などに応じてロボットアームAが教示点PA2が到達した後で、ロボットアームBが教示点PB2の位置に到達すべきことが決まっているとする。その場合、例えばロボットアームBが教示点PB1、PB2において待機すべき適切な待機時間(WB1、WB2)などを設定できれば、ロボットアームモデル同士の干渉を回避することができる。また、ロボットアームBが教示点PB2に到達するより前に、ロボットアームAが教示点PA2に到達するためには、待機時間WB1よりWB2が大きく(長く)設定される必要がある。
図3(あるいは後述の図5)の例では、アーム同士およびロボットと障害物とが干渉せずにそれぞれの教示点を経由する軌道を生成する。また、ロボットアームBが教示点PB2に到達するより前にロボットアームAが教示点PA2に到達するロボットアームA、Bの動作を生成する。
ここで、図8に、軌道生成装置、特に演算処理部1(図1)の主要部に相当する制御系1000の構成例を示しておく。図示のようにこの制御系1000は、CPU1601廻りに配置された各ブロックから成る構成である。なお、このCPU1601廻りに配置された各ブロックから成る構成は、例えば、ロボット制御装置(200A、200B:後述の図9)などにおいてもほぼ同様に適用できる。
図8の制御系1000は、主制御手段としてのCPU1601、記憶装置としてのROM1602、およびRAM1603を備える。ROM1602には、後述する制御手順を実現するためのCPU1601の制御プログラムや定数情報などを格納しておくことができる。また、RAM1603は、後述する制御手順を実行する時にCPU1601のワークエリアなどとして使用される。
図8の構成が、演算処理部1(図1)の場合には、ユーザーインターフェース装置として、例えばディスプレイ1608(図1の表示部4)、および操作部1609(図1の操作部2)がインターフェース1607に接続される。操作部1609は、例えばフルキーボードおよびポインティングデバイスなどから構成することができ、軌道シミュレーションや検証を行う作業者のためのユーザーインターフェースを構成する。
図8の制御系1000は、ネットワークNWを介して通信する通信手段としてネットワークインターフェース1605を備える。演算処理部1(図1)は、ネットワークインターフェース1605〜ネットワークNWを介して実機のロボットアーム1001A、1001B(ないしはそのロボット制御装置200A、200B(図9))と通信することができる。その場合、教示点データや、軌道データをなどの制御情報を送受信することができる。その場合、ネットワークインターフェース1605は、例えばIEEE 802.3のような有線通信、IEEE 802.11、802.15のような無線通信による通信規格で構成する。しかしながら、ネットワークNWには、もちろん、それ以外の任意の通信規格を採用しても構わない。
なお、後述の制御手順を実現するためのCPU1601の制御プログラムは、HDDやSSDなどから成る外部記憶装置1604や、ROM1602(の例えばEEPROM領域)のような記憶部に格納しておくこともできる。その場合、後述の制御手順を実現するためのCPU1601の制御プログラムは、ネットワークインターフェース1605を介して、上記の各記憶部に供給し、また新しい(別の)プログラムに更新することができる。あるいは、後述の制御手順を実現するためのCPU1601の制御プログラムは、各種の磁気ディスクや光ディスク、フラッシュメモリなどの記憶手段と、そのためのドライブ装置を経由して、上記の各記憶部に供給し、またその内容を更新することができる。上述の制御手順を実現するためのCPU1601の制御プログラムを格納した状態における各種の記憶手段や記憶部は、本発明の制御手順を格納したコンピュータ読み取り可能な記録媒体を構成することになる。
なお、図8において、ロボット制御装置200A、200B(図9)の場合には、ロボットアーム1001A、1001B(同)の各部のモータやソレノイドなど(不図示)を駆動するドライバ回路などが、インターフェース1606に接続される。また、ディスプレイ1608および操作部1609から成るユーザーインターフェースは、ロボット制御装置200A、200B(図9)の場合には、ティーチングペンダント204A、204B(同)のような操作端末に置き換えてもよい。
本実施形態において、開始教示点および目標教示点の間でロボットアームを動作させる軌道を生成する場合、開始教示点と前記目標教示点との間に生成された軌道(動作情報)でロボットアームの動作を評価し、軌道の評価値を算出する(評価工程)。試行工程ないし更新工程では、軌道中の位置と、その位置で前記ロボットアームを待機させる待機時間と、に適宜変化量を与えて変更し、新たな軌道を例えば複数、生成する。この新たな軌道について、前記評価工程を実行し、また評価工程において評価値の良好な軌道を選択する(選択工程)処理を繰り返す。
図4は、本実施形態による軌道生成処理の流れを示している。また、図5(a)〜(d)は、図4の各ステップの制御に相当するロボットアームの経路と軌道を示したものである。以下、図4、図5を参照して、本実施形態のロボットの軌道生成に処理につき説明する。
図4のステップS100では、ロボットアームA、Bが作業を行う作業空間(図5(a))におけるこれらロボットアームを模擬するロボットアームモデル、物理的制約条件、動作制約条件、各教示点を入力する。ロボットアームA、Bに対応するロボットアームモデルは、作業空間を模擬した仮想空間で動作させて、軌道生成、ないしその最適化を行う。なお、以下の軌道生成処理、ないしその最適化処理の説明では、簡略化のため、仮想空間におけるロボットアームモデル、障害物モデルについても、あたかも(実機の)ロボットアーム、障害物の動作であるかのごとく記述することがある。
図5(a)に示すように、ロボットアームA、ロボットアームB、障害物Ob、ロボットアームAの教示点PA1、PA2、PA3、ロボットアームBの教示点PB1、PB2、PB3、などの構成および配置は、図2で示したものと同様である。
ロボットアームA、ロボットアームBのロボットアームモデルは、ロボットを構成する部品の設計情報である。このロボットアームA、ロボットアームBのロボットアームモデルは、ポリゴン情報、慣性モーメント、質量、位置、姿勢、軸数などによって表現される。また、ロボットアームモデルを構成する物理的制約条件には、ロボットアームの物理的な制約を定義したもので、ロボットアームの機構の構造、ジオメトリなどによって課せられる関節トルク制約、手先速度制約、手先加速度制約などがある。
また、動作制約条件とは、上述のように、ロボットアームBが教示点PB2に到達するより前に、ロボットアームAが教示点PA2に到達するという、動作の前後関係にかかわる制約条件である。この動作制約条件は、例えば、ロボットアームBが教示点PB2に到達するより前に、ロボットアームAが教示点PA2で特定の作業を行わなければならない、といった、特定の物品の製造工程の都合などにより決定されている。
図4のステップS101、S102では、暫定の中間点(第1の中間点群)を生成し、また暫定の中間点(第1の中間点群)の各々における暫定の待機時間(第1の待機時間群)を初期化する(初期化工程)。
ステップS101で、ステップS100で与えた、教示点の間に、暫定の中間点(第1の中間点群)を生成する。この暫定の中間点(第1の中間点群)は、後述の新たな中間点(第2の中間点群)の複数セットの評価結果によって、変位を与えて最適な軌道を生成できるよう、移動させる。
本実施形態では、中間点(第1、第2の中間点群)として生成する中間点の数を教示点間に3つとする。図5(b)示すように、教示点PA1と教示点PA2の間では、暫定の中間点PA11、PA12、PA13(第1の中間点群)を、教示点PA2と教示点PA3の間では、暫定の中間点PA21、PA22、PA23(第1の中間点群)を配置する。また、教示点PB1と教示点PB2の間では、暫定の中間点PB11、PB12、PB13(第1の中間点群)を教示点PB2と教示点PB3の間では、暫定の中間点PB21、PB22、PB23(第1の中間点群)を生成する。
ステップS101における、暫定の中間点の生成方法としては、障害物を回避する経路を計算する経路計画アルゴリズムを用いることが考えられる。この経路生成方法には、ポテンシャル法、PRM(Probabilistic Road Map)、RRT(Rapidly−exploring Random Tree)などの周知の手法を利用できる。また、以上の経路計画アルゴリズムに限定されることなく、可視グラフ法、セル分割法、ボロノイ図法などの他の経路計画アルゴリズムも適用できる。また、単純に、経路計画アルゴリズムを用いずに、教示点間を線形補間して中間点を生成する手法を用いてもよい。
本実施形態では、暫定の中間点(第1の中間点群)において、その位置でアームを待機させる暫定の待機時間(第1の待機時間群)を定義し、中間点(第1の中間点群)を最適化するとともに、対応する待機時間(第1の待機時間群)を最適化する。その場合、暫定の待機時間(第1の待機時間群)に変位を与え、後述の新たな待機時間(第2の待機時間群)が生成され、新たな中間点(第2の中間点群)とともに評価される。ステップS102では、暫定の中間点(第1の中間点群)それぞれにつき、その位置でアームを待機させる暫定の待機時間WA1、WA2、WB1、WB2(第1の待機時間群)を0に初期化する。
ステップS103では、暫定の中間点PA11〜PA13、PA21〜PA23、PB11〜PB13、PB21〜PB23(第1の中間点群)に対し、それぞれ変位を与え、新たな中間点(第2の中間点群)を算出する。また、暫定の待機時間WA1、WA2、WB1、WB2(第1の待機時間群)に対し、それぞれ変位を与え、新たな待機時間(第2の待機時間群)を算出する。
ここで、待機時間に変位を与える方法としては、例えば、例えば、暫定の待機時間、暫定の中間点の1つ1つに対し、独立して乱数値を足し込む方法を用いる。あるいは、暫定の待機時間、暫定の中間点のパラメータを連動させて多変量正規分布を用いて発生させた乱数値を足し込む手法を用いてもよい。この軌道中の位置ないし待機時間を変位させるための乱数の値の範囲は、新たな軌道生成と評価を繰り返す試行工程ないし更新工程の繰り返し実行の回数が増加するに従い、例えば狭くなるように制御することができる。即ち、試行工程ないし更新工程の繰り返し実行の回数が増加するに従い、例えば第1の中間点群の中間点の各々、および第1の待機時間群の待機時間の各々に与えられる変位の量を小さくする制御を行うことができる。このような制御は、上記の軌道中の位置ないし待機時間を変位させるための乱数を発生させる乱数発生サブルーチンに対する設定処理により、乱数の値の範囲や分散値を設定することにより行うことができる。上記のような制御により、更新、生成される軌道の精度を高め、また処理を良好に収束させることができる。
ステップS104では、新たな待機時間(第2の待機時間群)と、新たな中間点(第2の中間点群)を用いて、時間情報を含んだロボットアームの動作情報(軌道)を作成する(軌道作成工程)。例えば、ロボットアームごとに、教示点間を、新たな中間点を用いて曲線補間により経路を生成し、最短時間制御を用いて軌道を生成する。その後、新たな待機時間と軌道から、ある制御周期ごとのロボットごとの位置指令値を生成する。待機中の指令値は、待機する教示点での位置を待機時間分、複製した位置指令値となる。次に、ロボットアームAとロボットアームBの指令値を一つにまとめ、各時間にロボットアームAとロボットアームBの位置指令値を示す動作情報の情報体を生成する。この動作情報の情報体は、RAM1603、外部記憶装置1604(図8)のようなメモリ上では、例えばテーブルデータのような構造体により表現される。この動作情報は、経路のみならず待機時間を含んだ「軌道」を制御する制御情報と考えることができる。そこで、以下では、この動作情報は「(軌道)」の括弧書きとともに記載することがある。
ステップS105で、動作情報(軌道)を元に、上述の動作制約を満たしているか判定し、満たしていない場合は、ステップS103に戻り、満たしている場合は、ステップS106に進む。このステップS105における「制約」は、ステップS104で用いた最短時間制御技術で制約する物理的制約ではなく、ロボットアームAが教示点PA2に到達するという、動作の前後関係にかかわる制約条件である。
ステップS106では、新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)および、それに基づき生成した動作情報(軌道)のセットを保存する(生成工程)。
ステップS107では、保存した新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)、および対応する動作情報(軌道)のセットが、所定数N個になったかを判定する。ここで保存した複数セットのセット数がN個になっていなければ、ステップS103に戻り、もしN個になっていれば、ステップS108に進む。即ち、本実施形態では、所定数N個の新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)、および対応する動作情報(軌道)のセットを複数個、生成し、保存する。保存先には、RAM1603や、外部記憶装置1604(図8)の所定記憶エリアを用いる。
本実施形態では、説明を容易にするため、生成し、保存する新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)、および対応する動作情報(軌道)のセットの数はN=2とする。このN=2の場合の、図5(b)、(c)に新たな中間点(第2の中間点群)と、対応する動作情報に基づき生成した軌道の例を示す。図5(b)、(c)において、1セット目の、中間点(第1の中間点群)教示点PA1、PA2、PB1、PB2での新たな待機時間(第2の待機時間群)はそれぞれ、WA11、WA21、WB11、WB21である。また、中間点(第1の中間点群)を変位させて得た教示点PA1、PA2間の新たな中間点(第2の中間点群)はPA111、PA121、PA131、教示点PA2、PA3間の新たな中間点(第2の中間点群)はPA211、PA221、PA231である。また、教示点PB1、PB2間の新たな中間点(第2の中間点群)はPB111、PB121、PB131、教示点PB2、PB3間の新たな中間点(第2の中間点群)はPB211、PB221、PB231である。
同様に、2セット目の、教示点PA1、PA2、PB1、PB2での新たな待機時間(第2の待機時間群)はそれぞれ、WA12、WA22、WB12、WB22である。また、中間点(第1の中間点群)を変位させて得た教示点PA1、PA2間の新たな中間点(第2の中間点群)はPA112、PA122、PA132、教示点PA2、PA3間の新たな中間点(第2の中間点群)はPA212、PA222、PA232である。また、教示点PB1、PB2間の新たな中間点(第2の中間点群)はPB112、PB122、PB132、教示点PB2、PB3間の新たな中間点(第2の中間点群)はPB212、PB222、PB232である。
図4のステップS108では、保存したN個の新たな待機時間、新たな中間点、動作情報のセットに、それぞれ評価値を与える(評価工程)。この評価は、動作情報に基づいて行う。本実施形態では、ロボットアームと他の物体の干渉を回避するため、干渉量に基づいて行う。このロボットアームと他の物体の干渉は、例えば複数のロボットアームモデル同士、またはロボットアームモデルと障害物モデルとの干渉に相当する。本実施形態では、例えば、ロボットアーム(モデル)と、他の物体が干渉して(同一の空間を占めて)いる干渉時間を評価値として用いる。干渉判定は、ロボットモデルに含まれる、ポリゴン情報から行う。また、干渉している時間ではなく、あるロボットアームと障害物(ないしは他のロボット)の相互のめり込み量(例えば干渉距離)を評価値として用いてもよい。ただし、動作情報(軌道)の評価基準は特に、上記の評価基準に限定されるものではなく、上記の評価基準と別のものであっても構わない。
ステップS109では、N個の、新たな待機時間、新たな中間点、動作情報のセットの評価値に基づき、暫定の待機時間(第1の待機時間群)、暫定の中間点(第1の中間点群)に変位を与えて、移動させる。この暫定の待機時間(第1の待機時間群)、暫定の中間点(第1の中間点群)の移動の方法としては、次のような手法を用いる。例えば、新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)、対応する動作情報(軌道)のセットの中で、評価値が最小(良好)な新たな待機時間、新たな中間点に、暫定の第1の待機時間群、第1の中間点群を移動させる。あるいは、新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)、対応する動作情報のセットの評価値を重みとした重み付き平均に、暫定の待機時間(第1の待機時間群)、暫定の中間点(第1の中間点群)を移動させる手法を用いてもよい。
図5(d)は、一例として、評価値が良好だった2セット目の新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)に、暫定の待機時間(第1の待機時間群)、暫定の中間点(第1の中間点群)を移動させた例を示している。
ステップS103からステップS109で構成される、生成工程と、軌道作成工程と、評価工程と、は繰り返し実行される(試行工程)。このループ(試行工程)の処理の脱出条件は図4のステップS110で判定される。
ステップS110では、ステップS103からステップS109で構成されるループ(試行工程)の処理を打ち切る条件を満たすか判定する。打ち切り条件を満たしていなければ、ステップS103に戻り、打ち切り条件を満たしていれば、ステップS111に進みループ(試行工程)の処理を繰り返す。
本実施形態の目的は、ロボットと障害物との干渉を回避することである。そのため、ステップS110で判定される打ち切り条件は、例えば、N個ある、新たな待機時間、新たな中間点、動作情報のセットの中で、最小な評価値が0になることとする。
ステップS111では、暫定の待機時間(第1の待機時間群)、暫定の中間点(第1の中間点群)を用いて、ロボットアームA、Bをそれぞれ動作させる軌道を生成する(軌道生成工程)。
以上説明したように、本実施形態によれば、複数のロボットアームが、教示点へ到達する順番を制約しつつ、ロボットアーム同士の干渉および、ロボットアームと障害物との干渉を回避可能な軌道を生成することができる。また、評価のための軌道作成においては、動作制約、物理的な制約、最短時間制御、のような制御を加味することができる。従って、作業工程に適合し、機構上の問題を生じず、かつ効率よく複数のロボットアームを動作させる軌道を生成することができる。
<実施形態2>
上記実施形態1では、主に、教示点へ到達する順番の制約を逸脱せず、ロボットアーム同士の干渉および、ロボットアームと障害物との干渉を回避可能な軌道を生成する最適化技術について説明した。本実施形態2では、複数のロボットアームが、教示点へ到達する順番の制約を逸脱せず、ロボットアーム同士の干渉および、ロボットアームと障害物との干渉を回避しながら最短で動作させる軌道を生成することを目的とする。
ロボットシステムのハードウェア的な構成は実施形態1と同等であり、また、本実施形態による動作生成方法の主要なステップは、実施形態1の図4のフローチャートと準ずるものとする。しかしながら、本実施形態2では、上記実施形態1とは、暫定の待機時間の初期値、暫定の中間点の初期値、動作の制約方法、動作の評価方法、打ち切り条件の構成が異なる。
本実施形態2では、図4に示した処理を行い、打ち切り条件を満たす暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)を用いて、再度、下記のように図4の一部を変更した処理を行い、最適化した軌道を生成する。
この図4の一部を変更した処理では、まず、初期化工程が最初に行う実施形態1の図4の処理が異なる。実施形態1では、図4のステップS101で、経路計画技術を元に暫定の中間点(第1の中間点群)を生成し、ステップS102で暫定の待機時間(第1の待機時間群)を0に初期化している。これに対して、本実施形態のステップS102では、図4のステップS110〜S111で収束、生成した暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)に初期化する。このため、処理の1パス目の実施形態1の図4のステップS111は、直ちに軌道生成を行わないように変更しておく。
このように、本実施形態では、実施形態1の処理で打ち切り条件を満たす暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)を初期値に用いる。これより、ロボット同士および、ロボットと障害物との干渉を回避することが判明している暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)を出発点として、動作時間を縮める軌道最適化処理を行うことができる。
また、実施形態1の図4の処理では、ステップS105で、軌道が制約を満たしているか判定する際に、ロボットアームBが教示点PB2に到達するより前に、ロボットアームAが教示点PA2に到達するかを判定していた。これに対して、本実施形態2では、さらに加えて、ロボットアーム同士、および、ロボットアームと障害物が干渉しているか否かを判定する。そして、ロボットアーム同士もしくは、ロボットアームと障害物が干渉している場合は、その新たな待機時間、新たな中間点を無効とし、図4のステップS103に戻る。
また、実施形態1では、図4のステップS108で、干渉している時間もしくはめり込み量を評価値として動作を評価していた。これに対して、本実施形態2では、複数のロボットアーム、即ちロボットアームA、Bが与えられた教示点により規定された全ての動作が終了するまでの所要時間を評価値として用いる。このような評価値生成により、工程作業の時間が最短となる、暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)を生成することができる。
また、実施形態1では、図4のステップS110の打ち切り条件を、N個ある、新たな待機時間、新たな中間点、動作情報のセットの中で、最小な評価値が0になることとしていた。これに対して、本実施形態2では、ステップS110の打ち切り条件は、ステップS103からステップS109(試行工程)の繰り返しの回数が所定回数に達するか、または、評価値が連続して変化しない回数が所定回数に達することとする。これにより、試行工程が収束せず、発散する事態に対処でき、また、実質的に試行工程で暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)が収束していることを検出することができる。
本実施形態2において、ステップS111では、暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)を用いて軌道を生成する。ただし、ステップS103〜S109(試行工程)の繰り返しにおける暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)の変化の履歴を保存しておき、最も良好な第1の待機時間群、および中間点群を軌道生成に用いてもよい。例えば、保存しておいた履歴の中で最も良好な(例えば動作時間の最も短い)評価値を得た暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)のを軌道生成に用いる。
以上に示したように、本実施形態2では、実施形態1の図4の処理で打ち切り条件を満たす暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)を用いて、再度、上記のように図4の一部を変更した処理を行う。このようなほぼ2パス構成の最適化により、複数のロボットアームの目標教示点への到達順の制約、ロボットアーム同士の干渉、ロボットアームと障害物との干渉を回避するという制約を全て守った上で、動作時間を最短とする軌道を生成することができる。
なお、以上では、干渉回避に係る干渉量を評価値に用いる最適化(実施形態1)の後に、複数のロボットアームが与えられた教示点により規定された全ての動作が終了するまでの所要時間を評価値に用いる軌道生成(本実施形態2)を示した。しかしながら、複数のロボットアームが与えられた教示点により規定された全ての動作が終了するまでの所要時間を評価値に用いる軌道生成は、干渉回避を必ずしも考慮する必要のない場合には単独で実施しても構わない。
また、本実施形態2で示したように、それぞれ異なる評価値を用いる複数のパスで軌道生成ないしその最適化を行うことができる。即ち、それぞれ異なる評価値を用いる複数のパスで軌道生成ないしその最適化を行う場合、本発明は軌道生成ないしその最適化制御のパス数によって限定されるものではない。例えば、軌道評価に用いたい評価値が複数ある場合、例えば3以上のパス構成で、打ち切り条件を満たす暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)を次々に取得する制御を行うことができる。
その場合、前記の初期化工程と、生成工程、前記軌道作成工程、および前記評価工程を実行する試行工程を複数パス、用意し、各パスの評価工程では、それぞれ相互に異なる評価値を生成する。複数パスの評価工程では、それぞれ異なる評価値を用いて、評価工程の打ち切り条件を満たす暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)を、後続のパスの初期化工程で待機時間および中間点の初期値として用いる。そして最後のパスの評価工程の打ち切り条件を満たす暫定の待機時間(第1の待機時間群)、および暫定の中間点(第1の中間点群)を用いて軌道を生成する。
<実施形態3>
実施形態1、2では、主に2ロボットアーム構成における軌道生成、ないしその最適化制御を説明した。本実施形態3のロボットシステムでは、ロボットアームA、Bに加え、さらに、ロボットアームCが作業空間に配置されている構成を例示する。本実施形態の目的は、もちろん、これらロボットアーム同士およびロボットアームと障害物とが干渉せずにそれぞれの教示点を経由して動作させる軌道を生成することにある。その場合、本実施形態では、ロボットアームA、ロボットアームB、ロボットアームCの動作について、ロボットアームBが教示点PB2に到達するより前に、ロボットアームAが教示点PA2に到達する制約条件が採用される。
本実施形態3でも、軌道生成処理の主要なステップは、図4のフローチャートに準ずる。また、図6(a)〜(d)は、図4の主要ステップの制御を図示している。本実施形態では、図6(a)に示すように、実施形態1に対し、ロボットアームCおよび、ロボットアームCの教示点PC1、PC2が新たに追加されている。
ロボットアームCに関しては、教示点PC1、PC2が与えられ、教示点PC1から教示点PC2まで移動する軌道を生成する。その場合、当然、障害物および、他のロボットと干渉することなく動作できるよう軌道を生成する。また、ロボットアームCは、ロボットアームAおよびロボットアームBとの間で、動作の前後関係の制約はないものとする。
このような構成においても、実施形態1の図4と同等の処理によって、ロボットアームA、B、Cの最適な軌道を生成することができる。その場合、まず、図4のステップS100で、図6(a)に示した構成に対応し、ロボットアームA、Bに加え、ロボットアームCのモデル、物理的制約条件、動作制約条件、教示点PC1、PC2が入力される。ただし、本実施例では、ロボットアームCは、他のロボットとの間では、動作の前後関係に関する動作制約条件を持たないとする。
図4のステップS101では実施形態1に加え、ロボットアームCの暫定の中間点PC11、PC12、PC13(第1の中間点群)の初期値を生成する(図6(b))。また、ステップS102では実施形態1のロボットアームA、Bに加え、ロボットアームCについても、暫定の待機時間WC1(第1の待機時間群)の初期値を0で初期化する。
また、図4のステップS103〜S107では、実施形態1と同様、ロボットアームCに関しても、新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)を生成する。この際、実施形態1と同様、動作制約条件を満たさない新たな待機時間、新たな中間点のセットは破棄し、動作条件を満たす新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)のセットを2つ(N=2)計算する。
図6(c)は、新たな中間点(第2の中間点群)に対応する経路の例を示す。ここでは、実施形態1に加え、1セット目の、教示点PC1、PC2での新たな待機時間(第2の待機時間群)がそれぞれ、WC11、WC21に設定される。また、教示点PC1、PC2間に、新たな中間点(第2の中間点群)としてPC111、PC121、PC131が生成されている。同様に、2セット目の、教示点PC1、PC2での新たな待機時間(第2の待機時間群)がそれぞれ、WC12、WC22に設定される。また、教示点PC1、PC2間の新たな中間点(第2の中間点群)としてPC112、PC122、PC132が生成されている。
図4のステップS108では、ロボットアームA、B、Cの新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)から動作情報(軌道)を生成し、ロボットアーム同士および、ロボットアームと障害物が干渉する時間で評価値を計算する。
ステップS109では、実施形態1と同様、2セット(N=2)の新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)と、対応する動作情報(軌道)の評価値の評価結果に基づき、暫定の第1の待機時間群、第1の中間点群を移動させる。図6(d)の例では、2セット目の新たな待機時間(第2の待機時間群)、新たな中間点(第2の中間点群)が採用され、そこに暫定の待機時間(第1の待機時間群)、暫定の中間点(第1の中間点群)を移動させている。
図4のステップS110では、実施形態1と同様、試行工程(ステップS103〜S109)を打ち切る打ち切り条件が成立しているか否かを判定する。そして、打ち切り条件が成立している場合には、ステップS111で、実施形態1と同様、打ち切り条件を満たす暫定の待機時間(第1の待機時間群)、暫定の中間点(第1の中間点群)を用いてロボットアームA、B、Cの軌道を生成する。
以上説明したように、本実施形態3によれば、3機のロボットアームについて、教示点へ到達する順番を制約しつつ、ロボットアーム同士の干渉および、ロボットアームと障害物との干渉を回避可能な軌道を生成することができる。また、評価のための軌道作成においては、動作制約、物理的な制約、最短時間制御、のような制御を加味することができる。従って、作業工程に適合し、機構上の問題を生じず、かつ効率よく複数のロボットアームを動作させる軌道を生成することができる。
本実施形態3では、実施形態1にロボットアームCを加え、干渉回避を目的とした動作生成を行う最適化の例を示した。しかしながら、上記の実施形態2の制御は、3アーム構成のロボットシステムにおいても実施することができる。即ち、実施形態3の処理(1パス目)で取得した打ち切り条件を満たす暫定の待機時間(第1の待機時間群)、暫定の中間点(第1の中間点群)を初期化に用いて実施形態2の制御を実施する。これにより、評価値を動作時間として、干渉回避をしつつ、動作時間が最適な動作を生成することができる。以上に示したように、本発明の軌道生成ないし、その最適化制御は、ロボットアームの数や、評価指標を限定することなく、ロボットアームの軌道を生成することが可能である。
<ロボットシステムの構成>
ここで、上記の各実施形態により、生成されたロボット軌道によって制御される複数アームのロボットシステムの具体的な構成例や、このロボットシステムを生産システムに適用した場合の構成などにつき示しておく。
図9は、ロボットアームA、Bのより具体的な構成例を模式的な図2よりも詳細に示したものである。図9において、ロボットアーム1001A、1001Bは、それぞれ上述のロボットアームA、Bに相当し、例えば6軸(関節)の垂直多関節形式の構成である。これら、ロボットアーム1001A、1001Bの各関節は、各関節を駆動するサーボモータをサーボ制御することによって所望の位置姿勢に制御することができる。
ロボットアーム1001A、1001Bは、の先端(手先)には、例えばハンド202A、200Bのようなツールがそれぞれ装着されている。ロボットアーム1001A、1001Bは、ハンド202A、202Bによって、ワーク203A、203Bを把持し、これらのワークを組み付けたり、加工したりする生産作業を行うことができる。ワーク203A、203Bは、自動車や、電子機器、電機製品などの工業製品の例えば部品である。ロボットアーム1001A、1001Bを生産システム(生産ライン)に生産装置として配置することができる。
ロボットアーム1001A、1001Bの動作は、ロボット制御装置200A、200B(ロボットコントローラ)によりそれぞれ制御される。ロボットアーム1001A、1001Bの動作は、ロボット制御装置200A、200Bに接続された操作端末204(例えばティーチングペンダント)によってプログラミング(教示)することもできる。例えば、操作端末204により教示点を順次指定することによって、ロボットアーム1001A、1001Bの特定部位(例えばTCP:アーム先端のツール装着面など)を所望の軌跡で移動させる動作をプログラミングすることができる。
また、ネットワークNWを介して、ロボットアーム1001A、1001B、ないしロボット制御装置200A、200Bは、上記の軌道生成装置(図1のロボットシミュレータ)から、最適化された中間教示点ないし軌道データを受信することができる。これにより、最適化された中間教示点ないし軌道データで、ロボットアーム1001A、1001Bを生産システム(生産ライン)に生産装置として配置して動作させ、各アームにより物品を製造することができる。
本発明は、上述の実施例の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
1…演算処理部、2…操作部、3…記録部、4…表示部、A〜C、1001A、1001B…ロボットアーム、1601…CPU、1602…ROM、1603…RAM、1604…外部記憶装置、NW…ネットワーク、Ob…障害物、PA1、PA2、PA3…(第1の)教示点群、PB1、PB2、PB3…(第1の)中間点群、PAnn、PAnnn…(第2の)中間点群、PBnn、PBnnn…(第2の)中間点群。

Claims (29)

  1. 開始教示点および目標教示点の間でロボットアームを動作させる軌道を生成する軌道生成方法において、
    制御装置が、前記開始教示点と前記目標教示点との間に生成された軌道で前記ロボットアームの動作を評価し、軌道の評価値を算出する評価工程と、
    前記制御装置が、前記評価値の良好な軌道を選択する選択工程と、
    前記制御装置が、前記選択工程で選択された軌道中の位置と、その位置で前記ロボットアームを待機させる待機時間と、を変更して新たな軌道を生成し、前記新たな軌道に対して前記評価工程と、前記選択工程と、を繰り返すことにより軌道を更新する更新工程と、を有する軌道生成方法。
  2. 請求項1に記載の軌道生成方法において、前記評価工程で、前記の新たな軌道でロボットアームを動作させた際の、前記ロボットアームと他の物体の干渉量を前記評価値として生成し、前記更新工程では、前記干渉量が小さくなる方向に、前記軌道中の位置と、前記待機時間とを変更する軌道生成方法。
  3. 請求項2に記載の軌道生成方法において、前記干渉量は、前記ロボットアームと前記他の物体とが同一の空間を占める干渉時間、または干渉距離である軌道生成方法。
  4. 請求項1から3のいずれか1項に記載の軌道生成方法において、前記評価値が、所定の基準を満たす場合に、前記更新工程を打ち切る軌道生成方法。
  5. 請求項1から3のいずれか1項に記載の軌道生成方法において、前記更新工程の繰り返し実行の回数が所定回数に達した場合、または、軌道の評価値が連続して変化しない回数が所定回数に達した場合、前記更新工程を打ち切る軌道生成方法。
  6. 請求項1から5のいずれか1項に記載の軌道生成方法において、前記評価工程で評価される軌道の生成では、前記開始教示点、前記目標教示点、これら教示点の間に配置した中間点と、に基づき、曲線補間により前記ロボットアームの所定部位を通過させる経路を生成し、最短時間制御を用いて前記経路を通過する速度を決定する軌道生成方法。
  7. 請求項1から6のいずれか1項に記載の軌道生成方法において、前記評価工程で評価される軌道の生成では、前記ロボットアームに関する関節トルク制約、関節角速度制約、関節角加速度制約、ジャーク制約、手先速度制約、ないし手先加速度制約のうちいずれか1つまたは複数の制約を満足する軌道が生成される軌道生成方法。
  8. 請求項1から7のいずれか1項に記載の軌道生成方法において、前記評価工程において、前記ロボットアームが教示点により規定された全ての動作が終了するまでの所要時間を前記評価値として生成し、前記更新工程では、前記所要時間が短かくなる方向に前記軌道中の位置と前記待機時間とを変更する軌道生成方法。
  9. 請求項1から8のいずれか1項に記載の軌道生成方法において、前記更新工程の繰り返し実行の回数が増加するに従い、前記軌道中の位置と前記待機時間とを変更する変化量を小さくする軌道生成方法。
  10. 前記制御装置を構成するコンピュータに読み込ませることにより、前記コンピュータによって請求項1から9のいずれか1項に記載の軌道生成方法の各工程を実行させるための制御プログラム。
  11. 請求項10に記載の制御プログラムを格納したコンピュータ読み取り可能な記録媒体。
  12. 開始教示点および目標教示点の間でロボットアームを動作させる軌道を生成する軌道生成装置において、
    制御装置が、前記開始教示点と前記目標教示点との間に生成された軌道で前記ロボットアームの動作を評価し、軌道の評価値を算出する評価工程と、
    前記制御装置が、前記評価値の良好な軌道を選択する選択工程と、
    前記制御装置が、前記選択工程で選択された軌道中の位置と、その位置で前記ロボットアームを待機させる待機時間と、を変更して新たな軌道を生成し、前記新たな軌道に対して前記評価工程と、前記選択工程と、を繰り返すことにより軌道を更新する更新工程と、を実行する制御装置を備えた軌道生成装置。
  13. 請求項12に記載の軌道生成装置と、この軌道生成装置が生成した軌道によってそれぞれ動作する前記ロボットアームと、を含む、ロボットシステム。
  14. 請求項13に記載のロボットシステムの前記軌道生成装置が生成した軌道によってそれぞれ動作するロボットアームによって物品を製造する物品の製造方法。
  15. 複数のロボットアームを、それぞれ教示点の間で動作させる軌道を生成する軌道生成方法において、
    制御装置が、前記教示点の間に配置された第1の中間点群と、前記第1の中間点群を構成する中間点の少なくとも一つの位置において、前記ロボットアームを待機させるための待機時間を含む第1の待機時間群と、の初期値を生成する初期化工程と、
    前記制御装置が、前記第1の中間点群を構成する中間点の位置と、前記第1の待機時間群を構成する待機時間と、に変位を与えて、第2の中間点群、およびこの第2の中間点群に対応する第2の待機時間群のセットを複数セット、生成する生成工程と、
    前記制御装置が、前記複数セットの第2の中間点群、およびこの第2の中間点群に対応する第2の待機時間群に基づき、複数の前記ロボットアームをそれぞれ模擬した複数のロボットアームモデルを仮想空間で動作させる軌道をそれぞれ作成する軌道作成工程と、
    前記制御装置が、前記軌道作成工程により作成された複数の軌道に対する評価値を生成する評価工程と、
    前記評価値の高い軌道を、新たな第1の中間点群、および第1の待機時間群として選択する選択工程と、
    前記制御装置が、前記選択工程で選択された、前記新たな第1の中間点群および第1の待機時間群に対して、前記生成工程と、前記軌道作成工程と、前記評価工程と、を繰り返し実行する試行工程と、
    前記制御装置が、前記試行工程において、所定の打ち切り条件が成立した場合に、前記試行工程を打ち切り、前記の新たな第1の中間点群、および第1の待機時間群を用いて複数の前記ロボットアームを動作させる軌道を生成する軌道生成工程と、を含む軌道生成方法。
  16. 請求項15記載の軌道生成方法において、前記評価工程で、前記複数セットの第2の中間点群、および対応する第2の待機時間群から生成した軌道で複数のロボットアームモデルを仮想空間で動作させた際の、複数の前記ロボットアームモデルの相互の干渉量、または、前記ロボットアームモデルのいずれか1つと前記ロボットアームモデルの動作する空間に配置された障害物モデルとの干渉量を前記評価値として生成し、前記試行工程では、複数の前記ロボットアームモデルの相互の干渉量、または前記ロボットアームモデルと前記障害物モデルとの干渉量が小さくなる方向に、前記第1の中間点群の中間点の各々、および前記第1の待機時間群の待機時間の各々に変位が与えられる軌道生成方法。
  17. 請求項16に記載の軌道生成方法において、前記干渉量は、複数の前記ロボットアームモデル同士、または、前記ロボットアームモデルおよび前記障害物モデルが、同一の空間を占める干渉時間、または干渉距離である軌道生成方法。
  18. 請求項15から17のいずれか1項に記載の軌道生成方法において、前記試行工程で、前記複数セットの第2の中間点群、およびこの第2の中間点群に対応する第2の待機時間群から前記軌道作成工程により作成された複数の軌道の評価値のうち最も良好な評価値が、所定の基準を満たす場合に、前記所定の打ち切り条件が成立する軌道生成方法。
  19. 請求項15から17のいずれか1項に記載の軌道生成方法において、前記試行工程の繰り返し実行の回数が所定回数に達した場合、または、前記試行工程で、前記複数セットの第2の中間点群、およびこの第2の中間点群に対応する第2の待機時間群から前記軌道作成工程により作成された複数の軌道の評価値のうち最も良好な評価値が連続して変化しない回数が所定回数に達した場合、前記所定の打ち切り条件が成立する軌道生成方法。
  20. 請求項15から19のいずれか1項に記載の軌道生成方法において、前記軌道作成工程における軌道作成では、前記教示点、および第2の中間点群から曲線補間により前記ロボットアームモデルの所定部位を通過させる経路を生成し、最短時間制御を用いて前記経路を通過する速度を決定する軌道生成方法。
  21. 請求項15から20のいずれか1項に記載の軌道生成方法において、前記軌道作成工程で、前記第2の中間点群に基づき、前記ロボットアームに関する関節トルク制約、関節角速度制約、関節角加速度制約、ジャーク制約、手先速度制約、ないし手先加速度制約のうちいずれか1つまたは複数の制約を満足する軌道が作成される軌道生成方法。
  22. 請求項15から21のいずれか1項に記載の軌道生成方法において、前記評価工程において、複数の前記ロボットアームモデルが教示点により規定された全ての動作が終了するまでの所要時間を前記評価値として生成し、前記試行工程では、前記所要時間が短かくなる方向に、前記第1の中間点群の中間点の各々、および前記第1の待機時間群の待機時間の各々に変位が与えられる軌道生成方法。
  23. 請求項15から22のいずれか1項に記載の軌道生成方法において、前記初期化工程と、前記生成工程、前記軌道作成工程、および前記評価工程を実行する試行工程を複数パス、用意し、各パスの評価工程では、それぞれ相互に異なる評価値を生成し、複数パスの評価工程では、それぞれ異なる評価値を用いて、評価工程の打ち切り条件を満たす前記第1の待機時間群、および第1の中間点群を、後続のパスの初期化工程で前記第1の待機時間群、および第1の中間点群の初期値として用い、最後のパスの評価工程の打ち切り条件を満たす第1の待機時間群、および第1の中間点群を用いて軌道を生成する軌道生成方法。
  24. 請求項15から23のいずれか1項に記載の軌道生成方法において、前記試行工程の繰り返し実行の回数が増加するに従い、前記第1の中間点群の中間点の各々、および前記第1の待機時間群の待機時間の各々に与えられる変位の量を小さくする軌道生成方法。
  25. 前記制御装置を構成するコンピュータに読み込ませることにより、前記コンピュータによって請求項1から9のいずれか1項に記載の軌道生成方法の各工程を実行させるための制御プログラム。
  26. 請求項25に記載の制御プログラムを格納したコンピュータ読み取り可能な記録媒体。
  27. 複数のロボットアームを、それぞれ教示点の間で動作させる軌道を生成する軌道生成装置において、
    前記教示点の間に配置された第1の中間点群と、前記第1の中間点群を構成する中間点の各々の位置において、前記ロボットアームを待機させるための待機時間を含む第1の待機時間群と、の初期値を生成する初期化工程と、
    前記第1の中間点群を構成する中間点と、前記第1の待機時間群を構成する待機時間と、に変位を与えて、第2の中間点群、およびこの第2の中間点群に対応する第2の待機時間群のセットを複数セット、生成する生成工程と、
    前記複数セットの第2の中間点群、およびこの第2の中間点群に対応する第2の待機時間群に基づき、複数の前記ロボットアームをそれぞれ模擬した複数のロボットアームモデルを仮想空間で動作させる軌道をそれぞれ作成する軌道作成工程と、
    前記軌道作成工程により作成された複数の軌道に対する評価値を生成する評価工程と、
    前記評価値の高い軌道を、新たな第1の中間点群、および第1の待機時間群として選択する選択工程と、
    前記選択工程で選択された、前記新たな第1の中間点群および第1の待機時間群に対して、前記生成工程と、前記軌道作成工程と、前記評価工程と、を繰り返し実行する試行工程と、
    前記試行工程において、所定の打ち切り条件が成立した場合に、前記試行工程を打ち切り、前記の新たな第1の中間点群、および第1の待機時間群を用いて複数の前記ロボットアームを動作させる軌道を生成する軌道生成工程と、を実行する制御装置を備えた軌道生成装置。
  28. 請求項27に記載の軌道生成装置と、この軌道生成装置が生成した軌道によってそれぞれ動作する複数の前記ロボットアームと、を含む、ロボットシステム。
  29. 請求項28に記載のロボットシステムの前記軌道生成装置が生成した軌道によってそれぞれ動作する複数のロボットアームによって物品を製造する物品の製造方法。
JP2018178064A 2018-02-05 2018-09-21 情報処理方法、プログラム、記録媒体、情報処理装置、ロボットシステム、物品の製造方法 Active JP7210201B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018178064A JP7210201B2 (ja) 2018-09-21 2018-09-21 情報処理方法、プログラム、記録媒体、情報処理装置、ロボットシステム、物品の製造方法
US16/257,748 US11458626B2 (en) 2018-02-05 2019-01-25 Trajectory generating method, and trajectory generating apparatus
CN201910101556.2A CN110116405B (zh) 2018-02-05 2019-02-01 轨迹生成方法和轨迹生成装置
US17/822,229 US20220402132A1 (en) 2018-02-05 2022-08-25 Trajectory generating method, and trajectory generating apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018178064A JP7210201B2 (ja) 2018-09-21 2018-09-21 情報処理方法、プログラム、記録媒体、情報処理装置、ロボットシステム、物品の製造方法

Publications (3)

Publication Number Publication Date
JP2020049554A true JP2020049554A (ja) 2020-04-02
JP2020049554A5 JP2020049554A5 (ja) 2021-11-04
JP7210201B2 JP7210201B2 (ja) 2023-01-23

Family

ID=69995003

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018178064A Active JP7210201B2 (ja) 2018-02-05 2018-09-21 情報処理方法、プログラム、記録媒体、情報処理装置、ロボットシステム、物品の製造方法

Country Status (1)

Country Link
JP (1) JP7210201B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114851211A (zh) * 2022-07-07 2022-08-05 国网瑞嘉(天津)智能机器人有限公司 臂架轨迹的规划方法、装置、服务器及存储介质
US11717965B2 (en) 2020-11-10 2023-08-08 Kabushiki Kaisha Yaskawa Denki Determination of robot posture
WO2023162300A1 (ja) * 2022-02-28 2023-08-31 株式会社日立製作所 軌道計画装置及び軌道計画方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04201081A (ja) * 1990-11-29 1992-07-22 Honda Motor Co Ltd ロボット制御装置
JPH10260714A (ja) * 1997-03-21 1998-09-29 Nissan Motor Co Ltd ロボット干渉域設定プログラム作成方法
JP2001273022A (ja) * 2000-03-24 2001-10-05 Nkk Corp 制御装置及び制御方法
US20050273200A1 (en) * 2004-06-08 2005-12-08 Gerhard Hietmann Process for protecting a robot from collisions
US8700307B1 (en) * 2013-03-04 2014-04-15 Mitsubishi Electric Research Laboratories, Inc. Method for determining trajectories manipulators to avoid obstacles
JP2015208811A (ja) * 2014-04-25 2015-11-24 ファナック株式会社 複数台のロボットのシミュレーション装置
WO2018092860A1 (ja) * 2016-11-16 2018-05-24 三菱電機株式会社 干渉回避装置
JP2018144223A (ja) * 2017-03-06 2018-09-20 キヤノン株式会社 複数のロボットに動作を教示する教示方法、およびそれに用いる教示装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04201081A (ja) * 1990-11-29 1992-07-22 Honda Motor Co Ltd ロボット制御装置
JPH10260714A (ja) * 1997-03-21 1998-09-29 Nissan Motor Co Ltd ロボット干渉域設定プログラム作成方法
JP2001273022A (ja) * 2000-03-24 2001-10-05 Nkk Corp 制御装置及び制御方法
US20050273200A1 (en) * 2004-06-08 2005-12-08 Gerhard Hietmann Process for protecting a robot from collisions
US8700307B1 (en) * 2013-03-04 2014-04-15 Mitsubishi Electric Research Laboratories, Inc. Method for determining trajectories manipulators to avoid obstacles
JP2015208811A (ja) * 2014-04-25 2015-11-24 ファナック株式会社 複数台のロボットのシミュレーション装置
WO2018092860A1 (ja) * 2016-11-16 2018-05-24 三菱電機株式会社 干渉回避装置
JP2018144223A (ja) * 2017-03-06 2018-09-20 キヤノン株式会社 複数のロボットに動作を教示する教示方法、およびそれに用いる教示装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11717965B2 (en) 2020-11-10 2023-08-08 Kabushiki Kaisha Yaskawa Denki Determination of robot posture
WO2023162300A1 (ja) * 2022-02-28 2023-08-31 株式会社日立製作所 軌道計画装置及び軌道計画方法
CN114851211A (zh) * 2022-07-07 2022-08-05 国网瑞嘉(天津)智能机器人有限公司 臂架轨迹的规划方法、装置、服务器及存储介质
CN114851211B (zh) * 2022-07-07 2022-09-23 国网瑞嘉(天津)智能机器人有限公司 臂架轨迹的规划方法、装置、服务器及存储介质

Also Published As

Publication number Publication date
JP7210201B2 (ja) 2023-01-23

Similar Documents

Publication Publication Date Title
US20220402132A1 (en) Trajectory generating method, and trajectory generating apparatus
JP7158862B2 (ja) 情報処理方法及び情報処理装置
KR101732902B1 (ko) 로봇의 경로 계획 장치 및 그 방법
US11498213B2 (en) Robot joint space graph path planning and move execution
US20110224815A1 (en) Industrial Robot And Path Planning Method For Controlling The Movement Of An Industrial Robot
JP7210201B2 (ja) 情報処理方法、プログラム、記録媒体、情報処理装置、ロボットシステム、物品の製造方法
US20220063099A1 (en) Framework of robotic online motion planning
WO2021165745A1 (en) Collision avoidance motion planning method for industrial robot
JP2021175590A (ja) ロボット最適化動作計画用の初期参照生成
JP2020011328A (ja) 自動経路生成装置
Schwung et al. An application of reinforcement learning algorithms to industrial multi-robot stations for cooperative handling operation
JP2012157955A (ja) 移動制御装置及び移動制御方法、並びにコンピューター・プログラム
CN111699079B (zh) 协调系统、操作设备和方法
Kawabe et al. A flexible collision-free trajectory planning for multiple robot arms by combining Q-learning and RRT
US20210245364A1 (en) Method And Control System For Controlling Movement Trajectories Of A Robot
Salmaninejad et al. Motion path planning of two robot arms in a common workspace
US20230109223A1 (en) Intelligent clear path
Akli Experimental analysis of the performance of mobile manipulators executing generalized point-to-point tasks
JP5829968B2 (ja) 多関節ロボット、その関節協調制御装置および方法
Hayashi et al. Multi-arm motion-generating method based on each robot movement vector in time slice
CN115697643A (zh) 控制多个执行机构的方法、电子设备和存储介质

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210917

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210917

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220922

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230111

R151 Written notification of patent or utility model registration

Ref document number: 7210201

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151