Tracking control device and tracking control method
By using the synthesis of synchronization commands and action commands generated by the synchronization command generation unit and the synthesis unit between the robot and the conveying device, the problem of the robot starting time is solved, and more efficient operation synchronization control is achieved.
Patent Information
- Application Number
- CN202280099212.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-22
- Publication Date
- 2025-04-08
AI Technical Summary
The prior art causes the robot to start working longer during the speed synchronization process between the robot and the conveying device to affect the overall working efficiency.
The synchronization command generation unit determines the timing of synchronization start based on the conveying speed of the object conveyed, generates a synchronization command that synchronizes the operation of the mechanical system and the conveying device, and synthesizes the synchronization command with the mechanical system action command through the synthesis unit to generate a synthesis command to control the robot's action.
Through early synchronization control, the time for the robot to start work is shortened and the work efficiency is improved.
Smart Images

Figure CN119789934A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a tracking control device and a tracking control method for controlling a mechanical system such as a robot or an automatic assembly machine that performs work on an object moving on a conveying unit such as a conveyor. Background Art
[0002] In the conveying system, the robot operates on the conveying object while the conveying object is being conveyed without stopping on the conveyor, thereby eliminating the need for intermittent driving of the conveyor and temporary placement of the conveying object while the robot is operating. As a result, in the conveying system, the system cost is reduced, and the overall operation time is shortened by reducing the operation process.
[0003] The tracking control device described in Patent Document 1 calculates the predicted picking position where the conveyed object is predicted to be picked up by the robot based on the sensing information of the workpiece as the conveyed object and the conveying speed of the conveying device. The tracking control device generates the robot's motion trajectory from the motion start position to the picking prediction position based on the robot's posture at the motion start position and the posture at the picking prediction position. In addition, the robot is controlled according to the motion trajectory, and after the robot reaches the picking prediction position, the conveying speed of the conveying device and the robot's motion are controlled to be synchronized, and then the conveyed object conveyed by the conveying device is picked up.
[0004] Patent Document 1: Japanese Patent Application Publication No. 2019-25618 Summary of the invention
[0005] However, in the technology of the above-mentioned Patent Document 1, since the speed synchronization between the conveying device and the robot is performed after the robot hand reaches the conveying object, it takes time until the work performed by the robot such as picking work starts, and there is a problem that the time until the robot starts working becomes longer.
[0006] The present invention has been made in view of the above-mentioned circumstances, and an object of the present invention is to obtain a tracking control device capable of shortening the time until a robot starts working.
[0007] In order to solve the above-mentioned problems and achieve the purpose, the tracking control device of the present invention has a synchronization instruction generation unit, which generates a synchronization instruction for synchronizing the action of a mechanical system that performs work on a conveying object with the action of a conveying device that conveys the conveying object based on the timing for starting synchronization determined according to the conveying speed of the conveying object, that is, the synchronization start timing. In addition, the tracking control device of the present invention has: an action instruction generation unit, which generates an instruction until the target position of the mechanical system, that is, a mechanical system action instruction; and a synthesis unit, which synthesizes the synchronization instruction and the mechanical system action instruction to generate a synthesized instruction, and outputs the generated synthesized instruction. The synchronization instruction generation unit generates a synchronization instruction for starting synchronization before the mechanical system reaches the target position.
[0008] Effects of the Invention
[0009] The tracking control device according to the present invention has an effect of being able to shorten the time until a robot starts working. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 This is a diagram showing the configuration of a tracking control device according to the first embodiment.
[0011] Figure 2 This is a diagram for explaining an example of a speed waveform of a synchronization command generated by the tracking control device according to the first embodiment.
[0012] Figure 3 This is a diagram showing a configuration of a synchronization start timing determination unit included in the tracking control device according to the first embodiment.
[0013] Figure 4 This is a flowchart showing the processing procedure of the processing executed by the tracking control device according to the first embodiment.
[0014] Figure 5 This is a diagram showing a configuration of a synchronization start timing determination unit included in the tracking control device according to the third embodiment.
[0015] Figure 6 This is a diagram showing the structure of a tracking control device according to a fourth embodiment.
[0016] Figure 7 This is a diagram for explaining the location where the following control device according to the fourth embodiment calculates the torque.
[0017] Figure 8 This is a diagram showing the structure of a tracking control device according to the fifth embodiment.
[0018] Fig. 9This is a diagram for explaining an interference region that does not need to be considered and is used when the tracking control device according to the fifth embodiment determines the synchronization start timing.
[0019] Fig.10 This is a diagram showing a configuration of a learning unit included in the tracking control device according to the sixth embodiment.
[0020] Fig.11 This is a diagram showing the configuration of a learning unit included in the tracking control device according to the seventh embodiment.
[0021] Fig.12 This is a diagram showing a configuration example of a processing circuit when the processing circuit included in the tracking control device according to Embodiments 1 to 7 is realized by a processor and a memory.
[0022] Fig.13 This is a diagram showing an example of a processing circuit in the case where the processing circuit included in the tracking control device according to Embodiments 1 to 7 is realized by dedicated hardware. DETAILED DESCRIPTION
[0023] Hereinafter, a tracking control device and a tracking control method according to embodiments of the present invention will be described in detail with reference to the drawings.
[0024] Implementation method 1.
[0025] Figure 1 1 is a diagram showing a configuration of a tracking control device according to Embodiment 1. The transport system according to Embodiment 1 includes a tracking control device 50A, a robot 6 , and a transport device such as a conveyor (not shown).
[0026] The tracking control device (mechanical system control device) 50A is a computer that controls a mechanical system such as a robot or an automatic assembly machine that performs operations on an object moving on a conveying unit such as a conveyor. In the first embodiment, the case where the tracking control device 50A controls the robot 6 is described. The tracking control device 50A is connected to the robot 6.
[0027] The robot 6 is a robot that performs operations on a conveying object such as a workpiece conveyed by a conveyor. An example of the robot 6 is a robot that picks up conveying objects. In addition, the robot 6 may also be a robot that arranges the picked workpiece for the conveying object conveyed by the conveyor, or may be a robot that performs operations such as screw tightening.
[0028] The tracking control device 50A of the first embodiment starts synchronizing the conveying speed generated by the conveying device such as a conveyor and the movement speed of the robot 6 before the robot 6 reaches the conveying object. The synchronization process of the conveying speed and the movement speed of the robot 6 is a process of controlling the relative speed between the conveying speed and the movement speed of the robot 6 to 0. The tracking control device 50A controls the movement speed of the robot 6 by sending a command including a synchronization command to the robot 6, thereby controlling the movement speed of the robot 6 to the same speed as the conveying speed. Hereinafter, the control of the robot 6 to synchronize the movement speed of the robot 6 with the conveying speed is referred to as synchronization control.
[0029] The tracking control device 50A includes a synchronization start timing determination unit 1 , a synchronization command generation unit 2 , a target position determination unit 3 , an operation command generation unit 4 , an axis control unit 5 , a gripping operation control unit 7 , and a synthesis unit 15 .
[0030] The target position determination unit 3 receives the conveying speed and conveying position of the conveyed object generated by the conveyor from an external device. For example, the target position determination unit 3 receives the conveying speed and conveying position at every moment from a conveying control device that controls a conveying device such as a conveyor. In addition, the target position determination unit 3 may also receive the conveying speed and conveying position at every moment from a sensor, a camera, etc.
[0031] The target position determination unit 3 determines the target position (robot target position) of the robot 6 based on the conveying speed and the conveying position. The target position is the target position of the motion command generated by the motion command generation unit 4, and is the reference position when the robot 6 performs the work on the conveying object. The robot 6 operates according to the synchronization command generated by the synchronization command generation unit 2 and the motion command without considering the synchronization with the robot 6, that is, the robot motion command generated by the motion command generation unit 4. The target position determination unit 3 sends the target position to the motion command generation unit 4 and the synchronization start timing determination unit 1.
[0032] The motion instruction generating unit 4 as the robot motion instruction generating unit generates a motion instruction to the robot 6 up to the target position of the mechanical system, that is, a robot motion instruction (mechanical system motion instruction) based on the target position. The robot motion instruction includes a position instruction to the target position, etc. The motion instruction generating unit 4 sends the generated robot motion instruction to the synthesizing unit 15.
[0033] In addition, the action instruction generation unit 4 generates a gripping action instruction that specifies a gripping action to be performed by the robot 6 at a target position based on a gripping program for performing a gripping action, etc. The gripping action instruction is an instruction that causes the fingertips of the robot 6, i.e., the robot fingertips, to move. The actions specified by the gripping action instruction include, for example, an action to lower the robot fingertips to the position of the conveying object, an action to open and close the robot fingertips, and an action to return the robot fingertips to the original position. The action instruction generation unit 4 sends the gripping action instruction to the gripping action control unit 7. In addition, the action instruction generation unit 4 can also generate an operation instruction that specifies an operation other than the gripping action and send it to the gripping action control unit 7.
[0034] The synchronization start timing determination unit 1 receives the conveying speed of the conveyor and the conveying position of the conveyed object from the external device, and receives the target position from the target position determination unit 3. The synchronization start timing determination unit 1 determines the timing for starting the synchronization control using the synchronization command (hereinafter sometimes referred to as the synchronization start timing) based on the conveying speed, the conveying position and the target position. The synchronization start timing is the timing before the robot 6 reaches the target position specified by the robot motion command. That is, the synchronization start timing is the timing for starting the synchronization control before the robot 6 reaches the target position specified by the robot motion command. The synchronization start timing determination unit 1 sends the synchronization start command indicating the determined synchronization start timing to the synchronization command generation unit 2.
[0035] The synchronization command generation unit 2 generates a synchronization command for synchronizing with the conveying speed of the conveyor based on the synchronization start command when receiving the synchronization start command from the synchronization start timing determination unit 1. The synchronization command generation unit 2 generates a synchronization command for starting synchronization control before the robot 6 reaches the target position specified by the robot motion command. That is, the synchronization command generation unit 2 starts generating the synchronization command before the robot motion command generated by the motion command generation unit 4 reaches the target position.
[0036] For example, when a conveyor that moves a conveyed object in a straight line is used as a conveying device, the synchronization command generation unit 2 generates a synchronization command (action command) for the robot fingertips of the robot 6 to move parallel to the conveyor, with the target position of the robot action command generated by the action command generation unit 4 as the starting point and the conveying speed of the conveyor as the target speed. The synchronization command includes an acceleration command until the target speed is reached, an action command at the target speed, and an instruction to decelerate from the target speed until the robot stops. The synchronization command generation unit 2 sends the generated synchronization command to the synthesis unit 15.
[0037] The synthesizing unit 15 synthesizes the synchronization command and the robot operation command for each axis to generate a synthesized command, and outputs the generated synthesized command to each axis control unit 5 .
[0038] Each axis control unit 5 is a control unit that controls the movement of the robot 6. Each axis control unit 5 controls each axis of the robot 6 based on the synthesis command (motion command synthesized from the synchronization command and the robot motion command) sent from the synthesis unit 15. The gripping motion control unit 7 controls the robot fingertips according to the gripping motion command sent from the motion command generation unit 4.
[0039] Here, an example of a speed waveform in the orthogonal coordinate system of the synchronization command generated by the synchronization command generating unit 2 will be described. Figure 2 This is a diagram for explaining an example of a speed waveform of a synchronization command generated by the tracking control device according to the first embodiment. Figure 2 The horizontal axis of the graph shown is time, and the vertical axis is the speed command of the synchronization command. The positive side of the vertical axis corresponds to the direction of motion of the conveyor (the direction of conveying the object to be conveyed). Figure 2 In the figure, the speed command during deceleration is omitted.
[0040] The speed command (speed waveform) of the synchronization command generated by the synchronization command generation unit 2 is a command to accelerate from 0 to the conveying speed V of the conveyor at a constant acceleration, and to maintain the conveying speed V and move in parallel with the conveyor after reaching the conveying speed V. Under this speed command, during the acceleration time Kt, the conveyor is accelerated from 0 to the conveying speed V of the conveyor at a constant acceleration.
[0041] The moving distance of the robot fingertip under the synchronization command during the acceleration time Kt is the acceleration distance L. That is, the distance traveled during the period until the robot fingertip is accelerated to the conveying speed V by the synchronization command is the acceleration distance L. Figure 2 In FIG. 1 , the acceleration distance L, which is the moving distance of the synchronization command until the acceleration time Kt, is indicated by the oblique line portion.
[0042] like Figure 2 As shown, the acceleration during acceleration is constant, and when the speed waveform during acceleration is represented by a straight line, it becomes L = (V × Kt) / 2. In addition, the moving distance of the conveyed object during the deceleration time is the deceleration distance. When the acceleration and deceleration are constant, and the speed waveform during acceleration and deceleration is represented by a straight line, the speed waveform of the synchronization command becomes a speed command of a trapezoidal pattern.
[0043] Figure 3This is a diagram showing a configuration of a synchronization start timing determination unit included in the tracking control device according to Embodiment 1. The synchronization start timing determination unit 1 includes a synchronization start position calculation unit 10 and a synchronization start position arrival determination unit 11 .
[0044] The synchronization start position calculation unit 10 receives the target position of the robot 6 , that is, the target position from the target position determination unit 3 , and receives the conveyance speed of the conveyor from an external device such as a sensor.
[0045] The synchronization start position calculation unit 10 determines the position of the conveyed object on the conveyor where the synchronization control is started (hereinafter sometimes referred to as the synchronization start position) based on the target position and the conveying speed. That is, the synchronization start position calculation unit 10 determines the position of the conveyed object on the conveyor where the synchronization command generation unit 2 starts to generate the synchronization command. In the first embodiment, the synchronization start position is set as the synchronization start position PS.
[0046] For example, if the target position determined by the target position determination unit 3 is set as the target position P, the synchronization start position calculation unit 10 determines the position of the conveyance object on the conveyor where the generation of the synchronization command is started (synchronization start position PS) as the position of the conveyance object after returning from the target position P in the upstream direction of the conveyor by the acceleration distance L in the synchronization command. That is, the synchronization start position calculation unit 10 determines the time point when the conveyance object reaches the position ahead of the target position P by a predetermined specific distance (acceleration distance L) as the synchronization start position PS.
[0047] If the moving direction (conveying direction) of the conveyor object is set to the + direction of the X-axis, the axis orthogonal to the X-axis in the horizontal plane is set to the Y-axis, and the XY coordinates of the target position P of the robot 6 are set to (Px, Py), the synchronization start position PS at which the synchronization command starts becomes PS = (Px-L, Py). That is, the synchronization control starts at the time when the conveyor object on the conveyor reaches PS = (Px-L, Py). The synchronization start position calculation unit 10 sends the synchronization start position PS to the synchronization start position arrival determination unit 11.
[0048] The synchronous start position arrival determination unit 11 receives the synchronous start position PS from the synchronous start position calculation unit 10, and receives the conveying position of the conveyed object at every moment from an external device such as a conveying control device. The conveying position at every moment received by the synchronous start position arrival determination unit 11 from the external device is an estimated value of the position of the conveyed object (position estimation value Xh). The position estimation value Xh as the conveying position is estimated based on the position of the conveyed object on the conveyor calculated from an image captured when the conveyed object passes under a capturing unit (camera, etc.) provided upstream of the conveyor, the elapsed time from the capturing, and the output after the capturing from an encoder as a measuring device provided on the conveyor.
[0049] The synchronization start position arrival determination unit 11 compares Px-L and Xh, and outputs the synchronization start instruction to the synchronization instruction generation unit 2 at a time point when Xh≥Px-L. The synchronization start position arrival determination unit 11 outputs the synchronization start instruction to the synchronization instruction generation unit 2, for example, at a time point when Xh=Px-L. That is, the synchronization start position arrival determination unit 11 sets the time point when the conveyed object reaches a position ahead of the target position P by a predetermined specific distance (acceleration distance L) as the timing for synchronization start, i.e., the synchronization start timing, and outputs the synchronization start instruction to the synchronization instruction generation unit 2.
[0050] The synchronous start position arrival determination unit 11 is not limited to estimating the position estimated value Xh by the above-mentioned estimation method, and may estimate the position estimated value Xh using a speed command to the conveyor or a design value of the conveyor speed instead of the output of the encoder.
[0051] In addition, in the conveying system, the conveyor may not be provided with an encoder, and the conveying object may be photographed multiple times at intervals by a photographing unit provided upstream of the conveyor. In this case, the synchronous start position arrival determination unit 11 estimates the position estimation value Xh of the conveying object based on the conveyor speed estimated from the multiple photographing results and the elapsed time from the photographing, for example.
[0052] The synchronization command generation unit 2 uses the starting point specified by the motion command generation unit 4 through the robot motion command as the target position P, and generates Figure 2 In this case, the increment of the position command after the acceleration time Kt from the start of the generation of the synchronization command becomes L, so in the synchronization command generated by the synchronization command generation unit 2, the movement amount of the robot 6 from Px in the motion direction on the conveyor is L, and the speed command in the motion direction of the conveyor becomes V. That is, the speed of the robot 6 becomes V at the time point after the robot 6 moves L in the conveying direction from Px.
[0053] In addition, the X-direction position of the object to be transported on the conveyor is Px-L+(V×Kt). Here, V×Kt is 2L, so the X-direction position of the object to be transported on the conveyor is also Px+L like the robot 6, and the X-direction speed of the object to be transported is V. Therefore, after the acceleration time Kt or more has passed since the generation of the synchronization command, the position and speed of the robot 6 are consistent with the position and speed of the object to be transported after the robot motion command reaches the target position P. Therefore, the tracking control device 50A can synchronize the robot 6 with the object to be transported before the robot motion command generated by the motion command generation unit 4 reaches the target position P.
[0054] The target position determination unit 3 preferably selects the target position P used by the motion command generation unit 4 in such a manner that the acceleration time Kt elapses from the start of the generation of the synchronization command before the position of the robot 6 corresponding to the robot motion command reaches the target position P. That is, the target position determination unit 3 selects the target position P in such a manner that the acceleration time Kt elapses from the start of the synchronization command and the robot fingertip position is above the conveyed object when the robot motion command generated by the motion command generation unit 4 reaches the target position P, using the timing before the position of the robot 6 corresponding to the robot motion command reaches the target position P as the start timing of the synchronization command. As a result, the target position determination unit 3 selects the target position P in such a manner that the robot 6 is above the conveyed object when the acceleration time Kt elapses from the start of the synchronization command. As a result, when the robot motion command generated by the motion command generation unit 4 reaches the target position P, the robot 6 is above the conveyed object, and the conveying speed of the robot 6 can also be synchronized with the conveyed object.
[0055] In the first embodiment, the synchronization command generation unit 2 first generates a synchronization command (a position command of the robot fingertip) in the orthogonal coordinate system, and transforms (referred to as inverse transformation) the generated position command of the robot fingertip into a position command of each axis of the robot 6. The position command after the inverse transformation is the synchronization command. The position command of each axis generated by the synchronization command generation unit 2 through the inverse transformation is added to the robot motion command generated by the motion command generation unit 4.
[0056] In the first embodiment, the tracking control device 50A adds the synchronization command to the robot motion command after performing inverse transformation on the synchronization command, but the inverse transformation may be performed later. That is, the tracking control device 50A may perform inverse transformation after adding the robot motion command of the orthogonal coordinate system and the synchronization command of the orthogonal coordinate system generated by the motion command generating unit 4 in the orthogonal coordinate system.
[0057] In the first embodiment, the target position determination unit 3 calculates the robot's motion times ta1 to tak to a plurality of locations P1 to Pk (k is a natural number) on the conveyor in advance in order to determine the target position P of the robot motion command. Among the locations P1 to Pk, the location P1 is the most upstream location, and the location Pk is the most downstream location.
[0058] The target position determination unit 3 compares the calculated ta1 to tak with the moving time tb1 to tbk of the conveyor object on the conveyor until P1 to Pk. The target position determination unit 3 obtains the largest n that satisfies tan ≥ tbn + Kt (n is a natural number from 1 to k) through this comparison, and outputs the location Pn (not shown) corresponding to this n as the target position P to the motion command generation unit 4. The largest n corresponds to the location where the synchronization command starts the latest among the locations where the speed under the synchronization command reaches the speed of the conveyor before the robot motion command generated by the motion command generation unit 4 reaches the target position P, that is, the location Pn where the interval in which the synthesized motion coincides with the robot motion command generated by the motion command generation unit 4 is the longest among the locations where the speed under the synchronization command reaches the speed of the conveyor before the robot motion command generated by the motion command generation unit 4 reaches the target position P.
[0059] The target position determination unit 3 of the first embodiment adopts the point corresponding to the operation time satisfying the maximum n as the target position P, but may output a point Pm (not shown) satisfying m<n (m is a natural number) as the target position P.
[0060] In addition, the target position determination unit 3 is not limited to the case where the target position P is determined after calculating the travel time to a plurality of locations on the conveyor in advance, and the target position P may be determined by other methods. For example, the target position determination unit 3 may calculate the operation time ta of the robot 6 to a predetermined specific location P0 (not shown) on the conveyor and the travel time tb of the conveyed object on the conveyor to the specific location P0, respectively, and determine the target position P based on the comparison result of ta and tb. For example, when the x coordinate of P0 is set to P0x, the target position determination unit 3 calculates Px by Px=P0x+(ta-tb-Kt-α)×V, and determines the calculated Px as the target position P. Here, α is a predetermined constant. The target position determination unit 3 may also store a predetermined location PA (not shown) without performing any calculation, and output PA as the target position P to the motion command generation unit 4. In this case, PA may be a location set based on arbitrary information such as the conveying speed of the conveyor and the moving speed of the robot 6.
[0061] The gripping action control unit 7 starts the gripping action at the later time point between the moment tr1 when the position instruction generated by the action instruction generating unit 4 reaches the target position P and the moment tr2 after the acceleration time Kt has passed since the generation of the synchronization instruction. That is, even if the moment when the position instruction reaches the target position P, the gripping action control unit 7 waits until the acceleration time Kt has passed since the generation of the synchronization instruction, and then starts the gripping action. In addition, even if the moment when the acceleration time Kt has passed since the generation of the synchronization instruction, the gripping action control unit 7 waits until the position instruction reaches the target position P, and then starts the gripping action.
[0062] The gripping action is to lower the fingertips of the robot and open and close the hand. If any of the following conditions are met: when the gripping action is finished, when the hand's upward movement is finished after the gripping action is finished, when a prescribed time has passed after the gripping action is finished, or when a prescribed time has passed from the start of the gripping action, the gripping action control unit 7 sends a command to the synchronization command generation unit 2 to terminate the generation of the synchronization command. If the synchronization command generation unit 2 receives the command to terminate the generation of the synchronization command, it decelerates the speed command of the synchronization command to 0 and stops the synchronization command.
[0063] In addition, in embodiment 1, the grasping action control unit 7 starts the grasping action at a time point when the later of times tr1 and tr2 is reached, but the grasping action can also be started at a time point after the later of times tr1 and tr2 is reached and a predetermined time tc has further passed after considering the control system.
[0064] In addition, the tracking control device 50A of the first embodiment generates a synchronization command in such a way that the fingertips of the robot 6 are exactly synchronized with the speed of the conveyed object, but it is not limited to the case where strict synchronization can be achieved, and it is also possible to match the speed slightly deviated from the range of the allowable error when performing the gripping operation. In addition, the case of matching the speed slightly deviated from the range of the allowable error is also defined as "synchronization".
[0065] In addition, in the first embodiment, the case where the conveyed object is conveyed on the conveyor in a straight line is described as an example, but the tracking control device 50A can also be applied to a system where the conveyed object is conveyed in an arc shape. When the conveyed object is conveyed on the conveyor in a straight line, the tracking control device 50A considers the acceleration distance L and the deceleration distance as straight-line distances, but in a system where the conveyed object is conveyed in an arc shape, the acceleration distance L and the deceleration distance can be calculated in the same way as the distances on the circumference.
[0066] As described above, the tracking control device 50A of the first embodiment starts synchronizing the position and speed of the conveyed object and the robot 6 before the robot motion command reaches the target position P. Furthermore, the tracking control device 50A sets the robot 6 to the upper side of the conveyed object and the speeds of the conveyed object and the robot 6 to be the same when the robot motion command reaches the target position P, thereby achieving synchronization of the speeds of the conveyed object and the robot 6. Thus, the tracking control device 50A can achieve both suppression of the error in the gripping position and shortening of the motion time even when the tracking control is performed.
[0067] Next, the processing procedure of the processing executed by the tracking control device 50A will be described. Figure 4 This is a flowchart showing the processing procedure of the processing executed by the tracking control device according to the first embodiment.
[0068] The target position determination unit 3 of the tracking control device 50A determines a target position P serving as a starting point when the robot 6 performs work on the conveyance object, based on the conveyance position and conveyance speed of the conveyance object (step S10 ).
[0069] The synchronization start timing determination unit 1 determines the synchronization start timing for starting the synchronization control based on the target position P, the conveying position and the conveying speed (step S20). The synchronization command generation unit 2 generates a synchronization command for synchronizing with the conveying speed of the conveyor based on the synchronization start command indicating the synchronization start timing (step S30). The synchronization command is a command for starting synchronization before the position of the robot 6 moved by the robot motion command reaches the target position P.
[0070] The motion command generator 4 generates a robot motion command to the robot 6 to the target position P based on the target position P (step S40). The processing of step S40 and the processing of steps S20 and S30 may be performed first.
[0071] The synthesis unit 15 synthesizes the synchronization instruction and the robot motion instruction for each axis. The synchronization instruction is an instruction for starting synchronization before the position of the robot 6 corresponding to the robot motion instruction reaches the target position P. Therefore, the instruction synthesized by the synthesis unit 15 becomes an instruction for starting synchronization before the robot 6 reaches the target position P. That is, the synthesis unit 15 starts synchronization before the robot 6 reaches the target position P by synthesizing the synchronization instruction and the robot motion instruction (step S50). Each axis control unit 5 controls each axis of the robot 6 based on the motion instruction synthesized from the synchronization instruction and the robot motion instruction. As described above, the tracking control device 50A starts synchronization before the robot 6 reaches the target position P. The gripping motion control unit 7 controls the robot fingertips according to the gripping motion instruction sent from the motion instruction generation unit 4.
[0072] As described above, the tracking control device 50A generates a synchronization command that matches the position and speed of the robot 6 with the position and speed of the object being conveyed on the conveyor. This can reduce errors in the gripping operation performed by the robot 6 and shorten the operation time of the robot 6.
[0073] As described above, according to the first embodiment, the tracking control device 50A generates a synchronization command to start synchronization before the motion command generated by the motion command generating unit 4 reaches the target position P, and thus starts synchronization. Therefore, at the time point when the motion command generated by the motion command generating unit 4 reaches the target position P, the position and speed of the robot 6 and the conveying object are consistent. Thus, the tracking control device 50A can cause the robot 6 to start working at the time point when the motion command generated by the motion command generating unit 4 reaches the target position P, and thus can shorten the time until the robot 6 starts working.
[0074] Implementation method 2.
[0075] Next, use Figure 1 Embodiment 2 will be described. In Embodiment 2, the tracking control device 50A generates a rectangular wave speed command as a speed waveform of a synchronization command.
[0076] The tracking control device 50A of the second embodiment is different from the tracking control device 50A of the first embodiment in the method of generating the speed command in the synchronization command generator 2. Therefore, in the second embodiment, the method of generating the speed command in the synchronization command generator 2 is described, and other descriptions are omitted.
[0077] The synchronization command generation unit 2 included in the tracking control device 50A of the first embodiment generates synchronization commands for accelerating and decelerating at a constant acceleration, but the synchronization command generation unit 2 included in the tracking control device 50A of the second embodiment generates a speed command of a rectangular wave internally. That is, in the first embodiment, the synchronization command generation unit 2 generates a speed command of a trapezoidal pattern, but in the second embodiment, the synchronization command generation unit 2 generates a speed command in which the speed increases in a step-like manner during acceleration and decreases in a step-like manner during deceleration.
[0078] The synchronization command generation unit 2 of the second embodiment generates a rectangular wave speed command, and outputs the result of passing the generated speed command through a moving average filter having a window length Kt equal to the acceleration time Kt as a speed command to the synthesis unit 15. That is, the synchronization command generation unit 2 uses the rectangular wave speed command and the moving average filter to generate a speed command to the robot 6 specified by the synchronization command.
[0079] As described above, in the second embodiment, the synchronization command generation unit 2 generates the speed command using the rectangular wave speed command and the moving average filter. Therefore, even when the speed of the conveyor fluctuates, the synchronization command can be easily generated.
[0080] Implementation method 3.
[0081] Next, use Figure 5 Embodiment 3 will be described. A tracking control device 50A according to Embodiment 3 calculates a synchronization start position using parameters (control system parameters) of feedback control or feedforward control in a control system of each axis of the robot 6 .
[0082] In Embodiment 3, the processing in the synchronization start timing determination unit is different from that in Embodiment 1. Therefore, in Embodiment 3, the configuration of the synchronization start timing determination unit and the method of calculating the synchronization start position are described, and other descriptions are omitted.
[0083] Figure 5 2 is a diagram showing a configuration of a synchronization start timing determination unit included in the tracking control device according to Embodiment 3. Figure 5 Among the structural elements of Figure 3 In the synchronization start timing determination unit 1 of the illustrated embodiment 1, components having the same functions are denoted by the same reference numerals, and duplicate descriptions are omitted.
[0084] The synchronization start timing determination unit 1A according to the third embodiment includes a synchronization start position calculation unit 10A and a synchronization start position arrival determination unit 11 .
[0085] The synchronization start position calculation unit 10A receives the target position P of the robot 6 from the target position determination unit 3 and receives the conveying speed of the conveyor from an external device such as a sensor. The synchronization start position calculation unit 10A also receives control system parameters from the external device.
[0086] As described above, the third embodiment is different from the first embodiment in that the synchronization start position calculation unit 10A of the synchronization start timing determination unit 1A receives the control system parameter in addition to the target position P and the conveyance speed.
[0087] The synchronization start position calculation unit 10A determines the position of the conveyance object on the conveyor (synchronization start position PS) at which synchronization control is started based on the target position P, the conveyance speed, and the control system parameters. The control system parameters are parameters of feedback control or feedforward control in the control system of each axis of the robot 6 .
[0088] In the control system of each axis of the robot 6, not limited to the tracking control, a delay occurs in the control system of each axis, so the fingertip of the robot 6 moves with a delay from the command value to the control system. For example, when the tracking control device 50A causes the fingertip of the robot 6 to move along a straight line or an arc, the fingertip of the robot 6 moves along the target track with a delay corresponding to the speed of the parameter and the command value of the feedback control or feedforward control. Therefore, in the third embodiment, the relationship between the control system parameter and the conveying speed and the delay amount Ld of the robot 6 in the direction along the straight line or the arc (for example, a corresponding relationship shown in a table form) is stored in advance by the synchronization start position calculation unit 10A.
[0089] Furthermore, the synchronization start position calculation unit 10A stores a function representing the relationship between the control system parameter, the conveying speed, and the delay amount Ld instead of storing the correspondence relationship between the control system parameter, the conveying speed, and the delay amount Ld in a table format or the like. The function representing the relationship between the control system parameter, the conveying speed, and the delay amount Ld may be derived in advance by the synchronization start position calculation unit 10A, or may be derived in advance by another device and stored in the synchronization start position calculation unit 10A.
[0090] The synchronization start position calculation unit 10A derives the delay amount Ld corresponding to the input control system parameters and conveying speed based on the correspondence relationship (table or function) between the control system parameters, conveying speed and the delay amount Ld and the input control system parameters and conveying speed.
[0091] Then, the synchronization start position calculation unit 10A calculates the synchronization start position PS on the conveyor of the conveyance object that starts generating the synchronization command by PS=(Px-L-Ld, Py) using the derived delay amount Ld, and sends the synchronization start position PS as the synchronization start position to the synchronization start position arrival determination unit 11.
[0092] The synchronization start position arrival determination unit 11 receives the synchronization start position PS from the synchronization start position calculation unit 10A. In addition, the synchronization start position arrival determination unit 11 receives the conveying position (position estimation value Xh) at every moment. The conveying position is the position estimated based on the position of the conveying object on the conveyor calculated from the image captured when the conveying object passes through the lower part of the imaging unit provided upstream of the conveyor, the elapsed time from the imaging, and the output of the encoder as a measuring device of the conveyor after the imaging.
[0093] The synchronization start position arrival determination unit 11 compares Px-L-Ld and Xh, and outputs a synchronization start command to the synchronization command generation unit 2 when Xh≥Px-L-Ld is satisfied.
[0094] As described above, in Embodiment 3, the tracking control device 50A calculates the synchronization start position using the control system parameters. That is, the synchronization start timing determination unit 1A determines the synchronization start timing in consideration of the delay of the control system. Therefore, the tracking control device 50A can suppress the influence of the delay of the control system and realize high-precision tracking control after reducing the gripping error of the robot 6 caused by the delay of the control system.
[0095] Implementation method 4.
[0096] Next, use Figure 6 Embodiment 4 is described. The tracking control device of Embodiment 4 calculates the shortest acceleration and deceleration times within the range that does not exceed the maximum and minimum permissible torques acting on the axes of the robot 6 , and generates robot motion commands using the calculated acceleration and deceleration parameters.
[0097] Figure 6 Detailed Description of the Invention 4 is a diagram showing the structure of a tracking control device according to Embodiment 4. Figure 6 Among the structural elements of Figure 1 The tracking control device 50A of the first embodiment shown has the same components with the same functions as those of the first embodiment, and duplicate descriptions are omitted. The conveying system of the fourth embodiment includes a tracking control device 50B, a robot 6, and a conveying device such as a conveyor (not shown).
[0098] Tracking control device 50B includes, in addition to the components of tracking control device 50A, synchronization-considered acceleration / deceleration determiner 8 . Target position determiner 3 of tracking control device 50B sends target position P to motion command generator 4 , synchronization start timing determiner 1 , and synchronization-considered acceleration / deceleration determiner 8 .
[0099] The synchronization-considered acceleration / deceleration determination unit 8 receives the target position P from the target position determination unit 3. The synchronization-considered acceleration / deceleration determination unit 8 stores in advance parameters of the synchronization command (speed pattern) combined with the robot motion command, that is, parameters related to the speed and acceleration / deceleration in the constant speed section of the synchronization command.
[0100] The synchronous consideration acceleration / deceleration determination unit 8 determines acceleration / deceleration parameters within a range that satisfies restrictions on each axis of the robot 6 based on the target position P and the synchronization command synthesized with the robot motion command. The acceleration / deceleration parameters are parameters used for acceleration and deceleration of the robot motion command generated by the motion command generation unit 4. The acceleration / deceleration parameters are, for example, acceleration time and deceleration time when the robot 6 performs synchronization processing according to the synchronization command. The acceleration time and deceleration time determined by the synchronous consideration acceleration / deceleration determination unit 8 are the shortest acceleration time and deceleration time within a range that satisfies the allowable value (allowable torque) of the torque acting on each axis of the robot 6 determined in consideration of the influence of the synchronous motion.
[0101] The synchronization-considered acceleration / deceleration determination unit 8 sends the determined acceleration / deceleration parameters to the motion command generation unit 4. The motion command generation unit 4 generates a robot motion command using the acceleration / deceleration parameters determined by the synchronization-considered acceleration / deceleration determination unit 8.
[0102] Figure 7 This is a diagram for explaining the location where the tracking control device according to Embodiment 4 calculates the torque. The synchronization-considering acceleration / deceleration determination unit 8 determines in advance the length of a section (distance SL) in which a synchronous operation can be performed on the conveyor 32 .
[0103] Next, the synchronization consideration acceleration / deceleration determination unit 8 generates a synchronization command (for example, Figure 2The torque acting on each axis of the robot 6 when the conveying object is moved along the traveling direction of the conveyor 32 according to the speed pattern of the synchronization instruction shown in FIG. 1 ) is calculated. Specifically, the synchronization consideration acceleration / deceleration determination unit 8 calculates the torque τa of each axis at the start of the movement (at the target position P, the speed is 0), the torque τb of each axis at the end of acceleration (at the point TP0 after moving from the target position P in the X-axis direction at a speed of L, the speed in the moving direction of the conveyor 32 is V), and the torques τc1 to τcK (K is a natural number) at each predetermined point from the time of entering the constant speed zone until reaching the point TP1 separated from the target position P in the X-axis direction by a distance SL.
[0104] The synchronous consideration acceleration / deceleration determination unit 8 determines the number of times, for example, between the point TP0 and the previous point TP1. Figure 7 When four points are shown, torques τc1 to τc4 are calculated at the four points. When the robot 6 is a six-axis robot, the torques τa, τb, and τc1 to τc4 are all vectors of six elements.
[0105] Next, the synchronization-considered acceleration / deceleration determination unit 8 obtains the maximum value τsi of each axis component of the torques τa, τb, and τc1 to τc4. max , minimum value τsi min Here, i is the number of axes. If the robot 6 is a 6-axis robot, i is a natural number from 1 to 6. For example, if it is the maximum value of the first axis, then τs1 max , if it is the minimum value of the third axis, then it is τs3 min In addition, the synchronous acceleration / deceleration determination unit 8 calculates τsi max Become τsi max When <0, set τsi max = 0. In addition, the synchronous acceleration / deceleration determination unit 8 takes τsi into account. min >0, set τsi min =0.
[0106] When the influence of synchronization is not considered, the motion command generating unit 4 sets the maximum allowable torque τi in the positive direction of each axis. max The maximum allowable torque in the direction of -τi max Within the range of , calculate the shortest acceleration time Kt0 and deceleration time gt0, and use the acceleration time Kt0 and deceleration time gt0 to generate the robot motion command.
[0107] In the fourth embodiment taking into account the influence of synchronization, the synchronization-considered acceleration / deceleration determination unit 8 calculates the acceleration / deceleration time after correcting the allowable maximum value of each axis to a value taking into account the influence of synchronization.max =τi max -τsi max The maximum permissible torque τzi in the positive direction is obtained by considering the influence of synchronization of each axis. max Calculate by τzi min =-τi max -τsi min Maximum allowable torque in the - direction τzi min Perform calculations.
[0108] The synchronous consideration acceleration / deceleration determination unit 8 determines that the torque of each axis does not exceed τzi max and τzi min The acceleration time Kt1 and the deceleration time gt1 are calculated so that the range of the acceleration time Kt1 and the deceleration time gt1 are the shortest. max And decide not to exceed τzi max The acceleration time Kt1 is based on τzi min And decide not to exceed τzi min The synchronous consideration acceleration / deceleration determination unit 8 sends the acceleration time Kt1 and the deceleration time gt1 to the motion command generation unit 4 as acceleration / deceleration parameters.
[0109] The motion command generation unit 4 receives the acceleration time Kt1 and the deceleration time gt1. The motion command generation unit 4 generates a robot motion command using the received acceleration time Kt1 and deceleration time gt1.
[0110] In the fourth embodiment, the acceleration / deceleration determination unit 8 takes synchronization into consideration based on τzi max The acceleration time Kt1 is determined based on τzi min The case of determining the deceleration time gt1 is described as an example, but the synchronous consideration acceleration / deceleration determination unit 8 may determine the acceleration time Kt1 and the deceleration time gt1 by other methods. max and -τi max The acceleration time Kt1 is calculated within the range of max and τzi min The deceleration time gt1 is calculated within the range of .
[0111] As described above, the synchronization-considered acceleration / deceleration determination unit 8 calculates the shortest acceleration time Kt1 and deceleration time gt1 within the range that does not exceed the maximum and minimum values of the permissible torque. The maximum and minimum values of the permissible torque are set to values that take the influence of synchronization into consideration as described above.
[0112] The synchronous consideration acceleration / deceleration determination unit 8 calculates the acceleration / deceleration time as an instruction before adding the synchronization instruction. Any method can be applied to the calculation method of the acceleration / deceleration time. If the synchronous consideration acceleration / deceleration determination unit 8 calculates the acceleration time Kt1 and the deceleration time gt1 that are the shortest within the range of the allowable torque in consideration of the dynamic characteristics of the robot 6, the acceleration time Kt1 and the deceleration time gt1 can be calculated by any method.
[0113] As described above, the tracking control device 50B of the fourth embodiment calculates the shortest acceleration time and deceleration time within the range that does not exceed the maximum value and the minimum value of the permissible torque, and generates the robot motion command using the calculated acceleration and deceleration parameters. Thus, even when the tracking control device 50B adds the synchronization command to the robot motion command to move the robot 6, it is possible to shorten the motion time by high-speed motion while satisfying the limit of the permissible torque.
[0114] Implementation method 5.
[0115] Next, use Figure 8 and Fig. 9 Embodiment 5 will be described. The tracking control device of Embodiment 5 starts a synchronization command when the robot fingertip reaches an area where there is no interference with the object and the object to be transported reaches the synchronization start position.
[0116] Figure 8 : is a diagram showing the structure of the tracking control device involved in Embodiment 5. Figure 8 Among the structural elements of Figure 1 The tracking control device 50A of the embodiment 1 shown in the figure has the same components with the same functions, and the repeated description is omitted. The conveying system of the embodiment 5 includes a tracking control device 50C, a robot 6, and a conveyor 32 (in Figure 8 Such a conveying device is not shown in the figure.
[0117] The tracking control device 50C further includes an interference influence determination unit 9 in addition to the components included in the tracking control device 50A. The interference influence determination unit 9 receives the robot motion command from the motion command generation unit 4 at every moment.
[0118] The interference influence determination unit 9 determines whether the robot fingertip has reached the interference unnecessary area A1 based on the area where the robot 6 and the conveyed object are unlikely to interfere even if the synchronization command and the robot motion command are added (the interference unnecessary area A1 described later) and the robot motion command. The interference influence determination unit 9 sends information indicating whether the robot fingertip has reached the interference unnecessary area A1 to the synchronization start timing determination unit 1.
[0119] The synchronization start timing determination unit 1 included in the tracking control device 50C of the fifth embodiment outputs a synchronization start command to the synchronization command generation unit 2 when the robot fingertip reaches the interference unnecessary area A1 and the transport object reaches the synchronization start position.
[0120] Compared with the tracking control device 50A, the tracking control device 50C has an interference influence determination unit 9, and different processes are performed by the synchronization start timing determination unit 1, the synchronization command generation unit 2, and the gripping motion control unit 7. The following mainly describes the differences between the processes performed by the tracking control device 50C and the processes performed by the tracking control device 50A.
[0121] Fig. 9 1 is a diagram for explaining an interference region that does not need to be considered and is used when the tracking control device according to the fifth embodiment determines the synchronization start timing. Fig. 9 In FIG. 1 , the conveyance object on which the robot 6 performs work is illustrated as the conveyance object 31 .
[0122] The interference-free area A1 is an area where there is no concern about interference between the robot 6 and an object (such as an obstacle not shown in the figure, such as a device or sensor existing between the robot 6 and the conveyor 32) even if a synchronization command is added to the robot motion command. The interference-free area A1 includes an area through which the conveying object 31 passes.
[0123] The interference influence determination unit 9 stores in advance Fig. 9 The interference influence determination unit 9 receives the robot motion command generated by the motion command generation unit 4 at every moment. The interference influence determination unit 9 determines whether the position of the robot fingertip corresponding to the robot motion command reaches the interference unnecessary area A1.
[0124] The interference influence determination unit 9 outputs information indicating that the robot fingertip has not reached the interference-free area A1 (e.g., "0") to the synchronization start timing determination unit 1 until the position of the robot fingertip reaches the interference-free area A1. The interference influence determination unit 9 outputs information indicating that the robot fingertip has reached the interference-free area A1 (e.g., "1") to the synchronization start timing determination unit 1 after the position of the robot fingertip reaches the interference-free area A1.
[0125] The synchronization start position arrival determination unit 11 of the synchronization start timing determination unit 1 determines whether the transport object 31 has arrived at the synchronization start position, similarly to Embodiment 1. The synchronization start timing determination unit 1 of Embodiment 5 does not output the synchronization start command to the synchronization command generation unit 2 when the output from the interference influence determination unit 9 is "0" even if the transport object 31 has arrived at the synchronization start position, that is, when receiving information indicating that the transport object 31 has not arrived.
[0126] When the object 31 reaches the synchronization start position and the output from the interference influence determination unit 9 is "1", the synchronization start timing determination unit 1 outputs the synchronization start instruction to the synchronization instruction generation unit 2. When the object 31 reaches the synchronization start position and the output from the interference influence determination unit 9 is already "1", the synchronization start timing determination unit 1 immediately outputs the synchronization start instruction to the synchronization instruction generation unit 2. That is, when the output from the interference influence determination unit 9 is "1", the synchronization start timing determination unit 1 outputs the synchronization start instruction to the synchronization instruction generation unit 2 at the time point when the object 31 reaches the synchronization start position.
[0127] As described above, the synchronization start timing determination unit 1 outputs a synchronization start command to the synchronization command generation unit 2 when the position of the robot fingertip reaches the interference unnecessary area A1 and the transport object 31 reaches the synchronization start position.
[0128] The synchronization command generation unit 2 sometimes takes interference into consideration, and thus the output of the synchronization start command may be delayed from the desired timing. In this case, if the tracking control device 50C directly uses the synchronization command generated by the synchronization command generation unit 2, the position of the robot fingertip will be offset by the amount of the synchronization start delay. Therefore, the synchronization command generation unit 2 outputs a synchronization command after the offset position is corrected. For example, if the delay from the desired timing of the synchronization start command output by the synchronization start timing determination unit 1 is set to Kd, the timing is delayed, and the transport object 31 moves to a position where Lc=Kd×V advances. Therefore, the synchronization command generation unit 2 generates a command (hereinafter referred to as a correction command) for moving from (Px, Py) to (Px+Lc, Py) with an acceleration time Kt starting from (Px, Py). The synchronization command generation unit 2 superimposes the correction command for moving to (Px+Lc, Py) with an acceleration time Kt on the original synchronization command with no timing delay, and sends it to the synthesis unit 15 as a corrected synchronization command.
[0129] If the result obtained by superimposing the correction instruction is output as the synchronization instruction, it is expected that the maximum value or minimum value of the allowable torque will be exceeded, and the synchronization instruction generation unit 2 calculates the arrival time Kt2 that can reach the position (Px+Lc, Py) without exceeding the maximum value or minimum value of the allowable torque. In this case, the synchronization instruction generation unit 2 superimposes the correction instruction for moving to (Px+Lc, Py) by the arrival time Kt2 on the original synchronization instruction with no timing delay, and sends it to the synthesis unit 15 as the synchronization instruction.
[0130] The gripping operation control unit 7 starts the gripping operation at the later time between time tr1 when the position command generated by the operation command generating unit 4 reaches the target position P and time tr2 after the acceleration time Kt has elapsed since the generation of the synchronization command.
[0131] In addition, when the arrival time to (Px+Lc, Py) is the arrival time Kt2 which is longer than the acceleration time Kt, the grasping action control unit 7 starts the grasping action at the later time between the moment tr1 when the position instruction generated by the action instruction generating unit 4 reaches the target position P and the moment tr3 after the arrival time Kt2 from the start of the generation of the synchronization instruction.
[0132] As described above, in the tracking control device 50C of the fifth embodiment, the synchronization start timing determination unit 1 determines the timing of starting the synchronization command in consideration of the output from the interference influence determination unit 9. That is, when the position of the robot fingertip reaches the interference-free area A1 and the transport object 31 reaches the synchronization start position, the synchronization start timing determination unit 1 of the tracking control device 50C outputs the synchronization start command to the synchronization command generation unit 2. Thus, the tracking control device 50C can prevent the occurrence of interference, synchronize the position and speed of the robot 6 and the transport object 31, and shorten the operation time of the robot 6.
[0133] Implementation method 6.
[0134] Next, use Fig.10 Embodiment 6 is described. The tracking control device 50A of Embodiment 6 learns the correspondence between the target position P, the conveying speed, the control system parameters, and the delay amount Ld, and estimates the delay amount Ld based on the target position P, the conveying speed, and the control system parameters when controlling the robot 6.
[0135] In the tracking control device 50A of the sixth embodiment, the synchronization start timing determination unit 1A includes a learning unit. The tracking control device 50A of the sixth embodiment and the tracking control device 50A of the third embodiment differ in the processing performed by the synchronization start timing determination unit 1A. The synchronization start timing determination unit 1A of the sixth embodiment differs from the synchronization start timing determination unit 1A of the third embodiment in the method of deriving the input target position P, the conveying speed, and the delay amount Ld derived from the control system parameters. The following mainly describes the method of deriving the delay amount Ld.
[0136] Fig.101 is a diagram showing a configuration of a learning unit included in a tracking control device according to Embodiment 6. The learning unit (learning device) 21 included in the tracking control device 50A is disposed, for example, in the synchronization start timing determination unit 1A. The learning unit (learning device) 21 performs both learning and estimation.
[0137] The learning unit 21 as the first learning unit has a neural network (neural network) and learns in advance the correspondence (first correspondence) between the combination of the target position P, the conveying speed and the control system parameters and the delay amount Ld. When learning, the learning unit 21 uses the target position P, the conveying speed and the control system parameters as inputs of the neural network, and uses the target position P, the conveying speed and the delay amount Ld corresponding to the control system parameters at the time of input as outputs (teacher signals) of the neural network to perform learning of the neural network.
[0138] The learned neural network is stored in the synchronization start position calculation unit 10A. When the tracking control device 50A actually moves the robot 6, the learning unit 21 outputs the target position P, the conveying speed, and the delay amount Ld corresponding to the control system parameters input to the neural network from the neural network. The synchronization start position calculation unit 10A uses the delay amount Ld output from the neural network to calculate the synchronization start position PS on the conveyor 32 of the conveying object that starts the generation of the synchronization command by PS=(Px-L-Ld, Py), and sends the synchronization start position PS as the synchronization start position to the synchronization start position arrival determination unit 11. As described above, in the sixth embodiment, the learning unit 21 uses the neural network to derive one of the parameters when performing tracking control, namely the delay amount Ld.
[0139] In addition, the learning unit 21 may be arranged at any position. The learning unit 21 may be arranged inside the tracking control device 50A or may be arranged outside. The learning unit 21 may be arranged in a server, for example.
[0140] Here, the details of the learning unit 21 are described. The learning unit 21 obtains a combination of the target position P, the conveying speed, and the control system parameters (hereinafter, sometimes referred to as combination information) and a delay amount Ld corresponding to the combination information (first combination information). The delay amount Ld obtained by the learning unit 21 may be the delay amount Ld calculated by the synchronization start position calculation unit 10A of the third embodiment, or may be the delay amount Ld calculated by another device.
[0141] The learning unit 21 uses the learning data created based on the combination of the combination information and the delay amount Ld to learn the delay amount Ld corresponding to the combination information. In other words, the learning unit 21 learns the delay amount Ld in the case of the combination information based on the learning data. That is, the learning unit 21 generates a trained model (neural circuit network, etc.) that infers the delay amount Ld based on the combination information. Here, the learning data is data in which the combination information and the delay amount Ld are associated with each other. The learning unit 21 stores the generated trained model.
[0142] The learning unit 21 learns the delay amount Ld corresponding to the combination information by so-called supervised learning, for example, according to the neural network model. Here, supervised learning refers to a method in which a data set (learning data) of input and result (label) is given to the learning unit 21, thereby learning the features contained in the learning data and inferring the result based on the input.
[0143] The neural network is composed of an input layer composed of multiple neurons, an intermediate layer (hidden layer) composed of multiple neurons, and an output layer composed of multiple neurons. The intermediate layer can be one layer or two or more layers.
[0144] For example, in a three-layer neural network, after a plurality of input data are input to the input layer, the values are multiplied by weights and input to the middle layer. Furthermore, the results are further multiplied by weights and output from the output layer. The output results change according to the weight values.
[0145] Fig.10 The neural circuit network used in the learning unit 21 learns the delay amount Ld corresponding to the combination information by so-called tutored learning according to the learning data created based on the combination of the combination information and the delay amount Ld. In other words, the neural circuit network used in the learning unit 21 learns the delay amount Ld corresponding to the combination information by so-called tutored learning according to the combination information and the delay amount Ld created based on the combination of the obtained first input and the second input (correct answer).
[0146] That is, the neural network learns by adjusting the weights so that the result output from the output layer after the combination information as the first input is inputted is close to the second input (correct answer). Specifically, the neural network learns by adjusting the weights so that the result output from the output layer after the combination information is inputted to the input layer is close to the delay amount Ld.
[0147] The neural circuit network learns the correspondence between the combination information and the delay amount Ld, thereby generating a trained model that can output an appropriate delay amount Ld when the combination information is input. As described above, the learning unit 21 learns a trained model that can output a delay amount Ld that is a correct answer when the combination information is input. The learning unit 21 generates a trained model shown in the neural circuit network by performing the above learning, and stores the neural circuit network.
[0148] The learning unit 21 acquires the combination information when estimating the delay amount Ld. When actually controlling the robot 6, the learning unit 21 uses the trained neural network, i.e., the trained model, to estimate the delay amount Ld corresponding to the combination information. That is, the learning unit 21 can output the appropriate delay amount Ld estimated based on the combination information by inputting the combination information to the trained model.
[0149] As described above, the combination of the combination information and the delay amount Ld is data used in learning, and the combination information is data used in inference. The tracking control device 50A of the sixth embodiment learns the trained model based on the combination of the combination information and the delay amount Ld, and then infers the delay amount Ld by applying the combination information to the trained model. Thus, the tracking control device 50A of the sixth embodiment can infer the delay amount Ld using the trained model after learning the trained model.
[0150] In addition, in Embodiment 6, the case where the learning unit 21 generates a trained model and outputs an appropriate delay amount Ld using the trained model is described, but the learning unit 21 may obtain a trained model from another learning unit. In this case, the learning unit 21 outputs an appropriate delay amount Ld based on the trained model obtained from another learning unit or the like.
[0151] In addition, the tracking control device 50A can use the combination information as the target position P and the conveying speed, and the control system parameters are not included in the combination information. That is, the tracking control device 50A can learn the corresponding relationship between the combination of the target position P and the conveying speed and the delay amount Ld, and infer the delay amount Ld based on the target position P and the conveying speed when controlling the robot 6.
[0152] As described above, according to the sixth embodiment, the learning unit 21 learns the correspondence between the combination information and the delay amount Ld, and estimates the delay amount Ld based on the combination information when controlling the robot 6, so that the synchronization start position calculation unit 10A can accurately calculate the appropriate synchronization start position. As a result, the tracking control device 50A can correct the influence of the delay of the control system with high accuracy.
[0153] Implementation method 7.
[0154] Next, use Fig.11 Embodiment 7 is described. The tracking control device 50A of Embodiment 7 learns the correspondence between the action start position of the robot 6, the conveying speed, and the position of the conveying object on the conveyor 32, that is, the object position and the target position P, and when controlling the robot 6, the target position P is inferred based on the action start position, the conveying speed, and the object position.
[0155] In the tracking control device 50A of the seventh embodiment, the target position determination unit 3 includes a learning unit. The tracking control device 50A of the seventh embodiment is different from the tracking control device 50A of the third embodiment in the processing executed by the target position determination unit 3 .
[0156] Fig.11 It is a diagram showing a configuration of a learning unit included in the tracking control device according to Embodiment 7. The learning unit (learning device) 22 included in the tracking control device 50A is disposed in the target position determination unit 3 , for example.
[0157] The learning unit 22 as the second learning unit has a neural network (neural network) and pre-learns the correspondence relationship (second correspondence relationship) between the combination of the action start position, the conveying speed, and the object position and the target position P. That is, in the seventh embodiment, the combination of the action start position, the conveying speed, and the object position is the combination information (second combination information).
[0158] When learning the correspondence relationship between the combination information and the target position P, the simulator is used to repeatedly calculate the target position P that minimizes the work time for each combination of the operation start position, the conveying speed, and the object position.
[0159] The learning unit 22 uses the action start position, conveying speed and object position as inputs of the neural network, and uses the input action start position, conveying speed and target position P with the shortest operation time corresponding to the object position as outputs (teacher signals) of the neural network to perform learning of the neural network.
[0160] The learned neural circuit network is stored in the target position determination unit 3. When the tracking control device 50A actually moves the robot 6, the learning unit 22 outputs the action start position, the conveying speed, and the target position P corresponding to the object position input to the neural circuit network from the neural circuit network. The target position determination unit 3 sends the target position P output from the neural circuit network to the synchronization start timing determination unit 1 and the action command generation unit 4. As described above, in the seventh embodiment, the learning unit 22 uses the neural circuit network to derive the target position P regarded as a parameter when performing tracking control.
[0161] As described above, the information input and output of the learning unit 22 and the learning unit 21 are different during learning, but the learning process performed by the learning unit 22 is the same as that of the learning unit 21. In addition, the information input and output of the learning unit 22 and the learning unit 21 are different during inference, but the inference process performed by the learning unit 22 is the same as that of the learning unit 21.
[0162] In addition, the learning unit 22 may be arranged at any position. The learning unit 22 may be arranged inside the tracking control device 50A or may be arranged outside. The learning unit 22 may be arranged in a server, for example.
[0163] As described above, in the seventh embodiment, the learning unit 22 learns the correspondence between the action start position, the conveying speed, the object position, and the target position P, and estimates the target position P based on the action start position, the conveying speed, and the object position when controlling the robot 6. As a result, the target position determination unit 3 can accurately calculate the appropriate target position P, so the tracking control device 50A can further reduce the gripping error generated by the robot 6 and further shorten the action time of the robot 6.
[0164] Here, the hardware structure of the tracking control devices 50A to 50C is described. The tracking control devices 50A to 50C are implemented by a processing circuit. The processing circuit may be a processor and a memory that executes a program stored in a memory, or may be dedicated hardware. The processing circuit is also called a control circuit.
[0165] Fig.12 This is a diagram showing a configuration example of a processing circuit when the processing circuit included in the tracking control device according to Embodiments 1 to 7 is realized by a processor and a memory. The tracking control devices 50A to 50C have the same hardware configuration, so here, the hardware configuration of the tracking control device 50A is described.
[0166] Fig.12The processing circuit 90 shown is a control circuit, and has a processor 91 and a memory 92. When the processing circuit 90 is composed of the processor 91 and the memory 92, each function of the processing circuit 90 is implemented by software, firmware, or a combination of software and firmware. The software or firmware is described as a program and stored in the memory 92. In the processing circuit 90, the program stored in the memory 92 is read out and executed by the processor 91, thereby realizing each function. That is, the processing circuit 90 has a memory 92, and the memory 92 is used to store a control program for finally executing the processing of the tracking control device 50A. The control program can be said to be a program for causing the tracking control device 50A to execute each function realized by the processing circuit 90. The control program can be provided through a storage medium storing the program, or can be provided through other units such as a communication medium.
[0167] Here, the processor 91 is, for example, a CPU (Central Processing Unit), a processing device, an arithmetic device, a microprocessor, a microcomputer, or a DSP (Digital Signal Processor), etc. In addition, the memory 92 is, for example, a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable ROM), an EEPROM (registered trademark) (Electrically EPROM), or other non-volatile or volatile semiconductor memory, a magnetic disk, a floppy disk, an optical disk, a compact disk, a mini disk, or a DVD (Digital Versatile Disc), etc.
[0168] Fig.13 This is a diagram showing an example of a processing circuit in the case where the processing circuit included in the tracking control device according to Embodiments 1 to 7 is realized by dedicated hardware. Fig.13 The processing circuit 93 shown is, for example, a single circuit, a complex circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof.
[0169] The processing circuits 90 and 93 may be partially implemented by dedicated hardware and partially implemented by software or firmware. As described above, the processing circuits 90 and 93 may implement the above functions by dedicated hardware, software, firmware or a combination thereof.
[0170] Furthermore, the synchronization start timing determination unit 1, the synchronization command generation unit 2, the target position determination unit 3, the motion command generation unit 4, the axis control unit 5, the gripping motion control unit 7 and the synthesis unit 15 may be realized by separate processing circuits.
[0171] The configuration described in the above embodiment is merely an example, and may be combined with other known technologies, the embodiments may be combined with each other, and part of the configuration may be omitted or changed without departing from the gist.
[0172] Description of the label
[0173] 1, 1A synchronization start timing determination unit, 2 synchronization instruction generation unit, 3 target position determination unit, 4 action instruction generation unit, 5 each axis control unit, 6 robot, 7 gripping action control unit, 8 synchronization consideration acceleration and deceleration determination unit, 9 interference influence judgment unit, 10, 10A synchronization start position calculation unit, 11 synchronization start position arrival judgment unit, 15 synthesis unit, 21, 22 learning unit, 31 conveying object, 32 conveyor, 50A~50C tracking control device, 90, 93 processing circuit, 91 processor, 92 memory, A1 does not need to consider the interference area, P target position, P0 specific location, P1~Pk, Pm, Pn, PA, TP0, TP1 location, PS synchronization start position.
Claims
1. A tracking control device, characterized in that: have: a synchronization command generating unit for generating a synchronization command for synchronizing the operation of a mechanical system that performs an operation on an object to be conveyed with the operation of a conveying device that conveys the object to be conveyed, based on a synchronization start timing that is a timing for starting synchronization determined according to a conveying speed of the object to be conveyed; an operation command generating unit for generating a mechanical system operation command which is a command to a target position of the mechanical system; and a synthesis unit that synthesizes the synchronization instruction and the mechanical system motion instruction to generate a synthesis instruction, and outputs the generated synthesis instruction, The synchronization command generation unit generates the synchronization command for starting the synchronization before the mechanical system reaches the target position.
2. The tracking control device according to claim 1, characterized in that: The method further includes a synchronization start timing determination unit that determines the synchronization start timing based on the target position, the position of the transport object, and the transport speed.
3. The tracking control device according to claim 2, characterized in that: The synchronization start timing determination unit determines the time point when the transport object arrives at a position ahead of the target position by a predetermined specific distance, namely, the synchronization start position, as the timing of the synchronization start, namely, the synchronization start timing, and outputs a synchronization start instruction indicating the synchronization start timing to the synchronization instruction generation unit. The synchronization command generation unit generates the synchronization command upon receiving the synchronization start command.
4. The tracking control device according to claim 3, characterized in that: The synchronization start timing determination unit determines a distance calculated based on a product of a time for acceleration of the mechanical system and a speed when performing the synchronization as the specific distance, and determines the synchronization start position based on the specific distance.
5. The tracking control device according to any one of claims 1 to 4, characterized in that: The synchronization command generation unit generates a speed command to the mechanical system specified by the synchronization command using a rectangular wave speed command and a moving average filter.
6. The tracking control device according to claim 4, characterized in that: The synchronization start timing determination unit determines the synchronization start position based on a control system parameter used by a control system of the mechanical system.
7. The tracking control device according to any one of claims 1 to 6, characterized in that: The apparatus further comprises an acceleration / deceleration determination unit for determining acceleration / deceleration parameters, which are parameters for acceleration and deceleration when the mechanical system performs the synchronization according to the synchronization command. The acceleration / deceleration determination unit determines the acceleration / deceleration parameters within a range satisfying restrictions on each axis of the mechanical system based on the synchronization command synthesized with the mechanical system operation command. The motion command generation unit generates the mechanical system motion command based on the acceleration / deceleration parameter.
8. The tracking control device according to claim 3, characterized in that: The synchronization start timing determination unit sets the timing when the mechanical system reaches a region where the mechanical system is unlikely to interfere with an object, that is, an interference-neglecting region, and when the mechanical system reaches the synchronization start position as the synchronization start timing.
9. The tracking control device according to claim 6, characterized in that: The invention further comprises a first learning unit for learning a first correspondence relationship between a combination of the control system parameter, the target position and the conveying speed, i.e., first combination information, and a delay amount of the action of the mechanical system, i.e., a first correspondence relationship. When the first learning unit receives the first combination information, the first learning unit estimates the delay amount corresponding to the first combination information using the first correspondence relationship. The synchronization start timing determination unit determines the synchronization start position based on the estimated delay amount.
10. The tracking control device according to any one of claims 1 to 9, characterized in that: The invention also comprises a second learning unit for learning a correspondence relationship between a combination of a motion start position of the mechanical system, a conveying speed, and a position of the conveying object on the conveying device, i.e., a second combination information, and the target position, i.e., a second correspondence relationship. Upon receiving the second combination information, the second learning unit estimates the target position corresponding to the second combination information using the second correspondence relationship.
11. A tracking control method, characterized in that: Include: A synchronization instruction generating step, wherein the tracking control device generates a synchronization instruction for synchronizing the action of a mechanical system that performs work on the conveying object with the action of a conveying device that conveys the conveying object based on the synchronization start timing determined according to the conveying speed of the conveying object; an action instruction generating step, wherein the tracking control device generates an instruction until the target position of the mechanical system, that is, a mechanical system action instruction; and a synthesis step, wherein the tracking control device synthesizes the synchronization instruction and the mechanical system motion instruction to generate a synthesized instruction, and outputs the generated synthesized instruction; In the synchronization command generation step, the tracking control device generates the synchronization command for starting the synchronization before the mechanical system reaches the target position.
Citation Information
Patent Citations
Robot control apparatus, robot control method, and robot control program
JP2019025618A