Tracking control device and tracking control method
The tracking control device synchronizes the robot's motion with the conveyor speed before reaching the target position, addressing delays in existing systems and enhancing operational efficiency by allowing the robot to start work promptly.
Patent Information
- Application Number
- JP2024542452
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-08-22
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2042-08-22
AI Technical Summary
Existing tracking control systems for robots on conveyors require synchronization after the robot hand reaches the object, leading to a delay before the robot can start work, thereby increasing overall work time.
A tracking control device that generates a synchronization command to synchronize the robot's operation with the conveyor's transport speed before the robot reaches the target position, using a synchronization start timing determined by the transport speed and position, allowing the robot to start working sooner.
The solution reduces the time it takes for the robot to begin working by synchronizing its motion with the conveyor speed ahead of time, thereby minimizing delays and improving operational efficiency.
Smart Images

Figure 0007763962000001 
Figure 0007763962000002 
Figure 0007763962000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a tracking control device and a tracking control method for controlling mechanical systems such as robots that perform work on objects moving on a transport means such as a conveyor, and automatic assembly machines. [Background technology]
[0002] In the transport system, the robot works on the object while it is being transported on the conveyor without stopping, eliminating the need for intermittent driving of the conveyor and the need for the robot to temporarily place the object while it works. This reduces the system cost and shortens the overall work time by reducing the number of work steps.
[0003] The tracking control device described in Patent Document 1 calculates a predicted picking position where a robot is predicted to pick up an object being transported, based on sensing information of the workpiece, which is the object to be transported, and the transport speed of the transport device. This tracking control device generates a motion trajectory of the robot from the operation start position to the predicted picking position, based on the robot's posture at the operation start position and its posture at the predicted picking position. The robot is then controlled according to the motion trajectory, and after the robot reaches the predicted picking position, it synchronizes the robot's motion with the transport speed of the transport device, and then picks up the object being transported by the transport device. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 2019-25618 Summary of the Invention [Problem to be solved by the invention]
[0005] However, in the technology of Patent Document 1, the speeds of the transport device and the robot are synchronized after the robot hand reaches the object to be transported, which means that it takes time before the robot can start work such as picking, which results in a long time before the robot can start work.
[0006] The present disclosure has been made in view of the above, and aims to provide a tracking control device that can shorten the time it takes for a robot to start working. [Means for solving the problem]
[0007] To solve the above-mentioned problems and achieve the object, a tracking control device disclosed herein includes a synchronization command generation unit that generates a synchronization command that synchronizes the operation of a mechanical system that performs work on a transported object with the operation of a transport device that transports the transported object, based on a synchronization start timing that is the timing at which synchronization starts and is determined based on the transport speed of the transported object.The tracking control device also includes an operation command generation unit that generates a mechanical system operation command that is a command for the mechanical system to reach a target position, and a combination unit that combines the synchronization command and the mechanical system operation command to generate a combined command and outputs the generated combined command.The synchronization command generation unit generates a synchronization command that starts synchronization before the mechanical system reaches the target position. [Effects of the Invention]
[0008] The tracking control device according to the present disclosure has the effect of reducing the time it takes for a robot to start working. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram showing a configuration of a tracking control device according to a first embodiment; [Figure 2] FIG. 10 is a diagram for explaining an example of a velocity waveform of a synchronization command generated by the tracking control device according to the first embodiment; [Figure 3]FIG. 1 is a diagram illustrating a configuration of a synchronization start timing determination unit included in the tracking control device according to the first embodiment; [Figure 4] 1 is a flowchart showing a processing procedure of a process executed by a tracking control device according to a first embodiment; [Figure 5] FIG. 11 is a diagram illustrating a configuration of a synchronization start timing determination unit included in the tracking control device according to the third embodiment. [Figure 6] FIG. 10 is a diagram showing a configuration of a tracking control device according to a fourth embodiment; [Figure 7] FIG. 10 is a diagram for explaining a point where a tracking control device according to a fourth embodiment calculates torque. [Figure 8] FIG. 13 is a diagram showing a configuration of a tracking control device according to a fifth embodiment. [Figure 9] FIG. 13 is a diagram for explaining an interference consideration-free region used when the tracking control device according to the fifth embodiment determines the synchronization start timing. [Figure 10] FIG. 20 is a diagram showing a configuration of a learning unit included in a tracking control device according to a sixth embodiment; [Figure 11] FIG. 20 is a diagram showing a configuration of a learning unit included in a tracking control device according to a seventh embodiment; [Figure 12] FIG. 10 is a diagram showing a configuration example of a processing circuit provided in the tracking control device according to the first to seventh embodiments when the processing circuit is realized by a processor and a memory. [Figure 13] FIG. 10 is a diagram showing an example of a processing circuit when the processing circuit included in the tracking control device according to the first to seventh embodiments is realized by dedicated hardware. DETAILED DESCRIPTION OF THE INVENTION
[0010] A tracking control device and a tracking control method according to an embodiment of the present disclosure will be described in detail below with reference to the accompanying drawings.
[0011] Embodiment 1 1 is a diagram showing the configuration of a tracking control device according to embodiment 1. The transport system of embodiment 1 includes a tracking control device 50A, a robot 6, and a transport device such as a conveyor (not shown).
[0012] The tracking control device (mechanical system control device) 50A is a computer that controls mechanical systems such as robots that perform work on objects moving on a transport means such as a conveyor, automatic assembly machines, etc. In the first embodiment, a case will be described in which the tracking control device 50A controls the robot 6. The tracking control device 50A is connected to the robot 6.
[0013] The robot 6 is a robot that performs work on transport objects such as workpieces transported by a conveyor. An example of the robot 6 is a robot that picks up transport objects. The robot 6 may be a robot that places the picked up workpiece on the transport object transported by the conveyor, or a robot that performs work such as screw tightening.
[0014] The tracking control device 50A of the first embodiment starts synchronizing the movement speed of the robot 6 with the conveying speed of a conveying device such as a conveyor before the robot 6 reaches the object to be conveyed. The synchronization process between the conveying speed and the movement speed of the robot 6 is a process in which the relative speed between the conveying speed and the movement speed of the robot 6 is controlled to zero. 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 be the same as the conveying speed. Hereinafter, the control of the robot 6 to synchronize the movement speed of the robot 6 with the conveying speed will be referred to as synchronization control.
[0015] 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, each axis control unit 5, a gripping operation control unit 7, and a synthesis unit 15.
[0016] The target position determination unit 3 receives the conveyance speed of the conveyor and the conveyance position of the object from an external device. The target position determination unit 3 receives the conveyance speed and the conveyance position every time from, for example, a conveyance control device that controls a conveyance device such as a conveyor. The target position determination unit 3 may also receive the conveyance speed and the conveyance position every time from a sensor, a camera, or the like.
[0017] The target position determination unit 3 determines the target position of the robot 6 (robot target position) based on the transport speed and transport position. The target position is the target position of the operation command generated by the operation command generation unit 4, and is the reference position when the robot 6 performs work on the transported object. The robot 6 operates in accordance with the synchronization command generated by the synchronization command generation unit 2 and the robot operation command generated by the operation command generation unit 4, which is an operation command that does not take into account synchronization with the robot 6. The target position determination unit 3 sends the target position to the operation command generation unit 4 and the synchronization start timing determination unit 1.
[0018] The robot operation command generator 4 generates the operation command based on the target position. Robot 6 The operation command generator 4 generates a robot operation command (mechanical system operation command) which is an operation command for the robot 6 to move to the target position. The robot operation command includes a position command for the target position. The operation command generator 4 sends the generated robot operation command to the synthesizer 15.
[0019] Furthermore, the operation command generation unit 4 generates a gripping operation command that commands the robot 6 to perform a gripping operation at a target position based on a gripping program for executing the gripping operation, etc. The gripping operation command is a command to operate the robot hand, which is the hand of the robot 6. The operations specified by the gripping operation command include, for example, an operation to lower the robot hand to the position of the transport object, an operation to open and close the robot hand, and an operation to return the robot hand to its original position. The operation command generation unit 4 sends the gripping operation command to the gripping operation control unit 7. Note that the operation command generation unit 4 may also generate a work command that commands a work other than a gripping operation and send it to the gripping operation control unit 7.
[0020] The synchronization start timing determination unit 1 receives the conveyance speed of the conveyor and the conveyance position of the object to be conveyed from an external device, and receives the target position from the target position determination unit 3. The synchronization start timing determination unit 1 determines the timing to start synchronization control using a synchronization command (hereinafter, sometimes referred to as synchronization start timing) based on the conveyance speed, conveyance position, and target position. The synchronization start timing is the timing before the robot 6 reaches the target position specified in the robot operation command. In other words, the synchronization start timing is the timing for starting synchronization control before the robot 6 reaches the target position specified in the robot operation command. The synchronization start timing determination unit 1 sends a synchronization start command indicating the determined synchronization start timing to the synchronization command generation unit 2.
[0021] When the synchronization command generation unit 2 receives a synchronization start command from the synchronization start timing determination unit 1, it generates a synchronization command for synchronizing with the conveyor transport speed based on the synchronization start command. The synchronization command generation unit 2 generates a synchronization command for starting synchronization control before the robot 6 reaches the target position specified in the robot operation command. In other words, the synchronization command generation unit 2 starts generating a synchronization command before the robot operation command generated by the operation command generation unit 4 reaches the target position.
[0022] For example, if a conveyor that moves an object to be conveyed in a linear direction is used as the conveyance device, the synchronization command generation unit 2 generates a synchronization command (motion command) that causes the robot hand of the robot 6 to move parallel to the conveyor, with the target position of the robot motion command generated by the motion command generation unit 4 as the starting point and the conveyor's transport speed as the target speed. This synchronization command includes a command to accelerate until the target speed is reached, a command to operate at the target speed, and a command to decelerate from the target speed until stopping. The synchronization command generation unit 2 sends the generated synchronization command to the synthesis unit 15.
[0023] The synthesis 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.
[0024] 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 a combined command (an operation command obtained by combining a synchronization command and a robot operation command) sent from the combining unit 15. The gripping operation control unit 7 controls the robot hand in accordance with the gripping operation command sent from the operation command generating unit 4.
[0025] Here, an example of a velocity waveform in a Cartesian coordinate system of a synchronization command generated by the synchronization command generating unit 2 will be described. FIG. 2 is a diagram for explaining an example of a velocity waveform of a synchronization command generated by the tracking control device according to the first embodiment. The horizontal axis of the graph shown in FIG. 2 represents time, and the vertical axis represents the velocity command of the synchronization command. The positive side of the vertical axis corresponds to the operating direction of the conveyor (the conveying direction of the object to be conveyed). Note that in FIG. 2, the velocity command during deceleration is not shown.
[0026] 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 after reaching the conveying speed V, to move parallel to the conveyor while maintaining the conveying speed V. This speed command accelerates from 0 to the conveying speed V of the conveyor at a constant acceleration during the acceleration time Kt.
[0027] The distance traveled by the robot hand during the acceleration time Kt under the synchronization command is the acceleration distance L. In other words, the distance traveled while the robot hand is accelerating up to the conveying speed V under the synchronization command is the acceleration distance L. In Figure 2, the acceleration time Kt Between The acceleration distance L, which is the movement distance of the synchronization command, is shown by the shaded area.
[0028] As shown in Figure 2, if the acceleration is constant during acceleration and the velocity waveform during acceleration is shown as a straight line, L = (V × Kt) / 2. Robot minions The moving distance of the rotational axis is the deceleration distance. When the acceleration and deceleration are constant and the velocity waveform during acceleration and deceleration is shown as a straight line, the velocity waveform of the synchronization command is a trapezoidal velocity command.
[0029] 3 is a diagram illustrating a configuration of a synchronization start timing determination unit included in the tracking control device according to the 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.
[0030] The synchronization start position calculation unit 10 receives a target position, which is a target position 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.
[0031] The synchronization start position calculation unit 10 determines the position of the transport object on the conveyor at which synchronization control starts (hereinafter, may be referred to as the synchronization start position) based on the target position and transport speed. That is, the synchronization start position calculation unit 10 determines the position of the transport object on the conveyor at which synchronization command generation by the synchronization command generation unit 2 starts. In the first embodiment, the synchronization start position is referred to as the synchronization start position PS.
[0032] For example, if the target position determined by the target position determination unit 3 is set to target position P, the synchronization start position calculation unit 10 determines the position of the object to be conveyed on the conveyor at which generation of the synchronization command starts, as the position that is a point that is back from the target position P in the upstream direction of the conveyor by the acceleration distance L in the synchronization command. In other words, the synchronization start position calculation unit 10 determines the point at which the object to be conveyed reaches a position that is a predetermined specific distance (acceleration distance L) ahead of the target position P as the synchronization start position PS.
[0033] If the direction of movement (transport direction) of the object to be transported by the conveyor is the positive X-axis direction, the axis perpendicular to the X-axis in the horizontal plane is the Y-axis, and the XY coordinates of the target position P of the robot 6 are (Px, Py), the synchronization start position PS at which a synchronization command is initiated is PS = (Px - L, Py). In other words, synchronization control begins when the object to be transported 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.
[0034] The synchronization start position arrival determination unit 11 receives the synchronization start position PS from the synchronization start position calculation unit 10, and receives the moment-by-moment transfer position of the transfer object from an external device such as a transfer control device. The moment-by-moment transfer position received by the synchronization start position arrival determination unit 11 from the external device is an estimate of the position of the transfer object (position estimate value Xh). The position estimate value Xh, which is the transfer position, is estimated based on the position of the transfer object on the conveyor calculated from an image captured when the transfer object passes under an imaging unit (camera, etc.) installed upstream of the conveyor, the elapsed time since the image capture, and the post-image capture output from an encoder, which is a measuring device provided on the conveyor.
[0035] The synchronization start position arrival determination unit 11 compares Px-L with Xh, and when Xh≧Px-L, outputs a synchronization start command to the synchronization command generation unit 2. For example, when Xh=Px-L, the synchronization start position arrival determination unit 11 outputs the synchronization start command to the synchronization command generation unit 2. That is, the synchronization start position arrival determination unit 11 sets the time when the transported object reaches a position a predetermined specific distance (acceleration distance L) ahead of the target position P as the synchronization start timing, which is the timing to start synchronization, and outputs the synchronization start command to the synchronization command generation unit 2.
[0036] The synchronization start position arrival determination unit 11 is not limited to estimating the position estimate value Xh using the estimation method described above, and may estimate the position estimate value Xh using a speed command to the conveyor or a design value for the conveyor speed instead of the encoder output.
[0037] In addition, in the conveying system, the conveyor may not be provided with an encoder, and the image of the conveyed object may be captured multiple times at intervals by an imaging unit installed upstream of the conveyor. In this case, the synchronization start position arrival determination unit 11 estimates the position estimate value Xh of the conveyed object based on, for example, the conveyor speed estimated from the multiple image capture results and the elapsed time since the image capture.
[0038] The synchronization command generator 2 generates a synchronization command that has a speed pattern as shown in Fig. 2, with the starting point specified by the robot operation command generated by the operation command generator 4 as the target position P. In this case, the increment of the position command after the acceleration time Kt from the start of the generation of the synchronization command is L, so the synchronization command generated by the synchronization command generator 2 A The amount of movement from Px in the operation direction is L, and the speed command in the conveyor operation direction is V. That is, the speed of the robot 6 becomes V when it has moved L from Px in the conveyance direction.
[0039] Furthermore, the position of the transport object on the conveyor in the X direction is Px - L + (V × Kt). Here, V × Kt is 2L, so the position of the transport object on the conveyor in the X direction is Px + L, just like the robot 6, and the velocity of the transport object in the X direction is V. As a result, after the acceleration time Kt or more has elapsed since the start of generation of the synchronization command and the robot operation command has reached the target position P, the position and velocity of the robot 6 and the position and velocity of the transport object will match. Therefore, the tracking control device 50A can synchronize the robot 6 and the transport object after the robot operation command generated by the operation command generator 4 has reached the target position P.
[0040] The target position determination unit 3 desirably selects the target position P used by the operation command generation unit 4 so that the acceleration time Kt has elapsed since the start of generation of the synchronization command before the position of the robot 6 corresponding to the robot operation command reaches the target position P. In other words, the target position determination unit 3 sets the start timing of the synchronization command to a timing before the position of the robot 6 corresponding to the robot operation command reaches the target position P, and selects the target position P so that the acceleration time Kt has elapsed since the start of the synchronization command and the robot hand position is above the transport object when the robot operation command generated by the operation command generation unit 4 reaches the target position P. In this way, the target position determination unit 3 can ensure that the robot 6 is above the transport object and the transport speed of the robot 6 is synchronized with that of the transport object when the robot operation command generated by the operation command generation unit 4 reaches the target position P.
[0041] In the first embodiment, the synchronization command generation unit 2 first generates a synchronization command (position command for the robot hand) in a Cartesian coordinate system, and then converts (called inverse transformation) the generated position command for the robot hand into a position command for each axis of the robot 6. This inverse transformed position command is the synchronization command. The position command for each axis generated by the synchronization command generation unit 2 through inverse transformation is added to the robot operation command generated by the operation command generation unit 4.
[0042] In the first embodiment, the tracking control device 50A performs inverse transformation on the synchronization command and then adds the synchronization command to the robot operation command, but the inverse transformation may be performed later. That is, the tracking control device 50A may add the robot operation command in the Cartesian coordinate system generated by the operation command generator 4 and the synchronization command in the Cartesian coordinate system in the Cartesian coordinate system, and then perform inverse transformation.
[0043] In the first embodiment, the target position determination unit 3 calculates in advance the operation times ta1 to tak of the robot to a plurality of points P1 to Pk (k is a natural number) on the conveyor in order to determine the target position P of the robot operation command. Of the points P1 to Pk, point P1 is the most upstream position, and point Pk is the most downstream position.
[0044] The target position determination unit 3 compares the calculated ta1 to tak with the travel times tb1 to tbk of the object to be transported on the conveyor from P1 to Pk. Through this comparison, the target position determination unit 3 determines the maximum n that satisfies tan≧tbn+Kt (n is a natural number from 1 to k), and outputs a point Pn (not shown) corresponding to this n as the target position P to the motion command generation unit 4. The maximum n corresponds to the point where the start of the synchronization command is the slowest among the points where the speed in the synchronization command reaches the speed of the transport device before the robot motion command generated by the motion command generation unit 4 reaches the target position P, i.e., the point Pn where the section where the combined motion matches the robot motion command generated by the motion command generation unit 4 is the longest among the points where the speed in the synchronization command reaches the speed of the transport device before the robot motion command generated by the motion command generation unit 4 reaches the target position P.
[0045] Note that the target position determination unit 3 in Embodiment 1 adopted the point corresponding to the operation time that satisfies the maximum n as the target position P, but a point Pm (not shown) where m < n (m is a natural number) may be output as the target position P.
[0046] Also, the target position determination unit 3 is not limited to determining the target position P after calculating the movement times to a plurality of points on the conveyor in advance, and the target position P may be determined by other methods. For example, the target position determination unit 3 calculates the operation time ta of the robot 6 to a specific point P0 (not shown) on the conveyor determined in advance and the movement time tb of the object to be conveyed on the conveyor to the specific point P0, respectively, and may determine the target position P from the comparison result of ta and tb. For example, when the x-coordinate of P0 is 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. Instead of performing some calculations, the target position determination unit 3 may store a predetermined point PA (not shown) in advance and output PA as the target position P to the operation command generation unit 4. In this case, PA may be a point set based on any information such as the conveyance speed of the conveyor and the movement speed of the robot 6.
[0047] The gripping operation control unit 7 starts the gripping operation at the time when the later of the time tr1 when the position command generated by the operation command generation unit 4 reaches the target position P and the time tr2 after the acceleration time Kt has elapsed from the start of generation of the synchronization command is reached. That is, even when the position command reaches the target position P, if the acceleration time Kt has not elapsed from the start of generation of the synchronization command, the gripping operation control unit 7 waits until the acceleration time Kt elapses and then starts the gripping operation. Also, even when the time when the acceleration time Kt has elapsed from the start of generation of the synchronization command is reached, if the position command has not reached the target position P, the gripping operation control unit 7 waits until the position command reaches the target position P and then starts the gripping operation.
[0048] The grasping operation is an operation in which the robot hand is lowered and the hand is opened and closed. When any of the following conditions is met: at the end of the grasping operation, at the end of the hand's ascent operation after the end of the grasping operation, after a specified time has elapsed since the end of the grasping operation, or after a specified time has elapsed since the start of the grasping operation, the grasping operation control unit 7 sends a command to end the generation of a synchronization command to the synchronization command generation unit 2. When the synchronization command generation unit 2 receives the command to end the generation of a synchronization command, it slows down the speed command of the synchronization command to 0 and stops the synchronization command.
[0049] In embodiment 1, the gripping operation control unit 7 starts the gripping operation when the later of times tr1 and tr2 is reached, but the gripping operation may also be started when a predetermined time tc has elapsed after the later of times tr1 and tr2, taking into account the control system.
[0050] Furthermore, the tracking control device 50A of the first embodiment generates a synchronization command so that the end effector of the robot 6 is synchronized exactly with the speed of the object to be transported, but it is not necessary to be limited to achieving strict synchronization, and it is also possible to match the speed to a speed that is slightly shifted within the range of allowable error when performing a gripping operation. Note that matching the speed to a speed that is slightly shifted within the range of allowable error is also defined as "synchronization."
[0051] Furthermore, in the first embodiment, an example has been described in which an object is conveyed linearly on a conveyor, but the tracking control device 50A can also be applied to a system in which an object is conveyed in an arc. When an object is conveyed linearly on a conveyor, the tracking control device 50A considers the acceleration distance L and the deceleration distance as linear distances, but in a system in which an object is conveyed in an arc, the acceleration distance L and the deceleration distance can be considered as distances on the circumference and similar calculations can be performed.
[0052] In this way, the tracking control device 50A of the first embodiment starts synchronizing the position and speed of the transport object and the robot 6 before the robot operation command reaches the target position P. Then, the tracking control device 50A synchronizes the position and speed of the robot 6 with the transport object when the robot operation command reaches the target position P. minionsis positioned above the object to be transported, and the speeds of the object to be transported and the robot 6 are made the same, thereby realizing synchronization of the speeds of the object to be transported and the robot 6. As a result, the tracking control device 50A can achieve both suppression of gripping position errors and reduction of operation time even when performing tracking control.
[0053] Next, a procedure of processing executed by the tracking control device 50A will be described below. Fig. 4 is a flowchart illustrating the procedure of processing executed by the tracking control device according to the first embodiment.
[0054] The target position determining unit 3 of the tracking control device 50A determines a target position P that serves as a starting point when the robot 6 performs work on the transport object, based on the transport position and transport speed of the transport object (step S10).
[0055] The synchronization start timing determination unit 1 determines the synchronization start timing for starting synchronization control based on the target position P, the transport position, and the transport speed (step S20). The synchronization command generation unit 2 generates a synchronization command for synchronizing with the transport speed of the conveyor based on the synchronization start command indicating the synchronization start timing (step S30). This synchronization command is a command for starting synchronization before the position of the robot 6, which is moved in accordance with the robot operation command, reaches the target position P.
[0056] The operation command generator 4 generates a robot operation command, which is an operation command to the robot 6 to move up to the target position P, based on the target position P (step S40). Note that the process of step S40 and the processes of steps S20 and S30 may be executed first.
[0057] The combining unit 15 combines the synchronization command and the robot operation command for each axis. The synchronization command is a command for starting synchronization before the position of the robot 6 corresponding to the robot operation command reaches the target position P. Therefore, the command combined by the combining unit 15 is a command for starting synchronization before the robot 6 reaches the target position P. In other words, the combining unit 15 combines the synchronization command and the robot operation command to start synchronization before the robot 6 reaches the target position P (step S50). The individual axis control units 5 control each axis of the robot 6 based on the operation command obtained by combining the synchronization command and the robot operation command. In this way, the tracking control device 50A starts synchronization before the robot 6 reaches the target position P. The gripping operation control unit 7 controls the robot hand according to the gripping operation command sent from the operation command generation unit 4.
[0058] As described above, the tracking control device 50A generates a synchronization command that matches the position and speed of the robot 6 to both the position and speed of the object being transported on the conveyor, thereby reducing errors in the grasping operation by the robot 6 and shortening the operating time of the robot 6.
[0059] As described above, according to the first embodiment, the tracking control device 50A generates a synchronization command to start synchronization before the operation command generated by the operation command generation unit 4 reaches the target position P, so that the positions and velocities of the robot 6 and the transported object match when the operation command generated by the operation command generation unit 4 reaches the target position P. This allows the tracking control device 50A to make the robot 6 start work when the operation command generated by the operation command generation unit 4 reaches the target position P, thereby shortening the time until the robot 6 starts work.
[0060] Embodiment 2 Next, a second embodiment will be described with reference to Fig. 1. In the second embodiment, a tracking control device 50A generates a rectangular wave velocity command as the velocity waveform of the synchronization command.
[0061] The tracking control device 50A of the second embodiment differs from the tracking control device 50A of the first embodiment in the method of generating a speed command in the synchronization command generating unit 2. Therefore, in the second embodiment, only the method of generating a speed command in the synchronization command generating unit 2 will be described, and other descriptions will be omitted.
[0062] The synchronization command generating unit 2 included in the tracking control device 50A of the first embodiment generates a synchronization command for accelerating and decelerating at a constant acceleration, but the synchronization command generating unit 2 included in the tracking control device 50A of the second embodiment internally generates a rectangular wave speed command. That is, while the synchronization command generating unit 2 in the first embodiment generates a trapezoidal pattern speed command, in the second embodiment, the synchronization command generating unit 2 generates a speed command that increases the speed in a step-like manner during acceleration and decreases the speed in a step-like manner during deceleration.
[0063] The synchronization command generation unit 2 of the second embodiment generates a square wave speed command, passes the generated speed command through a moving average filter with a window length Kt that is the same length as the acceleration time Kt, and outputs the result as a speed command to the synthesis unit 15. That is, the synchronization command generation unit 2 generates a speed command for the robot 6 specified by the synchronization command using the square wave speed command and the moving average filter.
[0064] As described above, in the second embodiment, the synchronization command generating unit 2 generates a speed command using a rectangular wave speed command and a moving average filter, so that it is possible to easily generate a synchronization command even when the conveyor speed fluctuates.
[0065] Embodiment 3 Next, a third embodiment will be described with reference to Fig. 5. A tracking control device 50A according to the third embodiment calculates a synchronization start position using parameters (control system parameters) of feedback control or feedforward control in the control system of each axis of the robot 6.
[0066] In the third embodiment, the processing in the synchronization start timing determination unit is different from that in the first embodiment. Therefore, in the third embodiment, the configuration of the synchronization start timing determination unit and the method of calculating the synchronization start position will be described, and other descriptions will be omitted.
[0067] Fig. 5 is a diagram showing the configuration of a synchronization start timing determination unit included in a tracking control device according to embodiment 3. Among the components in Fig. 5, components that achieve the same functions as those of the synchronization start timing determination unit 1 of embodiment 1 shown in Fig. 3 are assigned the same reference numerals, and duplicated explanations will be omitted.
[0068] The synchronization start timing determination unit 1A of the third embodiment includes a synchronization start position calculation unit 10A and a synchronization start position arrival determination unit 11.
[0069] The synchronization start position calculation unit 10A receives a target position P, which is a target position of the robot 6, from the target position determination unit 3, and receives a conveying speed by the conveyor from an external device such as a sensor. The synchronization start position calculation unit 10A also receives control system parameters from an external device.
[0070] Thus, the third embodiment differs from the first embodiment in that the synchronization start position calculation unit 10A of the synchronization start timing determination unit 1A receives control system parameters in addition to the target position P and the transport speed.
[0071] The synchronization start position calculation unit 10A determines the position on the conveyor of the conveyed object at which synchronization control starts (synchronization start position PS) based on the target position P, the conveying speed, and the control system parameters. The control system parameters are parameters for feedback control or feedforward control in the control system of each axis of the robot 6.
[0072] In the control system for each axis of the robot 6, delays occur not only in tracking control but also in the control system for each axis, so the hand of the robot 6 moves with a delay from the command value to the control system. For example, when the tracking control device 50A moves the hand of the robot 6 along a straight line or an arc, the hand of the robot 6 moves along the target trajectory with a delay corresponding to the feedback control or feedforward control parameters and the speed of the command value. Therefore, in the third embodiment, the synchronization start position calculation unit 10A stores in advance the relationship between the control system parameters and transport speed and the delay amount Ld of the robot 6 in the direction along the straight line or arc (for example, a correspondence relationship shown in tabular form).
[0073] Note that the synchronization start position calculation unit 10A may store a function indicating the relationship between the control system parameters, the conveying speed, and the delay amount Ld, instead of storing the correspondence relationship between the control system parameters, the conveying speed, and the delay amount Ld in a table format or the like. The function indicating the relationship between the control system parameters, 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.
[0074] 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 delay amount Ld, and the input control system parameters and conveying speed.
[0075] Furthermore, the synchronization start position calculation unit 10A uses the derived delay amount Ld to calculate the synchronization start position PS on the conveyor of the transported object at which generation of the synchronization command begins, using PS = (Px - L - Ld, Py), and transmits the synchronization start position PS to the synchronization start position arrival determination unit 11 as the synchronization start position.
[0076] The synchronization start position arrival determination unit 11 receives the synchronization start position PS from the synchronization start position calculation unit 10A. The synchronization start position arrival determination unit 11 also receives the conveyance position (position estimated value Xh) from time to time. The conveyance position is a position estimated based on the position of the conveyance object on the conveyor calculated from an image captured when the conveyance object passes under an imaging unit installed upstream of the conveyor, the elapsed time since the image capture, and the output from an encoder, which is a measuring device installed on the conveyor, after the image capture.
[0077] The synchronization start position arrival determination unit 11 compares Px-L-Ld with Xh, and outputs a synchronization start command to the synchronization command generation unit 2 when Xh≧Px-L-Ld.
[0078] As described above, in the third embodiment, 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 taking into account delays in the control system. Therefore, the tracking control device 50A can suppress the effects of delays in the control system and achieve highly accurate tracking control that reduces gripping errors of the robot 6 caused by delays in the control system.
[0079] Embodiment 4 Next, a fourth embodiment will be described with reference to Fig. 6. The tracking control device of the fourth embodiment calculates the shortest acceleration and deceleration times within a range that does not exceed the maximum and minimum values of the allowable torque acting on each axis of the robot 6, and generates a robot operation command using the calculated acceleration and deceleration parameters.
[0080] Fig. 6 is a diagram showing the configuration of a tracking control device according to the fourth embodiment. Of the components in Fig. 6, those that achieve the same functions as those of the tracking control device 50A according to the first embodiment shown in Fig. 1 are given the same reference numerals, and duplicated explanations will be omitted. The transport system according to the fourth embodiment includes a tracking control device 50B, a robot 6, and a transport device such as a conveyor (not shown).
[0081] In addition to the components of the tracking control device 50A, the tracking control device 50B includes a synchronization-considered acceleration / deceleration determiner 8. A target position determiner 3 of the tracking control device 50B sends a target position P to an operation command generator 4, a synchronization start timing determiner 1, and a synchronization-considered acceleration / deceleration determiner 8.
[0082] 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 also stores in advance the parameters of the synchronization command (speed pattern) to be combined with the robot operation command, i.e., the parameters related to the speed and acceleration / deceleration in the constant speed section of the synchronization command.
[0083] The synchronization-considered acceleration / deceleration determination unit 8 determines acceleration / deceleration parameters within a range that satisfies the constraints on each axis of the robot 6, based on the target position P and a synchronization command that is combined with the robot operation command. The acceleration / deceleration parameters are parameters used for acceleration and deceleration of the robot operation command generated by the operation command generation unit 4. The acceleration / deceleration parameters are, for example, the acceleration time and deceleration time when the robot 6 executes synchronization processing in accordance with the synchronization command. The acceleration time and deceleration time determined by the synchronization-considered 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, which is determined taking into account the influence of the synchronous operation.
[0084] The synchronization-considered acceleration / deceleration determiner 8 sends the determined acceleration / deceleration parameters to the motion command generator 4. The motion command generator 4 generates a robot motion command using the acceleration / deceleration parameters determined by the synchronization-considered acceleration / deceleration determiner 8.
[0085] 7 is a diagram for explaining points at which the tracking control device according to the fourth embodiment calculates torque. The synchronization-considered acceleration / deceleration determination unit 8 determines in advance the length (distance SL) of a section where a synchronous operation may be performed on the conveyor 32.
[0086] Next, the synchronization-considered acceleration / deceleration determining unit 8 determines the speed pattern of the synchronization command (for example, the synchronization command shown in FIG. 2) generated by the synchronization command generating unit 2 from the target position P determined by the target position determining unit 3 along the traveling direction of the conveyor 32. Robot 6 Specifically, the synchronization-considered acceleration / deceleration determination unit 8 calculates the torque τa of each axis at the start of the operation (speed 0 at target position P), the torque τb of each axis at the end of the acceleration (speed V in the direction of movement of the conveyor 32 at point TP0, moved a distance L in the X-axis direction from the target position P), and the torques τc1 to τcK (K is a natural number) at each predetermined point from the start of the constant velocity section until the robot reaches point TP1, a distance SL away from the target position P in the X-axis direction.
[0087] For example, if the number of predetermined points between point TP0 and the next point TP1 is four as shown in Fig. 7, synchronization-considered acceleration / deceleration decision unit 8 calculates torques τc1 to τc4 at these four points. If robot 6 is a six-axis robot, torques τa, τb, and τc1 to τc4 will each be a vector with six elements.
[0088] Next, the synchronization-considered acceleration / deceleration determining unit 8 determines the maximum value τsi of each axis component of the torque τa, τb, τc1 to τc4. max , minimum value τsi min Here, i is the number of axes, and if the robot 6 is a 6-axis robot, i is a natural number between 1 and 6. For example, if the maximum value of the first axis is τs1 max , if the third axis is the minimum value, then τs3 min In addition, the synchronization consideration acceleration / deceleration decision unit 8 calculates τsi max is τsi max If <0, τsi max = 0. In addition, the synchronization consideration acceleration / deceleration decision unit 8 sets τsi min If >0, τsi min =0.
[0089] When the influence of synchronization is not taken into consideration, the motion command generator 4 calculates the maximum allowable torque τi in the positive direction of each axis. max and maximum allowable torque in the - direction -τi maxThe acceleration time Kt0 and deceleration time gt0 are calculated so as to be the shortest within a range not exceeding the above, and a robot operation command is generated using the acceleration time Kt0 and deceleration time gt0.
[0090] In the fourth embodiment, which takes into account the influence of synchronization, the synchronization-considered acceleration / deceleration decision unit 8 calculates the acceleration / deceleration time after correcting the maximum allowable torque of each axis to a value that takes into account the influence of synchronization. Specifically, the synchronization-considered acceleration / deceleration decision unit 8 calculates the maximum allowable torque τzi in the positive direction that takes into account the influence of synchronization of each axis. max τzi max =τi max -τsi max The maximum allowable torque in the negative direction is calculated as τzi min τzi min =-τi max -τsi min Calculated as follows.
[0091] The synchronization consideration acceleration / deceleration decision unit 8 determines whether the torque of each axis is τzi max and τzi min That is, the synchronization consideration acceleration / deceleration determination unit 8 calculates the acceleration time Kt1 and deceleration time gt1 that are the shortest within a range that does not exceed τzi. max Based on τzi max Determine the acceleration time Kt1 that does not exceed τzi min Based on τzi min The synchronization consideration acceleration / deceleration determination unit 8 transmits the acceleration time Kt1 and the deceleration time gt1 to the motion command generation unit 4 as acceleration / deceleration parameters.
[0092] The motion command generator 4 receives the acceleration time Kt1 and the deceleration time gt1 and generates a robot motion command using the received acceleration time Kt1 and deceleration time gt1.
[0093] In the fourth embodiment, the synchronization-considered acceleration / deceleration determining unit 8 determines τzi max The acceleration time Kt1 is determined based on minHowever, the synchronization-considered acceleration / deceleration determiner 8 may determine the acceleration time Kt1 and the deceleration time gt1 by other methods. max and -τi max Calculate the acceleration time Kt1 within the range not exceeding τzi max and τzi min The deceleration time gt1 may be calculated within a range not exceeding the above.
[0094] In this way, the synchronization-considered acceleration / deceleration determination unit 8 calculates the acceleration time Kt1 and deceleration time gt1 that are the shortest within the range that does not exceed the maximum and minimum values of the allowable torque. The maximum and minimum values of the allowable torque are set to values that take into account the influence of synchronization, as described above.
[0095] The synchronization-considering acceleration / deceleration determination unit 8 calculates the acceleration / deceleration time as a command before adding the synchronization command. Any method may be used to calculate the acceleration / deceleration time. The synchronization-considering acceleration / deceleration determination unit 8 may calculate the acceleration time Kt1 and deceleration time gt1 by any method as long as the method takes into account the dynamic characteristics of the robot 6 and calculates the shortest acceleration time Kt1 and deceleration time gt1 without exceeding the allowable torque.
[0096] In this way, the tracking control device 50B of the fourth embodiment calculates the shortest acceleration time and deceleration time within a range that does not exceed the maximum or minimum values of the allowable torque, and generates a robot operation command using the calculated acceleration / deceleration parameters. As a result, even when the tracking control device 50B operates the robot 6 by adding a synchronization command to the robot operation command, it becomes possible to shorten the operation time by performing high-speed operation while satisfying the limit of the allowable torque.
[0097] Embodiment 5. Next, a fifth embodiment will be described with reference to Figures 8 and 9. The tracking control device of the fifth embodiment starts issuing a synchronization command when the robot hand reaches an area where it does not interfere with the object and the object to be transported reaches the synchronization start position.
[0098] Fig. 8 is a diagram showing the configuration of a tracking control device according to the fifth embodiment. Of the components in Fig. 8, those that achieve the same functions as the tracking control device 50A of the first embodiment shown in Fig. 1 are given the same reference numerals, and duplicated explanations will be omitted. The transport system of the fifth embodiment includes a tracking control device 50C, a robot 6, and a transport device such as a conveyor 32 (not shown in Fig. 8).
[0099] The tracking control device 50C includes the components of the tracking control device 50A, as well as an interference effect determination unit 9. The interference effect determination unit 9 receives robot operation commands from the operation command generation unit 4 every moment.
[0100] The interference influence determination unit 9 determines whether the robot 6 and the robot 6 are synchronized even if a synchronization command is added to the robot operation command. object Based on a region where there is no possibility of interference between the robot and the robot (an interference-free region A1, which will be described later) and the robot operation command, the interference influence determination unit 9 determines whether or not the robot hand has reached the interference-free region A1. The interference influence determination unit 9 sends information indicating whether or not the robot hand has reached the interference-free region A1 to the synchronization start timing determination unit 1.
[0101] The synchronization start timing determination unit 1 provided in the tracking control device 50C of embodiment 5 outputs a synchronization start command to the synchronization command generation unit 2 when the robot hand reaches the interference consideration unnecessary area A1 and the transported object reaches the synchronization start position.
[0102] The tracking control device 50C differs from the tracking control device 50A in that it includes an interference effect determination unit 9 and in the processes executed by the synchronization start timing determination unit 1, synchronization command generation unit 2, and gripping operation control unit 7. The following mainly describes the differences between the processes executed by the tracking control device 50C and the processes executed by the tracking control device 50A.
[0103] 9 is a diagram for explaining an interference consideration-free region used when the tracking control device according to the fifth embodiment determines the synchronization start timing. In FIG. 9, an object to be transported on which the robot 6 performs work is illustrated as an object to be transported 31.
[0104] The interference consideration-free area A1 is an area where there is no risk of interference occurring between the robot 6 and an object (such as an obstacle (not shown), such as equipment or a sensor between the robot 6 and the conveyor 32) even if a synchronization command is added to the robot operation command. The interference consideration-free area A1 includes an area through which the transport target object 31 passes.
[0105] The interference effect determination unit 9 stores in advance an interference consideration-free area A1 as shown in Fig. 9. The interference effect determination unit 9 receives robot operation commands generated from time to time by the operation command generation unit 4. The interference effect determination unit 9 determines whether the position of the robot hand corresponding to the robot operation command has reached the interference consideration-free area A1.
[0106] Until the position of the robot end effector reaches the interference consideration-free region A1, the interference effect determination unit 9 outputs information (for example, "0") indicating that it has not yet reached the region, to the synchronization start timing determination unit 1. After the position of the robot end effector reaches the interference consideration-free region A1, the interference effect determination unit 9 outputs information (for example, "1") indicating that it has reached the region, to the synchronization start timing determination unit 1.
[0107] The synchronization start position arrival determination unit 11 of the synchronization start timing determination unit 1 determines whether or not the transported object 31 has reached the synchronization start position, as in embodiment 1. The synchronization start timing determination unit 1 of embodiment 5 does not output a synchronization start command to the synchronization command generation unit 2 if the output from the interference effect determination unit 9 is "0" even when the transported object 31 has reached the synchronization start position, that is, if the synchronization start timing determination unit 1 has received information indicating that the transported object has not yet reached the synchronization start position.
[0108] When the transported object 31 reaches the synchronization start position and the output from the interference effect judgment unit 9 is "1", the synchronization start timing determination unit 1 outputs a synchronization start command to the synchronization command generation unit 2. If the output from the interference effect judgment unit 9 is already "1" when the transported object 31 reaches the synchronization start position, the synchronization start timing determination unit 1 immediately outputs a synchronization start command to the synchronization command generation unit 2. In other words, when the output from the interference effect judgment unit 9 is "1", the synchronization start timing determination unit 1 outputs a synchronization start command to the synchronization command generation unit 2 at the time when the transported object 31 reaches the synchronization start position.
[0109] In this way, 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 hand reaches the interference consideration-free area A1 and the transport target object 31 reaches the synchronization start position.
[0110] The synchronization command generator 2 may delay the output of the synchronization start command from the desired timing due to interference considerations. In this case, if the tracking control device 50C uses the synchronization command generated by the synchronization command generator 2 as is, the position of the robot hand will be shifted by the amount of the delay in starting synchronization. Therefore, the synchronization command generator 2 outputs a synchronization command that corrects the shifted position. For example, if the delay from the desired timing of the synchronization start command output by the synchronization start timing determiner 1 is Kd, the transport target object 31 moves to a position advanced by Lc = Kd × V due to the timing delay. Therefore, the synchronization command generator 2 generates a command (hereinafter referred to as a correction command) to move from (Px, Py) as the starting point to (Px + Lc, Py) with an acceleration time Kt. The synchronization command generator 2 superimposes the correction command to move to (Px + Lc, Py) with an acceleration time Kt on the original synchronization command without timing delay, and sends the result to the combiner 15 as the corrected synchronization command.
[0111] If it is predicted that the maximum or minimum value of the allowable torque will be exceeded if the synchronization command generated by superimposing the above-described correction command is output as a synchronization command, the synchronization command generating unit 2 calculates the arrival time Kt2 required to reach the position (Px+Lc, Py) without exceeding the maximum or minimum value of the allowable torque. In this case, the synchronization command generating unit 2 superimposes the correction command for moving to (Px+Lc, Py) in the arrival time Kt2 onto the original synchronization command with no timing delay, and sends the result to the combining unit 15 as a synchronization command.
[0112] The gripping operation control unit 7 starts the gripping operation at the later of the time tr1 when the position command generated by the operation command generation unit 4 reaches the target position P, and the time tr2 after the acceleration time Kt has elapsed since the start of generation of the synchronization command.
[0113] In addition, if the arrival time to (Px+Lc, Py) is an arrival time Kt2 that is longer than the acceleration time Kt, the gripping operation control unit 7 starts the gripping operation at the later of the time tr1 when the position command generated by the operation command generation unit 4 reaches the target position P, and the time tr3 after the arrival time Kt2 has elapsed since the start of generation of the synchronization command.
[0114] As described above, in the tracking control device 50C of the fifth embodiment, the synchronization start timing determiner 1 determines the timing of starting a synchronization command in consideration of the output from the interference influence determiner 9. That is, when the position of the robot hand reaches the interference consideration-free area A1 and the transported object 31 reaches the synchronization start position, the synchronization start timing determiner 1 of the tracking control device 50C outputs a synchronization start command to the synchronization command generator 2. This makes it possible for the tracking control device 50C to prevent interference, synchronize the positions and velocities of the robot 6 and the transported object 31, and shorten the operation time of the robot 6.
[0115] Embodiment 6 Next, a sixth embodiment will be described with reference to Fig. 10. A tracking control device 50A of the sixth embodiment learns the correspondence between the target position P, the conveying speed, the control system parameters, and the delay amount Ld, and when controlling the robot 6, infers the delay amount Ld based on the target position P, the conveying speed, and the control system parameters.
[0116] In the tracking control device 50A of the sixth embodiment, the synchronization start timing determination unit 1A has a learning unit. The tracking control device 50A of the sixth embodiment differs from the tracking control device 50A of the third embodiment in the processing executed 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 delay amount Ld from the input target position P, conveying speed, and control system parameters. The method of deriving the delay amount Ld will be mainly described below.
[0117] 10 is a diagram illustrating the configuration of a learning unit included in the tracking control device according to the sixth embodiment. The learning unit (learning device) 21 included in the tracking control device 50A is arranged, for example, in the synchronization start timing determination unit 1A. The learning unit (learning device) 21 performs both learning and inference.
[0118] The learning unit 21, which is the first learning unit, is equipped with a neural network and learns in advance the correspondence relationship (first correspondence relationship) between the combination of the target position P, the conveying speed, and the control system parameters and the delay amount Ld. During learning, the learning unit 21 uses the target position P, the conveying speed, and the control system parameters as inputs to the neural network, and executes learning of the neural network by using the delay amount Ld corresponding to the target position P, the conveying speed, and the control system parameters at the time of input as the output (teacher signal) of the neural network.
[0119] The trained neural network is stored in the synchronization start position calculation unit 10A. When the tracking control device 50A actually operates the robot 6, the learning unit 21 outputs, from the neural network, a delay amount Ld corresponding to the target position P, conveying speed, and control system parameters input to the neural network. Using the delay amount Ld output from the neural network, the synchronization start position calculation unit 10A calculates the synchronization start position PS of the conveyor 32 of the conveyed object at which generation of a synchronization command begins, by PS=(Px-L-Ld, Py), and transmits the synchronization start position PS to the synchronization start position arrival determination unit 11 as the synchronization start position. As described above, in the sixth embodiment, the learning unit 21 derives the delay amount Ld, which is one of the parameters used for tracking control, using the neural network.
[0120] The learning unit 21 may be located in any position. The learning unit 21 may be located inside or outside the tracking control device 50A. The learning unit 21 may be located in a server, for example.
[0121] Here, the learning unit 21 will be described in detail. The learning unit 21 acquires 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 this combination information (first combination information). The delay amount Ld acquired 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.
[0122] The learning unit 21 learns the delay amount Ld corresponding to the combination information based on learning data created based on a combination of the combination information and the delay amount Ld. In other words, the learning unit 21 learns the delay amount Ld for the combination information based on the learning data. That is, the learning unit 21 generates a trained model (such as a neural network) that infers the delay amount Ld from the combination information. Here, the training data is data in which the combination information and the delay amount Ld are associated with each other. The learning unit 21 stores the trained model that it has generated.
[0123] The learning unit 21 learns the delay Ld corresponding to the combination information by so-called supervised learning, for example, in accordance with a neural network model. Here, supervised learning refers to a method in which data sets (learning data) of inputs and results (labels) are provided to the learning unit 21, and the learning unit 21 learns the features contained in the learning data and infers the results from the inputs.
[0124] A neural network consists of an input layer consisting of multiple neurons, an intermediate layer (hidden layer) consisting of multiple neurons, and an output layer consisting of multiple neurons. The intermediate layer may be one layer or two or more layers.
[0125] For example, in a three-layer neural network, when multiple input data are input to the input layer, the values are multiplied by weights and input to the middle layer. The results are then multiplied by further weights and output from the output layer. This output result changes depending on the value of the weights.
[0126] 10 uses supervised learning to learn the delay amount Ld corresponding to the combination information in accordance with learning data created based on a combination of the combination information and the delay amount Ld. In other words, the neural network used by the learning unit 21 uses supervised learning to learn the delay amount Ld corresponding to the combination information in accordance with the combination information and the delay amount Ld created based on the combination of the acquired first input and second input (correct answer).
[0127] That is, the neural network learns by inputting combination information as the first input and adjusting the weights so that the result output from the output layer approaches the second input (correct answer). Specifically, the neural network learns by inputting combination information to the input layer and adjusting the weights so that the result output from the output layer approaches the delay amount Ld.
[0128] The neural 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. In this way, the learning unit 21 trains a trained model that can output a correct delay amount Ld when the combination information is input. By performing the above-described learning, the learning unit 21 generates a trained model represented by a neural network and stores the neural network.
[0129] The learning unit 21 acquires combination information when inferring the delay amount Ld. When the actual robot 6 is controlled, the learning unit 21 infers the delay amount Ld corresponding to the combination information using a trained model, which is a trained neural network. That is, the learning unit 21 inputs the combination information into the trained model, thereby being able to output an appropriate delay amount Ld inferred from the combination information.
[0130] In this way, the combination of the combination information and the delay amount Ld is data used during learning, and the combination information is data used during inference. The tracking control device 50A of the sixth embodiment learns a learned 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 learned model. As a result, after learning the learned model, the tracking control device 50A of the sixth embodiment can infer the delay amount Ld using the learned model.
[0131] In the sixth embodiment, the learning unit 21 generates a trained model and outputs an appropriate delay amount Ld using the trained model, but the learning unit 21 may acquire 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 acquired from the other learning unit, etc.
[0132] Furthermore, the tracking control device 50A may use the target position P and the transport speed as the combination information, and may not include the control system parameters in the combination information. That is, the tracking control device 50A may learn the correspondence between the combination of the target position P and the transport speed and the delay amount Ld, and when controlling the robot 6, may infer the delay amount Ld based on the target position P and the transport speed.
[0133] 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 infers 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 an appropriate synchronization start position. This allows the tracking control device 50A to highly accurately correct the influence of delays in the control system.
[0134] Embodiment 7 Next, a seventh embodiment will be described with reference to Fig. 11. A tracking control device 50A of the seventh embodiment learns the correspondence between the operation start position of the robot 6, the conveying speed, and the object position, which is the position of the object to be conveyed on the conveyor 32, and the target position P, and when controlling the robot 6, infers the target position P based on the operation start position, the conveying speed, and the object position.
[0135] In the tracking control device 50A of the seventh embodiment, the target position determination unit 3 has a learning unit. The tracking control device 50A of the seventh embodiment and the tracking control device 50A of the third embodiment differ in the processing executed by the target position determination unit 3.
[0136] 11 is a diagram showing the configuration of a learning unit included in the tracking control device according to the seventh embodiment. A learning unit (learning device) 22 included in the tracking control device 50A is disposed in the target position determining unit 3, for example.
[0137] The learning unit 22, which is the second learning unit, includes a neural network and learns in advance the correspondence relationship (second correspondence relationship) between the combination of the operation start position, the transport speed, and the object position and the target position P. That is, in the seventh embodiment, the combination of the operation start position, the transport speed, and the object position is the combination information (second combination information).
[0138] When the correspondence between the combination information and the target position P is learned, the target position P that minimizes the work time for each combination of the operation start position, transport speed, and object position is repeatedly calculated using a simulator.
[0139] The learning unit 22 performs learning of the neural network by using the operation start position, transport speed, and object position as inputs to the neural network, and the target position P that minimizes the work time corresponding to the input operation start position, transport speed, and object position as the output (teacher signal) of the neural network.
[0140] The trained neural network is stored in the target position determination unit 3. When the tracking control device 50A actually operates the robot 6, the learning unit 22 outputs a target position P from the neural network, which corresponds to the operation start position, transport speed, and object position input to the neural network. The target position determination unit 3 sends the target position P output from the neural network to the synchronization start timing determination unit 1 and the operation command generation unit 4. In this way, in the seventh embodiment, the learning unit 22 derives the target position P, which can be considered as a parameter for performing tracking control, using the neural network.
[0141] In this way, the information that learning unit 22 receives and outputs during learning is different from that of learning unit 21, but the learning process by learning unit 22 is the same as that of learning unit 21. Also, the information that learning unit 22 receives and outputs during inference is different from that of learning unit 21, but the inference process by learning unit 22 is the same as that of learning unit 21.
[0142] The learning unit 22 may be located in any position. The learning unit 22 may be located inside or outside the tracking control device 50A. The learning unit 22 may be located in a server, for example.
[0143] As described above, in the seventh embodiment, the learning unit 22 learns the correspondence between the operation start position, transport speed, and object position and the target position P, and infers the target position P based on the operation start position, transport speed, and object position when controlling the robot 6. This allows the target position determination unit 3 to accurately calculate an appropriate target position P, so that the tracking control device 50A can further reduce the grasping error of the robot 6 and further shorten the operation time of the robot 6.
[0144] Here, the hardware configuration of the tracking control devices 50A to 50C will be described. The tracking control devices 50A to 50C are realized by a processing circuit. This processing circuit may be a processor and memory that executes a program stored in a memory, or may be dedicated hardware. The processing circuit is also called a control circuit.
[0145] 12 is a diagram showing an example of the configuration of a processing circuit when the processing circuit provided in the tracking control devices according to the first to seventh embodiments is realized by a processor and a memory. Since the tracking control devices 50A to 50C have the same hardware configuration, only the hardware configuration of the tracking control device 50A will be described here.
[0146] The processing circuit 90 shown in FIG. 12 is a control circuit and includes a processor 91 and a memory 92. When the processing circuit 90 is configured with the processor 91 and the memory 92, each function of the processing circuit 90 is realized by software, firmware, or a combination of software and firmware. The software or firmware is written as a program and stored in the memory 92. In the processing circuit 90, each function is realized by the processor 91 reading and executing the program stored in the memory 92. That is, the processing circuit 90 includes the memory 92 for storing a control program that results in the processing of the tracking control device 50A being executed. This control program can also be said to be a program that causes the tracking control device 50A to execute each function realized by the processing circuit 90. This control program may be provided by a storage medium on which the program is stored, or by other means such as a communication medium.
[0147] 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. Furthermore, the memory 92 is, for example, a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable ROM), or an EEPROM (registered trademark) (Electrically EPROM), a magnetic disk, a flexible disk, an optical disk, a compact disk, a minidisk, or a DVD (Digital Versatile Disc).
[0148] Fig. 13 is a diagram showing an example of a processing circuit when the processing circuit included in the tracking control device according to the first to seventh embodiments is realized by dedicated hardware. The processing circuit 93 shown in Fig. 13 corresponds to, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof.
[0149] The processing circuits 90 and 93 may be partially implemented by dedicated hardware and partially implemented by software or firmware. In this way, the processing circuits 90 and 93 can realize the above-described functions by dedicated hardware, software, firmware, or a combination of these.
[0150] The synchronization start timing determination unit 1, synchronization command generation unit 2, target position determination unit 3, operation command generation unit 4, each axis control unit 5, grip operation control unit 7, and synthesis unit 15 may be realized by separate processing circuits.
[0151] The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies, or different embodiments may be combined with each other. It is also possible to omit or modify parts of the configurations as long as they do not deviate from the gist of the invention. [Explanation of symbols]
[0152] 1,1A Synchronization start timing determination unit, 2 Synchronization command generation unit, 3 Target position determination unit, 4 Operation command generation unit, 5 Each axis control unit, 6 Robot, 7 Grasping operation control unit, 8 Synchronization consideration acceleration / deceleration determination unit, 9 Interference influence determination unit, 10,10A Synchronization start position calculation unit, 11 Synchronization start position arrival determination unit, 15 Synthesis unit, 21,22 Learning unit, 31 Transported object, 32 Conveyor, 50A to 50C Tracking control device, 90,93 Processing circuit, 91 Processor, 92 Memory, A1 Interference consideration unnecessary area, P Target position, P0 Specific point, P1 to Pk, Pm, Pn, PA, TP0, TP1 point, PS Synchronization start position.
Claims
1. a synchronization command generation unit that generates a synchronization command for synchronizing the operation of a mechanical system that performs work on a transport object with the operation of a transport device that transports the transport object, based on a synchronization start timing that is a timing for starting the synchronization determined based on a transport speed of the transport object; an operation command generating unit that generates a mechanical system operation command that is a command to move the mechanical system to a target position; a synthesizing unit that synthesizes the synchronization command and the mechanical system operation command to generate a synthesized command and outputs the generated synthesized command; Equipped with the synchronization command generation unit generates the synchronization command to start the synchronization before the mechanical system reaches the target position. A tracking control device characterized by:
2. a synchronization start timing determination unit that determines the synchronization start timing based on the target position, the position of the object to be conveyed, and the conveying speed; 2. The tracking control device according to claim 1,
3. the synchronization start timing determination unit determines a time point when the transport object reaches a synchronization start position, which is a position a predetermined specific distance ahead of the target position, as the synchronization start timing, which is a timing to start the synchronization, and outputs a synchronization start command indicating the synchronization start timing to the synchronization command generation unit; the synchronization command generation unit generates the synchronization command upon receiving the synchronization start command.
3. The tracking control device according to claim 2.
4. the synchronization start timing determination unit determines the specific distance to be a distance calculated based on the product of a time taken for the mechanical system to accelerate and a speed at which the mechanical system accelerates when synchronizing, and determines the synchronization start position based on the specific distance.
4. The tracking control device according to claim 3.
5. the synchronization command generation unit generates a speed command to the mechanical system, which is specified by the synchronization command, using a square wave speed command and a moving average filter; 5. A tracking control device according to claim 1, wherein the tracking control device comprises: a first input / output terminal;
6. the synchronization start timing determination unit determines the synchronization start position based on a control system parameter used in a control system of the mechanical system.
5. The tracking control device according to claim 4.
7. an acceleration / deceleration determination unit that determines acceleration and deceleration parameters that are parameters for acceleration and deceleration when the mechanical system is synchronized in accordance with the synchronization command; the acceleration / deceleration determination unit determines the acceleration / deceleration parameters within a range that satisfies constraints on each axis of the mechanical system, based on the synchronization command that is combined with the mechanical system operation command; the operation command generation unit generates the mechanical system operation command based on the acceleration / deceleration parameter.
7. A tracking control device according to claim 1, wherein the tracking control device is a tracking control device for controlling a tracking operation of a moving object.
8. the synchronization start timing determination unit sets the synchronization start timing to a timing when the mechanical system reaches an interference consideration unnecessary area, which is an area where there is no possibility that the mechanical system will interfere with an object, and when the transported object reaches the synchronization start position.
4. The tracking control device according to claim 3.
9. a first learning unit configured to learn a first correspondence relationship between first combination information, which is a combination of the control system parameters, the target position, and the transport speed, and an amount of delay in the operation of the mechanical system; the first learning unit, upon receiving the first combination information, infers the delay amount corresponding to the first combination information by using the first correspondence relationship; the synchronization start timing determination unit determines the synchronization start position based on the estimated delay amount.
7. A tracking control device according to claim 6.
10. a second learning unit configured to learn a second correspondence relationship between second combination information, which is a combination of an operation start position of the mechanical system, the transport speed, and an object position, which is a position of the transport object on the transport device, and the target position; the second learning unit, upon receiving the second combination information, infers the target position corresponding to the second combination information by using the second correspondence relationship; 10. A tracking control device according to claim 1, wherein the tracking control device is a tracking control device for controlling a moving object.
11. a synchronization command generating step in which the tracking control device generates a synchronization command for synchronizing the operation of a mechanical system that performs work on the transported object with the operation of a transport device that transports the transported object, based on a synchronization start timing that is a timing for starting the synchronization determined based on a transport speed of the transported object; an operation command generating step in which the tracking control device generates a mechanical system operation command which is a command to move the mechanical system to a target position; a combining step in which the tracking control device combines the synchronization command and the mechanical system operation command to generate a combined command and outputs the generated combined command; Including, In the synchronization command generating step, the tracking control device generates the synchronization command for starting the synchronization before the mechanical system reaches the target position. A tracking control method comprising:
Citation Information
Patent Citations
Controller for conveyor follow-up type robot
JP1986090889A
Control method of pick-and-place device and pick-and- place device applying this method
JP2002192487A
Robot control device, robot system and robot control method
JP2012171067A
Robot control apparatus, robot control method, and robot control program
JP2019025618A
Control device of robot system
JP2019098408A