JP3668821B2 - ロボットコントローラおよびロボット制御方法 - Google Patents

ロボットコントローラおよびロボット制御方法 Download PDF

Info

Publication number
JP3668821B2
JP3668821B2 JP19535396A JP19535396A JP3668821B2 JP 3668821 B2 JP3668821 B2 JP 3668821B2 JP 19535396 A JP19535396 A JP 19535396A JP 19535396 A JP19535396 A JP 19535396A JP 3668821 B2 JP3668821 B2 JP 3668821B2
Authority
JP
Japan
Prior art keywords
robot
joint
control
trajectory
actuator
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.)
Expired - Lifetime
Application number
JP19535396A
Other languages
English (en)
Other versions
JPH1020910A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP19535396A priority Critical patent/JP3668821B2/ja
Publication of JPH1020910A publication Critical patent/JPH1020910A/ja
Application granted granted Critical
Publication of JP3668821B2 publication Critical patent/JP3668821B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明はロボットコントローラおよびロボットの制御方法、特に制御対象ロボットの拡張、変更を容易に行うことができるロボットコントローラおよびロボット制御方法に関する。
【0002】
【背景技術および発明が解決しようとする課題】
従来より、ロボットを制御するためのコントローラおよびその制御方法は、例えば部品の組立、加工およびその他の用途に幅広く用いられている。
【0003】
しかし、従来のコントローラは、制御するモータやマニュピュレータとの関係が固定されていた。このため、コントローラ購入後にユーザー側でマニュピュレータ等を追加、変更することは困難であり、仮に追加、変更が可能な場合でもコントローラ内のROM等に固定的にインストールされているソフトウエアを変更する必要があるため、その作業が極めて困難であるという問題があった。
【0004】
図1には、従来のロボットコントローラの制御手法が示されている。
【0005】
従来の制御手法は、通常ステップS1、S2、S3、S4の4つの演算工程を含んでいる。
【0006】
ステップS1において、ロボットマニュピュレータの適切な動作経路、動作速度、動作加速度等のパラメータを決定する。
【0007】
ステップS2において、前記パラメータに従って所定のサンプリングタイム毎(数msec間隔)の軌道を演算する。
【0008】
ステップS3において、ロボットマニュピュレータの軌道をモータの回転角度や移動距離に座標変換する。
【0009】
最後にステップS4において、各サンプルタイミング毎の軌道に従って、マニュピュレータの各関節に設けられたモータに対するモータ駆動用サーボ演算を行う。
【0010】
ところで、産業用ロボットには、その形態から水平多関節型、垂直多関節型、直角座標型等の各種タイプのものがある。そして、前記ステップS1、S3の処理は、ロボットのタイプ毎に異なったものとなる。
【0011】
しかし、従来のロボットコントローラは、各ロボット毎の専用機として形成され、ロボットタイプ毎に異なる処理プログラムを実装して製造/出荷される。従って、コントローラを購入したユーザー側は、製造ラインの拡張変更に伴い、使用する産業用ロボットを拡張又は変更しようとする場合に、その都度全く新しいロボットコントローラを購入しなければならないという問題があった。
【0012】
また、これ以外の従来技術として、特開平6−35520号公報に係る制御装置が知られている。この従来技術は、各作動装置毎に専用の接続装置を設けることにより、制御装置、作動装置を従来の構成のままで使用できることを特徴とするものである。
【0013】
しかし、この従来技術も、あくまでも従来の一対一通信タイプのソフトウエア、ハードウエアをそのまま用いて、一対多の通信を行い複数の作動装置を制御するものであるため、制御対象ロボットの拡張、変更をし、例えば制御対象ロボットを異なるタイプのものに切り換えたり、また複数の異なるタイプの制御対象ロボットを同時に制御することはできないという問題があった。
【0014】
本発明は、このような従来の課題に鑑みなされたものであり、その目的は、制御対象ロボットの拡張、変更を容易に行うことが可能なロボットコントローラおよびロボット制御方法を提供することにある。
【0015】
【課題を解決するための手段】
前記目的を達成するため、請求項1の発明は、
制御対象ロボットを指定しその作業手順を指示するユーザプログラムを実行するロボットコントローラであって、
複数のロボット毎に、各ロボットの特性を定義する定義ファイルが記憶された第1の記憶手段と、
前記ユーザプログラムを実行し、指定されたロボットの定義ファイルおよび作業手順に基づきロボットの制御パラメータを求めるプログラム実行手段と、
前記制御パラメータに基づき制御対象ロボットの軌道を逐次生成する軌道生成手段と、
前記各ロボット毎に、ロボットの軌道をロボットマニピュレータの各関節のアクチュエータ座標に変換する座標変換ルーチンが記憶された第2の記憶手段と、前記ロボットの軌道および指定されたロボットの座標変換ルーチンに基づき、ロボットマニピュレータの各関節のアクチュエータの制御データを演算する制御データ演算手段と、
を含むことを特徴とする。
【0016】
また、請求項13の発明は、
複数のロボット毎に、各ロボットの特徴を定義する定義ファイルを記憶する行程と、
前記各ロボット毎に、ロボットの作業ポイントの軌道座標を、ロボットマニピュレータの各関節を駆動する各アクチュエータ毎のアクチュエータ座標に変換する座標変換ルーチンを記憶する行程と、
制御対象ロボットを指定しその作業手順を指示する少なくとも1つのユーザプログラムを記憶手段にインストールする行程と、
指定された各ロボットの定義ファイルに基づき各ロボットの制御パラメータを求め、前記各制御パラメータおよび前記各プログラムの作業手順に基づき各制御対象ロボットの作業ポイントの軌道を演算するプログラム実行工程と、
前記作業ポイントの軌道および指定されたロボットの座標変換ルーチンに基づき、各ロボット毎にマニピュレータの各関節のアクチュエータの制御データを演算する制御データの演算工程とを含むことを特徴とする。
【0017】
請求項1、13の発明によれば、プログラム実行手段がユーザープログラムを実行すると、各プログラムにより指定される制御対象ロボットの作業手順と、第1の記憶手段に記憶された指定ロボットの定義ファイルとに基づき、ロボットの制御パラメータが求められる。
【0018】
ここにおいて、前記第1の記憶手段には、複数のロボット毎に、各ロボットの特性を定義する定義ファイルが記憶されている。このため、ユーザープログラムにより指定される制御対象ロボットが異なれば、異なる制御パラメータが求めれることになる。
【0019】
そして、軌道生成手段は、求められた制御パラメータに基づき制御対象ロボットの軌道を逐次生成していく。
【0020】
また、第2の記憶手段には、各ロボット毎にロボットの軌道をロボットマニュピュレータの各関節のアクチュエータ座標に変換する複数の座標変換ルーチンが記憶されている。
【0021】
そして、制御データ演算手段は、前記ロボットの軌道および指定されたロボットの座標変換ルーチンに基づき、ロボットマニュピュレータの各関節のアクチュエータの制御データを演算する。
【0022】
このように、本発明によれば、第1の記憶手段および第2の記憶手段に、複数のロボットの定義ファイルおよび座標変換ルーチンを記憶し、ユーザープログラムにより指定される対象ロボットの定義ファイルおよび座標変換ルーチンを用いる構成を採用する。これにより、制御対象となるロボットの拡張や変更に対し、柔軟に対応することが可能となる。
【0023】
また、本発明によれば、ユーザプログラムを実行し、制御パラメータを求めるための処理と、この制御パラメータから軌道を生成し制御データを演算するための処理とを分離独立させ、プログラム実行手段から軌道生成手段に、制御パラメータを引き渡すという単純な構成を採用している。このような構成を採用することにより、本発明は以下のような特有な作用効果を奏することができる。
【0024】
即ち、本発明によれば、プログラムの実行のための処理と、軌道生成のための処理とを分離独立させ、それぞれの演算処理を独立したルーチンの形でまとめることができる。従って、マルチタスクにより、あるロボットのパラメータを計算中に、他のロボットのパラメータを並行して求める場合、制御パラメータを求めるための処理をサブルーチンの形で呼び出して行い、複数のユーザープログラムから同時に複数のロボットの制御パラメータを求めることができる。
【0025】
なお、このようにプログラム実行処理と軌道生成処理とを分離させない場合には、軌道生成処理ルーチンがロボットの定義を参照しながら、軌道を逐次生成しなければならないため、処理のパフォーマンスを上げることができない。これに対し、本発明は、前述したように、プログラム実行のための処理と、軌道生成のための処理とを分離独立し、特有の計算部分である軌道生成、制御データの演算のための処理は、一旦制御パラメータを受け取った後は、プログラム実行のための処理と全く別個独立に行われる。従って、ロボット制御のための高速処理が要求される軌道生成、制御データの演算処理を、プログラムの実行とは全く別個独立に高速で行うことができ、良好なロボット制御を行うことが可能となる。
【0026】
さらに、このようにプログラム実行のための処理や、軌道生成のための処理および制御データ演算のための処理を独立させ、それぞれをルーチン化することにより、プログラム全体の見通しが良くなり、プログラムの開発およびメンテナンスを良好に行うことが可能となる。
【0027】
また、請求項2の発明は、
マルチタスク機能を有するオペレーティングシステムを用い、制御対象ロボットを指定しその作業手順を指示する複数のユーザプログラムを実行するロボットコントローラであって、
複数のロボット毎に、各ロボットの特性を定義する定義ファイルが記憶された第1の記憶手段と、
前記複数のユーザプログラムを実行し、指定された各ロボットの定義ファイルおよび作業手順に基づき各ロボットの制御パラメータを求めるプログラム実行手段と、
前記各制御パラメータに基づき各制御対象ロボットの軌道を逐次生成する軌道生成手段と、
前記各ロボット毎に、ロボットの軌道をロボットマニピュレータの各関節のアクチュエータ座標に変換する座標変換ルーチンが記憶された第2の記憶手段と、前記各ロボットの軌道および指定されたロボットの座標変換ルーチンに基づき、ロボット毎に、ロボットマニピュレータの各関節のアクチュエータの制御データを演算する制御データ演算手段と、
を含むことを特徴とする。
【0028】
このように、本発明によれば、マルチタスク機能を有するオペレーティングシステムを用い、複数のユーザプログラムを同時に実行し、複数の制御対象ロボットを制御することができる。このようにすることにより、予め拡張又は変更の予定のあるロボットの定義ファイルおよび座標変換ルーチンを第1、第2の記憶手段へ記憶しておくことにより、これら複数のロボットを同時に又は選択的に使用できるようシステムの拡張変更を行うことが可能となる。
【0029】
また、拡張変更の必要が生じた場合に、その都度、前記定義ファイルおよび変換ルーチンを作成し、記憶手段へ記憶するように構成してもよい。
【0030】
また、請求項3の発明は、
マルチタスク機能を有するオペレーティングシステムを用い、制御対象ロボットを指定しその作業手順を指示する複数のユーザプログラムを実行し、制御対象ロボット毎に、ロボットマニピュレータの各関節のアクチュエータの制御データを演算する主コントローラと、
前記各ロボット毎に、前記主コントローラにインターフェイスを介し増設可能に接続されたサブコントローラと、
を含み、
前記主コントローラは、
複数のロボット毎に、各ロボットの特性を定義する定義ファイルが記憶された第1の記憶手段と、
前記複数のユーザプログラムを実行し、指定された各ロボットの定義ファイルおよび作業手順に基づき各ロボットの制御パラメータを求めるプログラム実行手段と、
前記各制御パラメータに基づき各制御対象ロボットの軌道を逐次生成する軌道生成手段と、
前記各ロボット毎に、ロボットの軌道をロボットマニピュレータの各関節のアクチュエータ座標に変換する座標変換ルーチンが記憶された第2の記憶手段と、前記各ロボットの軌道および指定されたロボットの座標変換ルーチンに基づき、ロボット毎に、ロボットマニピュレータの各関節のアクチュエータの制御データを演算する制御データ演算手段と、
を含み、
前記サブコントローラは、
対応ロボットのマニピュレータの各関節のアクチュエータ毎に設けられ、前記制御データに基づき対応する各アクチュエータをサーボ制御するサーボ制御手段を含むことを特徴とする。
【0031】
即ち、従来のロボットコントローラでは、マニュピュレータを増設する場合、新たに専用のコントロール部やこれと対をなす駆動手段を増設する必要があった。
【0032】
これに対し、本発明のロボットコントローラは、各制御対象ロボットの制御データを演算する主コントローラと、各ロボット毎に主コントローラにインターフェースを介し増設可能に接続されたサブコントローラとに分離構成されている。そして、前記サブコントローラは、制御データに基づき対応ロボットの各アクチュエータをサーボ制御するサーボ制御手段を含むように構成する。
【0033】
これにより、アクチュエータや制御対象ロボットを増設する場合には、主コントローラの増設は必要なく、単に対応するサブコントローラのみを増設すればよいため、システムの拡張変更に対し、簡単かつ安価に対応することが可能となる。
【0034】
また、請求項4の発明は、
請求項1〜3のいずれかにおいて、
前記ユーザプログラムは、前記作業手順が、制御対象ロボットの作業ポイントの複数の目標位置を表すポイントデータファイルに基づき設定され、
前記プログラム実行手段は、
制御対象ロボットの現在の作業ポイントから次の目標位置までの移動距離と、指定された各ロボットの定義ファイルに基づき、作業ポイントの移動条件を表す制御パラメータを求め、
前記軌道生成手段は、
所定のサンプルタイム毎に、前記制御パラメータに基づき作業ポイントの軌跡を逐次生成することを特徴とする。
【0035】
本発明によれば、ロボットの作業手順が、ロボットの作業ポイントの複数の目標位置を表すポイントデータファイルに基づいて設定されている。
【0036】
そして、プログラム実行手段は、制御対象ロボットの現在の作業ポイントの位置から次の目標位置までの移動距離と、指定された各ロボットの定義ファイルとに基づき、作業ポイントの移動条件を表す制御パラメータを求める。
【0037】
そして、軌道生成手段は、所定のサンプルタイム毎に、前記制御パラメータに基づき作業ポイントの軌道を逐次生成する。
【0038】
このように構成することにより、制御対象ロボットの作業のポイントを所定の目標ポイントから次の目標ポイントまで移動させるCP動作(continuas path motion)を簡単な構成で正確に行うことが可能となる。
【0039】
CP動作は、目標ポイントでの位置だけでなく、動作途中の経路も正確に指示することが可能な動作で、特に、このようなCP動作によるロボット制御は、ロボットの動作経路、速度を正確に指示制御できるという利点があり、例えば塗装等の塗布作業等に極めて好適なものとなる。
【0040】
請求項5の発明は、
制御対象ロボットを指定しその作業手順を指示するユーザプログラムを実行するロボットコントローラであって、
複数のロボット毎に、各ロボットの特性を定義する定義ファイルが記憶された第1の記憶手段と、
前記各ロボット毎に、ロボットの軌道をロボットマニピュレータの各関節の角度移動量に変換する座標変換ルーチンが記憶された第2の記憶手段と、
前記ユーザプログラムを実行し、指定されたロボットの定義ファイル、作業手順および指定されたロボットの座標変換ルーチンに基づきロボットマニピュレータの各関節の制御パラメータを求めるプログラム実行手段と、
前記制御パラメータに基づき制御対象ロボットのロボットマニピュレータの各関節の目標角度を逐次生成する軌道生成手段と、
前記各関節の目標角度に基づき、ロボットマニピュレータの各関節のアクチュエータの制御データを演算する制御データ演算手段と、
を含むことを特徴とする。
【0041】
また、請求項14の発明は、
複数のロボット毎に、各ロボットの特徴を定義する定義ファイルを記憶する行程と、
前記各ロボット毎に、ロボットの軌道をロボットマニピュレータの各関節の角度移動量に変換する座標変換ルーチンを記憶する行程と、
制御対象ロボットを指定しその作業手順を指示する少なくとも1つのユーザプログラムを記憶手段にインストールする行程と、
前記ユーザプログラムを実行し、指定されたロボットの定義ファイル、作業手順および指定されたロボットの座標変換ルーチンに基づきロボットマニピュレータの各関節の制御パラメータを求める工程と、
前記制御パラメータに基づき制御対象ロボットのロボットマニピュレータの各関節の目標角度を逐次生成する工程と、
前記各関節の目標角度に基づき、ロボットマニピュレータの各関節のアクチュエータの制御データを演算する工程と、
を含むことを特徴とする。
【0042】
請求項5、請求項14の発明は、前述した請求項1、請求項13の発明と同様な作用効果を奏することができる。両者の相違は、請求項1、請求項13の発明はロボットをCP動作により制御を行うものであり、請求項5、請求項14の発明は、ロボットをPTP(point to point motion)により制御を行うものである点である。即ち、請求項1、請求項13の発明は、プログラム実行手段が制御パラメータを軌道生成手段に渡した後に、座標変換処理を行っているが、請求項5、請求項14の発明は、プログラム実行手段が制御パラメータを演算する際にすでに座標変換処理を終了している。このように、前者と後者はその処理手順において座標変換を行うタイミングが異なるのみであり、基本的な作用効果は同一である。
【0043】
特に、このようなPTP動作を行わせる制御は、ロボットの軌道生成のための計算が簡単でかつ高速演算が可能となり、ロボットを高速制御する場合に、極めて好適なものとなる。例えば、ロボットを用いて所定のワークをつかんで所定位置まで移動するようなピックアンドプレース作業に極めて好適なものとなる。
【0044】
請求項6の発明は、
マルチタスク機能を有するオペレーティングシステムを用い、制御対象ロボットを指定しその作業手順を指示する複数のユーザプログラムを実行するロボットコントローラであって、
複数のロボット毎に、各ロボットの特性を定義する定義ファイルが記憶された第1の記憶手段と、
前記各ロボット毎に、ロボットの軌道をロボットマニピュレータの各関節の角度移動量に変換する座標変換ルーチンが記憶された第2の記憶手段と、
前記ユーザプログラムを実行し、指定されたロボットの定義ファイル、作業手順および指定されたロボットの座標変換ルーチンに基づきロボットマニピュレータの各関節の制御パラメータを求めるプログラム実行手段と、
前記制御パラメータに基づき制御対象ロボットのロボットマニピュレータの各関節の目標角度を逐次生成する軌道生成手段と、
前記各関節の目標角度に基づき、ロボットマニピュレータの各関節のアクチュエータの制御データを演算する制御データ演算手段と、
を含むことを特徴とする。
【0045】
請求項6の発明はPTP動作によるロボット制御を行うもので、ある点を除き前記請求項2の発明と同様な作用効果を奏することができる。
【0046】
請求項7の発明は、
マルチタスク機能を有するオペレーティングシステムを用い、制御対象ロボットを指定しその作業手順を指示する複数のユーザプログラムを実行し、制御対象ロボット毎に、ロボットマニピュレータの各関節のアクチュエータの制御データを演算する主コントローラと、
前記各ロボット毎に、前記主コントローラにインターフェイスを介し増設可能に接続されたサブコントローラと、
を含み、
前記主コントローラは、
複数のロボット毎に、各ロボットの特性を定義する定義ファイルが記憶された第1の記憶手段と、
前記各ロボット毎に、ロボットの軌道をロボットマニピュレータの各関節の角度移動量に変換する座標変換ルーチンが記憶された第2の記憶手段と、
前記ユーザプログラムを実行し、指定されたロボットの定義ファイル、作業手順および指定されたロボットの座標変換ルーチンに基づきロボットマニピュレータの各関節の制御パラメータを求めるプログラム実行手段と、
前記制御パラメータに基づき制御対象ロボットのロボットマニピュレータの各関節の目標角度を逐次生成する軌道生成手段と、
前記各関節の目標角度に基づき、ロボットマニピュレータの各関節のアクチュエータの制御データを演算する制御データ演算手段と、
を含み、
前記サブコントローラは、
対応ロボットのマニピュレータの各関節のアクチュエータ毎に設けられ、前記制御データに基づき対応する各アクチュエータをサーボ制御するサーボ制御手段を含むことを特徴とする。
【0047】
請求項7の発明は、PTP動作によりロボット制御を行っている点を除けば、前記請求項3の発明と基本的に同様な作用効果を奏することができる。
【0048】
請求項8の発明は、
請求項5〜7のいずれかにおいて、
前記ユーザプログラムは、前記作業手順が、制御対象ロボットの作業ポイントの複数の目標位置を表すポイントデータファイルに基づき設定され、
前記第2の記憶手段は、
前記各ロボット毎に、次の目標位置までの移動距離をロボットマニピュレータの各関節の角度移動量に変換する座標変換ルーチンが記憶され、
前記プログラム実行手段は、
制御対象ロボットの現在の作業ポイントから次の目標位置までの移動距離と、指定された各ロボットの定義ファイルおよび座標変換ルーチンに基づき、ロボットマニピュレータの各関節の角度移動条件を表す制御パラメータを求め、
前記軌道生成手段は、
所定のサンプルタイム毎に、前記制御パラメータに基づき制御対象ロボットのロボットマニピュレータの各関節の目標角度を逐次生成することを特徴とする。
【0049】
請求項8の発明は、PTP動作によりロボット制御するための好適な形態である。
【0050】
本発明によれば、ユーザープログラムは、ロボットの作業手順が、作業ポイントの複数の目標位置を表すポイントデータファイルとして設定されている。
【0051】
第2の記憶手段には、各ロボット毎に、次の目標位置までの移動距離をロボットマニュピュレータの各関節の角度移動量に変換する座標変換ルーチンが記憶されている。
【0052】
そして、プログラム実行手段は、制御対象ロボットの現在の作業ポイントから、次の目標位置までの移動距離と、指定された各ロボットの定義ファイルとに基づき、ロボットマニュピュレータの各関節の角度移動条件を表す制御パラメータを求め、軌道生成手段に渡す。
【0053】
この制御パラメータには、既に座標変換の情報が含まれているため、この制御パラメータを受け取った軌道生成ファイルは、制御パラメータに基づき、制御対象ロボットのロボットマニュピュレータの各関節の目標角度を、所定のサンプルタイム毎に逐次生成できる。
【0054】
そして、制御データ演算手段は、座標変換をすること無しに、各関節の目標角度に基づき、ロボットマニュピュレータの各関節のアクチュエータ制御データを演算することができる。
【0055】
また、請求項9の発明は、
請求項1〜8のいずれかにおいて、
前記各ロボット毎に、前記各制御データと各アクチュエータとの対応付けを表す対応テーブルが記憶された第3の記憶手段を含み、
前記制御データ演算手段は、
指定されたロボットの対応テーブルに基づき、演算された前記制御データを各アクチュエータに対応付けて出力する手段を含むことを特徴とする。
【0056】
また、請求項15の発明は、
請求項13,14のいずれかにおいて、
前記各ロボット毎に、前記各制御データと各アクチュエータとの対応付けを表す対応テーブルを記憶する工程を含み、
前記制御データの演算工程は、
指定されたロボットの対応テーブルに基づき、演算された前記制御データを各アクチュエータに対応付けて出力する工程を含むことを特徴とする。
【0057】
このように、各ロボット毎に、各制御データと、各アクチュエータとの対応付けを表す対応テーブルを予め記憶しておくことにより、制御データ演算手段は、指定されたロボットの対応テーブルに基づき、演算された制御データを各アクチュエータに対応付けて出力することができる。
【0058】
従って、本発明によれば、制御パラメータの演算と、この制御パラメータに基づくアクチュエータの制御データの演算および演算された制御データの各アクチュエータに対応付けた出力と、を独立した処理として行うことができるため、各種演算処理のためのプログラムの見通しが良くなり、プログラム開発が容易なものとなると共に、演算処理を高速化することができる。
【0059】
また、請求項10の発明は、
請求項1〜9のいずれかにおいて、
前記各関節のアクチュエータはモータとして形成されたことを特徴とする。
【0060】
また、請求項11の発明は、
請求項1〜10のいずれかにおいて、
前記第1の記憶手段、プログラム実行手段、軌道生成手段、第2の記憶手段および制御データ演算手段は、パーソナルコンピュータを用いて形成されたことを特徴とする。
【0061】
このように、本発明によれば、ユーザプログラムから制御データを演算する部分をパーソナルコンピュータを用いて形成することにより、市販のコンピュータを用いて、各種ロボットの制御を容易に行うことができる。
【0062】
特に、本発明は、請求項3、7、又はこらに従属する請求項の発明のようにコントローラを主コントローラとサブコントローラとに分離構成するものに適用することが好ましい。この場合、主コントローラをパーソナルコンピュータを用いて構成することにより、コントローラの拡張性、汎用性をさらに高めることが可能となる。
【0063】
また、請求項12の発明は、
請求項11において、
前記軌道生成手段、第2の記憶手段および制御データ演算手段は、デバイスドライバとして形成されたことを特徴とする。
【0064】
即ち、本発明のロボットコントローラは、ユーザープログラムを実行し、制御パラメータを求めるプログラム実行手段と、制御パラメータから制御対象ロボットの軌道やロボットのマニュピュレータの各関節の目標角度を逐次生成する軌道生成手段とを分離独立し、プログラム実行手段からは単に制御パラメータを軌道生成手段に渡し、それ以外の演算処理は、それぞれ独立に行うという構成を採用した。そこで請求項12の発明は、パーソナルコンピュータなどにおいて、高速処理が難しいプログラムの実行手段と、ロボットに依存し、できるだけ速い処理が必要とされる軌道生成および制御データの演算処理のための手段とを分離し、後者を高速処理が可能なデバイスドライバとして形成する。このような構成を採用することにより、パーソナルコンピュータを使用しロボット制御を行う場合でも、ロボット制御のための高速性を充分に満足した演算処理が可能となる。
【0065】
【発明の実施の形態】
次に本発明の好適な実施の形態を、図面に基づき詳細に説明する。
第1の実施の形態
図2には、本発明が適用されたロボットコントローラの好適な第1の実施の形態が示されている。
【0066】
このロボットコントローラは、主コントローラ10と、サブコントローラ20とに分離形成され、対応するロボットマニピュレータ30を制御する。
【0067】
制御対象となるロボットマニピュレータ30−1は、4つの関節を有する多関節型ロボットであり、このロボットには、各関節を駆動するアクチュエータとして4個のモータ32−1,32−2,32−3,32−4が設けられている。さらに各モータ32−1,32−2,…32−4には、その回転位置を検出するためのロータリエンコーダ34−1,34−2…34−4が設けられている。
【0068】
また、拡張マニピュレータ30−2は、ロボットマニピュレータ30−1とは異なるタイプのロボットとして形成されている。周知のように、ロボットには、その形態から例えば水平多関節型、垂直多関節型、直角座標型などの各種タイプがあり、これら各タイプ毎に異なった制御が必要となる。
【0069】
これら各ロボットマニピュレータ30−1,30−2…を制御するために、本実施例においては、前記主コントローラ10として、汎用のパーソナルコンピュータが用いられる。このコンピュータは、マルチタスク機能を有するオペレーティングシステムを用いている。そして制御対象ロボットを指定しその作業手順を指示する複数のユーザプログラムを実行する。前記オペレーティングシステムとしては、汎用のオペレーティングシステムを用いることが好ましく、このようなものとしては例えばマイクロソフト社製のウィンドウズ95(登録商標)などがある。
【0070】
そして、コンピュータ10が各ロボットマニピュレータ30−1,30−2をそれぞれ制御するための複数のユーザプログラムを実行すると、このコンピュータ10は、制御対象ロボットマニピュレータ30−1,30−2毎に、ロボットマニピュレータの各関節のアクチュエータであるモータ制御データを演算し、これをインタフェースボード14−1,14−2…を介して対応するサブコントローラ20−1,20−2…へ出力する。
【0071】
前記サブコントローラ20−1,20−2…は、制御対象となるロボットマニピュレータ30専用のドライブボックスとして構成されている。そして各サブコントローラ20−1,20−2…は、インタフェースボード14−1,14−2…を介して主コントローラ10に対し接続増設可能に形成されている。
【0072】
例えば、このロボットコントローラの制御対象が、最初はロボットマニピュレータ30−1のみであった場合には、主コントローラ10にはサブコントローラ20−1のみが接続されている。その後、制御対象ロボットの拡張変更の必要性が生じ、例えばロボットマニピュレータ30−2の制御も必要になった場合には、このマニピュレータ30−2に対応した専用のサブコントローラ20−2が主コントローラ10に対し増設される。
【0073】
このように、実施例では主コントローラ10に対し、サブコントローラ20が増設可能に構成されているため、ロボットマニピュレータ30の増設にはサブコントローラ20のみを増設してハードウエア的に対応することができ、従来の一体型ロボットコントローラに比べ、システムの拡張変更に対し柔軟に対処することが可能となる。
【0074】
前記サブコントローラ20は、共有メモリ22と、サブCPU24と、各モータ32−1,32−2…32−4に対応した駆動手段である複数のモータドライバ26−1,26−2…26−4とを含んで構成される。
【0075】
前記共有メモリ22は、主コントローラ10から入力される各モータ32−1,32−2…32−4の制御データを一時記憶すると共に、サブCPU24のワーキングエリアとしても機能するように構成されている。
【0076】
そして、サブCPU24は、入力された制御データに基づき、各モータドライバ26−1,26−2…26−4にモータ制御指令を出力する。各モータドライバ26は、この制御指令に基づき対応するモータ32を駆動するように構成されている。このとき、各モータドライバ26には、駆動対象モータ32の回転位置検出信号がロータリエンコーダ34からフィードバック入力されている。このため、サブCPU24および各モータドライバ26は、制御対象となるモータ32をサーボ制御するサーボ制御手段として機能することになる。
【0077】
図3には、前記主コントローラ10およびサブコントローラ20の機能ブロック図が示されている。
【0078】
前述したように、主コントローラ10は、汎用のオペレーティングシステムが動作するパーソナルコンピュータを用いて構成されており、通常のアプリケーション部100と、オペレーティングシステムのファイルデータを記憶するファイル部120と、デバイスドライバ部130とを含んで構成される。
【0079】
前記アプリケーション部100は、ユーザインタ−フェース102、ユーザプログラムの解釈実行部104および動作実行部106として機能するように構成されている。
【0080】
前記ファイル部120は、ロボット定義ファイル122と、ロボット対応テーブル124とを含んで構成される。
【0081】
前記デバイスドライバ部130は、軌道生成部132、座標変換部134、マニピュレータモータ対応部136として機能するように構成されると共に、座標変換ルーチン138を含んで構成されている。
【0082】
また、前記サブコントローラ20は、前述したようにサーボ制御部200として機能するように構成されている。
【0083】
前記ロボット定義ファイル122は、制御対象となる各ロボット毎に設けられている。例えば、図4に示すように、ロボットマニピュレータ30−1には、ロボット定義ファイル122−1、ロボットマニピュレータ30−2に対してはロボット定義ファイル122−2がそれぞれ設けられている。これら各定義ファイルは、対応するロボットの特性を定義するデータを含んで構成されており、このような定義データとしては、例えばロボットのタイプ、構成(アームの長さ等)、動作速度、動作加速度等がある。
【0084】
前記ユーザインタ−フェース部102は、制御対象となるロボットの動作をモニタリングすると共に、ロボット定義ファイルの参照、変更などを行うように構成されている。
【0085】
前記ユーザプログラム解釈実行部104は、動作実行部106と共にプログラム実行手段として機能するものである。
【0086】
本実施例において、解釈実行部104で実行されるユーザプログラムは、予めコントローラ10内のメモリに読み込まれており、制御対象ロボットを指定しその作業手順を指示するように構成されている。これにおいてユーザプログラムによって指示される作業手順は、制御対象ロボットの作業ポイント(手先)の複数の目標位置を表すポイントデータファイルとして与えられている。
【0087】
そして、解釈実行部104がユーザプログラムの解釈実行を行うと、動作実行部106は、ユーザプログラムによって指示されたロボットの定義ファイル120および作業手順に基づきロボットの制御パラメータを求め、軌道生成部132へ渡すように構成されている。ここでは、制御対象ロボットの現在の作業ポイントから次の目標位置までの移動距離と、指定されたロボットの定義ファイル122とに基づき、作業ポイントの移動条件を表す制御パラメータを求め、軌道生成部132へ引き渡している。
【0088】
前記軌道生成部132は、引き渡された制御パラメータに基づき、所定のサンプルタイム毎(数msec間隔毎)に作業ポイント(手先)の軌道を逐次生成する演算処理を行い、求めた軌道データを座標変換部134へ向け出力する。
【0089】
前記座標変換ルーチン138は、各ロボット毎に、ロボットの軌道をロボットマニピュレータの各関節のモータ座標に変換する座標変換ルーチンとして構成されている。ここでは、水平多関節型座標変換ルーチン138−1、垂直多関節型座標変換ルーチン138−2、直角座標型座標変換ルーチン138−3の3つの座標変換ルーチンを含んで構成されている。
【0090】
また、前記座標変換部134およびマニピュレータモータ対応部136は、制御データ演算手段として機能するものである。そして、前記座標変換部134は、指定されたロボットの座標変換ルーチン138に基づき、軌道生成部132の求めたロボットの軌道をロボットマニピュレータの各関節のモータ制御用の座標データに変換し、これを制御データとしてマニピュレータモータ対応部136へ向け出力する。
【0091】
前記ロボット対応テーブル124は、制御対象ロボット毎に設けられており、演算された各制御データと各アクチュエータとの対応付を表すテーブルとして形成されている。実施例では、図4に示すよう、第1のロボットマニピュレータ30−1用の対応テーブル124−1と、第2のロボットマニピュレータ30−2用の対応テーブル124−2とを含んで構成されてる。
【0092】
そして、前記マニピュレータモータ対応部136は、制御対象ロボットの対応テーブル124に基づき、演算された前記各制御データを各モータ32へ対応付けて出力する。例えば、制御対象ロボットが第1のロボットマニピュレータ30−1である場合には、対応テーブル124−1に基づき、演算された各制御データ(座標データ)を各モータ32−1,32−2…32−4に対応付けてサブコントローラ20−1へ向け出力する。
【0093】
図4には、実施例のロボットコントローラの動作フローチャートが示されている。
【0094】
まず、解釈実行部104が、ユーザプログラムを実行すると、動作実行部106は、制御対象ロボットの定義ファイル122を参照しながらロボット制御用のパラメータを演算し、軌道生成部へ引き渡す処理を行う(ステップS10)。
【0095】
軌道生成部132は、引き渡された制御パラメータから、ロボットの軌道をサンプルタイム毎に求める処理を行い、求めた軌道データを座標変換部134へ引き渡す(ステップS12)。
【0096】
座標変換部134では、座標変換ルーチン138を用い、引き渡された転送データをロボットマニピュレータの各関節の座標データに変換し、マニピュレータモータ対応部136へ引き渡す(ステップS14)。
【0097】
マニピュレータモータ対応部136は、制御対象ロボットのロボット対応テーブル124を参照しながら、引き渡された各座標データを各モータに対応付けて、対象となるサブコントローラ20へ向けて制御データとして出力する。
【0098】
そして、この制御データが入力されたサブコントローラ20は、制御データに基づき各ロボットマニピュレータ30の各モータ32をサ−ボ制御する(ステップS18)。
【0099】
以上説明したように、本実施例のロボットコントローラによれば、ロボット定義ファイル122、ロボット対応テーブル124および座標変換ルーチン138を、各ロボット毎に対応付けて複数用意する構成を採用したことにより、制御対象となるロボットを、第1のロボットマニピュレータ30−1から、第2のロボットマニピュレータ30−2まで拡張する場合でも、または制御対象ロボットを第1のロボットマニピュレータ30−1から第2のロボットマニピュレータ30−2へ変更するような場合でも、これに柔軟にかつ安価に対応することが可能となる。
【0100】
さらに、実施例のロボットコントローラは、アプリケーション部100の処理と、デバイスドライバ部130の処理とを分離独立させる構成を採用している。そして、緻密、高速なリアルタイム性が要求されない処理は、OS用の通常アプリケーションとしてアプリケーション部100で実行し、リアルタイム性が要求される処理はオペレーションシステムのデバイスドライバ部130で実行するように構成されている。
【0101】
従って、図5に示すように、アプリケーション部100では、複数のユーザプログラム102−1,102−2を同時に解釈実行し(104−1,104−2)、各ロボットの制御パラメータを求める処理を行い(106−1,106−2)、各制御パラメータをデバイスドライバ部130へ引き渡すことができる。
【0102】
そして、デバイスドライバ部130を構成する軌道生成部132、座標変換部134およびマニピュレータモータ対応部136では、データの演算処理を極めて高速に行うことができ、この結果、動作実行部106から引き渡された複数のロボットの制御パラメータに基づき、各ロボットの制御データを高速演算し、対応するサブコントローラ20−1,20−2…へ出力することができる。
【0103】
さらに、ロボットコントローラは、各ロボットマニピュレータ30固有のハードウエア部分を、サブコントローラ20として、主コントローラ10に対して増設可能に形成している。従って、ロボットの増設、変更に際しては、サブコントローラ20のみを制御対象ロボットに合わせて設置すれば済むという利点がある。
第2の実施の形態
図6図7には、本発明のロボットコントローラの第2の実施形態が示されている。なお、前記第1の実施形態と対応する部材には同一の符号を付しその説明は省略する。
【0104】
前記第1の実施形態と、この第2の実施形態との基本的な相違は、後述するようにロボットの動作経路が違うことと(CP動作とPTP動作)、軌道生成部102へ渡す制御パラメータの単位が異なることと、処理手順で座標変換を行うタイミングが異なることにある。以下その詳細を説明する。
【0105】
本実施例において、座標変換ルーチン138は、各制御対象ロボット固有の座標変換ルーチン138−1,138−2,138−3…として構成されている。そして、各座標変換ルーチン138は、制御対象ロボットの次の目標位置までの移動距離を、ロボットマニピュレータの各関節の角度移動量に変換する座標変換ルーチンとして構成されている。
【0106】
そして、ユーザプログラムの解釈実行部104が、所定のロボットコントローラのユーザプログラムの解釈実行を行うと、動作実行部106は、対象ロボットの現在の作業ポイントから次の目標位置までの移動距離と、指定されたロボットの座標変換ルーチン138および定義ファイル122に基づき、ロボットマニピュレータの各関節の角度移動条件を表す制御パラメータを求め、これを軌道生成部132へ引き渡す(ステップS10)。このとき引き渡される制御パラメータは、すでに座標変換処理が成されているため、軌道生成部132は、前記制御パラメータに基づき制御対象ロボットマニピュレータ30の各関節の目標位置をそのまま逐次生成することができる(ステップS12)。
【0107】
そして、マニピュレータモータ対応部136は、制御対象ロボットの対応テーブル124を参照しながら、前記各関節の目標位置に基づき、ロボットマニピュレータの各関節のアクチュエータの目標角度を、各関節のモータ32に対応付けて制御データとして出力する(ステップS16)。
【0108】
これにより、サブコントローラ20は、各制御データに基づきロボットマニュピュレータ30の各モータ32をサーボ制御する(ステップS18)。
第1および第2の実施形態の具体的な処理動作
次に、前記第1および第2の実施形態のロボットコントローラの、具体的な制御動作について詳細に説明する。
【0109】
図8には、対象となるロボットマニピュレータ30−1の各関節の座標位置が概略的に示されている。ここにおいて、Pはロボットマニピュレータ30の作業ポイント(手先)の現在位置、P1は次の目標位置を表している。
【0110】
ここにおいて、現在位置P、目標位置P1のロボット座標x,y,z,uは、
現在位置P =(480mm,270mm,−50mm,40deg)
目標位置P1 =(−150mm,360mm,−30mm,90deg)
とする。なお、説明を簡単にするために、ここではxy座標、第1、第2関節のみを考える。
【0111】
そして、現在位置Pでの第1,第2関節角度を
θ11(deg),θ21(deg)
目標位置P1での第1,第2関節角度を
θ21(deg),θ22(deg)
とする。
【0112】
この時、ロボットマニピュレータ30の動作として
PTP動作(point to pointmotion)
CP動作(continuas path motion)
の2通りの動作方式がある。
【0113】
PTP動作は
・軌道生成の計算が簡単、高速
・ロボットの高速性を引き出しやすい
ので、ピックアンドプレイス作業によく使われる。
【0114】
CP動作は、
・ハンド手先の動作経路、速度を正確に指示できるので、塗布作業によく使われる。
【0115】
前記第1の実施形態のロボットコントローラは、ロボットアクチュエータ30をCP動作させる制御を行う場合に極めて好適なものであり、前記第2の実施形態のロボットアクチュエータは、ロボットマニピュレータ30をPTP動作させる制御を行う場合に極めて好適なものである。なお、必要に応じ1台のロボットコントローラに、前記第1及び第2の実施形態の機能をあわせ持たせ、CP及びPTPの両動作の制御を行わせるように構成してもよい。
【0116】
図9には、ロボットアクチュエータ30のPTP動作の一例が示されている。同図(A)は、この第1,第2関節角度の座標動作経路を表し、同図(B)は、このときのロボットの作業ポイントの動作経路を表している。同図に示すよう、PTP動作では、作業ポイントの経路は直線にはならない。
【0117】
図10には、ロボットアクチュエータのCP動作の一例が示されている。
【0118】
同図(A)は、ロボット座標(第1関節の回転中心を原点とした直角座標系)の動作経路を表し、この場合にロボットアクチュエータ30の作業ポイント(手先)の経路は同図(B)に示すように直線経路となる。
【0119】
図11〜図13には、前記第2の実施形態のロボットコントローラを用いて行うPTP動作制御の一例と、前記第1の実施形態のロボットコントローラを用いて行うCP動作制御の一例が示されている。
【0120】
まず、図11(A)には、PTP動作制御用のユーザプログラムの一例が示され、同図(B)にはCP動作制御用のユーザプログラムの一例が示されている。
【0121】
また、図11(C),(D)には、同図(A),(B)で示される各ユーザプログラムのロボット作業手順を示すポイントデータファイルの一例が示されている。このポイントデータファイルは、ロボットの作業ポイントが移動する複数の目標位置P1、P2の組合せとして構成されるが、ここでは最初の目標位置P1のみが示されている。
【0122】
また、図11(E),(F)には、ロボットの特性を定義する定義ファイルの一例が示され、同図(E)はPTP動作用の定義ファイル、同図(F)はCP動作用の定義ファイルである。
【0123】
ここでは、ロボット定義ファイルとして、ロボットの関節最大加速度、関節最大速度を例示しているが、通常はこれ以外にも各種定義データを含んで構成される。
【0124】
図12(A)には、図11(A)に示すPTP動作用のユーザプログラムを実行した際の処理手順の流れが示され、図12(B)には図11(B)に示すCP動作用ユーザプログラムを実行した場合にも処理手順の流れが示されている。
【0125】
まず、PTP動作用のユーザプログラムを実行する場合を説明する。
【0126】
ユーザプログラム動作命令を実行し、ポイントデータファイルから次の目標位置P1の座標データの読み込みを行うと、次に座標変換ルーチンを呼び出し、目標位置P1から関節角度の座標を求める。
【0127】
次に、現在位置Pおよび目標位置P1の関節座標から、ロボットアクチュエータの各関節の角度移動量を求める。
【0128】
次に、軌道生成部132に渡す制御パラメータの計算を行う。
【0129】
この計算は、まずプログラム中で指定されているロボットアクチュエータの速度、加速度の読み込みを行い、角速度、角加速度、角減速度をそれぞれ求める。
【0130】
そして、ロボット定義ファイル122から、関節毎に、その最大角速度、最大角加速度の読み込みを行う。
【0131】
そして、このようにして求めた各データに基づき、各関節毎に、動作角速度、角加速度、角減速度を決定すると共に、加速時間、等速時間、減速時間を求める。
【0132】
そして、制御パラメータの計算が終了すると、動作実行部106は、軌道生成部132へ向け、関節角速度、関節角加速度、関節角減速度、加速時間、減速時間、等速時間、関節各移動量を制御パラメータとして出力する。
【0133】
図12(A)、図13(A)には、このような制御パラメータの具体例が示されている。
【0134】
そして、図13(A)に示すよう、軌道生成部132は、所定のサンプルタイム毎に、制御パラメータからモータ角指令値を制御信号として出力する処理を繰り返して行う。
【0135】
すなわち、制御パラメータより各関節毎の角度移動量を求め、関節角指令値を求める。そして、各関節角指令値を、モータ角度指令値に変換する。
【0136】
その後、ロボット対応テーブル124を参照しながら、マニピュレータの各関節に対応したモータ番号を調べ、サーボ制御部200へ向け対応するモータ角度指令値を引き渡す。
【0137】
次に、図12(B),図13(B)に基づき、CP動作用のユーザプログラム処理の説明を行う。
【0138】
まず、図11(B)に示すユーザプログラムの動作命令を実行し、ポイントデータファイルから次の目標位置P1の読み込みを行う。そして、現在位置Pおよび目標位置P1から、ロボットマニピュレータの作業ポイントの移動距離を求める。
【0139】
そして、次に制御パラメータの計算を行う。ここでの、制御パラメータの計算は、まずプログラム中で指定されている速度、加速度の読み込みを行なう。
【0140】
次に、ロボット定義ファイル等を参照しながら、加速時間、等速時間、減速時間を決定する。
【0141】
そして、このようにして求めた各データを、ロボットマニピュレータ30の作業ポイント(手先)の移動条件を表す制御パラメータとして、軌道生成部32へ向け出力する。
【0142】
ここでは、速度、加速度、減速度、加速時間、減速時間、等速時間、移動量などが制御パラメータとして演算出力される。
【0143】
そして、軌道生成部132、座標変換部134およびマニピュレータ対応部136は、図13(B)に示すよう、所定のサンプルタイム毎に制御パラメータから各モータの角度指令値を演算出力する処理を繰り返して行う。
【0144】
すなわち、まず制御パラメータによりロボット作業ポイントの移動量を求め、ロボット座標位置指令値を求める。
【0145】
そして、位置指令値を、座標変換ルーチン138を用いて座標変換し、各関節毎の関節角指令値を求める。
【0146】
そして、求めた各関節角指令値をモータ角度に変換する。その後、ロボット対応テーブル124を参照し、マニピュレータの関節に対応したモータ番号を調べ、サーボ制御部200にモータ角指令値を引き渡す処理を行う。
【0147】
このように、前述したPTP動作では、制御パラメータとして各関節毎の制御パラメータを演算するため、軌道生成部では座標変換の必要がないが、CP動作では、制御パラメータとしてロボットマニピュレータの作業ポイントの移動条件を表す制御パラメータが演算されるため、その後の処理で移動ポイントの移動量を、各関節毎の座標に変換する座標変換処理が必要となるという点で、両者は異なる。
【0148】
なお、本発明は前記各実施例に限定されるものではなく、本発明の要旨の範囲内で各種の変形実施が可能である。
【0149】
【図面の簡単な説明】
【図1】従来のロボットコントローラの制御動作のフローチャート図である。
【図2】本発明の第1の実施形態であるロボットコントローラの回路図である。
【図3】前記第1の実施形態のロボットコントローラの機能ブロック図である。
【図4】前記実施形態のロボットコントローラの動作フローチャート図である。
【図5】第1の実施形態のロボットコントローラのユーザプログラム処理動作の説明図である。
【図6】本発明の第2の実施形態であるロボットコントローラの機能ブロック図である。
【図7】第2の実施形態のロボットコントローラの動作フローチャート図である。
【図8】実施例のロボット制御動作の説明図である。
【図9】ロボットのPTP動作の説明図である。
【図10】ロボットCP動作の説明図である。
【図11】実施例のロボットコントローラで行うユーザプログラム、ポイントデータファイルおよびロボット定義ファイルの説明図である。
【図12】実施例のロボット制御動作の処理流れの説明図である。
【図13】実施例のロボット制御動作の説明図である。
【符号の説明】
10 主コントローラ
20 サブコントローラ
30 ロボットマニピュレータ
100 アプリケーション部
104 解釈実行部
106 動作実行部
120 OSのファイル
122 ロボット定義ファイル
124 ロボット対応テーブル
130 デバイスドライバ部
132 軌道生成部
134 座標変換部
136 マニピュレータモータ対応部
138 座標変換ルーチン
200 サーボ制御部

Claims (7)

  1. マルチタスク機能を有するオペレーティングシステムを用い、制御対象ロボットを指定しその作業手順を指示する複数のユーザプログラムを実行するロボットコントローラであって、
    複数のロボット毎に、各ロボットの特性を定義する定義ファイルが記憶された第1の記憶手段と、
    前記複数のユーザプログラムを並行して実行し、指定された各ロボットの定義ファイルおよび作業手順に基づき各ロボットの制御パラメータを求めるプログラム実行手段と、
    前記各制御パラメータに基づき各制御対象ロボットの軌道を逐次生成する軌道生成手段と、
    前記各ロボット毎に、ロボットの軌道をロボットマニピュレータの各関節のアクチュエータ制御用の座標を示す座標データに変換する座標変換ルーチンが記憶された第2の記憶手段と、
    前記ロボットの軌道を、指定されたロボットの座標変換ルーチンに基づき、前記座標データに変換する座標変換手段と、
    前記ロボット毎に、各関節と各アクチュエータとの対応付けを表す対応テーブルが記憶された第3の記憶手段と、
    前記座標データと、前記対応テーブルとに基づき、制御データを各アクチュエータに対応付けて出力する手段と、
    を含み、
    前記プログラム実行手段による制御パラメータを求める処理と、前記軌道生成手段による軌道の生成処理とを分離独立して実行することを特徴とするロボットコントローラ。
  2. マルチタスク機能を有するオペレーティングシステムを用い、制御対象ロボットを指定しその作業手順を指示する複数のユーザプログラムを実行し、制御対象ロボット毎に、ロボットマニピュレータの各関節のアクチュエータの制御データを演算する主コントローラと、
    前記各ロボット毎に、前記主コントローラにインターフェイスを介し増設可能に接続されたサブコントローラと、
    を含み、
    前記主コントローラは、
    複数のロボット毎に、各ロボットの特性を定義する定義ファイルが記憶された第1の記憶手段と、
    前記複数のユーザプログラムを並行して実行し、指定された各ロボットの定義ファイルおよび作業手順に基づき各ロボットの制御パラメータを求めるプログラム実行手段と、
    前記各制御パラメータに基づき各制御対象ロボットの軌道を逐次生成する軌道生成手段と、
    前記各ロボット毎に、ロボットの軌道をロボットマニピュレータの各関節のアクチュエータ制御用の座標を示す座標データに変換する座標変換ルーチンが記憶された第2の記憶手段と、
    前記ロボットの軌道を、指定されたロボットの座標変換ルーチンに基づき、前記座標データに変換する座標変換手段と、
    前記ロボット毎に、各関節と各アクチュエータとの対応付けを表す対応テーブルが記憶された第3の記憶手段と、
    前記座標データと、前記対応テーブルとに基づき、制御データを各アクチュエータに対応付けて前記サブコントローラへ向け出力する手段と、
    を含み、
    前記サブコントローラは、対応ロボットのマニピュレータの各関節のアクチュエータ毎に設けられ、各アクチュエータに対応付けられた座標データに基づき対応する各アクチュエータをサーボ制御するサーボ制御手段を含み、
    前記プログラム実行手段による制御パラメータを求める処理と、前記軌道生成手段によ る軌道の生成処理とを分離独立して実行することを特徴とするロボットコントローラ。
  3. 請求項1、2のいずれかにおいて、
    前記ユーザプログラムは、前記作業手順が、制御対象ロボットの作業ポイントの複数の目標位置を表すポイントデータファイルに基づき設定され、
    前記プログラム実行手段は、
    制御対象ロボットの現在の作業ポイントから次の目標位置までの移動距離と、指定された各ロボットの定義ファイルに基づき、作業ポイントの移動条件を表す制御パラメータを求め、
    前記軌道生成手段は、
    所定のサンプルタイム毎に、前記制御パラメータに基づき作業ポイントの軌跡を逐次生成することを特徴とするロボットコントローラ。
  4. マルチタスク機能を有するオペレーティングシステムを用い、制御対象ロボットを指定しその作業手順を指示する複数のユーザプログラムを実行するロボットコントローラであって、
    複数のロボット毎に、各ロボットの特性を定義する定義ファイルが記憶された第1の記憶手段と、
    前記各ロボット毎に、ロボットの軌道をロボットマニピュレータの各関節の角度移動量に変換する座標変換ルーチンが記憶された第2の記憶手段と、
    前記複数のユーザプログラムを並行して実行し、指定されたロボットの定義ファイル、作業手順および指定されたロボットの座標変換ルーチンに基づきロボットマニピュレータの各関節の制御パラメータを求めるプログラム実行手段と、
    前記制御パラメータに基づき制御対象ロボットのロボットマニピュレータの各関節の目標角度を逐次生成する軌道生成手段と、
    前記ロボット毎に、各関節と各アクチュエータとの対応付けを表す対応テーブルが記憶された第3の記憶手段と、
    前記各関節の目標角度と、前記対応テーブルとに基づき、ロボットマニピュレータの各関節のアクチュエータの制御データを各アクチュエータに対応付けて出力する手段と、
    を含み、
    前記プログラム実行手段による制御パラメータを求める処理と、前記軌道生成手段による軌道の生成処理とを分離独立して実行することを特徴とするロボットコントローラ。
  5. マルチタスク機能を有するオペレーティングシステムを用い、制御対象ロボットを指定しその作業手順を指示する複数のユーザプログラムを実行し、制御対象ロボット毎に、ロボットマニピュレータの各関節のアクチュエータの制御データを演算する主コントローラと、
    前記各ロボット毎に、前記主コントローラにインターフェイスを介し増設可能に接続されたサブコントローラと、
    を含み、
    前記主コントローラは、
    複数のロボット毎に、各ロボットの特性を定義する定義ファイルが記憶された第1の記憶手段と、
    前記各ロボット毎に、ロボットの軌道をロボットマニピュレータの各関節の角度移動量に変換する座標変換ルーチンが記憶された第2の記憶手段と、
    前記ユーザプログラムを実行し、指定されたロボットの定義ファイル、作業手順および指定されたロボットの座標変換ルーチンに基づきロボットマニピュレータの各関節の制御 パラメータを求めるプログラム実行手段と、
    前記制御パラメータに基づき制御対象ロボットのロボットマニピュレータの各関節の目標角度を逐次生成する軌道生成手段と、
    前記各関節の目標角度に基づき、ロボットマニピュレータの各関節のアクチュエータの制御データを演算する制御データ生成手段と、
    前記ロボット毎に、各関節と各アクチュエータとの対応付けを表す対応テーブルが記憶された第3の記憶手段と、
    前記各関節の目標角度と、前記対応テーブルとに基づき、ロボットマニピュレータの各関節のアクチュエータの制御データを各アクチュエータに対応付けて前記サブコントローラへ向け出力する手段と、
    を含み、
    前記サブコントローラは、対応ロボットのマニピュレータの各関節のアクチュエータ毎に設けられ、前記制御データに基づき対応する各アクチュエータをサーボ制御するサーボ制御手段を含み、
    前記プログラム実行手段による制御パラメータを求める処理と、前記軌道生成手段による軌道の生成処理とを分離独立して実行することを特徴とするロボットコントローラ。
  6. 請求項4、5のいずれかにおいて、
    前記ユーザプログラムは、前記作業手順が、制御対象ロボットの作業ポイントの複数の目標位置を表すポイントデータファイルに基づき設定され、
    前記第2の記憶手段は、
    前記各ロボット毎に、次の目標位置までの移動距離をロボットマニピュレータの各関節の角度移動量に変換する座標変換ルーチンが記憶され、
    前記プログラム実行手段は、
    制御対象ロボットの現在の作業ポイントから次の目標位置までの移動距離と、指定された各ロボットの定義ファイルおよび座標変換ルーチンに基づき、ロボットマニピュレータの各関節の角度移動条件を表す制御パラメータを求め、
    前記軌道生成手段は、
    所定のサンプルタイム毎に、前記制御パラメータに基づき制御対象ロボットのロボットマニピュレータの各関節の目標角度を逐次生成することを特徴とするロボットコントローラ。
  7. 制御対象ロボットとその作業手順を指示する複数のユーザプログラムと、複数のロボット毎に各ロボットの特徴を定義する定義ファイル群のうちの前記制御対象ロボットの定義ファイルとに基づき、制御パラメータを演算するプログラム実行工程と、
    前記制御パラメータに基づき、サンプリングタイム毎に前記制御対象ロボットのロボットマニピュレータの軌道を演算する軌道演算工程と、
    当該軌道演算工程で演算された軌道と、前記ロボット毎に、各関節と各アクチュエータとの対応付けを表す対応テーブルとに基づき、前記ロボットマニピュレータの各関節のアクチュエータの制御データを各アクチュエータに対応付けて出力する工程と、
    を含み、
    前記プログラム実行工程では、所定の制御対象ロボットの制御パラメータの演算中に、他の制御対象ロボットの制御パラメータを並行して演算するとともに、前記軌道演算工程における輝度の演算とは分離独立して制御パラメータを演算することを特徴とするロボット制御方法。
JP19535396A 1996-07-05 1996-07-05 ロボットコントローラおよびロボット制御方法 Expired - Lifetime JP3668821B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19535396A JP3668821B2 (ja) 1996-07-05 1996-07-05 ロボットコントローラおよびロボット制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19535396A JP3668821B2 (ja) 1996-07-05 1996-07-05 ロボットコントローラおよびロボット制御方法

Publications (2)

Publication Number Publication Date
JPH1020910A JPH1020910A (ja) 1998-01-23
JP3668821B2 true JP3668821B2 (ja) 2005-07-06

Family

ID=16339765

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19535396A Expired - Lifetime JP3668821B2 (ja) 1996-07-05 1996-07-05 ロボットコントローラおよびロボット制御方法

Country Status (1)

Country Link
JP (1) JP3668821B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007175859A (ja) 2005-11-29 2007-07-12 Seiko Epson Corp ロボットコントローラシステム
JP4577353B2 (ja) * 2007-12-07 2010-11-10 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP6696465B2 (ja) * 2017-03-16 2020-05-20 株式会社安川電機 コントロールシステム、コントローラ及び制御方法
CN113795795A (zh) * 2019-06-26 2021-12-14 深圳市晟视科技有限公司 智能相机控制移动平台的实现方法和系统

Also Published As

Publication number Publication date
JPH1020910A (ja) 1998-01-23

Similar Documents

Publication Publication Date Title
JP2786225B2 (ja) 工業用ロボットの制御方法及び装置
JP2004524171A (ja) 多用途ロボット制御システム
JPS59218513A (ja) 工業用ロボツトの円弧制御法
US5587638A (en) Flexible servo control method capable of specifying flexibility on working coordinates
JPH0789293B2 (ja) ア−ム制御装置
US4685067A (en) Control system for program controlled manipulator having multiple triggered functions between programmed points
JP3668821B2 (ja) ロボットコントローラおよびロボット制御方法
Ferretti et al. The structured design of an industrial robot controller
JPH0797290B2 (ja) 複数ア−ムの制御装置
JPH0630012B2 (ja) 産業用ロボツトの制御方法
JP2000194409A (ja) ロボットのプログラム変換装置
JP2610996B2 (ja) 多関節ロボット制御装置
JPH0889859A (ja) 塗装用ロボットの動作教示方法及び装置
Nevliudov et al. Multithreaded Software Control of Industrial Manipulator Movement
CN111699079A (zh) 协调系统、操作设备和方法
JP2512473B2 (ja) 産業用ロボツトの補間方式
JP7276359B2 (ja) 動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法
JPH0782372B2 (ja) ロボットア−ムの制御方法
JP2613475B2 (ja) 共用外部軸を有するロボットシステム
JPH07205068A (ja) ロボットの座標系設定方法
JP3089027B2 (ja) ロボット倣い制御装置
WO2022163743A1 (ja) 数値制御装置、及び数値制御システム
Kirćanski et al. Multiprocessor control system for industrial robots
JP2787207B2 (ja) 多軸位置サーボ装置
Freund et al. Cooperative control of robots as a basis for projective virtual reality

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040615

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040810

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050328

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080422

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090422

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090422

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100422

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110422

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110422

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120422

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130422

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130422

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 9

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term