Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7772829B2 - プログラム教示支援装置 - Google Patents
[go: Go Back, main page]

JP7772829B2 - プログラム教示支援装置 - Google Patents

プログラム教示支援装置

Info

Publication number
JP7772829B2
JP7772829B2 JP2023568763A JP2023568763A JP7772829B2 JP 7772829 B2 JP7772829 B2 JP 7772829B2 JP 2023568763 A JP2023568763 A JP 2023568763A JP 2023568763 A JP2023568763 A JP 2023568763A JP 7772829 B2 JP7772829 B2 JP 7772829B2
Authority
JP
Japan
Prior art keywords
program
unit
time
robot
block
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
JP2023568763A
Other languages
English (en)
Other versions
JPWO2023119348A1 (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.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of JPWO2023119348A1 publication Critical patent/JPWO2023119348A1/ja
Application granted granted Critical
Publication of JP7772829B2 publication Critical patent/JP7772829B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-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 program data in numerical form
    • G05B19/409Numerical 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 program data in numerical form characterised by using manual data input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details or by setting parameters
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-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 program data in numerical form
    • G05B19/4155Numerical 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 program data in numerical form characterised by program execution, i.e. part program or machine function execution, e.g. selection of a program
    • 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/39384Control unit near robot, control and teaching panel in safe zone

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

本発明は、プログラム教示支援装置に関する。
ロボットプログラムでは、まず目的の位置を指定し、その位置まで動作する命令を教示する。当該目的の位置まで到達できることを確認するとともに、その他にも到達時間を検討する必要がある。
この点、シーケンス番号で識別される複数のブロックを含む加工プログラムを実行する工作機械の動作中の状態を変化量及び時間軸で示す状態情報と工作機械が実行している加工プログラムの所定のタイミングを示すタイミング情報とを取得し、取得した状態情報及びタイミング情報に基づいて時系列情報を生成し、タイミング情報によって示されるタイミングを揃えて、複数の時系列情報を重畳して表示する技術が知られている。例えば、特許文献1参照。
特開2019-13334号公報
ロボットプログラムや加工プログラムの場合、目的の位置までの到達時間は命令の内容によって異なり、ユーザが意図する時間に到達するためには命令やパラメータを変更し、さらに実行するといった繰り返しが必要となる。熟練者は経験やノウハウを持つため大体の検討をつけてロボットを教示したり、工作機械の加工プログラムを修正したりすることができる。しかしながら、ロボットの教示や加工プログラムの編集に慣れていないユーザにとっては、どの値を変更したらよいのかが分からないため、ロボットの教示や加工プログラムの編集に時間が掛かってしまう。
また、ロボットプログラムの教示修正を行う際に、プログラム全体に対して時間を軸とした表示が無く、時間を軸とした簡単なプログラムの修正方法も無い。
そこで、不慣れなユーザであっても、プログラムにおいて目的の位置までの到達時間を容易に調整できることが望まれている。
本開示のプログラム教示支援装置は、プログラムの命令毎及び/又は命令順に算出される産業用機械の動作時間を、前記動作時間の方向の長さが可変のブロックを並べて表示する表示部を備える。
一態様によれば、不慣れなユーザであっても、プログラムにおいて目的の位置までの到達時間を容易に調整できる。
一実施形態に係る機械装置システムの機能的構成例を示す機能ブロック図である。 表示部に表示された画面の一例を示す図である。 図2の画面においてブロックの長さの変更の一例を示す図である。 図2の画面においてブロックの長さの変更の一例を示す図である。 算出された動作時間に最も近い動作時間を示すブロックの一例を示す図である。 プログラム教示支援装置の教示支援処理について説明するフローチャートである。
以下、一実施形態について図面を用いて説明する。
<一実施形態>
図1は、一実施形態に係る機械装置システムの機能的構成例を示す機能ブロック図である。図1に示すように、機械装置システム1は、2台の機械装置10A、10B、2台の制御装置20A、20B、及びプログラム教示支援装置30を有する。ここでは、ロボットとしての機械装置10A、10Bと、ロボット制御装置としての制御装置20A、20Bと、を例示する。なお、本発明は、機械装置10A、10Bとして、ロボットに限定されず、工作機械、搬送機、プレス機、射出成型機等の産業用機械に対しても適用可能である。また、本発明は、制御装置20A、10Bとして、ロボット制御装置に限定されず、工作機械等を制御する数値制御装置に対しても適用可能である。
機械装置10A、10Bと制御装置20A、20Bとプログラム教示支援装置30とは、図示しない接続インタフェースを介して互いに直接接続されてもよい。なお、機械装置10A、10Bと制御装置20A、20Bとプログラム教示支援装置30とは、LAN(Local Area Network)等のネットワークを介して相互に接続されていてもよい。この場合、機械装置10A、10B、制御装置20A、20B、及びプログラム教示支援装置30は、かかる接続によって相互に通信を行うための図示しない通信部を備えてもよい。
<機械装置10A、10B>
機械装置10A、10Bは、例えば、工作機械や産業用ロボット等の産業用機械である。なお、以下では、機械装置10A、10Bは、産業用ロボット(以下、「ロボット10A、10B」ともいう)として説明する。
また、ロボット10A、10Bのそれぞれを個々に区別する必要がない場合、これらをまとめて「ロボット10」ともいう。
<制御装置20A、20B>
制御装置20A、20Bは、当業者にとって公知のロボット制御装置であり、ユーザによりロボット10A、10Bそれぞれを教示することにより生成されたロボットプログラムに基づいて指令を生成し、生成した指令をロボット10A、10Bに送信する。これにより、制御装置20A、20Bは、ロボット10A、10Bそれぞれの動作を制御する。
なお、制御装置20A、20Bのそれぞれを個々に区別する必要がない場合、これらをまとめて「制御装置20」ともいう。
<プログラム教示支援装置30>
プログラム教示支援装置30は、コンピュータ等であり、ユーザからの入力に応じてロボット10の動作時間を調整するために、プログラムを制御装置20から取得し、取得したプログラムを修正する。
なお、プログラム教示支援装置30は、制御装置20A、20Bと接続されるが、1又は3以上の制御装置20と接続されてもよい。
図1に示すように、プログラム教示支援装置30は、制御部31、入力部33、表示部35、及び記憶部37を有する。そして、制御部31は、プログラム入力部310、シミュレーション実行部311、配置部312、変更判定部313、時間算出部314、パラメータ算出部315、変更可否判定部316、プログラム修正部317、及びプログラム出力部318を有する。
入力部33は、キーボード又はタッチパネル等の入力装置によって構成され、ユーザからの各種入力を受け付ける。
表示部35は、LCD(Liquid Crystal Display)等の表示装置である。表示部35は、後述するように、シミュレーション実行部311により実行されたプログラムのシミュレーションから求められたプログラムの命令毎のロボット10の動作時間を、当該動作時間の長さが可変のブロックとして配置部312により命令毎及び/又は命令順に並べて配置された画面を表示する。
記憶部37は、SSD(Solid State Drive)やHDD(Hard Disk Drive)等である。記憶部37には、後述する制御部31が実行するオペレーティングシステム及びアプリケーションプログラム等が記憶される。また、記憶部37には、制御装置20から取得されたプログラム(ロボットプログラム)が記憶される。また、記憶部37は、時間記憶部371を有する。
時間記憶部371には、後述するように、シミュレーション実行部311により実行されたプログラムのシミュレーションから求められたプログラムの命令毎のロボット10の動作時間を、シミュレーション結果として記憶される。
<制御部31>
制御部31は、CPU、ROM、RAM、CMOSメモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
CPUはプログラム教示支援装置30を全体的に制御するプロセッサである。CPUは、ROMに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、システムプログラム及びアプリケーションプログラムに従ってプログラム教示支援装置30全体を制御する。これにより、図1に示すように、制御部31は、プログラム入力部310、シミュレーション実行部311、配置部312、変更判定部313、時間算出部314、パラメータ算出部315、変更可否判定部316、プログラム修正部317、及びプログラム出力部318の機能を実現するように構成される。RAMには一時的な計算データや表示データ等の各種データが格納される。CMOSメモリは図示しないバッテリでバックアップされ、プログラム教示支援装置30の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
プログラム入力部310は、後述するシミュレーション実行部311によりシミュレーションされるプログラム(ロボットプログラム)を制御装置20から読み込む。
シミュレーション実行部311は、例えば、公知の手法を用いて、プログラム入力部310により読み込まれたプログラムのシミュレーションを実行する。シミュレーション実行部311は、シミュレーションにより求められたプログラムの命令毎のロボット10の動作時間を、時間記憶部371にロボット10毎に記憶する。
配置部312は、例えば、時間記憶部371に記憶された動作時間に基づいてプログラムの命令毎及び/又は命令順に各命令によるロボット10の動作時間を示すブロックを時間軸に沿って配置する。そして、配置部312は、配置したブロックの画面を表示部35に表示する。
図2は、表示部35に表示された画面の一例を示す図である。
図2に示すように、表示部35に表示された画面は、横軸を時間軸にして、シミュレーション実行部311のシミュレーション結果であるロボット10A、10Bそれぞれのプログラム(ロボットプログラム)の各命令による動作時間を、配置部312により配置されたブロックで示す。具体的には、ロボット10Aのプログラム(ロボットプログラム)は、3つの命令L1~L3(教示位置P[1]~P[3])を有し、図2の画面では、命令L1~L3それぞれのロボット10Aの動作時間が時間軸に沿って配置されたブロックA1~A3で示される。また、ロボット10Bのプログラム(ロボットプログラム)は、2つの命令L1、L2(教示位置P[1]、P[2])を有し、図2の画面では、命令L1、L2それぞれのロボット10Bの動作時間が時間軸に沿って配置されたブロックB1、B2で示される。
なお、時間軸は、横軸であることに限定されない。例えば、縦方向や任意の方向に時間軸が配置されることも含む。その場合、ブロックは時間軸の方向に沿って配置される。
変更判定部313は、例えば、表示部35に表示されたいずれかのロボット10の動作時間のブロックの長さが変更されたか否かを判定する。
例えば、ユーザがロボット10Aからロボット10Bへワークをハンドリングさせたい場合、プログラム入力部310が読み込んだプログラム(ロボットプログラム)では、図2に示すように、ロボット10Aの教示位置P[3]の到達時刻とロボット10Bの教示位置P[2]の到達時刻とにずれがある。
そこで、ユーザは、例えば、図3Aに示すように、表示部35に表示された画面上において、ロボット10Aの教示位置P[3]の到達時刻とロボット10Bの教示位置P[2]の到達時刻とを一致させるように、ロボット10BのブロックB2の長さ(命令L2のロボット10Bの動作時間)を延ばす指示を、入力部33を用いて入力する。あるいは、ユーザは、例えば、図3Bに示すように、表示部35に表示された画面上において、ロボット10AのブロックA3の長さ(命令L3のロボット10Aの動作時間)を縮小する指示を、入力部33を用いて入力するようにしてもよい。
この場合、変更判定部313は、ブロックの長さが変更されたと判定する。
なお、図3A及び図3Bでは、ユーザが入力部33のタッチパネルを操作することによりブロックの長さを変更しているが、ユーザが入力部33のキーボード等を操作して動作時間の値を変更することでブロックの長さを変更してもよい。
時間算出部314は、変更されたブロックの長さに基づいて当該ブロックに対応する命令によるロボット10の動作時間を算出する。
具体的には、時間算出部314は、図3Aに示すように、ユーザにより延ばされたロボット10BのブロックB2の長さに基づいて命令L2に対するロボット10Bの動作時間を算出する。あるいは、時間算出部314は、図3Bに示すように、ユーザにより縮小されたロボット10AのブロックA3の長さに基づいて命令L3に対するロボット10Aの動作時間を算出する。
パラメータ算出部315は、例えば、時間算出部314により算出されたロボット10の動作時間を満たす少なくとも速度又は加速度のいずれかを含むパラメータの値を算出する。
具体的には、パラメータ算出部315は、例えば、図3Aに示すように、ロボット10Bの命令L2の動作時間(ブロックB2の長さ)が延ばされた場合、ロボット10Bに設定可能な移動速度の範囲(例えば、1~2000mm/ms等)で、延ばされた動作時間でロボット10Bが教示位置P[2]に到達する速度の値を算出する。なお、パラメータ算出部315は、例えば、速度を変えただけではロボット10Bが延ばされた動作時間で教示位置P[2]に到達することができない場合、ロボット10Bに設定可能な加速度の範囲(例えば、0~100mm/ms/ms等)で、延ばされた動作時間でロボット10Bが教示位置P[2]に到達する加速度の値を算出するようにしてもよい。あるいは、パラメータ算出部315は、ロボット10Bに設定可能な速度及び加速度の範囲で、延ばされた動作時間でロボット10Bが教示位置P[2]に到達する速度及び加速度の値を算出するようにしてもよい。
また、パラメータ算出部315は、例えば、図3Bに示すように、ロボット10Aの命令L3の動作時間(ブロックA3の長さ)が縮小された場合、ロボット10Aに設定可能な移動速度の範囲(例えば、1~2000mm/ms等)で、縮小された動作時間でロボット10Aが教示位置P[3]に到達する速度の値を算出する。なお、パラメータ算出部315は、例えば、速度を変えただけではロボット10Aが縮小された動作時間で教示位置P[3]に到達することができない場合、ロボット10Aに設定可能な加速度の範囲(例えば、0~100mm/ms/ms等)で、縮小された動作時間でロボット10Aが教示位置P[3]に到達する加速度の値を算出するようにしてもよい。あるいは、パラメータ算出部315は、ロボット10Aに設定可能な速度及び加速度の範囲で、縮小された動作時間でロボット10Aが教示位置P[3]に到達する速度及び加速度の値を算出するようにしてもよい。
変更可否判定部316は、時間算出部314により算出されたロボット10の動作時間を満たす速度及び/又は加速度の値がパラメータ算出部315により算出できたか否かに基づいて、ユーザにより指示されたブロックの長さが変更可能か否かを判定する。
具体的には、変更可否判定部316は、例えば、時間算出部314により算出されたロボット10の動作時間を満たす速度及び/又は加速度の値がパラメータ算出部315により算出できた場合、ユーザにより指示されたブロックの長さが変更可能と判定する。この場合、変更可否判定部316は、「指定した動作時間への変更が可能です。」等のメッセージを表示部35に表示してもよい。
一方、変更可否判定部316は、時間算出部314により算出されたロボット10の動作時間を満たす速度及び/又は加速度の値がパラメータ算出部315により算出できなかった場合、ユーザにより指示されたブロックの長さが変更不可と判定する。この場合、変更可否判定部316は、「指定した動作時間への変更ができません。」等のメッセージを表示部35に表示してもよい。そして、変更可否判定部316は、ロボット10に設定可能な移動速度の範囲(例えば、1~2000mm/ms等)及び/又は加速度の範囲(例えば、0~100mm/ms/ms等)内で、時間算出部314により算出された動作時間に最も近い動作時間となる速度及び/又は加速度の値を算出するようにしてもよい。変更可否判定部316は、算出した速度及び/又は加速度の値の場合のロボット10の動作時間を示すブロックを表示部35に表示(更新)してもよい。
図4は、算出された動作時間に最も近い動作時間を示すブロックA3´の一例を示す図である。
この場合、変更可否判定部316は、図4の画面が示すブロックA3´が示す最も近い動作時間に修正するか否かの指示を、入力部33を介してユーザから受け付けることが好ましい。
プログラム修正部317は、例えば、変更可否判定部316によりユーザから指示されたブロックの長さに変更可能と判定された場合、パラメータ算出部315によって算出された速度及び/又は加速度の値を使用してプログラム(ロボットプログラム)を修正する。
一方、変更可否判定部316によりユーザから指示されたブロックの長さに変更不可と判定された場合で、かつ、図4に示すように、変更可否判定部316が算出した最も近い動作時間に修正する指示をユーザから受け付けた場合に、プログラム修正部317は、変更可否判定部316により算出された最も近い動作時間となる速度及び/又は加速度の値を使用してプログラム(ロボットプログラム)を修正する。
なお、変更可否判定部316によりユーザから指示されたブロックの長さに変更不可と判定された場合で、かつ、変更可否判定部316が算出した最も近い動作時間に修正する指示をユーザから受け付けなかった場合、プログラム修正部317は、プログラム(ロボットプログラム)を修正しない。
プログラム出力部318は、例えば、プログラム修正部317によりプログラム(ロボットプログラム)を制御装置20に出力する。
<プログラム教示支援装置30の教示支援処理>
次に、図5を参照しながら、プログラム教示支援装置30の教示支援処理の流れを説明する。
図5は、プログラム教示支援装置30の教示支援処理について説明するフローチャートである。ここで示すフローは、プログラム(ロボットプログラム)が読み込まれる度に実行される。
ステップS11において、シミュレーション実行部311は、プログラム入力部310により制御装置20から読み込まれたプログラムのシミュレーションを実行する。
ステップS12において、シミュレーション実行部311は、シミュレーションにより求められたプログラムの命令毎のロボット10の動作時間を、時間記憶部371にロボット10毎に記憶する。
ステップS13において、配置部312は、ステップS12で記憶された動作時間を基にプログラムの命令毎及び/又は命令順にロボット10の動作時間を示すブロックを時間軸に沿って配置する。
ステップS14において、配置部312は、配置したブロックの画面を表示部35に表示する。
ステップS15において、変更判定部313は、表示部35に表示されたいずれかのブロックの長さが入力部33を介してユーザにより変更されたか否かを判定する。ブロックの長さが変更された場合、処理はステップS16に進む。一方、ブロックの長さが変更されなかった場合、プログラム教示支援装置30は教示支援処理を終了する。
ステップS16において、時間算出部314は、ステップS15で変更されたブロックの長さに基づいて当該ブロックの命令によるロボット10の動作時間を算出する。
ステップS17において、パラメータ算出部315は、ステップS16で算出されたロボット10の動作時間を満たす速度及び/又は加速度のパラメータの値を算出する。
ステップS18において、変更可否判定部316は、ステップS16で算出されたロボット10の動作時間を満たす速度及び/又は加速度の値がステップS17で算出できたか否かに基づいて、ステップS15で指示されたブロックの長さが変更可能か否かを判定する。変更可否判定部316は、ステップS16で算出されたロボット10の動作時間を満たす速度及び/又は加速度の値がステップS17で算出できた場合、ステップS15で指示されたブロックの長さが変更可能と判定する。そして、処理はステップS21に進む。
一方、変更可否判定部316は、ステップS16で算出されたロボット10の動作時間を満たす速度及び/又は加速度の値がステップS17で算出できなかった場合、ステップS15で指示されたブロックの長さが変更不可と判定する。そして、処理はステップS19に進む。
ステップS19において、変更可否判定部316は、ロボット10に設定可能な移動速度の範囲及び/又は加速度の範囲内で、ステップS16で算出された動作時間に最も近い動作時間となる速度及び/又は加速度のパラメータの値を算出する。
ステップS20において、変更可否判定部316は、ステップS19で算出した速度及び/又は加速度の値の場合のロボット10の動作時間を示すブロックを表示部35に表示(更新)する。
ステップS21において、プログラム修正部317は、ステップS16で算出された速度及び/又は加速度の値を使用してプログラム(ロボットプログラム)を修正する。なお、ステップS18で指示されたブロックの長さに変更不可と判定された場合で、かつ、ステップS19で算出された最も近い動作時間に修正する指示をユーザから受け付けた場合に、プログラム修正部317は、ステップS19で算出された最も近い動作時間となる速度及び/又は加速度の値を使用してプログラム(ロボットプログラム)を修正する。
ステップS22において、プログラム出力部318は、ステップS21で修正されたプログラム(ロボットプログラム)を制御装置20に出力する。
以上により、一実施形態に係るプログラム教示支援装置30は、プログラムのシミュレーションを実行することで、命令毎のロボット10の動作時間を求め、求めた命令毎の動作時間を示すブロックを命令毎/命令順に時間軸上に配置して表示し、ユーザによりブロックの長さが変更された場合、変更されたブロックの長さの動作時間となるように速度及び/又は加速度のパラメータの値を算出しプログラムを修正する。これにより、プログラム教示支援装置30は、不慣れなユーザであっても、プログラムにおいて目的の位置までの到達時間を容易に調整できる。
また、ユーザは、時間軸上に命令毎の動作時間を示すブロックを配置した画面が表示されることにより、プログラム(ロボットプログラム)のサイクルタイム(全体)に対する各動作が占める時間割合が分かり易くなる。
また、ユーザは、各ブロックの長さ(サイズ)が動作時間に直結しているため、直感的に動作時間の修正が可能となり、プログラム(ロボットプログラム)の教示工数を削減することができる。
以上、一実施形態について説明したが、プログラム教示支援装置30は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
<変形例1>
一実施形態では、プログラム教示支援装置30は、制御装置20と異なる装置としたが、これに限定されない。例えば、プログラム教示支援装置30は、制御装置20に含まれてもよい。
あるいは、プログラム教示支援装置30のプログラム入力部310、シミュレーション実行部311、配置部312、変更判定部313、時間算出部314、パラメータ算出部315、変更可否判定部316、プログラム修正部317、及びプログラム出力部318の一部又は全部を、例えば、サーバが備えるようにしてもよい。また、クラウド上で仮想サーバ機能等を利用して、プログラム教示支援装置30の各機能を実現してもよい。
さらに、プログラム教示支援装置30は、プログラム教示支援装置30の各機能を適宜複数のサーバに分散される、分散処理システムとしてもよい。
<変形例2>
また例えば、パラメータ算出部315は、時間算出部314により算出されたロボット10の動作時間を満たす速度及び/又は加速度の値を算出したが、これに限定されない。
例えば、パラメータ算出部315は、時間算出部314により算出されたロボット10の動作時間を所定の範囲内で満たす速度及び/又は加速度の値を算出するようにしてもよい。そこで、パラメータ算出部315は、時間算出部314により算出されたロボット10の動作時間のうち、最もユーザの要求に近いロボット10の動作時間を満たす速度及び/又は加速度を算出してもよい。
<変形例3>
また例えば、上述の実施形態では、パラメータ算出部315は、ユーザによりブロックの長さが変更された場合、変更されたブロックの長さの動作時間となるように速度及び/又は加速度のパラメータの値を算出したが、これに限定されない。例えば、パラメータ算出部315は、ユーザによりブロックの長さが変更された場合、変更されたブロックの長さの動作時間となるように速度及び/又は加速度とともに、オーバライド値等のパラメータの値を算出するようにしてもよい。
また、制御装置20が工作機械等を制御する数値制御装置の場合、パラメータ算出部315は、ユーザによりブロックの長さが変更された場合、変更されたブロックの長さの動作時間となるように速度、加速度、又は加加速度等のいずれかのパラメータの値を算出するようにしてもよい。
<変形例4>
また例えば、上述の実施形態では、プログラム教示支援装置30は、ユーザによりブロックの長さが変更された場合、変更されたブロックの長さの動作時間となるように速度及び/又は加速度のパラメータの値を算出したが、これに限定されない。
例えば、プログラム教示支援装置30は、干渉物がロボット10の周りに無くロボット10の動作軌跡を無視できる場合、「カクジク」、「チョクセン」、「エンコ」等のロボット動作形式と位置決め形式も変更された動作時間を満たすパラメータ候補として扱うようにしてもよい。
なお、一実施形態のプログラム教示支援装置30に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
以上を換言すると、本開示のプログラム教示支援装置は、次のような構成を有する各種各様の実施形態を取ることができる。
(1)本開示のプログラム教示支援装置30は、プログラムの命令毎及び/又は命令順に算出されるロボット10の動作時間を、動作時間の方向の長さが可変のブロックを並べて表示する表示部35を備える。
このプログラム教示支援装置30によれば、不慣れなユーザであっても、プログラムにおいて目的の位置までの到達時間を容易に調整できる。
(2) (1)に記載のプログラム教示支援装置30において、プログラムを入力するプログラム入力部310と、プログラムのシミュレーションを実行するシミュレーション実行部311と、ロボット10のシミュレーション結果に基づいて命令毎の動作時間を記憶する時間記憶部371と、時間記憶部371に記憶された動作時間に基づいてブロックを配置する配置部312と、を備えてもよい。
そうすることで、ユーザは、どのブロックの動作時間を調整すべきかを容易に判断することができる。
(3) (1)又は(2)に記載のプログラム教示支援装置30において、ブロックの長さが変更されたか否かを判定する変更判定部313と、変更されたブロックの長さに基づいてブロックに対応する命令によるロボット10の動作時間を算出する時間算出部314と、を備えてもよい。
そうすることで、プログラム教示支援装置30は、変更されたブロックの長さに応じたロボット10の動作時間を容易に算出することができる。
(4) (3)に記載のプログラム教示支援装置30において、時間算出部314により算出されたロボット10の動作時間を満たす少なくとも速度又は加速度のいずれかを含むパラメータの値を算出するパラメータ算出部315と、パラメータ算出部315によって算出されたパラメータの値を使用してプログラムを修正するプログラム修正部317と、を備えてもよい。
そうすることで、プログラム教示支援装置30は、ユーザによりブロックの長さが変更されるだけで、変更されたブロックの長さに対応したロボット10の動作時間となるようにプログラムを修正することができる。
(5) (4)に記載のプログラム教示支援装置30において、時間算出部314により算出されたロボット10の動作時間を満たすパラメータの値がパラメータ算出部315により算出できたか否かに基づいて、ブロックの長さが変更可能か否かを判定する変更可否判定部316を備えてもよい。
そうすることで、プログラム教示支援装置30は、不適切なパラメータの値が設定されたプログラムを制御装置20に出力することを回避することができる。
(6) (5)に記載のプログラム教示支援装置30において、変更可否判定部316は、産業用機械の動作時間を満たすパラメータの値を算出できなかった場合、時間算出部314により算出された産業用機械の動作時間に最も近い動作時間となるパラメータの値を算出し、算出したパラメータの値の場合の産業用機械の動作時間を示すブロックを表示部35に表示してもよい。
そうすることで、プログラム教示支援装置30は、目的の位置までの到達時間を確実に調整することができる。
1 機械装置システム
10A、10B ロボット
20A、20B 制御装置
30 プログラム教示支援装置
31 制御部
310 プログラム入力部
311 シミュレーション実行部
312 配置部
313 変更判定部
314 時間算出部
315 パラメータ算出部
316 変更可否判定部
317 プログラム修正部
318 プログラム出力部
33 入力部
35 表示部
37 記憶部
371 時間記憶部

Claims (5)

  1. プログラムの命令毎及び/又は命令順に算出される産業用機械の動作時間を、前記動作時間の長さが可変のブロックを時間軸に並べて表示する表示部と、
    ユーザにより前記表示部に表示された前記ブロックの長さを変更する指示が入力された場合、前記ブロックの長さが変更された判定する変更判定部と、
    前記変更判定部により前記ブロックの長さが変更されたと判定された場合、変更された前記ブロックの長さに基づいて前記ブロックに対応する命令による前記産業用機械の動作時間を算出する時間算出部と、
    を備えるプログラム教示支援装置。
  2. 前記プログラムを入力するプログラム入力部と、
    前記プログラムのシミュレーションを実行するシミュレーション実行部と、
    前記産業用機械のシミュレーション結果に基づいて前記命令毎の前記動作時間を記憶する時間記憶部と、
    前記時間記憶部に記憶された前記動作時間に基づいて前記ブロックを配置する配置部と、を備える請求項1に記載のプログラム教示支援装置。
  3. 前記時間算出部により算出された前記産業用機械の動作時間を満たす少なくとも速度又は加速度のいずれかを含むパラメータの値を算出するパラメータ算出部と、
    前記パラメータ算出部によって算出された前記パラメータの値を使用して前記プログラムを修正するプログラム修正部と、を備える請求項1に記載のプログラム教示支援装置。
  4. 前記時間算出部により算出された前記産業用機械の動作時間を満たす前記パラメータの値が前記パラメータ算出部により算出できたか否かに基づいて、前記ブロックの長さが変更可能か否かを判定する変更可否判定部を備える請求項3に記載のプログラム教示支援装置。
  5. 前記変更可否判定部は、前記産業用機械の動作時間を満たす前記パラメータの値を算出できなかった場合、前記時間算出部により算出された前記産業用機械の動作時間に最も近い動作時間となる前記パラメータの値を算出し、算出した前記パラメータの値の場合の前記産業用機械の動作時間を示すブロックを前記表示部に表示する、請求項4に記載のプログラム教示支援装置。
JP2023568763A 2021-12-20 2021-12-20 プログラム教示支援装置 Active JP7772829B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/046948 WO2023119348A1 (ja) 2021-12-20 2021-12-20 プログラム教示支援装置

Publications (2)

Publication Number Publication Date
JPWO2023119348A1 JPWO2023119348A1 (ja) 2023-06-29
JP7772829B2 true JP7772829B2 (ja) 2025-11-18

Family

ID=86901539

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023568763A Active JP7772829B2 (ja) 2021-12-20 2021-12-20 プログラム教示支援装置

Country Status (6)

Country Link
US (1) US20250004446A1 (ja)
JP (1) JP7772829B2 (ja)
CN (1) CN118369624A (ja)
DE (1) DE112021008356T5 (ja)
TW (1) TW202331439A (ja)
WO (1) WO2023119348A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009070181A (ja) 2007-09-13 2009-04-02 Yaskawa Electric Corp 動作プログラム作成支援システム
JP2016221659A (ja) 2015-06-03 2016-12-28 キヤノン株式会社 ロボットシステム、ロボットシステムの制御方法、プログラム、記録媒体及び物品の製造方法
WO2019064916A1 (ja) 2017-09-26 2019-04-04 日本電産株式会社 ロボットシミュレータ
JP2020032456A (ja) 2018-08-31 2020-03-05 ファナック株式会社 レーザ加工のための教示装置
JP2020168666A (ja) 2019-04-01 2020-10-15 株式会社安川電機 プログラミング支援装置、ロボットシステム及びプログラミング支援方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009070181A (ja) 2007-09-13 2009-04-02 Yaskawa Electric Corp 動作プログラム作成支援システム
JP2016221659A (ja) 2015-06-03 2016-12-28 キヤノン株式会社 ロボットシステム、ロボットシステムの制御方法、プログラム、記録媒体及び物品の製造方法
WO2019064916A1 (ja) 2017-09-26 2019-04-04 日本電産株式会社 ロボットシミュレータ
JP2020032456A (ja) 2018-08-31 2020-03-05 ファナック株式会社 レーザ加工のための教示装置
JP2020168666A (ja) 2019-04-01 2020-10-15 株式会社安川電機 プログラミング支援装置、ロボットシステム及びプログラミング支援方法

Also Published As

Publication number Publication date
TW202331439A (zh) 2023-08-01
DE112021008356T5 (de) 2024-08-01
WO2023119348A1 (ja) 2023-06-29
CN118369624A (zh) 2024-07-19
JPWO2023119348A1 (ja) 2023-06-29
US20250004446A1 (en) 2025-01-02

Similar Documents

Publication Publication Date Title
JP7096288B2 (ja) ロボットを制御する方法
JP7095262B2 (ja) プログラミング支援装置、ロボットシステム及びプログラム生成方法
JP5872894B2 (ja) ロボット動作教示支援装置及び方法
JP6816068B2 (ja) ロボットプログラム生成装置
JP2019093254A5 (ja) プログラム、ゲーム制御装置、ゲーム制御方法、及びゲームシステム
JP6006277B2 (ja) 産業用ロボットのプログラム修正装置及びプログラム修正方法
JP6792184B1 (ja) シミュレーションシステム、シミュレーション方法、シミュレーションプログラム、ロボットの製造方法、およびロボットシステム
JP4137909B2 (ja) ロボットプログラム補正装置
JP2015098076A (ja) ロボットプログラム作成方法、ロボットプログラム作成装置、プログラム及び記録媒体
JP6661062B1 (ja) 数値制御装置および機械学習装置
JP2015231640A (ja) ロボット動作経路チェック装置、ロボットシステム、ロボット動作経路チェック方法、プログラム及び記録媒体
US10838395B2 (en) Information processing device
JP6392817B2 (ja) シミュレーション装置
JP7772829B2 (ja) プログラム教示支援装置
JP2022066906A5 (ja)
JP5272447B2 (ja) 数値制御機械の動作シミュレータ
JP4829151B2 (ja) ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置
WO2022259418A1 (ja) パラメータ調整装置、工作機械システムおよびパラメータ調整方法
JP7469457B2 (ja) ロボットプログラミング装置及びロボットプログラミング方法
JP6219866B2 (ja) 表示機能付き数値制御装置および表示プログラム
JPWO2023119350A5 (ja) 制御装置、制御システム、制御方法及びプログラム
JP7232704B2 (ja) ロボットプログラム評価装置、ロボットプログラム評価方法及びロボットプログラム評価プログラム
JP7753049B2 (ja) ロボットデータ処理サーバ及び軌跡データ算出方法
JP2021081951A (ja) プログラム解析装置
CN121756315A (zh) 工业机器人的仿真控制方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250805

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250827

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20251106

R150 Certificate of patent or registration of utility model

Ref document number: 7772829

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150