JP6874712B2 - シミュレーション装置、シミュレーション方法及びシミュレーションプログラム - Google Patents

シミュレーション装置、シミュレーション方法及びシミュレーションプログラム Download PDF

Info

Publication number
JP6874712B2
JP6874712B2 JP2018026700A JP2018026700A JP6874712B2 JP 6874712 B2 JP6874712 B2 JP 6874712B2 JP 2018026700 A JP2018026700 A JP 2018026700A JP 2018026700 A JP2018026700 A JP 2018026700A JP 6874712 B2 JP6874712 B2 JP 6874712B2
Authority
JP
Japan
Prior art keywords
work
simulation
acceleration
execution condition
threshold value
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.)
Active
Application number
JP2018026700A
Other languages
English (en)
Other versions
JP2019141939A (ja
Inventor
慎一郎 白堀
慎一郎 白堀
征久 唐子
征久 唐子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Priority to JP2018026700A priority Critical patent/JP6874712B2/ja
Priority to CN201810902428.3A priority patent/CN110174875A/zh
Priority to US16/110,249 priority patent/US20190255705A1/en
Priority to EP18190432.7A priority patent/EP3527334A1/en
Publication of JP2019141939A publication Critical patent/JP2019141939A/ja
Application granted granted Critical
Publication of JP6874712B2 publication Critical patent/JP6874712B2/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/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
    • 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/1638Programme controls characterised by the control loop compensation for arm bending/inertia, pay load weight/inertia
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
    • G05B19/4163Adaptive control of feed or cutting velocity
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36521Select by combination of detected force, acceleration, speed, work rate
    • 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/39106Conveyor, pick up article, object from conveyor, bring to test unit, place it
    • 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/40053Pick 3-D object from pile of objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、シミュレーション装置、シミュレーション方法及びシミュレーションプログラムに関する。
工場の製造ラインなどにおいて、部品や製品等のワークを搬送する装置の一つとしてピックアンドプレース装置がある。ピックアンドプレース装置は、例えば、吸着パッドなど、ワークを吸着することによって保持する保持体を備え、所定の場所でワークを吸着して保持し、保持した状態でワークを搬送し、目的の場所で吸着を解除してワークを載置する。
ピックアンドプレース装置の最適な実行条件を決定するために、ワークモデル及びハンドリングロボットのモデルを用いたシミュレーション装置が提案されている(例えば、特許文献1参照)。
特許文献1に記載の技術によれば、ハンドリングロボットの動作速度及びワークモデルの質量からワークモデルにかかる振動加速度を算出し、振動加速度に基づいて、装置の動作条件を決定可能とする。
特開平7−256578号公報
しかしながら、特許文献1に記載の技術では、シミュレーションにおいてワークモデルにかかる振動を確認できるものの、どれだけ振動すればハンドリングロボットによる保持が失敗し、ワークが落下するかを確認できない。
本発明は、上記の点に鑑みてなされたものであり、ワークの落下を考慮してシミュレーションが実行できるシミュレーション装置、シミュレーション方法及びシミュレーションプログラムを提供することを目的とする。
本発明に係るシミュレーション装置は、ワーク、ワークを保持した弾性を有する保持体、及び保持体が取り付けられたロボットアームの各モデルを含むシミュレーションモデルを動作指令に基づいて加速度運動させるシミュレーションを実行した際、ロボットアームの加速度とワークの加速度との差により保持体に発生する負荷モーメントを導出する導出部と、導出部で導出した負荷モーメントが閾値より大きい場合に、導出部で導出される負荷モーメントが閾値以下となるように、シミュレーションの実行条件を変更するための処理を行なう実行条件変更部と、を含む。
負荷モーメントは、ワークに生じるモーメントから、慣性力により発生するモーメントを差し引いて導出され得る。
慣性力により発生するモーメントは、加速度運動が水平運動の場合、水平方向に作用する水平慣性力によるモーメントであり、加速度運動が水平方向に対して傾斜した運動の場合、水平方向に作用する水平慣性力によるモーメントと鉛直方向に作用する鉛直慣性力によるモーメントとの和であり得る。
実行条件が最大加速度の場合、実行条件変更部は、導出部で導出した負荷モーメントが閾値より大きい場合に、最大加速度を減少するための処理を行ない得る。
実行条件が最大加速度の場合、実行条件変更部は、導出部で導出した負荷モーメントが閾値以下の場合に、最大加速度を増加するための処理を行ない得る。
実行条件変更部は、実行条件を変更するための処理が繰り返された場合、導出部で導出した負荷モーメントが閾値以下でかつ閾値に最も近くなる実行条件を、最終的な実行条件として提示し得る。
導出部で導出した負荷モーメントが閾値より大きい場合に、ワークの保持体による保持が解除される、すなわち、ワークが保持体から落下すると判定する判定部を更に含み得る。
実行条件変更部は、ロボットアームの搬送経路においてロボットアームに対する動作指令に基づいて分けられる複数の区間のうち、判定部によりワークが落下すると判定されたタイミングを含む区間について、シミュレーションの実行条件を変更するか、又は実行条件を変更するために必要な提示を行ない得る。
閾値は、シミュレーションモデルに相当するロボットアームを備えた実機を実行条件を変更して繰り返し動作させたときに、ワークの保持体による保持が解除されなかった実行条件で発生する負荷モーメントのうちの最大値として設定され得る。
上記のシミュレーション装置においては、実行条件に従うシミュレーションの結果を表示する表示部をさらに有する。
本発明に係るシミュレーション方法は、ワーク、ワークを保持した弾性を有する保持体、及び保持体が取り付けられたロボットアームの各モデルを含むシミュレーションモデルを動作指令に基づいて加速度運動させるシミュレーションを実行した際、ロボットアームの加速度とワークの加速度との差により保持体に発生する負荷モーメントを導出する導出工程と、導出工程で導出した負荷モーメントが閾値より大きい場合に、導出工程で導出される負荷モーメントが閾値以下となるように、シミュレーションの実行条件を変更するための処理を行なう実行条件変更工程と、を含む。
本発明に係るシミュレーションプログラムによれば、ワーク、ワークを保持した弾性を有する保持体、及び保持体が取り付けられたロボットアームの各モデルを含むシミュレーションモデルを動作指令に基づいて加速度運動させるシミュレーションを実行した際、ロボットアームの加速度とワークの加速度との差により保持体に発生する負荷モーメントを導出する導出工程と、導出工程で導出した負荷モーメントが閾値より大きい場合に、導出工程で導出される負荷モーメントが閾値以下となるように、シミュレーションの実行条件を変更するための処理を行なう実行条件変更工程と、をコンピュータに実行させる。
本発明によれば、負荷モーメントが閾値より大きい場合に、閾値以下となるようにシミュレーションの実行条件を変更するための処理を行なう。負荷モーメントが閾値以下になればワークの落下を回避できるため、ワークの落下を考慮したシミュレーションを提供できる。
第1実施形態に係るシミュレーション装置のハードウェア構成を示すブロック図である。 シミュレーション装置の機能構成の例を示すブロック図である。 ロボットが動作する座標位置の例を示す図である。 モーションプログラムの例を示す図である。 モーションパラメータの例を示す図である。 ワークの吸着の成否の様子を示す図である。 ワークにかかる下向きの力を示す図である。 ロボットアームとワークの加速度の差を示す図である。 ワークの回転運動を示す図である。 ロボットアーム、保持体及びワークを含む物理モデルの例を示す図である。 シミュレーション装置のCPUにより実行される動作の流れを示すフローチャートである。 鉛直運動の最大加速度(実行条件)の変更処理の流れを示すフローチャートである。 水平運動の最大加速度(実行条件)の変更処理の流れを示すフローチャートである。 加速時間を変更した場合の速度及び加速度の変化を示す図である。 第2実施形態に係るシミュレーション装置のCPUにより実行される動作の流れを示すフローチャートである。 ワークにかかる力を示す図である。
以下、本発明の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
(第1実施形態)
図1は、第1実施形態に係るシミュレーション装置のハードウェア構成を示すブロック図である。
本実施形態のシミュレーション装置10は、対象となる装置、装置が扱うワーク及び障害物などをシミュレーションモデルとして、シミュレーションモデルの挙動を予測及び設計する。シミュレーションモデルとしては、例えば、装置等に働く物理現象を数式で表現した物理モデル、又は実機の計測データからシステム同定あるいは機械学習などにより得られた動的モデルがある。
本実施形態では、シミュレーションの対象となる装置は、ロボットアームを備えたロボットである。ロボットアームの先端には弾性を有する保持体が取り付けられ、ロボットは、保持体によりワークをピックアップして、搬送し、目的地にワークを載置する、いわゆるピックアンドプレース装置である。本実施形態では、特に、保持体が吸着パッドであり、ロボットアームがワークを吸着搬送する場合について説明する。
図1に示すように、シミュレーション装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、モニタ16、光ディスク駆動装置17及び通信インタフェース18を有する。各構成は、バス19を介して相互に通信可能に接続されている。
本実施形態では、ROM12又はストレージ14には、シミュレーションを実行するシミュレーションプログラムが格納されている。CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記録されているプログラムにしたがって、上記各構成の制御及び各種の演算処理を行う。
ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
入力部15は、キーボード151、及びマウス152等のポインティングデバイスを含み、各種の入力を行うために使用される。モニタ16は、例えば、液晶ディスプレイであり、ワークの吸着の成否等の各種の情報を表示する。モニタ16は、タッチパネル方式を採用して、入力部15として機能してもよい。光ディスク駆動装置17は、各種の記録媒体(CD−ROM又はブルーレイディスクなど)に記憶されたデータの読み込みや、記録媒体に対するデータの書き込み等を行う。
通信インタフェース18は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI又はWi−Fi(登録商標)等の規格が用いられる。
次に、シミュレーション装置の機能構成について説明する。
図2は、シミュレーション装置の機能構成の例を示すブロック図である。図3は、ロボットが動作する座標位置の例を示す図、図4は、モーションプログラムの例を示す図、図5は、モーションパラメータの例を示す図である。図6は、ワークの吸着の成否の様子を示す図である。
図2に示すように、シミュレーション装置10は、機能構成として、モーションプログラム編集部101、モーションパラメータ編集部102、モーション指令値計算部103、ダイナミクス計算部104、負荷導出部105、落下判定部106、3D表示部107及び実行条件変更部108を有する。各機能構成は、CPU11がROM12又はストレージ14に記憶されたシミュレーションプログラムを読み出し、RAM13に展開して実行することにより実現される。
モーションプログラム編集部101は、シミュレーションにおけるロボットの所望の動作をユーザから受け付けたり、動作の編集を受け付けたりする。ユーザは、モニタ16を参照しつつ、入力部15によりモーションプログラムを入力又は編集できる。なお、モーションプログラム編集部101は、装置及び障害物の配置情報から、装置の動作モーションプログラムを自動的に生成するモーションプランニング部として機能してもよい。
モーションプログラム編集部101では、例えば、図3に示すような動作をロボットアームに実行させるために、図4に示すモーションプログラムが設定される。図3に示す動作の例では、位置p0からロボットアームの移動が開始し、位置p1及び位置p2を経て、位置p3にロボットアームが到達する動作を示す。位置p0は、xyz座標系において座標(0,0,0)、すなわち原点を表す。位置p1は、座標(0,0,30)であり、位置p0からz方向(高さ方向)に座標で定義される単位で30だけ移動した位置である。位置p2は、座標(50,0,30)であり、位置p1からさらに、x方向に50進んだ位置である。位置p3は、座標(50,0,0)であり、位置p2からさらに、−z方向に30進んだ位置である。このように、図3に示す動作は、ロボットアームが原点から上昇する鉛直運動と、高さを維持した水平運動と、下降する鉛直運動とによる3つの運動が連続する動作である。
このような動作のための命令は、モーションプログラムとして、例えば図4に示すようにモーションプログラム編集部101に入力される。図4に示すモーションプログラムは、行番号の昇順に命令を実行させるための三行の動作指令を含む。ピックアンドプレース装置の場合、ピックアップ及びプレースの動作もモーションプログラムに含まれ得る。ロボットの移動だけでなく、ワークの保持(吸着)及び解放等の動作についても、モーションプログラムにより命令される。
モーションパラメータ編集部102は、モーションプログラムにより命令される動作のパラメータの編集をユーザから受け付ける。ユーザは、モニタ16を参照しつつ、入力部15によりモーションパラメータを入力又は編集できる。モーションパラメータは、例えば、図5に示すように、各命令による動作における最大速度及び最大加速度を決める。最大速度及び最大加速度は、ロボットに予め設定されている基準速度及び基準加速度に対する割合として設定され得る。基準速度に対する割合としての入力を受け付けることにより、ユーザがロボットの常識的な動作速度を知らずに、機能的又は構造的に無理のある動作速度が入力されることを抑止できる。あるいは、モーションパラメータ編集部102は、割合に代えて、速度及び加速度の物理量の数値を受け付けてもよい。なお、本明細書では、「加速度」は、加速する際の加速度(正の値)、及び減速する際の減速度(負の値)の両方の概念を含む用語として使用する。したがって、図5の最大加速度のパラメータは、加速の際の最大加速度だけでなく、減速の際の最大減速度も含む。ただし、最大加速度と最大減速度のパラメータが同じ値として一律に設定される必要はなく、それぞれ個別に設定されてもよい。
モーション指令値計算部103は、シミュレーションの開始が指示されると、モーションプログラム編集部101で得られたモーションプログラムのうち最初の動作のための命令を読み込む。次に、モーション指令値計算部103は、モーションパラメータ編集部102で得られたモーションパラメータのうち、命令に対応するモーションパラメータを読み込む。そして、モーション指令値計算部103は、読み込んだ命令とモーションパラメータから、シミュレーションで用いる動作指令値を順次計算し、出力する。同様に、モーション指令値計算部103は、後続の命令と対応するモーションパラメータとを順に読み込み、動作指令値を出力する。
ダイナミクス計算部104は、モーション指令値計算部103から出力された動作指令値と、ロボットの三次元CADデータと、ワーク、吸着パッド(保持体)及びロボットアームの各々を表すモデルを含むシミュレーションモデルとを読み込む。ダイナミクス計算部104は、読み込んだ動作指令値、CADデータ及びシミュレーションモデルから、ダイナミクス(動力学)を考慮したシミュレーションモデルの動作に関わる各種データを計算し、出力する。ロボットの三次元CADデータ及びシミュレーションモデルは、ストレージ14に予め格納されていてもよいし、光ディスク駆動装置17から読み込まれて取得されてもよいし、あるいは、通信インタフェース18を介して外部機器から取得されてもよい。なお、上記では三次元CADデータを用いる点を例示しているが、三次元CADデータを用いなくても、シミュレーションは実行可能である。例えば、二次元CADデータ、ロボットの寸法データ、又はロボットの設計データ等を用いてシミュレーションを実行してもよい。
負荷導出部105は、ダイナミクス計算部104により計算されたシミュレーションモデルの各種データから、シミュレーションモデルが鉛直運動する際にワークにかかる下向きの力を導出する。また、ダイナミクス計算部104により計算されたシミュレーションモデルの各種データから、シミュレーションモデルが水平運動する際のロボットアームの加速度とワークの加速度との差に応じて吸着パッドに作用するモーメントを導出する。本明細書では、吸着パッドに発生するモーメントを、負荷モーメントという。負荷導出部105は、シミュレーションモデルの動作から下向きの力及び負荷モーメントを計算してもよく、また、予め登録されているテーブルから導出してもよい。負荷導出部105は、シミュレーション中、シミュレーションモデルの動作に従い変化する負荷モーメントを繰り返し導出する。下向きの力及び負荷モーメントの詳細は、後述する。
落下判定部106は、負荷導出部105により導出した下向きの力及び負荷モーメントに基づいて、ワークが吸着パッドから落下するか否かを判定する。落下判定部106は、シミュレーションモデルが鉛直運動する際には、下向きの力が閾値(以下、閾値Tvと呼ぶ)より大きいか否かによりワークの落下を判定する。また、落下判定部106は、シミュレーションモデルが水平運動する際には、負荷モーメントが閾値(以下、閾値Thと呼ぶ)より大きいか否かによりワークの落下を判断する。なお、水平運動においてもワークには重力がかかるが、閾値Thは、重力に加えてどの程度の大きさの負荷モーメントが発生すればワークが落下するかという観点から定めた値である。
閾値Tv及び閾値Thは、いずれもワークの落下を考慮して設定される値である。例えば、閾値Tvは、シミュレーションモデルに相当するロボットの実機を動作させたときに、ワークが落下しなかった実行条件で発生する下向きの力として設定され得る。好ましくは、閾値Tvは、シミュレーションモデルに相当するロボットの実機を実行条件を変更して繰り返し動作させたときに、ワークが落下しなかった実行条件で発生する下向きの力のうちの最大値として設定される。同様に、閾値Thは、シミュレーションモデルに相当するロボットの実機を動作させたときに、ワークが落下しなかった実行条件で発生する負荷モーメントとして設定され得る。好ましくは、閾値Thは、シミュレーションモデルに相当するロボットの実機を実行条件を変更して繰り返し動作させたときに、ワークが落下しなかった実行条件で発生する負荷モーメントのうちの最大値として設定される。なお、閾値Tvおよび閾値Thは、必ずしも実機を動作させることにより設定されなくても良い。ワーク毎の閾値を前もって蓄積したデータベースを参照し、運びたいワークと類似しているワークの鉛直運動の際の閾値及び水平運動の際の閾値を、閾値Tv及び閾値Thとして設定しても良い。
3D表示部107は、ダイナミクス計算部104により計算されたシミュレーションモデルの動作を、モニタ16に表示する。3D表示部107は、例えば、ロボットがワークを搬送する様子を経時的に三次元で示す動画をモニタ16に表示させる。表示は、三次元に限定されず、二次元あるいは数値であってもよい。落下判定部106によりワークが落下しないと判定される場合(ワークの吸着が成功した場合)、3D表示部107は、例えば、図6の上図に示すような表示をモニタ16に表示する。一方、落下判定部106によりワークが落下すると判定される場合(ワークの吸着が失敗した場合)、3D表示部107は、例えば、図6の下図に示すような表示をモニタ16に表示する。
実行条件変更部108は、シミュレーションの実行条件を変更するための処理を行なう。シミュレーションの実行条件を変更するための処理としては、シミュレーションの実行条件を自動的に変更するか、又は実行条件を変更するために必要な提示をユーザに対して行なう処理が存在する。実行条件変更部108は、例えば、3D表示部107によるシミュレーション結果の表示後、実行条件を変更するか否かをユーザから受け付ける。この場合、実行条件変更部108は、実行条件の変更の要否を入力するように要求するメッセージをモニタ16に表示し、入力をユーザに促す。あるいは、実行条件変更部108は、落下判定部106による判定結果に従いワークが落下する場合、すなわち、負荷モーメントが閾値Thより大きいか下向きの力が閾値Tvより大きい場合に、自動的に実行条件を変更してもよい。あるいは、実行条件変更部108は、落下判定部106による判定結果に従いワークが落下する場合に、実行条件を変更するようにユーザに促してもよい。
次に、下向きの力及び負荷モーメントについて、詳細に説明する。
図7は、ワークにかかる下向きの力を示す図、図8は、ロボットアームとワークの加速度の差を示す図、図9はワークの回転運動を示す図、図10は、ロボットアーム、保持体及びワークを含む物理モデルの例を示す図である。
図7〜図10に示すように、第1実施形態のシミュレーションモデルは、ワーク、ワークを吸着した吸着パッド、及び先端に吸着パッドが取り付けられたロボットアームの各々を表すモデルで構成されている。図10に示すように、シミュレーションモデルでは、ワーク及びロボットアームは剛体とし、吸着パッドは、質量mpad、回転減衰係数Cpad、及び回転弾性係数Kpadの弾性体とした。
まず、下向きの力について説明する。ロボットアームRが鉛直方向上方及び下方に加速度運動する際、ワークWに作用する下向きの力は、重力と慣性力との和である。すなわち、図7に示すように、ロボットアームRが鉛直方向に加速度aにより加速度運動する場合、シミュレーションモデルに含まれるワークWの重心には、重力m×gと、慣性力m×aとの和の力がかかる。ここで、mは、ワークWの質量、gは重力加速度、aはワークWの加速度である。重力m×gと慣性力m×aとの和である下向きの力が閾値Tv以下の場合、ワークWは落下せず、閾値Tvよりも大きい場合にワークWは落下すると判定する。閾値Tvは、シミュレーションモデルに相当するロボットの実機を実行条件を変更して繰り返し動作させたときに、ワークが落下しなかった実行条件で発生する下向きの力のうちの最大値として設定される。
次に、負荷モーメントについて説明する。図8に示すように、ロボットアームRが動作指令に基づいて水平方向に加速度aにより加速度運動する場合について説明する。ここで、ロボットアームRとワークWとの間には、弾性を有する吸着パッドPが介在している。このため、加速度運動時に吸着パッドPが変形し、ワークWは、吸着パッドPに想定される回転軸を回転中心として、図9に示すように回転し、ワークW及びロボットアームR間に加速度の差が生じる。ここで、ワークの加速度をaで表し、回転中心からワークWの重心までの距離を記号L1で表し、回転中心からワークの底部までの距離を記号L2で表す。また、シミュレーションモデルの回転部分のワークWの慣性モーメントを記号Iで表す。ワークWの鉛直方向に対する回転角度をθとして表す。ワークW及びロボットアームRが移動する慣性座標系においては、ワークWに生じるモーメントτは、次の式(1)により表される。
Figure 0006874712
式(3)に示すように、ワークWの加速度aとロボットアームRの加速度aとの差により、ワークWに生じるモーメントτが表される。モーメントτを、吸着パッドPに負荷としてかかる力、すなわち、負荷モーメントとみなすことができる。従って、式(3)で表される負荷モーメントの大きさから、ワークWの吸着パッドPによる保持が解除され、ワークWが落下するか否かを判定することもできる。
一方、負荷モーメントは、ロボットアームRと共に運動する並進座標系において考えることもできる。並進座標系においては、ワークに生じるモーメントτは、次の式(4)に示す回転の運動方程式により表される。Mが負荷モーメントである。
Figure 0006874712
並進座標系においては、モーメントτは、ロボットアームRの加速度運動(水平運動)により水平方向に作用する水平慣性力により、ワークWに作用する慣性力により発生するモーメントmaL1と、吸着パッドPに負荷としてかかる力、すなわち、負荷モーメントMとの和で表すことができる。式(4)のように、並進座標系で考えれば、式(1)よりも、ワークWに作用する慣性力により発生するモーメントを考慮する分、吸着パッドPにかかる負荷モーメントMをより正確に算出できる。
式(4)に式(2)を代入し、負荷モーメントMの式に変形すると、式(5)が得られる。従って、加速度aを与えれば、後述の式(6)から加速度aが求められるので、式(5)から負荷モーメントを求めることができる。
Figure 0006874712
以下の説明では、負荷モーメントMを式(5)で表す場合について説明する。負荷モーメントMが上述した閾値Th以下の場合、ワークWは落下せず、閾値Thよりも大きい場合にワークWは落下する。閾値Thは、シミュレーションモデルに相当するロボットの実機を実行条件を変更して繰り返し動作させたときに、ワークが落下しなかった実行条件で発生する負荷モーメントのうちの最大値として設定される。
なお、シミュレーションにおいて、上記式(3)及び式(5)のワークWの加速度aは、吸着パッドPとワークWとの間の伝達関数G(s)を用いて、次の式(6)で表される。
=G(s)×a … 式(6)
ここで伝達関数G(s)は、吸着パッドPを図10に示す物理モデルで表した以下の式(7)で表される。物理モデルは、実機の動作データから、ワークWの加速度aに影響を及ぼすパラメータを抽出して構築される。例えば、図10では、ロボットアームRを加速度aで加速度運動させたときに、ワークWの加速度aに影響する吸着パッドPの質量mpad、回転減衰係数Cpad、及び回転弾性係数Kpadが吸着パッドモデルのパラメータとして抽出されている。特にワークWの加速度aに影響を及ぼすパラメータだけで吸着パッドモデルを構築することにより、加速度a以外の外部影響を低減でき、より高い精度により加速度aを求めることができる。伝達関数G(s)は、例えば、式(7)のように表される。
Figure 0006874712
次に、シミュレーション装置10の作用について説明する。
図11は、シミュレーション装置のCPUにより実行される動作の流れを示すフローチャートである。CPU11がROM12又はストレージ14からシミュレーションプログラムを読み出して、RAM13に展開し実行することにより、シミュレーション処理が行なわれる。
CPU11は、モーションプログラム及びモーションパラメータを読み込み(ステップS101)、モーション指令値計算部103として、モーション指令値を算出する(ステップS102)。動作指令の一例としてのモーション指令値としては、図5に例示したように、move1〜3の各々の最大加速度が用いられる。
CPU11は、ダイナミクス計算部104として、モーション指令値及びシミュレーションモデルによりシミュレーションを実行する(ステップS103)。CPU11は、負荷導出部105として、シミュレーション中に変化する、全ての下向きの力及び式(5)及び式(6)に基づく全ての負荷モーメントMを算出する(ステップS104)。
CPU11は、落下判定部106として、シミュレーション中に、下向きの力が閾値Tvより大きくなるタイミング及び負荷モーメントが閾値Thより大きくなるタイミングがあるか否により、ワークWの吸着の成否を判断する(ステップS105)。さらに、CPU11は、吸着の失敗があると判断した場合に、ワークWの落下タイミングを特定する。
CPU11は、3D表示部107として、シミュレーションの結果をモニタ16に表示する(ステップS106)。ここでは、CPU11は、シミュレーションに基づくシミュレーションモデルの動作を動画で表示する。動画では、ワークWの吸着の成否の判定結果に応じて、図6に示す画像が表示される。ワークWの吸着の失敗が判定された場合には、ワークWの落下タイミングでワークWが落下していく画像が表示される。CPU11は、さらに、ステップS105におけるワークWの吸着成否の判定結果について、例えば、「水平運動中にワークが落下します」又は「鉛直運動中にワークが落下します」とモニタ16に表示してもよい。
CPU11は、実行条件変更部108として、ユーザがシミュレーションの実行条件の変更を希望するか否かを確認する(ステップS107)。希望するか否かの確認方法としては、例えば、CPU11は、モニタ16に「実行条件を変更しますか?」と表示し、ユーザに「はい」又は「いいえ」の選択を促すように提示する。なお、シミュレーションの実行条件の変更には、上述のモーションパラメータの変更及びモーションプログラムの変更が含まれる。ステップS107においては、特に、ステップS105の吸着成否判断において吸着失敗と判断した場合に、落下を回避するため(下向きの力が閾値Tv以下及び負荷モーメントMが閾値Th以下となるように)、実行条件の変更をユーザに促してもよい。このために、CPU11は、例えば、「ワークの落下を回避するために、実行条件を変更して下さい」などのメッセージをモニタ16に表示してもよい。
ユーザが実行条件の変更を希望しない場合(ステップS107:NO)、CPU11は、シミュレーション処理を終了する。ユーザが実行条件の変更を希望する場合(ステップS107:YES)、CPU11は、実行条件の変更が、手動か自動かを判断する(ステップS108)。手動か否かの確認方法としては、例えば、CPU11は、モニタ16に「シミュレーションの実行条件を手動で変更しますか?」と表示し、ユーザに「はい」又は「いいえ」の選択を促す。
ユーザが手動の変更を希望する場合(ステップS108:YES)、CPU11は、モーションプログラム編集部101又はモーションパラメータ編集部102として、モーションプログラム又はモーションパラメータの編集を受け付ける(ステップS109)。ここで、CPU11は、モーションプログラム及びモーションパラメータの両方の編集を受け付けてもよい。そして、CPU11は、ステップS102の処理に戻り、受け付けた編集に基づいて編集されたモーションプログラム及びモーションパラメータに従って、シミュレーションを行なう。
ユーザが自動の変更を希望する場合(ステップS108:NO)、CPU11は、変更の対象が水平運動か否かを判断する(ステップS110)。水平運動か否かの確認方法としては、例えば、CPU11は、モニタに「水平運動の実行条件を変更しますか?」と表示し、ユーザに「はい」又は「いいえ」の選択を促す。ユーザは、ステップS106におけるシミュレーション結果の表示を参考にして、変更対象を決定できる。
ユーザが水平運動の実行条件の変更を希望しない場合(ステップS110:NO)、CPU11は、鉛直運動の実行条件の変更を行なう(ステップS111)。一方、ユーザが水平運動の実行条件の変更を希望する場合(ステップS110:YES)、CPU11は、水平運動の実行条件の変更を行なう(ステップS112)。そして、CPU11は、ステップS102の処理に戻り、自動的な実行条件の変更に基づく、シミュレーションを行なう。鉛直運動の実行条件の変更及び水平運動の実行条件の変更の処理について、詳細は図12及び図13を参照しつつ、説明する。以下では、変更する実行条件の一例として、最大加速度aを用いた場合について説明する。
まず、鉛直運動の最大加速度の変更について説明する。
図12は鉛直運動の最大加速度の変更処理の流れを示すフローチャートである。
図12に示すように、CPU11は、ステップS104において算出した全ての下向きの力が閾値Tv以下か否か判断する(ステップS201)。
全ての下向きの力が閾値Tv以下の場合(ステップS201:YES)、CPU11は、ロボットアームRの全ての鉛直運動の最大加速度を所定の値だけ増加させる(ステップS202)。全ての鉛直運動には、上昇運動及び下降上昇の両方が含まれる。最大加速度には、最大減速度も含まれる。所定の値は、ロボットアームRに要求される精度に応じて適宜設定される。例えば、0.1%の最大加速度の精度が要求される場合、所定の値は、0.1%となる。最大加速度が物理量で表される場合、所定の値も物理量として設定される。
閾値Tvより大きい下向きの力が存在する場合(ステップS201:NO)、CPU11は、下向きの力が閾値Tvより大きくなる落下タイミングがロボットアームRの上昇運動時か否かを判断する(ステップS203)。CPU11は、ステップS105で特定した落下タイミングが、ロボットアームRの搬送経路においてロボットアームRに対する動作指令に基づいて分けられる(ロボットアームRの進行方向の変化で分けられる)複数の区間のうち、どの区間に入るかを判断できる。落下タイミングが入る区間のロボットアームRの動作を、モーションプログラムから確認することにより、上昇運動時か否かを判断できる。
落下タイミングが上昇運動時である場合(ステップS203:YES)、CPU11は、上昇移動の最大加速度を所定の値だけ減少する(ステップS204)。落下タイミングが下降運動時である場合(ステップS203:NO)、CPU11は、下降移動の最大加速度を所定の値だけ減少する(ステップS205)。ステップS204及びステップS205において、最大加速度には、最大減速度も含まれる。所定の値については、ステップS202と同様である。
次に、水平運動の最大加速度の変更について説明する。
図13は水平運動の最大加速度の変更処理の流れを示すフローチャートである。図14は加速時間を変更した場合の速度及び加速度の変化を示す図である。
図13に示すように、CPU11は、ステップS104において算出した全ての負荷モーメントが閾値Th以下か否か判断する(ステップS301)。
全ての負荷モーメントが閾値Th以下の場合(ステップS301:YES)、CPU11は、ロボットアームRの水平移動時の最大加速度を所定の値だけ増加する(ステップS302)。最大加速度には、最大減速度も含まれる。所定の値は、ロボットアームRに要求される精度に応じて適宜設定される。例えば、0.1%の最大加速度の精度が要求される場合、所定の値は、0.1%となる。最大加速度が物理量で表される場合、所定の値も物理量として設定される。
閾値Thより大きい負荷モーメントがある場合(ステップS301:NO)、CPU11は、ロボットアームRの水平移動時の最大加速度を所定の値だけ減少する(ステップS303)。
上記では最大加速度を変更する例について説明した。しかし、最大速度、加速時間、減速時間、及びジャークの少なくとも一つを変更することで、発生する加速度が変化する場合は、下向きの力及び負荷モーメントMも変化する。従って、最大加速度に代えて、最大速度、加速時間、減速時間、及びジャークの少なくとも一つを変更してもよい。
すなわち、上述のように、負荷モーメントは、式(5)(又は式(3))により算出できる。ここで、実行条件として、図14に示すように加速度は一定のまま、最大速度が変更されたとする。図14において、実線が変更前のロボットアームRの速度と時間の関係、及び、変更前のロボットアームRの加速度と時間の関係を示す。点線が、変更後のロボットアームRの速度と時間の関係、及び、変更後のロボットアームRの加速度と時間の関係を示す。図14の上図及び下図に示すように、加速度が変わらない場合でも、最大速度が変わると、加速(減速)時間が変わり、加速度と時間の積で表される物理量が変化する。これに伴い、ワークWにかかる力も変わり、ワークWの加速度aも変化する。従って、例えば、加速度と時間の積で表される物理量を入力として、ワークWの加速度aを出力とする伝達関数Gを用意しておくことにより、負荷モーメントを算出できる。
また、図13では、シミュレーションの実行条件の変更として、モーションパラメータを変更している。しかし、シミュレーションの実行条件の変更として、シミュレーションモデルを変更してもよい。シミュレーションモデルの変更には、例えば、シミュレーションモデルに含まれる吸着パッドPの設計変更が含まれる。吸着パッドPの設計変更には、例えば、吸着圧力、吸着時間、パッド形状(一般的なお碗型、ベローズ形、径の大きさ等)、パッド材質(ニトリルゴム、シリコン等)、パッドの吸着位置、パッドの個数等の変更が含まれる。吸着パッドPを変更する場合、変更前の閾値Thは使えなくなってしまう。なぜなら、閾値Thは、吸着パッドの設計条件に依存するからである。従って、変更が想定される範囲内、あるいは変更を許容する範囲内で、実機の吸着パッドの設計を変更して、落下試験を行ない、吸着パッドの設計パターン毎に閾値Thを用意しておく必要がある。シミュレーションの段階で吸着パッドPの設計が変更された場合、変更された設計に対応する閾値Thが用いられ、負荷モーメントと比較される。
図13に示すようなモーションパラメータの変更、又は、上記のようなシミュレーションモデルの変更は、例えば、ワークWの搬送時間、吸着パッドの吸着痕の許容度合いに応じて、適宜実行されてもよい。吸着痕の許容度合いが大きい場合には、吸着圧力や吸着時間を優先的に調整してもよい。
以上の第1実施形態のシミュレーション装置10によれば、以下の効果が得られる。シミュレーション装置10は、負荷モーメントを閾値Thと比較することにより、吸着の成否すなわちワークの落下を判断する。従って、ワークの落下を考慮したシミュレーションをユーザに提供できる。特に、ステップS108、ステップS110において、実行条件を変更するために必要な提示を行い、ユーザによる実行条件の変更のための選択をガイドする。従って、ユーザは、ガイドに従って、適切に実行条件の変更を選択できる。
また、シミュレーション装置10は、ロボットアームが動く並進座標系で見て、ワークWに生じるモーメントとワークWに作用する慣性力により発生する(みかけの)モーメントとの差として、負荷モーメントを導出できる。この場合、ワークWに生じるモーメントを負荷モーメントと定義する場合に比べて、負荷モーメントは、吸着パッドPにかかる負荷をより正確に表すことができる。従って、より正確に吸着パッドPにかかる負荷を考慮して、ワークWの落下を判定できる。
また、シミュレーション装置10は、シミュレーションの実行条件を最大加速度として、負荷モーメントが閾値より大きい場合に最大加速度を減少する。閾値よりも小さい負荷モーメントが得られるまで、最大加速度を減少することにより、ワークWの落下を確実に防止できる。
また、シミュレーション装置10は、シミュレーションの実行条件を最大加速度として、負荷モーメントが閾値以下の場合に最大加速度を増加する。従って、負荷モーメントが閾値に近づくように、最大加速度を変更できる。閾値を超えない範囲で、できるだけ閾値に負荷モーメントが閾値に近づくようにすれば、ワークが落下せずに達成できる最大加速度の限界値が得られる。最大加速度を限界まで大きくできるので、結果として、ワークWを搬送するタクトタイムを短縮できる。
また、シミュレーション装置10は、負荷モーメントが閾値より大きい場合に、ワークが落下すると判定する。従って、ユーザの判断に頼ることなく、機械的に落下を判定できる。
シミュレーション装置10は、上記の実施形態に限定されず、種々の改変が可能である。例えば、図11のステップS105を省略し、ステップS106におけるシミュレーションの結果の表示に代えて、単に負荷モーメントの値を表示することによってユーザに提示してもよい。熟練したユーザ(負荷モーメントに慣れたユーザ)であれば、数値を見ただけで、ワークWの落下を判断でき、適宜実行条件を変更するか否かの入力を行なうことができる。更なる改変を以下に説明する。
(第2実施形態)
第1実施形態においては、実行条件を変更するか否かをユーザが決定している。第2実施形態においては、ユーザが実行条件の変更を決定しなくても、自動的に最適な実行条件が設定される。
図15は、第2実施形態に係るシミュレーション装置のCPUにより実行される動作の流れを示すフローチャートである。CPU11がROM12又はストレージ14からシミュレーションプログラムを読み出して、RAM13に展開し実行することにより、シミュレーション処理が行なわれる。
ステップS401〜ステップS405は、図11に示すステップS101〜ステップS105と同様であるので、説明を省略する。
CPU11は、ステップS404で導出した全ての負荷モーメントが閾値Th以下か否かを判断する(ステップS406)。閾値Thより大きい負荷モーメントがある場合(ステップS406:NO)、CPU11は、ロボットアームRの水平移動時の最大加速度を所定の値だけ減少する(ステップS407)。CPU11は、減少後の最大加速度を限界最大加速度として記録し(ステップS408)、減少後の最大加速度によるシミュレーションのために、ステップS402の処理に戻る。なお、CPU11は、限界最大加速度が以前に記憶されている場合には、今回のステップS407で減少させた最大加速度に限界最大加速度を更新する。
全ての負荷モーメントが閾値Th以下の場合(ステップS406:YES)、CPU11は、限界最大加速度が記憶されているか否か判断する(ステップS409)。限界最大加速度が記憶されていない場合(ステップS409:NO)、CPU11は、ロボットアームRの水平移動時の最大加速度を所定の値だけ増加する(ステップS410)。CPU11は、増加後の最大加速度によるシミュレーションのために、ステップS402の処理に戻る。
限界最大加速度が記憶されている場合(ステップS409:YES)、CPU11は、限界最大加速度を、最終的な実行条件として決定し(ステップS411)、実行条件及びシミュレーション結果をモニタ16に表示する(ステップS412)。
以上のように、第2実施形態のシミュレーション装置10によれば、ユーザが実行条件の変更を指示しなくても、負荷モーメントが閾値以下となるように最大加速度を増減するので、自動的に最適な実行条件を決定できる。
特に、第2実施形態のシミュレーション装置10では、負荷モーメントが閾値Thよりも大きければ、最大加速度を所定の値ずつ減少させたシミュレーションが繰り返され、最大加速度を減少する度に限界最大加速度として記憶する。最大加速度を減少してシミュレーションを実行した結果、負荷モーメントが閾値Th以下となった場合、限界最大加速度を実行条件に決定するので、シミュレーション装置10は、負荷モーメントが閾値Th以下でかつ閾値Thに最も近くなる実行条件を、最終的な実行条件として提示できる。また、負荷モーメントが閾値Th以下の場合であって、限界最大加速度が記憶されていない場合は、最大加速度を増加して、最大加速度の限界値を探索できる。
(第3実施形態)
第1実施形態では、ロボットアームRが水平運動及び鉛直運動を行なう場合について説明した。特に、水平運動の際には、ロボットアームRの鉛直加速度は考慮しない場合について説明した。第3実施形態では、ワークWにロボットアームRの水平方向の加速度及び鉛直方向の加速度が作用することを考慮して、負荷モーメントを導出する。例えば、ロボットアームRが水平方向に対して傾斜した運動を行なう場合に、水平方向の加速度及び鉛直方向の加速度がワークWに作用する。
図16は、ワークにかかる力を示す図である。
図16において、ロボットアームRの水平方向の加速度をa、鉛直方向の加速度をaとして表す。また、ワークWにかかる合成慣性力をF、合成慣性力Fを分解して得られる水平方向の慣性力をF、鉛直方向の慣性力をFとして表す。ワークWの鉛直方向に対する回転角度をθとして表す。また、ワークWの質量をm、シミュレーションモデルの回転する部分に作用する慣性モーメントをIとして表す。ワークWの回転中心からワークWの重心までの距離がL1、回転中心からワークWの先端までの距離をL2とする。
水平方向の慣性力Fは、F=m×aとして表され、鉛直方向の慣性力Fは、F=m×aとして表される。
水平方向の慣性力により発生するモーメントの腕の長さはL1sinθ、鉛直方向の慣性力により発生するモーメントの腕の長さはL1cosθで表され、θが小さい場合、各々L1θ、L1で表される。したがって、ロボットアームRと共に運動する並進座標系においては、ワークWに生じるモーメントτは、次の式(8)に示す回転の運動方程式により表される。
Figure 0006874712
モーメントτと、上記のモーメントとの差が、吸着パッドPに負荷としてかかる力、すなわち、負荷モーメントMである。
式(8)に上記の式(2)を代入し、負荷モーメントMの式に変形すると、式(9)が得られる。
Figure 0006874712
θについては、ユーザが入力するなどして予め用意されたワークの推定揺れ角の値を用いる。あるいは、シミュレーションにより揺れ角を算出してもよい。ワークWの加速度aも、第1実施形態と同様に伝達関数G(s)を用いて算出できる。
従って、シミュレーション装置10は、上記式(8)により水平方向に交差する方向にロボットアームRを運動させる際でも、負荷モーメントMを算出できる。シミュレーション装置10は、負荷モーメントMを閾値Thと比較することにより、ワークWの落下を判定したり、ワークWが落下しないシミュレーションの実行条件を提示したりできる。
なお、上記実施形態では保持体として吸着パッドを用いた例について説明した。しかし、吸着パッドに限定されず、弾性を有していれば、ワークを把持するチャック等を用いる場合にも適用できる。
なお、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行したシミュレーション処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field−Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、シミュレーション処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
また、上記各実施形態では、シミュレーションプログラムがストレージ14又はROM12に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD−ROM(Compact Disk Read Only Memory)、DVD−ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
10 シミュレーション装置
101 モーションプログラム編集部
102 モーションパラメータ編集部
103 モーション指令値計算部
104 ダイナミクス計算部
105 負荷導出部
106 落下判定部
107 3D表示部
108 実行条件変更部

Claims (12)

  1. ワーク、前記ワークを保持した弾性を有する保持体、及び前記保持体が取り付けられたロボットアームの各モデルを含むシミュレーションモデルを動作指令に基づいて加速度運動させるシミュレーションを実行した際、前記ロボットアームの加速度と前記ワークの加速度との差により前記保持体に発生する負荷モーメントを導出する導出部と、
    前記導出部で導出した前記負荷モーメントが閾値より大きい場合に、前記導出部で導出される負荷モーメントが前記閾値以下となるように、前記シミュレーションの実行条件を変更するための処理を行なう実行条件変更部と、
    を含むシミュレーション装置。
  2. 前記負荷モーメントは、前記ワークに生じるモーメントから、慣性力により発生するモーメントを差し引いて導出される請求項1に記載のシミュレーション装置。
  3. 前記慣性力により発生するモーメントは、前記加速度運動が水平運動の場合、水平方向に作用する水平慣性力によるモーメントであり、前記加速度運動が水平方向に対して傾斜した運動の場合、水平方向に作用する水平慣性力によるモーメントと鉛直方向に作用する鉛直慣性力によるモーメントとの和である請求項2に記載のシミュレーション装置。
  4. 変更する前記実行条件が前記ロボットアームの加速度の場合、前記実行条件変更部は、前記導出部で導出した負荷モーメントが閾値より大きい場合に、前記ロボットアームの加速度を減少するための処理を行なう請求項1〜3のいずれか一項に記載のシミュレーション装置。
  5. 変更する前記実行条件が前記ロボットアームの加速度の場合、前記実行条件変更部は、前記導出部で導出した負荷モーメントが閾値以下の場合に、前記ロボットアームの加速度を増加するための処理を行なう請求項1〜4のいずれか一項に記載のシミュレーション装置。
  6. 前記実行条件変更部は、前記実行条件を変更するための処理が繰り返された場合、前記導出部で導出した前記負荷モーメントが前記閾値以下でかつ前記閾値に最も近くなる実行条件を、最終的な実行条件として提示する請求項1〜5のいずれか一項に記載のシミュレーション装置。
  7. 前記導出部で導出した負荷モーメントが前記閾値より大きい場合に、前記ワークの前記保持体による保持が解除されると判定する判定部を更に含む請求項1〜6のいずれか一項に記載のシミュレーション装置。
  8. 前記実行条件変更部は、前記ロボットアームの搬送経路において前記ロボットアームに対する前記動作指令に基づいて分けられる複数の区間のうち、前記判定部により前記ワークが落下すると判定されたタイミングを含む区間について、前記シミュレーションの実行条件を変更するか、又は前記実行条件を変更するために必要な提示を行なう請求項7に記載のシミュレーション装置。
  9. 前記閾値は、前記シミュレーションモデルに相当するロボットアームを備えた実機を実行条件を変更して繰り返し動作させたときに、前記ワークの前記保持体による保持が解除されなかった実行条件で発生する負荷モーメントのうちの最大値として設定される請求項1〜8のいずれか一項に記載のシミュレーション装置。
  10. 前記実行条件に従うシミュレーションの結果を表示する表示部をさらに有する請求項1〜9のいずれか一項に記載のシミュレーション装置。
  11. ワーク、前記ワークを保持した弾性を有する保持体、及び前記保持体が取り付けられたロボットアームの各モデルを含むシミュレーションモデルを動作指令に基づいて加速度運動させるシミュレーションを実行した際、前記ロボットアームの加速度と前記ワークの加速度との差により前記保持体に発生する負荷モーメントを導出する導出工程と、
    前記導出工程で導出した前記負荷モーメントが閾値より大きい場合に、前記導出工程で導出される負荷モーメントが前記閾値以下となるように、前記シミュレーションの実行条件を変更するための処理を行なう実行条件変更工程と、
    を含む処理をコンピュータが実行するシミュレーション方法。
  12. ワーク、前記ワークを保持した弾性を有する保持体、及び前記保持体が取り付けられたロボットアームの各モデルを含むシミュレーションモデルを動作指令に基づいて加速度運動させるシミュレーションを実行した際、前記ロボットアームの加速度と前記ワークの加速度との差により前記保持体に発生する負荷モーメントを導出する導出工程と、
    前記導出工程で導出した前記負荷モーメントが閾値より大きい場合に、前記導出工程で導出される負荷モーメントが前記閾値以下となるように、前記シミュレーションの実行条件を変更するための処理を行なう実行条件変更工程と、
    を、コンピュータに実行させるシミュレーションプログラム。
JP2018026700A 2018-02-19 2018-02-19 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム Active JP6874712B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018026700A JP6874712B2 (ja) 2018-02-19 2018-02-19 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
CN201810902428.3A CN110174875A (zh) 2018-02-19 2018-08-09 模拟装置、模拟方法及存储介质
US16/110,249 US20190255705A1 (en) 2018-02-19 2018-08-23 Simulation apparatus, simulation method, and simulation program
EP18190432.7A EP3527334A1 (en) 2018-02-19 2018-08-23 Simulation apparatus, simulation method, and simulation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018026700A JP6874712B2 (ja) 2018-02-19 2018-02-19 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム

Publications (2)

Publication Number Publication Date
JP2019141939A JP2019141939A (ja) 2019-08-29
JP6874712B2 true JP6874712B2 (ja) 2021-05-19

Family

ID=63371547

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018026700A Active JP6874712B2 (ja) 2018-02-19 2018-02-19 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム

Country Status (4)

Country Link
US (1) US20190255705A1 (ja)
EP (1) EP3527334A1 (ja)
JP (1) JP6874712B2 (ja)
CN (1) CN110174875A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7204513B2 (ja) * 2019-02-13 2023-01-16 株式会社東芝 制御装置及びプログラム
JP7405730B2 (ja) * 2020-11-26 2023-12-26 株式会社日立製作所 軌道計画装置、軌道計画方法、及び軌道計画プログラム
CN116940906A (zh) 2021-03-24 2023-10-24 三菱电机株式会社 机器人控制装置及机器人控制方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07256578A (ja) 1994-03-22 1995-10-09 Hitachi Ltd ハンドリングロボットのオフラインプログラムシステム
US7890194B2 (en) * 2005-12-13 2011-02-15 Brooks Automation, Inc. Robotics programming interface
DE102010052396A1 (de) * 2010-11-24 2012-05-24 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern einer Peripheriekomponente eines Robotersystems
JP5695223B2 (ja) * 2012-05-23 2015-04-01 パナソニックIpマネジメント株式会社 ロボット、ロボットの制御装置、制御方法、及び制御プログラム
JP6425718B2 (ja) * 2014-05-20 2018-11-21 株式会社日立製作所 組立教示装置及び方法
US9393693B1 (en) * 2014-07-10 2016-07-19 Google Inc. Methods and systems for determining and modeling admissible gripper forces for robotic devices
JP6660102B2 (ja) * 2014-08-27 2020-03-04 キヤノン株式会社 ロボット教示装置およびその制御方法、ロボットシステム、プログラム
JP6522488B2 (ja) * 2015-07-31 2019-05-29 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法
DE102016015936B8 (de) * 2015-07-31 2024-10-24 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
JP6646894B2 (ja) * 2016-12-28 2020-02-14 オムロン株式会社 保持可否結果出力装置
JP6653064B2 (ja) * 2016-12-28 2020-02-26 オムロン株式会社 シミュレーション装置、ロボット、シミュレーション方法、及びそのプログラム
JP2019034352A (ja) * 2017-08-10 2019-03-07 セイコーエプソン株式会社 シミュレーション装置、ロボット制御装置およびロボット
US10828778B2 (en) * 2017-11-30 2020-11-10 Abb Schweiz Ag Method for operating a robot
JP6930457B2 (ja) * 2018-02-28 2021-09-01 オムロン株式会社 シミュレーション装置、方法、及びプログラム
JP6988573B2 (ja) * 2018-03-01 2022-01-05 オムロン株式会社 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム

Also Published As

Publication number Publication date
EP3527334A1 (en) 2019-08-21
JP2019141939A (ja) 2019-08-29
CN110174875A (zh) 2019-08-27
US20190255705A1 (en) 2019-08-22

Similar Documents

Publication Publication Date Title
JP6930457B2 (ja) シミュレーション装置、方法、及びプログラム
JP6874712B2 (ja) シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
US10589424B2 (en) Robot control device, robot, and robot system
US10786899B2 (en) Device for calculating stowage pattern and robot controller
JP6988573B2 (ja) シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
JP6771799B1 (ja) 壁に基づくパッキング機構を有するロボットシステム及びその動作方法
CN111655433B (zh) 用于操作机器人的方法
JP6036662B2 (ja) ロボットシミュレーション装置、プログラム、記録媒体及び方法
CN109803796B (zh) 模拟装置、机器人、模拟方法及其记录介质
JP7233858B2 (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
CN109937120B (zh) 可否保持结果输出装置
JP7147571B2 (ja) 経路生成装置、経路生成方法、及び経路生成プログラム
CN112236272B (zh) 把持姿态评价装置和把持姿态评价程序
CN103970026B (zh) 计算方法和计算装置
JP6891720B2 (ja) ワーク搬送システム及びワーク搬送方法
US11839971B2 (en) Teaching control method for robot, robot system, and computer program
CN109822566B (zh) 机器人控制方法、系统及存储介质
WO2018180300A1 (ja) ロボット作業管理システム、ロボット作業管理プログラム
JP6115157B2 (ja) プログラム、演算装置および演算方法
JP7175433B1 (ja) 加工面品位シミュレーション装置および加工面品位表示方法
JP7415013B2 (ja) ロボットの構成部材の干渉を検出するロボット装置
JP7405730B2 (ja) 軌道計画装置、軌道計画方法、及び軌道計画プログラム
JP5828740B2 (ja) 搬送時負荷算出方法及び搬送時負荷算出システム
JP2021091036A (ja) ピッキングロボット、ピッキング方法及びプログラム

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20180306

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210218

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210405

R150 Certificate of patent or registration of utility model

Ref document number: 6874712

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250