[go: up one dir, main page]

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

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

Info

Publication number
JPH1020910A
JPH1020910A JP19535396A JP19535396A JPH1020910A JP H1020910 A JPH1020910 A JP H1020910A JP 19535396 A JP19535396 A JP 19535396A JP 19535396 A JP19535396 A JP 19535396A JP H1020910 A JPH1020910 A JP H1020910A
Authority
JP
Japan
Prior art keywords
robot
joint
manipulator
trajectory
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.)
Granted
Application number
JP19535396A
Other languages
English (en)
Other versions
JP3668821B2 (ja
Inventor
Masayuki Okuyama
正幸 奥山
Hiroyuki Miyazawa
比呂之 宮沢
Nobuki Hayashi
乃武樹 林
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
Seiko Seiki KK
Original Assignee
Seiko Epson Corp
Seiko Seiki KK
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, Seiko Seiki KK 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

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

(57)【要約】 【課題】 制御対象ロボットの拡張、変更を容易に行う
ことが可能なロボットコントローラを提供すること。 【解決手段】 このロボットコントローラは、制御対象
ロボット30を指定しその作業手順を指示する複数のユ
ーザプログラムを実行し、制御対象ロボット毎に、ロボ
ットマニピュレータの各関節のアクチュエータの制御デ
ータを演算する主コントローラ10と、前記各ロボット
30毎に、前記主コントローラにインターフェイス14
を介し増設可能に接続されたサブコントローラ30とに
分離形成されている。前記主コントローラ10は、前記
複数のユーザプログラムを実行し、指定された各ロボッ
トの定義ファイルおよび作業手順に基づき各ロボットの
制御パラメータを求める手段と、前記各制御パラメータ
に基づき各制御対象ロボットの軌道を逐次生成する手段
とを含む。そして、サブコントローラ30は、前記各ロ
ボットの軌道を座標変換ルーチンに基づきロボットマニ
ピュレータの各関節のアクチュエータの制御データに変
換出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はロボットコントロー
ラおよびロボットの制御方法、特に制御対象ロボットの
拡張、変更を容易に行うことができるロボットコントロ
ーラおよびロボットの制御方法に関する。
【0002】
【背景技術および発明が解決しようとする課題】従来よ
り、ロボットを制御するためのコントローラおよびその
制御方法は、例えば部品の組立、加工およびその他の用
途に幅広く用いられている。
【0003】しかし、従来のコントローラは、制御する
モータやマニュピュレータとの関係が固定されていた。
このため、コントローラ購入後にユーザー側でマニュピ
ュレータ等を追加、変更することは困難であり、仮に追
加、変更が可能な場合でもコントローラ内のROM等に
固定的にインストールされているソフトウエアを変更す
る必要があるため、その作業が極めて困難であるという
問題があった。
【0004】図1には、従来のロボットコントローラの
制御手法が示されている。
【0005】従来の制御手法は、通常ステップS1、S
2、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動作(contin
uas 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〜1
0のいずれかにおいて、前記第1の記憶手段、プログラ
ム実行手段、軌道生成手段、第2の記憶手段および制御
データ演算手段は、パーソナルコンピュータを用いて形
成されたことを特徴とする。
【0061】このように、本発明によれば、ユーザプロ
グラムから制御データを演算する部分をパーソナルコン
ピュータを用いて形成することにより、市販のコンピュ
ータを用いて、各種ロボットの制御を容易に行うことが
できる。
【0062】特に、本発明は、請求項3、7、又はこら
に従属する請求項の発明のようにコントローラを主コン
トローラとサブコントローラとに分離構成するものに適
用することが好ましい。この場合、主コントローラをパ
ーソナルコンピュータを用いて構成することにより、コ
ントローラの拡張性、汎用性をさらに高めることが可能
となる。
【0063】また、請求項12の発明は、請求項11に
おいて、前記軌道生成手段、第2の記憶手段および制御
データ演算手段は、デバイスドライバとして形成された
ことを特徴とする。
【0064】即ち、本発明のロボットコントローラは、
ユーザープログラムを実行し、制御パラメータを求める
プログラム実行手段と、制御パラメータから制御対象ロ
ボットの軌道やロボットのマニュピュレータの各関節の
目標角度を逐次生成する軌道生成手段とを分離独立し、
プログラム実行手段からは単に制御パラメータを軌道生
成手段に渡し、それ以外の演算処理は、それぞれ独立に
行うという構成を採用した。そこで請求項12の発明
は、パーソナルコンピュータなどにおいて、高速処理が
難しいプログラムの実行手段と、ロボットに依存し、で
きるだけ速い処理が必要とされる軌道生成および制御デ
ータの演算処理のための手段とを分離し、後者を高速処
理が可能なデバイスドライバとして形成する。このよう
な構成を採用することにより、パーソナルコンピュータ
を使用しロボット制御を行う場合でも、ロボット制御の
ための高速性を充分に満足した演算処理が可能となる。
【0065】
【発明の実施の形態】次に本発明の好適な実施の形態
を、図面に基づき詳細に説明する。 第1の実施の形態 図2には、本発明が適用されたロボットコントローラの
好適な第1の実施の形態が示されている。
【0066】このロボットコントローラは、主コントロ
ーラ10と、サブコントローラ20とに分離形成され、
対応するロボットマニピュレータ30を制御する。
【0067】制御対象となるロボットマニピュレータ3
0−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】このように、実施例では主コントローラ1
0に対し、サブコントローラ20が増設可能に構成され
ているため、ロボットマニピュレータ30の増設にはサ
ブコントローラ20のみを増設してハードウエア的に対
応することができ、従来の一体型ロボットコントローラ
に比べ、システムの拡張変更に対し柔軟に対処すること
が可能となる。
【0074】前記サブコントローラ20は、共有メモリ
22と、サブCPU24と、各モータ32−1,32−
2…32−4に対応した駆動手段である複数のモータド
ライバ26−1,26−2…26−4とを含んで構成さ
れる。
【0075】前記共有メモリ22は、主コントローラ1
0から入力される各モータ32−1,32−2…32−
4の制御データを一時記憶すると共に、サブCPU24
のワーキングエリアとしても機能するように構成されて
いる。
【0076】そして、サブCPU24は、入力された制
御データに基づき、各モータドライバ26−1,26−
2…26−4にモータ制御指令を出力する。各モータド
ライバ26は、この制御指令に基づき対応するモータ3
2を駆動するように構成されている。このとき、各モー
タドライバ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に対してはロボット定義ファイル12
2−2がそれぞれ設けられている。これら各定義ファイ
ルは、対応するロボットの特性を定義するデータを含ん
で構成されており、このような定義データとしては、例
えばロボットのタイプ、構成(アームの長さ等)、動作
速度、動作加速度等がある。
【0084】前記ユーザインタ−フェース部102は、
制御対象となるロボットの動作をモニタリングすると共
に、ロボット定義ファイルの参照、変更などを行うよう
に構成されている。
【0085】前記ユーザプログラム解釈実行部104
は、動作実行部106と共にプログラム実行手段として
機能するものである。
【0086】本実施例において、解釈実行部104で実
行されるユーザプログラムは、予めコントローラ10内
のメモリに読み込まれており、制御対象ロボットを指定
しその作業手順を指示するように構成されている。これ
においてユーザプログラムによって指示される作業手順
は、制御対象ロボットの作業ポイント(手先)の複数の
目標位置を表すポイントデータファイルとして与えられ
ている。
【0087】そして、解釈実行部104がユーザプログ
ラムの解釈実行を行うと、動作実行部106は、ユーザ
プログラムによって指示されたロボットの定義ファイル
120および作業手順に基づきロボットの制御パラメー
タを求め、軌道生成部132へ渡すように構成されてい
る。ここでは、制御対象ロボットの現在の作業ポイント
から次の目標位置までの移動距離と、指定されたロボッ
トの定義ファイル122とに基づき、作業ポイントの移
動条件を表す制御パラメータを求め、軌道生成部132
へ引き渡している。
【0088】前記軌道生成部132は、引き渡された制
御パラメータに基づき、所定のサンプルタイム毎(数m
sec間隔毎)に作業ポイント(手先)の軌道を逐次生
成する演算処理を行い、求めた軌道データを座標変換部
134へ向け出力する。
【0089】前記座標変換ルーチン138は、各ロボッ
ト毎に、ロボットの軌道をロボットマニピュレータの各
関節のモータ座標に変換する座標変換ルーチンとして構
成されている。ここでは、水平多関節型座標変換ルーチ
ン138−1、垂直多関節型座標変換ルーチン138−
2、直角座標型座標変換ルーチン138−3の3つの座
標変換ルーチンを含んで構成されている。
【0090】また、前記座標変換部134およびマニピ
ュレータモータ対応部136は、制御データ演算手段と
して機能するものである。そして、前記座標変換部13
4は、指定されたロボットの座標変換ルーチン138に
基づき、軌道生成部132の求めたロボットの軌道をロ
ボットマニピュレータの各関節のモータ制御用の座標デ
ータに変換し、これを制御データとしてマニピュレータ
モータ対応部136へ向け出力する。
【0091】前記ロボット対応テーブル124は、制御
対象ロボット毎に設けられており、演算された各制御デ
ータと各アクチュエータとの対応付を表すテーブルとし
て形成されている。実施例では、図4に示すよう、第1
のロボットマニピュレータ30−1用の対応テーブル1
24−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へ引き渡す(ステップS1
4)。
【0097】マニピュレータモータ対応部136は、制
御対象ロボットのロボット対応テーブル124を参照し
ながら、引き渡された各座標データを各モータに対応付
けて、対象となるサブコントローラ20へ向けて制御デ
ータとして出力する。
【0098】そして、この制御データが入力されたサブ
コントローラ20は、制御データに基づき各ロボットマ
ニピュレータ30の各モータ32をサ−ボ制御する(ス
テップS18)。
【0099】以上説明したように、本実施例のロボット
コントローラによれば、ロボット定義ファイル122、
ロボット対応テーブル124および座標変換ルーチン1
38を、各ロボット毎に対応付けて複数用意する構成を
採用したことにより、制御対象となるロボットを、第1
のロボットマニピュレータ30−1から、第2のロボッ
トマニピュレータ30−2まで拡張する場合でも、また
は制御対象ロボットを第1のロボットマニピュレータ3
0−1から第2のロボットマニピュレータ30−2へ変
更するような場合でも、これに柔軟にかつ安価に対応す
ることが可能となる。
【0100】さらに、実施例のロボットコントローラ
は、アプリケーション部100の処理と、デバイスドラ
イバ部130の処理とを分離独立させる構成を採用して
いる。そして、緻密、高速なリアルタイム性が要求され
ない処理は、OS用の通常アプリケーションとしてアプ
リケーション部100で実行し、リアルタイム性が要求
される処理はオペレーションシステムのデバイスドライ
バ部130で実行するように構成されている。
【0101】従って、図5に示すように、アプリケーシ
ョン部100では、複数のユーザプログラム102−
1,102−2を同時に解釈実行し(104−1,10
4−2)、各ロボットの制御パラメータを求める処理を
行い(106−1,106−2)、各制御パラメータを
デバイスドライバ部130へ引き渡すことができる。
【0102】そして、デバイスドライバ部130を構成
する軌道生成部132、座標変換部134およびマニピ
ュレータモータ対応部136では、データの演算処理を
極めて高速に行うことができ、この結果、動作実行部1
06から引き渡された複数のロボットの制御パラメータ
に基づき、各ロボットの制御データを高速演算し、対応
するサブコントローラ20−1,20−2…へ出力する
ことができる。
【0103】さらに、ロボットコントローラは、各ロボ
ットマニピュレータ30固有のハードウエア部分を、サ
ブコントローラ20として、主コントローラ10に対し
て増設可能に形成している。従って、ロボットの増設、
変更に際しては、サブコントローラ20のみを制御対象
ロボットに合わせて設置すれば済むという利点がある。 第2の実施の形態 図6,図7には、本発明のロボットコントローラの第2
の実施形態が示されている。なお、前記第1の実施形態
と対応する部材には同一号付しその説明は省略する。
【0104】前記第1の実施形態と、この第2の実施形
態との基本的な相違は、後述するようにロボットの動作
経路が違うことと(CP動作とPTP動作)、軌道生成
部102へ渡す制御パラメータの単位が異なることと、
処理手順で座標変換を行うタイミングが異なることにあ
る。以下その詳細を説明する。
【0105】本実施例において、座標変換ルーチン13
8は、各制御対象ロボット固有の座標変換ルーチン13
8−1,138−2,138−3…として構成されてい
る。そして、各座標変換ルーチン138は、制御対象ロ
ボットの次の目標位置までの移動距離を、ロボットマニ
ピュレータの各関節の角度移動量に変換する座標変換ル
ーチンとして構成されている。
【0106】そして、ユーザプログラムの解釈実行部1
04が、所定のロボットコントローラのユーザプログラ
ムの解釈実行を行うと、動作実行部106は、対象ロボ
ットの現在の作業ポイントから次の目標位置までの移動
距離と、指定されたロボットの座標変換ルーチン138
および定義ファイル122に基づき、ロボットマニピュ
レータの各関節の角度移動条件を表す制御パラメータを
求め、これを軌道生成部132へ引き渡す(ステップS
10)。このとき引き渡される制御パラメータは、すで
に座標変換処理が成されているため、軌道生成部132
は、前記制御パラメータに基づき制御対象ロボットマニ
ピュレータ30の各関節の目標位置をそのまま逐次生成
することができる(ステップS12)。
【0107】そして、マニピュレータモータ対応部13
6は、制御対象ロボットの対応テーブル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,−50m
m,40deg) 目標位置P1 =(−150mm,360mm,−30
mm,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には、ロボットアクチュエータのC
P動作の一例が示されている。
【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)はC
P動作用の定義ファイルである。
【0123】ここでは、ロボット定義ファイルとして、
ロボットの関節最大加速度、関節最大速度を例示してい
るが、通常はこれ以外にも各種定義データを含んで構成
される。
【0124】図12(A)には、図11(A)に示すP
TP動作用のユーザプログラムを実行した際の処理手順
の流れが示され、図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、座標変換部1
34およびマニピュレータ対応部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 サーボ制御部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 林 乃武樹 千葉県習志野市屋敷4丁目3番1号 セイ コー精機株式会社内

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 制御対象ロボットを指定しその作業手順
    を指示するユーザプログラムを実行するロボットコント
    ローラであって、 複数のロボット毎に、各ロボットの特性を定義する定義
    ファイルが記憶された第1の記憶手段と、 前記ユーザプログラムを実行し、指定されたロボットの
    定義ファイルおよび作業手順に基づきロボットの制御パ
    ラメータを求めるプログラム実行手段と、 前記制御パラメータに基づき制御対象ロボットの軌道を
    逐次生成する軌道生成手段と、 前記各ロボット毎に、ロボットの軌道をロボットマニピ
    ュレータの各関節のアクチュエータ座標に変換する座標
    変換ルーチンが記憶された第2の記憶手段と、 前記ロボットの軌道および指定されたロボットの座標変
    換ルーチンに基づき、ロボットマニピュレータの各関節
    のアクチュエータの制御データを演算する制御データ演
    算手段と、 を含むことを特徴とするロボットコントローラ。
  2. 【請求項2】 マルチタスク機能を有するオペレーティ
    ングシステムを用い、制御対象ロボットを指定しその作
    業手順を指示する複数のユーザプログラムを実行するロ
    ボットコントローラであって、 複数のロボット毎に、各ロボットの特性を定義する定義
    ファイルが記憶された第1の記憶手段と、 前記複数のユーザプログラムを実行し、指定された各ロ
    ボットの定義ファイルおよび作業手順に基づき各ロボッ
    トの制御パラメータを求めるプログラム実行手段と、 前記各制御パラメータに基づき各制御対象ロボットの軌
    道を逐次生成する軌道生成手段と、 前記各ロボット毎に、ロボットの軌道をロボットマニピ
    ュレータの各関節のアクチュエータ座標に変換する座標
    変換ルーチンが記憶された第2の記憶手段と、 前記各ロボットの軌道および指定されたロボットの座標
    変換ルーチンに基づき、ロボット毎に、ロボットマニピ
    ュレータの各関節のアクチュエータの制御データを演算
    する制御データ演算手段と、 を含むことを特徴とするロボットコントローラ。
  3. 【請求項3】 マルチタスク機能を有するオペレーティ
    ングシステムを用い、制御対象ロボットを指定しその作
    業手順を指示する複数のユーザプログラムを実行し、制
    御対象ロボット毎に、ロボットマニピュレータの各関節
    のアクチュエータの制御データを演算する主コントロー
    ラと、 前記各ロボット毎に、前記主コントローラにインターフ
    ェイスを介し増設可能に接続されたサブコントローラ
    と、 を含み、 前記主コントローラは、 複数のロボット毎に、各ロボットの特性を定義する定義
    ファイルが記憶された第1の記憶手段と、 前記複数のユーザプログラムを実行し、指定された各ロ
    ボットの定義ファイルおよび作業手順に基づき各ロボッ
    トの制御パラメータを求めるプログラム実行手段と、 前記各制御パラメータに基づき各制御対象ロボットの軌
    道を逐次生成する軌道生成手段と、 前記各ロボット毎に、ロボットの軌道をロボットマニピ
    ュレータの各関節のアクチュエータ座標に変換する座標
    変換ルーチンが記憶された第2の記憶手段と、 前記各ロボットの軌道および指定されたロボットの座標
    変換ルーチンに基づき、ロボット毎に、ロボットマニピ
    ュレータの各関節のアクチュエータの制御データを演算
    する制御データ演算手段と、 を含み、 前記サブコントローラは、 対応ロボットのマニピュレータの各関節のアクチュエー
    タ毎に設けられ、前記制御データに基づき対応する各ア
    クチュエータをサーボ制御するサーボ制御手段を含むこ
    とを特徴とするロボットコントローラ。
  4. 【請求項4】 請求項1〜3のいずれかにおいて、 前記ユーザプログラムは、前記作業手順が、制御対象ロ
    ボットの作業ポイントの複数の目標位置を表すポイント
    データファイルに基づき設定され、 前記プログラム実行手段は、 制御対象ロボットの現在の作業ポイントから次の目標位
    置までの移動距離と、指定された各ロボットの定義ファ
    イルに基づき、作業ポイントの移動条件を表す制御パラ
    メータを求め、 前記軌道生成手段は、 所定のサンプルタイム毎に、前記制御パラメータに基づ
    き作業ポイントの軌跡を逐次生成することを特徴とする
    ロボットコントローラ。
  5. 【請求項5】 制御対象ロボットを指定しその作業手順
    を指示するユーザプログラムを実行するロボットコント
    ローラであって、 複数のロボット毎に、各ロボットの特性を定義する定義
    ファイルが記憶された第1の記憶手段と、 前記各ロボット毎に、ロボットの軌道をロボットマニピ
    ュレータの各関節の角度移動量に変換する座標変換ルー
    チンが記憶された第2の記憶手段と、 前記ユーザプログラムを実行し、指定されたロボットの
    定義ファイル、作業手順および指定されたロボットの座
    標変換ルーチンに基づきロボットマニピュレータの各関
    節の制御パラメータを求めるプログラム実行手段と、 前記制御パラメータに基づき制御対象ロボットのロボッ
    トマニピュレータの各関節の目標角度を逐次生成する軌
    道生成手段と、 前記各関節の目標角度に基づき、ロボットマニピュレー
    タの各関節のアクチュエータの制御データを演算する制
    御データ演算手段と、 を含むことを特徴とするロボットコントローラ。
  6. 【請求項6】 マルチタスク機能を有するオペレーティ
    ングシステムを用い、制御対象ロボットを指定しその作
    業手順を指示する複数のユーザプログラムを実行するロ
    ボットコントローラであって、 複数のロボット毎に、各ロボットの特性を定義する定義
    ファイルが記憶された第1の記憶手段と、 前記各ロボット毎に、ロボットの軌道をロボットマニピ
    ュレータの各関節の角度移動量に変換する座標変換ルー
    チンが記憶された第2の記憶手段と、 前記ユーザプログラムを実行し、指定されたロボットの
    定義ファイル、作業手順および指定されたロボットの座
    標変換ルーチンに基づきロボットマニピュレータの各関
    節の制御パラメータを求めるプログラム実行手段と、 前記制御パラメータに基づき制御対象ロボットのロボッ
    トマニピュレータの各関節の目標角度を逐次生成する軌
    道生成手段と、 前記各関節の目標角度に基づき、ロボットマニピュレー
    タの各関節のアクチュエータの制御データを演算する制
    御データ演算手段と、 を含むことを特徴とするロボットコントローラ。
  7. 【請求項7】 マルチタスク機能を有するオペレーティ
    ングシステムを用い、制御対象ロボットを指定しその作
    業手順を指示する複数のユーザプログラムを実行し、制
    御対象ロボット毎に、ロボットマニピュレータの各関節
    のアクチュエータの制御データを演算する主コントロー
    ラと、 前記各ロボット毎に、前記主コントローラにインターフ
    ェイスを介し増設可能に接続されたサブコントローラ
    と、 を含み、 前記主コントローラは、 複数のロボット毎に、各ロボットの特性を定義する定義
    ファイルが記憶された第1の記憶手段と、 前記各ロボット毎に、ロボットの軌道をロボットマニピ
    ュレータの各関節の角度移動量に変換する座標変換ルー
    チンが記憶された第2の記憶手段と、 前記ユーザプログラムを実行し、指定されたロボットの
    定義ファイル、作業手順および指定されたロボットの座
    標変換ルーチンに基づきロボットマニピュレータの各関
    節の制御パラメータを求めるプログラム実行手段と、 前記制御パラメータに基づき制御対象ロボットのロボッ
    トマニピュレータの各関節の目標角度を逐次生成する軌
    道生成手段と、 前記各関節の目標角度に基づき、ロボットマニピュレー
    タの各関節のアクチュエータの制御データを演算する制
    御データ演算手段と、 を含み、 前記サブコントローラは、 対応ロボットのマニピュレータの各関節のアクチュエー
    タ毎に設けられ、前記制御データに基づき対応する各ア
    クチュエータをサーボ制御するサーボ制御手段を含むこ
    とを特徴とするロボットコントローラ。
  8. 【請求項8】 請求項5〜7のいずれかにおいて、 前記ユーザプログラムは、前記作業手順が、制御対象ロ
    ボットの作業ポイントの複数の目標位置を表すポイント
    データファイルに基づき設定され、 前記第2の記憶手段は、 前記各ロボット毎に、次の目標位置までの移動距離をロ
    ボットマニピュレータの各関節の角度移動量に変換する
    座標変換ルーチンが記憶され、 前記プログラム実行手段は、 制御対象ロボットの現在の作業ポイントから次の目標位
    置までの移動距離と、指定された各ロボットの定義ファ
    イルおよび座標変換ルーチンに基づき、ロボットマニピ
    ュレータの各関節の角度移動条件を表す制御パラメータ
    を求め、 前記軌道生成手段は、 所定のサンプルタイム毎に、前記制御パラメータに基づ
    き制御対象ロボットのロボットマニピュレータの各関節
    の目標角度を逐次生成することを特徴とするロボットコ
    ントローラ。
  9. 【請求項9】請求項1〜8のいずれかにおいて、 前記各ロボット毎に、前記各制御データと各アクチュエ
    ータとの対応付けを表す対応テーブルが記憶された第3
    の記憶手段を含み、 前記制御データ演算手段は、 指定されたロボットの対応テーブルに基づき、演算され
    た前記制御データを各アクチュエータに対応付けて出力
    する手段を含むことを特徴とするロボットコントロー
    ラ。
  10. 【請求項10】 請求項1〜9のいずれかにおいて、 前記各関節のアクチュエータはモータとして形成された
    ことを特徴とするロボットコントローラ。
  11. 【請求項11】 請求項1〜10のいずれかにおいて、 前記第1の記憶手段、プログラム実行手段、軌道生成手
    段、第2の記憶手段および制御データ演算手段は、パー
    ソナルコンピュータを用いて形成されたことを特徴とす
    るロボットコントローラ。
  12. 【請求項12】 請求項11において、 前記軌道生成手段、第2の記憶手段および制御データ演
    算手段は、デバイスドライバとして形成されたことを特
    徴とするロボットコントローラ。
  13. 【請求項13】 複数のロボット毎に、各ロボットの特
    徴を定義する定義ファイルを記憶する行程と、 前記各ロボット毎に、ロボットの作業ポイントの軌道座
    標を、ロボットマニピュレータの各関節を駆動する各ア
    クチュエータ毎のアクチュエータ座標に変換する座標変
    換ルーチンを記憶する行程と、 制御対象ロボットを指定しその作業手順を指示する少な
    くとも1つのユーザプログラムを記憶手段にインストー
    ルする行程と、 指定された各ロボットの定義ファイルに基づき各ロボッ
    トの制御パラメータを求め、前記各制御パラメータおよ
    び前記各プログラムの作業手順に基づき各制御対象ロボ
    ットの作業ポイントの軌道を演算するプログラム実行工
    程と、 前記作業ポイントの軌道および指定されたロボットの座
    標変換ルーチンに基づき、各ロボット毎にマニピュレー
    タの各関節のアクチュエータの制御データを演算する制
    御データの演算工程とを含むことを特徴とするロボット
    制御方法。
  14. 【請求項14】 複数のロボット毎に、各ロボットの特
    徴を定義する定義ファイルを記憶する行程と、 前記各ロボット毎に、ロボットの軌道をロボットマニピ
    ュレータの各関節の角度移動量に変換する座標変換ルー
    チンを記憶する行程と、 制御対象ロボットを指定しその作業手順を指示する少な
    くとも1つのユーザプログラムを記憶手段にインストー
    ルする行程と、 前記ユーザプログラムを実行し、指定されたロボットの
    定義ファイル、作業手順および指定されたロボットの座
    標変換ルーチンに基づきロボットマニピュレータの各関
    節の制御パラメータを求める工程と、 前記制御パラメータに基づき制御対象ロボットのロボッ
    トマニピュレータの各関節の目標角度を逐次生成する工
    程と、 前記各関節の目標角度に基づき、ロボットマニピュレー
    タの各関節のアクチュエータの制御データを演算する工
    程と、を含むことを特徴とするロボット制御方法。
  15. 【請求項15】 請求項13,14のいずれかにおい
    て、 前記各ロボット毎に、前記各制御データと各アクチュエ
    ータとの対応付けを表す対応テーブルを記憶する工程を
    含み、 前記制御データの演算工程は、 指定されたロボットの対応テーブルに基づき、演算され
    た前記制御データを各アクチュエータに対応付けて出力
    する工程を含むことを特徴とするロボット制御方法。
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 true JPH1020910A (ja) 1998-01-23
JP3668821B2 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7463002B2 (en) 2005-11-29 2008-12-09 Seiko Epson Corporation Robot controller system
JP2009140325A (ja) * 2007-12-07 2009-06-25 Sony Corp 情報処理装置、情報処理方法、およびプログラム
JP2018153883A (ja) * 2017-03-16 2018-10-04 株式会社安川電機 コントロールシステム、コントローラ及び制御方法
CN113795795A (zh) * 2019-06-26 2021-12-14 深圳市晟视科技有限公司 智能相机控制移动平台的实现方法和系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7463002B2 (en) 2005-11-29 2008-12-09 Seiko Epson Corporation Robot controller system
JP2009140325A (ja) * 2007-12-07 2009-06-25 Sony Corp 情報処理装置、情報処理方法、およびプログラム
JP2018153883A (ja) * 2017-03-16 2018-10-04 株式会社安川電機 コントロールシステム、コントローラ及び制御方法
CN108621152A (zh) * 2017-03-16 2018-10-09 株式会社安川电机 控制系统、控制器以及控制方法
US11198219B2 (en) 2017-03-16 2021-12-14 Kabushiki Kaisha Yaskawa Denki Controller, control system, and control method
CN108621152B (zh) * 2017-03-16 2022-02-08 株式会社安川电机 控制系统、控制器以及控制方法
CN113795795A (zh) * 2019-06-26 2021-12-14 深圳市晟视科技有限公司 智能相机控制移动平台的实现方法和系统

Also Published As

Publication number Publication date
JP3668821B2 (ja) 2005-07-06

Similar Documents

Publication Publication Date Title
JP2786225B2 (ja) 工業用ロボットの制御方法及び装置
JPH079606B2 (ja) ロボット制御装置
JPH0720941A (ja) 作業座標上で柔らかさを指定可能な柔軟なサーボ制御方法
JP3668821B2 (ja) ロボットコントローラおよびロボット制御方法
JPH0916241A (ja) ロボットの加減速動作の設定方法
JP2024177314A (ja) ロボットシステム、プランニングシステム、ロボット制御方法、およびプランニングプログラム
CN116075400A (zh) 数值控制系统以及机器人控制方法
CN112894827A (zh) 一种机械臂运动控制方法、系统、装置及可读存储介质
JPH05345291A (ja) ロボットの動作範囲制限方式
JPH0693209B2 (ja) ロボツトの円弧補間姿勢制御装置
JPH10143218A (ja) ロボットのサイクルタイム予測装置
JP2610996B2 (ja) 多関節ロボット制御装置
CN114603552B (zh) 一种机器人仿真方法、电子设备和存储介质
JPH0797290B2 (ja) 複数ア−ムの制御装置
JPH11191005A (ja) ロボット制御装置
JPH10244481A (ja) ロボットの動作プログラム作成方法および装置
JPH0677910B2 (ja) 産業用ロボツトの制御方法
JP2787207B2 (ja) 多軸位置サーボ装置
JP7276359B2 (ja) 動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法
JP3089027B2 (ja) ロボット倣い制御装置
JP2613475B2 (ja) 共用外部軸を有するロボットシステム
JP2993708B2 (ja) 工業用ロボット及びその軌道修正方法
JPS62127905A (ja) ロボツトア−ムの動作シミユレ−タ装置
JPH03184786A (ja) ロボットの軌道生成方式
JPS60220408A (ja) 関節形ロボツト用制御装置

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 (=grant) 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