JP2002006918A - Apparatus and method for controlling a robot - Google Patents
Apparatus and method for controlling a robotInfo
- Publication number
- JP2002006918A JP2002006918A JP2000185319A JP2000185319A JP2002006918A JP 2002006918 A JP2002006918 A JP 2002006918A JP 2000185319 A JP2000185319 A JP 2000185319A JP 2000185319 A JP2000185319 A JP 2000185319A JP 2002006918 A JP2002006918 A JP 2002006918A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- command
- intermediate code
- movement
- deceleration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、ロボットの制御装
置および制御方法に関する。[0001] The present invention relates to a control device and a control method for a robot.
【0002】[0002]
【従来の技術】産業用ロボットの制御装置では、ロボッ
ト言語プログラムにおいて目標位置への移動命令を解析
し、この移動命令から加減速処理された速度指令を生成
してロボットの各アクチュエータに分配することで、ロ
ボット本体の振動の発生を抑制している。たとえば、図
6(a)に示すように、連続する独立の移動命令1〜3
は、それぞれ加減速処理され、移動命令1〜3毎に減速
停止する。一方、ロボットの動作制御には、目標位置毎
に減速停止させない制御方式として、いわゆるショート
カット機能とスムージング機能とが知られている。2. Description of the Related Art An industrial robot controller analyzes a movement command to a target position in a robot language program, generates a speed command subjected to acceleration / deceleration processing from the movement command, and distributes the speed command to each actuator of the robot. Thus, the occurrence of vibration of the robot body is suppressed. For example, as shown in FIG.
Are subjected to acceleration / deceleration processing, and are decelerated and stopped for each of the movement commands 1 to 3. On the other hand, in the operation control of the robot, a so-called shortcut function and a so-called smoothing function are known as control methods for preventing deceleration and stop at each target position.
【0003】ショートカット機能は、図6(b)に示す
ように、連続する移動命令において、ひとつの移動命令
が目標位置に到達する前に、次の移動命令を実行するも
のであり、複数の移動命令1〜3の合成によるロボット
の制御点の実際の軌跡は、プログラムされた目標位置を
通過しない。スムージング機能は、図6(c)に示すよ
うに、連続する複数の移動命令を目標位置で加減速処理
しないで接続する機能である。このスムージング機能で
は、ロボットの制御点の実際の軌跡がプログラムされた
各目標位置を通過する。このスムージング機能は、塗装
作業やシーリング作業において、ロボットの制御点を目
標軌道に一定速度で正確に追従させたいような場合に使
用される。As shown in FIG. 6B, the shortcut function executes a next movement command before one movement command reaches a target position in a continuous movement command. The actual trajectory of the control point of the robot by combining the instructions 1 to 3 does not pass through the programmed target position. As shown in FIG. 6C, the smoothing function is a function of connecting a plurality of continuous movement commands at a target position without performing acceleration / deceleration processing. In this smoothing function, the actual trajectory of the control point of the robot passes through each programmed target position. This smoothing function is used in a painting operation or a sealing operation when it is desired that the robot control point accurately follows a target trajectory at a constant speed.
【0004】[0004]
【発明が解決しようとする課題】ところで、汎用的なロ
ボットでは、外部機器との間で同期を取りながら使用さ
れることが多い。このため、ロボット制御を目的とする
ロボット言語のプログラムでは、条件分岐などの複雑な
制御構造を可能とすることが一般的である。したがっ
て、ロボット言語で記述されたロボットの動作または作
業を記述したプログラムを解析実行する場合に、ロボッ
トの実動作に対してプログラムを先行解析することには
制約が多く、汎用的なロボットでは、より深い先行解析
を可能にしてもロボットの機能向上の効果が小さい。こ
のため、汎用的なロボットでは、ロボットの動作または
作業を記述したプログラムをできるだけ先行解析せずに
リアルタイムに実行したほうが効率的である。By the way, general-purpose robots are often used while synchronizing with external devices. For this reason, in a robot language program for robot control, a complicated control structure such as conditional branching is generally enabled. Therefore, when analyzing and executing a program describing the operation or work of a robot described in a robot language, there are many restrictions on pre-analyzing the program with respect to the actual operation of the robot. Even if deep preceding analysis is enabled, the effect of improving the function of the robot is small. For this reason, in a general-purpose robot, it is more efficient to execute a program describing the operation or work of the robot in real time without performing advance analysis as much as possible.
【0005】しかしながら、上記したスムージング機能
を実行しようとした場合に、連続するショートピッチの
移動命令を接続すると、プログラム中で減速停止が必要
な命令語を解析した時点では、目標位置に対して正常に
減速停止するための必要な距離が確保できないことがあ
る。この為、停止する際の減速度が大きくなり、ロボッ
ト本体に大きな振動が発生しやすい。However, when the smoothing function described above is to be executed, if a continuous short-pitch movement command is connected, when a command that requires deceleration and stop is analyzed in the program, a normal position with respect to the target position is obtained. In some cases, the required distance for decelerating and stopping cannot be secured. For this reason, the deceleration at the time of the stop becomes large, and large vibration is likely to occur in the robot body.
【0006】本発明は、上述の問題に鑑みて成されたも
のであって、ロボット言語プログラムの不必要な先行解
析を削減できると同時に、先行解析を削減してもロボッ
トの動作を適切に制御可能なロボットの制御装置および
制御方法を提供することを目的とする。SUMMARY OF THE INVENTION The present invention has been made in view of the above-described problems, and can reduce unnecessary pre-analysis of a robot language program, and at the same time, appropriately control the operation of the robot even if the pre-analysis is reduced. It is an object of the present invention to provide a control device and a control method for a robot that are possible.
【0007】[0007]
【課題を解決するための手段】本発明のロボットの制御
装置は、所定のロボット言語で動作または作業が記述さ
れたロボット言語プログラムを解析実行可能な中間コー
ドに一括して変換する変換部と、前記中間コードを逐次
解析してロボットに対する制御指令を生成する解析実行
部とを備えるロボットの制御装置であって、前記変換手
段は、前記ロボット言語プログラムを中間コードに変換
する際に、当該ロボット言語プログラムの内容に応じ
て、制御指令を生成するための補助情報を前記解析実行
部が認識可能に当該中間コードに付加し、前記解析実行
部は、前記補助情報が付加された中間コードを逐次解析
して前記ロボットに対する制御指令を生成する。According to the present invention, there is provided a robot controller which converts a robot language program in which an operation or a task is described in a predetermined robot language into an intermediate code which can be analyzed and executed in a batch. An analysis execution unit that sequentially analyzes the intermediate code to generate a control command for the robot, wherein the conversion unit converts the robot language program into the intermediate code when converting the robot language program into the intermediate code. According to the contents of the program, the analysis execution unit adds auxiliary information for generating a control command to the intermediate code in a recognizable manner, and the analysis execution unit sequentially analyzes the intermediate code added with the auxiliary information. To generate a control command for the robot.
【0008】前記補助情報は、前記解析実行部が中間コ
ードを先行解析することで得られる情報である。[0008] The auxiliary information is information obtained by the analysis execution unit pre-analyzing the intermediate code.
【0009】前記解析実行部は、前記ロボットの制御点
の目標位置への移動を指令する移動命令を解析し、当該
移動命令から生成される前記制御指令としての速度指令
パターンを滑らかにする加減速処理機能を備えており、
前記変換手段は、前記解析実行部が行う加減速処理を補
助する補助情報を前記中間コードに付加する。The analysis unit analyzes a movement command for commanding movement of a control point of the robot to a target position, and accelerates / decelerates a speed command pattern as the control command generated from the movement command. It has a processing function,
The conversion unit adds auxiliary information for assisting the acceleration / deceleration processing performed by the analysis execution unit to the intermediate code.
【0010】好適には、前記変換手段は、前記移動命令
から生成される速度指令パターンの減速度を所定の範囲
に収めるのに必要な補助情報を前記中間コードに付加す
る。[0010] Preferably, the conversion means adds auxiliary information necessary for keeping the deceleration of the speed command pattern generated from the movement command within a predetermined range to the intermediate code.
【0011】さらに好適には、前記変換手段は、連続す
る複数の移動命令を加減速処理しないで結合し、連続す
る速度指令パターンを生成することを指示するスムージ
ング命令を検出した場合には、これら複数の移動命令の
最終的な目標位置を算出し、当該最終目標位置から前記
速度指令パターンの減速度を所定の範囲に収めるのに必
要な距離に含まれる移動命令の中間コードに減速のため
の補助情報を付加する。[0011] More preferably, the conversion means combines a plurality of continuous movement commands without performing acceleration / deceleration processing and detects a smoothing command for instructing generation of a continuous speed command pattern. A final target position of a plurality of movement commands is calculated, and an intermediate code of a movement command included in a distance necessary to keep the deceleration of the speed command pattern within a predetermined range from the final target position is used for deceleration. Add auxiliary information.
【0012】本発明のロボットの制御方法は、所定のロ
ボット言語で動作または作業が記述されたロボット言語
プログラムを解析実行可能な中間コードに一括して変換
し、前記中間コードを逐次解析してロボットに対する制
御指令を生成してロボットの動作を制御するロボットの
制御方法であって、前記ロボット言語プログラムを中間
コードに変換する際に、当該ロボット言語プログラムの
内容に応じて、制御指令を生成するための補助情報を前
記解析実行部が認識可能に当該中間コードに付加する付
加ステップと、前記補助情報が付加された中間コードを
逐次解析して前記ロボットに対する制御指令を生成する
生成ステップとを有する。According to a robot control method of the present invention, a robot language program in which an operation or a work is described in a predetermined robot language is collectively converted into an intermediate code which can be analyzed and executed, and the intermediate code is sequentially analyzed. A method of controlling a robot that generates a control command to control the operation of a robot, the method including: generating a control command according to the content of the robot language program when converting the robot language program into an intermediate code. And a generation step of sequentially analyzing the intermediate code to which the auxiliary information has been added and generating a control command for the robot.
【0013】前記付加ステップでは、前記中間コードを
先行解析しなければ取得できない情報を補助情報として
付加するIn the adding step, information which cannot be obtained unless the intermediate code is analyzed in advance is added as auxiliary information.
【0014】前記生成ステップでは、前記ロボットの制
御点の目標位置への移動を指令する移動命令を解析し、
当該移動命令から生成される前記制御指令としての速度
指令パターンを滑らかにし、前記付加ステップでは、前
記解析実行部が行う加減速処理を補助する補助情報を前
記中間コードに付加する。In the generating step, a movement command for instructing a movement of a control point of the robot to a target position is analyzed,
The speed command pattern as the control command generated from the movement command is smoothed, and in the adding step, auxiliary information for assisting the acceleration / deceleration processing performed by the analysis execution unit is added to the intermediate code.
【0015】前記付加ステップは、前記移動命令から生
成される速度指令パターンの減速度を所定の範囲に収め
るのに必要な補助情報を前記中間コードに付加する。In the adding step, auxiliary information necessary for keeping the deceleration of the speed command pattern generated from the movement command within a predetermined range is added to the intermediate code.
【0016】前記付加ステップは、連続する複数の移動
命令を加減速処理しないで結合し連続する速度指令パタ
ーンを生成することを指示するスムージング命令を検出
すると、これら複数の移動命令の最終的な目標位置を算
出し、当該最終目標位置から前記速度指令パターンの減
速度を所定の範囲に収めるのに必要な距離に含まれる移
動命令の中間コードに減速のための補助情報を付加す
る。In the adding step, when a smoothing command for instructing to generate a continuous speed command pattern by combining a plurality of continuous movement commands without performing acceleration / deceleration processing is detected, a final target of the plurality of movement commands is detected. A position is calculated, and auxiliary information for deceleration is added to an intermediate code of a movement command included in a distance required to keep the deceleration of the speed command pattern within a predetermined range from the final target position.
【0017】本発明では、ロボット言語プログラムを一
括して中間コードに変換する。このとき、ロボット言語
プログラムの内容を解析して制御指令を生成する際に補
助的な役割をする補助情報を中間コードに付加する。こ
の補助情報は、たとえば、解析実行部で行う加減速処理
を補助する補助情報などであり、より具体的には、連続
する複数の移動命令を加減速処理しないで結合し連続す
る速度指令パターンを生成するスムージング命令によっ
て制御指令(速度指令)を生成する際に、この速度指令
の減速度を所定の範囲に収めるのに必要な減速情報など
である。According to the present invention, the robot language program is collectively converted into an intermediate code. At this time, auxiliary information that plays an auxiliary role in generating a control command by analyzing the contents of the robot language program is added to the intermediate code. The auxiliary information is, for example, auxiliary information for assisting the acceleration / deceleration processing performed by the analysis execution unit. More specifically, a plurality of continuous movement commands are combined without performing acceleration / deceleration processing, and a continuous speed command pattern is formed. When a control command (speed command) is generated by the generated smoothing command, the information includes deceleration information necessary for keeping the deceleration of the speed command within a predetermined range.
【0018】解析実行部は、上記のような補助情報が付
加された中間コードからロボットに対する制御指令を生
成する。たとえば、補助情報が付加されていないと、ス
ムージング命令によって、連続する複数の移動命令を加
減速処理しないで結合し連続する速度指令パターンを生
成したような場合に、解析実行部は、複数の移動命令を
実行する前に先行解析して前もって減速の準備をしない
と、速度指令パターンを所定の減速度内に収めることが
できない場合もある。本発明では、解析実行部が先行解
析しなければ取得できない情報をロボット言語プログラ
ムを中間コードに変換する段階で補助情報として付加す
る。このため、解析実行部では、不必要な中間コードの
先行解析をすることなく、この補助情報から適切な制御
指令(速度指令)を生成することが可能となる。The analysis execution unit generates a control command for the robot from the intermediate code to which the auxiliary information is added. For example, when the auxiliary information is not added, when a continuous speed command pattern is generated by combining a plurality of continuous movement commands without performing acceleration / deceleration processing by a smoothing command, the analysis execution unit may generate a plurality of movement commands. Unless preparations for deceleration are made in advance by executing a preliminary analysis before executing the command, the speed command pattern may not be able to fall within a predetermined deceleration. According to the present invention, information that cannot be obtained unless the analysis execution unit performs a preliminary analysis is added as auxiliary information at the stage of converting the robot language program into an intermediate code. For this reason, the analysis execution unit can generate an appropriate control command (speed command) from this auxiliary information without performing an advance analysis of unnecessary intermediate codes.
【0019】[0019]
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して説明する。図1は、本発明の一実施形
態に係るロボットの制御装置の構成を示す図である。図
1において、制御装置1は、システムマネージャ2と、
コンパイラ3と、ロボット言語プログラム記憶部4と、
中間コード記憶部5と、解析実行部6と、制御指令バッ
ファ7と、運動制御部8と、サーボ制御部9と、I/O
制御部10とを備えている。ここで、コンパイラ3は本
発明の変換部の一実施態様であり、解析実行部6は本発
明の解析実行部の一実施態様である。Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a diagram illustrating a configuration of a robot control device according to an embodiment of the present invention. In FIG. 1, a control device 1 includes a system manager 2,
A compiler 3, a robot language program storage unit 4,
Intermediate code storage unit 5, analysis execution unit 6, control command buffer 7, motion control unit 8, servo control unit 9, I / O
And a control unit 10. Here, the compiler 3 is one embodiment of the conversion unit of the present invention, and the analysis execution unit 6 is one embodiment of the analysis execution unit of the present invention.
【0020】システムマネージャ2は、制御装置1を総
合的に制御し、特に、コンパイラ3および解析実行部6
をそれぞれ独立に起動させる。The system manager 2 controls the control device 1 comprehensively, and in particular, the compiler 3 and the analysis execution unit 6
Are activated independently of each other.
【0021】コンパイラ3は、所定のロボット言語で動
作または作業が記述されたロボット言語プログラムを解
析実行部6で解析実行可能な中間コードに一括して変換
する。このコンパイラ3は、ロボット言語プログラムを
中間コードに変換する際に、ロボット言語プログラムの
内容に応じて制御指令を生成するための補助情報を当該
中間コードに付加する。この補助情報は、解析実行部6
が中間コードを先行解析することで得られる情報であ
る。なお、コンパイラ3の具体的な処理内容については
後述する。The compiler 3 collectively converts a robot language program in which an operation or a task is described in a predetermined robot language into an intermediate code that can be analyzed and executed by the analysis executing unit 6. When converting the robot language program into the intermediate code, the compiler 3 adds auxiliary information for generating a control command according to the content of the robot language program to the intermediate code. This auxiliary information is sent to the analysis execution unit 6
Is information obtained by pre-analyzing the intermediate code. The specific processing contents of the compiler 3 will be described later.
【0022】ロボット言語プログラム記憶部4は、ロボ
ットの動作または作業を記述したロボット言語プログラ
ムを記憶保持する。The robot language program storage section 4 stores and holds a robot language program describing the operation or work of the robot.
【0023】中間コード記憶部5は、コンパイラ3で一
括して変換された中間コードを記憶保持する。The intermediate code storage unit 5 stores and holds the intermediate codes converted by the compiler 3 at one time.
【0024】解析実行部6は、中間コード記憶部5に記
憶された中間コードを逐次解析してロボットに対する制
御指令を生成し、制御指令バッファ7に出力する。ま
た、解析実行部6は、ロボットに対して設けられた外部
機器に対する制御指令をI/O制御部10に出力する。
この解析実行部6は、ロボットの制御点の目標位置への
移動を指令する移動命令を解析し、当該移動命令から生
成される速度指令パターンを滑らかにする加減速処理機
能を備えている。The analysis execution section 6 sequentially analyzes the intermediate codes stored in the intermediate code storage section 5 to generate a control command for the robot, and outputs the control command to the control command buffer 7. Further, the analysis execution unit 6 outputs a control command for an external device provided for the robot to the I / O control unit 10.
The analysis execution unit 6 has an acceleration / deceleration processing function for analyzing a movement command instructing movement of a control point of the robot to a target position and smoothing a speed command pattern generated from the movement command.
【0025】I/O制御部10は、ロボットに対して設
けられた外部機器に制御信号を出力したり、外部機器か
らの信号が入力される。The I / O control unit 10 outputs a control signal to an external device provided for the robot, and receives a signal from the external device.
【0026】制御指令バッファ7は、解析実行部6から
出力されたロボットに対する制御指令を一時的に記憶保
持し、運動制御部8に逐次出力する。The control command buffer 7 temporarily stores the control commands for the robot output from the analysis execution unit 6 and sequentially outputs the control commands to the motion control unit 8.
【0027】運動制御部8は、ロボットの制御点を制御
指令バッファ7から入力される制御指令に追従させるよ
うに、ロボットの各アクチュエータの制御量を算出し、
サーボ制御部9に出力する。The motion control unit 8 calculates the control amount of each actuator of the robot so that the control point of the robot follows the control command input from the control command buffer 7.
Output to the servo control unit 9.
【0028】サーボ制御部9は、運動制御部8から出力
された制御量にロボットの各アクチュエータが追従する
ようにサーボ制御を行う。The servo control unit 9 performs servo control so that each actuator of the robot follows the control amount output from the motion control unit 8.
【0029】図2は、本発明のロボットの制御方法にお
ける付加ステップにおける処理内容の一例を説明するた
めの図である。また、図3は、本発明のロボットの制御
方法における生成ステップの処理内容の一例を説明する
ための図である。図2に示すロボット言語プログラムに
は、移動命令1と、スムージング開始命令と、移動命令
2〜移動命令6と、スムージング終了命令と、移動命令
7とが含まれる。移動命令1〜移動命令7は、それぞ
れ、ロボットの制御点を各命令で指定される移動量の目
標位置に移動させる命令である。FIG. 2 is a diagram for explaining an example of the processing contents in the additional step in the robot control method according to the present invention. FIG. 3 is a diagram for explaining an example of the processing content of the generation step in the robot control method of the present invention. The robot language program shown in FIG. 2 includes a movement command 1, a smoothing start command, a movement command 2 to a movement command 6, a smoothing end command, and a movement command 7. The movement commands 1 to 7 are commands for moving the control point of the robot to the target position of the movement amount specified by each command.
【0030】スムージング開始命令は、移動命令2〜移
動命令6に加減速処理をせず、移動命令2〜移動命令6
から特定される速度指令を移動命令1の速度指令と接続
させる命令である。The smoothing start command does not perform acceleration / deceleration processing on the movement command 2 to the movement command 6, but the movement command 2 to the movement command 6
Is a command to connect the speed command specified by the command with the speed command of the movement command 1.
【0031】スムージング終了命令は、上記のスムージ
ング開始命令を解除する命令であり、したがって、移動
命令7については減速処理が行われる。なお、移動命令
7と移動命令6とは連続的に接続される。The smoothing end command is a command for canceling the above-mentioned smoothing start command. Therefore, the movement command 7 is subjected to deceleration processing. The movement command 7 and the movement command 6 are continuously connected.
【0032】コンパイラ3は、上記のロボット言語プロ
グラムを一括してコンパイルする際に、スムージング開
始命令を検出すると、移動命令1〜移動命令7の最終的
な目標位置を算出する。すなわち、移動命令1〜移動命
令7によって特定される総移動量である。そして、コン
パイラ3は、この最終目標位置からロボットに対する速
度指令パターンの減速度を所定の範囲に収めるのに必要
な距離に含まれる移動命令の中間コードに減速情報を付
加する。The compiler 3 calculates the final target positions of the movement commands 1 to 7 when detecting the smoothing start command when compiling the above robot language programs collectively. That is, the total movement amount specified by the movement commands 1 to 7. Then, the compiler 3 adds the deceleration information to the intermediate code of the movement command included in the distance required to keep the deceleration of the speed command pattern for the robot from the final target position within a predetermined range.
【0033】具体的には、コンパイラ3は、移動命令1
をそのまま移動命令1として中間コードに変換し、移動
命令2,移動命令3および移動命令4をそれぞれスムー
ジング移動命令2,スムージング移動命令3およびスム
ージング移動命令4として中間コードに変換する。な
お、スムージング移動命令は、解析実行部6が加減速処
理をせず連続する移動命令に接続させる命令として認識
する。More specifically, the compiler 3 executes the move instruction 1
Is converted into an intermediate code as the movement instruction 1 as it is, and the movement instructions 2, 3, and 4 are converted into the intermediate code as the smoothing movement instruction 2, the smoothing movement instruction 3, and the smoothing movement instruction 4, respectively. The smoothing movement command is recognized as a command to be connected to a continuous movement command by the analysis execution unit 6 without performing the acceleration / deceleration processing.
【0034】さらに、コンパイラ3は、移動命令5がロ
ボットに対する速度指令パターンの減速度を所定の範囲
に収めるのに必要な減速開始位置を含む命令とすると、
移動命令5をスムージング減速命令5として中間コード
に変換する。すなわち、移動命令5は、減速するための
補助情報が付加されることによってスムージング減速命
令5に変換される。なお、スムージング減速命令は、解
析実行部6が減速処理をしつつ連続する移動命令に接続
させる命令として認識する。Further, the compiler 3 assumes that the movement command 5 is a command including a deceleration start position necessary for keeping the deceleration of the speed command pattern for the robot within a predetermined range.
The movement command 5 is converted into an intermediate code as the smoothing deceleration command 5. That is, the movement command 5 is converted into the smoothing deceleration command 5 by adding auxiliary information for deceleration. The smoothing deceleration command is recognized as a command to be connected to a continuous movement command while the analysis execution unit 6 performs deceleration processing.
【0035】同様に、コンパイラ3は、移動命令6をス
ムージング減速命令6に変換し、移動命令7を減速命令
7に変換する。すなわち、移動命令6,移動命令7は、
減速するための補助情報が付加されることによって、そ
れぞれスムージング減速命令6および減速命令7に変換
される。上記したような手順で変換された中間コード
は、中間コード記憶部5に記憶される。Similarly, the compiler 3 converts the movement instruction 6 into a smoothing deceleration instruction 6, and converts the movement instruction 7 into a deceleration instruction 7. That is, the movement command 6 and the movement command 7 are:
By adding auxiliary information for deceleration, the information is converted into a smoothing deceleration command 6 and a deceleration command 7, respectively. The intermediate code converted by the above-described procedure is stored in the intermediate code storage unit 5.
【0036】次に、解析実行部6における処理について
説明する。上記のコンパイラ3は、ロボット言語プログ
ラムから中間コードを生成すると処理を終了する。解析
実行部6は、中間コードの生成が完了しているならば実
行可能な状態となっている。この状態にある解析実行部
6は、システムマネージャ2からの指令により起動さ
れ、中間コード記憶部5に記憶された中間コードを逐次
解析し制御指令を生成する。このとき、中間コードに含
まれる命令語の種類によっては、I/O制御部10や運
動制御部8などの、解析実行部6とは異なるタスクや割
り込みが実行処理を行う場合がある。タスクや割り込み
の実行を待って次の解析処理を行うことは、システム全
体のパフォーマンスを低下することになる。このため、
解析実行部6は、各命令語(主に、移動命令)の実行完
了を待たずに、次の中間コードの解析を実行する。すな
わち、先行解析を行う。Next, the processing in the analysis execution section 6 will be described. When the compiler 3 generates the intermediate code from the robot language program, the process ends. The analysis execution unit 6 is in an executable state if the generation of the intermediate code has been completed. The analysis execution unit 6 in this state is activated by a command from the system manager 2 and sequentially analyzes the intermediate code stored in the intermediate code storage unit 5 to generate a control command. At this time, depending on the type of the command word included in the intermediate code, a task or an interrupt, such as the I / O control unit 10 or the motion control unit 8, which is different from the analysis execution unit 6, may execute the execution process. Performing the next analysis after waiting for the execution of a task or interrupt will degrade the performance of the entire system. For this reason,
The analysis execution unit 6 executes analysis of the next intermediate code without waiting for completion of execution of each instruction word (mainly, a movement instruction). That is, a preliminary analysis is performed.
【0037】具体的には、解析実行部6は、図3に示す
ように、移動命令1を解析しこれを加減速処理する。次
いで、解析実行部6は、移動命令1の実行中に移動命令
2(スムージング移動命令2)を解析する。移動命令2
は、スムージング移動命令2であるので、図3に示すよ
うに、減速処理がされない。More specifically, as shown in FIG. 3, the analysis execution section 6 analyzes the movement command 1 and performs acceleration / deceleration processing on the movement command. Next, the analysis execution unit 6 analyzes the movement instruction 2 (smoothing movement instruction 2) while the movement instruction 1 is being executed. Movement instruction 2
Is a smoothing movement command 2, so that no deceleration processing is performed as shown in FIG.
【0038】移動命令2の実行中には、移動命令3(ス
ムージング移動命令3)が解析される。解析された移動
命令3は移動命令2に加減速処理がなされないで接続さ
れる。During execution of the movement instruction 2, the movement instruction 3 (smoothing movement instruction 3) is analyzed. The analyzed movement command 3 is connected to the movement command 2 without performing acceleration / deceleration processing.
【0039】同様に、移動命令3の実行中には、移動命
令4(スムージング移動命令4)が解析される。解析さ
れた移動命令4は移動命令3に加減速処理がなされない
で接続される。Similarly, during execution of the movement instruction 3, the movement instruction 4 (smoothing movement instruction 4) is analyzed. The analyzed movement command 4 is connected to the movement command 3 without performing acceleration / deceleration processing.
【0040】移動命令4の実行中には、移動命令5(ス
ムージング減速命令5)が解析される。移動命令5の速
度は移動命令4の速度に連続的に接続される。一方、移
動命令5には、減速するための補助情報が付加されてい
るため、速度指令パターンは、図3に示すように減速処
理が開始される。During execution of the movement command 4, the movement command 5 (smoothing deceleration command 5) is analyzed. The speed of the movement command 5 is continuously connected to the speed of the movement command 4. On the other hand, since auxiliary information for deceleration is added to the movement command 5, the speed command pattern starts deceleration processing as shown in FIG.
【0041】移動命令5の実行中には、移動命令6(ス
ムージング減速命令6)が解析される。移動命令6の速
度は移動命令5の速度に連続的に接続される。さらに、
移動命令6には減速するための補助情報が付加されてい
るため、減速処理される。During execution of the movement command 5, the movement command 6 (smoothing deceleration command 6) is analyzed. The speed of the movement command 6 is continuously connected to the speed of the movement command 5. further,
Since auxiliary information for deceleration is added to the movement command 6, deceleration processing is performed.
【0042】移動命令6の実行中には、移動命令7(減
速命令7)が解析される。移動命令7の速度は移動命令
6の速度に連続的に接続される。さらに、減速命令7に
は減速するための補助情報が付加されているため、減速
処理され、停止する。During execution of the movement command 6, the movement command 7 (deceleration command 7) is analyzed. The speed of the move command 7 is continuously connected to the speed of the move command 6. Further, since auxiliary information for deceleration is added to the deceleration command 7, deceleration processing is performed and the operation is stopped.
【0043】このように、本実施形態では、コンパイラ
3で中間コードを作成する段階で、減速処理のための補
助情報を中間コードに付加することにより、実行中の命
令より一つだけ先行する命令を先行解析するだけで、ロ
ボットを停止させる際の減速度を所定の範囲に収めるこ
とができる。すなわち。ショックの少ない滑らかな停止
が可能となる。As described above, in the present embodiment, at the stage when the intermediate code is created by the compiler 3, by adding auxiliary information for deceleration processing to the intermediate code, the instruction that precedes the instruction being executed by one is executed. The deceleration at the time of stopping the robot can be kept within a predetermined range only by performing the preliminary analysis of That is. Smooth stop with less shock is possible.
【0044】ここで、比較のため、コンパイラ3で補助
情報を付加せずに中間コードに変換する場合について、
図4および図5を参照して説明する。図4に示すよう
に、移動命令1はそのまま移動命令1として中間コード
に変換される。移動命令2〜移動命令6はスムージング
移動命令2〜スムージング移動命令6として中間コード
にそれぞれ変換される。スムージング移動命令は、解析
実行部6が加減速処理をせず、連続する移動命令に接続
させる命令として認識する。さらに、移動命令7はその
まま移動命令7として中間コードに変換される。これら
の中間コードを解析実行部6で実行中の命令より一つだ
け先行する命令を先行解析したとすると、生成される速
度指令パターンは図5に示すようになる。Here, for comparison, a case where the compiler 3 converts the code into an intermediate code without adding auxiliary information will be described.
This will be described with reference to FIGS. As shown in FIG. 4, the movement command 1 is directly converted to an intermediate code as the movement command 1. The movement instructions 2 to 6 are converted into intermediate codes as smoothing movement instructions 2 to 6, respectively. The smoothing movement command is recognized as a command to be connected to a continuous movement command without performing the acceleration / deceleration processing by the analysis execution unit 6. Further, the movement command 7 is directly converted into an intermediate code as the movement command 7. Assuming that the intermediate code is pre-analyzed by one instruction preceding the instruction being executed by the analysis execution unit 6, the generated speed command pattern is as shown in FIG.
【0045】図5において、移動命令1〜移動命令4
は、上記したと同様な処理がされるため、図3に示した
速度指令パターンと全く同じである。一方、図5におい
て、移動命令5(スムージング移動命令5)および移動
命令6(スムージング移動命令6)には、減速処理のた
めの補助情報が付加されていないため、減速処理が施さ
れない。このため、移動命令7を解析すると、解析実行
部6の加減速処理機能によって、急な減速処理が行われ
る。したがって、ロボットを滑らかに停止させることが
できない。このことから、コンパイラ3で補助情報を付
加せずに中間コードに変換する場合には、たとえば、移
動命令4の実行中に移動命令5,移動命令6および移動
命令7を先行解析しなければ、図3と同様の減速が行え
ないことがわかる。In FIG. 5, a movement command 1 to a movement command 4
Is the same as the speed command pattern shown in FIG. 3 because the same processing as described above is performed. On the other hand, in FIG. 5, since the movement information 5 (smoothing movement instruction 5) and the movement instruction 6 (smoothing movement instruction 6) do not include auxiliary information for deceleration processing, no deceleration processing is performed. For this reason, when the movement command 7 is analyzed, the acceleration / deceleration processing function of the analysis execution unit 6 performs a rapid deceleration process. Therefore, the robot cannot be stopped smoothly. For this reason, when the compiler 3 converts to the intermediate code without adding the auxiliary information, for example, if the move instruction 5, the move instruction 6, and the move instruction 7 are not pre-analyzed during the execution of the move instruction 4, It can be seen that the same deceleration as in FIG. 3 cannot be performed.
【0046】以上のように、本実施形態によれば、ロボ
ット言語プログラムを一括してコンパイルするときに、
ロボット言語プログラムの内容を解析し、たとえば、減
速処理のための情報を中間コードに付加することで、解
析実行部3が中間コードを解析し、実行する際の負担を
軽減でき、また、より好ましい制御指令を生成すること
ができる。また、本実施形態によれば、制御装置1側で
自動的に適切な加減速処理を行うので、ロボット言語プ
ログラムを作成するユーザは、ロボットの移動量と速度
とを意識せずにプログラミングでき、操作性が向上す
る。As described above, according to the present embodiment, when compiling the robot language program in a lump,
By analyzing the contents of the robot language program and adding, for example, information for deceleration processing to the intermediate code, the analysis execution unit 3 can reduce the burden of analyzing and executing the intermediate code, which is more preferable. A control command can be generated. Further, according to the present embodiment, since the control device 1 automatically performs appropriate acceleration / deceleration processing, a user who creates a robot language program can perform programming without being aware of the movement amount and speed of the robot. Operability is improved.
【0047】なお、上述した実施形態では、加減速処理
に関する補助情報をコンパイル時に中間コードに付加す
る場合について説明したが、本発明はこれに限定されな
い。本発明は、通常であれば先行解析しないと得られな
い情報をコンパイル時に解析して中間コードに付加する
ことができる情報であれば特に加減速処理に関する情報
でなくてもよい。In the above-described embodiment, a case has been described where auxiliary information relating to the acceleration / deceleration processing is added to the intermediate code at the time of compilation, but the present invention is not limited to this. According to the present invention, any information which can be analyzed at the time of compiling and which can be added to the intermediate code, which cannot be normally obtained without prior analysis, may not be particularly related to the acceleration / deceleration processing.
【0048】[0048]
【発明の効果】本発明によれば、ロボット言語プログラ
ムの不必要な先行解析を削減できる。また、本発明によ
れば、ロボット言語プログラムの不必要な先行解析を削
減してもロボットの動作を適切に制御可能である。According to the present invention, unnecessary advance analysis of a robot language program can be reduced. Further, according to the present invention, the operation of the robot can be appropriately controlled even when unnecessary preliminary analysis of the robot language program is reduced.
【図1】本発明の一実施形態に係るロボットの制御装置
の構成を示す図である。FIG. 1 is a diagram illustrating a configuration of a robot control device according to an embodiment of the present invention.
【図2】コンパイラ3の動作を説明するための図であ
る。FIG. 2 is a diagram for explaining an operation of a compiler 3;
【図3】コンパイラ3で得られた中間コードから解析実
行部6によって生成された速度指令の一例を示す図であ
る。FIG. 3 is a diagram showing an example of a speed command generated by an analysis execution unit 6 from an intermediate code obtained by a compiler 3.
【図4】従来のコンパイラの動作を説明するための図で
ある。FIG. 4 is a diagram for explaining the operation of a conventional compiler.
【図5】従来のコンパイラで生成された中間コードから
生成された速度指令の一例を示す図である。FIG. 5 is a diagram showing an example of a speed command generated from an intermediate code generated by a conventional compiler.
【図6】移動命令に対する各種の処理機能を説明するた
めの図である。FIG. 6 is a diagram for explaining various processing functions for a movement command.
1…ロボットの制御装置 2…システムマネージャ 3…コンパイラ 4…ロボット言語プログラム記憶部 5…中間コード記憶部 6…解析実行部 7…制御指令バッファ 8…運動制御部 9…サーボ制御部 10…I/O制御部 DESCRIPTION OF SYMBOLS 1 ... Robot control device 2 ... System manager 3 ... Compiler 4 ... Robot language program storage part 5 ... Intermediate code storage part 6 ... Analysis execution part 7 ... Control command buffer 8 ... Motion control part 9 ... Servo control part 10 ... I / O control unit
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 3F059 AA01 BC07 BC09 DA02 DA08 DC08 DD01 FA03 FB01 FB05 FB16 FC02 FC07 FC13 FC14 5H269 AB33 EE01 ──────────────────────────────────────────────────の Continued on the front page F term (reference) 3F059 AA01 BC07 BC09 DA02 DA08 DC08 DD01 FA03 FB01 FB05 FB16 FC02 FC07 FC13 FC14 5H269 AB33 EE01
Claims (10)
述されたロボット言語プログラムを解析実行可能な中間
コードに一括して変換する変換部と、前記中間コードを
逐次解析してロボットに対する制御指令を生成する解析
実行部とを備えるロボットの制御装置であって、 前記変換手段は、前記ロボット言語プログラムを中間コ
ードに変換する際に、当該ロボット言語プログラムの内
容に応じて制御指令を生成するための補助情報を当該中
間コードに付加し、 前記解析実行部は、前記補助情報が付加された中間コー
ドを逐次解析して前記ロボットに対する制御指令を生成
するロボットの制御装置。1. A conversion section for converting a robot language program in which an operation or a task is described in a predetermined robot language into an intermediate code which can be analyzed and executed in a batch, and sequentially analyzes the intermediate code to send a control command to the robot. A control unit for generating a control command according to the contents of the robot language program when the robot language program is converted into an intermediate code. A robot control device for adding auxiliary information to the intermediate code, wherein the analysis execution unit sequentially analyzes the intermediate code to which the auxiliary information is added and generates a control command for the robot.
間コードを先行解析することで得られる情報である請求
項1に記載のロボットの制御装置。2. The robot control device according to claim 1, wherein the auxiliary information is information obtained by the analysis executing unit pre-analyzing the intermediate code.
の目標位置への移動を指令する移動命令を解析し、当該
移動命令から生成される前記制御指令としての速度指令
パターンを滑らかにする加減速処理機能を備えており、 前記変換手段は、前記解析実行部が行う加減速処理を補
助する補助情報を前記中間コードに付加する請求項1ま
たは2に記載のロボットの制御装置。3. The analysis execution section analyzes a movement command for commanding movement of a control point of the robot to a target position, and smoothes a speed command pattern as the control command generated from the movement command. 3. The robot control device according to claim 1, further comprising an acceleration / deceleration processing function, wherein the conversion unit adds auxiliary information that assists the acceleration / deceleration processing performed by the analysis execution unit to the intermediate code. 4.
れる速度指令パターンの減速度を所定の範囲に収めるの
に必要な補助情報を前記中間コードに付加する請求項3
に記載のロボットの制御装置。4. The intermediate code according to claim 3, wherein said conversion means adds auxiliary information necessary for keeping a deceleration of a speed command pattern generated from said movement command within a predetermined range.
3. The control device for a robot according to claim 1.
を加減速処理しないで結合し、連続する速度指令パター
ンを生成することを指示するスムージング命令を検出し
た場合には、これら複数の移動命令の最終的な目標位置
を算出し、当該最終目標位置から前記速度指令パターン
の減速度を所定の範囲に収めるのに必要な距離に含まれ
る移動命令の中間コードに減速情報を付加する請求項4
に記載のロボットの制御装置。5. The method according to claim 1, wherein the converting means combines a plurality of continuous movement commands without performing acceleration / deceleration processing and detects a smoothing command for generating a continuous speed command pattern. A final target position of the command is calculated, and deceleration information is added to an intermediate code of a movement instruction included in a distance required to keep the deceleration of the speed command pattern within a predetermined range from the final target position. 4
3. The control device for a robot according to claim 1.
述されたロボット言語プログラムを解析実行可能な中間
コードに一括して変換し、前記中間コードを逐次解析し
てロボットに対する制御指令を生成してロボットの動作
を制御するロボットの制御方法であって、 前記ロボット言語プログラムを中間コードに変換する際
に、当該ロボット言語プログラムの内容に応じて、制御
指令を生成するための補助情報を前記解析実行部が認識
可能に当該中間コードに付加する付加ステップと、 前記補助情報が付加された中間コードを逐次解析して前
記ロボットに対する制御指令を生成する生成ステップと
を有するロボットの制御方法。6. A robot language program in which operation or work is described in a predetermined robot language is collectively converted into an intermediate code that can be analyzed and executed, and the intermediate code is sequentially analyzed to generate a control command for the robot. A robot control method for controlling an operation of a robot, the method comprising, when converting the robot language program into an intermediate code, executing analysis information for generating a control command according to the content of the robot language program. A control method for a robot, comprising: an adding step of recognizing the intermediate code to the intermediate code; and a generating step of sequentially analyzing the intermediate code to which the auxiliary information is added and generating a control command for the robot.
先行解析しなければ取得できない情報を補助情報として
付加する請求項6に記載のロボットの制御方法。7. The robot control method according to claim 6, wherein in the adding step, information that cannot be obtained unless the intermediate code is analyzed in advance is added as auxiliary information.
御点の目標位置への移動を指令する移動命令を解析し、
当該移動命令から生成される前記制御指令としての速度
指令パターンを滑らかにし、 前記付加ステップでは、前記解析実行部が行う加減速処
理を補助する補助情報を前記中間コードに付加する請求
項6または7に記載のロボットの制御方法。8. In the generating step, a movement command for commanding movement of the control point of the robot to a target position is analyzed,
8. The speed command pattern as the control command generated from the movement command is smoothed, and in the adding step, auxiliary information for assisting an acceleration / deceleration process performed by the analysis execution unit is added to the intermediate code. 9. 3. The method for controlling a robot according to item 1.
成される速度指令パターンの減速度を所定の範囲に収め
るのに必要な補助情報を前記中間コードに付加する請求
項8に記載のロボットの制御方法。9. The robot according to claim 8, wherein said adding step adds auxiliary information necessary for keeping a deceleration of a speed command pattern generated from said movement command within a predetermined range. Control method.
動命令を加減速処理しないで結合し連続する速度指令パ
ターンを生成することを指示するスムージング命令を検
出すると、これら複数の移動命令の最終的な目標位置を
算出し、当該最終目標位置から前記速度指令パターンの
減速度を所定の範囲に収めるのに必要な距離に含まれる
移動命令の中間コードに減速情報を付加する請求項9に
記載のロボットの制御方法。10. The method according to claim 1, wherein the adding step detects a smoothing command for instructing to generate a continuous speed command pattern by combining a plurality of continuous moving commands without performing acceleration / deceleration processing. The deceleration information is added to an intermediate code of a movement command included in a distance necessary for keeping the deceleration of the speed command pattern within a predetermined range from the final target position by calculating a desired target position. Robot control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000185319A JP2002006918A (en) | 2000-06-20 | 2000-06-20 | Apparatus and method for controlling a robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000185319A JP2002006918A (en) | 2000-06-20 | 2000-06-20 | Apparatus and method for controlling a robot |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002006918A true JP2002006918A (en) | 2002-01-11 |
Family
ID=18685650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000185319A Pending JP2002006918A (en) | 2000-06-20 | 2000-06-20 | Apparatus and method for controlling a robot |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002006918A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002341912A (en) * | 2001-05-16 | 2002-11-29 | Citizen Watch Co Ltd | Numerical controller, method for executing numerical control program and its program |
JP2015219599A (en) * | 2014-05-14 | 2015-12-07 | ファナック株式会社 | Numerical control device with retraction function |
-
2000
- 2000-06-20 JP JP2000185319A patent/JP2002006918A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002341912A (en) * | 2001-05-16 | 2002-11-29 | Citizen Watch Co Ltd | Numerical controller, method for executing numerical control program and its program |
JP2015219599A (en) * | 2014-05-14 | 2015-12-07 | ファナック株式会社 | Numerical control device with retraction function |
US10010975B2 (en) | 2014-05-14 | 2018-07-03 | Fanuc Corporation | Numerical controller of laser beam machine |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11207777B2 (en) | Robot controlling device and automatic assembling system | |
US20140364989A1 (en) | Controller for controlling machine tool and robot | |
US10338570B2 (en) | Numerical controller | |
JP5339999B2 (en) | Numerical control device having interference check function | |
US5386499A (en) | Controller and process for effecting a shorter path trajectory in robot movement | |
JP2002006918A (en) | Apparatus and method for controlling a robot | |
JP3689194B2 (en) | Robot control method | |
JP2735126B2 (en) | Robot control method and control device thereof | |
JP2001216008A (en) | Robot control method | |
JP2654614B2 (en) | Speed control device | |
JP2001154719A (en) | Method for interpolating free curve | |
JP2733665B2 (en) | Numerical control unit | |
JPH056213A (en) | Method and device for controlling industrial robot | |
JPS6232508A (en) | Positioning control method for servo-system of numerical controller | |
JPH0991022A (en) | Robot controller | |
JPH05100728A (en) | System and device for drive control | |
Lemmen et al. | A conditional stop capable trajectory planner for cable-driven parallel robots | |
JPS63239511A (en) | Robot system | |
JPS61147306A (en) | Safety device of robot | |
JP3198256B2 (en) | Numerical control unit | |
JPH07223183A (en) | Work teaching device to robot and method thereof | |
JPH07121225A (en) | Robot controller | |
JPH0264713A (en) | Automatic work device | |
JPH0222708A (en) | Nc device and execution method for nc working program | |
Hörmann | Introduction to programming methods |