JP2017004414A - ロボット - Google Patents

ロボット Download PDF

Info

Publication number
JP2017004414A
JP2017004414A JP2015120201A JP2015120201A JP2017004414A JP 2017004414 A JP2017004414 A JP 2017004414A JP 2015120201 A JP2015120201 A JP 2015120201A JP 2015120201 A JP2015120201 A JP 2015120201A JP 2017004414 A JP2017004414 A JP 2017004414A
Authority
JP
Japan
Prior art keywords
variable
point
parameter
specific information
program
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
JP2015120201A
Other languages
English (en)
Other versions
JP6585393B2 (ja
Inventor
健一郎 比留間
Kenichiro Hiruma
健一郎 比留間
芳和 菅沼
Yoshikazu Suganuma
芳和 菅沼
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.)
Janome Corp
Original Assignee
Janome Sewing Machine Co Ltd
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 Janome Sewing Machine Co Ltd filed Critical Janome Sewing Machine Co Ltd
Priority to JP2015120201A priority Critical patent/JP6585393B2/ja
Priority to TW105110713A priority patent/TWI574803B/zh
Priority to US15/175,603 priority patent/US10226867B2/en
Priority to DE102016210097.1A priority patent/DE102016210097B4/de
Publication of JP2017004414A publication Critical patent/JP2017004414A/ja
Application granted granted Critical
Publication of JP6585393B2 publication Critical patent/JP6585393B2/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/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • 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
    • 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/19Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • 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/36497Select program, main and secondary 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/36Nc in input of data, input key till input tape
    • G05B2219/36507Select program or execute command, control instructions as function of axis position
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/30End effector
    • Y10S901/41Tool

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)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

【課題】1種類の命令列で複数のパラメータ候補をポイントに応じて代入できるロボットを提供する。【解決手段】ロボット1は、メインプログラム6、メインプログラム6の実行の際に参照されるサブプログラム7、及び複数のパラメータ8を記憶する。を記憶する。サブプログラム7は、変数75を含んだ命令列により成り、制御内容を定義する。パラメータ8は、1種類の変数75に対する代入候補である。1種類の変数75に代入するパラメータ8を判定し、判定結果に応じてパラメータ8が格納されているメモリ領域の1つと変数75とを結びつける。【選択図】図2

Description

本発明は、ロボットを制御するプログラムに関する。
各種産業用ロボットが普及している。ロボットは、ワークへのネジ締め、溶接及び塗装、ワークの搬送、ワークへの部品の取り付け、並びに半田付け等を用途とする。このロボットは例えば垂直多関節型の移動手段を有し、移動手段には作業ツールが装着される。移動手段と作業ツールはプログラムを実行するコンピュータにより制御される。コンピュータ制御下で作業ツールは所定ポイントに移動して駆動する。
プログラムはポイント主体のロボット言語で記述され得る。このプログラムは、ポイントごとのポイントステートメントを配列して成る。ポイントステートメントには、ポイント番号を筆頭とし、ポイント種別情報とポイント座標情報が含まれる。ポイント種別情報は、所謂関数名であり、ポイントに対する作業内容及び移動方法を定義した命令列を特定する。
ロボットは、ポイント種別情報が特定する命令列に従って移動手段と作業ツールを制御し、座標情報が示すポイントに作業ツールを向かわせ、当該ポイントに対して作業を実行する。ポイントへの移動及び作業には、各種距離、各種角度、その他各種量等の動作量を示すパラメータが必要である。例えば、ワークに複数のポイントが設定される。各ポイントはネジ締め位置である。電動ドライバである作業ツールは、第1に、各ポイントの上方に位置する。第2に、ネジを回転させつつポイントへ下降する。下降量はネジ長に相当する。この下降量はネジ長で特定されるパラメータで与えられる。
ポイントに螺合させるネジは全て同じとは限らない。ポイントごとに異なるネジ長のネジを螺合させる場合もある。ネジを分類すると、ポイントに固有のネジ、同じワークで多用されるネジ、ワーク不問で多用されるネジがある。これらネジによって作業ツールのポイントへの下降量は相違するため、ポイントステートメントの実行ごとに変数を宣言し、変数に適当なパラメータを代入すればよい。しかしながら、この手法において、各ポイントステートメントの実行の度、変数を初期化し直すのは煩雑である。
そこで、各種ネジ長を格納したメモリ領域と結びついた各システム変数を予め用意しておくと、ユーザの利便性が増す。例えば、ポイント固有のネジを締める場合、そのネジ長に対する「CondScrewL」というシステム変数を予め用意する。同じワークで多用のネジを締める場合、そのネジ長に対する「ProgScrewL」のシステム変数を予め用意する。ワーク不問で多用のネジを締める場合、そのネジ長に対する「CommongScrewL」のシステム変数を予め用意する。そして、移動方法や作業内容を定義した命令列内で「CondScrewL」、「ProgScrewL」又は「CommongScrewL」のシステム変数を用いる。
特開2014−226730号公報 特開2014−210332号公報
「CondScrewL」のシステム変数を用いた命令列、「ProgScrewL」のシステム変数を用いた命令列、及び「CommongScrewL」のシステム変数を用いた命令列は、ネジを締める動作自体は同一である。従って、システム変数を除いてコードは同一といってよい。
しかしながら、システム変数が相違するので命令列は別物である。ポイント種別情報で特定される命令列を作成するプログラマーからすれば、システム変数のみが相違する複数の命令列を別々に作成することにより、煩雑な作業が発生する。煩雑な作業はロボットのコストにも繋がる。
本発明は、上記のような従来技術の問題点を解決するために提案されたもので、1種類の命令列で複数のパラメータ候補をポイントに応じて代入できるロボットを提供することを目的とする。
上記の目的を達成するために、本発明に係るロボットは、ワーク上の複数のポイントに対して作業を実行する作業ツールと、前記作業ツールを前記ポイントに移動させる移動手段と、プログラムに従って前記作業ツールと前記移動手段を制御するコントローラと、を備え、前記コントローラは、当該コントローラによる制御内容を示す種別情報と前記ポイントの座標情報を含むステートメントを前記ポイントごとに並べて成る第1のプログラムを記憶する第1の記憶手段と、前記種別情報で特定され、変数を含んだ命令列により成り、前記制御内容を定義した第2のプログラムを記憶する第2の記憶手段と、1種類の前記変数に対する代入候補である複数のパラメータを記憶する第3の記憶手段と、前記1種類の変数に代入する前記パラメータを前記ステートメントごとに判定する判定部と、前記判定部の判定結果に応じて、前記パラメータが格納されているメモリ領域の1つと前記変数とを前記ステートメントごとに結びつけ直す変更部と、を備えること、を特徴とする。
前記複数のポイントに対する作業内容はパラメータを除いて同一であり、前記各ステートメントには、同一の前記種別情報を含み、前記コントローラは、前記各ステートメントの実行に際し、同一の前記第2のプログラムを参照するようにしてもよい。
ユーザの操作に応じて前記第1のプログラムを作成及び編集するプログラミングツールを更に備え、前記プログラミングツールは、前記ユーザの操作に応じて前記ステートメントに前記パラメータの特定情報を付帯可能とし、前記判定部は、前記特定情報が付帯するか判定し、前記変更部は、前記特定情報が付帯していると、前記特定情報を示す前記パラメータのメモリ領域を、前記変数に結びつけるようにしてもよい。
前記変更部は、前記特定情報がない場合に対応する前記パラメータのメモリ領域を前記変数に結びつけるようにしてもよい。
前記特定情報がない場合に対する複数の前記パラメータの1つは、適否を示すフラグが付帯し、前記判定部は、前記特定情報がなく、且つ前記フラグが適用を示すか判定し、前記変更部は、前記特定情報がなく、且つ前記フラグが適用を示す場合に対応する前記パラメータのメモリ領域を前記変数に結びつけるようにしてもよい。
前記判定部は、前記特定情報がなく、且つ前記フラグが適用否を示すか判定し、前記変更部は、前記特定情報がなく、且つ前記フラグが適用否を示す場合に対応する前記パラメータのメモリ領域を前記変数に結びつけるようにしてもよい。
前記作業ツールは、各ポイントに異なるネジ長のネジを締め付ける電動ドライバであり、前記変数は、ネジ長が代入されるために前記命令列に含まれるようにしてもよい。
本発明によれば、複数候補から変数に代入するパラメータを判定するため、各種パラメータが存在しても各ポイントに対する作業を共通の命令列で実行でき、プログラマーにとって命令列の作成が簡便となる。
ロボットの全体構成を示す模式図である。 コントローラの構成を示すブロック図である。 ロボットの動作例を示す模式図である。 メインプログラムの全体構成を示す模式図である。 パラメータの全体構成を示す模式図である。 サブプログラムの全体構成を示す模式図である。 コントローラによるプログラム類の実行動作を示すフローチャートである。 コントローラの機能を示すブロック図である。 プログラミングツールによるパラメータ設定画面の遷移を示す模式図である。 ポイントステートメントの第1の実行例を示す模式図である。 ポイントステートメントの第2の実行例を示す模式図である。 ポイントステートメントの第3の実行例を示す模式図である。 ポイントステートメントの第4の実行例を示す模式図である。
(ロボット構成)
以下、本発明に係るロボットの実施形態について図面を参照しつつ詳細に説明する。図1に示すように、ロボット1は移動手段2とコントローラ3を備える。移動手段2には作業ツール4が装着される。ロボット1は、移動手段2によって所望位置に作業ツール4を位置させ、作業ツール4を駆動させる。本実施形態において、作業ツール4は電動ドライバであり、ワークにネジを締め付ける。
移動手段2は、作業ツール4をX軸方向、Y軸方向及びZ軸方向に移動させ、指定されたポイントに作業ツール4を位置させる。X軸方向は、ワークが設置される水平面と平行な軸方向である。Y軸方向は、水平面と平行でX軸と直交する他軸方向である。Z軸方向は高さ方向である。この移動手段2は、作業ツール4をX軸方向に移動させるXリニアスライダ21、作業ツール4をY軸方向に移動させるYリニアスライダ22、作業ツール4をZ軸方向に移動させるZリニアスライダ23を備える。
Xリニアスライダ21は、X軸方向に延設されたレール上にYリニアスライダ22を摺設し、X軸方向に走行する無端ベルトにYリニアスライダ22を直交させて固定してなり、無端ベルトをX軸モータで走行させ、Yリニアスライダ22をX軸に沿って移動させる。
Yリニアスライダ22は、Y軸方向に延設されたレール上にZリニアスライダ23を摺設し、Y軸方向に走行する無端ベルトにZリニアスライダ23を固定してなり、無端ベルトをY軸モータで走行させ、Zリニアスライダ23をY軸に沿って移動させる。Xリニアスライダ21及びYリニアスライダ22の伝動機構としては、無端ベルトの他、シリンダ、リードスクリュー等の各種アクチュエータを挙げることができる。
Zリニアスライダ23は、Z軸に沿った軸を有するアームを備え、このアームの先端に作業ツール4が装着される。このZリニアスライダ23は、例えばラックアンドピニオン機構を有し、ラックをZ軸方向に延設し、当該ラックにアームを固定して構成される。Z軸モータによりピニオンを回転させることで、アームをZ軸方向に移動させる。このZリニアスライダ23により作業ツール4は、Z軸方向を移動する。
図2に示すように、コントローラ3は、プロセッサ31とストレージ32とメモリ33と周辺機器とで構成される所謂コンピュータである。周辺機器はモータドライバ34及び操作手段35である。ストレージ32は、メインプログラム6、サブプログラム7及びパラメータ8からなるプログラム類を記憶する。メインプログラム6はメインルーチンであり、サブプログラム7はサブルーチンであり、パラメータ8はサブプログラム7内の変数75の代入候補である。
プロセッサ31は、メインプログラム6に従って演算処理及び周辺機器の制御処理を行う。プロセッサ31は、メインプログラム6の実行に際し、サブプログラム7とパラメータ8を適宜参照する。メモリ33には、プログラム類が適宜展開され、またプロセッサ31の演算結果が一時記憶される。モータドライバ34は、プロセッサ31から制御処理の結果として入力される指令信号に従って各モータに電力パルスを供給する。
操作手段35は、液晶ディスプレイ等の表示部、並びにマウス、キーボード及びティーチングペンダントにより成る。操作手段35を用いたティーチング操作によって、プログラム類が作成及び編集される。ストレージ32には複数のメインプログラム6が記憶可能である。操作手段35を用いた操作によって、実行するメインプログラム6が選択される。
このプログラム類に従ったロボット1の動作を例示する。図3に示すように、メインプログラム6には、ポイントP1、P2及びP3がワーク上に設定され、各ポイントP1、P2及びP3への移動とネジ締め作業を定義するサブプログラム7が指示されている。但し、サブプログラム7の変数75へ代入する値は、各ポイントP1、P2、P3及びP4で異なっている。ポイントP1には、このポイント固有のネジ長3mmのネジが締められる。ポイントP2には、このポイント固有のネジ長5mmのネジが締められる。ポイントP3は、このワークにおいて多用されるネジ長10mmのネジ、又はワークを問わず多用されるネジ長8mmのネジで締められる。
コントローラ3は、各ポイントP1、P2及びP3の直上に順番に作業ツール4を位置させ、作業ツール4の駆動と下降移動を並行させる。但し、コントローラ3は、作業ツール4をポイントP1よりも高さ3mmだけ離れて位置させ、高さ3mm分下降させる。コントローラ3は、作業ツール4をポイントP2よりも高さ5mmだけ離れて位置させ、高さ5mm分下降させる。コントローラ3は、作業ツール4をポイントP3よりも高さ10又は8mmだけ離れて位置させ、高さ10又は8mm分下降させる。
(プログラム類の構成)
図4は、メインプログラム6の全体構成を示す模式図である。メインプログラム6には、各ポイントP1〜P3のポイントステートメント61が配列される。ポイントステートメント61は、ポイントの位置と制御内容を示す。このポイントステートメント61には、ポイント番号62を筆頭に、ポイント種別情報63と、ポイント座標情報64を並べられる。一部のポイントステートメント61には、パラメータ番号65が更に並ぶ。
ポイント番号62は、ポイントステートメント61がポイント主体の構文であることの宣言及び区切りを明示し、各ポイントステートメント61を区分けしている。ポイント座標情報64は、ポイントの位置をロボット1の座標系で特定している。例えば、各ポイントP1〜P3の座標が特定される。
ポイント種別情報63は、ポイントに対する制御内容を定義したサブプログラム7を示す所謂関数名である。例えば、移動方法とネジ締めの作業内容を定義するサブプログラム7のポイント種別情報61が並ぶ。パラメータ番号65は、ポイントステートメント61に規定されている場合には、サブプログラム7内で宣言された変数75への代入値を特定する。例えば、ネジ締め駆動時の作業ツール4の下降量を特定する。
図5は、パラメータ8の全体構成を示す模式図である。メモリ33には、サブプログラム7の変数75への代入候補として複数のパラメータ8が格納されている。すなわち、メモリ33には、パラメータ番号65で特定されるポイント固有パラメータ81が複数種類格納され、一のメインプログラム6に共通のプログラム固有パラメータ82が記憶され、更にメインプログラム6を問わずに適用される共通パラメータ83が記憶されている。プログラム固有パラメータ82にはフラグ84が付帯している。このフラグ84は、付帯先のプログラム固有パラメータ82を適用するか不適用とするかを示す。フラグ84の内容は、操作手段35を用いた操作によって書き換えられる。
図6は、サブプログラム7の全体構成を示す模式図である。サブプログラム7は、所謂関数名であるポイント種別情報71で特定される。このサブプログラム7には、移動方法命令列72、移動前作業命令列73、及び移動後作業命令列74が記述される。移動方法命令列72は、ポイントへの移動方法を制御するステートメントの塊である。例えば、移動方法命令列72は、ポイントとポイントを結ぶように直線移動させるPTP移動等を示している。移動方法命令列72は、予め定義されている外部関数の関数名であってもよい。
移動前作業命令列73はポイントへの移動前に実行されるステートメントの塊である。例えば、移動前作業命令列73には、ネジを保持する動作等が記述される。移動後作業命令列74は、ポイントへの移動後に実行されるステートメントの塊である。例えば、移動後作業命令列74には、作業ツール4を駆動させながら下降する動作等が記述される。このサブプログラム7には変数75が含まれる。例えば、ポイントに向けて作業ツール4を下降させるために、移動後作業命令列74には、下降命令と下降変数とがセットで記述される。
これらプログラム類の実行動作について説明する。図7は、コントローラ3によるメインプログラム6の処理を示すフローチャートである。コントローラ7は、ポイント番号62がN番目のポイントステートメント61にパラメータ番号65が付帯するか判断する(ステップS01)。Nの初期値は1である。パラメータ番号65が付帯する場合(ステップS01,Yes)、パラメータ番号65で特定されるポイント固有パラメータ81を変数75に代入する(ステップS02)。
パラメータ番号65が付帯しない場合(ステップS01,No)、コントローラ7は、フラグ84を確認する(ステップS03)。フラグ84の値が1、すなわちプログラム固有パラメータ82を適用する値であると(ステップS03,Yes)、コントローラ3は、プログラム固有パラメータ82を変数75に代入する(ステップS04)。
フラグ84の値が0、すなわちプログラム固有パラメータ82を不適用とする値であると(ステップS03,No)、コントローラ2は、共通パラメータ83を変数75に代入する(ステップS05)。
変数75への値の代入が終了すると、コントローラ3は、N番目のポイントステートメント61に並ぶポイント種別情報63と同一のポイント識別情報71で特定されるサブプログラム7を呼び出し(ステップS06)、サブプログラム7を実行する(ステップS07)。サブプログラム7の実行が終了すると、メインプログラム7に戻り、次のポイントステートメント61についてS01から実行を繰り返す。
このようにコントローラ3は、図8に示すように、ロボット1の制御部3aとして機能し、変数75のパラメータ8を決定する判定部3bと、決定されたパラメータ8に変数75の内容を変更する変更部3cを備える。判定部3bは、各ポイントステートメント61に対するパラメータ番号65の有無と、プログラム固有パラメータ82に付帯するフラグ84の内容を判定する。変更部3cは、判定部3bの判定結果に応じて、変数75に対してポイント固有パラメータ81、プログラム固有パラメータ82又は共通パラメータ83が格納されるメモリ領域を結びつける。
図8に示すように、このコントローラ3は、プログラミングツール3dとして機能し、操作手段35の入力に応答してプログラム類の新規作成及び編集を行う。プログラム類の作成及び編集では、プログラミングツール3dは、表示部にメインプログラム6の内容を表示し、操作手段35の入力に応答してパラメータ番号65をポイントステートメント61に付帯させる。
また、図9に示すように、メインプログラム6に対するパラメータ設定画面を表示する。このパラメータ設定画面では、パラメータ番号65のないポイントステートメント61において変数75にプログラム固有パラメータ82を代入するか、又は共通パラメータ82を代入するか選択される。操作手段35を用いた選択に応じて、プログラミングツール3dは、フラグ84の内容を書き換える。また、このパラメータ設定画面では、ポイント固有パラメータ81、プログラム固有パラメータ82及び共通パラメータ83が設定される。プログラミングツール3dは、各パラメータ8に下限値と上限値を記憶し、入力されたパラメータ8が下限値未満又は上限値超であると、エラーを報知する。
(作用)
図10に示すように、メインプログラム6に並ぶ最初のポイントステートメント61を例示すると、「#1 ネジ締め点 X=X1,Y=Y1,Z=Z1 パラメータ番号1」である。また、「パラメータ番号1」で特定されるメモリ33のアドレスには、3mmの値が格納されているものとする。
コントローラ3は、まず「#1」のポイント番号62によって、ポイントステートメント61の区切りを識別する。コントローラ3は、X座標変数XにX1を代入し、Y座標変数YにY1を代入し、Z座標変数ZにZ1を代入する初期化を行う。また、「パラメータ番号1」のパラメータ番号65が付帯するため、コントローラ3は、「パラメータ番号1」で特定される3mmの値をネジ長として宣言された「ScrewL」という名の変数75に代入する初期化を行う。
そして、「ネジ締め点」というポイント種別情報63と同じポイント種別情報71のサブプログラム7に従って移動手段2と作業ツール4を制御する。サブプログラム7には、作業ツール4を移動及び駆動させるための命令列のブロックが含まれている。
命令列のブロックのうちの一つが移動方法命令列72であり、PTP移動の関数名である「PTPpoint」が記述されている。「PTPpoint」の外部関数には、「Move X Y Z+ScrewL」という「ScrewL」の変数75が含まれている。また、命令列のブロックのうちの一つが移動後作業命令列74であり、移動後作業命令列74には、「downZ」という関数名に「ScrewL」の変数75がセットになって記述されている。
コントローラ3は、まず、Move命令に対応して、ScrewLの変数75の3mmという値が示す高さに合うように、(X,Y,Z)=(X1,Y1,Z1+3)の位置に作業ツール4をPTP移動させる。そして、作業ツール4を駆動させながら、downZ命令に対応して、ScrewLの変数75の3mmという値が示す量だけ下降させる。
図11に示すように、メインプログラム6に並ぶ2番目のポイントステートメント61を例示すると、「#2 ネジ締め点 X=X2,Y=Y2,Z=Z2 パラメータ番号2」である。「パラメータ番号2」で特定されるメモリ33のアドレスには、5mmの値が格納されているものとする。
コントローラ3は、まず「#2」のポイント番号62によって、ポイントステートメント61の区切りを識別する。コントローラ3は、X座標変数XにX2を代入し、Y座標変数YにY2を代入し、Z座標変数ZにZ2を代入する初期化を行う。また、「パラメータ番号1」のパラメータ番号65が付帯するため、コントローラ3は、「パラメータ番号1」で特定される5mmの値をネジ長として宣言された「ScrewL」という名の変数75に代入する初期化を行う。
そして、「ネジ締め点」という「#1」のポイントステートメント61と同じサブプログラム7に従って移動手段2と作業ツール4を制御する。すなわち、命令列のブロックのうちの一つが移動方法命令列72であり、「PTP移動」の関数名が記述されている。「PTP移動」の外部関数には、「Move X Y Z+ScrewL」という「ScrewL」の変数75が含まれている。また、命令列のブロックのうちの一つが移動後作業命令列74であり、移動後作業命令列74には、「downZ」という関数名に「ScrewL」の変数75がセットになって記述されている。
コントローラ3は、1番目のネジ締めが終了した後、Move命令に対応して、ScrewLの変数75の5mmという値が示す高さに合うように、(X,Y,Z)=(X2,Y2,Z2+5)の位置に作業ツール4をPTP移動させる。そして、作業ツール4を駆動させながら、downZ命令に対応して、ScrewLの変数75の5mmという値が示す量だけ下降させる。
図12に示すように、メインプログラム6に並ぶ3番目のポイントステートメント61を例示すると、「#3 ネジ締め点 X=X3,Y=Y3,Z=Z3」である。フラグ84は適用を示す「1」であるものとする。また、プログラム固有パラメータ82の領域として確保されたメモリ33のアドレスには、10mmの値が格納されているものとする。
コントローラ3は、まず「#3」のポイント番号62によって、ポイントステートメント61の区切りを識別する。コントローラ3は、X座標変数XにX3を代入し、Y座標変数YにY3を代入し、Z座標変数ZにZ3を代入する初期化を行う。また、パラメータ番号65が付帯せず、且つフラグ84が「1」のため、コントローラ3は、プログラム固有パラメータ82で特定される10mmの値をネジ長として宣言された「ScrewL」という名の変数75に代入する初期化を行う。
そして、「ネジ締め点」という「#1」及び「#2」のポイントステートメント61と同じサブプログラム7に従って移動手段2と作業ツール4を制御する。すなわち、コントローラ3は、2番目のネジ締めが終了した後、Move命令に対応して、ScrewLの変数75の10mmという値が示す高さに合うように、(X,Y,Z)=(X3,Y3,Z3+10)の位置に作業ツール4をPTP移動させる。そして、作業ツール4を駆動させながら、downZ命令に対応して、ScrewLの変数75の10mmという値が示す量だけ下降させる。
図13に示すように、他のメインプログラム8の3番目のポイントステートメント61を例示すると、「#3 ネジ締め点 X=X3,Y=Y3,Z=Z3」である。フラグ84は不適用を示す「0」であるものとする。また、共通パラメータ83の領域として確保されたメモリ33のアドレスには、8mmの値が格納されているものとする。
コントローラ3は、パラメータ番号65が付帯せず、且つフラグ84が「0」のため、コントローラ3は、共通パラメータ83で特定される8mmの値をネジ長として宣言された「ScrewL」という名の変数75に代入する初期化を行う。
そして、「ネジ締め点」という「#1」及び「#2」のポイントステートメント61と同じサブプログラム7に従って移動手段2と作業ツール4を制御する。すなわち、コントローラ3は、2番目のネジ締めが終了した後、Move命令に対応して、ScrewLの変数75の8mmという値が示す高さに合うように、(X,Y,Z)=(X3,Y3,Z3+8)の位置に作業ツール4をPTP移動させる。そして、作業ツール4を駆動させながら、downZ命令に対応して、ScrewLの変数75の8mmという値が示す量だけ下降させる。
このように、本実施形態のロボット1では、変数75の宣言は、メモリ33の領域の確保ではない。また、各パラメータ8を代入するための異なる変数名の変数75が用意されるものでも、変数75のパラメータ8を変化させるものでもない。複数種類のポイント固有パラメータ81とプログラム固有パラメータ83と共通パラメータ83という候補が予めメモリ33に格納され、変数75に対するパラメータ8の格納先が選択的に可変するものである。
従って、使用するパラメータ8は異なるが同一処理内容が定義されるサブプログラム7は1種類用意しておけばよい。すなわち、従来のように、同一ワークに対して3mm、及び8mm又は10mmのネジ長のネジを締め付ける場合、3mmという値が格納された領域を宣言する例えば「condScrewL」という変数75を含むが其れ以外は同一記述内容のサブプログラム7、8mmという値が格納された領域を宣言する例えば「ProgScrewL」という変数75を含むが其れ以外は同一記述内容のサブプログラム7、及び10mmという値が格納された領域を宣言する例えば「commonScrewL」という変数75を含むが其れ以外は同一記述内容のサブプログラム7を別々に用意しておく必要はない。
本実施形態のロボット1では、同一ワークに対して3mmと8mm又は10mmのネジ長のネジを締め付ける場合であっても、例えば「ScrewL」という変数75を含むサブプログラム7を一つ用意しておけばよい。
(効果)
このように、このロボット1は、コントローラ3による移動手段2と作業ツール4の制御内容を示すポイント種別情報63とポイント座標情報64を含むポイントステートメント21をポイントごとに並べて成るメインプログラム6を記憶する。また、ポイント種別情報71で特定され、変数75を含んだ命令列により成り、制御内容を定義したサブプログラム7を記憶する。更に、1種類の変数75に対する代入候補である複数のパラメータ8を記憶する。
そして、1種類の変数75に代入するパラメータ8をポイントステートメント61ごとに判定し、判定結果に応じて、パラメータ8が格納されているメモリ領域の1つと変数75とをポイントステートメント61ごとに結びつけ直すようにした。
これにより、1種類の変数75に対して判定結果に応じて異なるパラメータ8を代入することができ、パラメータ8が異なるために別々の変数75を宣言した各プログラムを用意する必要はない。すなわち、パラメータ8が異なっていても同一作業内容のプログラムは、1つ用意しておけば十分である。そのため、プログラム作成の手間を省くことができ、ロボット1の製造コストを低減させることができる。
そうすると、複数のポイントに対する作業内容がパラメータを除いて同一の場合、各ポイントステートメント61には、同一のポイント種別情報63を選択すればよく、コントローラ3は、各ポイントステートメント61の実行に際し、同一のサブプログラム7を参照する。従って、ロボット1のティーチング操作を行うユーザにとっても、使用するパラメータ8に応じて使用するサブプログラム7を選択する手間が省け、労力低減となる。
以上、本実施形態では、変数75はネジ長であり、移動方法命令列72と移動後作業命令列74に含まれる例を説明した。本実施形態は、これに限らず、ネジピッチや電動ドライバの回転数等の各種の変数75に適用可能である。また、本実施形態では、作業ツールをネジ締めの電動ドライバとして説明したが、作業ツール4としては、溶接機、塗装ガン、塗布ニードル、半田ごて、又はハンドラ等の各種が適用可能であり、その作業に応じてサブプログラム7に含まれる変数75に本発明を適用することができる。
(他の実施形態)
以上のように本発明の実施形態を説明したが、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。そして、この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
例えば、ロボット1に対するプログラミングを直接ロボット1に対して行う例を示したが、これに限らず、ロボット1とは別のコンピュータ等のプログラミングツール3dで行うようにし、プログラム類をロボット1にロードするようにしてもよい。
1 ロボット
2 移動手段
21 Xリニアスライダ
22 Yリニアスライダ
23 Zリニアスライダ
3 コントローラ
31 プロセッサ
32 ストレージ
33 メモリ
34 モータドライバ
35 操作手段
351 ティーチングペンダント
352 表示部
3a 制御部
3b 判定部
3c 変更部
3d プログラミングツール
4 作業ツール
6 メインプログラム
61 ポイントステートメント
62 ポイント番号
63 ポイント種別情報
64 ポイント座標情報
65 パラメータ番号
7 サブプログラム
71 ポイント識別情報
72 移動方法命令列
73 移動前作業命令列
74 移動後作業命令列
75 変数
8 パラメータ

Claims (7)

  1. ワーク上の複数のポイントに対して作業を実行する作業ツールと、
    前記作業ツールを前記ポイントに移動させる移動手段と、
    プログラムに従って前記作業ツールと前記移動手段を制御するコントローラと、
    を備え、
    前記コントローラは、
    当該コントローラによる制御内容を示す種別情報と前記ポイントの座標情報を含むステートメントを前記ポイントごとに並べて成る第1のプログラムを記憶する第1の記憶手段と、
    前記種別情報で特定され、変数を含んだ命令列により成り、前記制御内容を定義した第2のプログラムを記憶する第2の記憶手段と、
    1種類の前記変数に対する代入候補である複数のパラメータを記憶する第3の記憶手段と、
    前記1種類の変数に代入する前記パラメータを前記ステートメントごとに判定する判定部と、
    前記判定部の判定結果に応じて、前記パラメータが格納されているメモリ領域の1つと前記変数とを前記ステートメントごとに結びつけ直す変更部と、
    を備えること、
    を特徴とするロボット。
  2. 前記複数のポイントに対する作業内容はパラメータを除いて同一であり、
    前記各ステートメントには、同一の前記種別情報を含み、
    前記コントローラは、前記各ステートメントの実行に際し、同一の前記第2のプログラムを参照すること、
    を特徴とする請求項1記載のロボット。
  3. ユーザの操作に応じて前記第1のプログラムを作成及び編集するプログラミングツールを更に備え、
    前記プログラミングツールは、前記ユーザの操作に応じて前記ステートメントに前記パラメータの特定情報を付帯可能とし、
    前記判定部は、前記特定情報が付帯するか判定し、
    前記変更部は、前記特定情報が付帯していると、前記特定情報示す前記パラメータのメモリ領域を前記変数に結びつけること、
    を特徴とする請求項1又は2記載のロボット。
  4. 前記変更部は、前記特定情報がない場合に対応する前記パラメータのメモリ領域を前記変数に結びつけること、
    を特徴とする請求項3記載のロボット。
  5. 前記特定情報がない場合に対する複数の前記パラメータの1つは、適否を示すフラグが付帯し、
    前記判定部は、前記特定情報がなく、且つ前記フラグが適用を示すか判定し、
    前記変更部は、前記特定情報がなく、且つ前記フラグが適用を示す場合に対応する前記パラメータのメモリ領域を前記変数に結びつけること、
    を特徴とする請求項4記載のロボット。
  6. 前記判定部は、前記特定情報がなく、且つ前記フラグが適用否を示すか判定し、
    前記変更部は、前記特定情報がなく、且つ前記フラグが適用否を示す場合に対応する前記パラメータのメモリ領域を前記変数に結びつけること、
    を特徴とする請求項5記載のロボット。
  7. 前記作業ツールは、各ポイントに異なるネジ長のネジを締め付ける電動ドライバであり、
    前記変数は、ネジ長が代入されるために前記命令列に含まれること、
    を特徴とする請求項1乃至6の何れかに記載のロボット。
JP2015120201A 2015-06-15 2015-06-15 ロボット Active JP6585393B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015120201A JP6585393B2 (ja) 2015-06-15 2015-06-15 ロボット
TW105110713A TWI574803B (zh) 2015-06-15 2016-04-06 自動機
US15/175,603 US10226867B2 (en) 2015-06-15 2016-06-07 Robot
DE102016210097.1A DE102016210097B4 (de) 2015-06-15 2016-06-08 Roboter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015120201A JP6585393B2 (ja) 2015-06-15 2015-06-15 ロボット

Publications (2)

Publication Number Publication Date
JP2017004414A true JP2017004414A (ja) 2017-01-05
JP6585393B2 JP6585393B2 (ja) 2019-10-02

Family

ID=57395329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015120201A Active JP6585393B2 (ja) 2015-06-15 2015-06-15 ロボット

Country Status (4)

Country Link
US (1) US10226867B2 (ja)
JP (1) JP6585393B2 (ja)
DE (1) DE102016210097B4 (ja)
TW (1) TWI574803B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019167757A1 (ja) * 2018-02-28 2019-09-06 蛇の目ミシン工業株式会社 ロボット、制御方法およびプログラム
WO2021144911A1 (ja) * 2020-01-16 2021-07-22 オムロン株式会社 プログラム生成装置、プログラム生成方法、及び生成プログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI744147B (zh) * 2020-12-24 2021-10-21 財團法人工業技術研究院 可動式機械的動作測試方法與控制主機
CN115533925A (zh) * 2022-09-29 2022-12-30 广东国创智能科技有限公司 一种机器人示教方法、装置、计算机设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014226730A (ja) * 2013-05-17 2014-12-08 蛇の目ミシン工業株式会社 ロボット、ロボットの制御方法、及びロボットの制御プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002071267A2 (en) 2001-03-08 2002-09-12 International Business Machines Corporation System and method for personalized presentation of web pages
US8293036B2 (en) 2008-11-04 2012-10-23 The Nanosteel Company, Inc. Exploitation of deformation mechanisms for industrial usage in thin product forms
US9378065B2 (en) * 2013-03-15 2016-06-28 Advanced Elemental Technologies, Inc. Purposeful computing
JP5862611B2 (ja) 2013-04-02 2016-02-16 トヨタ自動車株式会社 作業変更装置、作業変更方法、及び作業変更プログラム
US10108172B2 (en) * 2014-10-13 2018-10-23 Autodesk, Inc. Spiral toolpaths for high-speed machining of polygonal pockets
EP3045986A1 (de) * 2015-01-15 2016-07-20 Siemens Aktiengesellschaft Fertigungsmaschine mit Eigenfunktionalitätsprüfung und Verfahren
JP6585391B2 (ja) * 2015-06-11 2019-10-02 蛇の目ミシン工業株式会社 ロボット

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014226730A (ja) * 2013-05-17 2014-12-08 蛇の目ミシン工業株式会社 ロボット、ロボットの制御方法、及びロボットの制御プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019167757A1 (ja) * 2018-02-28 2019-09-06 蛇の目ミシン工業株式会社 ロボット、制御方法およびプログラム
WO2021144911A1 (ja) * 2020-01-16 2021-07-22 オムロン株式会社 プログラム生成装置、プログラム生成方法、及び生成プログラム
JPWO2021144911A1 (ja) * 2020-01-16 2021-07-22
JP7260001B2 (ja) 2020-01-16 2023-04-18 オムロン株式会社 プログラム生成装置、プログラム生成方法、及び生成プログラム

Also Published As

Publication number Publication date
US10226867B2 (en) 2019-03-12
TWI574803B (zh) 2017-03-21
DE102016210097B4 (de) 2019-05-02
JP6585393B2 (ja) 2019-10-02
TW201643015A (zh) 2016-12-16
US20160361817A1 (en) 2016-12-15
DE102016210097A1 (de) 2016-12-15

Similar Documents

Publication Publication Date Title
JP6585393B2 (ja) ロボット
EP3178618B1 (en) Offline teaching device
US9063535B2 (en) Numerical control program execution by robot
EP3482886A1 (en) Programming assistance apparatus, robot system, and method for generating program
JP6585391B2 (ja) ロボット
US9891618B2 (en) Program correcting device and program correcting method of industrial robot
US10994422B2 (en) Robot system for adjusting operation parameters
JP2006293826A (ja) ロボットプログラム補正装置
EP3263268B1 (en) Offline teaching device
US20060037951A1 (en) Laser processing apparatus
KR101683696B1 (ko) 로봇, 로봇의 제어 방법, 및 로봇의 제어 프로그램
JP2009119589A (ja) ロボットシミュレータ
WO2009141006A1 (en) A method and a system for controlling an industrial robot in accordance with a set of motion control parameters
JP2017102720A (ja) 機械制御プログラム作成装置、機械制御システム、ライブラリ生成方法、機械制御プログラム追加方法及び制御方法
US20190235473A1 (en) Machining simulation display apparatus and machining simulation display method
JP2663575B2 (ja) プレイバックロボットの制御装置
JP2009110223A (ja) 数値制御装置、数値制御プログラム及び数値制御プログラムを記憶した記憶媒体
WO2018158795A1 (ja) 数値制御装置
JPS6359604A (ja) 数値制御装置の加工径路変更方法
JP3854089B2 (ja) 放電加工プログラム作成方法および装置
JP7469457B2 (ja) ロボットプログラミング装置及びロボットプログラミング方法
KR20190029284A (ko) 로봇의 제어 장치, 방법 및 시스템
WO2022138337A1 (ja) ロボット制御装置及びロボットシステム
JPS60101606A (ja) ロボツト自動運転方式
JP2020175473A (ja) 動作計画装置及び動作計画方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190516

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190905

R150 Certificate of patent or registration of utility model

Ref document number: 6585393

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350