JP2022114753A - 制御システム、ロボットコントローラおよび制御方法 - Google Patents

制御システム、ロボットコントローラおよび制御方法 Download PDF

Info

Publication number
JP2022114753A
JP2022114753A JP2021011175A JP2021011175A JP2022114753A JP 2022114753 A JP2022114753 A JP 2022114753A JP 2021011175 A JP2021011175 A JP 2021011175A JP 2021011175 A JP2021011175 A JP 2021011175A JP 2022114753 A JP2022114753 A JP 2022114753A
Authority
JP
Japan
Prior art keywords
robot
control device
control
correction amount
robot controller
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.)
Pending
Application number
JP2021011175A
Other languages
English (en)
Inventor
征彦 仲野
Masahiko Nakano
哲司 若年
Tetsuji Wakatoshi
誠啓 里村
Masahiro Satomura
知行 島村
Tomoyuki Shimamura
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
Omron Tateisi Electronics Co
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, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2021011175A priority Critical patent/JP2022114753A/ja
Priority to PCT/JP2021/009582 priority patent/WO2022162959A1/ja
Publication of JP2022114753A publication Critical patent/JP2022114753A/ja
Pending legal-status Critical Current

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
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Programmable Controllers (AREA)
  • Numerical Control (AREA)

Abstract

【課題】ロボットの軌道に対する補正をより正確に実現する技術を提供することを一つの目的としている。【解決手段】制御システムは、制御対象を制御するための制御装置と、ロボットを制御するためのロボットコントローラと、制御装置とロボットコントローラとの間で周期的にデータを更新するネットワークとを含む。制御装置は、ロボットの軌道に対する補正量を周期的に送信する手段を含む。ロボットコントローラは、制御装置から受信した命令に従って制御周期毎に指令値を計算する手段と、指令値と制御装置から周期的に受信する補正量とに基づいて、制御周期毎に補正後の指令値を計算する手段とを含む。【選択図】図1

Description

本発明は、制御システム、ロボットコントローラおよび制御方法に関する。
様々な生産現場において、PLC(プログラマブルコントローラ)などの制御装置を用いたFA(Factory Automation)技術が広く普及している。近年のICT(Information and Communication Technology)の進歩に伴って、制御装置は、従来のシーケンス制御だけではなく、ロボットや工作機械などを制御することも可能になっている。
例えば、特開2019-036043号公報(特許文献1)は、実行形式の異なる複数種類のプログラムに従う制御演算を単一の制御装置で実現する構成を開示する。
特開2019-036043号公報
例えば、XYステージ上に配置されたワークに対して、ロボットで何らかの加工を行うような構成を想定すると、XYステージの動きに合わせて、ロボットを制御することが好ましい。本発明は、ロボットの軌道に対する補正をより正確に実現する技術を提供することを一つの目的としている。
本発明のある局面に従う制御システムは、制御対象を制御するための制御装置と、ロボットを制御するためのロボットコントローラと、制御装置とロボットコントローラとの間で周期的にデータを更新するネットワークとを含む。制御装置は、ロボットの軌道に対する補正量を周期的に送信する手段を含む。ロボットコントローラは、制御装置から受信した命令に従って制御周期毎に指令値を計算する手段と、指令値と制御装置から周期的に受信する補正量とに基づいて、制御周期毎に補正後の指令値を計算する手段とを含む。
この構成によれば、ロボットコントローラは、制御装置から受信した命令に従って、本来の指令値を制御周期毎に計算するとともに、制御周期毎に計算される指令値に対して、制御装置から受信した補正量を反映して、補正後の指令値を計算できる。これによって、ロボットの軌道を任意に補正しようとした場合に、制御装置での補正量の計算結果を制御周期からずれることなく、確実に反映できる。これによって、ロボットの軌道について任意の補正を行う場合であっても、より精度の高い制御を行うことができる。
制御装置は、任意に作成された命令に従って補正量を計算するための第1のユーザプログラムを周期的に実行する手段をさらに含んでいてもよい。この構成によれば、制御装置では、ロボットに反映する任意の補正量を任意に計算できる。
第1のユーザプログラムは、ロボットの軌道に対する補正量を周期的に送信するための命令を含んでいてもよい。この構成によれば、ユーザは、第1のユーザプログラムに所定の命令を含めるだけで、ロボットに対する補正を容易に実現できる。
ロボットの軌道に対する補正量を周期的に送信するための命令は、ファンクション形式で第1のユーザプログラムに記述されるようにしてもよい。この構成によれば、ロボットの軌道に対する補正量を周期的に送信する処理を実現するための命令を簡単に記述できる。
制御装置は、第2のユーザプログラムを逐次実行することで、ロボットコントローラへ命令を逐次送信する手段をさらに含んでいてもよい。この構成によれば、ロボットの本来の軌道を規定する命令を第2のユーザプログラムに含ませることで、ロボットを意図した軌道で動作させることができる。
第2のユーザプログラムの実行周期は、第1のユーザプログラムの実行周期に比較して長く設定されてもよい。この構成によれば、補正量を計算する第1のユーザプログラムをより短い周期で実行できる。
ロボットコントローラは、制御装置から受信した特定の命令に従って、補正後の指令値の計算を有効化または無効化するように構成されてもよい。この構成によれば、ロボットの軌道に対する補正を任意の期間の間だけ有効化するような使い方ができる。
ロボットコントローラは、ロボットの状態値を周期的に送信する手段をさらに含んでいてもよい。この構成によれば、制御装置は、ロボットの状態値を取得できるので、取得したロボットの状態値を補正量の計算などに反映できる。
本発明の別の局面に従えば、ロボットを制御するためのロボットコントローラが提供される。ロボットコントローラは、制御対象を制御するための制御装置とネットワークを介して接続するためのインターフェイスを含む。ネットワークにおいては、制御装置とロボットコントローラとの間で周期的にデータが更新されるように構成されている。ロボットコントローラは、制御装置から周期的に送信されるロボットの軌道に対する補正量を受信する手段と、制御装置から受信した命令に従って制御周期毎に指令値を計算する手段と、指令値と制御装置から周期的に受信する補正量とに基づいて、制御周期毎に補正後の指令値を計算する手段とを含む。
本発明のさらに別の局面に従えば、制御対象を制御するための制御装置と、ロボットを制御するためのロボットコントローラと、制御装置とロボットコントローラとの間で周期的にデータを更新するネットワークとを備える制御システムにおける制御方法が提供される。制御方法は、制御装置が、ロボットの軌道に対する補正量を周期的に送信するステップと、ロボットコントローラが、制御装置から受信した命令に従って制御周期毎に指令値を計算するステップと、ロボットコントローラが、指令値と制御装置から周期的に受信する補正量とに基づいて、制御周期毎に補正後の指令値を計算するステップとを含む。
本発明によれば、ロボットの軌道に対する補正をより正確に実現できる。
本実施の形態に係る制御システムのシステム構成例を示す模式図である。 本実施の形態に係る制御システムの適用例を示す図である。 本実施の形態に係る制御システムを構成する制御装置のハードウェア構成例を示す模式図である。 本実施の形態に係る制御システムを構成するロボットコントローラのハードウェア構成例を示す模式図である。 本実施の形態に係る制御システムを構成するサーボコントローラのハードウェア構成例を示す模式図である。 本実施の形態に係る制御システムを構成するサポート装置のハードウェア構成例を示す模式図である。 本実施の形態に係る制御装置におけるプログラムの実行例を示す模式図である。 本実施の形態に係る制御システムによるロボットの軌道制御の一例を示す図である。 本実施の形態に係る制御システムにおいてアプリケーションプログラムに補正命令を含めた場合の処理例を示す図である。 本実施の形態に係る制御システムにおけるロボットの目標軌道補正を実現するための処理例を示す図である。 本実施の形態に係る制御システムのプログラム例に対応するシステム構成を示す模式図である。 図11に示すロボットを用いたアプリケーションの一例を示す模式図である。 図12に示すアプリケーションを実現するためのアプリケーションプログラムの一例を示す図である。 図12に示すアプリケーションを実現するためのIECプログラムの一例を示す図である。 本実施の形態に係る制御システムの補正量反映命令を示すファンクションの一例を示す図である。 本実施の形態に係る制御システムの制御装置で実行される処理手順を示すフローチャートである。 本実施の形態に係る制御システムのロボットコントローラで実行される処理手順を示すフローチャートである。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
<A.適用例>
まず、本実施の形態に係る制御システム1のシステム構成例について説明する。
図1は、本実施の形態に係る制御システム1のシステム構成例を示す模式図である。図1を参照して、制御システム1は、制御対象を制御するための制御装置100と、フィールドネットワーク10を介して制御装置100とネットワーク接続された、ロボットコントローラ250と、サーボコントローラ350とを含む。
制御装置100は、フィールドネットワーク10に接続されたデバイスとの間で周期的にデータをやり取りして、後述するような処理を実行する。制御装置100は、典型的には、PLC(プログラマブルロジックコントローラ)により実現されてもよい。
ロボットコントローラ250は、ロボット200の制御を担当する。より具体的には、ロボットコントローラ250は、ロボット200との間のインターフェイスとして機能し、制御装置100からの指令に従って、ロボット200を駆動するための指令を出力するとともに、ロボット200の状態情報を取得して制御装置100へ出力する。
ロボット200は、例えば、垂直多関節ロボット、水平多関節(スカラ)ロボット、パラレルリンクロボット、直交ロボットなどの任意のロボットを採用できる。
サーボコントローラ350は、サーボモータ300の制御を担当する。より具体的には、サーボコントローラ350は、制御装置100からの指令に従って、サーボモータ300を駆動するとともに、サーボモータ300の状態情報を取得して制御装置100へ出力する。
フィールドネットワーク10には、産業用ネットワーク用のプロトコルである、EtherCAT(登録商標)やEtherNet/IPなどを用いることができる。プロトコルとしてEtherCATを採用した場合には、制御装置100とフィールドネットワーク10に接続されたデバイスとの間で、例えば、数百μ秒~数m秒の定周期でデータを更新できる。
制御装置100は、上位ネットワーク20を介して、表示装置500およびサーバ装置600に接続されてもよい。上位ネットワーク20には、産業用ネットワーク用のプロトコルであるやEtherNet/IPなどを用いることができる。
制御装置100には、制御装置100で実行されるユーザプログラム(後述する、IECプログラム150およびアプリケーションプログラム160)のインストールや各種設定を行うためのサポート装置400が接続されてもよい。
図2は、本実施の形態に係る制御システム1の適用例を示す図である。図2を参照して、制御装置100からロボットコントローラ250に対して、ロボット200の軌道を生成するための命令が逐次送信される。
ロボットコントローラ250は、制御装置100から受信した命令に従って、ロボット200に対する指令値を制御周期毎に計算する。並行して、制御装置100は、ロボットコントローラ250に対して、ロボット200の軌道に対する補正量を制御周期毎に送信する。ロボットコントローラ250は、指令値と制御装置100から周期的に受信する補正量とに基づいて、制御周期毎に補正後の指令値を計算する。そして、ロボットコントローラ250は、補正後の指令値をロボット200へ出力する。
<B.ハードウェア構成例>
次に、図1および図2に示す制御システム1を構成する主要装置のハードウェア構成例について説明する。
(b1:制御装置100)
図3は、本実施の形態に係る制御システム1を構成する制御装置100のハードウェア構成例を示す模式図である。図3を参照して、制御装置100は、プロセッサ102と、メインメモリ104と、ストレージ110と、メモリカードインターフェイス112と、上位ネットワークコントローラ106と、フィールドネットワークコントローラ108と、ローカルバスコントローラ116と、USB(Universal Serial Bus)インターフェイスを提供するUSBコントローラ120とを含む。これらのコンポーネントは、プロセッサバス118を介して接続されている。
プロセッサ102は、制御演算を実行する演算処理部に相当し、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などで構成される。具体的には、プロセッサ102は、ストレージ110に格納されたプログラムを読み出して、メインメモリ104に展開して実行することで、制御対象に対する制御演算を実現する。
メインメモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ110は、例えば、SSD(Solid State Drive)やHDD(Hard Disk Drive)などの不揮発性記憶装置などで構成される。
ストレージ110には、基本的な機能を実現するためのシステムプログラム1102、および、制御対象に応じて作成されたIECプログラム150およびアプリケーションプログラム160などが格納される。
IECプログラム150は、制御システム1におけるロボット200の制御以外の主たる制御を実現するための命令を含む。IECプログラム150は、典型的には、シーケンス命令およびモーション命令を含み得る。IECプログラム150は、国際電気標準会議(IEC:International Electrotechnical Commission)が定めるIEC61131-3で規定されるいずれかの言語で記述されてもよい。但し、IECプログラム150は、IEC61131-3で規定される言語以外のメーカ独自言語で記述されるプログラムを含んでいてもよい。
アプリケーションプログラム160は、ロボット200の動作を制御するための命令を含む。アプリケーションプログラム160は、所定のプログラミング言語(例えば、V+言語などのロボット制御用プログラミング言語やGコードなどのNC制御に係るプログラミング言語)で記述された命令を含んでいてもよい。
メモリカードインターフェイス112は、着脱可能な記憶媒体の一例であるメモリカード114を受け付ける。メモリカードインターフェイス112は、メモリカード114に対して任意のデータの読み書きが可能になっている。
上位ネットワークコントローラ106は、上位ネットワーク20を介して、任意の情報処理装置(図1および図2に示される表示装置500およびサーバ装置600など)との間でデータをやり取りする。
フィールドネットワークコントローラ108は、フィールドネットワーク10を介して、それぞれのデバイスとの間でデータをやり取りする。図1および図2に示すシステム構成例において、フィールドネットワークコントローラ108は、フィールドネットワーク10の通信マスタとして機能してもよい。
ローカルバスコントローラ116は、ローカルバス122を介して、制御装置100に含まれる任意の機能ユニット130との間でデータをやり取りする。機能ユニット130は、例えば、アナログ信号の入力および/または出力を担当するアナログI/Oユニット、デジタル信号の入力および/または出力を担当するデジタルI/Oユニット、エンコーダなどからのパルスを受け付けるカウンタユニットなどからなる。
USBコントローラ120は、USB接続を介して、任意の情報処理装置(サポート装置400など)との間でデータをやり取りする。
(b2:ロボットコントローラ250)
図4は、本実施の形態に係る制御システム1を構成するロボットコントローラ250のハードウェア構成例を示す模式図である。図4を参照して、ロボットコントローラ250は、
ロボットコントローラ250は、フィールドネットワークコントローラ252と、制御処理回路260とを含む。
フィールドネットワークコントローラ252は、フィールドネットワーク10を介して、主として、制御装置100との間でデータをやり取りする。すなわち、フィールドネットワークコントローラ252は、制御装置100とフィールドネットワーク10を介して接続するためのインターフェイスに相当する。
制御処理回路260は、ロボット200を駆動するために必要な演算処理を実行する。一例として、制御処理回路260は、プロセッサ262と、メインメモリ264と、ストレージ266と、インターフェイス回路270とを含む。
プロセッサ262は、ロボット200を駆動するための制御演算を実行する。メインメモリ264は、例えば、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ266は、例えば、SSDやHDDなどの不揮発性記憶装置などで構成される。
ストレージ266には、ロボット200を駆動するための制御を実現するためのシステムプログラム268が格納される。システムプログラム268は、ロボット200の動作に係る制御演算を実行する命令、および、ロボット200との間のインターフェイスに係る命令を含む。
インターフェイス回路270は、ロボット200との間でデータをやり取りする。
(b3:サーボコントローラ350)
図5は、本実施の形態に係る制御システム1を構成するサーボコントローラ350のハードウェア構成例を示す模式図である。図5を参照して、サーボコントローラ350は、フィールドネットワークコントローラ352と、制御処理回路360と、ドライブ回路370とを含む。
フィールドネットワークコントローラ352は、フィールドネットワーク10を介して、主として、制御装置100との間でデータをやり取りする。
制御処理回路360は、サーボモータ300の制御に必要な演算処理を実行する。一例として、制御処理回路360は、プロセッサ362と、メインメモリ364と、ストレージ366とを含む。
プロセッサ362は、サーボモータ300に係る制御演算を実行する。メインメモリ364は、例えば、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ366は、例えば、SSDやHDDなどの不揮発性記憶装置などで構成される。
ストレージ366には、サーボモータ300の駆動制御を実現するためのシステムプログラム368が格納される。システムプログラム368は、サーボモータ300の動作に係る制御演算を実行する命令、および、サーボモータ300との間のインターフェイスに係る命令を含む。
ドライブ回路370は、コンバータ回路およびインバータ回路などを含み、制御処理回路360により計算された指令に従って、指定された電圧・電流・位相の電力を生成して、サーボモータ300へ供給する。
サーボモータ300は、サーボモータとの名称に限定されず、誘導型モータ、同期型モータ、永久磁石型モータ、リラクタンスモータのいずれを採用してもよいし、回転型だけではなく、リニアモータを採用してもよい。
(b4:サポート装置400)
本実施の形態に係る制御システム1を構成するサポート装置400は、一例として、汎用パソコンを用いて実現されてもよい。
図6は、本実施の形態に係る制御システム1を構成するサポート装置400のハードウェア構成例を示す模式図である。図6を参照して、サポート装置400は、CPUやMPUなどのプロセッサ402と、メインメモリ404と、入力部406と、表示部408と、ストレージ410と、ネットワークコントローラ416と、USBコントローラ418と、光学ドライブ420とを含む。これらのコンポーネントはバス424を介して接続される。
プロセッサ402は、ストレージ410に格納された各種プログラムを読み出して、メインメモリ404に展開して実行することで、制御装置100で実行されるユーザプログラム(IECプログラム150およびアプリケーションプログラム160)の開発などの処理を提供する。
ストレージ410は、例えば、SSDやHDDなどの不揮発性記憶装置などで構成される。ストレージ410には、典型的には、OS412と、制御装置100において実行されるユーザプログラムの作成、作成したユーザプログラムのデバッグ、システム構成の定義、各種パラメータの設定などを行うための開発プログラム414とが格納される。ストレージ410には、図6に示すプログラム以外の必要なプログラムが格納されてもよい。
入力部406は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部408は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ402からの処理結果などを出力する。
ネットワークコントローラ416は、任意のネットワークを介した他の装置との間のデータのやり取りを制御する。USBコントローラ418は、USB接続を介して制御装置100との間のデータのやり取りを制御する。
サポート装置400は、光学ドライブ420を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体422(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読取られてストレージ410などにインストールされる。
サポート装置400で実行される各種プログラムは、コンピュータ読取可能な記録媒体422を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置400が提供する機能は、OS412が提供するモジュールの一部を利用する形で実現される場合もある。
(b5:表示装置500)
本実施の形態に係る制御システム1を構成する表示装置500は、一例として、汎用パソコンを用いて実現されてもよい。表示装置500の基本的なハードウェア構成例は、周知であるので、ここでは詳細な説明は行わない。
(b6:サーバ装置600)
本実施の形態に係る制御システム1を構成するサーバ装置600は、一例として汎用パソコンを用いて実現されてもよい。サーバ装置600の基本的なハードウェア構成例は、周知であるので、ここでは詳細な説明は行わない。
(b7:その他の形態)
図3~図6には、1または複数のプロセッサがプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。
<C.IECプログラムおよびアプリケーションプログラムの実行>
次に、本実施の形態に係る制御装置100におけるIECプログラム150およびアプリケーションプログラム160の実行について説明する。
図7は、本実施の形態に係る制御装置100におけるプログラムの実行例を示す模式図である。図7には、一例として、優先度別に複数のタスクが設定され、各タスクがそれぞれの優先度に応じてプロセッサ102のリソースを共有する例を示す。
図7に示す例では、高優先タスクと低優先タスクとの2種類のタスクが実行される例を示す。より具体的には、入出力リフレッシュ処理140、IECプログラム150の実行処理142、IECプログラム150に含まれるモーション命令の実行処理144と、アプリケーションプログラム160の解釈後の実行処理146とは、制御周期T1の高優先タスクとして実行される。
一方、アプリケーションプログラム160を逐次解釈する処理は、アプリケーション周期T2(>制御周期T1)の低優先タスクとして実行される。
高優先タスクは、制御周期T1毎に繰返し実行される。低優先タスクは、高優先タスクが実行されていない期間に都度実行される。すなわち、制御周期毎に、高優先タスクの実行時間が割当てられ、高優先タスクの実行時間以外の時間において、低優先タスクが実行される。
アプリケーションプログラム160は、図示しないインタプリタによって逐次解釈される。インタプリタがアプリケーションプログラム160を解釈して生成された中間コードは、逐次、バッファ148にキューイング(エンキュー)される。バッファ148にキューイングされた中間コードは、実行処理146において都度参照されて、指令が生成される。このように、制御装置100は、アプリケーションプログラム160(第2のユーザプログラム)を逐次実行することで、ロボットコントローラ250へ命令を逐次送信する機能を含む。
図7に示すように、アプリケーションプログラム160の解釈(インタプリタ)は、制御周期T1とは長い周期で実行されるともに、定時性も十分には確保されない。すなわち、アプリケーションプログラム160(第2のユーザプログラム)の実行周期(アプリケーション周期T2)は、IECプログラム150(第1のユーザプログラム)の実行周期(制御周期T1)に比較して長く設定される。但し、通常は、ロボットコントローラ250(図1および図2)が制御装置100から送信された指令に基づいて、ロボットコントローラ250の制御周期毎に指令値を計算するので、精度上の問題は生じない。
<D.課題>
次に、図7に示すプログラム実行において生じ得る課題について説明する。一例として、ロボットコントローラ250の軌道に対して任意の補正(以下、「目標軌道補正」とも称す。)を行う処理を想定する。
図8は、本実施の形態に係る制御システム1によるロボット200の軌道制御の一例を示す図である。図8には、目標軌道補正の例として、ロボット200のトラッキング補正を示す。より具体的には、XYステージ上に配置されたワークに対して、ロボット200で所定の加工を行う場合に、XYステージに生じる変動を補正するような場合が挙げられる。
この場合、予め定められたロボット軌道に従ってロボット200を制御する構成に対して、XYステージの動きに応じた補正量でロボット200の軌道を補正することになる。
次に、図8に示すようなロボット200に対する目標軌道補正を実現する方法の一例について説明する。
図9は、本実施の形態に係る制御システム1においてアプリケーションプログラム160に補正命令を含めた場合の処理例を示す図である。図9を参照して、制御装置100では、アプリケーションプログラム160が実行される。図9には、一例として、V+言語で記述されたロボットプログラムのコードを示す。V+言語においては、各命令は「キーワード」と称される。以下では、「命令」の一例として「キーワード」を用いる場合について説明するが、「キーワード」に限られず、言語体系に応じた任意の命令を用いることができる。
より具体的には、アプリケーションプログラム160は、指定された座標に移動するための命令であるMOVESキーワード161と、繰返し処理を指定する命令であるWHILE命令162とを含む。WHILE命令162には、補正量の計算命令163と、指定された補正量の補正を指示するALTERキーワード164とを含む。すなわち、MOVESキーワード161の送信後、MOVESキーワード161の実行が完了するまで、補正量の計算および補正量の補正の指示が繰返し実行される。
制御装置100がアプリケーションプログラム160を実行することで、まず、MOVESキーワード161がロボットコントローラ250へ送信され、その後、ALTERキーワード164が繰返し送信される。
一方、ロボットコントローラ250は、MOVESキーワード161を受信すると、1または複数の制御周期T3を必要とする命令であるので、ロボットコントローラ250の制御周期T3毎に指令値計算281および指令値出力283を繰返し実行する。指令値計算281は、MOVESキーワード161に付随する目標位置p1に対する軌道を計算する処理(補間処理)である。この処理によって、ロボットコントローラ250からロボット200に対して制御周期T3毎に指令値が出力されることになる。すなわち、ロボットコントローラ250は、制御装置100から受信したキーワード(命令の一例)に従って制御周期T3毎に指令値を計算する。
加えて、ロボットコントローラ250は、ALTERキーワード164を受信すると、ALTERキーワード164に含まれている補正量284を用いて、補正量加算282を実行する。これによって、補正量284が加算(あるいは、減算)された指令値が出力される。なお、ALTERキーワード164は、1回の制御周期T3で実行が完了する命令である。そのため、指令値に対する補正処理は、ALTERキーワード164を受信する都度実行されることになる。
但し、アプリケーションプログラム160の実行周期は非定周期なので、ALTERキーワード164の送信周期は一定せず、また、制御装置の制御周期T1とも必ずしも同期しない。そのため、ロボットコントローラ250における補正処理の実行タイミングがばらつく可能性がある。
<E.解決手段>
次に、上述したような課題を解決するための構成について説明する。
図10は、本実施の形態に係る制御システム1におけるロボット200の目標軌道補正を実現するための処理例を示す図である。図10を参照して、制御装置100では、IECプログラム150およびアプリケーションプログラム160が実行される。
図10に示す例では、IECプログラム150は、補正量計算命令151および補正量反映命令152を含む。アプリケーションプログラム160は、指定された座標に移動するための命令であるMOVESキーワード161を含む。
図9と同様に、制御装置100がアプリケーションプログラム160を実行することで、まず、MOVESキーワード161がロボットコントローラ250へ送信される。ロボットコントローラ250は、MOVESキーワード161を受信すると、ロボットコントローラ250の制御周期T3毎に指令値計算281および指令値出力283を繰返し実行する。
一方、制御装置100は、制御周期T1毎にIECプログラム150を実行する。IECプログラム150が実行されることで、補正量計算命令151に従って、補正量286が計算されるとともに、補正量反映命令152に従って、補正量286がロボットコントローラ250へ送信される。すなわち、補正量計算命令151は、ロボット200の軌道に対する補正量を計算するための要素に相当する。また、補正量反映命令152は、ロボット200の軌道に対する補正量を周期的に送信する要素に相当する。
このように、制御装置100は、任意の作成された命令に従って補正量286を計算するためのIECプログラム150(第1のユーザプログラム)を周期的に実行するようになっている。そして、IECプログラム150(第1のユーザプログラム)は、ロボット200の軌道に対する補正量286を周期的に送信するための命令として補正量反映命令152を含む。
制御装置100およびロボットコントローラ250は、通信周期T4毎にデータ伝送(データ更新)がされるフィールドネットワーク10を介して接続されている。そのため、制御装置100とロボットコントローラ250との間では、通信周期T4毎にデータをやり取り(交換)できる。
通常、制御周期T1と通信周期T4とは一致するように設定される(制御周期T1=通信周期T4)ので、ロボットコントローラ250は、制御装置100が計算した補正量286を制御周期T1(あるいは、通信周期T4)毎に受信できる。
通常、ロボットコントローラ250の制御周期T3は、制御周期T1および通信周期T4と同程度あるいはより長くなるように設定される(制御周期T3≧制御周期T1,通信周期T4)ので、ロボットコントローラ250の制御周期T3に比較して、十分早い周期で補正量286は更新されることになる。
そのため、ロボットコントローラ250は、制御装置100から周期的に送信されるロボット200の軌道に対する補正量286を受信することができる。そして、ロボットコントローラ250は、制御装置100が制御周期毎に計算する補正量286を用いて、補正量加算282を実行する。これによって、補正量284が加算(あるいは、減算)された指令値が出力される。すなわち、ロボットコントローラ250は、指令値と制御装置100から周期的に受信する補正量286とに基づいて、制御周期T3毎に補正後の指令値を計算する。
なお、補正量286が補正量加算282に入力される経路上には、有効化/無効化スイッチ287が設けられており、後述するようなALTONキーワードおよびALTOFFキーワードによって、それぞれ有効化または無効化される。すなわち、ロボットコントローラ250は、制御装置100から受信した特定のキーワード(命令の一例)に従って、補正後の指令値の計算を有効化または無効化する。
このように、本実施の形態に係る制御システム1においては、ロボットコントローラ250による目標軌道補正を予め定められた制御周期T3毎に確実に行うことができるとともに、制御装置100により計算された補正量286を実質的な遅延なく目標軌道補正に反映できる。
ロボットコントローラ250は、状態情報288(ロボット200の各軸の位置、ロボット200の入出力値、命令の実行状態など)を制御装置100へ周期的に送信する。すなわち、ロボットコントローラ250は、ロボット200の状態値を周期的に送信する要素を有している。状態情報288についても通信周期T4毎に送信されることになる。そのため、制御装置100は、ロボットコントローラ250から周期的に受信する状態情報288に基づいて、補正量の計算を制御周期T1毎に行うこともできる。そのため、補正量をより高い精度で計算できる。
<F.プログラム例>
次に、本実施の形態に係る制御システム1のプログラム例について説明する。
図11は、本実施の形態に係る制御システム1のプログラム例に対応するシステム構成を示す模式図である。図11を参照して、制御装置100には、フィールドネットワーク10を介して、ロボット200を制御するロボットコントローラ250と、ロボット200のエンドエフェクタ210に装着された距離センサ50とが接続されている。
制御装置100は、ロボットコントローラ250に対して指令値を送信することができるとともに、ロボットコントローラ250から状態情報を取得できる。また、制御装置100は、距離センサ50から計測された距離を取得できる。
図12は、図11に示すロボット200を用いたアプリケーションの一例を示す模式図である。
図12(A)を参照して、ロボット200のエンドエフェクタ210とベース42上に配置されたワーク40との距離を一致に維持する処理を想定する。このような処理は、例えば、ワーク40の検査やワーク40に対する塗布などのアプリケーションに必要になる。
図12(B)を参照して、ロボット200のエンドエフェクタ210とワーク40などの露出面との距離を基準距離に維持する場合を想定する。この場合、距離センサ50により計測された距離に補正量を加算または減算した結果が基準距離と一致するように、補正量が計算される。すなわち、「基準距離=距離センサ50により計測された距離+補正量」となるように、補正量が制御周期毎に計算される。
図13は、図12に示すアプリケーションを実現するためのアプリケーションプログラム160の一例を示す図である。図13を参照して、アプリケーションプログラム160は、ロボットコントローラ250に対して、目標軌道補正の有効化を指示する有効化部165と、ロボット200を初期位置に移動させるための初期位置移動部166と、IECプログラムでの補正量反映命令152の実行を有効化するための実行有効化部167と、IECプログラムでの補正量反映命令152の実行を待つ実行待機部168と、ロボット200を予め定められた軌道で動作させるための軌道目標指令部169と、処理を終了するための終了処理部170とを含む。
有効化部165は、目標軌道補正を有効化するための命令であるALTONキーワードを含む。ロボットコントローラ250は、ALTONキーワードを受信することで、図10に示す目標軌道補正の補正量加算282を有効化する。
初期位置移動部166は、指定された座標に移動するための命令であるMOVESキーワードを含む。なお、オブジェクトloc.initには、初期位置が格納されている。
実行有効化部167は、ブール変数ebool_sp1を「TRUE」に設定する命令を含む。
実行待機部168は、IECプログラム150においてブール変数gStartCompが「TRUE」になるまで処理を待機する命令を含む。ブール変数gStartCompは、図14に示す補正準備完了フラグ158に対応する。
軌道目標指令部169は、3つのMOVESキーワードを含み、それぞれ目標位置p1,p2,p3へ順次移動することが規定されている。
終了処理部170は、目標軌道補正を無効化するための命令であるALTOFFキーワードを含む。
図14は、図12に示すアプリケーションを実現するためのIECプログラム150の一例を示す図である。図14を参照して、IECプログラム150は、アプリケーションプログラム160の起動および監視を実行するための起動監視命令159と、補正量計算命令151と、補正量反映命令152とを含む。
起動監視命令159は、ロボット200を動作させるための所定条件が満たされると、アプリケーションプログラム160を起動するとともに、アプリケーションプログラム160の実行状態を監視する。
補正量計算命令151は、補正量155を示す構造体Offsetの2番目の要素(Offset[2])として、基準距離156(cBaseDiff)と距離センサ50により計測された現在距離157(E002_input_Data_1)との差分を計算する命令を含む。なお、補正量155の計算は、アプリケーションプログラム160が実行中であることを示すアプリケーションプログラム実行中フラグ154が「TRUE」であることを条件に実行される。
補正量反映命令152には、補正量計算命令151において計算される補正量155(Offset)が入力される。補正量反映命令152が実行されることで、補正量155がロボットコントローラ250へ送信される。また、補正量反映命令152は、補正量155を送信できる状態であれば、補正準備完了フラグ158を「TRUE」に設定する。
補正量反映命令152は、どのような形式であってもよいが、例えば、図14に示すようにファンクション形式を採用してもよい。
図15は、本実施の形態に係る制御システム1の補正量反映命令152を示すファンクションの一例を示す図である。図15を参照して、補正量反映命令152は、入力として、ロボット指定1521と、実行指定1522と、補正量指定1523とを含む。また、補正量反映命令152は、出力として、選択中ロボット1524と、補正準備完了フラグ1525と、ビジーフラグ1526と、アボートフラグ1527と、エラーフラグ1528と、エラーID1529とを含む。
ロボット指定1521には、対象のロボット200を指定するための変数が設定される。実行指定1522には、補正量反映命令152の実行を指示するためのブール変数が設定される。補正量指定1523には、対象のロボット200のロボットコントローラ250へ送信される補正量を示す変数が設定される。
補正量を示す変数として構造体を用いる場合には、例えば、X軸の補正量[mm]、Y軸の補正量[mm]、Z軸の補正量[mm]、X軸の補正量[deg]、Y軸の補正量[deg]、Z軸の補正量[deg]などを格納する構造体を採用することができる。すなわち、補正量としては、特定の軸についての補正値だけではなく、複数の軸それぞれについての補正値を含んでいてもよい。
選択中ロボット1524からは、選択中のロボット200を特定するための情報が出力される。補正準備完了フラグ1525は、選択中のロボット200に対する目標軌道補正が実行可能な状態であるか否かを示す情報が出力される。ビジーフラグ1526、アボートフラグ1527、エラーフラグ1528からは、ビジー状態の有無、アボート発生の有無、エラー発生の有無などが出力される。エラーID1529からは、発生したエラーを特定するための情報が出力される。
このように、ロボット200の軌道に対する補正量286を周期的に送信するための命令である補正量反映命令152は、ファンクション形式でIECプログラム150(第1のユーザプログラム)に記述されてもよい。
上述したようなIECプログラム150およびアプリケーションプログラム160を用いることで、図12に示すアプリケーションを制御できる。
<G.処理手順>
次に、本実施の形態に係る制御システム1の制御装置100およびロボットコントローラ250で実行される処理について説明する。
図16は、本実施の形態に係る制御システム1の制御装置100で実行される処理手順を示すフローチャートである。図16(A)には、制御装置100がIECプログラム150を実行する処理を示し、図16(B)には、制御装置100がアプリケーションプログラム160を実行する処理を示す。図16(A)および図16(B)に示す各ステップは、制御装置100のプロセッサ102がプログラムを実行することで実現されてもよい。
図16(A)に示す処理は、制御装置100の制御周期T1毎に繰返し実行される。図16(A)を参照して、制御装置100は、まず、入出力リフレッシュ処理140を実行する。より具体的には、制御装置100は、前回の制御周期で計算した指令値を出力し(ステップS100)、今回の制御周期で利用する入力値を取得する(ステップS102)。制御装置100から出力される指令値は、目標軌道補正に用いられる補正量286が含まれる。制御装置100が取得する入力値は、ロボットコントローラ250からの状態情報288を含む。
制御装置100は、取得した入力値および内部的に保持する状態値に基づいて、目標軌道補正を実行できる状態であるか否かを判断する(ステップS104)。
目標軌道補正を実行できる状態であれば(ステップS104においてYES)、制御装置100は、補正量計算命令151に従って、目標軌道補正に用いる補正量284を計算し(ステップS106)、補正量反映命令152に従って、計算した補正量284をセットする(ステップS108)。セットされた補正量284が次回の制御周期T1における指令値となる。このような手順によって、制御装置100は、ロボット200の軌道に対する補正量284を周期的に送信する。
図16(B)に示す処理は、1回の実行がアプリケーション周期T2内に収まるように、逐次実行される。図16(B)を参照して、制御装置100は、アプリケーションプログラム160を逐次実行して、対象行の内容がキーワードであるか否かを判断する(ステップS150)。対象行の内容がキーワードであれば(ステップS150においてYES)、制御装置100は、対象のキーワードをロボットコントローラ250へ送信する(ステップS152)。
対象行の内容がキーワードでなければ(ステップS150においてNO)、制御装置100は、対象行の内容を実行して、その実行結果を対象変数に格納する(ステップS154)。例えば、対象行は、DO~WHILE文やIF文などの制御命令を含む。
図17は、本実施の形態に係る制御システム1のロボットコントローラ250で実行される処理手順を示すフローチャートである。図17に示す処理は、ロボットコントローラ250の制御周期T3毎に繰返し実行される。図17に示す各ステップは、ロボットコントローラ250のプロセッサ262がプログラムを実行することで実現されてもよい。
図17を参照して、ロボットコントローラ250は、まず、入出力リフレッシュ処理を実行する。より具体的には、ロボットコントローラ250は、前回の制御周期で計算した指令値を出力し(ステップS200)、今回の制御周期で利用する入力値を取得する(ステップS202)。ロボットコントローラ250からの指令値の出力は、ロボット200を駆動する指令の出力、および、前回の制御周期の状態値を含む状態情報288の制御装置100への送信を含む。ロボットコントローラ250が取得する入力値は、ロボット200の状態値(ロボット200の各軸の位置やロボット200の入出力値など)を含む。
続いて、ロボットコントローラ250は、制御装置100から何らかのキーワードを受信したか否かを判断する(ステップS204)。制御装置100から何らかのキーワードを受信していれば(ステップS204においてYES)、ロボットコントローラ250は、受信したキーワードをバッファに格納する(ステップS206)。制御装置100から何らのキーワードも受信していなければ(ステップS204においてNO)、ステップS206の処理はスキップされる。
続いて、ロボットコントローラ250は、何らかのキーワードを実行中であるか否かを判断する(ステップS208)。何らかのキーワードを実行中であれば(ステップS208においてYES)、ロボットコントローラ250は、実行中のキーワードに従って、今回の制御周期の指令値を計算する(ステップS210)。このように、ロボットコントローラ250は、制御装置100から受信したキーワード(命令の一例)に従って制御周期T3毎に指令値を計算する。
何らのキーワードも実行中でなければ(ステップS208においてNO)、ロボットコントローラ250は、バッファにキーワードが格納されているか否かを判断する(ステップS212)。バッファにキーワードが格納されていれば(ステップS212においてYES)、ロボットコントローラ250は、バッファからキーワードを読み出して(ステップS214)、読み出したキーワードに従って指令値を計算する(ステップS216)。
ロボットコントローラ250は、目標軌道補正が有効化されているか否かを判断する(ステップS218)。目標軌道補正が有効化されていれば(ステップS218においてYES)、ロボットコントローラ250は、ステップS202において取得した補正量を指令値に加算して、補正後の指令値を計算する(ステップS220)。このように、ロボットコントローラ250は、指令値と制御装置100から周期的に受信する補正量286とに基づいて、制御周期T3毎に補正後の指令値を計算する。
目標軌道補正が有効化されていなければ(ステップS218においてNO)、ステップS220の処理はスキップされる。
最終的に、ロボットコントローラ250は、指令値または補正後の指令値をロボット200へ出力する(ステップS222)。
バッファにキーワードが格納されていなければ(ステップS212においてNO)、ステップS214~S222の処理はスキップされる。
<H.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
制御対象を制御するための制御装置(100)と、
ロボット(200)を制御するためのロボットコントローラ(250)と、
前記制御装置と前記ロボットコントローラとの間で周期的にデータを更新するネットワーク(10)とを備え、
前記制御装置は、前記ロボットの軌道に対する補正量(161)を周期的に送信する手段(102,152)を備え、
前記ロボットコントローラは、
前記制御装置から受信した命令に従って制御周期毎に指令値を計算する手段(262,281)と、
前記指令値と前記制御装置から周期的に受信する補正量とに基づいて、制御周期毎に補正後の指令値を計算する手段(262,282)とを備える、制御システム。
[構成2]
前記制御装置は、任意に作成された命令に従って前記補正量を計算するための第1のユーザプログラム(150)を周期的に実行する手段をさらに備える、構成1に記載の制御システム。
[構成3]
前記第1のユーザプログラムは、前記ロボットの軌道に対する補正量を周期的に送信するための命令(152)を含む、構成2に記載の制御システム。
[構成4]
前記ロボットの軌道に対する補正量を周期的に送信するための命令は、ファンクション形式で前記第1のユーザプログラムに記述される、構成3に記載の制御システム。
[構成5]
前記制御装置は、第2のユーザプログラムを逐次実行することで、前記ロボットコントローラへ命令を逐次送信する手段(102,160)をさらに備える、構成2~4のいずれか1項に記載の制御システム。
[構成6]
前記第2のユーザプログラムの実行周期(T2)は、前記第1のユーザプログラムの実行周期(T1)に比較して長く設定される、構成5に記載の制御システム。
[構成7]
前記ロボットコントローラは、前記制御装置から受信した特定の命令に従って、補正後の指令値の計算を有効化または無効化するように構成されている(287)、構成1~6のいずれか1項に記載の制御システム。
[構成8]
前記ロボットコントローラは、前記ロボットの状態値(288)を周期的に送信する手段をさらに備える、構成1~7のいずれか1項に記載の制御システム。
[構成9]
ロボット(200)を制御するためのロボットコントローラ(250)であって、
制御対象を制御するための制御装置(100)とネットワーク(10)を介して接続するためのインターフェイス(252)を備え、前記ネットワークにおいては、前記制御装置と前記ロボットコントローラとの間で周期的にデータが更新されるように構成されており、
前記制御装置から周期的に送信される前記ロボットの軌道に対する補正量(161)を受信する手段と、
前記制御装置から受信した命令に従って制御周期毎に指令値を計算する手段(262,281)と、
前記指令値と前記制御装置から周期的に受信する補正量とに基づいて、制御周期毎に補正後の指令値を計算する手段(262,282)とを備える、ロボットコントローラ。
[構成10]
制御対象を制御するための制御装置(100)と、ロボット(200)を制御するためのロボットコントローラ(250)と、前記制御装置と前記ロボットコントローラとの間で周期的にデータを更新するネットワーク(10)とを備える制御システム(1)における制御方法であって、
前記制御装置が、前記ロボットの軌道に対する補正量を周期的に送信するステップ(S108)と、
前記ロボットコントローラが、前記制御装置から受信した命令に従って制御周期毎に指令値を計算するステップ(S210,S216)と、
前記ロボットコントローラが、前記指令値と前記制御装置から周期的に受信する補正量とに基づいて、制御周期毎に補正後の指令値を計算するステップ(S220)とを備える、制御方法。
<I.利点>
本実施の形態に係る制御システム1において、ロボットコントローラ250は、制御装置100から受信した命令に従って、本来の指令値を制御周期毎に計算するとともに、制御周期毎に計算される指令値に対して、制御装置100から受信した補正量を反映して、補正後の指令値を計算できる。これによって、ロボット200の軌道を任意の補正しようとした場合に、制御装置での補正量の計算結果を制御周期からずれることなく、確実に反映できる。これによって、ロボットの軌道について任意に補正を行う場合であっても、より精度の高い制御を行うことができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 制御システム、10 フィールドネットワーク、20 上位ネットワーク、40 ワーク、42 ベース、50 距離センサ、100 制御装置、102,262,362,402 プロセッサ、104,264,364,404 メインメモリ、106 上位ネットワークコントローラ、108,252,352 フィールドネットワークコントローラ、110,266,366,410 ストレージ、112 メモリカードインターフェイス、114 メモリカード、116 ローカルバスコントローラ、118 プロセッサバス、120,418 USBコントローラ、122 ローカルバス、130 機能ユニット、140 入出力リフレッシュ処理、142,144,146 実行処理、148 バッファ、150 IECプログラム、151 補正量計算命令、152 補正量反映命令、154 アプリケーションプログラム実行中フラグ、155,284,286 補正量、156 基準距離、157 現在距離、158 補正準備完了フラグ、159 起動監視命令、160 アプリケーションプログラム、161 MOVESキーワード、162 WHILE命令、163 計算命令、164 ALTERキーワード、165 有効化部、166 初期位置移動部、167 実行有効化部、168 実行待機部、169 軌道目標指令部、170 終了処理部、200 ロボット、210 エンドエフェクタ、250 ロボットコントローラ、260,360 制御処理回路、268,368,1102 システムプログラム、270 インターフェイス回路、281 指令値計算、282 補正量加算、283 指令値出力、287 無効化スイッチ、288 状態情報、300 サーボモータ、350 サーボコントローラ、370 ドライブ回路、400 サポート装置、406 入力部、408 表示部、412 OS、414 開発プログラム、416 ネットワークコントローラ、420 光学ドライブ、422 記録媒体、424 バス、500 表示装置、600 サーバ装置、1521 ロボット指定、1522 実行指定、1523 補正量指定、1524 選択中ロボット、1525 補正準備完了フラグ、1526 ビジーフラグ、1527 アボートフラグ、1528 エラーフラグ、1529 エラーID、T1,T3 制御周期、T2 アプリケーション周期、T4 通信周期。

Claims (10)

  1. 制御対象を制御するための制御装置と、
    ロボットを制御するためのロボットコントローラと、
    前記制御装置と前記ロボットコントローラとの間で周期的にデータを更新するネットワークとを備え、
    前記制御装置は、前記ロボットの軌道に対する補正量を周期的に送信する手段を備え、
    前記ロボットコントローラは、
    前記制御装置から受信した命令に従って制御周期毎に指令値を計算する手段と、
    前記指令値と前記制御装置から周期的に受信する補正量とに基づいて、制御周期毎に補正後の指令値を計算する手段とを備える、制御システム。
  2. 前記制御装置は、任意に作成された命令に従って前記補正量を計算するための第1のユーザプログラムを周期的に実行する手段をさらに備える、請求項1に記載の制御システム。
  3. 前記第1のユーザプログラムは、前記ロボットの軌道に対する補正量を周期的に送信するための命令を含む、請求項2に記載の制御システム。
  4. 前記ロボットの軌道に対する補正量を周期的に送信するための命令は、ファンクション形式で前記第1のユーザプログラムに記述される、請求項3に記載の制御システム。
  5. 前記制御装置は、第2のユーザプログラムを逐次実行することで、前記ロボットコントローラへ命令を逐次送信する手段をさらに備える、請求項2~4のいずれか1項に記載の制御システム。
  6. 前記第2のユーザプログラムの実行周期は、前記第1のユーザプログラムの実行周期に比較して長く設定される、請求項5に記載の制御システム。
  7. 前記ロボットコントローラは、前記制御装置から受信した特定の命令に従って、補正後の指令値の計算を有効化または無効化するように構成されている、請求項1~6のいずれか1項に記載の制御システム。
  8. 前記ロボットコントローラは、前記ロボットの状態値を周期的に送信する手段をさらに備える、請求項1~7のいずれか1項に記載の制御システム。
  9. ロボットを制御するためのロボットコントローラであって、
    制御対象を制御するための制御装置とネットワークを介して接続するためのインターフェイスを備え、前記ネットワークにおいては、前記制御装置と前記ロボットコントローラとの間で周期的にデータが更新されるように構成されており、
    前記制御装置から周期的に送信される前記ロボットの軌道に対する補正量を受信する手段と、
    前記制御装置から受信した命令に従って制御周期毎に指令値を計算する手段と、
    前記指令値と前記制御装置から周期的に受信する補正量とに基づいて、制御周期毎に補正後の指令値を計算する手段とを備える、ロボットコントローラ。
  10. 制御対象を制御するための制御装置と、ロボットを制御するためのロボットコントローラと、前記制御装置と前記ロボットコントローラとの間で周期的にデータを更新するネットワークとを備える制御システムにおける制御方法であって、
    前記制御装置が、前記ロボットの軌道に対する補正量を周期的に送信するステップと、
    前記ロボットコントローラが、前記制御装置から受信した命令に従って制御周期毎に指令値を計算するステップと、
    前記ロボットコントローラが、前記指令値と前記制御装置から周期的に受信する補正量とに基づいて、制御周期毎に補正後の指令値を計算するステップとを備える、制御方法。
JP2021011175A 2021-01-27 2021-01-27 制御システム、ロボットコントローラおよび制御方法 Pending JP2022114753A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021011175A JP2022114753A (ja) 2021-01-27 2021-01-27 制御システム、ロボットコントローラおよび制御方法
PCT/JP2021/009582 WO2022162959A1 (ja) 2021-01-27 2021-03-10 制御システム、ロボットコントローラおよび制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021011175A JP2022114753A (ja) 2021-01-27 2021-01-27 制御システム、ロボットコントローラおよび制御方法

Publications (1)

Publication Number Publication Date
JP2022114753A true JP2022114753A (ja) 2022-08-08

Family

ID=82653242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021011175A Pending JP2022114753A (ja) 2021-01-27 2021-01-27 制御システム、ロボットコントローラおよび制御方法

Country Status (2)

Country Link
JP (1) JP2022114753A (ja)
WO (1) WO2022162959A1 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6950385B2 (ja) * 2017-09-12 2021-10-13 オムロン株式会社 制御装置および制御方法
JP7111038B2 (ja) * 2019-03-15 2022-08-02 オムロン株式会社 制御システム、中継装置、および中継プログラム
JP7255369B2 (ja) * 2019-06-06 2023-04-11 オムロン株式会社 制御システム

Also Published As

Publication number Publication date
WO2022162959A1 (ja) 2022-08-04

Similar Documents

Publication Publication Date Title
US10761515B2 (en) Control system for controlling control object and control device for linking control applications in control system
US10761884B2 (en) Control device for operating multiple types of programs in different execution formats
JP6903275B2 (ja) 制御装置および制御方法
US10908577B2 (en) Control device
US20190049925A1 (en) Control device
JP6900863B2 (ja) 制御装置、制御方法および制御プログラム
US20190095246A1 (en) Support device and non-transitory storage medium
WO2021106467A1 (ja) 制御システム、制御装置および制御方法
US20230101517A1 (en) Robot control system and control method
US11855907B2 (en) Robot control system and control method
WO2022162959A1 (ja) 制御システム、ロボットコントローラおよび制御方法
US20220397880A1 (en) Control device
WO2012124145A1 (ja) 演算ユニット、支援装置、支援プログラム、支援プログラムを格納した記憶媒体、および、支援装置における動作方法
US20220221833A1 (en) Controller
WO2022162958A1 (ja) 制御装置、プログラム実行方法およびプログラム
US20230022312A1 (en) Control device
WO2021181800A1 (ja) ロボット制御システムおよび制御方法
JP2021144627A (ja) 制御システムおよびサポート装置
Kelkar EtherCAT based motion controller
JP2006099310A (ja) ロボットシミュレーション装置および方法
JP2021144586A (ja) ロボット制御システムおよび制御方法
JP2022118822A (ja) 制御装置、制御方法および制御プログラム
JP2021026587A (ja) 制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231109