[go: up one dir, main page]

JP2018020410A - レイアウト設定方法、およびレイアウト設定装置 - Google Patents

レイアウト設定方法、およびレイアウト設定装置 Download PDF

Info

Publication number
JP2018020410A
JP2018020410A JP2016153890A JP2016153890A JP2018020410A JP 2018020410 A JP2018020410 A JP 2018020410A JP 2016153890 A JP2016153890 A JP 2016153890A JP 2016153890 A JP2016153890 A JP 2016153890A JP 2018020410 A JP2018020410 A JP 2018020410A
Authority
JP
Japan
Prior art keywords
layout
robot arm
robot
teaching point
layout setting
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
JP2016153890A
Other languages
English (en)
Other versions
JP2018020410A5 (ja
JP7009051B2 (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 JP2016153890A priority Critical patent/JP7009051B2/ja
Priority to US15/657,684 priority patent/US20180036882A1/en
Publication of JP2018020410A publication Critical patent/JP2018020410A/ja
Publication of JP2018020410A5 publication Critical patent/JP2018020410A5/ja
Application granted granted Critical
Publication of JP7009051B2 publication Critical patent/JP7009051B2/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
    • 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/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • 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/40317For collision avoidance and detection
    • 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/40515Integration of simulation and planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

【課題】効率よく、かつ高速にロボットおよび周辺機器のレイアウトを最適化できるようにする。【解決手段】ロボットアーム、周辺機器を含むロボット作業空間にロボットアームおよび周辺機器を配置するレイアウトを設定する。ロボットアームが周辺機器にアクセスする特定動作に対応し、ロボットアームの基準部位を通過させる教示点を決定する(教示点決定手段30)。また、ロボットアーム、周辺機器の初期レイアウトを決定する手段(初期レイアウト決定手段32)を有する。レイアウト評価手段36およびレイアウト移動手段38は、メタヒューリスティクス演算により用いて、初期レイアウトから、各機器を移動させてレイアウトを更新する。また、初期レイアウトないし更新されたレイアウトで、特定動作に対する適応度に関する評価値を用いて当該のレイアウトを設定し、最適なレイアウトを決定する。【選択図】図2

Description

本発明は、ロボットアームと、周辺機器と、を含むロボット作業空間に前記ロボットアームおよび前記周辺機器を配置するレイアウトを設定するレイアウト設定方法、およびレイアウト設定装置に関する。
近年、自動車や電機(電気)製品の生産ラインでは、複数台の産業用ロボットアームを投入して、溶接や組み立てなどの作業を自動化されている。このようなロボットによる作業環境には、ロボットアームと周辺機器から成るロボット設備が配置される。ここで、ロボットアームを除く周辺機器としては、例えば、ワーク、ワーク置き台や、冶具等が考えられる。また、このような作業環境には、室内の凹凸や支柱、通気ダクトなどの障害物が存在する場合もある。このようなロボット作業環境において、ロボットアームは、上記のような障害物や、作業対象とは異なる周辺機器との干渉を避けつつ、しかも効率よく動作させなければならない。
ここで、ロボットアームを上記のような干渉を避けつつ、しかも効率よく動作させる、という目的の達成には、ロボットアームと周辺機器のレイアウト(配置設計)が大きな影響を持つ。
旧来では、ロボットアームと周辺機器のレイアウト、即ち、作業環境中への配置位置の決定は、室内の障害物を考慮した上でレイアウト平面図のような紙上の手作業で行われることもあった。
しかしながら、現在では、例えばロボットアームシミュレータのようなシミュレータ装置が知られており、このような装置を利用してレイアウト最適化を行い、工程設計(管理)者のレイアウト作業を支援することが考えられる。
この種のシミュレータ装置は、シミュレーション技術を利用して、ロボットアームと、ワークなどの3DのCADデータなどを用いて、ロボットアームの動作をプログラミング(教示)するために用いられる。この種のシミュレータ装置を利用し、レイアウト最適化を行うには、ロボットアームとワークの他に、あるいはさらに周辺機器、室内の障害物などの3DのCADデータを追加し、その仮想環境中でロボットアームを動作させる。
例えば、オフラインで、ロボットアームシミュレータを使用して、ロボットアームの動作シミュレーションを行う場合、作業環境を想定した画面上にロボットアームと、ワーク置き台、冶具等の周辺機器の3次元モデルを配置して表示する。
当然ながら、ロボットアームおよび周辺機器を作業環境に相当する画面上のどこに配置するかによってシミュレーション結果は大きく異なってくる。ロボットアームの配置が不適切である場合、ロボットアームの教示点あるいは動作経路の一部がロボットアームの動作不可能な領域に入ったりする可能性がある。また、所望の教示点あるいは動作経路を辿る動作をロボットアームに実行させると周辺機器との干渉を起こす可能性もある。
従来の、主にロボットアームの動作をプログラミング(教示)するためのシミュレータ装置では、基本的にはレイアウトの評価や検証を行う機能が実装されていない。従って、従来では、シミュレータ装置を用いる場合でも、レイアウトの評価や検証の殆どを作業者が行っていた。
例えば、従来では、全ての教示点や動作経路全体に対して、ロボットアームが動作可能となり、且つ、周辺機器とロボットアームが干渉しないという条件を満たす、ロボットアームおよび周辺機器の配置を、作業者が画面上で試行錯誤的に求めていた。しかし、ロボットアームおよび周辺機器の配置を定めてロボットシステムを構築しても、その後、配置が最適でないために、ロボットアームのサイクルタイムが規定値以下にならないというような問題が発生する場合が珍しくなかった。そのようなケースでは、ロボットアームおよび周辺機器の配置を再検討して設置し直すことで対応していた。
特に、製品の種類が頻繁に変わる環境では、製品の種類が変更される度に工程設計者が配置作業を全てやり直すことになるので、実際にロボットアームが稼動して生産を行なう工程よりも、配置作業の工程の比率が増大し、生産性が極端に低下してしまう。また、工程設計者が配置作業に直接に係わる割合が大きいので、人件費が高騰する問題も生じる。
従来では、ロボットアームの移動時間を短くすることのできる最適な作業対象物の配置を決定する装置が開示されている(例えば下記の特許文献1、2)。
特許文献1の構成では、次のような制御が行われる。まず、ロボットアームの配置可能範囲に配置した格子点を配置可能候補点Qk(1 <= k <= m)とする。この配置可能候補点Qkの中から、逆運動学が解け、周辺機器との干渉もなく、動作余裕度が基準値をクリアしている点だけを残し、仮配置可能範囲とする。仮配置可能範囲内の諸点にロボットアームを配置して動作シミュレーションを実行し、それら諸点の配置を評価するためのデータを収集する。収集したデータは、いくつかの観点の評価基準と照らし合わせて、それぞれ評価される。さらに、1つまたは複数の観点についての評価結果を評価関数で評価し、最適配置(場合によっては、複数個)を選び出す。
また、特許文献2の構成では、次のような制御が行われる。まず、作業対象物の配置候補位置を複数指定し、次に、所定の位置と複数の配置候補位置のそれぞれを通過するロボットアーム移動経路を指定する。次に、各ロボットアーム移動経路のそれぞれにおけるロボットアームの移動をシミュレーションし、その移動の際のロボットアームの回転角度が反映されたロボットアーム移動時間をそれぞれ求める。最後に、ロボットアーム移動時間が最も短くなるロボットアーム移動経路に対応する配置候補位置を最適な配置として決定する。
特開2005−22062号公報 特開2008−52749号公報
特許文献1で開示された手法では、作業空間を配置可能範囲を適当な数で分割して得た格子点から、逆運動学が解け、周辺機器との干渉もなく、動作余裕度が基準値をクリアしている点だけを残し、仮配置可能範囲とする。そして仮配置可能範囲の全ての格子点でのロボットアーム動作シミュレーションを行い、配置構成を評価している。従って、格子点の間に最適点が存在している場合は、最適点に到達できず、精度を高めるためには、格子点を多くしなければならない可能性がある。
そして、仮配置可能範囲にある格子点の数が多くなればなるほど、その評価を行う計算時間も多くなる。特に、ロボットアームの配置だけを考える場合、配置候補に比例して計算時間が増大する。さらに、ロボットアームだけでなく、ワークや周辺機器の配置を考慮に入れた場合、その組み合わせはそれぞれの配置候補の数の積になるため、演算処理量が莫大になる可能性がある。たとえば、ロボットアームと周辺機器の配置候補が、それぞれ100の格子点で表現されていた場合には、100×100×100=1000000通りの評価を行わなければならなくなる。
即ち、特許文献1に示されるような手法では、配置候補の評価演算の効率については殆ど考慮されておらず、対象とする作業環境の規模などによっては、莫大な計算機資源が必要になる可能性がある。また、特許文献1の構成では、干渉回避動作は自動で生成しておらず、決められた経路だけをロボットアームが通る。このため、例えば干渉せずに目的の動作を実現できる別の経路があってもその配置で動作は不可能と判定してしまう可能性があり、配置の最適性が落ちる恐れがある。
また、特許文献2に示されるような手法では、特許文献1同様、作業対象物の全ての配置候補位置に対し、シミュレーションを行い、評価を行っているため、ワークの配置候補の数が増えれば増えるほど、計算時間が増大する。また、ロボットアームの配置を考える場合は、ワークとロボットアームの配置の数の積の数だけの配置候補の評価を行わなければいけないという問題がある。また、特許文献2の手法でも、干渉回避動作の自動生成や評価は行われていない。このため、特許文献1の場合と同様、特許文献2の手法によっても、作業環境の規模などによっては、莫大な計算機資源が必要になる可能性があり、最適な配置を探索できない可能性がある。
上記のように、従来技術では、ロボット設備の配置の組み合わせを全て試行し評価を行っているため、この方法では計算時間が大きくなってしまう問題がある。また、従来技術では、干渉回避動作の自動生成や評価の機能を欠いており、最適な配置を探索し切れない可能性がある。
そこで、本発明の課題は、上記の問題点に鑑み、ロボットアームの干渉を回避する軌道生成と、ロボット設備のレイアウトの最適化を効率的に行うことにより、高速にロボット設備のレイアウトを最適化できるようにすることにある。
以上の課題を解決するため、本発明においては、ロボットアームと、周辺機器と、を含むロボット作業空間に前記ロボットアームおよび前記周辺機器を配置するレイアウトを設定するレイアウト設定方法において、制御装置が、前記ロボット作業空間において前記ロボットアームが前記周辺機器にアクセスする特定動作に対応し、前記ロボットアームの基準部位を通過させる教示点を決定する教示点決定工程と、前記制御装置が、前記ロボットアームおよび前記周辺機器の初期レイアウトを決定する初期レイアウト決定工程と、前記制御装置が、前記教示点に基づき前記ロボットアームの軌道を生成する軌道生成工程と、前記制御装置が、メタヒューリスティクス演算を用いて、前記初期レイアウトを出発点として、前記ロボットアームまたは前記周辺機器の配置を移動させてレイアウトを更新するレイアウト更新工程と、前記制御装置が、前記初期レイアウト、または、前記レイアウト更新工程で更新されたレイアウトに対応する前記ロボットアームおよび前記周辺機器の配置構成において、前記特定動作に対する適応度に関する評価値を用いて当該のレイアウトを評価し、前記特定動作に適した最適なレイアウトを決定するレイアウト設定工程と、を備えた構成を採用した。
上記構成によれば、ロボットアームに特定動作を実行させるために最適なロボットアームおよび周辺装置のレイアウトおよび最適な動作を効率よく、高速に計算することができる。
本発明のレイアウト評価ないし最適化処理を適用可能なロボットアームと周辺機器、あるいはこれらをレイアウト最適化装置でシミュレーション表示した表示画面を示す説明図である。 本発明を適用可能なレイアウト最適化装置の構成を示すブロック図である。 本発明の実施形態1に係るレイアウト最適化処理を示したフローチャート図である。 本発明の実施形態1に係るレイアウトの初期化処理を示したフローチャート図である。 本発明の実施形態2に係るレイアウト最適化処理を示したフローチャート図である。 本発明の実施形態2に係るレイアウトの評価処理を示したフローチャート図である。 本発明の実施形態2に係るレイアウトの最大評価値の更新を示したフローチャート図である。 本発明の実施形態3に係るレイアウト最適化処理を示したフローチャート図である。 本発明の実施形態3に係る粒子群最適化の粒子の位置および適応度の更新処理を示したフローチャート図である。 本発明の実施形態3に係るレイアウトの評価処理を示したフローチャート図である。 本発明の実施形態3に係るレイアウトの評価処理を示したフローチャート図である。
以下、添付図面に示す実施例を参照して本発明を実施するための形態につき説明する。なお、以下に示す実施例はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
<実施形態1>
以下、本発明の実施形態1について説明する。一般に、ロボットアームは関節とリンク機構で構成される。関節には回転関節や直動関節の他、球体関節などさまざまな種類がある。関節の動作はモータ等で能動的に動作する場合と、動力源を持たずに受動的に動作する場合がある。各関節間はリンク機構により連結されるが、この連結形態によって、関節とリンク機構が交互に直列されたシリアルリンク型と関節とリンクの組合せが並列となったパラレルリンク型などがある。以下では、回転関節を有するシリアルリンク型のロボットアームを例に説明するが、以下に示す制御は、パラレルリンク型や直動関節を有するロボットアームを用いる場合でも実施可能である。
図1は、本発明のレイアウト最適化装置100(図2)でそのレイアウトを評価するロボットアームAと周辺機器(ワーク置き台P1〜P3、ワークWなど)または、これらをシミュレーション表示した表示画面(21)の表示状態を示す。図2は、ロボットアームAと周辺機器(ワーク置き台P1〜P3、ワークWなど)のレイアウトを評価し、アームの特定動作に適したレイアウトを取得(決定)するレイアウト最適化装置100の構成を示す。
図1は、ロボットアームA、ワークW、ワーク置き台P1、P2、P3障害物Oなどが、ロボットアームAの作業空間(ロボット作業空間)に相当するベースB上に配置されている状態示している。ここで、ロボットアームAは、3つの関節(3軸多関節)を有し、ワークなどの作業の対象物を把持するためのハンドを手先に備えるものとする。
なお、ロボットアームAは、一般的にはロボットアーム自体が動作するような動作体として広く観念されるものであればよく、本発明は特にロボットアームAの構成によって限定されるものではない。例えば、図1では、ロボットアームAを1台のみ図示しているが、6軸多関節ロボットアームを2つ以上配置する場合でも以下に示す制御は実施可能である。
本実施形態におけるレイアウトとは、ロボット作業空間に、例えば図1のように、ロボットアームA、ワークW、ワーク置き台P1、P2、障害物Oが一定の位置関係で配置された配置構成、より詳しくは、これらの位置・姿勢の総称である。
レイアウト最適化装置100(図2)は、ロボットシミュレータのような装置とほぼ同様のハードウェア構成を有する。特にレイアウト最適化装置100は、LCDパネルなどの表示デバイスによるディスプレイ21を備えており、ベースB上の作業環境の状態を適当な3D表示形式で表示できるものとする。例えば、図1の破線(21)で示すように、図1は、レイアウト最適化装置100のディスプレイ21におけるロボットアームAと周辺機器(ワーク置き台P1〜P3、ワークWなど)のシミュレーション(3D)表示として見てもよい。
図2において、レイアウト最適化装置100は、本実施形態のレイアウト設定方法を実施するレイアウト設定装置に相当する。レイアウト最適化装置100は、ロボットの作業環境をシミュレーション(3D)表示可能なディスプレイ21を備えている。従って、後述のレイアウト評価処理に加え、例えば、ロボットアームAに同様の作業環境中で動作させるための制御(教示)データのプログラミング(教示)や、修正、あるいはその評価のための機能を備えていてもよい。この種のシミュレーション(3D)表示を利用した各種の機能は公知であって、ここではその詳細な説明は省略する。
レイアウト最適化装置100は、ディスプレイ21の他に、作業者がデータ入力等を行うための操作部2(ユーザーインターフェース)、レイアウト評価ないし最適化処理を行う演算処理部3、種々のデータを格納する記憶部4と、を備えている。
ディスプレイ21は、操作装置22とともに操作部2(ユーザーインターフェース)を構成する。操作装置22として用いるデバイスには、キーボード(KB)、マウスやトラックパッド(ボール)、デジタイザパッドのようなポインティングデバイス(PD)などが考えられる。
演算処理部3は、教示点決定手段30、初期レイアウト決定手段32、軌道生成手段34と、レイアウト評価手段36、レイアウト移動手段38、の各機能ブロックで示す演算(制御)機能を有する。実際には、演算処理部3の上記の各「手段」(30、32、34、36、38)は、CPU601に後述のフローチャートで示すような処理(制御プログラム)を実行させることにより実現される。従って、上記の各「〜手段」(30、32、34、36、38)は、「〜工程」(30、32、34、36、38)と読み換えても差しつかえない。
記憶部4は、実際には、CPU601がアクセス可能なROM602、RAM603、HDDやSSD(あるいは他のメモリデバイス)のような外部記憶装置604を用いて構成される。後述の制御(処理)に用いられるメモリ(変数、定数)領域は、これらの記憶デバイス(602〜604)上に配置される。また、後述の制御(処理)に用いられるメモリ(変数、定数)領域は、特定の記憶デバイスの特定アドレスに固定的に配置されない場合もある。例えば、CPU601がプログラムを実行するOS環境では、RAM603と外部記憶装置604を組合せて構成された仮想記憶領域を利用できる場合がある。上記のようなメモリ(変数、定数)領域のためにこのような仮想記憶を利用する場合には、メモリの利用状態によって、特定のメモリ(変数、定数)領域は流動的に制御される。
また、記憶部4の一部には、後述のCPU601が実行する制御手順を記述した制御プログラムを記憶させた(例えば着脱自在な)コンピュータ読み取り可能な記録媒体を含んでいてよい。このような記録媒体としては、外部記憶装置604や、ROM602の一部に配置したE(E(PROMのような記憶デバイス、光学ドライブで用いられる光ディスクや光磁気ディスクなどが考えられる。
演算処理部3(CPU601、ROM602、RAM603、外部記憶装置604…)は、ハードウェア的にはインターフェース605を介して外部装置と接続される。図2では、インターフェース605には、上記の操作部2(ディスプレイ21、操作装置22)が接続される。また、インターフェース605には、ネットワーク610、ロボットアームA(ないしそのロボット制御装置)を接続できるようにしてもよい。操作部2を用いたグラフィカル環境を用いてロボット教示データを作成する機能を設ける場合には、例えばインターフェース605を介してロボットアームA(ないしそのロボット制御装置)に作成したロボット教示データを送信することができる。また、ロボットアームAは、ネットワーク610を介して接続してもよい。ネットワーク610は、他の外部装置(ロボットアーム、サーバ装置、あるいは他のレイアウト設定装置)の通信にも利用可能である。また、ネットワーク610を経由して、後述の制御プログラムをダウンロードし、ROM602や外部記憶装置604などの所定領域にインストールしたり、あるいはインストール済みの一部や全部をアップデート(更新)することもできる。
なお、インターフェース605は、ここでは簡略化のため、1ブロックで図示してあるが、実際には接続される機器に応じたインターフェース装置によって構成される。例えば、ロボットアームとの接続には、各種のシリアルないしパラレルバスのようなインターフェースが用いられる。ネットワーク610との接続には各種の有線、無線接続方式によって構成されたネットワークインターフェースが用いられる。
演算処理部3の教示点決定手段30は、ロボットアームAの姿勢を決定する教示点を決定する手段である。後述のレイアウト最適化においては、ロボットアームAに実行させる特定動作に適したレイアウトを探索する。
教示点決定手段30は、このロボットアームAに実行させる特定動作に対応する教示点を決定するためのもので、例えば操作部2の操作装置22およびディスプレイ21から成るユーザーインターフェースを用いることが考えられる。例えば、ディスプレイ21に3D表示したロボットアームAを操作装置22のポインティングデバイスなどで作業者に操作させる。そして、ロボットアームAの基準部位(手先位置など)を所望の位置に移動させて、特定の決定操作を行うことを繰り返し、各基準部位を通過させる位置を教示点として決定する。
なお、教示点決定手段30による教示は、後述(例えば図3のS102)のように、評価するレイアウトの生成前に1度(だけ)行う。生成した多数のレイアウトでは、それぞれロボットアームAと周辺機器(ワーク置き台P1〜P3、ワークWなど)の各部の配置が異なるため、それらの全てについて教示点決定手段30による教示を行うのは現実的ではない。
例えば、評価すべきレイアウト生成前に、教示点決定手段30として上記のようなGUIによるインターフェースを用いる場合には、作業者(操作者)には、適当な位置に上記の各部をレイアウトして教示作業を行わせてよい。その場合、例えば入力する教示点の値としては、下記のようなローカル座標を用いることにより、異なるレイアウトにおいても通用する、ロボットアームに実行させたい特定動作に対応した教示点群を生成することができる。
ロボットアームAの教示点表現としては、アームの基準部位(例えばロボットアームAの手先など)の位置・姿勢を用いる方法がある。この教示点そのものは、ロボットアーム座標系に固定されるものではなく、作業環境全体に配置された世界(ワールド)座標系や、周辺機器に固定されるローカル座標系などによって指定できる。一般に、この種のロボット制御では、制御の都合によって、上記の世界(ワールド)座標系、ローカル座標系など任意の座標系が用いられる。また、必要に応じて、演算処理部3(CPU601)は適当な同次変換行列演算を利用することにより、各座標系の座標値は相互に変換することができる。
例えば、ワークWの置き台にワークを置く動作を実現する場合は、ワークの置き台の上部にロボットアームの手先が来るように教示点を決定する。この場合、ワークの置き台がたとえ移動したとしても、教示点はワークの置き台と共に相対位置を保って共に移動するのが望ましい。従って、ロボットアームAの手先の教示点を特定する場合は、ワークの置き台のような移動対象物に固定された座標系で指定できるようにしておくほうが、処理上、都合が良い。
なお、ロボットアームの手先の教示点から、ロボットアームの各軸関節角度を計算し、ロボットアームの具体的な姿勢を求めるためには、逆キネマティクス(逆運動学)計算を行う。例えば、図1におけるロボットアームAが、手先の位置・姿勢を示す教示点T1を与えられた場合、そのT1の位置・姿勢に、ロボットアームAの手先位置が来るように、ロボットアームAの関節角度(θ1,θ2,θ3)を算出する。また、図2の初期レイアウト決定手段32は、レイアウト最適化を行う際のレイアウトの初期値を決定する手段である。たとえば、ロボットアームA、ワークW、ワーク置き台P1、P2、P3の位置・姿勢が移動可能な場合に、これらの位置・姿勢を、例えば作業者が操作部2を用いて入力し、決定する。あるいは、レイアウトの初期値は、CPU601がランダム(乱数)演算などを利用して決定してもよい。それ以外にも、前回最適化を行った際の最適化結果を初期レイアウトとして設定することも可能である。
軌道生成手段34は、ロボットアームの動作経路を生成する手段および、その経路上をある単位時間ごとにロボットアームの関節値を指令する軌道を生成する手段からなる。ロボットアームの動作経路とはロボットアームの動作の軌跡を表すものであり、ここでは速度といった時間的概念は含まない。一方、ある単位時間ごとにロボットアームの関節値を指令する軌道データは、ロボットアームの動作速度の情報を含む。経路を生成する手段として、干渉を避けて開始点と目標点を接続する経路を生成する手法がある。
このような経路生成方法には、ポテンシャル法、PRM (Probabilistic Roadmap Method)、RRT (Rapidly−exploring Random Tree)といった多くの方法がある。本発明は、経路生成手段の実装形態により限定されるものではなく、例えば可視グラフ法、セル分割法、ボロノイ図法などの他の経路生成方法も利用することができる。
また、上記のような手法で生成した経路は、回り道をしていたり尖っていたりするため無駄が多く、経路修正が必要な場合がある。例えば、軌道生成手段34は、そのような経路修正を行うための経路短縮化処理の機能をさらに含んでいてよい。例えば、経路生成手段で生成した経路に対し補間点を新たに追加し、任意の2点をつなぐ直線で周辺環境との干渉がない場合は、2点の間にある経路の代わりに新たにその直線を経路として置き換えるという作業を、繰り返し行うような手法を採用してよい。
軌道生成手段34は、以上のような経路生成により算出された経路に対し、ロボットアームの関節角度の変化速度を計算し、ロボットアームの関節値をある単位時間ごとに指令する軌道を生成する。ここで、軌道とは、ロボットアームの姿勢の変位や速度を時間の関数として扱い表したものである。
軌道生成方法には、ロボットアームの最適速度を計算する最短時間制御の手法が知られている。このような最短時間制御は、例えば経路補間手段で決定された経路に対し、関節トルク、関節角速度、関節角加速度、関節角加加速度、TCP速度、TCP加速度などに関する物理的制約を守りつつ時間を最短にするという最適化問題を解くよう構成される。
また、軌道生成手段34において、干渉を回避する経路を生成する際には、物体同士が干渉するかどうかを判断する必要がある。例えば、ロボットアームAと障害物Oの3DCADデータをポリゴン(例えば三角形等の多角形)の集合として表した場合には、ロボットアームAの現在の姿勢のポリゴンの集合と障害物Oのポリゴンの集合が幾何学的に接触しているかどうかを判定して判断する。なお、3DCADデータの表現には必ずしもポリゴン形式を用いる必要はなく、いわゆるボクセル表現のデータを利用してもよい。
レイアウト評価手段36およびレイアウト移動手段38(レイアウト更新手段)は、ロボットアームA、ワークW、および各種周辺機器の配置(レイアウト)を生成し、また、最適化する。その場合、本実施形態では、メタヒューリスティクス演算、特に本実施形態では粒子群最適化技術を用いて効率的にレイアウトを生成し、また最適化できるようにする。
本実施形態では、例えば、初期レイアウトによって指定された配置範囲内の諸点にロボットアームA、ワークW、周辺機器を配置し、そこでの干渉回避軌道を生成し、それら諸点の配置について諸観点から評価をする。その評価値から、粒子群最適化演算における「粒子」の位置と速度の更新をすることによって、ロボットアームA、ワークW、周辺機器の配置を、ベストな配置へと向かって遷移させる。所定の回数もしくは、所定の評価値を超えた時点で、その時点での最良の配置を、最適配置として出力する。
ここで、メタヒューリスティクス演算、特に本実施形態で利用する粒子群最適化演算につき説明する。この粒子群最適化処理は、一般に群知能を演算する処理過程として分類されている。ここで、群知能とは、分権化し自己組織化されたシステムの集合的ふるまいの研究に基づく人工知能技術である。
一般に、群知能ないし粒子群最適化処理では、単純なエージェントの個体群から構成され、各個体は個体自身の情報と個体群の持つ情報の双方を用いて動作する。この場合、各個体の振舞いには偶然性が作用するとともに、各個体間の相互作用の影響が働く。従って、このような群知能演算(処理)では、例えばある群の状態から次の状態を生成する処理を繰り返すような、いわゆるメタヒューリスティック(発見的、ないし学習的)な演算過程が用いられる。
個々のエージェントがどう行動すべきかを命じている集中的な制御構造は通常存在しないが、そのようなエージェント間の相互作用はしばしば全体の行動の創発をもたらす。このような群知能システムの自然界の例として、アリの巣コロニー、鳥の群れ、動物の群れ、細菌のコロニー、魚の群れなどがある。特に、自然界に存在する群知能システムをエミュレートするアルゴリズムとしては、蟻コロニー最適化、カッコウ探索、粒子群最適化、といった演算手法が知られている。
本実施形態では、レイアウト生成および最適化に粒子群最適化演算を利用する。粒子群最適化(PSO:Particle Swarm Optimization)とは、群知能の一種である。例えば、昆虫や魚の群では、一匹が一定の目的(例えば食料の発見や天敵回避行動、など)にかなう良さそうな移動経路を発見すると、群れの残りはどこにいても素早くそれに倣うことができる。
粒子群最適化演算は、このような群知能の振舞いを、多次元空間中で、位置と速度を持つ粒子群でモデル化するものである。粒子群最適化演算で定義した粒子は空間を飛びまわり、最善な位置を探すが、ある位置がベストであるか否かはその粒子群の演算モデルの目的に沿って作成した評価関数で行う。群れのメンバーは良い位置について情報交換し、それに基づいて自身の位置と速度を調整する。このコミュニケーションは、例えば、最も良い位置にいる粒子iが全体に通知されることで行われる。
粒子群最適化演算の代表的な演算式を以下の式(1)および(2)に示す。粒子群最適化において、評価される粒子は位置xおよび速度vの情報を持つ。位置xと速度v位置xと速度vの更新は下式(1)、(2)によって行われ、これが繰り返される。記号「←」は代入を示す。
Figure 2018020410
Figure 2018020410
式(2)において、wは慣性定数であり、多くの場合、1より若干小さい値が最適である。また、c1iとc2iは群のうちで良い位置に向かう粒子の割合であり、1に近い値が多くの場合、最適である。r1iとr2iは[0,1](0〜1)の範囲の値をとる乱数である。
なお、本明細書では、数式およびテキストでは、添え字iは粒子iの情報という意味で用いる。ただし、フローチャート図中では、便宜上、上記のようにしてサフィックスではない通常表記を用いている。また、本明細書では、数式中の^(ハット)は、最適化されたデータを示す。例えばx^は、その粒子がこれまでに発見したベストな位置、xg^は群全体としてこれまでに発見したベストな位置に相当する。なお、数式イメージにおいて文字式上に配置されている^(ハット)は、テキストやフローチャート図中では、便宜上、上記のように後置して表記するものとする。さらに、以下では、o^は粒子単体でのこれまでで最も高い評価値、og^を粒子全体でのこれまでで最も高い評価値とし、Nを粒子の数とする。
魚や昆虫などの生物の群の振舞いを解析する場合、上記の「粒子」はこれらの生物の個体の1つに対応づけられる。本実施形態では、粒子群最適化をロボット作業環境のレイアウト生成や評価に利用するため、ロボットアームA、周辺機器(ワーク置き台P1〜P3、ワークWなど)の特定の配置状態(レイアウト)を1つの粒子に対応づける。
即ち、本実施形態では、粒子群最適化における粒子iの位置xは、ロボットアームA(ロボットアーム固定台F)の位置・姿勢、およびワーク置き台P1、P2、P3の位置・姿勢を一つのベクトルで表現したものである。また、速度vはロボットアーム固定台Fの速度、ワーク置き台P1、P2、P3の速度を一つのベクトルで表現したものである。
そして、特定の粒子(特定のレイアウト)の評価は、例えば、ロボットアームAに行わせたい、特定操作(例えばワークWをワーク置き台P1、P2、P3の任意の位置の間で移動させるような操作)の速度ないし所要時間によって行う。当然ながら、この特定の粒子(特定のレイアウト)の評価においては、目的のロボット動作が、逆キネマティクス(逆運動学)的に可能か否か、障害物Oを回避した上で実行可能か、などが考慮される。
図3は、本実施形態によるレイアウト最適化の主要な制御手順を示している。以下に示す制御手順は、演算処理部3、特にその制御主体であるCPU601が本実施形態の制御手順を記述した制御プログラムを実行することにより実現される。この制御プログラムは、ROM602や外部記憶装置604などに格納しておくことができる。
ここで、本実施形態のレイアウト最適化において、ロボットアームAに行わせるロボット動作(特定動作)は次のようなものであるものとする。
例えば図1のような配置において、ロボットアームAは、ワークWを把持し、ワーク置き台P1に固定された教示点T1から、ワーク置き台P2に固定された教示点T2まで、障害物Oとの干渉を避けて移動させる。続いて、ロボットアームAは、ワークWを把持してワーク置き台P2に固定された教示点T2からワーク置き台P3に固定された教示点T3まで障害物Oとの干渉を避けて移動させる。特定の粒子(特定のレイアウト)の評価では、本実施形態では、上記のような特定のロボット動作が逆キネマティクス(逆運動学)的に可能であり、かつ障害物Oを回避した上で実行可能であることを条件とした上、その所要時間(速度)を評価する。
そして、本実施形態のレイアウト最適化では、この特定のロボット動作を行うのに適したレイアウト、即ち最適化されたロボットアームAの固定台F、ワーク置き台P1、P2、P3の位置・姿勢を取得する。
まず、図3のステップS100では、ベースB上の作業空間の3次元形状、ロボットアームA、ロボットアーム固定台F、障害物O、ワークW、ワーク置き台P1、P2、P3の位置・形状情報を取得する。
これらのうち、ロボットアームA、ロボットアーム固定台F、障害物O、ワークW、ワーク置き台P1、P2、P3の形状情報は例えば設計情報であり、例えば3次元CADデータなど(3Dデータ)を用いて設定することができる。これらの事物の形状(設計)情報は、例えばネットワーク610を介して他のサーバなどに記録されているデータを受信することができる。また、これらの事物の形状(設計)情報は、予めカメラ(不図示)で撮影した映像や、各種センサによる計測等で収集したデータを用いて設定してもよい。
次にステップS102では、上記のロボットアームAに行わせる特定動作に対応する教示点、および教示点に基づき軌道を生成する時の補間方法の設定を行う(教示点決定工程)。ロボットアームAの教示点は、教示点決定手段30を用いて、手先の位置・姿勢を入力して決定する。この時、例えば前述のように、作業者が、操作装置22のポインティングデバイスなどによりディスプレイ21に3D表示したロボットアームAで動かして入力する手法が用いる。また、補間方法は、特定の教示点までどのような補間方法で軌道を補間するか指定するものである。例えば、このような補間処理には、関節空間補間、直線補間・円弧補間等が挙げられる。補間処理の選択には、操作部2のディスプレイ21と操作装置22を用いたGUIメニューの選択、あるいはコマンドラインインターフェースなどを利用すればよい。ここでは教示点T1、T2、T3に関節補間で移動すると指定されたものとする。
ステップS104では、ロボットアームAの固定台Fと、周辺装置(周辺設備)、即ちワーク置き台P1、P2、P3の、位置および姿勢の範囲を指定する。例えば、ロボットアームAの固定台Fの位置・姿勢の範囲を指定する場合、タスク空間(ベースB上の作業環境:以下同様とする)上における座標パラメータの上限と下限を指定することが考えられる。ここで、ロボットアームの固定台Fの位置は、例えばタスク空間におけるx、y、zと、各軸廻りの回転量をZYXオイラー角としてα、β、γによって表現する。そして、各座標値およびオイラー角の配置範囲は、各々、次のような最小値〜最大値の範囲に設定する。即ち、これらの範囲は、xmin<x<xmax、ymin<y<ymax、zmin<z<zmax、αmn<α<αmax 、βmn<β<βmax、γmn<γ<γmaxの各下限(mn)〜上限(max)の範囲である。同様に、ワーク置き台P1、P2、P3についても、ベースB上のタスク(作業)空間上における座標パラメータの上限と下限を指定する。
ステップS105では、粒子群最適化における粒子の数N、粒子iのパラメータw、c1i、c2i、r1i、r2iを粒子数分、決定する。これらは作業者が操作部2から入力させるか、予め選択した固定値を用いてもよい。
ステップS106では、ステップS108〜S116のループを制御するループ変数iを1に初期化する。ステップS108〜S116のループでは、i=1〜Nまでループ変数iを変化させ、N個の粒子iにそれぞれ相当するレイアウトを生成する。
ステップS108では、初期レイアウト決定手段32により、粒子の位置xの初期化を行う。ここでは例えば、xはランダムな値で初期化してもよいし、他の条件で最適化した結果を用いるなどをしてもよい。いずれにせよ、ステップS102で指定した配置範囲内の座標値を用いて初期化を行う。
本実施形態1では、レイアウトの評価をロボットアームの動作時間のみで評価を行うため、図4の初期レイアウト生成処理(ステップS108)では、レイアウトに対応する粒子の配置(x:位置)は、次のように生成される。即ち、ロボット設備同士が干渉もせず、教示点において、ロボットアームが逆キネマティクスを解け、ロボットアームの関節角度制限を超えない姿勢をとれ、干渉を回避する経路を生成できるレイアウトで初期化を行う。
ステップS108の初期レイアウト生成処理は図4のような流れで実行される(初期レイアウト決定工程)。図4のステップS200では、粒子iの位置xをランダムに初期化する。即ち、適当なランダム処理演算を用いて、レイアウト、即ちロボットアームA(ロボットアーム固定台F)の位置・姿勢、およびワーク置き台P1、P2、P3の位置・姿勢を表現したベクトル(x)を生成する。
ステップS201以降では、ステップS200の初期化で得られた粒子iの位置xに対応するレイアウトを評価する。
まず、ステップS201では、xのレイアウトにおいて、ロボットアームA、ロボットアームAの固定台F、ワークW、ワーク置き台P1、P2、P3、障害物Oが互いに干渉しているか干渉チェック計算をする。ただし、ロボットアームAがワークWを把持している状態(工程)においては、ロボットアームAとワークWとの干渉チェックは行わないとする。
ステップS202で、ステップS201での干渉チェックでの結果、干渉が起きていた場合は、ステップS200に戻り、他のレイアウト(粒子x)を新たに生成する。
ステップS203では、与えられた手先の教示点T1、T2、T3から、ロボットアームAの逆キネマティクス計算を解く。即ち、ロボットアームAが、手先などの基準部位を教示点T1、T2、T3に移動させた時のロボットアームAの各関節の位置(回転関節ならその回転角度)を計算する逆キネマティクス演算を行う。一般に、ロボットアームAのリンクの長さは固定である。また、各関節には例えば関節可動範囲が定められている。そして、ステップS203の逆キネマティクス演算は、各リンクの寸法の条件を用い、また各関節の可動範囲内で、当該の教示点を実現する各関節の位置を求めるよう実行される。
ステップS204では、ステップS203の逆キネマティクス計算が解けたか否かを判定する。逆キネマティクス計算が解ける、すなわち、当該の教示点を実現するロボットアームAの各関節の位置を取得できている場合にはステップS206へ移行する。もし、計算されたロボットアームAのいずれかの関節の位置(回転関節ならその回転角度)が可動範囲を超えるなどしており、アームがその姿勢を取れない場合は、逆キネマティクス計算が解けなかった、という判断になる。また、逆キネマティクス計算が解けない場合には、ロボットアームAのアームの手先が教示点に届かない場合なども含まれる。この場合にはステップS200に復帰して、他のレイアウト(粒子x)を新たに生成する。
ステップS206では、軌道生成手段34により干渉回避軌道を生成する(軌道生成工程)。指定されている教示点リストから、各周辺機器、障害物Oなどとの干渉を回避可能な干渉回避軌道を生成する。一般にロボット制御では、例えば、RRT(Rapidly−exploring Random Trees)などと呼ばれる回避経路生成技術が知られている。このようなロボットアームが周辺機器や障害物Oとの干渉を避けて、始点と終点を示す教示点の間を補間し、その後に、ロボットアームの移動速度情報を含んだ軌道列に補間し直すことにより干渉回避軌道を生成する。
本実施形態で用いる特定動作では、図1の環境でロボットアームAが、ワークWを持ち、ワーク置き台P1に固定された教示点T1から、ワーク置き台P2に固定された教示点T2まで、障害物Oとの干渉を避けながら移動させる。その後、ロボットアームAが、ワークWを持ち、ワーク置き台P2に固定された教示点T2からワーク置き台P3に固定された教示点T3まで、障害物Oとの干渉を避けながら移動させる。本実施形態では、このような特定動作について動作軌道を生成する。
ステップS208では、ステップS206の干渉回避軌道の生成結果を判定する。例えば、干渉回避軌道を一つでも生成できなかった場合は、ステップS200に復帰して、他のレイアウト(粒子x)を新たに生成する。また、RRTなどの経路探索アルゴリズムで、試行回数が閾値を越えた場合も、干渉回避軌道の生成失敗と判断するようにしてもよい。
ステップS210では、生成した干渉回避軌道に基づき、ロボットアームAに実行させる特定動作の動作時間tを計算する。ここでは、ロボットアームAの関節駆動に関して、関節に組み込まれているモータや減速機(いずれも不図示)の駆動制御値の上限などの条件を用いる。また、例えば振動軽減などの目的で関節の加速度や加加速度の上限値などを用いることができる。
図4のようにして、ランダムに生成した特定のレイアウト(粒子(x))でロボットアームAに実行させる特定動作の動作時間tを計算する。ここでは、干渉がなく、逆キネマティクス演算が可能で、回避軌道が生成できる粒子のみが初期化によって残され、それらのレイアウトにおける特定動作の動作時間tを計算する。
その後、図3のステップS110において、例えば次式(3)のように粒子iのレイアウトの評価値oの計算を行う。
Figure 2018020410
粒子iのレイアウトの評価値oを計算する上記の式(3)では、動作時間tを分母に作用させており、従って、評価値oは特定動作に要する動作時間tが短いほど高い数値になる。
ステップS114では、粒子iのベスト位置x^をxで初期化し、ステップS115ではループ変数iを1だけインクリメントし、ステップS116では、ループ変数iがN未満(ループ続行条件)か判定する。ステップS116においての値がNを超える、即ちステップS108〜S116のループをN回実行するとステップS118に移行する。ステップS118では、粒子全てで最も評価値の高い位置xg^を、i=1〜Nにおいて最も評価値oの高い粒子iの位置xで初期化する。
ステップS120で、最適化の終了条件を満たしているか判定する。終了条件は、例えば、全体で最も評価がこれまでで高かった評価値og^が、予め定めておいた評価値の閾値を超えているかどうかで判定する。ステップS120で終了条件を満たしていない場合は、ステップS122に遷移する。また、ステップS120で終了条件を満たしていたら、ステップS140で最適位置(xg^)に相当するレイアウトを出力し、レイアウト最適化を終了する。
なお、ステップS140における最適レイアウト出力では、操作部2のディスプレイ21の3D表示(3D出力)によって、当該のレイアウトに相当する位置にロボットアームAと周辺機器(ワーク置き台P1〜P3)が配置された状態を出力する。あるいは不図示のプリンタなどを用いて印刷出力により3D出力を行ってもよい。あるいは、最適レイアウトに対応するロボットアームAと周辺機器(ワーク置き台P1〜P3)の各座標値を数値出力(表示/印刷)してもよい。この数値出力は、上記の3D表示中の適当な位置に重畳出力させてもよい。
また、上記のステップS108〜S116のループなどにおいて、ランダム処理によって粒子iに相当するレイアウトを生成する時、同時に当該のレイアウトにおけるロボットアームAと周辺機器(ワーク置き台P1〜P3)の3D出力するようにしてもよい。即ち、初期レイアウト生成やレイアウト更新、軌道生成を実行している時、ロボット作業空間における、ロボットアームAおよび各周辺機器の配置構成の状態や、ロボットアームの位置姿勢をリアルタイムで3D出力(ディスプレイ表示、あるいは印刷)する。このような3D出力によって、作業者にレイアウト最適化処理の様子を確認させることができる。
ステップS120で上記の最適化終了条件を満たしていない場合には、粒子iの位置(x)を更新しつつ、位置および評価値の最適値(x^、o^)を更新するループ(S122〜S133)を実行する。まず、ステップS122ではループ変数iを1に初期化する。
ステップS124では、xを式(1)および(2)に従い更新する。即ち、式(2)により、粒子iの速度vの値を更新し、その値に基づき、粒子iの位置xを新しい位置xに更新する。これにより、粒子iに対応するレイアウトが、そのレイアウトを出発点として変更された新しいレイアウトに更新される。そして、ステップS126において、この更新されたレイアウトにおいて、ステップS110と同様に粒子iの評価値oの計算を行う。
ステップS128では、それまでのベストの評価値であるo^と、ステップS126で計算したoを比較し、oの方が高かったら、ステップS130において、x^にxを、o^にoを代入する。即ち、新しく更新されたレイアウトで評価値oが高かった場合は、x^、即ち粒子iの位置(x)の最適値x^をxにより更新し、評価値の最適値o^をoで更新する。
ステップS132では、ループ変数iを1だけインクリメントし、ステップS133ではループ変数iがN以下(ループ続行条件)かを判定し、N以下ならステップS124に戻り、上記の処理を繰り返し、がNを超えていたらステップS134に進む。
上記のループ(S124〜133)が終了すると、ステップS134では、下式(4)のように当該のループで得られたoの中の最大値をogに代入する。
Figure 2018020410
即ち、この演算操作は、oが最大となる粒子iの位置xで、xgを更新する。
ステップS136では、og^とogの比較し、ogがog^を超えていたら、ステップS138で、xg^をxgにog^をogに更新し、ステップS120に復帰する。ステップS120で上記の終了条件が満たされていれば、上記のようにしてステップS140で最適レイアウトを出力する。
以上のように、本実施形態によれば、ロボットアームAの特定動作(所定の工程)に適したロボットアームA(の固定台F)および周辺装置(ワーク置き台P1、P2、P3…)のレイアウトおよび動作を効率よく、高速に計算することができる。また、本実施形態のレイアウト最適化処理によって設定された最適なレイアウトで配置したロボットアームおよび周辺装置を有するロボットシステムによって効率よく高速に各種工業製品などの部品を製造することができる。その場合、教示点決定手段(30)によって、実際のワークW(部品)の組立作業に相当する教示点列を設定して、上述のレイアウト最適化処理を実行する。これにより、特定のワークW(部品)の組立作業に最適なレイアウトを決定することができ、ロボットアームAに当該の組立作業を効率よく実行させることができる。
なお、本実施形態においては、ロボットアームA(の固定台F)および周辺装置(ワーク置き台P1、P2、P3…)のレイアウト生成や最適化のための更新にメタヒューリスティクス演算、特に、群知能の一つである粒子群最適化を利用する例を示した。しかしながら、ロボット作業環境のレイアウトを最適化する手法は粒子群最適化に限定されるものではなく、例えば蟻コロニー最適化、カッコウ探索などとして知られている他の最適化演算手法を利用してもよい。その場合には、本実施形態と同様に、各最適化演算手法における評価対象のエージェント(蟻、カッコウなど)の表現にロボットアームA(の固定台F)および周辺装置(ワーク置き台P1、P2、P3…)の位置姿勢を対応づければ良い。
その場合、当該の最適化演算手法によって、ロボットアームA(の固定台F)および周辺装置(ワーク置き台P1、P2、P3…)のレイアウトを初期化し、あるいはそれを出発点として更新しつつ、評価値を求める。そして、得られたベストな評価値に相当するレイアウトを出力し設定する。その場合、本実施形態では、評価値としては、ロボットアームの動作速度ないし所要時間を用いる。
なお、本実施形態1で示した実例はいずれも例示に過ぎず、それらによって本発明の特許請求の範囲が限定されるものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれるのはいうまでもない。
<実施形態2>
本実施形態2では、上記実施形態1とはレイアウトの評価の方法を変更している。実施形態1では、初期レイアウトを生成する時、周辺機器(ワーク置き台P1〜P3)や障害物OとロボットアームAが干渉をせず、教示点での逆キネマティクスも解け、干渉回避軌道生成にも成功するレイアウトのみを残し、それを評価している。
これに対して、本実施形態2では、初期レイアウトを生成する際には、ランダムに粒子の位置の初期化を行うだけで、干渉をするか、教示点での逆キネマティクスを解けるか、また、干渉回避軌道生成にも成功するかのチェックを行わない。
また、実施形態1では、粒子の位置の初期化でロボットアームAが干渉しないこと、教示点での逆キネマティクスが解けることを条件としているため、逆にレイアウトの評価を行う時はロボットアームの動作時間のみを評価している。これに対して、本実施形態2では、レイアウト評価の段階で、干渉をする場合、教示点での逆キネマティクスを解けない場合、干渉回避軌道生成に失敗する場合には、評価値を与える。その場合、干渉をする場合、教示点での逆キネマティクスを解けない場合、干渉回避軌道生成に失敗する場合には、低い評価値を与えるように制御する。
また、本実施形態2では、評価値を取り扱うために「評価指標」を用いる。本実施形態2でいう評価指標とは、評価を行う種類に相当し、さらに、その他の評価指標との優先順位の意味を有する。本実施形態2では、pを粒子()単体での評価指標の優先順位、p^を粒子単体でのこれまでで最も高い評価を得た際の評価指標の優先順位、また、pg^を粒子全体でのそれまでの処理で最も高い評価における評価指標の優先順位とする。
本実施形態2では、レイアウト最適化装置100や演算処理部3の構成は上記実施形態1と同様であるものとし、上記実施形態1と異なるレイアウト最適化を行う制御手順につき説明する。
図5は、本実施形態2によるレイアウト最適化を行う制御手順全体の流れを示している。
ここで、本実施形態2のレイアウト最適化において、ロボットアームAに行わせるロボット動作(特定動作)は次のようなものであるものとする。即ち、図1のような配置において、ロボットアームAは、ワークWを把持し、ワーク置き台P1に固定された教示点T1から、ワーク置き台P2に固定された教示点T2まで、障害物Oとの干渉を避けて移動させる。続いて、ロボットアームAは、ワークWを把持してワーク置き台P2に固定された教示点T2からワーク置き台P3に固定された教示点T3まで障害物Oとの干渉を避けて移動させる。
そして、本実施形態2のレイアウト最適化では、この特定のロボット動作を行うのに適したレイアウト、即ち最適化されたロボットアームAの固定台F、ワーク置き台P1、P2、P3の位置・姿勢を取得する。
まず、図5のステップS300では、ベースB上の作業空間の3次元形状、ロボットアームA、ロボットアーム固定台F、障害物O、ワークW、ワーク置き台P1、P2、P3の位置・形状情報を取得する。これらの形状情報の取得については、実施形態1(図3ステップS100)と同様の手法を利用すればよい。
次にステップS302では、上記のロボットアームAに行わせる特定動作に対応する教示点および、補間方法の設定を行う。この教示点および、補間方法の設定についても、実施形態1(図3ステップS102)と同様の手法を用いることができる。ここでは教示点T1、T2、T3に関節補間で移動すると指定されたものとする。
ステップS304では、ロボットアームAの固定台Fと、周辺装置(周辺設備)、即ちワーク置き台P1、P2、P3の位置および姿勢の範囲を指定する。例えば、ロボットアームの固定台Fの位置・姿勢の範囲を指定する場合、タスク空間上における座標パラメータの上限と下限を指定することが考えられる。ここで、ロボットアームの固定台Fの位置は、例えばタスク空間におけるx、y、zと、各軸廻りの回転量をZYXオイラー角としてα、β、γによって表現する。そして、各座標値およびオイラー角の配置範囲は、各々、次のような最小値〜最大値の範囲に設定する。即ち、これらの範囲は、xmin<x<xmax、ymin<y<ymax、zmin<z<zmax、αmn<α<αmax 、βmn<β<βmax、γmn<γ<γmaxの各下限(mn)〜上限(max)の範囲である。同様に、ワーク置き台P1、P2、P3についても、ベースB上のタスク(作業)空間上における座標パラメータの上限と下限を指定する。
ステップS306で、粒子群最適化における粒子の数N、粒子iのパラメータw、c1i、c2i、r1i、r2iを粒子数分、決定する。これらは作業者が操作部2から入力させるか、予め選択した固定値を用いてもよい。
ステップS308では、ステップS310〜S320のループ処理の実行回数を制御するためのループ変数iを1に初期化する。ステップS310〜S320のループでは、i=1〜Nまでループ変数iを変化させ、N個の粒子iにそれぞれ相当するレイアウトを生成する。
ステップS310で、初期レイアウト決定手段32により、粒子の位置xの初期化を行う。この初期化処理は、例えば図4のステップS200と同様で、粒子iの位置xをランダムに初期化する(初期レイアウト決定工程)。即ち、適当なランダム処理演算を用いて、レイアウト、即ちロボットアームA(ロボットアーム固定台F)の位置・姿勢、およびワーク置き台P1、P2、P3の位置・姿勢を表現したベクトル(x)を生成する。ステップS710では、上記のようにランダム演算によって粒子群を初期化してもよいし、他の条件で最適化した結果を用いるなどをしてもよい。いずれにせよ、ステップS304で指定した配置範囲内の座標値を用いて初期化を行う。
ステップS312では、生成した粒子iに相当するレイアウトを評価する。このレイアウト評価は図6のような流れで実行される。
まず、図6のステップS500では、粒子iの位置xに相当する配置において、ロボットアームA、ロボットアームAの固定台F、ワークW、ワーク置き台P1、P2、P3、障害物Oなどが互いに干渉しているか干渉チェック計算をする。
ステップS501では、ステップS500で行った干渉チェックの結果を判定する。上記の各部(アームと、周辺機器や障害物Oとのいずれか)の干渉が起きている場合は、ステップS502に移行する。また、干渉が生じていない場合にはステップS507に進む。
干渉が生じている場合、ステップS502では、その干渉量として、干渉した物体同士の中で最もめり込み量が高い最大めり込み量dを計算する。この(最大)めり込み量は、例えば上記の各部に相当する物体形状を表現したポリゴンやワイヤフレーム輪郭どうしがめり込んでいる距離などに相当する物理量で表現する。
ステップS504で、ステップS502で計算しためり込み量に応じて評価値oを計算する。評価値oは、めり込み量が多いほど評価値が低く、めり込み量が少ないほど評価値が高くなるように生成する。例えば、次式(5)のように評価値oを計算する。ここでは0割を避けるため分母に1を足している。
Figure 2018020410
ステップS506では、粒子iの評価指標pに0を代入する。前記のように、評価指標とは、評価を行う種類に相当し、さらに、その他の評価指標との優先順位の意味がある。干渉した場合の評価指標pは0(優先順位が最も低い)とする。
ステップS507では、ロボットアームAの手先の位置・姿勢に関する全ての教示点T1、T2、T3においてロボットアームAの逆キネマティクス計算を行う。
ステップS508で、ステップS507で全ての教示点T1、T2、T3において逆キネマティクス計算によって全ての関節位置(角度)を生成できたか否かを判定する。ここで一つでも逆キネマティクス計算が失敗していた場合は、ステップS510に遷移する。逆キネマティクス演算が全て成功している場合はステップS516に移行する。なお、逆キネマティクス(逆運動学)計算が不可能になる原因は、実施形態1で説明したのと同様である。例えば、教示点をワーク置き台の上部にロボットアームの手先位置が来るように設定していた場合、ワーク置き台がロボットアームと離れすぎていた場合、教示点にアームの手先が届かなくなり、逆キネマティクスが解けなくなる。
ステップS508で、一つでも逆キネマティクス計算が失敗していた場合には、ステップS510で逆キネマティクスが解けた回数nkをカウントする。たとえば、T1の姿勢だけで逆キネマティクスが解け、T2、T3の姿勢では逆キネマティクスが解けなかった(1つの教示点で成功、他の2つで失敗)場合には、nk=1とする。本実施形態2では、nkの値が大きい(高い)ほど評価値が高いとする。
ステップS512で、ステップS512で計算したnkから、評価値を計算する。以下のように評価値oを計算する。
Figure 2018020410
ステップS514では、評価指標pに1を代入する。
図6のステップS516では、軌道生成手段34により干渉回避軌道を生成する(軌道生成工程)。ここでは前述の実施形態1と同様に、RRTなどの回避経路生成技術を用いて、ロボットアームAが周辺機器周辺機器(ワーク置き台P1〜P3)や障害物Oとの干渉を避けて、始点と終点を示す教示点の間を補間する。そして、その後、ロボットアームの移動速度情報を含んだ軌道列に補間し直し、軌道を出力する。
前記のように、本実施形態2において、ロボットアームAに行わせる特定動作は次のようなものである。即ち、図1の環境でロボットアームAは、ワークWを持ち、ワーク置き台P1に固定された教示点T1から、ワーク置き台P2に固定された教示点T2まで、障害物Oとの干渉を避けて移動させる。続いて、ワークWを持ち、ワーク置き台P2に固定された教示点T2からワーク置き台P3に固定された教示点T3まで、障害物Oとの干渉を避けて移動させるという動作である。
ステップS518では、ステップS516の干渉回避軌道の生成に全て成功したか否かを判定する。ここで回避軌道の生成に失敗する例としては、RRTなどの経路探索アルゴリズムで試行回数が閾値を越えた場合などが考えられる。
ステップS520では、ステップS518で干渉回避軌道生成に失敗したと判定した場合の処理として、軌道生成に成功した回数npを計算する。ここで、例えば、T1から、ワーク置き台P2に固定された教示点T2まで、障害物Oとの干渉を避けて移動させる動作は軌道生成ができたとする。しかし、その後、ロボットアームAが、ワークWを持ち、ワーク置き台P2に固定された教示点T2からワーク置き台P3に固定された教示点T3まで、障害物Oとの干渉を避けて移動させるという軌道は生成できなかった場合、評価値npはnp=1とする。
ステップS522では、ステップS520で計算したnpから評価値を決定する。軌道生成ができた回数が多いほうが評価値が高くなるよう、次式(7)のように評価値oを計算する。
Figure 2018020410
ステップS524では、評価指標pに2を代入する。この評価指標pの優先順位「2」は本実施形態2では最も高い優先順位である。ただし、この優先順位の設定はあくまでも一例であり、ロボットシステムの用途や行わせる特定動作によって上記の例と異なっていてもよい。また、操作部2のメニューダイアログなどによって、評価指標pの優先順位の割り当てを変更できるようなユーザーインターフェースを設けておくことも考えられる。このようなユーザーインターフェースは、例えば、上記の「障害物や周辺機器との干渉」、「逆キネマティクス演算の成否」、「(回避)軌道生成の成否」などに割り当てる評価指標pの優先順位を作業者が任意に設定できるよう構成しておく。
ステップS526では、ステップS516で計算した干渉回避軌道から、ロボットアームAの動作時間tを算出する。
ステップS528では、ステップS526で計算したロボットアームの動作時間tから、評価値を計算する。例えば、動作時間が短ければ評価値が高くなるよう、次式(8)のようにロボットアームAの動作時間tの逆数を評価値とする。ただし0割を防ぐため分母には定数1を足している。
Figure 2018020410
図6のステップS312でレイアウト評価を終了すると、図5のステップS314において、x^、o^、p^をそれぞれx、o、pで初期化する。
ステップS316では、xg^、og^、pg^を更新する。この更新の処理手順は図7に示してある。
図7のステップS600では、粒子全体での最大評価指標pg^とpが一致するかを判定する。ここで、pg^とpが一致した場合にはステップS602に移行し、一致しない場合にはステップS608に移行する。
ステップS602では、粒子群全体での最大評価値og^と粒子単体での評価値oの大小を比較し、oの方が大きかったらS604に移行し、この条件が成立しなかった場合には更新処理を終了する。
続いて、ステップS604ではog^にoを代入し、ステップS606ではxg^にxを代入する。
一方、ステップS608では、pg^とpを比較し、pが大きかったらステップS610に遷移し、そうでなかったら更新処理を終了する。
ステップS610ではpg^にpを代入し、ステップS612ではog^にoを代入する。ま、ステップS614ではxg^にxを代入する。
以上のようにして、xg^、xo^、xp^の更新処理(図7、図5のステップS316)を終了すると、図5のステップS318において、ループ変数iに1だけインクリメントする。そして、ステップS320でがN以下か判定し、N以下なら(まだN個の初期レイアウトを全て処理していないため)ステップS310に復帰する。
ステップS322では、最適化の終了条件を満たしているか判定する。ここで判断する終了条件は、例えば、全体で最も評価がこれまでで高かった評価値pg^が評価値の閾値を超えているかどうかで判定する。このような終了条件を満たしていたらステップS340でxg^を出力しレイアウト最適化を終了する。この出力処理には、上述の実施形態1で説明したのと同様の手法を用いることができる。
初めてステップS322に到達した時は、終了条件が成立しておらず、ステップS324以降のレイアウト評価処理が実行される。
レイアウト評価処理では、まず、ステップS324においてループ変数iを1に初期化する。ステップS326では、粒子iの位置xを例えば式(1)、(2)に従い更新する。
ステップS328では、ステップS312と同様に粒子iの評価値oおよびpの計算を行う。また、ステップS332で、x^、o^、p^を図7のレイアウト評価処理(ステップS316)によって更新する。ただし、ステップS332では、図7のxg^、og^、pg^を、それぞれx^、o^、p^に置き換えた処理を行うものとする。
ステップS333では、ループ変数iを1だけインクリメントし、ステップS334で、iがN以下か判定し、N以下なら(まだN個のレイアウトを全て処理していないため)、ステップS322に戻り、上記の処理を繰り返す。
ステップS338では、図7のレイアウト評価処理(ステップS316)によって、ステップS316同様にxg^、og^、pg^を更新する。
以上のように、本実施形態によれば、ロボットアームAの特定動作(所定の工程)に適したロボットアームA(の固定台F)および周辺装置(ワーク置き台P1、P2、P3…)のレイアウトおよび動作を効率よく、高速に計算することができる。
なお、本実施形態2では、実施形態1とはレイアウトの評価の方法を変更しており、レイアウトの評価を行う際に、干渉をする場合、教示点での逆キネマティクスを解けない場合、干渉回避軌道生成に失敗する場合にも、評価値を与えている。そして、レイアウト評価(図5S322〜S334)においては、これらの評価値を作用させてレイアウトに相当する粒子iを更新しつつ、粒子群最適化により最適化を行うため、より効率的に良好なレイアウトを設定することができる。
なお、実施形態1と同様、本実施形態2においても、レイアウト評価(最適化)に用いた粒子群最適化処理は、他のメタヒューリスティクス演算、特に、群知能処理に変更することができる。また、本実施形態2においても、以上に示した実例はいずれも例示に過ぎず、それらによって本発明の特許請求の範囲が限定されるものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれるのはいうまでもない。
<実施形態3>
本実施形態3は、干渉が起こるレイアウト、ロボットアームAの逆キネマティクス計算が計算できないレイアウト、干渉回避軌道が生成できないレイアウトの扱いが上記の実施形態1および2とは異なる。
実施形態1および2では、レイアウトの評価を行う際に、最適化計算を1回で終わらせていたが、本実施形態3では、まず、互いに干渉せずに、ロボットアームAの逆キネマティクス計算ができた教示点数を評価値として、レイアウトの最適化計算を行う。計算過程で、干渉せずに、逆キネマティクス計算が全ての教示点でできるレイアウトが一つでも生成できたら、再度、粒子群最適化の粒子の初期化を行い、最適化計算を繰り返す。最適化計算を繰り返すことで、粒子数分、干渉せず、また逆キネマティクス計算が全ての教示点で成立するレイアウトを生成することができる。その後、動作時間および、干渉回避軌道が生成できるかどうかの評価に基づきレイアウト最適化を行い、良好なレイアウトを生成する。
図8は、実施形態1の図3、実施形態2の図5に相当するもので、本実施形態3によるレイアウト最適化の制御手順を示している。本実施形態3のレイアウト最適化方法においても、ロボットアームAに行わせるロボット動作(特定動作)は次のようなものであるものとする。即ち、図1の環境でロボットアームAが、ワークWを持ち、ワーク置き台P1に固定された教示点T1から、ワーク置き台P2に固定された教示点T2まで、障害物Oとの干渉を避けて移動させる。その後、ロボットアームAが、ワークWを持ち、ワーク置き台P2に固定された教示点T2からワーク置き台P3に固定された教示点T3まで、障害物Oとの干渉を避けて移動させる。
そして、本実施形態3のレイアウト最適化では、この特定のロボット動作を行うのに適したレイアウト、即ち最適化されたロボットアームAの固定台F、ワーク置き台P1、P2、P3の位置・姿勢を取得する。
まず、図8のステップS700では、ベースB上の作業空間の3次元形状、ロボットアームA、ロボットアーム固定台F、障害物O、ワークW、ワーク置き台P1、P2、P3の位置・形状情報を取得する。これらの形状情報の取得については、実施形態1(図3ステップS100)、あるいは実施形態2(図5ステップS300)と同様の手法を利用すればよい。
次にステップS702では、上記のロボットアームAに行わせる特定動作に対応する教示点および、補間方法の設定を行う。この教示点および、補間方法の設定についても、実施形態1(図3ステップS102)、あるいは実施形態2(図5ステップS302)と同様の手法を用いることができる。ここでは教示点T1、T2、T3に関節補間で移動すると指定されたとする。
ステップS704では、ロボットアームAの固定台Fと、周辺装置(周辺設備)、即ちワーク置き台P1、P2、P3の位置および姿勢の範囲を指定する。例えば、ロボットアームの固定台Fの位置・姿勢の範囲を指定する場合、タスク空間上における座標パラメータの上限と下限を指定することが考えられる。本実施形態においても、ここで、ロボットアームの固定台Fの位置は、例えばタスク空間におけるx、y、zと、各軸廻りの回転量をZYXオイラー角としてα、β、γによって表現する。そして、各座標値およびオイラー角の配置範囲は、各々、次のような最小値〜最大値の範囲に設定する。即ち、これらの範囲は、xmin<x<xmax、ymin<y<ymax、zmin<z<zmax、αmn<α<αmax 、βmn<β<βmax、γmn<γ<γmaxの各下限(mn)〜上限(max)の範囲である。ステップS704では、この範囲内でロボットアームAの固定台Fと、周辺装置(周辺設備)、即ちワーク置き台P1、P2、P3の位置および姿勢の範囲を指定する。同様に、ワーク置き台P1、P2、P3についても、ベースB上のタスク(作業)空間上における座標パラメータの上限と下限を指定する。
ステップS705では、粒子群最適化における粒子の数N、粒子iのパラメータw、c1i、c2i、r1i、r2iを粒子数分、決定する。これらは作業者が操作部2から入力させるか、予め選択した固定値を用いてもよい。
続いて、ステップS706ではループ変数jを、ステップS708ではループ変数iを、それぞれ1で初期化する。これループ変数jはステップS708〜S740のループ処理の実行回数を、また、ループ変数iはステップS710〜S718のループ処理の実行回数をそれぞれ制御するために用いられる。
ステップS710では、初期レイアウト決定手段32により、粒子の位置xの初期化を行う(初期レイアウト決定工程)。この初期化処理は、例えば、図4のステップS200と同様で、粒子iの位置xを初期化する。適当なランダム処理演算を用いて、レイアウト、即ちロボットアームA(ロボットアーム固定台F)の位置・姿勢、およびワーク置き台P1、P2、P3の位置・姿勢を表現したベクトル(x)を生成する。ステップS710では、上記のようにランダム演算によって粒子群を初期化してもよいし、他の条件で最適化した結果を用いるなどをしてもよい。いずれにせよ、ステップS704で指定した配置範囲内の座標値を用いて初期化を行う。
ステップS712では、生成した粒子iに相当するレイアウトを評価する。このレイアウト評価は図10のような流れで実行される。
図10のステップS800では、粒子iの位置xに相当する配置において、ロボットアームA、ロボットアームAの固定台F、ワークW、ワーク置き台P1、P2、P3、障害物Oが互いに干渉しているか干渉チェック計算をする。
ステップS801では、ステップS800で行った干渉チェックの結果を判定する。上記の各部(アームと、周辺機器や障害物Oとのいずれか)の干渉が起きている場合は、ステップS802に進む。干渉が生じていない場合にはステップS804に進む。
干渉が生じている場合、ステップS802では、干渉していた場合の評価値としてoに0を代入し、レイアウト評価を終了する。
一方、ステップS804では、特定動作に対応するロボットアームAの手先の位置・姿勢に関する全ての教示点T1、T2、T3においてロボットアームAの逆キネマティクス計算を行い、逆キネマティクスが解けた回数nkをカウントする。例えば、教示点T1の姿勢だけで逆キネマティクスが解け、T2、T3の姿勢では逆キネマティクスが解けなかった場合にはnk=1とする(1回だけ成功)。この逆キネマティクス(逆運動学)演算に関する評価値nkは大きい(高い)ほど評価が高くなるよう生成される。
ステップS806では、ステップS804で計算した評価値nkから、次式(9)のようにして評価値oを計算し、レイアウト評価処理を終了する。
Figure 2018020410
図10のレイアウト評価(図8ステップS712)を終了すると、図8のステップS716において、x^、o^をそれぞれx、oで初期化する。
ステップS717では、ループ変数iに1だけインクリメントし、ステップS718で、がN以下か判定する。ここでがN以下(N個の粒子の評価を終了していない)なら、ステップS710に復帰し、上記の処理を繰り返す。
ステップS720では、xg^、og^を初期化する。この初期化の手順としては、評価値oが最も高い粒子を計算し、その粒子のx、oをxg^、og^、pg^に代入する。
ステップS722で、粒子群に対応するレイアウトの中で、互いに干渉せずに、教示点全てで逆キネマティクス計算ができるレイアウトがあるかを判定する。この判定には、図10のステップS806、S810で生成した評価値oの値を用いることができる。ここで、もしそのような利用可能なレイアウトがあった場合はステップS738に移行し、なかった場合はステップS723に移行する。
ステップS723では、粒子iの位置・適応度更新を行う。このステップS723の粒子iの位置・適応度更新の流れは図9に示してある。
まず、図9のステップSA00では、ループ変数iを1に初期化する。なお、このループ変数iは、スタック上などに割り当てられたローカル変数であって、図8のとは独立して操作可能であるものとする。
ステップSA02では、xを式(1)、(2)に従い更新する。ステップSA04では、ステップS712と同様に粒子iの評価値oの計算を行う。
続いてステップSA06では、評価値o^と評価値oを比較し、oの方が高かったら、ステップSA08へ、そうでなければステップSA12に移行する。
ステップSA08では、ベストな粒子の位置x^に位置xを、また、評価値o^にoを代入する。
ステップSA10ではループ変数iを1だけインクリメントし、ステップSA12でiがN以下か(N個の粒子を全て処理したか)を判定し、N以下なら、ステップSA02に戻り、上記の処理を繰り返す。
ステップSA14では、まず、xg、ogの計算を行う。ここでは、次式(10)のようにi個中の評価値oの中の最大値をogに代入する。
Figure 2018020410
また、oが最大となる粒子iの位置xでxgを更新する。
ステップSA16では、og^とogの比較を行い、ogがog^を超えていたら、ステップSA18で、xg^をxgに、og^をogの値でそれぞれ更新し、図9の位置・適応度更新(図8ステップS723)を終了する。
続いて、図8のステップS738において、互いに干渉せずに、逆キネマティクス計算が全ての教示点で解ける粒子を保存粒子jとして選択し、粒子バッファに格納する。
ステップS739では、ループ変数jに1だけインクリメントし、ステップS740で、jがN以下か判定し、N以下なら、ステップS708に復帰し、上記の処理を繰り返す。もしjがNに達している場合には、ステップS742に移行する。
ステップS742では、粒子バッファにある保存粒子j(j=1〜N)で、粒子i(i=1〜N)の位置x、評価値oを初期化する。
ステップS744では、最適化の終了条件を満たしているか判定する。この終了条件は、例えば、全体で最も評価がこれまでで高かった評価値og^が評価値の閾値を超えているかどうかで判定する。この終了条件を満たしていたら、ステップS764で最適化された粒子の位置xg^に相当するレイアウトを出力し、レイアウト最適化を終了する。ステップS764の出力処理には、上述の実施形態1で説明したのと同様の手法を用いることができる。
一方、最適化の終了条件が満たされていない場合には、ステップS746で図11に示すような処理手順により、レイアウトの評価を行う。
ステップS900では、軌道生成手段34により干渉回避軌道を生成する。ここでは前述の実施形態1と同様に、RRTなどの回避経路生成技術を用いて、ロボットアームAが周辺機器周辺機器(ワーク置き台P1〜P3)や障害物Oとの干渉を避けて、始点と終点を示す教示点の間を補間する。そして、その後、ロボットアームの移動速度情報を含んだ軌道列に補間し直し、軌道を出力する。
前記のように、本実施形態3において、ロボットアームAに行わせる特定動作は次のようなものである。即ち、図1の環境でロボットアームAは、ワークWを持ち、ワーク置き台P1に固定された教示点T1から、ワーク置き台P2に固定された教示点T2まで、障害物Oとの干渉を避けて移動させる。続いて、ロボットアームAが、ワークWを持ち、ワーク置き台P2に固定された教示点T2からワーク置き台P3に固定された教示点T3まで、障害物Oとの干渉を避けて移動させるという動作である。
ステップS902で、ステップS900の干渉回避軌道の生成に全て成功したか否かを判定する。ここで回避軌道の生成に失敗する例としては、RRTなどの経路探索アルゴリズムで試行回数が閾値を越えた場合などが考えられる。
ステップS902で干渉回避軌道生成に失敗したと判定した場合は、ステップS904において軌道生成に成功した回数npを計算する。たとえば、T1から、ワーク置き台P2に固定された教示点T2まで、障害物Oとの干渉を避けて移動させる動作は軌道生成ができたとする。しかしながら、その後、ロボットアームAが、ワークWを持ち、ワーク置き台P2に固定された教示点T2からワーク置き台P3に固定された教示点T3まで、障害物Oとの干渉を避けて移動させる軌道を生成できなかった場合は、np=1とする。
ステップS906で、ステップS904で計算したnpから評価値を決定する。軌道生成ができた回数が多いほうが評価値が高いと判定し、次式(11)のように評価値oを計算する。ただし、ここでは0割を防ぐため分母には定数1を加算している。
Figure 2018020410
なお、ここで評価値oをマイナスにしているのは、動作時間での評価をプラスで行い、軌道生成に成功した回数での評価はマイナスで行うことにより、次元の違う評価を一つのスカラーである評価値で連続して行うためである。ステップS906で評価値oを生成したら、図11のレイアウトの評価処理を終了する。
一方、ステップS902で全ての干渉回避軌道を生成できている場合には、ステップS908において、ステップS902で計算した干渉回避軌道からロボットアームの動作時間tを算出する。続いて、ステップS910では、ステップS908で計算したロボットアームの動作時間tから評価値oを生成する。ここでは動作時間が短ければ評価値が高くなるよう、例えば次式(12)のような処理によって、ロボットアームの動作時間の逆数を評価値として生成する。ただし、ここでも0割を防ぐため分母には定数1を加算している。
Figure 2018020410
ステップS910が終了すると、図11(図8のステップS746)のレイアウトの評価処理を終了し、ステップS744に再度遷移して、各粒子評価値(適応度)oを更新し直した粒子群について、終了条件の判定を行う。
以上のように、本実施形態によれば、ロボットアームAの特定動作(所定の工程)に適したロボットアームA(の固定台F)および周辺装置(ワーク置き台P1、P2、P3…)のレイアウトおよび動作を効率よく、高速に計算することができる。
なお、本実施形態3では、実施形態1および2とは、干渉が起こるレイアウト、ロボットアームAの逆キネマティクス計算が計算できないレイアウト、干渉回避軌道が生成できないレイアウトの扱いにおいて異なる。まず、互いに干渉せずに、ロボットアームAの逆キネマティクス計算ができた教示点数を評価値として、レイアウトの最適化計算を行う。そして、逆キネマティクス計算が可能なレイアウトのみを対象として、動作時間および干渉回避軌道が生成できるかどうかの評価を行い、レイアウト最適化を行い、良好なレイアウトを生成するようにしており、最適化計算を2回に分けている。このような最適化処理を構成することによって、複数の評価指標での最適化計算を分離することができ、最適化演算を効率的に実行することができる。
なお、実施形態1と同様、本実施形態2においても、レイアウト評価(最適化)に用いた粒子群最適化処理は、他のメタヒューリスティクス演算、特に、群知能処理に変更することができる。また、本実施形態2においても、以上に示した実例はいずれも例示に過ぎず、それらによって本発明の特許請求の範囲が限定されるものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれるのはいうまでもない。
本発明は、上述の実施例の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
A…ロボットアーム、B…ベース、F…ロボットアーム固定台、O…障害物、P…ワーク置き台、W…ワーク、2…操作部、3…演算処理部、4…記憶部、100…レイアウト最適化装置。

Claims (14)

  1. ロボットアームと、周辺機器と、を含むロボット作業空間に前記ロボットアームおよび前記周辺機器を配置するレイアウトを設定するレイアウト設定方法において、
    制御装置が、前記ロボット作業空間において前記ロボットアームが前記周辺機器にアクセスする特定動作に対応し、前記ロボットアームの基準部位を通過させる教示点を決定する教示点決定工程と、
    前記制御装置が、前記ロボットアームおよび前記周辺機器の初期レイアウトを決定する初期レイアウト決定工程と、
    前記制御装置が、前記教示点に基づき前記ロボットアームの軌道を生成する軌道生成工程と、
    前記制御装置が、メタヒューリスティクス演算を用いて、前記初期レイアウトを出発点として、前記ロボットアームまたは前記周辺機器の配置を移動させてレイアウトを更新するレイアウト更新工程と、
    前記制御装置が、前記初期レイアウト、または、前記レイアウト更新工程で更新されたレイアウトに対応する前記ロボットアームおよび前記周辺機器の配置構成において、前記特定動作に対する適応度に関する評価値を用いて当該のレイアウトを評価し、前記特定動作に適したレイアウトを決定するレイアウト設定工程と、
    を備えたレイアウト設定方法。
  2. 請求項1に記載のレイアウト設定方法において、前記制御装置が、レイアウト更新工程において行う前記メタヒューリスティクス演算が、粒子群最適化演算であるレイアウト設定方法。
  3. 請求項2に記載のレイアウト設定方法において、前記制御装置が、レイアウト更新工程において、前記粒子群最適化演算において、前記作業空間において前記ロボットアーム、および前記周辺機器が前記粒子群最適化演算における粒子に対応づけられ、この粒子の前記ロボットアーム、および前記周辺機器の位置姿勢に相当する位置、および速度を変化させる粒子群最適化演算を行うことにより、新たなレイアウトを生成するレイアウト設定方法。
  4. 請求項1から3のいずれか1項に記載のレイアウト設定方法において、前記制御装置は、前記レイアウト設定工程において、前記軌道生成工程で生成した軌道で前記ロボットアームが動作する動作時間を前記特定動作に対する適応度に関する評価値として用いて当該のレイアウトを設定するレイアウト設定方法。
  5. 請求項1から4のいずれか1項に記載のレイアウト設定方法において、前記制御装置は、前記軌道生成工程において、前記ロボットアームが、軌道生成に係わる動作でアクセスする対象の周辺機器とは異なる他の周辺機器に対して、または、前記ロボット作業空間に含まれる障害物に対して、干渉するのを回避可能な軌道生成を行うレイアウト設定方法。
  6. 請求項5に記載のレイアウト設定方法において、前記制御装置は、前記レイアウト設定工程において、前記ロボットアームと、前記他の周辺機器または前記障害物と、の干渉量を前記特定動作に対する適応度に関する評価値として用いて当該のレイアウトを設定するレイアウト設定方法。
  7. 請求項5に記載のレイアウト設定方法において、前記制御装置は、前記レイアウト設定工程において、前記軌道生成工程で、前記ロボットアームと、前記他の周辺機器または前記障害物と、の干渉を回避可能な軌道を生成できた回数を前記特定動作に対する適応度に関する評価値として用いて当該のレイアウトを設定するレイアウト設定方法。
  8. 請求項5に記載のレイアウト設定方法において、前記制御装置は、前記レイアウト設定工程において、前記教示点決定工程によって決定された各々の教示点に関して、前記ロボットアームの逆キネマティクス演算が成立した教示点の数を前記特定動作に対する適応度に関する評価値として用いて当該のレイアウトを設定するレイアウト設定方法。
  9. 請求項1から8のいずれか1項に記載の各工程を前記制御装置に実行させる制御プログラム。
  10. 請求項9に記載の制御プログラムを格納したコンピュータ読み取り可能な記録媒体。
  11. 請求項1から8のいずれか1項に記載の前記ロボットアーム、前記周辺機器、および前記ロボット作業空間の3Dデータに基づき、前記初期レイアウト、または、前記レイアウト更新工程で更新されたレイアウトにおける前記ロボット作業空間における前記ロボットアーム、前記周辺機器の配置構成を3D出力する3D出力装置を備えたレイアウト設定装置。
  12. 請求項11に記載のレイアウト設定装置において、前記3D出力装置で操作者に前記ロボット作業空間における前記ロボットアームおよび前記周辺機器の配置構成の状態を確認させつつ、前記操作者に前記初期レイアウトを作成させるか、または、前記初期レイアウト、または前記レイアウト更新工程で更新されたレイアウトを修正させるユーザーインターフェースを備えたレイアウト設定装置。
  13. 請求項11または12に記載のレイアウト設定装置において、前記制御装置が、前記レイアウト更新工程、または、前記軌道生成工程を実行している時、前記ロボット作業空間における、前記ロボットアームおよび前記周辺機器の配置構成の状態、または、前記ロボットアームの位置姿勢を前記3D出力装置によって、リアルタイムで3D出力するレイアウト設定装置。
  14. 請求項1から8のいずれか1項に記載のレイアウト設定方法を用いて配置されたロボットアームによって部品を製造する部品の製造方法。
JP2016153890A 2016-08-04 2016-08-04 レイアウト設定方法、制御プログラム、記録媒体、制御装置、部品の製造方法、ロボットシステム、ロボット制御装置、情報処理方法、情報処理装置 Active JP7009051B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016153890A JP7009051B2 (ja) 2016-08-04 2016-08-04 レイアウト設定方法、制御プログラム、記録媒体、制御装置、部品の製造方法、ロボットシステム、ロボット制御装置、情報処理方法、情報処理装置
US15/657,684 US20180036882A1 (en) 2016-08-04 2017-07-24 Layout setting method and layout setting apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016153890A JP7009051B2 (ja) 2016-08-04 2016-08-04 レイアウト設定方法、制御プログラム、記録媒体、制御装置、部品の製造方法、ロボットシステム、ロボット制御装置、情報処理方法、情報処理装置

Publications (3)

Publication Number Publication Date
JP2018020410A true JP2018020410A (ja) 2018-02-08
JP2018020410A5 JP2018020410A5 (ja) 2019-09-12
JP7009051B2 JP7009051B2 (ja) 2022-01-25

Family

ID=61071266

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016153890A Active JP7009051B2 (ja) 2016-08-04 2016-08-04 レイアウト設定方法、制御プログラム、記録媒体、制御装置、部品の製造方法、ロボットシステム、ロボット制御装置、情報処理方法、情報処理装置

Country Status (2)

Country Link
US (1) US20180036882A1 (ja)
JP (1) JP7009051B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109086491A (zh) * 2018-07-09 2018-12-25 华南理工大学 一种基于混合粒子群算法的多维方向选择装配优化方法
JP2020011328A (ja) * 2018-07-17 2020-01-23 ファナック株式会社 自動経路生成装置
JP2021084174A (ja) * 2019-11-27 2021-06-03 株式会社安川電機 シミュレーションシステム、シミュレーション方法、シミュレーションプログラム、ロボットの製造方法、およびロボットシステム
JP2021171873A (ja) * 2020-04-24 2021-11-01 コニカミノルタ株式会社 シミュレーション装置
JP2022109752A (ja) * 2021-01-15 2022-07-28 株式会社安川電機 処理システム及び処理方法
WO2022185759A1 (ja) 2021-03-03 2022-09-09 オムロン株式会社 ロボットセルシステム設計装置、方法、及びプログラム
JP7275413B1 (ja) * 2022-07-28 2023-05-17 三菱電機株式会社 リスクアセスメント支援装置、リスクアセスメント支援プログラムおよびリスクアセスメント支援方法
JP7497019B2 (ja) 2020-05-28 2024-06-10 東京都公立大学法人 ロボットおよびロボット制御プログラム
WO2025013784A1 (ja) * 2023-07-07 2025-01-16 京セラ株式会社 処理装置、プログラム、表示装置及び処理システム
WO2025115859A1 (ja) * 2023-11-28 2025-06-05 京セラ株式会社 情報処理装置、情報処理システム及びプログラム

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10455222B2 (en) * 2017-03-30 2019-10-22 Intel Corporation Technologies for autonomous three-dimensional modeling
CN110869174B (zh) * 2017-07-10 2023-12-05 海别得公司 用于生成材料处理机器人工具路径的计算机实现的方法和系统
JP6568169B2 (ja) * 2017-09-12 2019-08-28 ファナック株式会社 溶接ロボットプログラミング装置および溶接ロボットのプログラミング方法
US20190122140A1 (en) * 2017-10-20 2019-04-25 STATGRAF Research LLP. Data analysis and rendering
US11141855B2 (en) * 2018-01-15 2021-10-12 Canon Kabushiki Kaisha Robot system, method of controlling robot arm, recording medium, and method of manufacturing an article
US11458626B2 (en) 2018-02-05 2022-10-04 Canon Kabushiki Kaisha Trajectory generating method, and trajectory generating apparatus
JP6816068B2 (ja) 2018-07-06 2021-01-20 ファナック株式会社 ロボットプログラム生成装置
CN109658563A (zh) * 2018-12-12 2019-04-19 广州小楠科技有限公司 一种有效的智能门禁系统
DE102019102803B4 (de) * 2019-02-05 2022-02-17 Franka Emika Gmbh Ausrichten zweier Roboterarme zueinander
DE102020104356A1 (de) * 2020-02-19 2021-08-19 Franka Emika Gmbh Aufstellort eines Robotermanipulators
FR3108183B1 (fr) * 2020-03-13 2022-02-25 Orano Ds Demantelement Et Services Procédé de réalisation automatique d’une opération sur un objet avec un outil porté par un système polyarticulé
US11644847B2 (en) 2020-10-05 2023-05-09 Ford Global Technologies, Llc Method and system for rearranging assets for mobile robots
JP2022070451A (ja) * 2020-10-27 2022-05-13 セイコーエプソン株式会社 ロボットのパラメーターセットの調整を支援する方法、プログラム、および情報処理装置
CN112621754A (zh) * 2020-12-11 2021-04-09 中国科学院沈阳计算技术研究所有限公司 一种多机器人协同的装配线安全布局的设计方法
JP7435434B2 (ja) 2020-12-22 2024-02-21 株式会社デンソー レイアウト生成装置、レイアウト生成方法およびレイアウト生成プログラム
CN116834013A (zh) * 2023-07-27 2023-10-03 浙江理工大学 一种基于示教学习的双臂机器人布局优化方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001249961A (ja) * 1999-11-24 2001-09-14 Dassault Systemes アセンブリワークセルをレイアウトするための最適化ツール
JP2008052749A (ja) * 2007-10-04 2008-03-06 Seiko Epson Corp 作業対象物の配置決定方法、作業対象物の配置決定支援装置、作業対象物の配置決定支援プログラム及びロボットシステム
JP2009274180A (ja) * 2008-05-15 2009-11-26 Kawasaki Heavy Ind Ltd ロボット動作計画方法及び装置
US20100241248A1 (en) * 2008-02-20 2010-09-23 Abb Research Ltd. Method and system for optimizing the layout of a robot work cell
JP2010211726A (ja) * 2009-03-12 2010-09-24 Fanuc Ltd シミュレーション方法
JP2012181574A (ja) * 2011-02-28 2012-09-20 Bridgestone Corp 干渉チェック装置及びプログラム
JP2015160277A (ja) * 2014-02-27 2015-09-07 ファナック株式会社 ロボットの動作経路を生成するロボットシミュレーション装置
US20160034613A1 (en) * 2014-07-31 2016-02-04 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by using optimal robotic joint configurations
CN105676642A (zh) * 2016-02-26 2016-06-15 同济大学 一种六自由度机器人工位布局与运动时间协同优化方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060250401A1 (en) * 2005-05-06 2006-11-09 Patrick Pannese Systems and methods for generating 3D simulations
US9390203B2 (en) * 2004-06-15 2016-07-12 Abb Ab Method and system for off-line programming of multiple interacting robots
US8571745B2 (en) * 2008-04-10 2013-10-29 Robert Todd Pack Advanced behavior engine
EP2266077A1 (en) * 2008-04-02 2010-12-29 iRobot Corporation Robotics systems
US8315738B2 (en) * 2008-05-21 2012-11-20 Fanuc Robotics America, Inc. Multi-arm robot system interference check via three dimensional automatic zones
JP4730440B2 (ja) * 2009-01-01 2011-07-20 ソニー株式会社 軌道計画装置及び軌道計画方法、並びにコンピューター・プログラム
FR2954518B1 (fr) * 2009-12-18 2012-03-23 Aripa Service Innovation Ind " systeme anticollision pour le deplacement d'un objet dans un environnement encombre."
US20110153080A1 (en) * 2009-12-22 2011-06-23 Siemens Product Lifecycle Management Software Inc. Method and apparatus for industrial robotic pathscycle time optimization using fly by
US9649765B2 (en) * 2013-03-11 2017-05-16 Siemens Aktiengesellschaft Reducing energy consumption of industrial robots by using new methods for motion path programming
US9424615B2 (en) * 2014-04-08 2016-08-23 Championship Analytics, Inc. In-game football strategy system and method
JP6350037B2 (ja) * 2014-06-30 2018-07-04 株式会社安川電機 ロボットシミュレータおよびロボットシミュレータのファイル生成方法
US9272417B2 (en) * 2014-07-16 2016-03-01 Google Inc. Real-time determination of object metrics for trajectory planning
US9469029B2 (en) * 2014-07-31 2016-10-18 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by optimal ordering of the industrial robotic path
US10754328B2 (en) * 2014-09-05 2020-08-25 Accenture Global Solutions Limited Self-adaptive device intelligence as a service enterprise infrastructure for sensor-rich environments
JP6497953B2 (ja) * 2015-02-03 2019-04-10 キヤノン株式会社 オフライン教示装置、オフライン教示方法及びロボットシステム
US10296675B2 (en) * 2015-12-30 2019-05-21 Abb Schweiz Ag System and method for determining dynamic motion data in robot trajectory
US20190160677A1 (en) * 2016-06-21 2019-05-30 Abb Schweiz Ag Method Of Building A Geometric Representation Over A Working Space Of A Robot

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001249961A (ja) * 1999-11-24 2001-09-14 Dassault Systemes アセンブリワークセルをレイアウトするための最適化ツール
JP2008052749A (ja) * 2007-10-04 2008-03-06 Seiko Epson Corp 作業対象物の配置決定方法、作業対象物の配置決定支援装置、作業対象物の配置決定支援プログラム及びロボットシステム
US20100241248A1 (en) * 2008-02-20 2010-09-23 Abb Research Ltd. Method and system for optimizing the layout of a robot work cell
JP2009274180A (ja) * 2008-05-15 2009-11-26 Kawasaki Heavy Ind Ltd ロボット動作計画方法及び装置
JP2010211726A (ja) * 2009-03-12 2010-09-24 Fanuc Ltd シミュレーション方法
JP2012181574A (ja) * 2011-02-28 2012-09-20 Bridgestone Corp 干渉チェック装置及びプログラム
JP2015160277A (ja) * 2014-02-27 2015-09-07 ファナック株式会社 ロボットの動作経路を生成するロボットシミュレーション装置
US20160034613A1 (en) * 2014-07-31 2016-02-04 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by using optimal robotic joint configurations
CN105676642A (zh) * 2016-02-26 2016-06-15 同济大学 一种六自由度机器人工位布局与运动时间协同优化方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109086491B (zh) * 2018-07-09 2023-02-14 华南理工大学 一种基于混合粒子群算法的多维方向选择装配优化方法
CN109086491A (zh) * 2018-07-09 2018-12-25 华南理工大学 一种基于混合粒子群算法的多维方向选择装配优化方法
JP2020011328A (ja) * 2018-07-17 2020-01-23 ファナック株式会社 自動経路生成装置
US11433537B2 (en) 2018-07-17 2022-09-06 Fanuc Corporation Automatic path generation device
JP2021084174A (ja) * 2019-11-27 2021-06-03 株式会社安川電機 シミュレーションシステム、シミュレーション方法、シミュレーションプログラム、ロボットの製造方法、およびロボットシステム
WO2021106492A1 (ja) * 2019-11-27 2021-06-03 株式会社安川電機 シミュレーションシステム、シミュレーション方法、シミュレーションプログラム、ロボットの製造方法、およびロボットシステム
US12042940B2 (en) 2019-11-27 2024-07-23 Kabushiki Kaisha Yaskawa Denki Interference check for robot operation
JP7456263B2 (ja) 2020-04-24 2024-03-27 コニカミノルタ株式会社 シミュレーション装置
JP2021171873A (ja) * 2020-04-24 2021-11-01 コニカミノルタ株式会社 シミュレーション装置
JP7497019B2 (ja) 2020-05-28 2024-06-10 東京都公立大学法人 ロボットおよびロボット制御プログラム
JP2022109752A (ja) * 2021-01-15 2022-07-28 株式会社安川電機 処理システム及び処理方法
JP7621123B2 (ja) 2021-01-15 2025-01-24 株式会社安川電機 処理システム及び処理方法
JP2022134604A (ja) * 2021-03-03 2022-09-15 オムロン株式会社 ロボットセルシステム設計装置、方法、及びプログラム
WO2022185759A1 (ja) 2021-03-03 2022-09-09 オムロン株式会社 ロボットセルシステム設計装置、方法、及びプログラム
JP7275413B1 (ja) * 2022-07-28 2023-05-17 三菱電機株式会社 リスクアセスメント支援装置、リスクアセスメント支援プログラムおよびリスクアセスメント支援方法
WO2024024026A1 (ja) * 2022-07-28 2024-02-01 三菱電機株式会社 リスクアセスメント支援装置、リスクアセスメント支援プログラムおよびリスクアセスメント支援方法
WO2025013784A1 (ja) * 2023-07-07 2025-01-16 京セラ株式会社 処理装置、プログラム、表示装置及び処理システム
WO2025115859A1 (ja) * 2023-11-28 2025-06-05 京セラ株式会社 情報処理装置、情報処理システム及びプログラム

Also Published As

Publication number Publication date
JP7009051B2 (ja) 2022-01-25
US20180036882A1 (en) 2018-02-08

Similar Documents

Publication Publication Date Title
JP7009051B2 (ja) レイアウト設定方法、制御プログラム、記録媒体、制御装置、部品の製造方法、ロボットシステム、ロボット制御装置、情報処理方法、情報処理装置
JP6137155B2 (ja) 干渉回避方法、制御装置及びプログラム
JP7635442B2 (ja) 情報処理方法、情報処理装置、プログラム、記録媒体、生産システム、ロボットシステム、物品の製造方法
US11458626B2 (en) Trajectory generating method, and trajectory generating apparatus
JP6576255B2 (ja) ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
CN111538949A (zh) 冗余机器人逆运动学求解方法、装置和冗余机器人
JP5173958B2 (ja) 移動体姿勢生成方法および移動体姿勢生成装置
JP7571622B2 (ja) ロボットセルシステム設計装置、方法、及びプログラム
JP2015066668A (ja) ロボットの教示点調整方法、ロボットの設置位置算出方法、ロボットシステム、プログラム及び記録媒体
US11886174B2 (en) Virtualized cable modeling for manufacturing resource simulation
CN115890670A (zh) 基于强化深度学习训练七自由度冗余机械臂运动轨迹的方法
JP2021169149A (ja) 分解ベースのアセンブリ計画
JP2019193975A (ja) ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
CN116690557A (zh) 基于点云的仿人三维扫描运动控制方法及装置
Wojtynek et al. Assisted planning and setup of collaborative robot applications in modular production systems
US11921492B2 (en) Transfer between tasks in different domains
JP2017131990A (ja) 干渉回避方法
KR102281119B1 (ko) 강화학습을 이용한 7축 로봇 제어 방법
KR101858108B1 (ko) 로봇을 위한 동작 시뮬레이션 장치 및 방법
US20240261969A1 (en) Optimization assistance device
Chao et al. Motion Planning and Simulation of Multiple Welding Robots Based on Genetic Algorithm
Wang et al. Reinforcement Learning based End-to-End Control of Bimanual Robotic Coordination
JP2022135939A (ja) 情報処理装置、ロボットシステム、物品の製造方法、情報処理方法、プログラム、及び記録媒体
CN119336011A (zh) 基于人类技能的路径生成
CN119498950A (zh) 机器人位置确定方法、装置和手术机器人系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190801

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190801

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

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210610

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220112

R151 Written notification of patent or utility model registration

Ref document number: 7009051

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151