JPH1020910A - Robot controller and robot control method - Google Patents
Robot controller and robot control methodInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000006243 chemical reaction Methods 0.000 claims abstract description 74
- 230000008569 process Effects 0.000 claims description 27
- 230000009466 transformation Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 33
- 239000013256 coordination polymer Substances 0.000 description 15
- 230000001133 acceleration Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 5
- 239000011248 coating agent Substances 0.000 description 2
- 238000000576 coating method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
(57)【要約】
【課題】 制御対象ロボットの拡張、変更を容易に行う
ことが可能なロボットコントローラを提供すること。
【解決手段】 このロボットコントローラは、制御対象
ロボット30を指定しその作業手順を指示する複数のユ
ーザプログラムを実行し、制御対象ロボット毎に、ロボ
ットマニピュレータの各関節のアクチュエータの制御デ
ータを演算する主コントローラ10と、前記各ロボット
30毎に、前記主コントローラにインターフェイス14
を介し増設可能に接続されたサブコントローラ30とに
分離形成されている。前記主コントローラ10は、前記
複数のユーザプログラムを実行し、指定された各ロボッ
トの定義ファイルおよび作業手順に基づき各ロボットの
制御パラメータを求める手段と、前記各制御パラメータ
に基づき各制御対象ロボットの軌道を逐次生成する手段
とを含む。そして、サブコントローラ30は、前記各ロ
ボットの軌道を座標変換ルーチンに基づきロボットマニ
ピュレータの各関節のアクチュエータの制御データに変
換出力する。
(57) [Summary] [PROBLEMS] To provide a robot controller capable of easily expanding and changing a robot to be controlled. SOLUTION: This robot controller executes a plurality of user programs for designating a control target robot 30 and instructing a work procedure thereof, and calculates control data of an actuator of each joint of a robot manipulator for each control target robot. An interface 14 with the controller 10 and the main controller for each robot 30
And is formed separately from the sub-controller 30 which is connected so as to be able to be added. The main controller 10 executes the plurality of user programs, obtains control parameters of each robot based on a specified definition file and work procedure of each robot, and a trajectory of each control target robot based on the control parameters. Means for sequentially generating Then, the sub-controller 30 converts the trajectory of each robot into control data of the actuator of each joint of the robot manipulator based on a coordinate conversion routine.
Description
【0001】[0001]
【発明の属する技術分野】本発明はロボットコントロー
ラおよびロボットの制御方法、特に制御対象ロボットの
拡張、変更を容易に行うことができるロボットコントロ
ーラおよびロボットの制御方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a robot controller and a robot control method, and more particularly to a robot controller and a robot control method capable of easily expanding and changing a robot to be controlled.
【0002】[0002]
【背景技術および発明が解決しようとする課題】従来よ
り、ロボットを制御するためのコントローラおよびその
制御方法は、例えば部品の組立、加工およびその他の用
途に幅広く用いられている。2. Description of the Related Art Conventionally, a controller for controlling a robot and a control method thereof have been widely used for, for example, assembling, processing, and other uses of parts.
【0003】しかし、従来のコントローラは、制御する
モータやマニュピュレータとの関係が固定されていた。
このため、コントローラ購入後にユーザー側でマニュピ
ュレータ等を追加、変更することは困難であり、仮に追
加、変更が可能な場合でもコントローラ内のROM等に
固定的にインストールされているソフトウエアを変更す
る必要があるため、その作業が極めて困難であるという
問題があった。[0003] However, the conventional controller has a fixed relationship with a motor or manipulator to be controlled.
For this reason, it is difficult for the user to add or change a manipulator or the like after the purchase of the controller. Even if the manipulator can be added or changed, the software fixedly installed in the ROM or the like in the controller is changed. Since it is necessary, there is a problem that the work is extremely difficult.
【0004】図1には、従来のロボットコントローラの
制御手法が示されている。FIG. 1 shows a control method of a conventional robot controller.
【0005】従来の制御手法は、通常ステップS1、S
2、S3、S4の4つの演算工程を含んでいる。The conventional control method generally includes steps S1 and S1.
2, four operation steps of S3 and S4 are included.
【0006】ステップS1において、ロボットマニュピ
ュレータの適切な動作経路、動作速度、動作加速度等の
パラメータを決定する。In step S1, parameters such as an appropriate operation path, operation speed, and operation acceleration of the robot manipulator are determined.
【0007】ステップS2において、前記パラメータに
従って所定のサンプリングタイム毎(数msec間隔)
の軌道を演算する。At step S2, every predetermined sampling time (several msec intervals) according to the above parameters
Calculate the trajectory of
【0008】ステップS3において、ロボットマニュピ
ュレータの軌道をモータの回転角度や移動距離に座標変
換する。In step S3, the trajectory of the robot manipulator is coordinate-converted into the rotation angle and the movement distance of the motor.
【0009】最後にステップS4において、各サンプル
タイミング毎の軌道に従って、マニュピュレータの各関
節に設けられたモータに対するモータ駆動用サーボ演算
を行う。Finally, in step S4, a servo operation for driving the motor provided to each joint of the manipulator is performed according to the trajectory for each sample timing.
【0010】ところで、産業用ロボットには、その形態
から水平多関節型、垂直多関節型、直角座標型等の各種
タイプのものがある。そして、前記ステップS1、S3
の処理は、ロボットのタイプ毎に異なったものとなる。By the way, there are various types of industrial robots such as a horizontal articulated type, a vertical articulated type, a rectangular coordinate type and the like. Then, the steps S1, S3
Is different for each type of robot.
【0011】しかし、従来のロボットコントローラは、
各ロボット毎の専用機として形成され、ロボットタイプ
毎に異なる処理プログラムを実装して製造/出荷され
る。従って、コントローラを購入したユーザー側は、製
造ラインの拡張変更に伴い、使用する産業用ロボットを
拡張又は変更しようとする場合に、その都度全く新しい
ロボットコントローラを購入しなければならないという
問題があった。However, the conventional robot controller is
It is formed as a dedicated machine for each robot, and is manufactured / shipped with different processing programs installed for each robot type. Therefore, there is a problem that the user who purchased the controller has to purchase a completely new robot controller each time the industrial robot to be used is expanded or changed in accordance with the expansion and change of the production line. .
【0012】また、これ以外の従来技術として、特開平
6−35520号公報に係る制御装置が知られている。
この従来技術は、各作動装置毎に専用の接続装置を設け
ることにより、制御装置、作動装置を従来の構成のまま
で使用できることを特徴とするものである。As another prior art, a control device disclosed in Japanese Patent Laid-Open No. 6-35520 is known.
This prior art is characterized in that by providing a dedicated connection device for each operating device, the control device and the operating device can be used with the conventional configuration.
【0013】しかし、この従来技術も、あくまでも従来
の一対一通信タイプのソフトウエア、ハードウエアをそ
のまま用いて、一対多の通信を行い複数の作動装置を制
御するものであるため、制御対象ロボットの拡張、変更
をし、例えば制御対象ロボットを異なるタイプのものに
切り換えたり、また複数の異なるタイプの制御対象ロボ
ットを同時に制御することはできないという問題があっ
た。[0013] However, this conventional technique also controls one or more actuators by performing one-to-many communication using software and hardware of the conventional one-to-one communication type. For example, there is a problem that it is not possible to change the control target robot to a different type or to control a plurality of different types of control target robots at the same time.
【0014】本発明は、このような従来の課題に鑑みな
されたものであり、その目的は、制御対象ロボットの拡
張、変更を容易に行うことが可能なロボットコントロー
ラおよびロボットの制御方法を提供することにある。The present invention has been made in view of such conventional problems, and has as its object to provide a robot controller and a robot control method capable of easily expanding and changing a robot to be controlled. It is in.
【0015】[0015]
【課題を解決するための手段】前記目的を達成するた
め、請求項1の発明は、制御対象ロボットを指定しその
作業手順を指示するユーザプログラムを実行するロボッ
トコントローラであって、複数のロボット毎に、各ロボ
ットの特性を定義する定義ファイルが記憶された第1の
記憶手段と、前記ユーザプログラムを実行し、指定され
たロボットの定義ファイルおよび作業手順に基づきロボ
ットの制御パラメータを求めるプログラム実行手段と、
前記制御パラメータに基づき制御対象ロボットの軌道を
逐次生成する軌道生成手段と、前記各ロボット毎に、ロ
ボットの軌道をロボットマニピュレータの各関節のアク
チュエータ座標に変換する座標変換ルーチンが記憶され
た第2の記憶手段と、前記ロボットの軌道および指定さ
れたロボットの座標変換ルーチンに基づき、ロボットマ
ニピュレータの各関節のアクチュエータの制御データを
演算する制御データ演算手段と、を含むことを特徴とす
る。According to one aspect of the present invention, there is provided a robot controller for executing a user program for designating a robot to be controlled and instructing a work procedure thereof. First storage means for storing a definition file defining the characteristics of each robot; and program execution means for executing the user program and obtaining control parameters of the robot based on the specified robot definition file and work procedure. When,
A trajectory generating means for sequentially generating a trajectory of the robot to be controlled based on the control parameters and a coordinate conversion routine for converting a trajectory of the robot into actuator coordinates of each joint of the robot manipulator are stored for each of the robots. And a control data calculating means for calculating control data of an actuator of each joint of the robot manipulator based on a trajectory of the robot and a coordinate conversion routine of the designated robot.
【0016】また、請求項13の発明は、複数のロボッ
ト毎に、各ロボットの特徴を定義する定義ファイルを記
憶する行程と、前記各ロボット毎に、ロボットの作業ポ
イントの軌道座標を、ロボットマニピュレータの各関節
を駆動する各アクチュエータ毎のアクチュエータ座標に
変換する座標変換ルーチンを記憶する行程と、制御対象
ロボットを指定しその作業手順を指示する少なくとも1
つのユーザプログラムを記憶手段にインストールする行
程と、指定された各ロボットの定義ファイルに基づき各
ロボットの制御パラメータを求め、前記各制御パラメー
タおよび前記各プログラムの作業手順に基づき各制御対
象ロボットの作業ポイントの軌道を演算するプログラム
実行工程と、前記作業ポイントの軌道および指定された
ロボットの座標変換ルーチンに基づき、各ロボット毎に
マニピュレータの各関節のアクチュエータの制御データ
を演算する制御データの演算工程とを含むことを特徴と
する。According to a thirteenth aspect of the present invention, a process for storing a definition file defining characteristics of each robot for each of a plurality of robots, and the trajectory coordinates of a work point of the robot for each of the robots are stored in a robot manipulator. Storing a coordinate conversion routine for converting the coordinates into actuator coordinates for each actuator that drives each joint, and at least one step for designating a robot to be controlled and instructing its work procedure.
Installing the two user programs in the storage means, obtaining control parameters of each robot based on the specified definition file of each robot, and working points of each controlled robot based on the control parameters and the work procedure of each program. A program execution step of calculating the trajectory of the robot, and a control data calculation step of calculating control data of the actuator of each joint of the manipulator for each robot based on the trajectory of the work point and the coordinate conversion routine of the designated robot. It is characterized by including.
【0017】請求項1、13の発明によれば、プログラ
ム実行手段がユーザープログラムを実行すると、各プロ
グラムにより指定される制御対象ロボットの作業手順
と、第1の記憶手段に記憶された指定ロボットの定義フ
ァイルとに基づき、ロボットの制御パラメータが求めら
れる。According to the first and thirteenth aspects of the present invention, when the program executing means executes the user program, the work procedure of the controlled robot designated by each program and the designated robot stored in the first storage means. The control parameters of the robot are obtained based on the definition file.
【0018】ここにおいて、前記第1の記憶手段には、
複数のロボット毎に、各ロボットの特性を定義する定義
ファイルが記憶されている。このため、ユーザープログ
ラムにより指定される制御対象ロボットが異なれば、異
なる制御パラメータが求めれることになる。Here, the first storage means includes:
A definition file defining characteristics of each robot is stored for each of the plurality of robots. Therefore, different control parameters are required if the control target robot specified by the user program is different.
【0019】そして、軌道生成手段は、求められた制御
パラメータに基づき制御対象ロボットの軌道を逐次生成
していく。The trajectory generating means sequentially generates the trajectory of the robot to be controlled based on the obtained control parameters.
【0020】また、第2の記憶手段には、各ロボット毎
にロボットの軌道をロボットマニュピュレータの各関節
のアクチュエータ座標に変換する複数の座標変換ルーチ
ンが記憶されている。The second storage means stores a plurality of coordinate conversion routines for converting the trajectory of the robot into the actuator coordinates of each joint of the robot manipulator for each robot.
【0021】そして、制御データ演算手段は、前記ロボ
ットの軌道および指定されたロボットの座標変換ルーチ
ンに基づき、ロボットマニュピュレータの各関節のアク
チュエータの制御データを演算する。The control data calculating means calculates the control data of the actuator of each joint of the robot manipulator based on the robot trajectory and the designated robot coordinate conversion routine.
【0022】このように、本発明によれば、第1の記憶
手段および第2の記憶手段に、複数のロボットの定義フ
ァイルおよび座標変換ルーチンを記憶し、ユーザープロ
グラムにより指定される対象ロボットの定義ファイルお
よび座標変換ルーチンを用いる構成を採用する。これに
より、制御対象となるロボットの拡張や変更に対し、柔
軟に対応することが可能となる。As described above, according to the present invention, a plurality of robot definition files and coordinate conversion routines are stored in the first storage means and the second storage means, and the definition of the target robot specified by the user program is stored. A configuration using a file and a coordinate conversion routine is adopted. This makes it possible to flexibly respond to expansion or change of the robot to be controlled.
【0023】また、本発明によれば、ユーザプログラム
を実行し、制御パラメータを求めるための処理と、この
制御パラメータから軌道を生成し制御データを演算する
ための処理とを分離独立させ、プログラム実行手段から
軌道生成手段に、制御パラメータを引き渡すという単純
な構成を採用している。このような構成を採用すること
により、本発明は以下のような特有な作用効果を奏する
ことができる。Further, according to the present invention, a process for executing a user program and obtaining control parameters and a process for generating a trajectory from the control parameters and calculating control data are separated and independent, and the program is executed. A simple configuration of passing control parameters from the means to the trajectory generating means is employed. By adopting such a configuration, the present invention can provide the following specific effects.
【0024】即ち、本発明によれば、プログラムの実行
のための処理と、軌道生成のための処理とを分離独立さ
せ、それぞれの演算処理を独立したルーチンの形でまと
めることができる。従って、マルチタスクにより、ある
ロボットのパラメータを計算中に、他のロボットのパラ
メータを並行して求める場合、制御パラメータを求める
ための処理をサブルーチンの形で呼び出して行い、複数
のユーザープログラムから同時に複数のロボットの制御
パラメータを求めることができる。That is, according to the present invention, the process for executing the program and the process for generating the trajectory can be separated and independent, and the respective arithmetic processes can be combined in the form of independent routines. Therefore, when calculating the parameters of a certain robot in parallel while calculating the parameters of another robot by multitasking, the process for obtaining the control parameters is called and executed in the form of a subroutine. Of the robot can be obtained.
【0025】なお、このようにプログラム実行処理と軌
道生成処理とを分離させない場合には、軌道生成処理ル
ーチンがロボットの定義を参照しながら、軌道を逐次生
成しなければならないため、処理のパフォーマンスを上
げることができない。これに対し、本発明は、前述した
ように、プログラム実行のための処理と、軌道生成のた
めの処理とを分離独立し、特有の計算部分である軌道生
成、制御データの演算のための処理は、一旦制御パラメ
ータを受け取った後は、プログラム実行のための処理と
全く別個独立に行われる。従って、ロボット制御のため
の高速処理が要求される軌道生成、制御データの演算処
理を、プログラムの実行とは全く別個独立に高速で行う
ことができ、良好なロボット制御を行うことが可能とな
る。If the program execution process and the trajectory generation process are not separated as described above, the trajectory generation routine must generate the trajectory sequentially while referring to the robot definition. I can't raise it. On the other hand, according to the present invention, as described above, the processing for executing the program and the processing for generating the trajectory are separated and independent, and the processing for generating the trajectory, which is a specific calculation part, and the processing for calculating the control data are performed. Once the control parameters are received, they are performed completely independently of the processing for executing the program. Therefore, the trajectory generation and control data arithmetic processing that require high-speed processing for robot control can be performed at high speed completely independently of the execution of the program, and good robot control can be performed. .
【0026】さらに、このようにプログラム実行のため
の処理や、軌道生成のための処理および制御データ演算
のための処理を独立させ、それぞれをルーチン化するこ
とにより、プログラム全体の見通しが良くなり、プログ
ラムの開発およびメンテナンスを良好に行うことが可能
となる。Furthermore, the process for executing the program, the process for generating the trajectory and the process for calculating the control data are made independent, and the respective programs are routineized, so that the outlook of the whole program is improved. Program development and maintenance can be performed satisfactorily.
【0027】また、請求項2の発明は、マルチタスク機
能を有するオペレーティングシステムを用い、制御対象
ロボットを指定しその作業手順を指示する複数のユーザ
プログラムを実行するロボットコントローラであって、
複数のロボット毎に、各ロボットの特性を定義する定義
ファイルが記憶された第1の記憶手段と、前記複数のユ
ーザプログラムを実行し、指定された各ロボットの定義
ファイルおよび作業手順に基づき各ロボットの制御パラ
メータを求めるプログラム実行手段と、前記各制御パラ
メータに基づき各制御対象ロボットの軌道を逐次生成す
る軌道生成手段と、前記各ロボット毎に、ロボットの軌
道をロボットマニピュレータの各関節のアクチュエータ
座標に変換する座標変換ルーチンが記憶された第2の記
憶手段と、前記各ロボットの軌道および指定されたロボ
ットの座標変換ルーチンに基づき、ロボット毎に、ロボ
ットマニピュレータの各関節のアクチュエータの制御デ
ータを演算する制御データ演算手段と、を含むことを特
徴とする。According to a second aspect of the present invention, there is provided a robot controller which uses an operating system having a multitasking function and executes a plurality of user programs for designating a robot to be controlled and instructing a work procedure thereof,
A first storage unit storing a definition file defining characteristics of each robot for each of the plurality of robots; and executing the plurality of user programs, and executing each of the plurality of robots based on the specified definition file and operation procedure of each robot. Program execution means for determining the control parameters of the robot, trajectory generation means for sequentially generating the trajectory of each robot to be controlled based on the control parameters, for each robot, the trajectory of the robot to the actuator coordinates of each joint of the robot manipulator The control data of the actuator of each joint of the robot manipulator is calculated for each robot based on the second storage unit storing the coordinate conversion routine to be converted and the trajectory of each robot and the coordinate conversion routine of the designated robot. Control data calculating means.
【0028】このように、本発明によれば、マルチタス
ク機能を有するオペレーティングシステムを用い、複数
のユーザプログラムを同時に実行し、複数の制御対象ロ
ボットを制御することができる。このようにすることに
より、予め拡張又は変更の予定のあるロボットの定義フ
ァイルおよび座標変換ルーチンを第1、第2の記憶手段
へ記憶しておくことにより、これら複数のロボットを同
時に又は選択的に使用できるようシステムの拡張変更を
行うことが可能となる。As described above, according to the present invention, it is possible to control a plurality of control target robots by simultaneously executing a plurality of user programs using an operating system having a multitasking function. By doing so, the robot definition file and the coordinate conversion routine to be expanded or changed in advance are stored in the first and second storage means, so that these robots can be simultaneously or selectively stored. The system can be extended for use.
【0029】また、拡張変更の必要が生じた場合に、そ
の都度、前記定義ファイルおよび変換ルーチンを作成
し、記憶手段へ記憶するように構成してもよい。Further, the definition file and the conversion routine may be created and stored in the storage means each time an extension change is required.
【0030】また、請求項3の発明は、マルチタスク機
能を有するオペレーティングシステムを用い、制御対象
ロボットを指定しその作業手順を指示する複数のユーザ
プログラムを実行し、制御対象ロボット毎に、ロボット
マニピュレータの各関節のアクチュエータの制御データ
を演算する主コントローラと、前記各ロボット毎に、前
記主コントローラにインターフェイスを介し増設可能に
接続されたサブコントローラと、を含み、前記主コント
ローラは、複数のロボット毎に、各ロボットの特性を定
義する定義ファイルが記憶された第1の記憶手段と、前
記複数のユーザプログラムを実行し、指定された各ロボ
ットの定義ファイルおよび作業手順に基づき各ロボット
の制御パラメータを求めるプログラム実行手段と、前記
各制御パラメータに基づき各制御対象ロボットの軌道を
逐次生成する軌道生成手段と、前記各ロボット毎に、ロ
ボットの軌道をロボットマニピュレータの各関節のアク
チュエータ座標に変換する座標変換ルーチンが記憶され
た第2の記憶手段と、前記各ロボットの軌道および指定
されたロボットの座標変換ルーチンに基づき、ロボット
毎に、ロボットマニピュレータの各関節のアクチュエー
タの制御データを演算する制御データ演算手段と、を含
み、前記サブコントローラは、対応ロボットのマニピュ
レータの各関節のアクチュエータ毎に設けられ、前記制
御データに基づき対応する各アクチュエータをサーボ制
御するサーボ制御手段を含むことを特徴とする。According to a third aspect of the present invention, there is provided an operating system having a multitasking function, executing a plurality of user programs for designating a robot to be controlled and designating a work procedure thereof, and providing a robot manipulator for each robot to be controlled. A main controller for calculating control data of actuators of each joint, and a sub-controller connected to the main controller via an interface so as to be expandable for each of the robots. First storage means storing a definition file defining the characteristics of each robot; executing the plurality of user programs; and controlling control parameters of each robot based on the specified robot definition file and work procedure. Program execution means to be sought and each of the control parameters Trajectory generating means for sequentially generating a trajectory of each robot to be controlled based on the trajectory; and second storage means for storing, for each robot, a coordinate conversion routine for converting the trajectory of the robot into actuator coordinates of each joint of the robot manipulator. A control data calculating means for calculating control data of an actuator of each joint of a robot manipulator for each robot based on a trajectory of each robot and a coordinate conversion routine of the designated robot; and A servo control unit is provided for each actuator of each joint of the manipulator of the robot and servo-controls the corresponding actuator based on the control data.
【0031】即ち、従来のロボットコントローラでは、
マニュピュレータを増設する場合、新たに専用のコント
ロール部やこれと対をなす駆動手段を増設する必要があ
った。That is, in the conventional robot controller,
When adding a manipulator, it was necessary to newly add a dedicated control unit and a drive unit that is paired with the control unit.
【0032】これに対し、本発明のロボットコントロー
ラは、各制御対象ロボットの制御データを演算する主コ
ントローラと、各ロボット毎に主コントローラにインタ
ーフェースを介し増設可能に接続されたサブコントロー
ラとに分離構成されている。そして、前記サブコントロ
ーラは、制御データに基づき対応ロボットの各アクチュ
エータをサーボ制御するサーボ制御手段を含むように構
成する。On the other hand, the robot controller of the present invention has a main controller for calculating control data of each robot to be controlled and a sub-controller which is connected to the main controller via an interface so as to be extendable for each robot. Have been. The sub-controller is configured to include a servo control unit that servo-controls each actuator of the corresponding robot based on the control data.
【0033】これにより、アクチュエータや制御対象ロ
ボットを増設する場合には、主コントローラの増設は必
要なく、単に対応するサブコントローラのみを増設すれ
ばよいため、システムの拡張変更に対し、簡単かつ安価
に対応することが可能となる。Thus, when adding an actuator or a robot to be controlled, it is not necessary to add a main controller, and only the corresponding sub-controller needs to be added. It is possible to respond.
【0034】また、請求項4の発明は、請求項1〜3の
いずれかにおいて、前記ユーザプログラムは、前記作業
手順が、制御対象ロボットの作業ポイントの複数の目標
位置を表すポイントデータファイルに基づき設定され、
前記プログラム実行手段は、制御対象ロボットの現在の
作業ポイントから次の目標位置までの移動距離と、指定
された各ロボットの定義ファイルに基づき、作業ポイン
トの移動条件を表す制御パラメータを求め、前記軌道生
成手段は、所定のサンプルタイム毎に、前記制御パラメ
ータに基づき作業ポイントの軌跡を逐次生成することを
特徴とする。According to a fourth aspect of the present invention, in any one of the first to third aspects, the user program is configured such that the work procedure is based on a point data file representing a plurality of target positions of work points of the robot to be controlled. Is set,
The program executing means obtains a control parameter representing a movement condition of the work point based on a movement distance from a current work point of the control target robot to a next target position and a specified definition file of each robot, and The generation means may sequentially generate a locus of a work point based on the control parameter at every predetermined sample time.
【0035】本発明によれば、ロボットの作業手順が、
ロボットの作業ポイントの複数の目標位置を表すポイン
トデータファイルに基づいて設定されている。According to the present invention, the work procedure of the robot is
The setting is made based on a point data file representing a plurality of target positions of the working points of the robot.
【0036】そして、プログラム実行手段は、制御対象
ロボットの現在の作業ポイントの位置から次の目標位置
までの移動距離と、指定された各ロボットの定義ファイ
ルとに基づき、作業ポイントの移動条件を表す制御パラ
メータを求める。Then, the program executing means indicates the moving conditions of the work point based on the moving distance from the current work point position of the controlled robot to the next target position and the specified robot definition file. Find control parameters.
【0037】そして、軌道生成手段は、所定のサンプル
タイム毎に、前記制御パラメータに基づき作業ポイント
の軌道を逐次生成する。Then, the trajectory generating means sequentially generates the trajectory of the work point based on the control parameter at every predetermined sample time.
【0038】このように構成することにより、制御対象
ロボットの作業のポイントを所定の目標ポイントから次
の目標ポイントまで移動させるCP動作(contin
uas path motion)を簡単な構成で正確
に行うことが可能となる。With this configuration, the CP operation (continuity) for moving the work point of the controlled robot from a predetermined target point to the next target point is performed.
eas path motion) can be accurately performed with a simple configuration.
【0039】CP動作は、目標ポイントでの位置だけで
なく、動作途中の経路も正確に指示することが可能な動
作で、特に、このようなCP動作によるロボット制御
は、ロボットの動作経路、速度を正確に指示制御できる
という利点があり、例えば塗装等の塗布作業等に極めて
好適なものとなる。The CP operation is an operation capable of accurately instructing not only the position at the target point but also the path in the course of the operation. In particular, such a robot operation by the CP operation includes the operation path and speed of the robot. Can be accurately controlled. This is very suitable for, for example, a coating operation such as painting.
【0040】請求項5の発明は、制御対象ロボットを指
定しその作業手順を指示するユーザプログラムを実行す
るロボットコントローラであって、複数のロボット毎
に、各ロボットの特性を定義する定義ファイルが記憶さ
れた第1の記憶手段と、前記各ロボット毎に、ロボット
の軌道をロボットマニピュレータの各関節の角度移動量
に変換する座標変換ルーチンが記憶された第2の記憶手
段と、前記ユーザプログラムを実行し、指定されたロボ
ットの定義ファイル、作業手順および指定されたロボッ
トの座標変換ルーチンに基づきロボットマニピュレータ
の各関節の制御パラメータを求めるプログラム実行手段
と、前記制御パラメータに基づき制御対象ロボットのロ
ボットマニピュレータの各関節の目標角度を逐次生成す
る軌道生成手段と、前記各関節の目標角度に基づき、ロ
ボットマニピュレータの各関節のアクチュエータの制御
データを演算する制御データ演算手段と、を含むことを
特徴とする。According to a fifth aspect of the present invention, there is provided a robot controller for executing a user program for designating a robot to be controlled and instructing a work procedure thereof, wherein a definition file defining characteristics of each robot is stored for each of a plurality of robots. The first storage means, the second storage means storing, for each robot, a coordinate conversion routine for converting the trajectory of the robot into the angular movement of each joint of the robot manipulator, and executing the user program And a program execution means for obtaining control parameters of each joint of the robot manipulator based on the specified robot definition file, the work procedure and the specified robot coordinate conversion routine, and a robot manipulator of the controlled robot based on the control parameters. Trajectory generating means for sequentially generating a target angle of each joint; Serial based on the target angles of the joints, characterized in that it comprises a control data calculation means for calculating the control data of the actuator of each joint of the robot manipulator, the.
【0041】また、請求項14の発明は、複数のロボッ
ト毎に、各ロボットの特徴を定義する定義ファイルを記
憶する行程と、前記各ロボット毎に、ロボットの軌道を
ロボットマニピュレータの各関節の角度移動量に変換す
る座標変換ルーチンを記憶する行程と、制御対象ロボッ
トを指定しその作業手順を指示する少なくとも1つのユ
ーザプログラムを記憶手段にインストールする行程と、
前記ユーザプログラムを実行し、指定されたロボットの
定義ファイル、作業手順および指定されたロボットの座
標変換ルーチンに基づきロボットマニピュレータの各関
節の制御パラメータを求める工程と、前記制御パラメー
タに基づき制御対象ロボットのロボットマニピュレータ
の各関節の目標角度を逐次生成する工程と、前記各関節
の目標角度に基づき、ロボットマニピュレータの各関節
のアクチュエータの制御データを演算する工程と、を含
むことを特徴とする。According to a fourteenth aspect of the present invention, a process for storing a definition file for defining a characteristic of each robot for each of a plurality of robots, and for each of the robots, a trajectory of the robot is determined by an angle of each joint of the robot manipulator. A step of storing a coordinate conversion routine for converting into a movement amount, a step of installing at least one user program for designating a robot to be controlled and instructing a work procedure in a storage unit,
Executing the user program, obtaining a control parameter of each joint of the robot manipulator based on a specified robot definition file, a work procedure, and a specified robot coordinate conversion routine; and A step of sequentially generating a target angle of each joint of the robot manipulator; and a step of calculating control data of an actuator of each joint of the robot manipulator based on the target angle of each joint.
【0042】請求項5、請求項14の発明は、前述した
請求項1、請求項13の発明と同様な作用効果を奏する
ことができる。両者の相違は、請求項1、請求項13の
発明はロボットをCP動作により制御を行うものであ
り、請求項5、請求項14の発明は、ロボットをPTP
(point to point motion)によ
り制御を行うものである点である。即ち、請求項1、請
求項13の発明は、プログラム実行手段が制御パラメー
タを軌道生成手段に渡した後に、座標変換処理を行って
いるが、請求項5、請求項14の発明は、プログラム実
行手段が制御パラメータを演算する際にすでに座標変換
処理を終了している。このように、前者と後者はその処
理手順において座標変換を行うタイミングが異なるのみ
であり、基本的な作用効果は同一である。The fifth and fourteenth aspects of the invention have the same effects as the first and the thirteenth aspects of the invention. The difference between the two is that the inventions of claims 1 and 13 control the robot by the CP operation, and the inventions of claim 5 and claim 14
(Point to point motion). That is, in the first and thirteenth aspects of the present invention, the coordinate conversion processing is performed after the program executing means passes the control parameters to the trajectory generating means. When the means calculates the control parameters, the coordinate conversion processing has already been completed. As described above, the former differs from the latter only in the timing at which coordinate conversion is performed in the processing procedure, and the basic operation and effect are the same.
【0043】特に、このようなPTP動作を行わせる制
御は、ロボットの軌道生成のための計算が簡単でかつ高
速演算が可能となり、ロボットを高速制御する場合に、
極めて好適なものとなる。例えば、ロボットを用いて所
定のワークをつかんで所定位置まで移動するようなピッ
クアンドプレース作業に極めて好適なものとなる。In particular, the control for performing such a PTP operation is simple in calculation for generating the trajectory of the robot and enables high-speed calculation.
It is very suitable. For example, it is very suitable for a pick and place operation in which a robot grips a predetermined work and moves to a predetermined position.
【0044】請求項6の発明は、マルチタスク機能を有
するオペレーティングシステムを用い、制御対象ロボッ
トを指定しその作業手順を指示する複数のユーザプログ
ラムを実行するロボットコントローラであって、複数の
ロボット毎に、各ロボットの特性を定義する定義ファイ
ルが記憶された第1の記憶手段と、前記各ロボット毎
に、ロボットの軌道をロボットマニピュレータの各関節
の角度移動量に変換する座標変換ルーチンが記憶された
第2の記憶手段と、前記ユーザプログラムを実行し、指
定されたロボットの定義ファイル、作業手順および指定
されたロボットの座標変換ルーチンに基づきロボットマ
ニピュレータの各関節の制御パラメータを求めるプログ
ラム実行手段と、前記制御パラメータに基づき制御対象
ロボットのロボットマニピュレータの各関節の目標角度
を逐次生成する軌道生成手段と、前記各関節の目標角度
に基づき、ロボットマニピュレータの各関節のアクチュ
エータの制御データを演算する制御データ演算手段と、
を含むことを特徴とする。According to a sixth aspect of the present invention, there is provided a robot controller which uses an operating system having a multitasking function and executes a plurality of user programs for designating a robot to be controlled and instructing a work procedure thereof. A first storage unit in which a definition file defining characteristics of each robot is stored, and a coordinate conversion routine for converting a trajectory of the robot into an angular movement amount of each joint of the robot manipulator for each robot. A second storage unit, a program execution unit that executes the user program, and obtains control parameters of each joint of the robot manipulator based on a specified robot definition file, a work procedure, and a specified robot coordinate conversion routine; A robot to be controlled based on the control parameters A trajectory generating means for sequentially generating a target angles of the joints of the manipulator, based on the target angle of each joint, and control data computing means for computing control data of the actuator of each joint of the robot manipulator,
It is characterized by including.
【0045】請求項6の発明はPTP動作によるロボッ
ト制御を行うもので、ある点を除き前記請求項2の発明
と同様な作用効果を奏することができる。According to the sixth aspect of the invention, the robot is controlled by the PTP operation, and the same operation and effects as those of the second aspect of the invention can be obtained except for a certain point.
【0046】請求項7の発明は、マルチタスク機能を有
するオペレーティングシステムを用い、制御対象ロボッ
トを指定しその作業手順を指示する複数のユーザプログ
ラムを実行し、制御対象ロボット毎に、ロボットマニピ
ュレータの各関節のアクチュエータの制御データを演算
する主コントローラと、前記各ロボット毎に、前記主コ
ントローラにインターフェイスを介し増設可能に接続さ
れたサブコントローラと、を含み、前記主コントローラ
は、複数のロボット毎に、各ロボットの特性を定義する
定義ファイルが記憶された第1の記憶手段と、前記各ロ
ボット毎に、ロボットの軌道をロボットマニピュレータ
の各関節の角度移動量に変換する座標変換ルーチンが記
憶された第2の記憶手段と、前記ユーザプログラムを実
行し、指定されたロボットの定義ファイル、作業手順お
よび指定されたロボットの座標変換ルーチンに基づきロ
ボットマニピュレータの各関節の制御パラメータを求め
るプログラム実行手段と、前記制御パラメータに基づき
制御対象ロボットのロボットマニピュレータの各関節の
目標角度を逐次生成する軌道生成手段と、前記各関節の
目標角度に基づき、ロボットマニピュレータの各関節の
アクチュエータの制御データを演算する制御データ演算
手段と、を含み、前記サブコントローラは、対応ロボッ
トのマニピュレータの各関節のアクチュエータ毎に設け
られ、前記制御データに基づき対応する各アクチュエー
タをサーボ制御するサーボ制御手段を含むことを特徴と
する。According to a seventh aspect of the present invention, an operating system having a multitasking function is used to execute a plurality of user programs for designating a robot to be controlled and instructing a work procedure of the robot. A main controller that calculates control data of joint actuators, and a sub-controller connected to the main controller via an interface so as to be able to be added to the main controller for each of the robots, wherein the main controller is provided for each of a plurality of robots. A first storage unit in which a definition file defining characteristics of each robot is stored, and a coordinate conversion routine in which, for each of the robots, a coordinate conversion routine for converting a trajectory of the robot into an angular movement of each joint of the robot manipulator is stored. Executing the user program and the designated storage means A program executing means for obtaining control parameters of each joint of the robot manipulator based on a bot definition file, a work procedure, and a coordinate conversion routine of a specified robot; and a target angle of each joint of the robot manipulator of the controlled robot based on the control parameters. Trajectory generation means for sequentially generating, and control data calculation means for calculating control data of the actuator of each joint of the robot manipulator based on the target angle of each joint, the sub-controller includes a manipulator of the corresponding robot. A servo control unit is provided for each actuator of each joint and servo-controls each actuator based on the control data.
【0047】請求項7の発明は、PTP動作によりロボ
ット制御を行っている点を除けば、前記請求項3の発明
と基本的に同様な作用効果を奏することができる。According to the seventh aspect of the invention, the same operation and effect as the third aspect of the invention can be obtained except that the robot is controlled by the PTP operation.
【0048】請求項8の発明は、請求項5〜7のいずれ
かにおいて、前記ユーザプログラムは、前記作業手順
が、制御対象ロボットの作業ポイントの複数の目標位置
を表すポイントデータファイルに基づき設定され、前記
第2の記憶手段は、前記各ロボット毎に、次の目標位置
までの移動距離をロボットマニピュレータの各関節の角
度移動量に変換する座標変換ルーチンが記憶され、前記
プログラム実行手段は、制御対象ロボットの現在の作業
ポイントから次の目標位置までの移動距離と、指定され
た各ロボットの定義ファイルおよび座標変換ルーチンに
基づき、ロボットマニピュレータの各関節の角度移動条
件を表す制御パラメータを求め、前記軌道生成手段は、
所定のサンプルタイム毎に、前記制御パラメータに基づ
き制御対象ロボットのロボットマニピュレータの各関節
の目標角度を逐次生成することを特徴とする。According to an eighth aspect of the present invention, the user program according to any one of the fifth to seventh aspects, wherein the work procedure is set based on a point data file representing a plurality of target positions of work points of the robot to be controlled. The second storage means stores, for each of the robots, a coordinate conversion routine for converting a moving distance to a next target position into an angular movement amount of each joint of the robot manipulator; Based on the moving distance from the current working point of the target robot to the next target position, and based on the specified robot definition file and coordinate conversion routine, control parameters representing the angle moving conditions of each joint of the robot manipulator are obtained. The trajectory generation means,
A target angle of each joint of the robot manipulator of the controlled robot is sequentially generated based on the control parameter at every predetermined sample time.
【0049】請求項8の発明は、PTP動作によりロボ
ット制御するための好適な形態である。The invention of claim 8 is a preferred mode for controlling the robot by the PTP operation.
【0050】本発明によれば、ユーザープログラムは、
ロボットの作業手順が、作業ポイントの複数の目標位置
を表すポイントデータファイルとして設定されている。According to the present invention, the user program comprises:
The work procedure of the robot is set as a point data file representing a plurality of target positions of work points.
【0051】第2の記憶手段には、各ロボット毎に、次
の目標位置までの移動距離をロボットマニュピュレータ
の各関節の角度移動量に変換する座標変換ルーチンが記
憶されている。The second storage means stores, for each robot, a coordinate conversion routine for converting the movement distance to the next target position into the amount of angular movement of each joint of the robot manipulator.
【0052】そして、プログラム実行手段は、制御対象
ロボットの現在の作業ポイントから、次の目標位置まで
の移動距離と、指定された各ロボットの定義ファイルと
に基づき、ロボットマニュピュレータの各関節の角度移
動条件を表す制御パラメータを求め、軌道生成手段に渡
す。Then, the program executing means calculates the angle of each joint of the robot manipulator based on the moving distance from the current working point of the robot to be controlled to the next target position and the specified robot definition file. The control parameters representing the moving conditions are obtained and passed to the trajectory generating means.
【0053】この制御パラメータには、既に座標変換の
情報が含まれているため、この制御パラメータを受け取
った軌道生成ファイルは、制御パラメータに基づき、制
御対象ロボットのロボットマニュピュレータの各関節の
目標角度を、所定のサンプルタイム毎に逐次生成でき
る。Since the control parameters already include coordinate transformation information, the trajectory generation file receiving the control parameters sets the target angle of each joint of the robot manipulator of the robot to be controlled based on the control parameters. Can be sequentially generated at every predetermined sample time.
【0054】そして、制御データ演算手段は、座標変換
をすること無しに、各関節の目標角度に基づき、ロボッ
トマニュピュレータの各関節のアクチュエータ制御デー
タを演算することができる。The control data calculation means can calculate the actuator control data of each joint of the robot manipulator based on the target angle of each joint without performing coordinate conversion.
【0055】また、請求項9の発明は、請求項1〜8の
いずれかにおいて、前記各ロボット毎に、前記各制御デ
ータと各アクチュエータとの対応付けを表す対応テーブ
ルが記憶された第3の記憶手段を含み、前記制御データ
演算手段は、指定されたロボットの対応テーブルに基づ
き、演算された前記制御データを各アクチュエータに対
応付けて出力する手段を含むことを特徴とする。According to a ninth aspect of the present invention, in accordance with any one of the first to eighth aspects, a correspondence table is stored for each of the robots, the correspondence table representing correspondence between the control data and the actuators. The control data calculation means includes storage means, and the control data calculation means includes means for outputting the calculated control data in association with each actuator based on a designated table of the designated robot.
【0056】また、請求項15の発明は、請求項13,
14のいずれかにおいて、前記各ロボット毎に、前記各
制御データと各アクチュエータとの対応付けを表す対応
テーブルを記憶する工程を含み、前記制御データの演算
工程は、指定されたロボットの対応テーブルに基づき、
演算された前記制御データを各アクチュエータに対応付
けて出力する工程を含むことを特徴とする。Further, the invention of claim 15 is the invention of claim 13,
14. In any one of 14), for each of the robots, includes a step of storing a correspondence table representing correspondence between each of the control data and each of the actuators. Based on
A step of outputting the calculated control data in association with each actuator.
【0057】このように、各ロボット毎に、各制御デー
タと、各アクチュエータとの対応付けを表す対応テーブ
ルを予め記憶しておくことにより、制御データ演算手段
は、指定されたロボットの対応テーブルに基づき、演算
された制御データを各アクチュエータに対応付けて出力
することができる。As described above, by storing in advance a correspondence table representing the correspondence between each control data and each actuator for each robot, the control data calculation means can store the correspondence table of the designated robot in the correspondence table. Based on this, the calculated control data can be output in association with each actuator.
【0058】従って、本発明によれば、制御パラメータ
の演算と、この制御パラメータに基づくアクチュエータ
の制御データの演算および演算された制御データの各ア
クチュエータに対応付けた出力と、を独立した処理とし
て行うことができるため、各種演算処理のためのプログ
ラムの見通しが良くなり、プログラム開発が容易なもの
となると共に、演算処理を高速化することができる。Therefore, according to the present invention, the calculation of the control parameter, the calculation of the control data of the actuator based on the control parameter, and the output of the calculated control data associated with each actuator are performed as independent processes. Therefore, the visibility of programs for various types of arithmetic processing is improved, and program development is facilitated, and the speed of arithmetic processing can be increased.
【0059】また、請求項10の発明は、請求項1〜9
のいずれかにおいて、前記各関節のアクチュエータはモ
ータとして形成されたことを特徴とする。The invention according to claim 10 is the invention according to claims 1 to 9
Wherein the actuator of each joint is formed as a motor.
【0060】また、請求項11の発明は、請求項1〜1
0のいずれかにおいて、前記第1の記憶手段、プログラ
ム実行手段、軌道生成手段、第2の記憶手段および制御
データ演算手段は、パーソナルコンピュータを用いて形
成されたことを特徴とする。Further, the invention of claim 11 is the invention of claims 1-1
0, the first storage means, the program execution means, the trajectory generation means, the second storage means, and the control data calculation means are formed using a personal computer.
【0061】このように、本発明によれば、ユーザプロ
グラムから制御データを演算する部分をパーソナルコン
ピュータを用いて形成することにより、市販のコンピュ
ータを用いて、各種ロボットの制御を容易に行うことが
できる。As described above, according to the present invention, by forming a portion for calculating control data from a user program using a personal computer, it is possible to easily control various robots using a commercially available computer. it can.
【0062】特に、本発明は、請求項3、7、又はこら
に従属する請求項の発明のようにコントローラを主コン
トローラとサブコントローラとに分離構成するものに適
用することが好ましい。この場合、主コントローラをパ
ーソナルコンピュータを用いて構成することにより、コ
ントローラの拡張性、汎用性をさらに高めることが可能
となる。In particular, it is preferable that the present invention be applied to a configuration in which a controller is divided into a main controller and a sub-controller as in the inventions of claims 3 and 7 or dependent claims. In this case, by configuring the main controller using a personal computer, it is possible to further enhance the expandability and versatility of the controller.
【0063】また、請求項12の発明は、請求項11に
おいて、前記軌道生成手段、第2の記憶手段および制御
データ演算手段は、デバイスドライバとして形成された
ことを特徴とする。According to a twelfth aspect of the present invention, in the eleventh aspect, the trajectory generating means, the second storage means, and the control data calculating means are formed as a device driver.
【0064】即ち、本発明のロボットコントローラは、
ユーザープログラムを実行し、制御パラメータを求める
プログラム実行手段と、制御パラメータから制御対象ロ
ボットの軌道やロボットのマニュピュレータの各関節の
目標角度を逐次生成する軌道生成手段とを分離独立し、
プログラム実行手段からは単に制御パラメータを軌道生
成手段に渡し、それ以外の演算処理は、それぞれ独立に
行うという構成を採用した。そこで請求項12の発明
は、パーソナルコンピュータなどにおいて、高速処理が
難しいプログラムの実行手段と、ロボットに依存し、で
きるだけ速い処理が必要とされる軌道生成および制御デ
ータの演算処理のための手段とを分離し、後者を高速処
理が可能なデバイスドライバとして形成する。このよう
な構成を採用することにより、パーソナルコンピュータ
を使用しロボット制御を行う場合でも、ロボット制御の
ための高速性を充分に満足した演算処理が可能となる。That is, the robot controller of the present invention
A program executing means for executing a user program to obtain control parameters and a trajectory generating means for sequentially generating a trajectory of a robot to be controlled and a target angle of each joint of a manipulator of the robot from the control parameters are separately and independently provided.
The configuration is adopted in which the control parameters are simply passed from the program execution means to the trajectory generation means, and the other arithmetic processing is performed independently. Therefore, a twelfth aspect of the present invention provides a personal computer or the like with means for executing a program that is difficult to process at high speed, and means for generating a trajectory and processing control data that depend on a robot and require as fast processing as possible. Separate and form the latter as a device driver capable of high-speed processing. By employing such a configuration, even when robot control is performed using a personal computer, arithmetic processing that sufficiently satisfies the high speed for robot control can be performed.
【0065】[0065]
【発明の実施の形態】次に本発明の好適な実施の形態
を、図面に基づき詳細に説明する。 第1の実施の形態 図2には、本発明が適用されたロボットコントローラの
好適な第1の実施の形態が示されている。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, preferred embodiments of the present invention will be described in detail with reference to the drawings. First Embodiment FIG. 2 shows a preferred first embodiment of a robot controller to which the present invention is applied.
【0066】このロボットコントローラは、主コントロ
ーラ10と、サブコントローラ20とに分離形成され、
対応するロボットマニピュレータ30を制御する。This robot controller is formed separately from the main controller 10 and the sub-controller 20,
The corresponding robot manipulator 30 is controlled.
【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
が設けられている。The robot manipulator 3 to be controlled
Reference numeral 0-1 denotes an articulated robot having four joints. The robot has four motors 32-1, 32-2, 32-3, as actuators for driving the joints.
32-4 are provided. Further, each motor 32-1,
32-4,..., 32-4 are provided with rotary encoders 34-1, 34-2,.
Is provided.
【0068】また、拡張マニピュレータ30−2は、ロ
ボットマニピュレータ30−1とは異なるタイプのロボ
ットとして形成されている。周知のように、ロボットに
は、その形態から例えば水平多関節型、垂直多関節型、
直角座標型などの各種タイプがあり、これら各タイプ毎
に異なった制御が必要となる。The extended manipulator 30-2 is formed as a robot of a different type from the robot manipulator 30-1. As is well known, robots include, for example, a horizontal articulated type, a vertical articulated type,
There are various types such as a rectangular coordinate type, and different control is required for each type.
【0069】これら各ロボットマニピュレータ30−
1,30−2…を制御するために、本実施例において
は、前記主コントローラ10として、汎用のパーソナル
コンピュータが用いられる。このコンピュータは、マル
チタスク機能を有するオペレーティングシステムを用い
ている。そして制御対象ロボットを指定しその作業手順
を指示する複数のユーザプログラムを実行する。前記オ
ペレーティングシステムとしては、汎用のオペレーティ
ングシステムを用いることが好ましく、このようなもの
としては例えばマイクロソフト社製のウィンドウズ95
(登録商標)などがある。Each of these robot manipulators 30-
In this embodiment, a general-purpose personal computer is used as the main controller 10 to control 1, 30-2,. This computer uses an operating system having a multitasking function. Then, a plurality of user programs for designating the robot to be controlled and instructing the work procedure are executed. As the operating system, it is preferable to use a general-purpose operating system, such as Microsoft Windows 95.
(Registered trademark).
【0070】そして、コンピュータ10が各ロボットマ
ニピュレータ30−1,30−2をそれぞれ制御するた
めの複数のユーザプログラムを実行すると、このコンピ
ュータ10は、制御対象ロボットマニピュレータ30−
1,30−2毎に、ロボットマニピュレータの各関節の
アクチュエータであるモータ制御データを演算し、これ
をインタフェースボード14−1,14−2…を介して
対応するサブコントローラ20−1,20−2…へ出力
する。When the computer 10 executes a plurality of user programs for controlling the respective robot manipulators 30-1 and 30-2, the computer 10 executes the control target robot manipulator 30-30.
1 and 30-2, motor control data which is an actuator of each joint of the robot manipulator is calculated, and is calculated via the interface boards 14-1, 14-2,. Output to ...
【0071】前記サブコントローラ20−1,20−2
…は、制御対象となるロボットマニピュレータ30専用
のドライブボックスとして構成されている。そして各サ
ブコントローラ20−1,20−2…は、インタフェー
スボード14−1,14−2…を介して主コントローラ
10に対し接続増設可能に形成されている。The sub-controllers 20-1 and 20-2
Are configured as drive boxes dedicated to the robot manipulator 30 to be controlled. Each of the sub-controllers 20-1, 20-2,... Is formed so as to be connectable to the main controller 10 via the interface boards 14-1, 14-2,.
【0072】例えば、このロボットコントローラの制御
対象が、最初はロボットマニピュレータ30−1のみで
あった場合には、主コントローラ10にはサブコントロ
ーラ20−1のみが接続されている。その後、制御対象
ロボットの拡張変更の必要性が生じ、例えばロボットマ
ニピュレータ30−2の制御も必要になった場合には、
このマニピュレータ30−2に対応した専用のサブコン
トローラ20−2が主コントローラ10に対し増設され
る。For example, when the object to be controlled by the robot controller is only the robot manipulator 30-1 at first, only the sub-controller 20-1 is connected to the main controller 10. After that, when it is necessary to change the expansion of the controlled robot, for example, when it becomes necessary to control the robot manipulator 30-2,
A dedicated sub-controller 20-2 corresponding to the manipulator 30-2 is added to the main controller 10.
【0073】このように、実施例では主コントローラ1
0に対し、サブコントローラ20が増設可能に構成され
ているため、ロボットマニピュレータ30の増設にはサ
ブコントローラ20のみを増設してハードウエア的に対
応することができ、従来の一体型ロボットコントローラ
に比べ、システムの拡張変更に対し柔軟に対処すること
が可能となる。As described above, in the embodiment, the main controller 1
On the other hand, since the sub-controller 20 is configured to be able to be added, it is possible to increase the number of the robot manipulators 30 by adding only the sub-controller 20 in terms of hardware. Thus, it is possible to flexibly cope with a system expansion change.
【0074】前記サブコントローラ20は、共有メモリ
22と、サブCPU24と、各モータ32−1,32−
2…32−4に対応した駆動手段である複数のモータド
ライバ26−1,26−2…26−4とを含んで構成さ
れる。The sub-controller 20 includes a shared memory 22, a sub-CPU 24, motors 32-1 and 32-
.., 26-4, and a plurality of motor drivers 26-1, 26-2,.
【0075】前記共有メモリ22は、主コントローラ1
0から入力される各モータ32−1,32−2…32−
4の制御データを一時記憶すると共に、サブCPU24
のワーキングエリアとしても機能するように構成されて
いる。The shared memory 22 includes the main controller 1
Motors 32-1, 32-2 ... 32- inputted from 0
4 is temporarily stored and the sub CPU 24
It is configured to function as a working area for
【0076】そして、サブCPU24は、入力された制
御データに基づき、各モータドライバ26−1,26−
2…26−4にモータ制御指令を出力する。各モータド
ライバ26は、この制御指令に基づき対応するモータ3
2を駆動するように構成されている。このとき、各モー
タドライバ26には、駆動対象モータ32の回転位置検
出信号がロータリエンコーダ34からフィードバック入
力されている。このため、サブCPU24および各モー
タドライバ26は、制御対象となるモータ32をサーボ
制御するサーボ制御手段として機能することになる。Then, the sub CPU 24 determines each of the motor drivers 26-1, 26-26 based on the input control data.
Output motor control command to 26-4. Each motor driver 26 determines the corresponding motor 3 based on this control command.
2 is driven. At this time, a rotation position detection signal of the drive target motor 32 is fed back to each motor driver 26 from the rotary encoder 34. For this reason, the sub CPU 24 and each motor driver 26 function as servo control means for servo-controlling the motor 32 to be controlled.
【0077】図3には、前記主コントローラ10および
サブコントローラ20の機能ブロック図が示されてい
る。FIG. 3 is a functional block diagram of the main controller 10 and the sub-controller 20.
【0078】前述したように、主コントローラ10は、
汎用のオペレーティングシステムが動作するパーソナル
コンピュータを用いて構成されており、通常のアプリケ
ーション部100と、オペレーティングシステムのファ
イルデータを記憶するファイル部120と、デバイスド
ライバ部130とを含んで構成される。As described above, the main controller 10
It is configured using a personal computer on which a general-purpose operating system operates, and includes a normal application unit 100, a file unit 120 for storing file data of the operating system, and a device driver unit 130.
【0079】前記アプリケーション部100は、ユーザ
インタ−フェース102、ユーザプログラムの解釈実行
部104および動作実行部106として機能するように
構成されている。The application section 100 is configured to function as a user interface 102, a user program interpretation and execution section 104, and an operation execution section 106.
【0080】前記ファイル部120は、ロボット定義フ
ァイル122と、ロボット対応テーブル124とを含ん
で構成される。The file section 120 includes a robot definition file 122 and a robot correspondence table 124.
【0081】前記デバイスドライバ部130は、軌道生
成部132、座標変換部134、マニピュレータモータ
対応部136として機能するように構成されると共に、
座標変換ルーチン138を含んで構成されている。The device driver section 130 is configured to function as a trajectory generation section 132, a coordinate conversion section 134, and a manipulator motor corresponding section 136.
It is configured to include a coordinate conversion routine 138.
【0082】また、前記サブコントローラ20は、前述
したようにサーボ制御部200として機能するように構
成されている。The sub-controller 20 is configured to function as the servo control unit 200 as described above.
【0083】前記ロボット定義ファイル122は、制御
対象となる各ロボット毎に設けられている。例えば、図
4に示すように、ロボットマニピュレータ30−1に
は、ロボット定義ファイル122−1、ロボットマニピ
ュレータ30−2に対してはロボット定義ファイル12
2−2がそれぞれ設けられている。これら各定義ファイ
ルは、対応するロボットの特性を定義するデータを含ん
で構成されており、このような定義データとしては、例
えばロボットのタイプ、構成(アームの長さ等)、動作
速度、動作加速度等がある。The robot definition file 122 is provided for each robot to be controlled. For example, as shown in FIG. 4, the robot manipulator 30-1 has a robot definition file 122-1 and the robot manipulator 30-2 has a robot definition file 12-1.
2-2 are provided respectively. Each of these definition files includes data defining characteristics of the corresponding robot. Examples of such definition data include a robot type, a configuration (length of an arm, etc.), an operation speed, and an operation acceleration. Etc.
【0084】前記ユーザインタ−フェース部102は、
制御対象となるロボットの動作をモニタリングすると共
に、ロボット定義ファイルの参照、変更などを行うよう
に構成されている。The user interface unit 102
It is configured to monitor the operation of the robot to be controlled and to refer to and change the robot definition file.
【0085】前記ユーザプログラム解釈実行部104
は、動作実行部106と共にプログラム実行手段として
機能するものである。The user program interpretation execution unit 104
Functions as a program execution unit together with the operation execution unit 106.
【0086】本実施例において、解釈実行部104で実
行されるユーザプログラムは、予めコントローラ10内
のメモリに読み込まれており、制御対象ロボットを指定
しその作業手順を指示するように構成されている。これ
においてユーザプログラムによって指示される作業手順
は、制御対象ロボットの作業ポイント(手先)の複数の
目標位置を表すポイントデータファイルとして与えられ
ている。In the present embodiment, the user program executed by the interpretation execution unit 104 is read in advance in the memory of the controller 10, and is configured to designate a robot to be controlled and to instruct its work procedure. . In this case, the work procedure instructed by the user program is given as a point data file representing a plurality of target positions of work points (hands) of the robot to be controlled.
【0087】そして、解釈実行部104がユーザプログ
ラムの解釈実行を行うと、動作実行部106は、ユーザ
プログラムによって指示されたロボットの定義ファイル
120および作業手順に基づきロボットの制御パラメー
タを求め、軌道生成部132へ渡すように構成されてい
る。ここでは、制御対象ロボットの現在の作業ポイント
から次の目標位置までの移動距離と、指定されたロボッ
トの定義ファイル122とに基づき、作業ポイントの移
動条件を表す制御パラメータを求め、軌道生成部132
へ引き渡している。When the interpretation execution unit 104 interprets and executes the user program, the operation execution unit 106 obtains the robot control parameters based on the robot definition file 120 and the work procedure specified by the user program, and generates the trajectory. It is configured to be passed to the unit 132. Here, based on the moving distance of the controlled robot from the current working point to the next target position and the specified robot definition file 122, control parameters representing the moving conditions of the working point are obtained, and the trajectory generating unit 132
Handed over to
【0088】前記軌道生成部132は、引き渡された制
御パラメータに基づき、所定のサンプルタイム毎(数m
sec間隔毎)に作業ポイント(手先)の軌道を逐次生
成する演算処理を行い、求めた軌道データを座標変換部
134へ向け出力する。The trajectory generating unit 132 performs a predetermined sampling time (a few m) based on the transferred control parameters.
An arithmetic process for sequentially generating the trajectory of the work point (hand) is performed at every (sec interval), and the obtained trajectory data is output to the coordinate conversion unit 134.
【0089】前記座標変換ルーチン138は、各ロボッ
ト毎に、ロボットの軌道をロボットマニピュレータの各
関節のモータ座標に変換する座標変換ルーチンとして構
成されている。ここでは、水平多関節型座標変換ルーチ
ン138−1、垂直多関節型座標変換ルーチン138−
2、直角座標型座標変換ルーチン138−3の3つの座
標変換ルーチンを含んで構成されている。The coordinate conversion routine 138 is configured as a coordinate conversion routine for converting the trajectory of the robot into the motor coordinates of each joint of the robot manipulator for each robot. Here, the horizontal articulated coordinate conversion routine 138-1 and the vertical articulated coordinate conversion routine 138-
2, a rectangular coordinate type coordinate conversion routine 138-3.
【0090】また、前記座標変換部134およびマニピ
ュレータモータ対応部136は、制御データ演算手段と
して機能するものである。そして、前記座標変換部13
4は、指定されたロボットの座標変換ルーチン138に
基づき、軌道生成部132の求めたロボットの軌道をロ
ボットマニピュレータの各関節のモータ制御用の座標デ
ータに変換し、これを制御データとしてマニピュレータ
モータ対応部136へ向け出力する。The coordinate conversion section 134 and the manipulator motor corresponding section 136 function as control data calculation means. And the coordinate conversion unit 13
4 converts the trajectory of the robot obtained by the trajectory generation unit 132 into coordinate data for motor control of each joint of the robot manipulator based on the designated robot coordinate conversion routine 138, and uses the converted data as control data for the manipulator motor. Output to the unit 136.
【0091】前記ロボット対応テーブル124は、制御
対象ロボット毎に設けられており、演算された各制御デ
ータと各アクチュエータとの対応付を表すテーブルとし
て形成されている。実施例では、図4に示すよう、第1
のロボットマニピュレータ30−1用の対応テーブル1
24−1と、第2のロボットマニピュレータ30−2用
の対応テーブル124−2とを含んで構成されてる。The robot correspondence table 124 is provided for each robot to be controlled, and is formed as a table indicating the correspondence between the calculated control data and each actuator. In the embodiment, as shown in FIG.
Table 1 for robot manipulator 30-1
24-1 and a correspondence table 124-2 for the second robot manipulator 30-2.
【0092】そして、前記マニピュレータモータ対応部
136は、制御対象ロボットの対応テーブル124に基
づき、演算された前記各制御データを各モータ32へ対
応付けて出力する。例えば、制御対象ロボットが第1の
ロボットマニピュレータ30−1である場合には、対応
テーブル124−1に基づき、演算された各制御データ
(座標データ)を各モータ32−1,32−2…32−
4に対応付けてサブコントローラ20−1へ向け出力す
る。The manipulator motor corresponding section 136 outputs the calculated control data in association with each motor 32 based on the control table 124 of the robot to be controlled. For example, when the robot to be controlled is the first robot manipulator 30-1, each control data (coordinate data) calculated based on the correspondence table 124-1 is converted into each of the motors 32-1, 32-2,. −
4 and output to the sub-controller 20-1.
【0093】図4には、実施例のロボットコントローラ
の動作フローチャートが示されている。FIG. 4 is a flowchart showing the operation of the robot controller according to the embodiment.
【0094】まず、解釈実行部104が、ユーザプログ
ラムを実行すると、動作実行部106は、制御対象ロボ
ットの定義ファイル122を参照しながらロボット制御
用のパラメータを演算し、軌道生成部へ引き渡す処理を
行う(ステップS10)。First, when the interpretation execution unit 104 executes the user program, the operation execution unit 106 calculates the parameters for controlling the robot while referring to the definition file 122 of the robot to be controlled, and transfers the parameters to the trajectory generation unit. Perform (Step S10).
【0095】軌道生成部132は、引き渡された制御パ
ラメータから、ロボットの軌道をサンプルタイム毎に求
める処理を行い、求めた軌道データを座標変換部134
へ引き渡す(ステップS12)。The trajectory generation unit 132 performs a process of obtaining the trajectory of the robot for each sample time from the transferred control parameters, and converts the obtained trajectory data to a coordinate conversion unit 134.
(Step S12).
【0096】座標変換部134では、座標変換ルーチン
138を用い、引き渡された転送データをロボットマニ
ピュレータの各関節の座標データに変換し、マニピュレ
ータモータ対応部136へ引き渡す(ステップS1
4)。The coordinate conversion unit 134 converts the transferred data into coordinate data of each joint of the robot manipulator using the coordinate conversion routine 138, and transfers the coordinate data to the manipulator motor corresponding unit 136 (step S1).
4).
【0097】マニピュレータモータ対応部136は、制
御対象ロボットのロボット対応テーブル124を参照し
ながら、引き渡された各座標データを各モータに対応付
けて、対象となるサブコントローラ20へ向けて制御デ
ータとして出力する。The manipulator motor corresponding section 136 refers to the robot correspondence table 124 of the robot to be controlled, associates the delivered coordinate data with each motor, and outputs the coordinate data to the target sub-controller 20 as control data. I do.
【0098】そして、この制御データが入力されたサブ
コントローラ20は、制御データに基づき各ロボットマ
ニピュレータ30の各モータ32をサ−ボ制御する(ス
テップS18)。Then, the sub-controller 20 to which the control data is input performs servo control of each motor 32 of each robot manipulator 30 based on the control data (step S18).
【0099】以上説明したように、本実施例のロボット
コントローラによれば、ロボット定義ファイル122、
ロボット対応テーブル124および座標変換ルーチン1
38を、各ロボット毎に対応付けて複数用意する構成を
採用したことにより、制御対象となるロボットを、第1
のロボットマニピュレータ30−1から、第2のロボッ
トマニピュレータ30−2まで拡張する場合でも、また
は制御対象ロボットを第1のロボットマニピュレータ3
0−1から第2のロボットマニピュレータ30−2へ変
更するような場合でも、これに柔軟にかつ安価に対応す
ることが可能となる。As described above, according to the robot controller of this embodiment, the robot definition file 122,
Robot correspondence table 124 and coordinate conversion routine 1
By adopting a configuration in which a plurality of robots 38 are prepared in association with each robot, the robots to be controlled are
Of the robot manipulator 30-1 to the second robot manipulator 30-2, or the robot to be controlled is connected to the first robot manipulator 3.
Even when changing from 0-1 to the second robot manipulator 30-2, it is possible to flexibly and inexpensively cope with this.
【0100】さらに、実施例のロボットコントローラ
は、アプリケーション部100の処理と、デバイスドラ
イバ部130の処理とを分離独立させる構成を採用して
いる。そして、緻密、高速なリアルタイム性が要求され
ない処理は、OS用の通常アプリケーションとしてアプ
リケーション部100で実行し、リアルタイム性が要求
される処理はオペレーションシステムのデバイスドライ
バ部130で実行するように構成されている。Further, the robot controller of the embodiment adopts a configuration in which the processing of the application section 100 and the processing of the device driver section 130 are separated and independent. The processing that does not require precise and high-speed real-time processing is executed by the application unit 100 as a normal application for the OS, and the processing that requires real-time processing is executed by the device driver unit 130 of the operation system. I have.
【0101】従って、図5に示すように、アプリケーシ
ョン部100では、複数のユーザプログラム102−
1,102−2を同時に解釈実行し(104−1,10
4−2)、各ロボットの制御パラメータを求める処理を
行い(106−1,106−2)、各制御パラメータを
デバイスドライバ部130へ引き渡すことができる。Therefore, as shown in FIG. 5, in the application section 100, a plurality of user programs 102-
1, 102-2 are interpreted and executed simultaneously (104-1, 10-2).
4-2), a process of obtaining control parameters of each robot is performed (106-1, 106-2), and each control parameter can be delivered to the device driver unit 130.
【0102】そして、デバイスドライバ部130を構成
する軌道生成部132、座標変換部134およびマニピ
ュレータモータ対応部136では、データの演算処理を
極めて高速に行うことができ、この結果、動作実行部1
06から引き渡された複数のロボットの制御パラメータ
に基づき、各ロボットの制御データを高速演算し、対応
するサブコントローラ20−1,20−2…へ出力する
ことができる。The trajectory generation unit 132, coordinate conversion unit 134, and manipulator motor corresponding unit 136 constituting the device driver unit 130 can perform data arithmetic processing at extremely high speed. As a result, the operation execution unit 1
Based on the control parameters of the plurality of robots transferred from the controller 06, the control data of each robot can be calculated at high speed and output to the corresponding sub-controllers 20-1, 20-2,.
【0103】さらに、ロボットコントローラは、各ロボ
ットマニピュレータ30固有のハードウエア部分を、サ
ブコントローラ20として、主コントローラ10に対し
て増設可能に形成している。従って、ロボットの増設、
変更に際しては、サブコントローラ20のみを制御対象
ロボットに合わせて設置すれば済むという利点がある。 第2の実施の形態 図6,図7には、本発明のロボットコントローラの第2
の実施形態が示されている。なお、前記第1の実施形態
と対応する部材には同一号付しその説明は省略する。Further, the robot controller has a hardware portion unique to each robot manipulator 30 formed as a sub-controller 20 so that it can be added to the main controller 10. Therefore, additional robots,
When changing, there is an advantage that only the sub-controller 20 needs to be installed in accordance with the robot to be controlled. Second Embodiment FIGS. 6 and 7 show a second embodiment of the robot controller of the present invention.
Is shown. Members corresponding to those in the first embodiment are denoted by the same reference numerals, and description thereof is omitted.
【0104】前記第1の実施形態と、この第2の実施形
態との基本的な相違は、後述するようにロボットの動作
経路が違うことと(CP動作とPTP動作)、軌道生成
部102へ渡す制御パラメータの単位が異なることと、
処理手順で座標変換を行うタイミングが異なることにあ
る。以下その詳細を説明する。The basic difference between the first embodiment and the second embodiment is that the motion paths of the robot are different (CP operation and PTP operation) as described later, and the trajectory generation unit 102 The units of the control parameters to be passed are different,
The timing at which coordinate conversion is performed in the processing procedure is different. The details will be described below.
【0105】本実施例において、座標変換ルーチン13
8は、各制御対象ロボット固有の座標変換ルーチン13
8−1,138−2,138−3…として構成されてい
る。そして、各座標変換ルーチン138は、制御対象ロ
ボットの次の目標位置までの移動距離を、ロボットマニ
ピュレータの各関節の角度移動量に変換する座標変換ル
ーチンとして構成されている。In this embodiment, the coordinate conversion routine 13
8 is a coordinate conversion routine 13 specific to each robot to be controlled.
8-1, 138-2, 138-3... Each coordinate conversion routine 138 is configured as a coordinate conversion routine for converting the movement distance of the controlled robot to the next target position into the amount of angular movement of each joint of the robot manipulator.
【0106】そして、ユーザプログラムの解釈実行部1
04が、所定のロボットコントローラのユーザプログラ
ムの解釈実行を行うと、動作実行部106は、対象ロボ
ットの現在の作業ポイントから次の目標位置までの移動
距離と、指定されたロボットの座標変換ルーチン138
および定義ファイル122に基づき、ロボットマニピュ
レータの各関節の角度移動条件を表す制御パラメータを
求め、これを軌道生成部132へ引き渡す(ステップS
10)。このとき引き渡される制御パラメータは、すで
に座標変換処理が成されているため、軌道生成部132
は、前記制御パラメータに基づき制御対象ロボットマニ
ピュレータ30の各関節の目標位置をそのまま逐次生成
することができる(ステップS12)。Then, the user program interpretation execution unit 1
When the user interprets and executes the user program of the predetermined robot controller, the operation execution unit 106 determines the movement distance from the current work point of the target robot to the next target position and the coordinate conversion routine 138 of the specified robot.
Based on the definition file 122 and the definition file 122, a control parameter representing the angle movement condition of each joint of the robot manipulator is obtained, and is passed to the trajectory generation unit 132 (step S
10). The control parameters passed at this time have already been subjected to the coordinate transformation process, so the trajectory generation unit 132
Can sequentially generate the target position of each joint of the controlled robot manipulator 30 as it is based on the control parameters (step S12).
【0107】そして、マニピュレータモータ対応部13
6は、制御対象ロボットの対応テーブル124を参照し
ながら、前記各関節の目標位置に基づき、ロボットマニ
ピュレータの各関節のアクチュエータの目標角度を、各
関節のモータ32に対応付けて制御データとして出力す
る(ステップS16)。The manipulator motor corresponding section 13
6 outputs the target angle of the actuator of each joint of the robot manipulator as control data in association with the motor 32 of each joint based on the target position of each joint while referring to the correspondence table 124 of the robot to be controlled. (Step S16).
【0108】これにより、サブコントローラ20は、各
制御データに基づきロボットマニュピュレータ30の各
モータ32をサーボ制御する(ステップS18)。 第1および第2の実施形態の具体的な処理動作 次に、前記第1および第2の実施形態のロボットコント
ローラの、具体的な制御動作について詳細に説明する。Thus, the sub-controller 20 servo-controls each motor 32 of the robot manipulator 30 based on each control data (step S18). Specific Processing Operations of First and Second Embodiments Next, specific control operations of the robot controllers of the first and second embodiments will be described in detail.
【0109】図8には、対象となるロボットマニピュレ
ータ30−1の各関節の座標位置が概略的に示されてい
る。ここにおいて、Pはロボットマニピュレータ30の
作業ポイント(手先)の現在位置、P1は次の目標位置
を表している。FIG. 8 schematically shows the coordinate positions of the respective joints of the robot manipulator 30-1. Here, P is the current position of the working point of the robot manipulator 30 (hand), P 1 represents the next target position.
【0110】ここにおいて、現在位置P、目標位置P1
のロボット座標x,y,z,uは、 現在位置P =(480mm,270mm,−50m
m,40deg) 目標位置P1 =(−150mm,360mm,−30
mm,90deg) とする。なお、説明を簡単にするために、ここではxy
座標、第1、第2関節のみを考える。Here, the current position P and the target position P 1
Robot coordinates x, y, z, u of the current position P = (480 mm, 270 mm, -50 m
m, 40 deg) Target position P1 = (− 150 mm, 360 mm, −30)
mm, 90 deg). Note that, for simplicity of description, here, xy
Consider only the coordinates, first and second joints.
【0111】そして、現在位置Pでの第1,第2関節角
度を θ11(deg),θ21(deg) 目標位置P1での第1,第2関節角度を θ21(deg),θ22(deg) とする。The first and second joint angles at the current position P are θ11 (deg) and θ21 (deg), and the first and second joint angles at the target position P1 are θ21 (deg) and θ22 (deg). I do.
【0112】この時、ロボットマニピュレータ30の動
作として PTP動作(point to pointmotion) CP動作(continuas path motion) の2通りの動作方式がある。At this time, as the operation of the robot manipulator 30, there are two operation systems of a PTP operation (point to point motion) and a CP operation (continuas path motion).
【0113】PTP動作は ・軌道生成の計算が簡単、高速 ・ロボットの高速性を引き出しやすい ので、ピックアンドプレイス作業によく使われる。The PTP operation is often used for pick-and-place operations because calculation of trajectory generation is easy and high speed, and the high speed of the robot is easily brought out.
【0114】CP動作は、 ・ハンド手先の動作経路、速度を正確に指示できるの
で、塗布作業によく使われる。The CP operation is often used for coating work because the operation path and speed of the hand can be accurately instructed.
【0115】前記第1の実施形態のロボットコントロー
ラは、ロボットアクチュエータ30をCP動作させる制
御を行う場合に極めて好適なものであり、前記第2の実
施形態のロボットアクチュエータは、ロボットマニピュ
レータ30をPTP動作させる制御を行う場合に極めて
好適なものである。なお、必要に応じ1台のロボットコ
ントローラに、前記第1及び第2の実施形態の機能をあ
わせ持たせ、CP及びPTPの両動作の制御を行わせる
ように構成してもよい。The robot controller according to the first embodiment is very suitable for controlling the robot actuator 30 to perform the CP operation. The robot actuator according to the second embodiment operates the robot manipulator 30 in the PTP operation. This is extremely suitable for performing control to make the control. It should be noted that one robot controller may be configured to have the functions of the first and second embodiments as needed and control both the CP and PTP operations.
【0116】図9には、ロボットアクチュエータ30の
PTP動作の一例が示されている。同図(A)は、この
第1,第2関節角度の座標動作経路を表し、同図(B)
は、このときのロボットの作業ポイントの動作経路を表
している。同図に示すよう、PTP動作では、作業ポイ
ントの経路は直線にはならない。FIG. 9 shows an example of the PTP operation of the robot actuator 30. FIG. 7A shows the coordinate movement path of the first and second joint angles, and FIG.
Represents the motion path of the work point of the robot at this time. As shown in the figure, in the PTP operation, the path of the work point is not straight.
【0117】図10には、ロボットアクチュエータのC
P動作の一例が示されている。FIG. 10 shows the C of the robot actuator.
An example of the P operation is shown.
【0118】同図(A)は、ロボット座標(第1関節の
回転中心を原点とした直角座標系)の動作経路を表し、
この場合にロボットアクチュエータ30の作業ポイント
(手先)の経路は同図(B)に示すように直線経路とな
る。FIG. 17A shows an operation path in robot coordinates (a rectangular coordinate system whose origin is the rotation center of the first joint).
In this case, the path of the work point (hand) of the robot actuator 30 is a straight path as shown in FIG.
【0119】図11〜図13には、前記第2の実施形態
のロボットコントローラを用いて行うPTP動作制御の
一例と、前記第1の実施形態のロボットコントローラを
用いて行うCP動作制御の一例が示されている。FIGS. 11 to 13 show an example of the PTP operation control using the robot controller of the second embodiment and an example of the CP operation control using the robot controller of the first embodiment. It is shown.
【0120】まず、図11(A)には、PTP動作制御
用のユーザプログラムの一例が示され、同図(B)には
CP動作制御用のユーザプログラムの一例が示されてい
る。First, FIG. 11 (A) shows an example of a user program for controlling the PTP operation, and FIG. 11 (B) shows an example of a user program for controlling the CP operation.
【0121】また、図11(C),(D)には、同図
(A),(B)で示される各ユーザプログラムのロボッ
ト作業手順を示すポイントデータファイルの一例が示さ
れている。このポイントデータファイルは、ロボットの
作業ポイントが移動する複数の目標位置P1、P2の組合
せとして構成されるが、ここでは最初の目標位置P1の
みが示されている。FIGS. 11 (C) and 11 (D) show an example of a point data file indicating the robot operation procedure of each user program shown in FIGS. 11 (A) and 11 (B). This point data file is configured as a combination of a plurality of target positions P 1 and P 2 to which the work point of the robot moves. Here, only the first target position P 1 is shown.
【0122】また、図11(E),(F)には、ロボッ
トの特性を定義する定義ファイルの一例が示され、同図
(E)はPTP動作用の定義ファイル、同図(F)はC
P動作用の定義ファイルである。FIGS. 11 (E) and 11 (F) show examples of definition files for defining the characteristics of the robot. FIG. 11 (E) shows a definition file for PTP operation, and FIG. C
This is a definition file for the P operation.
【0123】ここでは、ロボット定義ファイルとして、
ロボットの関節最大加速度、関節最大速度を例示してい
るが、通常はこれ以外にも各種定義データを含んで構成
される。Here, as the robot definition file,
Although the maximum joint acceleration and the maximum joint velocity of the robot are illustrated, the robot typically includes various definition data in addition to the above.
【0124】図12(A)には、図11(A)に示すP
TP動作用のユーザプログラムを実行した際の処理手順
の流れが示され、図12(B)には図11(B)に示す
CP動作用ユーザプログラムを実行した場合にも処理手
順の流れが示されている。FIG. 12A shows the P shown in FIG.
FIG. 12B shows the flow of the processing procedure when the user program for the TP operation is executed, and FIG. 12B shows the flow of the processing procedure also when the user program for the CP operation shown in FIG. 11B is executed. Have been.
【0125】まず、PTP動作用のユーザプログラムを
実行する場合を説明する。First, a case where a user program for the PTP operation is executed will be described.
【0126】ユーザプログラム動作命令を実行し、ポイ
ントデータファイルから次の目標位置P1の座標データ
の読み込みを行うと、次に座標変換ルーチンを呼び出
し、目標位置P1から関節角度の座標を求める。When the user program operation command is executed and the coordinate data of the next target position P1 is read from the point data file, the coordinate conversion routine is called next, and the coordinates of the joint angle are obtained from the target position P1.
【0127】次に、現在位置Pおよび目標位置P1の関
節座標から、ロボットアクチュエータの各関節の角度移
動量を求める。Next, the amount of angular movement of each joint of the robot actuator is obtained from the joint coordinates of the current position P and the target position P1.
【0128】次に、軌道生成部132に渡す制御パラメ
ータの計算を行う。Next, the control parameters to be passed to the trajectory generator 132 are calculated.
【0129】この計算は、まずプログラム中で指定され
ているロボットアクチュエータの速度、加速度の読み込
みを行い、角速度、角加速度、角減速度をそれぞれ求め
る。In this calculation, first, the speed and acceleration of the robot actuator specified in the program are read, and the angular velocity, angular acceleration, and angular deceleration are obtained.
【0130】そして、ロボット定義ファイル122か
ら、関節毎に、その最大角速度、最大角加速度の読み込
みを行う。Then, the maximum angular velocity and the maximum angular acceleration are read from the robot definition file 122 for each joint.
【0131】そして、このようにして求めた各データに
基づき、各関節毎に、動作角速度、角加速度、角減速度
を決定すると共に、加速時間、等速時間、減速時間を求
める。Based on the data thus obtained, the operating angular velocity, angular acceleration, and angular deceleration are determined for each joint, and the acceleration time, constant velocity time, and deceleration time are determined.
【0132】そして、制御パラメータの計算が終了する
と、動作実行部106は、軌道生成部132へ向け、関
節角速度、関節角加速度、関節角減速度、加速時間、減
速時間、等速時間、関節各移動量を制御パラメータとし
て出力する。When the calculation of the control parameters is completed, the operation executing section 106 sends the joint angular velocity, the joint angular acceleration, the joint angle deceleration, the acceleration time, the deceleration time, the constant velocity time, The movement amount is output as a control parameter.
【0133】図12(A)、図13(A)には、このよ
うな制御パラメータの具体例が示されている。FIGS. 12A and 13A show specific examples of such control parameters.
【0134】そして、図13(A)に示すよう、軌道生
成部132は、所定のサンプルタイム毎に、制御パラメ
ータからモータ角指令値を制御信号として出力する処理
を繰り返して行う。Then, as shown in FIG. 13A, the trajectory generator 132 repeatedly performs a process of outputting a motor angle command value as a control signal from a control parameter at every predetermined sample time.
【0135】すなわち、制御パラメータより各関節毎の
角度移動量を求め、関節角指令値を求める。そして、各
関節角指令値を、モータ角度指令値に変換する。That is, the amount of angular movement for each joint is determined from the control parameters, and the joint angle command value is determined. Then, each joint angle command value is converted into a motor angle command value.
【0136】その後、ロボット対応テーブル124を参
照しながら、マニピュレータの各関節に対応したモータ
番号を調べ、サーボ制御部200へ向け対応するモータ
角度指令値を引き渡す。Thereafter, the motor number corresponding to each joint of the manipulator is checked with reference to the robot correspondence table 124, and the corresponding motor angle command value is delivered to the servo control unit 200.
【0137】次に、図12(B),図13(B)に基づ
き、CP動作用のユーザプログラム処理の説明を行う。Next, the user program processing for the CP operation will be described with reference to FIGS. 12 (B) and 13 (B).
【0138】まず、図11(B)に示すユーザプログラ
ムの動作命令を実行し、ポイントデータファイルから次
の目標位置P1の読み込みを行う。そして、現在位置P
および目標位置P1から、ロボットマニピュレータの作
業ポイントの移動距離を求める。First, the operation command of the user program shown in FIG. 11B is executed to read the next target position P1 from the point data file. And the current position P
Then, the moving distance of the working point of the robot manipulator is obtained from the target position P1.
【0139】そして、次に制御パラメータの計算を行
う。ここでの、制御パラメータの計算は、まずプログラ
ム中で指定されている速度、加速度の読み込みを行な
う。Then, the control parameters are calculated. In calculating the control parameters, first, the speed and acceleration specified in the program are read.
【0140】次に、ロボット定義ファイル等を参照しな
がら、加速時間、等速時間、減速時間を決定する。Next, the acceleration time, the constant velocity time, and the deceleration time are determined with reference to the robot definition file and the like.
【0141】そして、このようにして求めた各データ
を、ロボットマニピュレータ30の作業ポイント(手
先)の移動条件を表す制御パラメータとして、軌道生成
部32へ向け出力する。The data thus obtained is output to the trajectory generator 32 as control parameters representing the conditions for moving the work point (hand) of the robot manipulator 30.
【0142】ここでは、速度、加速度、減速度、加速時
間、減速時間、等速時間、移動量などが制御パラメータ
として演算出力される。Here, speed, acceleration, deceleration, acceleration time, deceleration time, constant speed time, movement amount, and the like are calculated and output as control parameters.
【0143】そして、軌道生成部132、座標変換部1
34およびマニピュレータ対応部136は、図13
(B)に示すよう、所定のサンプルタイム毎に制御パラ
メータから各モータの角度指令値を演算出力する処理を
繰り返して行う。Then, the trajectory generator 132, the coordinate converter 1
34 and the manipulator corresponding section 136 are as shown in FIG.
As shown in (B), the process of calculating and outputting the angle command value of each motor from the control parameters at predetermined sample times is repeated.
【0144】すなわち、まず制御パラメータよりにロボ
ット作業ポイントの移動量を求め、ロボット座標位置指
令値を求める。That is, first, the movement amount of the robot working point is obtained from the control parameters, and the robot coordinate position command value is obtained.
【0145】そして、位置指令値を、座標変換ルーチン
138を用いて座標変換し、各関節毎の関節角指令値を
求める。Then, the position command value is subjected to coordinate conversion using the coordinate conversion routine 138 to obtain a joint angle command value for each joint.
【0146】そして、求めた各関節角指令値をモータ角
度に変換する。その後、ロボット対応テーブル124を
参照し、マニピュレータの関節に対応したモータ番号を
調べ、サーボ制御部200にモータ角指令値を引き渡す
処理を行う。Then, the determined joint angle command values are converted into motor angles. After that, referring to the robot correspondence table 124, a motor number corresponding to the joint of the manipulator is checked, and a process of transferring the motor angle command value to the servo control unit 200 is performed.
【0147】このように、前述PTP動作では、制御パ
ラメータとして各関節毎の制御パラメータを演算するた
め、軌道生成部では座標変換の必要がないが、CP動作
では、制御パラメータとしてロボットマニピュレータの
作業ポイントの移動条件を表す制御パラメータが演算さ
れるため、その後の処理で移動ポイントの移動量を、各
関節毎の座標に変化する座標変換処理が必要となるとい
う点で、両者は異なる。As described above, in the PTP operation, since the control parameter for each joint is calculated as the control parameter, the trajectory generation unit does not need to perform coordinate conversion. However, in the CP operation, the work point of the robot manipulator is used as the control parameter. Since the control parameters representing the movement conditions are calculated, coordinate processing for changing the movement amount of the movement point to the coordinates of each joint is required in the subsequent processing.
【0148】なお、本発明は前記各実施例に限定される
ものではなく、本発明の要旨の範囲内で各種の変形実施
が可能である。The present invention is not limited to the above embodiments, and various modifications can be made within the scope of the present invention.
【0149】[0149]
【図1】従来のロボットコントローラの制御動作のフロ
ーチャート図である。FIG. 1 is a flowchart of a control operation of a conventional robot controller.
【図2】本発明の第1の実施形態であるロボットコント
ローラの回路図である。FIG. 2 is a circuit diagram of a robot controller according to the first embodiment of the present invention.
【図3】前記第1の実施形態のロボットコントローラの
機能ブロック図である。FIG. 3 is a functional block diagram of the robot controller according to the first embodiment.
【図4】前記実施形態のロボットコントローラの動作フ
ローチャート図である。FIG. 4 is an operation flowchart of the robot controller of the embodiment.
【図5】第1の実施形態のロボットコントローラのユー
ザプログラム処理動作の説明図である。FIG. 5 is an explanatory diagram of a user program processing operation of the robot controller according to the first embodiment.
【図6】本発明の第2の実施形態であるロボットコント
ローラの機能ブロック図である。FIG. 6 is a functional block diagram of a robot controller according to a second embodiment of the present invention.
【図7】第2の実施形態のロボットコントローラの動作
フローチャート図である。FIG. 7 is an operation flowchart of the robot controller according to the second embodiment.
【図8】実施例のロボット制御動作の説明図である。FIG. 8 is an explanatory diagram of a robot control operation of the embodiment.
【図9】ロボットのPTP動作の説明図である。FIG. 9 is an explanatory diagram of a PTP operation of the robot.
【図10】ロボットCP動作の説明図である。FIG. 10 is an explanatory diagram of a robot CP operation.
【図11】実施例のロボットコントローラで行うユーザ
プログラム、ポイントデータファイルおよびロボット定
義ファイルの説明図である。FIG. 11 is an explanatory diagram of a user program, a point data file, and a robot definition file performed by the robot controller according to the embodiment.
【図12】実施例のロボット制御動作の処理流れの説明
図である。FIG. 12 is an explanatory diagram of a processing flow of a robot control operation of the embodiment.
【図13】実施例のロボット制御動作の説明図である。FIG. 13 is an explanatory diagram of a robot control operation of the embodiment.
10 主コントローラ 20 サブコントローラ 30 ロボットマニピュレータ 100 アプリケーション部 104 解釈実行部 106 動作実行部 120 OSのファイル 122 ロボット定義ファイル 124 ロボット対応テーブル 130 デバイスドライバ部 132 軌道生成部 134 座標変換部 136 マニピュレータモータ対応部 138 座標変換ルーチン 200 サーボ制御部 Reference Signs List 10 main controller 20 sub-controller 30 robot manipulator 100 application unit 104 interpretation execution unit 106 operation execution unit 120 OS file 122 robot definition file 124 robot correspondence table 130 device driver unit 132 trajectory generation unit 134 coordinate conversion unit 136 manipulator motor correspondence unit 138 Coordinate conversion routine 200 Servo control unit
───────────────────────────────────────────────────── フロントページの続き (72)発明者 林 乃武樹 千葉県習志野市屋敷4丁目3番1号 セイ コー精機株式会社内 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Nobuki Hayashi 4-3-1 Yashiki, Narashino-shi, Chiba Seiko Seiki Co., Ltd.
Claims (15)
を指示するユーザプログラムを実行するロボットコント
ローラであって、 複数のロボット毎に、各ロボットの特性を定義する定義
ファイルが記憶された第1の記憶手段と、 前記ユーザプログラムを実行し、指定されたロボットの
定義ファイルおよび作業手順に基づきロボットの制御パ
ラメータを求めるプログラム実行手段と、 前記制御パラメータに基づき制御対象ロボットの軌道を
逐次生成する軌道生成手段と、 前記各ロボット毎に、ロボットの軌道をロボットマニピ
ュレータの各関節のアクチュエータ座標に変換する座標
変換ルーチンが記憶された第2の記憶手段と、 前記ロボットの軌道および指定されたロボットの座標変
換ルーチンに基づき、ロボットマニピュレータの各関節
のアクチュエータの制御データを演算する制御データ演
算手段と、 を含むことを特徴とするロボットコントローラ。1. A robot controller for executing a user program for designating a robot to be controlled and instructing a work procedure thereof, wherein a first definition file defining characteristics of each robot is stored for each of a plurality of robots. Storage means; program execution means for executing the user program and obtaining control parameters of the robot based on a specified robot definition file and work procedure; and trajectory generation for sequentially generating a trajectory of the controlled robot based on the control parameters. Means, for each of the robots, a second storage means for storing a coordinate conversion routine for converting the trajectory of the robot into the actuator coordinates of each joint of the robot manipulator; and the trajectory of the robot and the coordinate conversion of the designated robot Based on the routine, each joint of the robot manipulator Robot controller, characterized in that it comprises a control data calculating means for calculating a control data actuator, the.
ングシステムを用い、制御対象ロボットを指定しその作
業手順を指示する複数のユーザプログラムを実行するロ
ボットコントローラであって、 複数のロボット毎に、各ロボットの特性を定義する定義
ファイルが記憶された第1の記憶手段と、 前記複数のユーザプログラムを実行し、指定された各ロ
ボットの定義ファイルおよび作業手順に基づき各ロボッ
トの制御パラメータを求めるプログラム実行手段と、 前記各制御パラメータに基づき各制御対象ロボットの軌
道を逐次生成する軌道生成手段と、 前記各ロボット毎に、ロボットの軌道をロボットマニピ
ュレータの各関節のアクチュエータ座標に変換する座標
変換ルーチンが記憶された第2の記憶手段と、 前記各ロボットの軌道および指定されたロボットの座標
変換ルーチンに基づき、ロボット毎に、ロボットマニピ
ュレータの各関節のアクチュエータの制御データを演算
する制御データ演算手段と、 を含むことを特徴とするロボットコントローラ。2. A robot controller which uses an operating system having a multitasking function and executes a plurality of user programs for designating a robot to be controlled and instructing a work procedure thereof. First storage means in which a definition file defining the following is stored; program execution means for executing the plurality of user programs and obtaining control parameters of each robot based on the specified definition file and work procedure of each robot; Trajectory generating means for sequentially generating a trajectory of each robot to be controlled based on each of the control parameters; and a coordinate conversion routine for converting a trajectory of the robot into actuator coordinates of each joint of the robot manipulator for each of the robots. 2 storage means; Based on the coordinate transformation routines constant robotic, for each robot, the robot controller comprising a control data calculation means for calculating the control data of the actuator of each joint of the robot manipulator, the.
ングシステムを用い、制御対象ロボットを指定しその作
業手順を指示する複数のユーザプログラムを実行し、制
御対象ロボット毎に、ロボットマニピュレータの各関節
のアクチュエータの制御データを演算する主コントロー
ラと、 前記各ロボット毎に、前記主コントローラにインターフ
ェイスを介し増設可能に接続されたサブコントローラ
と、 を含み、 前記主コントローラは、 複数のロボット毎に、各ロボットの特性を定義する定義
ファイルが記憶された第1の記憶手段と、 前記複数のユーザプログラムを実行し、指定された各ロ
ボットの定義ファイルおよび作業手順に基づき各ロボッ
トの制御パラメータを求めるプログラム実行手段と、 前記各制御パラメータに基づき各制御対象ロボットの軌
道を逐次生成する軌道生成手段と、 前記各ロボット毎に、ロボットの軌道をロボットマニピ
ュレータの各関節のアクチュエータ座標に変換する座標
変換ルーチンが記憶された第2の記憶手段と、 前記各ロボットの軌道および指定されたロボットの座標
変換ルーチンに基づき、ロボット毎に、ロボットマニピ
ュレータの各関節のアクチュエータの制御データを演算
する制御データ演算手段と、 を含み、 前記サブコントローラは、 対応ロボットのマニピュレータの各関節のアクチュエー
タ毎に設けられ、前記制御データに基づき対応する各ア
クチュエータをサーボ制御するサーボ制御手段を含むこ
とを特徴とするロボットコントローラ。3. Using an operating system having a multitasking function, executing a plurality of user programs for designating a robot to be controlled and instructing a work procedure thereof, and controlling an actuator of each joint of the robot manipulator for each robot to be controlled. A main controller for calculating data; and a sub-controller connected to the main controller via an interface so as to be expandable for each of the robots, wherein the main controller determines a characteristic of each robot for each of a plurality of robots. A first storage unit in which a definition file to be defined is stored; a program execution unit that executes the plurality of user programs and obtains control parameters of each robot based on a specified definition file and a work procedure of each robot; Each control target is based on each control parameter. Trajectory generation means for sequentially generating a trajectory of a bot; second storage means for storing, for each of the robots, a coordinate conversion routine for converting the trajectory of the robot into actuator coordinates of each joint of a robot manipulator; And control data calculating means for calculating control data of the actuator of each joint of the robot manipulator for each robot based on the trajectory and the coordinate conversion routine of the designated robot.The sub-controller includes a manipulator of the corresponding robot. A robot controller provided for each actuator of each joint and including servo control means for performing servo control of each corresponding actuator based on the control data.
ボットの作業ポイントの複数の目標位置を表すポイント
データファイルに基づき設定され、 前記プログラム実行手段は、 制御対象ロボットの現在の作業ポイントから次の目標位
置までの移動距離と、指定された各ロボットの定義ファ
イルに基づき、作業ポイントの移動条件を表す制御パラ
メータを求め、 前記軌道生成手段は、 所定のサンプルタイム毎に、前記制御パラメータに基づ
き作業ポイントの軌跡を逐次生成することを特徴とする
ロボットコントローラ。4. The program execution unit according to claim 1, wherein the user program sets the work procedure based on a point data file representing a plurality of target positions of work points of the robot to be controlled. Based on the moving distance from the current working point of the controlled robot to the next target position and the specified definition file of each robot, a control parameter representing the moving condition of the working point is obtained. A robot controller for sequentially generating a trajectory of a work point based on the control parameter at every predetermined sample time.
を指示するユーザプログラムを実行するロボットコント
ローラであって、 複数のロボット毎に、各ロボットの特性を定義する定義
ファイルが記憶された第1の記憶手段と、 前記各ロボット毎に、ロボットの軌道をロボットマニピ
ュレータの各関節の角度移動量に変換する座標変換ルー
チンが記憶された第2の記憶手段と、 前記ユーザプログラムを実行し、指定されたロボットの
定義ファイル、作業手順および指定されたロボットの座
標変換ルーチンに基づきロボットマニピュレータの各関
節の制御パラメータを求めるプログラム実行手段と、 前記制御パラメータに基づき制御対象ロボットのロボッ
トマニピュレータの各関節の目標角度を逐次生成する軌
道生成手段と、 前記各関節の目標角度に基づき、ロボットマニピュレー
タの各関節のアクチュエータの制御データを演算する制
御データ演算手段と、 を含むことを特徴とするロボットコントローラ。5. A robot controller for executing a user program for designating a control target robot and instructing a work procedure thereof, wherein a first definition file defining characteristics of each robot is stored for each of a plurality of robots. A storage unit, a second storage unit storing, for each robot, a coordinate conversion routine for converting a trajectory of the robot into an angular movement amount of each joint of the robot manipulator, and executing the user program, A program executing means for obtaining control parameters of each joint of the robot manipulator based on a robot definition file, a work procedure, and a designated robot coordinate conversion routine; and a target angle of each joint of the robot manipulator of the controlled robot based on the control parameters. Trajectory generating means for sequentially generating Based on the angle, the robot controller comprising a control data calculation means for calculating the control data of the actuator of each joint of the robot manipulator, the.
ングシステムを用い、制御対象ロボットを指定しその作
業手順を指示する複数のユーザプログラムを実行するロ
ボットコントローラであって、 複数のロボット毎に、各ロボットの特性を定義する定義
ファイルが記憶された第1の記憶手段と、 前記各ロボット毎に、ロボットの軌道をロボットマニピ
ュレータの各関節の角度移動量に変換する座標変換ルー
チンが記憶された第2の記憶手段と、 前記ユーザプログラムを実行し、指定されたロボットの
定義ファイル、作業手順および指定されたロボットの座
標変換ルーチンに基づきロボットマニピュレータの各関
節の制御パラメータを求めるプログラム実行手段と、 前記制御パラメータに基づき制御対象ロボットのロボッ
トマニピュレータの各関節の目標角度を逐次生成する軌
道生成手段と、 前記各関節の目標角度に基づき、ロボットマニピュレー
タの各関節のアクチュエータの制御データを演算する制
御データ演算手段と、 を含むことを特徴とするロボットコントローラ。6. A robot controller for executing a plurality of user programs for designating a robot to be controlled and instructing a work procedure using an operating system having a multitasking function. First storage means for storing a definition file defining the following, and second storage means for storing, for each of the robots, a coordinate conversion routine for converting a trajectory of the robot into an angular movement amount of each joint of the robot manipulator. And a program execution means for executing the user program and obtaining control parameters of each joint of the robot manipulator based on a specified robot definition file, a work procedure, and a specified robot coordinate conversion routine, based on the control parameters Robot manipulator of the controlled robot A robot comprising: a trajectory generating means for sequentially generating a target angle of each joint; and a control data calculating means for calculating control data of an actuator of each joint of the robot manipulator based on the target angle of each joint. controller.
ングシステムを用い、制御対象ロボットを指定しその作
業手順を指示する複数のユーザプログラムを実行し、制
御対象ロボット毎に、ロボットマニピュレータの各関節
のアクチュエータの制御データを演算する主コントロー
ラと、 前記各ロボット毎に、前記主コントローラにインターフ
ェイスを介し増設可能に接続されたサブコントローラ
と、 を含み、 前記主コントローラは、 複数のロボット毎に、各ロボットの特性を定義する定義
ファイルが記憶された第1の記憶手段と、 前記各ロボット毎に、ロボットの軌道をロボットマニピ
ュレータの各関節の角度移動量に変換する座標変換ルー
チンが記憶された第2の記憶手段と、 前記ユーザプログラムを実行し、指定されたロボットの
定義ファイル、作業手順および指定されたロボットの座
標変換ルーチンに基づきロボットマニピュレータの各関
節の制御パラメータを求めるプログラム実行手段と、 前記制御パラメータに基づき制御対象ロボットのロボッ
トマニピュレータの各関節の目標角度を逐次生成する軌
道生成手段と、 前記各関節の目標角度に基づき、ロボットマニピュレー
タの各関節のアクチュエータの制御データを演算する制
御データ演算手段と、 を含み、 前記サブコントローラは、 対応ロボットのマニピュレータの各関節のアクチュエー
タ毎に設けられ、前記制御データに基づき対応する各ア
クチュエータをサーボ制御するサーボ制御手段を含むこ
とを特徴とするロボットコントローラ。7. Using an operating system having a multitasking function, executing a plurality of user programs for designating a control target robot and instructing a work procedure thereof, and controlling an actuator of each joint of the robot manipulator for each control target robot. A main controller for calculating data; and a sub-controller connected to the main controller via an interface so as to be expandable for each of the robots, wherein the main controller determines a characteristic of each robot for each of a plurality of robots. A first storage unit in which a definition file to be defined is stored; a second storage unit in which, for each robot, a coordinate conversion routine for converting a trajectory of the robot into an angular movement amount of each joint of the robot manipulator; Executing the user program and defining the specified robot A program executing means for obtaining control parameters of each joint of the robot manipulator based on a file, a work procedure, and a coordinate transformation routine of the designated robot; and sequentially generating a target angle of each joint of the robot manipulator of the controlled robot based on the control parameters. Trajectory generating means, and control data calculating means for calculating control data of an actuator of each joint of the robot manipulator based on a target angle of each joint, wherein the sub-controller includes a controller for each joint of the manipulator of the corresponding robot. A robot controller provided for each actuator and including servo control means for servo-controlling each actuator based on the control data.
ボットの作業ポイントの複数の目標位置を表すポイント
データファイルに基づき設定され、 前記第2の記憶手段は、 前記各ロボット毎に、次の目標位置までの移動距離をロ
ボットマニピュレータの各関節の角度移動量に変換する
座標変換ルーチンが記憶され、 前記プログラム実行手段は、 制御対象ロボットの現在の作業ポイントから次の目標位
置までの移動距離と、指定された各ロボットの定義ファ
イルおよび座標変換ルーチンに基づき、ロボットマニピ
ュレータの各関節の角度移動条件を表す制御パラメータ
を求め、 前記軌道生成手段は、 所定のサンプルタイム毎に、前記制御パラメータに基づ
き制御対象ロボットのロボットマニピュレータの各関節
の目標角度を逐次生成することを特徴とするロボットコ
ントローラ。8. The user program according to claim 5, wherein the work procedure is set based on a point data file representing a plurality of target positions of work points of the controlled robot. The storage means stores, for each of the robots, a coordinate conversion routine for converting a movement distance to a next target position into an angular movement amount of each joint of the robot manipulator, and the program execution means stores a current Based on the movement distance from the work point to the next target position, the specified robot definition file and the coordinate conversion routine, control parameters representing the angle movement conditions of each joint of the robot manipulator are obtained. At every predetermined sample time, the robot model of the robot to be controlled is determined based on the control parameters. Robot controller characterized by sequentially generating a target angles of the joints of Pyureta.
ータとの対応付けを表す対応テーブルが記憶された第3
の記憶手段を含み、 前記制御データ演算手段は、 指定されたロボットの対応テーブルに基づき、演算され
た前記制御データを各アクチュエータに対応付けて出力
する手段を含むことを特徴とするロボットコントロー
ラ。9. A third table according to claim 1, wherein a correspondence table representing a correspondence between each of said control data and each of said actuators is stored for each of said robots.
A robot controller, wherein the control data calculating means includes means for outputting the calculated control data in association with each actuator based on a specified robot correspondence table.
ことを特徴とするロボットコントローラ。10. The robot controller according to claim 1, wherein the actuator of each joint is formed as a motor.
段、第2の記憶手段および制御データ演算手段は、パー
ソナルコンピュータを用いて形成されたことを特徴とす
るロボットコントローラ。11. The device according to claim 1, wherein the first storage means, the program execution means, the trajectory generation means, the second storage means, and the control data calculation means are formed using a personal computer. A robot controller characterized in that:
算手段は、デバイスドライバとして形成されたことを特
徴とするロボットコントローラ。12. The robot controller according to claim 11, wherein the trajectory generation unit, the second storage unit, and the control data calculation unit are formed as a device driver.
徴を定義する定義ファイルを記憶する行程と、 前記各ロボット毎に、ロボットの作業ポイントの軌道座
標を、ロボットマニピュレータの各関節を駆動する各ア
クチュエータ毎のアクチュエータ座標に変換する座標変
換ルーチンを記憶する行程と、 制御対象ロボットを指定しその作業手順を指示する少な
くとも1つのユーザプログラムを記憶手段にインストー
ルする行程と、 指定された各ロボットの定義ファイルに基づき各ロボッ
トの制御パラメータを求め、前記各制御パラメータおよ
び前記各プログラムの作業手順に基づき各制御対象ロボ
ットの作業ポイントの軌道を演算するプログラム実行工
程と、 前記作業ポイントの軌道および指定されたロボットの座
標変換ルーチンに基づき、各ロボット毎にマニピュレー
タの各関節のアクチュエータの制御データを演算する制
御データの演算工程とを含むことを特徴とするロボット
制御方法。13. A process for storing a definition file defining characteristics of each robot for each of a plurality of robots, and for each of said robots, a trajectory coordinate of a work point of the robot is stored in each of the joints for driving each joint of the robot manipulator. A step of storing a coordinate conversion routine for converting into an actuator coordinate for each actuator; a step of specifying at least one user program for designating a robot to be controlled and instructing a work procedure in a storage unit; and a definition of each specified robot. A program execution step of obtaining control parameters of each robot based on the file, calculating a trajectory of a work point of each controlled robot based on the control parameters and a work procedure of each program, and a trajectory of the work point and a designated trajectory. Based on the robot's coordinate conversion routine, Robot control method characterized by comprising a calculating step of control data for calculating control data for the actuator of each joint of the manipulator for each robot.
徴を定義する定義ファイルを記憶する行程と、 前記各ロボット毎に、ロボットの軌道をロボットマニピ
ュレータの各関節の角度移動量に変換する座標変換ルー
チンを記憶する行程と、 制御対象ロボットを指定しその作業手順を指示する少な
くとも1つのユーザプログラムを記憶手段にインストー
ルする行程と、 前記ユーザプログラムを実行し、指定されたロボットの
定義ファイル、作業手順および指定されたロボットの座
標変換ルーチンに基づきロボットマニピュレータの各関
節の制御パラメータを求める工程と、 前記制御パラメータに基づき制御対象ロボットのロボッ
トマニピュレータの各関節の目標角度を逐次生成する工
程と、 前記各関節の目標角度に基づき、ロボットマニピュレー
タの各関節のアクチュエータの制御データを演算する工
程と、を含むことを特徴とするロボット制御方法。14. A process of storing a definition file defining characteristics of each robot for each of a plurality of robots, and a coordinate transformation for converting a trajectory of the robot into an angular movement amount of each joint of a robot manipulator for each of the robots. A process of storing a routine, a process of specifying at least one user program for designating a robot to be controlled and designating a work procedure thereof, and a process of executing the user program to define a robot definition file and a work procedure. And a step of obtaining control parameters of each joint of the robot manipulator based on the coordinate conversion routine of the designated robot and a step of sequentially generating a target angle of each joint of the robot manipulator of the controlled robot based on the control parameters; Based on the target angle of the joint, the robot manipulator Robot control method characterized by comprising the step of calculating the control data of an actuator of each joint of the over data, the.
て、 前記各ロボット毎に、前記各制御データと各アクチュエ
ータとの対応付けを表す対応テーブルを記憶する工程を
含み、 前記制御データの演算工程は、 指定されたロボットの対応テーブルに基づき、演算され
た前記制御データを各アクチュエータに対応付けて出力
する工程を含むことを特徴とするロボット制御方法。15. The method according to claim 13, further comprising the step of storing, for each of the robots, a correspondence table representing a correspondence between each of the control data and each of the actuators. And outputting the calculated control data in association with each actuator based on a specified robot correspondence table.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19535396A JP3668821B2 (en) | 1996-07-05 | 1996-07-05 | Robot controller and robot control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19535396A JP3668821B2 (en) | 1996-07-05 | 1996-07-05 | Robot controller and robot control method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH1020910A true JPH1020910A (en) | 1998-01-23 |
| JP3668821B2 JP3668821B2 (en) | 2005-07-06 |
Family
ID=16339765
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19535396A Expired - Lifetime JP3668821B2 (en) | 1996-07-05 | 1996-07-05 | Robot controller and robot control method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3668821B2 (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7463002B2 (en) | 2005-11-29 | 2008-12-09 | Seiko Epson Corporation | Robot controller system |
| JP2009140325A (en) * | 2007-12-07 | 2009-06-25 | Sony Corp | Information processing apparatus, information processing method, and program |
| JP2018153883A (en) * | 2017-03-16 | 2018-10-04 | 株式会社安川電機 | Control system, controller, and control method |
| CN113795795A (en) * | 2019-06-26 | 2021-12-14 | 深圳市晟视科技有限公司 | Implementation method and system for smart camera to control mobile platform |
-
1996
- 1996-07-05 JP JP19535396A patent/JP3668821B2/en not_active Expired - Lifetime
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7463002B2 (en) | 2005-11-29 | 2008-12-09 | Seiko Epson Corporation | Robot controller system |
| JP2009140325A (en) * | 2007-12-07 | 2009-06-25 | Sony Corp | Information processing apparatus, information processing method, and program |
| JP2018153883A (en) * | 2017-03-16 | 2018-10-04 | 株式会社安川電機 | Control system, controller, and control method |
| CN108621152A (en) * | 2017-03-16 | 2018-10-09 | 株式会社安川电机 | Control system, controller and control method |
| US11198219B2 (en) | 2017-03-16 | 2021-12-14 | Kabushiki Kaisha Yaskawa Denki | Controller, control system, and control method |
| CN108621152B (en) * | 2017-03-16 | 2022-02-08 | 株式会社安川电机 | Control system, controller and control method |
| CN113795795A (en) * | 2019-06-26 | 2021-12-14 | 深圳市晟视科技有限公司 | Implementation method and system for smart camera to control mobile platform |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3668821B2 (en) | 2005-07-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2786225B2 (en) | Industrial robot control method and apparatus | |
| JPH079606B2 (en) | Robot controller | |
| CN112894827B (en) | Method, system and device for controlling motion of mechanical arm and readable storage medium | |
| JPH0720941A (en) | Flexible servo control method capable of specifying softness on work coordinates | |
| EP4241930A1 (en) | Robot control in working space | |
| CN116075400A (en) | Numerical control system and robot control method | |
| JPH0916241A (en) | Method for setting acceleration/deceleration operation of robot | |
| JP3668821B2 (en) | Robot controller and robot control method | |
| CN114603552B (en) | Robot simulation method, electronic equipment and storage medium | |
| JPH0693209B2 (en) | Robot's circular interpolation attitude control device | |
| JPH05345291A (en) | Working area limitation for robot | |
| JPH10143218A (en) | Robot cycle time prediction device | |
| JPH0797290B2 (en) | Multi-arm control device | |
| JPH0677910B2 (en) | Control method for industrial robot | |
| JP3089027B2 (en) | Robot profiling control device | |
| JPH10244481A (en) | Method and apparatus for creating robot operation program | |
| JP2787207B2 (en) | Multi-axis position servo device | |
| JP7276359B2 (en) | Motion command generation device, mechanism control system, computer program, motion command generation method, and mechanism control method | |
| JP2516589B2 (en) | Control device for robot | |
| JP2613475B2 (en) | Robot system with shared external axes | |
| JP2993708B2 (en) | Industrial robot and its trajectory correction method | |
| JPS62127905A (en) | Action simulator device for robot arm | |
| Kirćanski et al. | Multiprocessor control system for industrial robots | |
| JPS60220408A (en) | Control device for articulated robots | |
| JPS5924313A (en) | High-speed trajectory generator |
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 |