WO2021230136A1 - ロボット制御装置 - Google Patents

ロボット制御装置 Download PDF

Info

Publication number
WO2021230136A1
WO2021230136A1 PCT/JP2021/017391 JP2021017391W WO2021230136A1 WO 2021230136 A1 WO2021230136 A1 WO 2021230136A1 JP 2021017391 W JP2021017391 W JP 2021017391W WO 2021230136 A1 WO2021230136 A1 WO 2021230136A1
Authority
WO
WIPO (PCT)
Prior art keywords
tool
control device
nozzle
robot control
processing work
Prior art date
Application number
PCT/JP2021/017391
Other languages
English (en)
French (fr)
Inventor
揚啓 柳田
Original Assignee
ファナック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ファナック株式会社 filed Critical ファナック株式会社
Priority to CN202180034077.9A priority Critical patent/CN115515760A/zh
Priority to US17/907,167 priority patent/US20230094555A1/en
Priority to DE112021001923.6T priority patent/DE112021001923T5/de
Priority to JP2022521862A priority patent/JP7502427B2/ja
Publication of WO2021230136A1 publication Critical patent/WO2021230136A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45065Sealing, painting robot

Definitions

  • the present disclosure relates to a robot control device that performs continuous processing work while advancing a tool attached to the tip of the robot arm, and particularly to control of restarting after interrupting continuous processing work while advancing the tool at the tip of the robot arm.
  • a robot control device that performs continuous processing work while advancing a tool attached to the tip of the robot arm, and particularly to control of restarting after interrupting continuous processing work while advancing the tool at the tip of the robot arm.
  • Application processing work such as application work by a robot is to perform application processing work that is continuous processing work while advancing the tool attached to the tip of the robot arm, but if any error occurs, first, the application The processing work is interrupted, and then the tool attached to the tip of the robot arm decelerates while the application processing work is interrupted, progresses for a certain distance, and then stops. If the application processing work is restarted from the stop position after clearing the cause of the error, the distance traveled by decelerating while the application processing work is interrupted becomes the part (gap) where the application processing is interrupted, causing quality problems. ..
  • the processing amount per unit distance (for example, the coating amount in the coating work). ) Becomes excessive, which also causes a problem in the quality of processing.
  • Patent Document 1 describes the distance traveled by decelerating in a state where the application processing work is interrupted before the application processing work is restarted, and attached to the tip of the robot arm when the application processing work is restarted.
  • the tool attached to the tip of the robot arm is retracted linearly by the distance required for acceleration required for the speed of the tool to reach the speed specified in the program, and the tool advances from that point. It is described that when the operation is restarted and accelerated to reach the speed specified by the program at the interruption point of the application processing work, the application processing work is restarted from that point.
  • Patent Document 1 it is possible to avoid the problem of the occurrence of a portion (gap) where the application processing is interrupted and the excessive processing when the application processing work is restarted.
  • Patent Document 1 assumes that the tool attached to the tip of the robot arm travels linearly, and does not correspond to a tool that travels on a curved trajectory.
  • the robot control device of the present disclosure is a robot control device that performs continuous processing work while advancing a tool attached to the tip of the robot arm at a desired speed along a desired curved trajectory by a program.
  • a storage unit that stores the progress speed of the tool at the position of interruption, and the tool restarts the continuous processing while progressing at the position and speed of interruption of the continuous processing work stored in the storage unit.
  • the robot reverses by a predetermined distance along the curve trajectory during the forward movement before the tool stops, and restarts the forward movement along the curved trajectory from the retrograde position. It is equipped with a processing unit that creates a command signal to be given to.
  • the robot control device of the present disclosure it is possible to avoid the possibility of colliding with an obstacle when the application processing work is interrupted due to an error when the tool attached to the tip of the robot arm travels on the trajectory of a curve.
  • FIG. 1 is a configuration diagram of a robot system common to each embodiment of the present disclosure.
  • the robot 10 shown in FIG. 1 is an articulated robot having an articulated arm 11 such as a 6-axis vertical articulated robot or a 4-axis articulated robot.
  • a nozzle 12 (tool) for applying paint to the work 30 is attached to the tip of the arm 11.
  • the robot control device 20 controls a servomotor 14 (FIG.
  • the teaching position information of the nozzle 12 but also the information necessary for application processing such as the movement speed of the nozzle 12, the operation type (movement type such as a straight line, an arc or a spline curve), the paint discharge position, and the discharge flow rate are described. Will be done.
  • FIG. 2 is a block diagram showing a signal exchange relationship between the robot control device 20 and the robot 10, between each unit of the robot control device 20, and between each member of the robot 10 during robot control.
  • the robot control device 20 includes a processing unit (CPU) 21 composed of a microcomputer or the like, a storage unit 22 including memory members such as ROM and RAM, and a transmission / reception unit 23 for transmitting / receiving signals to / from the robot 10.
  • the robot 10 includes a transmission / reception device 13 for transmitting / receiving signals to / from the robot control device, and a plurality of servomotors 14-1 and 14-2 built in each joint of the arm for moving the arm. .... 14-n and a nozzle position / speed detection unit that detects a nozzle position / moving speed by receiving a signal from a servomotor are provided.
  • the storage unit 22 of the robot control device 20 stores user programs for applying while the nozzle 12 of the robot 10 draws a desired trajectory and moves, and teaching data such as the position and progress speed of the tool.
  • the processing unit CPU
  • a command signal for 14-n is created, and a command signal is given to each of the servomotors 14-1, 14-2 ... 14-n through the transmission / reception unit 23 and the transmission / reception device 13.
  • a plurality of servomotors 14-1, 14-2 ... 14-n are rotated according to a command signal received from the robot control device 20, and each serve motor 14-1, 14-2 ...
  • the position / movement speed data of the nozzle 12 for each specific cycle is detected from the actual rotation speed and rotation speed data of each servomotor detected in the specific cycle in 14-n.
  • the detected data is sent to the robot control device 20 via the transmission / reception device 13 and the transmission / reception unit 23, and is stored in the storage unit 22 as data of the nozzle position / movement speed for each specific cycle. In some cases, the detected data is stored in the storage unit 22. It is used in the direct processing unit (CPU) 21 for processing to create a command signal.
  • CPU direct processing unit
  • the method of detecting the nozzle position / moving speed is not a matter related to the essence of the present disclosure, and in the present embodiment, the nozzle position / moving speed is determined from the actual rotation speed and rotation speed data of each servomotor. Although it is decided to detect it, for example, it may be obtained from the data detected by a nozzle detection device (camera or the like) placed in a specific place.
  • FIG. 3 when the coating work is performed on the work 30 by the nozzle 12 along the curved locus S, an error occurs in the robot 10, the coating work is interrupted at the point P, and the nozzle 12 stops at the point Q.
  • the situation is depicted.
  • the point R indicates a point where the nozzle 12 stopped at the point Q should return in order to carry out the present disclosure.
  • a convex portion is provided on the work 30 which collides with the work 30 when the nozzle 12 directly returns from the point Q to the point R and becomes an obstacle.
  • the coating work is interrupted and to follow the locus to return, and further, the coating work is interrupted by accelerating from the start of movement of the nozzle 12.
  • the curve locus S is traced back to the point R where the necessary and sufficient distance can be secured to reach the movement speed taught at the point P, the movement of the nozzle 12 is restarted from the point R, and the teaching is performed from the time when the point P is reached.
  • the coating is started at the moving speed of the nozzle as it was done. As a result, as shown in FIG. 5, the coating operation can be efficiently continued without causing the problems of the gap and excessive coating that have occurred in FIG. 4.
  • step ST1 the interruption of the coating work is detected due to an error in the robot or the like. If the interruption of the coating work is not detected (NO in step ST1), wait until the interruption of the coating work is detected. If the interruption of the coating work is detected (YES in step ST1), the robot control device 20 stores the point P at the point where the coating work is interrupted (step ST2).
  • step ST3 it is determined whether or not the nozzle movement stop is detected. If the nozzle movement stop is not detected (NO in step ST3), wait until the nozzle movement stop is detected. If the stop of nozzle movement is detected (YES in step ST3), then the point R where the nozzle follows the curve locus S and resumes movement after returning and stopping is obtained (step ST4).
  • step ST5 After that, follow the movement trajectory of the nozzle and return to the point R (step ST5).
  • step ST6 it is possible to prevent the nozzle from colliding with an obstacle by following the movement locus of the nozzle and returning to the point R instead of directly returning to the point R obtained in step ST4.
  • step ST6 it is determined whether or not the nozzle has reached the point R (step ST6). If the nozzle has not reached the point R (NO in step ST6), wait until the nozzle reaches the point R. If the nozzle reaches the point R (YES in step ST6), then the nozzle is temporarily stopped and then the movement in the forward direction is restarted (step ST7).
  • step ST8 it is determined whether or not the nozzle has reached the point P, which is the interruption point of the coating work. If the nozzle has not reached the point P (NO in step ST8), wait until the nozzle reaches the point P. When the nozzle reaches the point P (YES in step ST8), the coating work as instructed by the user program is restarted from that point, and then the user program of the coating work including the movement of the nozzle is continuously executed. (Step ST9), this flow ends.
  • position data at least XYZ position data in the three-dimensional space and ⁇ attitude data (Euler angle data)
  • the value and additional axis data if any are stored in the ring buffer area.
  • position data of the nozzle 12 is stored in the ring buffer area, only the number of position data that fits in the limited capacity can be stored, and when the capacity required for storing the position data exceeds the storage capacity of the ring buffer area, it becomes old.
  • the (earliest) position data is erased in order, and new position data can be stored.
  • the interval (cycle) for storing the position data of the nozzle 12 secures the cycle necessary for suppressing the deviation distance from the original curve locus S within the limit.
  • a method of securing the period required to keep the deviation distance from the original curve locus S within the limit a method of storing position data at regular intervals (for example, every several cm) and as shown in FIG. , The distance from the straight line connecting the two recording points (recording point 1 and recording point 2) of the latest data of the tool position data stored immediately before and the next new data to the current position of the nozzle 12 is the specific distance D.
  • the method of storing the position data of the nozzle 12 or a combination of both can be used.
  • the stored position data By storing the position data during the forward movement of the nozzle 12 in the ring buffer area, the stored position data is limited, and the limited position data causes the nozzle 12 to accurately reverse by a predetermined distance. Since the number of position data is sufficient to be used, it is possible to grasp the curve trajectory for retrograde without requiring a large amount of storage capacity.
  • plan data calculated (planned) to generate a connecting curve (this data can be a straight line, an arc, a spline curve, etc., but here we describe the parameters or
  • plan data can be a straight line, an arc, a spline curve, etc., but here we describe the parameters or
  • the nozzle 12 moves while storing the set of data (referred to as "plan data") in the storage unit 22 of the robot control device 20.
  • a certain area is provided to store the plan data, but when there is no free space to store the new plan data, the old plan data is deleted and the new one is stored. The size of the area should be large enough to reverse the required distance.
  • the backward movement of the nozzle 12 is performed by reversing the movement locus (the movement locus of the nozzle calculated at the time of forward movement) based on the plan data stored during the forward movement of the nozzle 12, so that the original curve.
  • the deviation from the locus S can be minimized.
  • the nozzle 12 is retracted by using the teaching position data in the user program of the nozzle 12 when the nozzle 12 moves on the curve locus S by the user program. Since the line number and teaching position being executed when the execution of the user program is interrupted are known, it is possible to go back in the user program and search for some teaching instructions (teaching positions) before the line currently being executed. Starting from the current stop position of the nozzle 12, a curve that smoothly connects those teaching positions in the backward direction is retrogradely returned along the newly calculated (planned) curve. Unlike the first and second embodiments, the third embodiment does not need to store the position locus of the nozzle 12 in the storage area during the forward execution, and does not require extra control processing for the position memory during the forward execution. , The effect of calculation time on the entire system can be reduced.
  • any of the first to third embodiments it is very important to accurately align the position of restarting the coating work with the position where the coating work is interrupted (point P) in carrying out the present disclosure. Therefore, in the present disclosure, the position (point P) at which the coating work is interrupted when an error occurs in a robot or the like is accurately detected, and the timing of restarting the coating work after restarting the forward movement of the nozzle 12 is finely adjusted.
  • the position where the coating work is restarted can be finely adjusted back and forth, and the position where the coating work is restarted can be precisely aligned with the position where the coating work is interrupted (point P). To do so, do the following.
  • the position on the curve locus closest to the point P is found in advance before the retrograde motion starts. Set it as a point P'. Since the retrograde operation calculates the position of the nozzle 12 on the curved locus every moment, the coating operation is restarted at the moment when the position passes the point P'. Fine-tuning the position of resuming the coating work back and forth is nothing but shifting the position of the point P'back and forth by the required distance along the curved locus. Fine adjustment is performed internally by moving the point P'at a distance along the curve trajectory, but when presenting this to the operator, it should be displayed as "distance" or "time". Is possible (because distance ⁇ speed ⁇ time).
  • any of the first to third embodiments it is necessary to prevent the coated paint of the curve locus S from being damaged by the contact with the tip of the nozzle 12 during the retrograde operation of the nozzle 12. Therefore, in the present disclosure, when the nozzle 12 starts the retrograde movement, the height position of the nozzle 12 is finely adjusted up and down, and when the nozzle 12 reverses the required predetermined distance and then restarts the forward movement, the original height is reached. I made it possible to return to the teaching position. This makes it possible to avoid contact between the tip of the nozzle 12 and the applied paint of the curve locus S. To do so, do the following.
  • the tip point (TCP: ToolCenterPoint) of the nozzle 12 is represented by a three-dimensional (or six-dimensional) position from the tool mounting surface of the arm 11, but it is necessary for the Z value of the TCP position only in the case of retrograde operation.
  • the present invention is not limited to these embodiments and can be implemented in various embodiments without departing from the spirit of the present invention.
  • the content of continuous treatment work is not limited to the application of paint, but also includes the application of adhesives and sealing materials, and is further applied to various surface treatments, pressing / injection work, plasma irradiation, and laser welding. It is also possible.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

エラーの発生でアプリ処理作業が中断されたときに、人手によって手直しをする必要がなく、自動的に、アプリ処理が途切れた部分(ギャップ)の発生やアプリ処理作業再開時の過大処理の発生を回避できるロボット制御装置を提供することを目的とする。 アプリ理作業が中断された際に、中断された位置からさらに作業部位が前進した後に停止した場合に、前記作業部位が、停止する前の前進動作時の曲線軌跡に沿って所定の距離だけ逆行し、当該逆行した位置から、曲線軌跡に沿って前進する前進動作を再開することにより、前記作業部位は前記連続処理作業が中断された位置において、前記アプリ作業が中断された時点と同じ速度で進行しながら前記連続処理を再開することができるようにした。

Description

ロボット制御装置
 本開示は、ロボットアーム先端に取り付けられたツールを進行させながら連続処理作業を行うロボット制御装置に関し、特に、ロボットアーム先端のツールを進行させながらの連続処理作業を中断した後の再開の制御に係るロボット制御装置に関する。
 ロボットによる塗布作業などのアプリ処理作業は、ロボットアーム先端に取り付けられたツールを進行させながら連続処理作業であるアプリ処理作業を行うものであるが、何らかのエラーが発生した場合には、まず、アプリ処理作業が中断され、その後、ロボットアーム先端に取り付けられたツールはアプリ処理作業が中断された状態で減速してある距離だけ進行した後に停止する。エラーの原因を解除した後に停止位置からアプリ処理作業を再開すると、アプリ処理作業が中断された状態で減速して進行した距離は、アプリ処理が途切れた部分(ギャップ)となり、品質に問題が生じる。さらに、ロボットアーム先端に取り付けられたツールの速度が、プログラムで指定されている速度に達する前にアプリ作業を再開することとなるため、単位距離当たりの処理量(例えば、塗布作業においては塗布量)が過大になり、この点でも処理の品質に問題を生じさせる。
 この問題を解決するため、特許文献1には、アプリ処理作業の再開前に、アプリ処理作業が中断された状態で減速して進行した距離と、アプリ処理作業の再開時にロボットアーム先端に取り付けられたツールの速度がプログラムで指定されている速度に達するのに必要な加速に要する距離を合わせた距離だけ、ロボットアーム先端に取り付けられたツールを直線的に後退させ、その地点から、ツールの進行動作を再開させ、加速してアプリ処理作業の中断地点においてプログラムで指定されている速度に達すると、その時点からアプリ処理作業を再開させることが記載されている。
米国特許第6,360,143号明細書
 特許文献1によれば、アプリ処理が途切れた部分(ギャップ)の発生や、アプリ処理作業再開時の過大処理という問題は避けることができる。しかしながら、特許文献1では、ロボットアーム先端に取り付けられたツールの進行が直線的に進行することを前提しており、曲線の軌跡上を進行するものには対応していない。
 ロボットアーム先端に取り付けられたツールが曲線の軌跡上を進行する場合には、特許文献1のようにロボットアーム先端に取り付けられたツールを直線的に後退させると、障害物に衝突する恐れがあり、直線的な後退の手法は使えない。そのため、ロボットアーム先端に取り付けられたツールが曲線の軌跡上を進行する場合にエラーの発生でアプリ処理作業が中断されたときには、後退動作をすることなくアプリ処理作業を再開せざるを得ず、アプリ処理が途切れた部分(ギャップ)の発生やアプリ処理作業再開時の過大処理を人手によって手直しする必要が生じていた。
 したがって、ロボットアーム先端に取り付けられたツールが曲線の軌跡上を進行する場合においても、エラーの発生でアプリ処理作業が中断されたときに、人手によって手直しをする必要がなく、自動的に、アプリ処理が途切れた部分(ギャップ)の発生やアプリ処理作業再開時の過大処理の発生を回避できるように制御することが求められている。
 上記の課題を解決するため、本開示のロボット制御装置は、プログラムにより所望の曲線軌跡に沿って所望の速度でロボットアーム先端に取り付けられたツールを進行させながら連続処理作業を行うロボット制御装置において、前記連続処理作業が中断された際に、前記連続処理作業の中断の位置からさらに前記ツールが減速しながら前進した後に停止した場合に、前記連続処理作業の中断の位置及び前記連続処理作業の中断の位置での前記ツールの進行速度を記憶する記憶ユニット、及び、前記ツールが、前記記憶ユニットで記憶された前記連続処理作業の中断の位置及び速度で進行しながら前記連続処理を再開することができるように、前記ツールが停止する前の前進動作時の曲線軌跡に沿って所定の距離だけ逆行し、当該逆行した位置から、前記曲線軌跡に沿って前進する前進動作を再開するためにロボットに与える指令信号を作成する処理ユニットを備える。
 本開示のロボット制御装置によれば、ロボットアーム先端に取り付けられたツールが曲線の軌跡上を進行する場合にエラーの発生でアプリ処理作業が中断されたときに、障害物に衝突する恐れを回避しつつ、アプリ処理が途切れた部分(ギャップ)の発生やアプリ処理作業再開時の過大処理を人手によって手直しする必要が生じず、効率的にアプリ処理作業を継続することができる。
本開示のロボットシステムの構成図である。 本開示のロボット制御の際の信号の授受関係を示すブロック線図である。 ワーク上での塗布中断時の曲線軌跡を示す図である。 従来における塗布作業再開後の塗布状況を示す図である。 本開示を実施した場合の塗布作業再開後の塗布状況を示す図である。 本開示における塗布作業の手順を示すフロー図である。 ノズル(ツール)の過去の位置から得られた直線と現在位置との距離を示す図である。 一連の位置データを滑らかに結ぶスプライン曲線を示すである。
 以下、本開示の実施形態について、図面を参照して、詳細に説明する。
 以下の例では塗料の塗布処理作業を産業用ロボットによるアプリ処理として例示しているが、これはあくまでも一例であって、他のアプリ処理(例えば、シール材の塗布、プラズマ照射、レーザ溶接、他)にも同技術が適用可能である。また、以下の例ではロボットアームの先端に取り付けられたツールを「ノズル」と呼んでいる。図1は、本開示の各実施形態に共通のロボットシステムの構成図である。図1に示すロボット10は、6軸垂直多関節又は4軸垂直多関節などの多関節のアーム11を有する多関節型ロボットである。アーム11の先端には、ワーク30に塗料を塗布するためのノズル12(ツール)が取り付けられている。塗布作業は、ロボット制御装置20が、ロボットアーム10のアーム11の各関節部に内蔵されるサーボモータ14(図2)を制御し、ユーザプログラム内に教示された一連の動作命令(教示位置)を滑らかに結ぶ曲線軌跡上に沿ってノズル12が所定の速度で移動するようアーム11を動作させることにより、ノズル12をワーク30上の所定の曲線軌跡に沿って所定の速度で移動させながら、ノズル12が所定の位置に達した瞬間に所定の流量の塗料を射出することにより行われる。ユーザプログラムにはノズル12の教示位置情報だけでなくノズル12の移動速度、動作形式(直線、円弧ないしはスプライン曲線などの移動形式)、塗料吐出位置、吐出流量など、アプリ処理に必要な情報が記述される。
 図2は、ロボット制御装置20とロボット10の間、並びに、ロボット制御装置20の各ユニット間及びロボット10の各部材間におけるロボット制御の際の信号の授受関係を示すブロック線図である。ロボット制御装置20は、マイクロコンピュータなどからなる処理ユニット(CPU)21、ROM,RAMなどのメモリ部材を含む記憶ユニット22,及び、ロボット10との間で信号の送受信を行う送受信ユニット23を構成要素とする。一方、ロボット10には、ロボット制御装置との間で信号の送受信を行う送受信装置13、アームを動かすためにアームの各関節部などに内蔵されている複数のサーボモータ14-1,14-2・・・・14-n、及び、サーボモータからの信号を受けてノズル位置・移動速度を検出するノズル位置・速度検出部が備えられている。
 ロボット制御装置20の記憶ユニット22には、ロボット10のノズル12が所望の軌跡を描いて移動しながら塗布を行うためのユーザプログラムや、ツールの位置・進行速度などの教示データが記憶されており、処理ユニット(CPU)は、記憶ユニット22から読み出したこれらの記憶データと、ロボット10から受け取ったフィードバックデータなどに基づいて、ロボット10の複数のサーボモータ14-1,14-2・・・・14-nに対しての指令信号を作成し、送受信ユニット23及び送受信装置13を通じて、各サーボモータ14-1,14-2・・・・14-nに指令信号を与える。
 ロボット10においては、ロボット制御装置20から受けた指令信号に従って複数のサーボモータ14-1,14-2・・・・14-nを回動させ、各サーブモータ14-1,14-2・・・・14-nにおいて特定の周期で検出した実際の各サーボモータの回転数、回転速度のデータからノズル12の特定周期ごとの位置・移動速度データを検出する。検出されたデータは、送受信装置13及び送受信ユニット23を介して、ロボット制御装置20に送られ、特定周期ごとのノズル位置・移動速度のデータとして記憶ユニット22に記憶され、また、場合によっては、直接処理ユニット(CPU)21において指令信号作成の処理のために用いられる。なお、ノズル位置・移動速度の検出の手法は、本開示の本質と関係する事項ではなく、本実施形態においては、ノズル位置・移動速度を実際の各サーボモータの回転数、回転速度のデータから検出することとしたが、例えば、特定の場所に載置されたノズル検出装置(カメラなど)によって検出されたデータから求めるものであってもよい。
 次に、本開示の実施形態に係る塗布作業に係るロボットアーム先端のノズル12の移動動作及びその移動動作のための制御の手法について説明する。図3は、ワーク30上にノズル12によって曲線軌跡Sにそって塗布作業が行われていた際に、ロボット10においてエラーが生じ、点Pで塗布作業が中断され、ノズル12は点Qで停止している状況が描かれている。点Rは、本開示を実施するために点Qで停止しているノズル12が戻るべき地点を示す。また、ワーク30上には、ノズル12が点Qから点Rまで直接戻る場合に衝突し障害物となる凸部が設けられている。
 ワーク30上の塗布の軌跡が曲線であることから、ノズルの塗布作業が中断された状態の軌跡をたどって戻るためには、ノズルの前進時にすべての補間データ(一定周期ごとのノズル位置データ)を記憶する方法が考えられる。しかしながら、全ての補間データを記憶するとその記憶量は膨大となる欠点がある。また、例えば、点Rまで直接、直線的に戻ろうとすると、障害物となる凸部に衝突し、直線的に戻ることにも困難が生じることがあった。そのため、従来においては、点Qから塗布を再開し(この場合の塗布状況を図4に示す)、点Pと点Qの間は後に人手で修正することとしていた。
 本開示においては、後述する3つの実施形態により、塗布作業が中断された状態の軌跡を求めてその軌跡をたどって戻ることが可能となり、さらに、ノズル12の移動開始から加速して塗布作業中断点Pで教示された移動速度となるのに必要十分な距離を確保できる点Rまで曲線軌跡Sをたどって戻り、点Rからノズル12の移動を再開し、点Pに到達した時点から、教示されたとおりのノズルの移動速度での塗布を開始するものである。その結果、図5に示すように、図4で生じていたギャップや過大塗布の問題を生じることなく、効率的に塗布作業を継続することができる。
 次に、本開示における塗布作業の手順をフロー図で示す。図6に示すように、まず、ロボットでのエラーなどにより塗布作業の中断が検知されることから始まる(ステップST1)。塗布作業の中断が検知されなければ(ステップST1でNOの場合)、塗布作業の中断を検知するまで待つ。塗布作業の中断が検知されれば(ステップST1でYESの場合)、ロボット制御装置20は、塗布作業が中断された地点である点Pを記憶しておく(ステップST2)。
 次に、ノズルの移動停止が検知されたか否かが判定される(ステップST3)。ノズルの移動停止が検知されなければ(ステップST3でNOの場合)、ノズル移動の停止を検知するまで待つ。ノズル移動の停止が検知されれば(ステップST3でYESの場合)、次に、ノズルが曲線軌跡Sをたどって戻り停止後に移動を再開する点Rを求める(ステップST4)。
 ステップST4でノズルが曲線軌跡Sをたどって戻り停止後に移動を再開する点Rを求めるには、点Rまで曲線軌跡Sをたどって戻るために十分な距離のノズルの移動軌跡を把握する必要がある。そのノズルの移動軌跡の把握のしかたとして、本明細書の説明で3つの実施形態を紹介するが、それについては後述する。
 その後、ノズルの移動軌跡をたどって点Rまで戻る(ステップST5)。ここで、ステップST4で求めた点Rまで直接直線的に戻るのではなく、ノズルの移動軌跡をたどって点Rまで戻ることによって、ノズルが障害物に衝突することを避けることができる。そして、次に、ノズルが点Rに到達したか否かが判定される(ステップST6)。ノズルが点Rに到達していなければ(ステップST6でNOの場合)、ノズルが点Rに到達するまで待つ。ノズルが点Rに到達すれば(ステップST6でYESの場合)、次に、ノズルを一旦停止させた後、前進方向への移動を再開する(ステップST7)。
 その後、ノズルが塗布作業の中断地点である点Pに到達したか否かが判定される(ステップST8)。ノズルが点Pに到達していなければ(ステップST8でNOの場合)、ノズルが点Pに到達するまで待つ。ノズルが点Pに到達すれば(ステップST8でYESの場合)、その時点からユーザプログラムで教示されたとおりの塗布作業を再開し、その後、ノズルの動きを含む塗布作業のユーザプログラムが引き続き実行され(ステップST9)、このフローは終了する。
 本開示を実施するに当たり、ノズル移動が曲線軌跡S上を移動する場合、ノズルの移動時に補間データ(特定周期ごとのノズル位置データ)をすべて格納すると記憶容量が大量に必要になり、また、そのためにノズル位置データを記憶する周期を長く取ると、ノズルが移動した曲線軌跡Sを正確に把握することができず、曲線軌跡S上の移動距離を正確に求めることができなかった。
 そこで、本開示の実施形態1では、ノズル12が曲線軌跡S上を前進移動するときのノズル12の位置データ(少なくとも三次元空間内のXYZ位置データとαβγ姿勢データ(オイラー角データ)の六つの値、付加軸がある場合には付加軸データも含める)をリングバッファ領域に記憶するようにした。ノズル12の位置データをリングバッファ領域に記憶すると、限られた容量に収まる数の位置データのみが記憶可能であり、位置データの記憶に必要な容量がリングバッファ領域の記憶容量を超えると、古い(最も前の)位置データの記憶から順に消去され、新しい位置データの記憶が可能となる。
 ノズル12の位置データの記憶の間隔(周期)は、元の曲線軌跡Sからの逸脱距離を限度内に抑えるために必要な周期を確保する。元の曲線軌跡Sからの逸脱距離を限度内に抑えるために必要な周期を確保する手法として、ある一定周期ごと(例えば数cmごと)に位置データを記憶する方法や、図7に示すように、直前に記憶したツール位置のデータの最も新しいデータと次に新しいデータの2つの記録点(記録点1、記録点2)を結ぶ直線から、現在のノズル12の位置までの距離が特定距離D以上になったときが、ノズル12の位置データを記憶するときとする方法、もしくは両方を組合わせることもできる。
 ノズル12の前進動作時の位置データをリングバッファ領域に記憶させることにより、記憶される位置データが限られたものとなり、そしてその限られた位置データが、ノズル12が所定の距離だけ正確に逆行するのに必要十分の数の位置データであるから、大量の記憶容量を必要とせず、逆行のための曲線軌跡を把握することができるようになった。
 本開示の実施形態2では、ノズル12が曲線軌跡S上をアプリ処理しながら前進移動するとき、ノズル12の移動動作を制御するユーザプログラム内に教示されたノズル12の一連の位置データを滑らかに結ぶ曲線を生成するよう計算(プラン)されたプラン(曲線)データ(このデータは、直線であったり、円弧であったり、スプライン曲線であったり種々多様であるが、ここではそれら記述するパラメタまたはデータの集合を「プランデータ」と呼ぶことにする)をロボット制御装置20の記憶ユニット22に記憶しながらノズル12が移動する。プランデータを記憶するためにある一定の領域を設けるが、新たなプランデータを記憶するための空き領域がなくなった場合には古いプランデータから消去して新しいものを記憶するようにする。領域のサイズは必要な距離を逆行するのに十分なサイズを確保しておく。
 ノズル12の後退動作時には、ノズル12の前進移動時に記憶されたプランデータによる動作軌跡(前進時に計算されたノズルの動作軌跡)を逆行することにより、ノズル12の後退動作を行うから、元の曲線軌跡Sからのずれを最小に抑えることができる。
 本開示の実施形態3では、ユーザプログラムによりノズル12が曲線軌跡S上を移動するときのノズル12のユーザプログラム内の教示位置データを用いて、ノズル12の後退動作を行うようにした。ユーザプログラム実行が中断したときの実行中の行番号と教示位置は既知であるので、ユーザプログラム内をさかのぼって現在実行中の行より前のいくつかの教示命令(教示位置)を検索することにより、現在のノズル12の停止位置から始めて、それらの教示位置を後進方向に滑らかに結ぶ曲線を新規に計算(プラン)した曲線に沿って逆行して戻るものである。実施形態3は、実施形態1や実施形態2と異なり、前進実行中に記憶領域にノズル12の位置軌跡を記憶する必要がなく、前進実行中に位置記憶のための余計な制御処理が不要となり、計算時間のシステム全体への影響を少なく済ませることができる。
 さらには、実施形態1ないし3のいずれにおいても、本開示の実施に際して、塗布作業の再開の位置を、正確に塗布作業が中断された位置(点P)に合わせることが非常に重要である。そのため、本開示では、ロボット等でのエラー発生時に塗布作業を中断した位置(点P)を正確に検出するとともに、ノズル12の前進動作の再開後の塗布作業の再開のタイミングを微調整することによって、塗布作業の再開の位置を前後に微調整できるようにし、精密に塗布作業の再開の位置を塗布作業の中断位置(点P)に合わせることができるようにした。そのためには以下のようにする。すなわち、点Pは逆行動作のために計算した曲線軌跡上にあるか、または、曲線軌跡に非常に近い位置にあるので、点Pに最も近い曲線軌跡上の位置を逆行動作開始前に予め見つけておきそれを点P’としておく。逆行動作は曲線軌跡上のノズル12の位置を時々刻々計算するので、その位置が点P’を通過する瞬間に塗布作業を再開するようにする。塗布作業再開の位置を前後に微調整するということは、点P’の位置を曲線軌跡に沿って必要な距離だけ前後にずらすことに他ならない。微調整はこのように内部的には曲線軌跡に沿った距離で点P’を移動することで行われるが、これを操作者に提示する際には「距離」または「時間」で表示することが可能である(距離÷速度⇒時間なので)。
 また、実施形態1ないし3のいずれにおいても、ノズル12の逆行動作時に、ノズル12の先端との接触で、曲線軌跡Sの塗布済みの塗料を損なってしまわないようにする必要がある。そのため、本開示では、ノズル12が逆行動作を開始するときには、ノズル12の高さの位置を上下に微調整し、必要とされる所定距離だけ逆行した後に前進動作を再開するときに元の高さの教示位置に戻ることができるようにした。これによって、ノズル12の先端と曲線軌跡Sの塗布済みの塗料との接触を回避することができる。そのためには以下のようにする。すなわち、ノズル12の先端点(TCP: Tool Center Point)はアーム11のツール取り付け面からの3次元(または6次元)位置で表されるが、逆行動作の時だけTCP位置のZ値に必要な微調整値を足し込むことで実現可能である。すなわち、実際のノズル先端点の先の位置にあたかもノズル先端点があるように微調整することで、逆行動作時のノズル12の位置が必要な距離だけ上下にずれることになる。
 以上、本開示の実施に関して、実施態様について説明したが、本発明はこうした実施態様に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々なる態様で実施できるものであることは勿論である。例えば、連続処理作業の内容については、塗料の塗布に限らず、接着剤やシール材の塗布も含まれ、さらには、各種の表面処理や押圧・射出作業、プラズマ照射、レーザ溶接にまで応用することも可能である。
 10 … ロボット
 11 … アーム
 12 … ノズル(ツール)
 13 … ロボットの送受信装置
 14-1~14-n … サーボモータ
 20 … ロボット制御装置
 21 … 処理ユニット(CPU)
 22 … 記憶ユニット
 23 … ロボット制御装置の送受信ユニット
 30 … ワーク
  P … 塗装作業中断地点
  Q … ノズルの停止地点
  R … ノズルが戻るべき地点
  S … 曲線軌跡

Claims (7)

  1.  プログラムにより所望の曲線軌跡に沿って所望の速度でロボットアームの先端に取り付けられたツールを進行させながら連続処理作業を行うロボット制御装置において、
     前記連続処理作業が中断された際に、前記連続処理作業の中断の位置からさらに前記ツールが減速しながら前進した後に停止した場合に、前記連続処理作業の中断の位置及び前記連続処理作業の中断の位置での前記ツールの進行速度を記憶する記憶ユニット、及び、
     前記ツールが、前記記憶ユニットで記憶された前記連続処理作業の中断の位置及び速度で進行しながら前記連続処理作業を再開することができるように、前記ツールが停止する前の前進動作時の曲線軌跡に沿って所定の距離だけ逆行し、逆行した位置から、前記ツールが停止する前の前進動作時の曲線軌跡に沿って前進する前進動作を再開するためにロボットに与える指令を作成する処理ユニットを備えたロボット制御装置。
  2.  前記記憶ユニットは、前進動作時に常に所定周期ごとの前記ツールの位置データである補間データを記憶し、記憶量が特定の範囲を超えたときに最も先に記憶した補間データを消去するリングバッファ領域を有し、前記ツールが停止する前の前進動作時の曲線軌跡は、前記リングバッファ領域において記憶された前記ツールの位置によって把握される曲線軌跡である請求項1に記載のロボット制御装置。
  3.  前記ツールの位置データである補間データを記憶する所定の周期は、前記補間データにおける現在のツール位置の1つ前のツール位置の点と2つ前のツール位置の点の2つの点を結ぶ直線から、前記現在のツール位置までの距離が特定距離以上になったときに生じるものとする請求項2に記載のロボット制御装置。
  4.  前記連続処理作業を再開する前の逆行動作時の曲線軌跡は、前進動作時に前記ツールの前進動作を制御するプログラムにより、前記所定の周期ごとの前記ツールの位置データである補間データから計算された曲線のデータにより把握される曲線軌跡である請求項2に記載のロボット制御装置。
  5.  前記連続処理作業を再開する前の逆行動作時の曲線軌跡は、前進動作時に、曲線軌跡に沿って所定の距離だけ逆行するのに必要となる距離の分だけ記憶された前記ツールに対する教示位置によって把握される曲線軌跡である請求項1に記載のロボット制御装置。
  6.  前記連続処理作業を再開する位置は、前後に微調整することができる請求項1~5のいずれかのロボット制御装置。
  7.  前記ツールが停止する位置から所定の距離だけ逆行するに際しては、前記ツールの高さの位置を上下に微調整し、前記所定の距離だけ逆行した後に前進動作を再開するときに元の高さの教示位置に戻すことができる請求項1~6のいずれかのロボット制御装置。
PCT/JP2021/017391 2020-05-12 2021-05-06 ロボット制御装置 WO2021230136A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202180034077.9A CN115515760A (zh) 2020-05-12 2021-05-06 机器人控制装置
US17/907,167 US20230094555A1 (en) 2020-05-12 2021-05-06 Robot controller
DE112021001923.6T DE112021001923T5 (de) 2020-05-12 2021-05-06 Robotersteuerung
JP2022521862A JP7502427B2 (ja) 2020-05-12 2021-05-06 ロボット制御装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-083743 2020-05-12
JP2020083743 2020-05-12

Publications (1)

Publication Number Publication Date
WO2021230136A1 true WO2021230136A1 (ja) 2021-11-18

Family

ID=78525791

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/017391 WO2021230136A1 (ja) 2020-05-12 2021-05-06 ロボット制御装置

Country Status (5)

Country Link
US (1) US20230094555A1 (ja)
JP (1) JP7502427B2 (ja)
CN (1) CN115515760A (ja)
DE (1) DE112021001923T5 (ja)
WO (1) WO2021230136A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114770459A (zh) * 2022-05-18 2022-07-22 南京佗道医疗科技有限公司 一种主控制臂运动控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02259911A (ja) * 1989-03-31 1990-10-22 Nippei Toyama Corp 数値制御装置
JPH06335883A (ja) * 1993-05-27 1994-12-06 Toyoda Mach Works Ltd ロボット制御装置
JPH09216082A (ja) * 1996-02-07 1997-08-19 Mitsubishi Electric Corp レーザ加工方法
US6360143B1 (en) * 2001-04-27 2002-03-19 Fanuc Robotics North America Error recovery methods for controlling robotic systems
JP2007268549A (ja) * 2006-03-30 2007-10-18 Nissan Motor Co Ltd レーザ溶接装置およびその方法
JP2009183942A (ja) * 2008-02-01 2009-08-20 Abb Ag ロボット再始動方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02259911A (ja) * 1989-03-31 1990-10-22 Nippei Toyama Corp 数値制御装置
JPH06335883A (ja) * 1993-05-27 1994-12-06 Toyoda Mach Works Ltd ロボット制御装置
JPH09216082A (ja) * 1996-02-07 1997-08-19 Mitsubishi Electric Corp レーザ加工方法
US6360143B1 (en) * 2001-04-27 2002-03-19 Fanuc Robotics North America Error recovery methods for controlling robotic systems
JP2007268549A (ja) * 2006-03-30 2007-10-18 Nissan Motor Co Ltd レーザ溶接装置およびその方法
JP2009183942A (ja) * 2008-02-01 2009-08-20 Abb Ag ロボット再始動方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114770459A (zh) * 2022-05-18 2022-07-22 南京佗道医疗科技有限公司 一种主控制臂运动控制方法
CN114770459B (zh) * 2022-05-18 2023-12-08 佗道医疗科技有限公司 一种主控制臂运动控制方法

Also Published As

Publication number Publication date
JPWO2021230136A1 (ja) 2021-11-18
JP7502427B2 (ja) 2024-06-18
DE112021001923T5 (de) 2023-01-12
CN115515760A (zh) 2022-12-23
US20230094555A1 (en) 2023-03-30

Similar Documents

Publication Publication Date Title
EP1348511A1 (en) Laser machining method and apparatus therefor
US5014183A (en) Method and means for path offsets memorization and recall in a manipulator
US5465037A (en) System and method for tracking a feature on an object using a redundant axis
EP0336174A2 (en) A method and apparatus for controlling a manipulator
EP3124185B1 (en) Robot control method
WO1998042483A1 (fr) Controleur de robot
JP2004174709A (ja) 工作物を加工するための方法および装置
JPH0439086B2 (ja)
WO2021230136A1 (ja) ロボット制御装置
US5466909A (en) Laser robot with approach time from origin to a starting position minimized
JP2897333B2 (ja) サーボ制御装置
JP2015127080A (ja) ロボット、ロボットの制御方法、およびロボットの制御プログラム
US10953543B2 (en) Operation program setting apparatus for robot, robot, and method of controlling robot
JP4842656B2 (ja) 溶接ロボット制御装置
JP3829114B2 (ja) 数値制御装置
JP3626808B2 (ja) 塗装用ロボットの制御方法及び制御装置
US20230278210A1 (en) Robot system and robot operation method
WO2022080446A1 (ja) レーザ加工システム及び制御方法
EP0229628B1 (en) Method and apparatus for automatic welding
JP7251814B2 (ja) ロボット制御システム、ロボット制御方法、及びプログラム
JPS5857762B2 (ja) ロボットにおける移動速度の修正方法とその装置
WO2022080448A1 (ja) レーザ加工システム及び制御方法
JP2006021241A5 (ja)
Inoue et al. A preview controller with time based spline approximation for multi-axis manipulator
de Graaf et al. Real-time trajectory generation for sensor-guided robotic laser welding

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21805310

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022521862

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 21805310

Country of ref document: EP

Kind code of ref document: A1