JPS6272005A - Control method for robot - Google Patents
Control method for robotInfo
- Publication number
- JPS6272005A JPS6272005A JP21175885A JP21175885A JPS6272005A JP S6272005 A JPS6272005 A JP S6272005A JP 21175885 A JP21175885 A JP 21175885A JP 21175885 A JP21175885 A JP 21175885A JP S6272005 A JPS6272005 A JP S6272005A
- Authority
- JP
- Japan
- Prior art keywords
- data block
- data
- hand
- command
- robot
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000008569 process Effects 0.000 claims abstract description 28
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 8
- 230000008859 change Effects 0.000 description 8
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 3
- YTAHJIFKAKIKAV-XNMGPUDCSA-N [(1R)-3-morpholin-4-yl-1-phenylpropyl] N-[(3S)-2-oxo-5-phenyl-1,3-dihydro-1,4-benzodiazepin-3-yl]carbamate Chemical compound O=C1[C@H](N=C(C2=C(N1)C=CC=C2)C1=CC=CC=C1)NC(O[C@H](CCN1CCOCC1)C1=CC=CC=C1)=O YTAHJIFKAKIKAV-XNMGPUDCSA-N 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000032258 transport Effects 0.000 description 2
- 241001455214 Acinonyx jubatus Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
Description
【発明の詳細な説明】
本発明はロボットの制御方法に関し、一層詳細には、ロ
ボット本体またはロボットの作動部の位置を指示するた
めの移動データと、前記ロボットの状態を指示する命令
を含む機能データとからなる各データブロックに基づい
て前記ロボットのハンドの前進行程を行う制御方法にお
いて、ロボットが後退動作する際、前進行程のロボット
の状態変化プロセスを忠実に濯行するように制御するた
めのロボットの制御方法に関する。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a method for controlling a robot, and more particularly, a function including movement data for instructing the position of a robot body or an operating part of the robot, and a command for instructing the state of the robot. In the control method for performing the forward stroke of the robot hand based on each data block consisting of Concerning robot control methods.
一般に、自動生産システムにおいて、産業用ロボットは
単独で作業を行うよりも、寧ろ、生産ラインの一部を受
は持ち、作業工程前後の機械と連帯して作業を行う。ま
た、作業の際、実質的に動作するロボットのアーム、ハ
ンドおよび脚機構等の作動部はセンサおよびコンピュー
タ等からなる制御部によって作業内容に応じた作動制御
が行われる。In general, in automated production systems, industrial robots do not work alone, but rather take part in a production line and work in conjunction with machines before and after the work process. Further, during work, the operating parts of the robot, such as the arm, hand, and leg mechanism, which are substantially in operation, are controlled according to the content of the work by a control part including a sensor, a computer, and the like.
例えば、ワークを搬送する際、ロボットはそのアームに
装着されたハンドを所定の駆動機構によって移動させる
と共に、前記ハンドを開閉させることによりワークを搬
送している。この種のロボットによる搬送制御では、コ
ンピュータにプログラミングされたハンドの位置を指示
するための移動データと、ハンドの開閉命令を含む機能
データとからなる個々のデータブロックを連続して構成
したデータブロック群に基づいて前記動作を遂行させる
という方法が採用されている。For example, when transporting a workpiece, a robot moves a hand attached to its arm using a predetermined drive mechanism, and also transports the workpiece by opening and closing the hand. In this type of robot-based transport control, a data block group consisting of consecutive individual data blocks consisting of movement data programmed into a computer to instruct the hand position and functional data including hand opening/closing commands. A method is adopted in which the operation is performed based on the following.
そこで、このような方法によりロボットの動作制御を行
う場合のデータブロック群を第1図に例示する。図に示
すように、前進行程用のデータブロック群を構成するデ
ータブロック1乃至データブロック7の夫々は移動デー
タと機能データとからなる。前記移動データは作業空間
内におけるロボットの作動部としてのハンドの位置を指
示するための位置データからなる。この場合、前記位置
データを位置A乃至位置Gとして示す。一方、前記機能
データは基本的にはロボットの状態を指示するための機
能命令を含み、この場合、前記機能命令として前記ハン
ドの開閉を指示するための開閉命令を用いている。FIG. 1 shows an example of a data block group for controlling the robot's motion using such a method. As shown in the figure, each of data blocks 1 to 7 constituting the data block group for the forward movement consists of movement data and functional data. The movement data includes position data for instructing the position of a hand as an operating part of the robot within the work space. In this case, the position data is indicated as positions A to G. On the other hand, the functional data basically includes functional commands for instructing the state of the robot, and in this case, an opening/closing command for instructing opening/closing of the hand is used as the functional command.
然しなから、必ずしも開閉命令が機能データ中にあると
は限らない。すなわち、データブロック3およびデータ
ブロック7には開閉命令は存在していない。このように
開閉命令が存在しない場合、当然、ハンドの開閉は指示
されないため、前記ハンドの開閉状態は変化しない。However, the opening/closing command is not necessarily included in the function data. That is, data block 3 and data block 7 do not have open/close commands. If there is no opening/closing command as described above, the opening/closing of the hand is not instructed, so the open/closed state of the hand does not change.
また、各データブロックによる指令が行われる際には、
移動データに基づいた指令がなされた後、機能データに
基づいた指令が行われるのが一般的である。コンピュー
タはこれらのデータブロックに含まれる移動データを順
次読み出してロボットを構成するアームを変位させ、一
方、機能データを読み出すことによってハンドの開閉制
御を行う。Also, when commands are issued using each data block,
Generally, after a command based on movement data is issued, a command based on functional data is issued. The computer sequentially reads out the movement data included in these data blocks to displace the arms that make up the robot, and controls the opening and closing of the hand by reading out the functional data.
次に、第1図のデータブロック群に従った前進行程を第
2図を参照しながら説明する。なお、第2図に示す矢印
を含む実線はハンドの開閉状態を位置A乃至位置Gに対
応させて表した動作過程を示すものである。Next, the forward movement according to the data block group of FIG. 1 will be explained with reference to FIG. 2. Note that the solid lines including arrows shown in FIG. 2 indicate the operating process in which the open and closed states of the hand are shown in correspondence with positions A to G.
先ず、前進行程はデータブロック1から開始される。す
なわち、データブロック1の移動データおよび機能デー
タによりハンドが位置Aにおいて閉じているという状態
が設定される。次に、データブロック2による指令によ
ってハンドは位置Bへ移動した後、そのハンドが開く。First, the forward process starts from data block 1. That is, a state in which the hand is closed at position A is set by the movement data and function data of data block 1. Next, the hand is moved to position B according to a command from data block 2, and then the hand is opened.
なお、このようにハンドが開く動作を第2図においては
図の上方に指向する矢印で示している。It should be noted that this action of opening the hand is shown in FIG. 2 by an arrow pointing upward in the figure.
位置Bにおいて開いたハンドはデータブロック3を読み
出すことにより位置Cまで移動する。The hand opened at position B moves to position C by reading data block 3.
この場合、データブロック3には開閉命令がないため、
ハンドの開いた状態はそのまま維持される。そして、デ
ータブロック4の読み出しにより、ハンドは位置りまで
移動して閉じる。このようにハンドが閉じる動作を第2
図においては図の下方に指向する矢印で示している。In this case, data block 3 does not have an open/close command, so
The hand remains open. Then, by reading the data block 4, the hand moves to the position and closes. This is how the hand closes.
In the figure, it is indicated by an arrow pointing downward in the figure.
次いで、データブロック5により、ハンドは位置Eまで
移動し、その際の開閉命令はデータブロック4の開閉命
令と同じハンド閉であるため、ハンドが閉じた状態は変
化しない。さらに、データブロック6の読み出しにより
、ハンドは位置Fまで移動した後、ハンド閉が実行され
る。Next, data block 5 moves the hand to position E, and since the opening/closing command at that time is the same hand closing as the opening/closing command of data block 4, the closed state of the hand does not change. Further, by reading the data block 6, the hand moves to position F, and then the hand is closed.
位置Fにおいて開いたハンドはデータブロック7により
位置Gまで移動する。この場合、データブロック7には
開閉命令がないため、ハンドの開状態は維持される。The hand opened at position F is moved to position G by data block 7. In this case, since there is no open/close command in the data block 7, the open state of the hand is maintained.
すなわち、以上の前進行程におけるハンドは、第2図に
示すように、位置Aで閉じており、次に位置Bで開いて
位置りで閉じ、さらに位置Fで再び開き、開状態で位K
Gまで移動する。That is, as shown in Fig. 2, the hand in the forward movement described above is closed at position A, then opened at position B, closed at position B, and then opened again at position F, and then moved to position K in the open state.
Move to G.
以上のようにしてワークの把持、放出を繰り返して当該
ワークの搬送を行うが、事故等に起因して、一旦、ロボ
ットを原位置に復帰させる必要も出てくる場合がある。Although the workpiece is conveyed by repeatedly gripping and releasing the workpiece as described above, there may be cases where it becomes necessary to temporarily return the robot to its original position due to an accident or the like.
そこで、前記前進行程を完了した後に、前進行程とは逆
の順序でデータブロック7からデータブロックlに至る
後退行程を行った場合のハンドの動作過程を次に説明す
る。Therefore, the operation process of the hand when the backward stroke from data block 7 to data block I is performed in the reverse order of the forward stroke after completing the forward stroke will be described below.
先ず、位置Gにおいて開いているハンドはデータプロフ
クロを読み出すことにより位置Fまで移動する。位置F
においては、データブロック6の機能データがハンド閉
であるため、ハンドの開状態は変化しない。次に、デー
タブロック5によりハンドは位置Eまで移動して閉じる
。First, the open hand at position G moves to position F by reading the data profile. Position F
In , the function data of data block 6 is hand closed, so the open state of the hand does not change. Next, data block 5 moves the hand to position E and closes it.
そして、データブロック4によりハンドは位置りまで移
動する。この場合の機能データがハンド閉であるため、
ハンドは閉じたままである。Then, the hand moves to the position according to the data block 4. Since the functional data in this case is hand closed,
The hand remains closed.
位置りにおいて閉状態のハンドはデータブロック3によ
り位置Cまで移動する。その際、データブロック3には
開閉命令がないためハンドの閉状態は維持される。次い
で、データブロック2を読み出すことによりハンドは位
置Bまで移動した後、この場合のハンド開命令によって
ハンドが開く。さらに、データブロック1によりハンド
は位置Aまで移動して閉じる。前進行程用のデータブロ
ック群を逆の流れで実行した後退行程は以上のようにな
り、この後退行程を第2図においては第1後退行程とし
て示している。The hand, which is closed in position, is moved to position C by data block 3. At this time, since there is no open/close command in the data block 3, the closed state of the hand is maintained. Next, after the hand moves to position B by reading data block 2, the hand is opened by the hand open command in this case. Furthermore, data block 1 moves the hand to position A and closes it. The backward stroke in which the data block group for the forward stroke is executed in the reverse flow is as described above, and this backward stroke is shown as the first backward stroke in FIG. 2.
然しなから、前記のように、前進行程用のデータブロッ
クを後退の際、順次読み出すと次のような不都合が露呈
してくる。例えば、今、第2図の前進行程と第1後退行
程とを比較すれば、前記前進行程と後退行程とではハン
ドの開閉する位置が異なることは容易に諒解されよう、
すなわち、前記のような移動データと機能データとから
なる前進行程用のデータブロック群を逆の方向に実行さ
せる場合、前進行程におけるハンドの動作過程に沿った
後退行程を実現させることは不可能である。このことは
、例えば、前進行程における位置D−F間でハンドがワ
ークを把持していたにも拘らず、第1後退行程における
位INFではハンドが開いているために、ワークの把持
が行われて、いないことを意味する。However, as described above, if the data blocks for the forward process are sequentially read out during the backward movement, the following disadvantages arise. For example, if we compare the forward stroke and the first backward stroke in FIG.
In other words, when executing a data block group for a forward stroke consisting of movement data and functional data as described above in the opposite direction, it is impossible to realize a backward stroke along the movement process of the hand in the forward stroke. be. This means that, for example, even though the hand was gripping the workpiece between positions D and F in the forward stroke, the workpiece was not gripped because the hand was open at position INF in the first backward stroke. It means not there.
従って、前進行程と後退行程とが同じ動作過程を辿るた
めには、前進行程用のデータブロック群とは別の後退行
程用のデータブロック群をプログラミングしておく必要
がある。結局、前進行程のハンドの動作過程を逆に辿る
後退行程を実行させるためには、予め前進行程用のデー
タブロック群がプログラミングされている場合であって
も後退行程専用のデータブロック群をプログラミングし
ておかなければならない。Therefore, in order for the forward stroke and the backward stroke to follow the same operating process, it is necessary to program a data block group for the backward stroke that is different from the data block group for the forward stroke. After all, in order to execute a backward stroke that reverses the movement process of the hand in the forward stroke, even if a data block group for the forward stroke has been programmed in advance, a data block group dedicated to the backward stroke must be programmed. I have to keep it.
以上のように、ロボットの制御用の一般的なデータブロ
ックはロボットのハンドあるいはロボット本体等の作動
部の位置を指示するための移動データと、前記ハンドの
開閉等の状態を指示するための機能命令または前記機能
命令がないことを意味するデータを含む機能データとか
らなる。すなわち、このようなデータブロックを連接し
た前進行程用のデータブロック群を用いて後退行程を行
う場合、只単に前進行程用のデータブロック群を逆方向
に実行すれば、ロボットの前進行程と後退行程における
状態変化のプロセスは異なったものになる。従って、ロ
ボットの前進行程における状態変化を忠実に辿る後退行
程を実現させるためには、前進行程用のデータブロック
群とは別に後退行程用のデータブロックを備えておく必
要がある。このため、前進行程用のデータブロック群が
長いプログラムである場合、後退行程用のデータブロッ
ク群のプログラミングが極めて煩雑となり、それに要す
る費用も膨大となるばかりかコンピュータの記憶容量も
一挙に増大せざるを得ない。As mentioned above, general data blocks for robot control include movement data for instructing the position of the robot's hand or operating parts such as the robot body, and functions for instructing the state of the hand, such as opening and closing. command or function data including data indicating the absence of the function command. In other words, when performing a backward stroke using a data block group for forward strokes in which such data blocks are connected, simply executing the data block group for forward strokes in the reverse direction will allow the robot to move forward and backward. The process of state change in will be different. Therefore, in order to realize a backward stroke that faithfully follows the state changes in the forward stroke of the robot, it is necessary to provide a data block for the backward stroke separately from the data block group for the forward stroke. For this reason, if the data block group for the forward stroke is a long program, programming the data block group for the backward stroke becomes extremely complicated, which not only increases the cost but also increases the storage capacity of the computer all at once. I don't get it.
そこで、本発明者は鋭意考究並びに工夫を重ねた結果、
前進行程用のデータブロック群内の第1のデータブロッ
クから後退行程を実行する際、前記第1データブロック
内にロボットの状態を指示する機能命令がない場合は第
1データブロック直前の第2のデータブロック内の移動
データに基づいた命令を実行し、前記第1データブロッ
ク内に機能命令がある場合は前記第1データブロックよ
りも前でしかも最も近いデータブロックに含まれる機能
命令を読み出し、その機能命令を実行した上で前記第1
データブロック直前のデータブロック内の移動データに
基づいた命令を実行するという制御を順次繰り返すよう
に前進行程用のデータブロック群を逆に辿れば、前進行
程の状態変化プロセスに沿った後退行程が実行されるこ
とになり、この結果、後退行程用のデータブロック群を
新たに作成しておく必要がなくなり、前記の不都合が悉
く解消されることが判った。Therefore, as a result of intensive research and ingenuity, the inventor of the present invention found that
When executing a backward stroke from the first data block in the data block group for the forward stroke, if there is no function command that instructs the state of the robot in the first data block, the second data block immediately before the first data block is Execute an instruction based on the moving data in the data block, and if there is a functional instruction in the first data block, read the functional instruction included in the previous and closest data block to the first data block; After executing the functional command, the first
If the data blocks for the forward process are followed in reverse so as to sequentially repeat the control of executing instructions based on the movement data in the data block immediately before the data block, the backward process will be executed in accordance with the state change process of the forward process. As a result, it is no longer necessary to create a new data block group for the backward stroke, and it has been found that all of the above-mentioned inconveniences are eliminated.
従って、本発明の目的はロボットの前進行程用のデータ
ブロック群を用いて前進行程のロボットの変化プロセス
に沿った後退行程を実現させることが可能なロボットの
制御方法を提供するにある。SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide a method for controlling a robot that is capable of realizing a backward stroke in accordance with the change process of the robot in the forward stroke using a data block group for the forward stroke of the robot.
前記の目的を達成するために、本発明はロボットの作動
部の位置を指示するための移動データと、前記ロボット
の作動部がいずれの状態にあるかを指示するための機能
命令または前記機能命令がないことを意味するデータを
含む機能データとからなるデータブロックが複数連続す
るロボットの前進行程用のデータブロック群を用いるこ
とによりロボットの後退行程を行う際、第1のデータブ
ロックに機能命令がない場合はロボットの作動部の状態
を変更することなく前記第1データプロフク直前の第2
のデータブロック内の移動データに基づいた命令を実行
し、一方、前記第1データブロックに第1の機能命令が
ある場合は第1データブロックより前でしかも最も第1
データブロックに近いデータブロックにある第2の機能
命令が前記第1機能命令と一致するか否かを判断し、第
1機能命令と第2機能命令とが一致する場合はロボット
の作動部の状態を変更することなく前記第2データブロ
ック内の移動データに基づいた命令を実行し、また、第
1機能命令と第2機能命令とが一致しない場合は第2機
能命令を実行した後に前記第2データブロック内の移動
データに基づいた命令を実行し、以上のような制御を順
次繰り返すようにして前進行程用のデータブロック群を
逆方向に辿り、最終的に、前進行程の最初のデータブロ
ック内の移動データに基づいた命令を実行した時点で後
退行程を完了させることを特徴とする。To achieve the above object, the present invention provides movement data for instructing the position of an operating part of a robot, and a function command or the functional command for instructing in which state the operating part of the robot is. When performing the robot's backward stroke by using a data block group for the robot's forward stroke, which consists of multiple consecutive data blocks consisting of function data including data that means that there is no If not, the second data profile immediately before the first data profile is
, and if there is a first functional instruction in the first data block, the instruction is executed based on the movement data in the first data block.
It is determined whether a second function command in a data block near the data block matches the first function command, and if the first function command and the second function command match, the state of the operating part of the robot is determined. execute an instruction based on the movement data in the second data block without changing the second data block, and if the first functional instruction and the second functional instruction do not match, execute the second functional instruction after executing the second functional instruction. The instructions based on the movement data in the data block are executed, and the above control is repeated sequentially to trace the data block group for the forward process in the reverse direction, and finally, the data blocks in the first data block of the forward process are The present invention is characterized in that the backward stroke is completed at the time when the command based on the movement data of is executed.
次に、本発明に係るロボットの制御方法について好適な
実施例を挙げ、添付の図面を参照しながら以下詳細に説
明する。Next, preferred embodiments of the robot control method according to the present invention will be described in detail with reference to the accompanying drawings.
第3図のフローチャートはロボットのハンドの位置およ
び開閉に関するデータブロック群に対して本発明方法を
実施するためにコンピュータにプログラミングされるサ
ブルーチンの基本的な流れを示すものである。そこで、
前記第3図のフローチャートに沿って次に説明する。The flowchart of FIG. 3 shows the basic flow of subroutines programmed into a computer to carry out the method of the present invention on data blocks relating to the position and opening/closing of the robot's hand. Therefore,
Next, the process will be explained along the flowchart shown in FIG. 3.
データブロックXから後退行程を開始する場合、先ず、
X−1であるか否かを判断する(STPa)。但し、こ
の場合のXはデータブロックの番号を意味する。すなわ
ち、ステップaによってデータブロックXが前進行程の
最初のデータであるか否かが確認される。ステップaに
おいてX=1でない場合はデータブロックXに開閉命令
があるか否かを判断する(STPb)。When starting the backward stroke from data block X, first,
It is determined whether or not it is X-1 (STPa). However, in this case, X means the data block number. That is, in step a, it is determined whether data block X is the first data in the forward process. If X is not 1 in step a, it is determined whether there is an open/close command in data block X (STPb).
そこで、データブロックXに開閉命令がない場合は後述
するステップiを実行する。Therefore, if there is no open/close command for data block X, step i, which will be described later, is executed.
一方、データブロックXに開閉命令が存在すれば、デー
タブロックXの開閉命令をコンピュータ内の第1のレジ
スタに読み込む(STPc)。On the other hand, if an open/close command exists in data block X, the open/close command for data block X is read into a first register in the computer (STPc).
次に、Y−Xとして(STPd)、前記チータブロック
Xの直前のデータブロック、すなわち、データブロック
(Y−1)に開閉命令があるか否かを判断する(STP
e)。ステップeにおいて、データブロック(Y−1)
に開閉命令が存在する場合、そのデータブロック(Y−
1)の開閉命令を第2のレジスタに読み込む(STPf
)。そこで、前記ステップCにより第2レジスタに読み
込まれた開閉命令とステップfにより第2レジスタに読
み込まれた開閉命令とが一致するか否かを判断する(S
TPg)。ステップgにおいて比較される二つの開閉命
令が一致しない場合、第2レジスタの開閉命令を出力す
る(STPh)。Next, as Y-X (STPd), it is determined whether the data block immediately before the cheater block X, that is, the data block (Y-1), has an open/close command (STP
e). In step e, data block (Y-1)
If there is an open/close command in that data block (Y-
1) Read the open/close command into the second register (STPf
). Therefore, it is determined whether the open/close command read into the second register in step C matches the open/close command read into the second register in step f (S
TPg). If the two opening/closing instructions compared in step g do not match, the opening/closing instruction for the second register is output (STPh).
すなわち、このステップhによってハンドが開閉する。That is, the hand opens and closes in step h.
次いで、この時点まで前記チータブロックXの移動デー
タの位置にあるハンドをデータブロックX直前のデータ
ブロックの移動データに対応した位置まで移動させるた
めに、データブロック(X−1)の移動データを出力す
る(STPi)。すなわち、このステップiによりハン
ドは一つ前の位置まで移動する。なお、ステップgにお
いて比較される二つの開閉命令が一致する場合は、ステ
ップgに続いてステップiを実行する。また、ステップ
eにおいてデータブロック(Y−1)に開閉命令がない
場合はY−1−1であるか否かが判断される(STPj
)。Next, in order to move the hand that has been at the position of the movement data of the cheetah block X up to this point to the position corresponding to the movement data of the data block immediately before data block (STPi). That is, step i moves the hand to the previous position. Note that if the two opening/closing commands compared in step g match, step i is executed following step g. Furthermore, if there is no open/close command in the data block (Y-1) in step e, it is determined whether the data block (Y-1) is Y-1-1 (STPj
).
ステップjにおいてY−1=1でない場合は、前記デー
タブロック(Y−1)の直前のデータブロックに開閉命
令があるか否かを調べるために、Y=Y−1として(S
TPk)、ステップeから再び実行する。すなわち、デ
ータブロックXの直前のデータブロックに開閉命令がな
い場合は、ステップeにおいて開閉命令が存在すると判
断されるまでデータブロック群を前進行程の逆方向へと
次々に調べて行く。ステップiに続いては前記データブ
ロック(X−1)からの後退行程を継続させるために、
X=X−1としく5TPl)、ステップaから再び実行
する。そして、最終的にステップaにおいてX=1とな
った場合は後退行程が完了する。If Y-1 is not 1 in step j, then (S
TPk), execute again from step e. That is, if there is no opening/closing command in the data block immediately before data block X, the data blocks are examined one after another in the reverse direction of the forward movement until it is determined in step e that an opening/closing command exists. Following step i, in order to continue the backward process from the data block (X-1),
X=X-1 (5TPl), and execute again from step a. Then, when X=1 is finally reached in step a, the backward stroke is completed.
本発明に係るロボットの制御方法は基本的には以上のよ
うな手順に従って実施されるものである。次に、このロ
ボットの制御方法を第1図のデータブロック群に用いる
ことによって実行されるデータブロック7からの後退行
程を説明する。なお、次に説明する後退行程を第2図に
おいては第2後退行程として示している。The robot control method according to the present invention is basically carried out according to the steps described above. Next, a backward stroke from the data block 7 executed by applying this robot control method to the data block group shown in FIG. 1 will be explained. Note that the backward stroke to be described next is shown as a second backward stroke in FIG.
この場合、前進行程の最終位置である位置Gにおいて、
ハンドは開いている。先ず、X−7であるため、ステッ
プaに続いてステップbを実行する。データブロック7
には開閉命令がないため、ステップbの判断結果はNO
であり、ステップiが実行される。すなわち、ハンドの
開状態は維持されたままデータブロック6の位置Fまで
ハンドが移動する。ステップiに続いてはステップlに
よりX−6が設定され、再びステップa、ステップbを
実行する。データブロック6には開閉命令があるためス
テップbの判断結果はYESであり、ステップCによっ
てデータブロック6のハンド開を指示するデータが第ル
ジスタに読み込まれる。次に、ステップdを経て、ステ
ップeによりデータブロック5に開閉命令があるか否か
が判断され、この判断結果はYESであるためステップ
fを実行する。すなわち、データブロック5のハンド閉
を指示するデータを第2レジスタに読み込む。そして、
ステップgにおいてデータブロック6の開閉命令とデー
タブロック5の開閉命令が一致するか否かが判断され、
この判断結果はNoとなる。従って、ステップhにより
データブロック5のハンド閉命令が出力され、ハンドは
位置Fにおいて閉じる。その次に、ステップiによりデ
ータブロック5の位置Eまでハンドが移動する。さらに
、ステップlによりX−5が設定され、ステップa、ス
テップbが実行される。In this case, at position G, which is the final position of the forward movement,
Hands are open. First, since it is X-7, step b is executed following step a. data block 7
Since there is no opening/closing command, the judgment result in step b is NO.
and step i is executed. That is, the hand moves to position F of data block 6 while maintaining the open state of the hand. Following step i, X-6 is set in step l, and steps a and b are executed again. Since data block 6 has an opening/closing command, the determination result in step b is YES, and in step C, data instructing to open the hand of data block 6 is read into the first register. Next, through step d, it is determined in step e whether or not there is an open/close command in the data block 5. Since the result of this determination is YES, step f is executed. That is, the data instructing hand closure in data block 5 is read into the second register. and,
In step g, it is determined whether the open/close command for data block 6 and the open/close command for data block 5 match;
The result of this determination is No. Therefore, step h outputs the hand close command of data block 5, and the hand closes at position F. Next, the hand moves to position E of data block 5 in step i. Furthermore, X-5 is set in step 1, and steps a and b are executed.
データブロック5には開閉命令があるため、ステップb
の判断結果はYESであり、ステップCによってデータ
ブロック5のハンド閉命令が第ルジスタに読み込まれる
。さらに、データブロック4に開閉命令があるためステ
ップeの判断結果はYESであり、ステップfによって
データブロック4のハンド閉命令が第2レジスタに読み
込まれる。そこで、ステップgによりデータブロック5
とデータブロック4の開閉命令が一致するか否かが判断
され、この判断結果はYESである。従って、前記ステ
ップgに続いてはステップiが実行される。すなわち、
位置Eから位置りまでハンドは閉状態のまま移動する。Since data block 5 has an open/close command, step b
The result of the determination is YES, and in step C, the hand close command of data block 5 is read into the first register. Further, since data block 4 has an open/close command, the determination result in step e is YES, and step f reads the hand close command in data block 4 into the second register. Therefore, in step g, data block 5 is
It is determined whether the opening/closing command of the data block 4 matches or not, and the result of this determination is YES. Therefore, following step g, step i is executed. That is,
The hand moves from position E to position while remaining closed.
この後、ステップlおよびステップaを経て実行される
ステップbではデータブロック4に開閉命令があるため
判断結果はYESとなり、ステップCが実行される。こ
のため、第ルジスタにデータブロック4のハンド閉命令
が読み込まれる。ステップeではデータブロック3に開
閉命令があるか否かが判断され、この結果はNOである
。そして、これに続(ステップjの判断結果はNOであ
るため、ステップkを経たステップeによりデータブロ
ック2に開閉命令があることが判別される。従って、ス
テップfによってデータブロック2のハンド閉命令が第
2レジスタに読み込まれる。これに続いて、ステップg
ではデータブロック4とデータブロック2の開閉命令が
一致しないことが判別される0次いで、ステップhによ
りデータブロック2のハンド閉命令が実行され、ハンド
は位置りにおいて開く、さらに、ステップlによりデー
タブロック3の位置Cまでハンドが移動する。Thereafter, in step b, which is executed through steps l and a, the determination result is YES because there is an open/close command in data block 4, and step C is executed. Therefore, the hand close command of data block 4 is read into the first register. In step e, it is determined whether there is an open/close command in data block 3, and the result is NO. Subsequently, since the determination result in step j is NO, it is determined in step e that passes through step k that there is an open/close command in data block 2. Therefore, in step f, the hand close command for data block 2 is determined. is read into the second register. Following this, step g
Then, it is determined that the opening/closing commands of data block 4 and data block 2 do not match. Then, in step h, the hand closing command of data block 2 is executed, and the hand is opened at the position, and further, in step l, the data block is closed. The hand moves to position C of 3.
その次に、ステップβ、ステップaを経た後のステップ
bではデータブロック3に開閉命令がないことが判別さ
れる。この結果、開状態のハンドはステップiによって
位置Cから位置Bへ移動する。さらにまた、ステップ!
、ステップaを経た後、データブロック2に開閉命令が
あるためステップbに続いてステップCが実行される。Next, in step b after passing through step β and step a, it is determined that there is no open/close command in the data block 3. As a result, the open hand moves from position C to position B by step i. Yet another step!
, after step a, step C is executed following step b because there is an open/close command in data block 2.
すなわち、第ルジスタにデータブロック2のハンド閉命
令が読み込まれる。ステップeではデータブロック1に
開閉命令があることが検知される。この次に、ステップ
fによってデータブロック1のハンド閉命令が第2レジ
スタに読み込まれる。そこで、ステップgによってデー
タブロック2とデータブロックlの開閉命令が一致しな
いことが検知される。そして、ステップhによりデータ
ブロックlのハンド閉命令が実行されるため位置Bでハ
ンドは閉じる。That is, the hand close command of data block 2 is read into the first register. In step e, it is detected that data block 1 has an open/close command. Next, step f reads the hand close instruction of data block 1 into the second register. Therefore, in step g, it is detected that the opening/closing commands of data block 2 and data block 1 do not match. Then, in step h, the hand close command of data block l is executed, so the hand is closed at position B.
さらに、ステップiが実行されることによりデータブロ
ック1の位置Aまでハンドが移動する。Furthermore, by executing step i, the hand moves to position A of data block 1.
次いで、ステップ2によりX−1となるためステップa
の判断結果はYESであり後退行程が完了する。以上の
説明からこの後退行程が第2図に示す第2後退行程であ
ることは容易に諒解されよう。Next, step 2 becomes X-1, so step a
The judgment result is YES and the backward stroke is completed. From the above explanation, it will be easily understood that this backward stroke is the second backward stroke shown in FIG.
従って、本発明方法を適用した後退行程におけるハンド
の動作は前進行程の動作過程に沿ったものになる。なお
、以上に説明した後退行程はデータブロック7から開始
したが、任意のデータブロックから開始しても所望の後
退行程が得られることは勿論である。Therefore, the movement of the hand in the backward stroke to which the method of the present invention is applied follows the movement process in the forward stroke. Although the backward stroke explained above starts from data block 7, it goes without saying that a desired backward stroke can be obtained even if it starts from any data block.
ところで、以上はロボットのハンドの位置および開閉に
関する第1図のデータブロック群に第3図に示すフロー
チャートに基づいた制御方法を適用した場合の説明であ
るが、第3図のフローチャートにおいて、「開閉命令」
をロボットの状態を違旨示するための所定の機能命令に
代替すれば、当1亥フローチャートをロボットの種々の
状態変化に関するデータブロック群に用いることが可能
となる。By the way, the above is an explanation of the case where the control method based on the flowchart shown in Fig. 3 is applied to the data block group of Fig. 1 regarding the position and opening/closing of the robot hand. order"
If this flowchart is replaced with a predetermined function command for indicating an incorrect state of the robot, this flowchart can be used for a group of data blocks related to various changes in the state of the robot.
従って、本発明に係るロボットの制御方法は第1図に示
すデータブロック群と基本的に同様な構成のデータブロ
ック群に対しても適用出来る。すなわち、ロボットの作
動部の位置を指示するための移動データと、ロボットの
二値的状態のいずれかの状態を指示するための機能命令
または前記機能命令がないことを意味するデータを含む
機能データとからなるデータブロックが複数連続するロ
ボットの前進行程用のデータブロック群に当該制御方法
を適用すれば、前進行程における状態の変化プロセスを
逆方向に履行した後退行程を達成することが可能である
。Therefore, the robot control method according to the present invention can also be applied to a data block group having basically the same configuration as the data block group shown in FIG. That is, movement data for instructing the position of the actuating part of the robot, and functional data including a functional command for instructing one of the binary states of the robot or data indicating the absence of the functional command. If this control method is applied to a group of data blocks for the forward stroke of a robot, which consists of a plurality of consecutive data blocks, it is possible to achieve a backward stroke in which the state change process in the forward stroke is performed in the opposite direction. .
なお、ロボットのハンド以外の作動部について前記のよ
うなデータブロック群を用いた場合もその前進行程と後
退行程の動作過程が異なる場合がある。例えば、生産ラ
イン上の2台のロボットが接近配置され、夫々のロボッ
トの作業空間が重なる干渉領域がある場合、その干渉領
域に2台のロボットが同じ時間内に移行すればこれらの
ロボットが衝突して破損するため、同じ時間内に2台の
ロボットが前記干渉領域に移行しないようにインターロ
ック用の許可信号が用いられる。本発明方法はこのイン
ターロック用の許可信号の読み出しの際にも用いられ、
従って、ロボット相互間の干渉による衝突事故を回避す
る場合にも用いることが可能であることは謂うまでもな
い。Note that even when the above-described data block group is used for an operating part other than the robot's hand, the operating process of the forward stroke and backward stroke may be different. For example, if two robots on a production line are placed close to each other and there is an interference area where the work spaces of each robot overlap, if the two robots move into the interference area within the same time, the robots will collide. Therefore, an interlock permission signal is used to prevent two robots from moving into the interference area within the same time period. The method of the present invention is also used when reading the permission signal for this interlock,
Therefore, it goes without saying that it can also be used to avoid collisions caused by interference between robots.
本発明によれば以上のように、後退行程におけるロボッ
トの状態を指示する機能命令を前進行程用のデータブロ
ック群から先取りしながら決定しており、結果的に、前
進行程におけるロボットの変化プロセスを辿る後退行程
を実現することが可能となる。すなわち、前進行程用の
データブロック群を利用して前進行程に沿った後退行程
を行うことが出来るため、後退行程用のデータブロック
群を作成する必要がないという効果が得られる。According to the present invention, as described above, the functional command that instructs the state of the robot in the backward stroke is determined while looking ahead from the data block group for the forward stroke, and as a result, the change process of the robot in the forward stroke is determined. It becomes possible to realize a backward stroke. That is, since the backward stroke along the forward stroke can be performed using the data block group for the forward stroke, there is an advantage that there is no need to create a data block group for the backward stroke.
以上、本発明について好適な実施例を挙げて説明したが
、本発明はこの実施例に限定されるものではな(、本発
明の要旨を逸脱しない範囲において種々の改良並びに設
計の変更が可能なことは勿論である。Although the present invention has been described above with reference to preferred embodiments, the present invention is not limited to these embodiments (various improvements and changes in design are possible without departing from the gist of the present invention). Of course.
第1図はロボットのハンドの前進行程を行うためのデー
タブロック群の構成図、第2図は第1図に示すデータブ
ロック群に基づいた前進行程および後退行程におけるハ
ンドの動作過程の説明図、第3図は本発明に係るロボッ
トの制御方法を実施するためのサブルーチンを示すフロ
ーチャートである。FIG. 1 is a configuration diagram of a data block group for performing a forward stroke of the robot's hand, FIG. 2 is an explanatory diagram of the operation process of the hand in the forward stroke and backward stroke based on the data block group shown in FIG. 1, FIG. 3 is a flowchart showing a subroutine for implementing the robot control method according to the present invention.
Claims (2)
ータと、前記ロボットの作動部がいずれの状態にあるか
を指示するための機能命令または前記機能命令がないこ
とを意味するデータを含む機能データとからなるデータ
ブロックが複数連続するロボットの前進行程用のデータ
ブロック群を用いることによりロボットの後退行程を行
う際、第1のデータブロックに機能命令がない場合はロ
ボットの作動部の状態を変更することなく前記第1デー
タブロック直前の第2のデータブロック内の移動データ
に基づいた命令を実行し、一方、前記第1データブロッ
クに第1の機能命令がある場合は第1データブロックよ
り前でしかも最も第1データブロックに近いデータブロ
ックにある第2の機能命令が前記第1機能命令と一致す
るか否かを判断し、第1機能命令と第2機能命令とが一
致する場合はロボットの作動部の状態を変更することな
く前記第2データブロック内の移動データに基づいた命
令を実行し、また、第1機能命令と第2機能命令とが一
致しない場合は第2機能命令を実行した後に前記第2デ
ータブロック内の移動データに基づいた命令を実行し、
以上のような制御を順次繰り返すようにして前進行程用
のデータブロック群を逆方向に辿り、最終的に、前進行
程の最初のデータブロック内の移動データに基づいた命
令を実行した時点で後退行程を完了させることを特徴と
するロボットの制御方法。(1) Contains movement data for instructing the position of the actuating part of the robot, and a function command for instructing which state the actuating part of the robot is in, or data meaning that there is no said functional command. When performing a backward stroke of the robot by using a data block group for the forward stroke of the robot, which consists of multiple consecutive data blocks consisting of function data, if there is no function command in the first data block, the state of the operating part of the robot execute an instruction based on the moving data in a second data block immediately before the first data block without changing the first data block; Determine whether a second functional instruction in a data block that is earlier and closest to the first data block matches the first functional instruction, and if the first functional instruction and the second functional instruction match. executes the command based on the movement data in the second data block without changing the state of the operating part of the robot, and if the first function command and the second function command do not match, the second function command after executing an instruction based on the moving data in the second data block,
By sequentially repeating the above control, the data block group for the forward stroke is traced in the reverse direction, and finally, when the command based on the movement data in the first data block of the forward stroke is executed, the backward stroke is started. A robot control method characterized by completing the following steps.
データはロボットのハンドの位置を指示するためのデー
タであると共に、機能データは前記ハンドの開閉状態を
指示するための開閉命令または開閉命令なしを意味する
データからなり、前進行程用のデータブロック群内の第
1のデータブロックに開閉命令がない場合はハンドの開
閉状態を変更することなく前記第1データブロック直前
の第2のデータブロック内の移動データによって指示さ
れる位置までハンドを移動し、一方、前記第1データブ
ロックに第1の開閉命令がある場合は第1データブロッ
クより前でしかも第1データブロックに最も近いデータ
ブロックにある第2の開閉命令が前記第1開閉命令と一
致するか否かを判断し、第1開閉命令と第2開閉命令と
が一致する場合はハンドの開閉状態を変更することなく
前記第2データブロック内の移動データによって指示さ
れる位置までハンドを移動し、また、第1開閉命令と第
2開閉命令とが一致しない場合は第2開閉命令を実行し
た後に前記第2データブロック内の移動データによって
指示される位置までハンドを移動し、さらに、以上のよ
うな制御を順次繰り返すように前進行程用のデータブロ
ック群を逆方向に辿り、最終的にハンドが前進行程のス
タート位置に戻った時点で後退行程を完了させることか
らなるロボットの制御方法。(2) In the method according to claim 1, the movement data is data for instructing the position of the hand of the robot, and the function data is an open/close command or an open/close command for instructing the open/close state of the hand. It consists of data that means no command, and if there is no opening/closing command in the first data block in the data block group for the forward process, the second data immediately before the first data block is read without changing the opening/closing state of the hand. Move the hand to the position indicated by the movement data within the block, and on the other hand, if the first data block has a first open/close command, the data block is located before the first data block and is closest to the first data block. It is determined whether or not the second opening/closing command located in Move the hand to the position indicated by the movement data in the data block, and if the first opening/closing command and the second opening/closing command do not match, move the hand within the second data block after executing the second opening/closing command. The hand is moved to the position specified by the data, and the data blocks for the forward process are followed in the reverse direction, repeating the above control sequentially, and finally the hand returns to the starting position of the forward process. A method of controlling a robot comprising completing a backward stroke at a point in time.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP21175885A JPS6272005A (en) | 1985-09-25 | 1985-09-25 | Control method for robot |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP21175885A JPS6272005A (en) | 1985-09-25 | 1985-09-25 | Control method for robot |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS6272005A true JPS6272005A (en) | 1987-04-02 |
Family
ID=16611089
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP21175885A Pending JPS6272005A (en) | 1985-09-25 | 1985-09-25 | Control method for robot |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6272005A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6425208A (en) * | 1987-07-21 | 1989-01-27 | Fanuc Ltd | Numerical controller |
-
1985
- 1985-09-25 JP JP21175885A patent/JPS6272005A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6425208A (en) * | 1987-07-21 | 1989-01-27 | Fanuc Ltd | Numerical controller |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5988855A (en) | Operating method for a working area comprising a robot enslaved to a bending press for working metal sheets | |
| JPS63216689A (en) | automatic work equipment | |
| EP0785490B1 (en) | Method for controlling robot | |
| JP3168682B2 (en) | Numerical control unit | |
| US4912383A (en) | Method of controlling a robot | |
| US12377543B2 (en) | Path planning during execution of robot control | |
| EP0086848A1 (en) | Robot operation teaching method | |
| WO2021153521A1 (en) | Control program generation device, control program generation method, and program | |
| JPS6272005A (en) | Control method for robot | |
| Tso et al. | Automatic generation of robot program codes from perception of human demonstration | |
| JP2000127070A (en) | Controlling method for robot hand | |
| JP2000052284A (en) | Robot motion support system and control method thereof | |
| JPH01209503A (en) | Axis control system of programmable controller | |
| JP2554968B2 (en) | Article transfer method by multiple robots | |
| JPH0736532A (en) | Teaching data creation method for industrial robots | |
| JPH03198107A (en) | Control method for industrial robot | |
| JPH0264713A (en) | automatic work equipment | |
| JPH074139Y2 (en) | Robot controller | |
| JPS59170907A (en) | Instructing method of group robots | |
| JPH07234715A (en) | Robot controller | |
| JP2002006918A (en) | Apparatus and method for controlling a robot | |
| JPS62192807A (en) | Robot control system | |
| JPS62154005A (en) | Programmable controller | |
| JPH0326481A (en) | Control device for industrial robot | |
| JPH06259120A (en) | Robot controller |