Control device, control system, and control method

By generating a common reference cycle command value and adjusting the sent command value, the problem of inconsistent control cycles in multiple actuator systems is solved, achieving synchronous control and improved accuracy, which is suitable for the coordinated movements of robotic arms and manipulators.

CN122270362APending Publication Date: 2026-06-23KAWASAKI JUKOGYO KK
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-11-29
Publication Date
2026-06-23

Smart Images

  • Figure CN122270362A_ABST
    Figure CN122270362A_ABST
Patent Text Reader

Abstract

A control device, a control system, and a control method are provided, comprising a control unit that synchronizes the actions of multiple actuators operating with different control cycles. For each actuator, the control unit generates information, i.e., a reference command value, which is common to all actuators for each predetermined reference cycle, as the actuator trajectory. The control unit uses the reference command value to determine the position command value of the actuator according to the control cycle, i.e., to send the command value, and sends it to the actuator. When the control cycle of an actuator differs from the reference cycle, the control unit omits the reference command value that does not correspond to the control cycle and uses the reference command value that corresponds to the control cycle as the sent command value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to a control device, a control system, and a control method for controlling multiple actuators. Background Technology

[0002] Control devices for controlling multiple actuators are known. For example, Japanese Patent Application Publication No. 2004-280195 discloses a robot control device comprising actuators, a detection unit for detecting the position, speed, and other states of the actuators, a sub-controller for controlling the actuators based on the detection values ​​from the detection unit, and a main controller for generating command values ​​for each actuator. The main controller includes a control unit that controls the command value update cycle by changing the order in which command values ​​are sent to the sub-controllers. In this control device, network resources are centrally allocated by changing the command value update cycle according to the speed and accuracy required by the actuators, thereby ensuring high speed and accuracy even in a system with multiple actuators, with a minimum number of axes.

[0003] In robots with robotic arms and hands, which contain multiple actuators, the control cycles of the actuators may sometimes differ. In such cases, there is a need for technologies that can suppress deviations in the timing of actions among the multiple actuators and help coordinate the actions of the multiple actuators. Summary of the Invention

[0004] This disclosure was made to solve at least a part of the above-mentioned problems, for example, it can be implemented in the following ways.

[0005] According to the first aspect of this disclosure, a control device is provided for controlling multiple actuators that operate with different control cycles.

[0006] The aforementioned control device includes a control unit that synchronizes the actions of the plurality of actuators.

[0007] The control unit generates position command values ​​according to a reference cycle for each actuator included in the plurality of actuators. These reference command values ​​are used as the actuator trajectory.

[0008] The aforementioned reference cycle is the cycle commonly used by the aforementioned multiple actuators.

[0009] The control unit uses the reference command value to determine the position command value of the actuator according to the control cycle, i.e., the transmission command value, for each actuator, and sends the determined transmission command value to the actuator.

[0010] When the control cycle of the actuator is different from the reference cycle, the control unit omits the reference command value that does not correspond to the control cycle and uses the reference command value that corresponds to the control cycle as the transmission command value.

[0011] According to the second aspect of this disclosure, a control system is provided that includes a plurality of actuators that operate at different control cycles and a control device for controlling the operation of the plurality of actuators.

[0012] The aforementioned control device includes a control unit that synchronizes the actions of the plurality of actuators.

[0013] The control unit generates information about position command values, i.e., reference command values, for each of the plurality of actuators, according to a predetermined reference period commonly used in the plurality of actuators, and uses these as the trajectory of the actuator, i.e., the actuator trajectory.

[0014] The control unit uses the reference command value to determine the position command value of the actuator according to the control cycle, i.e., to send the command value, for each actuator.

[0015] The control unit sends the determined transmission command value to the actuator.

[0016] When the control cycle of the actuator is different from the reference cycle, the control unit omits the reference command value that does not correspond to the control cycle and uses the reference command value that corresponds to the control cycle as the transmission command value.

[0017] According to the third aspect of this disclosure, a control method is provided to synchronize the actions of multiple actuators that operate with different control cycles.

[0018] The control method described above includes the following processing: For each of the plurality of actuators, information on position command values ​​according to a predetermined reference period commonly used in the plurality of actuators, i.e., reference command values, is generated as the trajectory of the actuator, i.e., actuator trajectory.

[0019] The control method described above includes the following processing: For each actuator, the reference command value is used to determine the position command value of the actuator according to the control cycle, i.e., the command value is sent.

[0020] The control method described above includes the following process: For each of the aforementioned actuators, the determined transmission command value is sent to that actuator.

[0021] In the process of determining the above-mentioned transmission command value, when the control period of the actuator is different from the reference period, the reference command value that does not correspond to the control period is omitted, and the reference command value that corresponds to the control period is used as the transmission command value. Attached Figure Description

[0022] Figure 1 This is a schematic diagram of the control system for the robotic arm.

[0023] Figure 2 It is a block diagram representing the structure of a control system.

[0024] Figure 3 This is a flowchart of the synchronous control process.

[0025] Figure 4 This is a flowchart of the trajectory generation process.

[0026] Figure 5 This is a flowchart showing how sending command values ​​determines the processing.

[0027] Figure 6 This is a schematic diagram of the sending command value Cs generated in step S240.

[0028] Figure 7 This is a schematic diagram of the transmission command value Cs generated in step S250.

[0029] Figure 8 This is a flowchart of the sending instruction value determination process in the second embodiment.

[0030] Figure 9 This is a schematic diagram of the sending command value Cs generated in step S280.

[0031] Figure 10 This is a flowchart of the sending instruction value determination process in the third embodiment.

[0032] Figure 11 This is a flowchart of the sending instruction value determination process in the third embodiment.

[0033] Figure 12 This is a schematic diagram of the emergency command value Ce generated in step S304.

[0034] Figure 13 It is a graph showing the relationship between time and progress.

[0035] Figure 14 This is a block diagram illustrating the configuration of the control system in other implementations. Detailed Implementation

[0036] <First Embodiment>

[0037] <System Composition>

[0038] Figure 1 This diagram illustrates an example of the control system 10 in the first embodiment. The control system 10 is a system for coordinating the operation of multiple actuators that operate at different control cycles. An "actuator" is a mechanical or mechanical element that converts electrical signals output from a computer into physical motion.

[0039] The control system 10 of this embodiment includes a robot 20 with a robotic arm 30 and a robotic hand 40, an amplifier device 50 for transmitting and receiving electrical signals with the robotic hand 40, an input device 60, and a control device 100. Figure 1 In this design, the structure of the robotic arm 30 and the robotic hand 40 is simplified. For example... Figure 1 As shown, containers 201 and 202 are provided in the working area of ​​robot 20. The control system 10 is configured to perform a so-called pick-and-place operation, in which robot 20 holds the workpiece W in container 201 and moves it to container 202.

[0040] The robotic arm 30 includes multiple first actuators 32 and multiple links L. Two adjacent first actuators 32 are connected by links L. The first actuators 32 are also referred to as joints or movable axes. Each first actuator 32 is equipped with a servo motor (hereinafter referred to as the first motor 33, see reference 33). Figure 2 The robotic arm 30 uses known components such as encoders and reducers to move. The first actuator 32 is driven by the output from the control device 100. The robotic arm 30 in this embodiment is a vertical articulated robot with 6 degrees of freedom.

[0041] The robotic arm 40 is mounted on the end arm 31 of the robotic arm 30. The end arm 31 also serves as a detachable mounting part for the robotic arm 40. The robotic arm 40 is also referred to as a robotic hand, end effector, or tool. The robotic arm 40 has multiple second actuators 42 that serve as movable axes of the robotic arm 40. Furthermore, in... Figure 1 In this example, only one second actuator 42 is shown. The second actuator 42 includes a servo motor (hereinafter referred to as the second motor 43, see reference 1). Figure 2 The robot arm 40 uses known components such as encoders and reducers to move. It is driven by the output of an amplifier device 50 that receives commands from the control device 100. The robot arm 40 can grasp the workpiece W, which is the object of work, and can also release the grasped workpiece W. As a result, the robot 20 can move the workpiece W. Furthermore, the robot arm 40 at the end of the arm 31 can be modified according to the application. Thus, the user can make the robot 20 perform the desired actions.

[0042] In this embodiment, the plurality of first actuators 32 in the robotic arm 30 have the same characteristics as each other. Similarly, the plurality of second actuators 42 in the robotic hand 40 have the same characteristics as each other. However, the characteristics of the first actuators 32 differ from those of the second actuators 42. The characteristics of the first actuators 32 and the second actuators 42 are also referred to as the first characteristic and the second characteristic, respectively. Each of the first and second characteristics includes limiting information related to the upper limit of speed, the upper limit of acceleration, and the upper limit of deceleration. The limitations in the first and second characteristics are predetermined based on the specifications of the motors, such as the current characteristics and torque characteristics of the first motor 33 and the second motor 43. In addition to the motor specifications, these limitations can also be predetermined using the configuration, special postures, and range of motion of the robotic arm 30 and the robotic hand 40.

[0043] In this embodiment, the plurality of first actuators 32 are driven by the control device 100 at a predetermined control cycle. In other words, the plurality of first actuators 32 operate at the same control cycle. Therefore, the robotic arm 30 as a whole can be regarded as a single actuator. The control cycle of the robotic arm 30 is essentially the first cycle T1f initially set in the control device 100. The control cycle of the robotic arm 30 can vary from the first cycle T1f depending on the status of the control device 100, etc.

[0044] The amplifier device 50 drives the second actuator 42 of the robot arm 40 according to the command value sent from the control device 100. The amplifier device 50 is also referred to as a servo amplifier or servo control unit. The amplifier device 50 controls multiple second actuators 42 with a predetermined control cycle. In other words, multiple second actuators 42 operate with the same control cycle. Therefore, the robot arm 40 as a whole can also be regarded as a single actuator. The control cycle in the amplifier device 50 is basically the initially set second cycle T2f. The control cycle of the amplifier device 50 can vary from the second cycle T2f depending on the status of the amplifier device 50, etc. The second cycle T2f is different from the first cycle T1f of the robot arm 30.

[0045] The input device 60 is configured to input various instructions from the user to the control system 10. These instructions include, as described later, instructions to start the synchronization control process and instructions to stop the synchronization control process. Various input terminals, such as touch panels and buttons, can be used as the input device 60.

[0046] The control device 100 is a robot controller that comprehensively controls the movements of the robot 20. The control device 100 generates a trajectory that moves the front end 41 of the manipulator 40 from a starting position to a target position, and enables the robot 20 to reproduce (regenerate) the generated trajectory. Furthermore, the control device 100 performs synchronization control processing to suppress deviations in the timing of the actions of the multiple actuators 32, 42, i.e., synchronization deviations. The control device 100 will be described in detail below.

[0047] like Figure 2 As shown, the control device 100 includes a CPU (Central Processing Unit) 110 as a processor, a memory 120, and an interface circuit 130. The control device 100 is connected to the robotic arm 30, the amplifier device 50, the input device 60, and peripheral devices (not shown) via the interface circuit 130 for communication. Their communication can utilize wireless or wired communication based on known communication methods. Furthermore, the control device 100 is configured to output power to the robotic arm 30 via the interface circuit 130. Moreover, as described above, the robotic arm 30 includes a plurality of first actuators 32, and the robotic hand 40 includes a plurality of second actuators 42, but... Figure 2 The example shows a first actuator 32 and a first motor 33, and a second actuator 42 and a second motor 43.

[0048] The memory 120 includes volatile memory and non-volatile memory. The memory 120 stores programs P1, P2, and various information. In this embodiment, the memory 120 stores a first characteristic and a second characteristic, a first period T1f and a second period T2f, and a reference period Tr (described later).

[0049] CPU 110 functions as a first control unit 111 by expanding and executing program P1 stored in memory 120. The first control unit 111 suppresses synchronization deviations for the plurality of actuators 32, 42 included in robot 20 and executes synchronization control processing to coordinate the movements of actuators 32, 42. Synchronization deviations include deviations in the timing of the start, stop, acceleration, and deceleration of the plurality of actuators. Although described in detail later, in the synchronization control processing, the first control unit 111 generates position command values ​​for each actuator for synchronizing the plurality of actuators 32, 42. The first control unit 111 performs at least a part of the functions of the "control unit" of this disclosure.

[0050] The second control unit 112 controls the robotic arm 30 using the command values ​​generated by the first control unit 111. In this embodiment, the second control unit 112 controls the robotic arm 30 by supplying outputs to the first actuators 32 of the robotic arm 30 via the interface circuit 130. The second control unit 112 is also referred to as the servo control unit of the robotic arm 30. The second control unit 112 drives the plurality of first actuators 32 essentially in an initially set first cycle T1f.

[0051] Synchronization Control Processing

[0052] Figure 3 This is a flowchart illustrating the synchronization control process performed by the control device 100. The synchronization control process is initiated, for example, by inputting a start instruction to the control device 100 via the input device 60.

[0053] In step S100, the first control unit 111 performs trajectory generation processing. In step S100, the first control unit 111 retrieves the first characteristic and the second characteristic stored in the memory 120, and generates a trajectory that takes into account the limitations (characteristics) of each actuator. Specifically, the first control unit 111 generates a trajectory that can still be reproduced using the actuator with the most stringent limitations. For example, the first control unit 111 applies the upper limits of the actuator with the smallest upper limits of acceleration, deceleration, and velocity to other actuators to generate actuator trajectories.

[0054] Figure 4 This is a flowchart illustrating the trajectory generation process. In step S110, the first control unit 111 first generates a trajectory for the robot 40 to avoid collisions with obstacles and to move the front end 41 of the robot 40 from the starting position to the target position. The trajectory is obtained by recording the position and posture of the robot 40 in space using time as a parameter. The initial position, target position, and obstacle position information can be pre-registered in the memory 120, or can be obtained by the first control unit 111 via a camera device (not shown).

[0055] Next, in step S120, the first control unit 111 generates the trajectories (drive mode, action mode) of each actuator for reproducing the position and posture of the robot arm 40 on the generated trajectory, i.e., the actuator trajectories. The actuator trajectories differ for each actuator. In step S120, the first control unit 111 generates position command values ​​for each actuator according to each reference cycle Tr. The reference cycle Tr is a control cycle commonly used by the multiple actuators 32 and 42 contained in the robot 20. The reference cycle Tr is predetermined through experiments and simulations and stored in the memory 120. The position command value of each reference cycle Tr is also called a "reference command value Cr". The reference command value Cr is the position command value that forms the basis for the final transmission command value Cs sent to each actuator. The actuator trajectory is information about the position command value of each reference cycle Tr.

[0056] If an actuator trajectory is generated, the first control unit 111 initiates synchronous control processing. Figure 3 Step S200. In step S200, the first control unit 111 uses the reference command value Cr to determine the transmission command value Cs of each actuator, and sends the determined transmission command value Cs to each actuator.

[0057] Figure 5 This is a flowchart of the command value determination process. The command value determination process is executed for each actuator.

[0058] In step S210, the first control unit 111 acquires the control cycle Ta of the actuator that is the target. In this embodiment, the first control unit 111 refers to the memory 120 and acquires the first cycle T1f or the second cycle T2f according to the actuator that is the target.

[0059] In step S220, the first control unit 111 determines whether the control period Ta of the actuator to be targeted is greater than (longer than) the reference period Tr used to generate the actuator trajectory. When the control period Ta is greater than the reference period Tr (step S220: yes), the first control unit 111 causes the process to proceed to step S240, deletes the reference command value Cr of each reference period Tr in the actuator trajectory to correspond with the control period Ta, and generates (determines) a position command value (send command value Cs) to be sent to the actuator to be targeted. In other words, the first control unit 111 omits the... Figure 4 In step S120, the reference command value Cr that does not correspond to the control period Ta is replaced by the reference command value Cr that corresponds to the control period Ta, which is then used as the transmission command value Cs. Step S240 also involves reducing the reference command values ​​in the actuator trajectory.

[0060] Figure 6 This is a schematic diagram of the transmission command value Cs generated in step S240. Figure 6 In the diagram, a portion of the actuator trajectory from the starting position S to the target position G is schematically represented by the solid line P. The reference command value Cr and the transmitted command value Cs are shown on the solid line P. The reference command value Cr and the transmitted command value Cs are position command values ​​with time data; the labels (t, t+1, t+2…) enclosed in parentheses next to the command values ​​Cr and Cs indicate the time data contained in the command values ​​Cr and Cs. This is also true in the following figures. Figure 6 In the example shown, the actuator's control period Ta is twice the reference period Tr. For example, the control period Ta is 2 milliseconds (msec), and the reference period Tr is 1 millisecond. Because the control period Ta is greater than the reference period Tr... Figure 5 Step S220: Yes), therefore the first control unit 111 omits the reference command value Cr that is inconsistent with the control period Ta, and uses the reference command value Cr corresponding to the control period Ta as the transmission command value Cs. Figure 5 (Step S240). Figure 6 In the example shown, among the reference command values ​​Cr(t), Cr(t+1), Cr(t+2), Cr(t+3), and Cr(t+4), the reference command values ​​Cr(t), Cr(t+2), and Cr(t+4) are inconsistent with the control period Ta, while the reference command values ​​Cr(t+1) and Cr(t+3) are consistent with the control period Ta. Therefore, the first control unit 111 skips the reference command values ​​Cr(t), Cr(t+2), and Cr(t+4) and determines the reference command values ​​Cr(t+1) and Cr(t+3) as the transmission command value Cs.

[0061] Return to Figure 5 In step S220, if step S220 determines a negative result, that is, if the control period Ta is less than or equal to the reference period Tr, the first control unit 111 proceeds to step S230 to determine whether the control period Ta is less than (shorter than) the reference period Tr. If the reference period Tr is the same as the control period Ta, step S230 determines a negative result. If the reference period Tr and the control period Ta are the same (step S230: no), the first control unit 111 proceeds to step S260 to apply the reference command value Cr as is, using it as the transmission command value Cs.

[0062] On the other hand, when the reference period Tr is less than the control period Ta (step S230: Yes), the first control unit 111 causes the processing to proceed to step S250. In the actuator trajectory, in order to correspond with the control period Ta, interpolation is performed between two consecutive reference command values ​​Cr to generate a transmission command value Cs. In this embodiment, the interpolation is a single interpolation. In other embodiments, the interpolation can be a double interpolation or a cubic interpolation. Furthermore, the same applies to the interpolation mentioned in the following embodiments. The processing in step S250 is also an interpolation process that uses the reference command value Cr having the preceding time data corresponding to the control period Ta and the reference command value having the following time data to interpolate the position command value at the time corresponding to the control period Ta in the actuator trajectory.

[0063] Figure 7 This is a schematic diagram of the transmission command value Cs generated in step S250. Figure 7 In, with Figure 6 Similarly, a portion of the actuator trajectory (solid line P) from the starting position S to the target position G is shown, along with the reference command value Cr and the transmitted command value Cs. Figure 7 In the example shown, the actuator's control period Ta is half the reference period Tr; for example, the control period Ta is 0.5 msec and the reference period Tr is 1 msec. Since the control period Ta is less than the reference period Tr... Figure 5 Step S230: Yes), so the first control unit 111 uses consecutive reference command values ​​in the reference command value Cr of each reference cycle Tr to interpolate the position command value between two consecutive reference command values ​​to generate a transmission command value Cs (step S250). Figure 7 In the example shown, the instruction value (transmission instruction value) Cs(t+0.5) between two consecutive reference instruction values ​​Cr(t), Cr(t+1), Cr(t+2), Cr(t+3), and Cr(t+4) is generated using the reference instruction values ​​Cr(t), Cr(t+1), Cr(t+2), Cr(t+3), and Cr(t+4). The instruction value Cs(t+0.5) is also an interpolation instruction value. Thus, the first control unit 111 uses the consecutive reference instruction values ​​Cr, Cr to interpolate the position instruction value Cs at the time when no reference instruction value Cr is generated and at the time corresponding to the control period Ta, to generate the transmission instruction values ​​Cs(t), Cs(t+0.5), and Cs(t+1).

[0064] If the first control unit 111 determines (generates) the transmission command value Cs for all actuators, it sends the determined transmission command value Cs to each actuator. In this embodiment, the first control unit 111 sends the transmission command value Cs to the first actuator 32 via the second control unit 112. The second control unit 112 converts the digital signal representing the transmission command value Cs determined by the first control unit 111 into a current value and outputs it to the first actuator 32. The first control unit 111 sends the transmission command value Cs to the second actuator 42 via the amplifier device 50. The first control unit 111 sends the digital signal representing the transmission command value Cs for the second actuator 42 to the amplifier device 50, which converts the digital signal into a current value and outputs it to the second actuator 42. As described above, synchronization control processing is performed.

[0065] According to the first embodiment described above, the first control unit 111 acquires a first characteristic and a second characteristic, including limitations on the actuator's speed, acceleration, deceleration, etc., and generates an actuator trajectory that can still be reproduced even with the most stringent limitations. Each actuator trajectory is information about the position command value, i.e., the reference command value Cr, for each reference cycle Tr, which is common to all actuators. The first control unit 111 uses the reference command value Cr to determine the position command value, i.e., the transmission command value Cs, for each control cycle Ta of the actuator. Therefore, according to this embodiment, compared to a configuration that generates the transmission command value for each actuator using the longest (maximum) control cycle Ta among multiple actuators, the actuator's control cycle Ta can be maintained. Therefore, it is possible to suppress any loss of actuator motion accuracy. As a result, for example, it is possible to execute actuators with short control cycles Ta while maintaining the position command value for each actuator. Figure 1 The movement within the narrow section of the container 202 synchronizes the overall movement of multiple actuators. Furthermore, since multiple actuators can be synchronously controlled regardless of the control cycle Ta, the degrees of freedom of the actuators applied to the robot 20 are increased.

[0066] Furthermore, when the control period Ta of the actuator is greater than the reference period Tr, the first control unit 111 omits the reference command value Cr that does not correspond to the control period Ta, and uses the reference command value Cr that corresponds to the control period Ta as the transmission command value Cs. Moreover, when the control period Ta is smaller (shorter) than the reference period Tr, in order to correspond to the control period Ta, the first control unit 111 uses two consecutive reference command values ​​Cr to interpolate the position command value between the two reference command values ​​Cr, generating the transmission command value Cs. Thus, since the same reference period Tr is used for multiple actuators 32 and 42 with different control periods Ta, and the transmission command value Cs is generated based on the reference command value Cr of each reference period Tr, the synchronization deviation of each actuator is suppressed.

[0067] <Second Implementation>

[0068] The transmission command value determination process described in the first embodiment ( Figure 5 In step S200, the first control unit 111 acquires the initially set first period T1f and second period T2f as the control period Ta of the actuator. This control period Ta may vary. The variation in control period Ta may be caused by differences in signal transmission and reception in the control device 100. Even in this case, the control device 100 can synchronize the operation of each actuator according to the variation in control period Ta. In the second embodiment, the synchronization control processing when the control period Ta varies will be described.

[0069] Figure 8 This is a flowchart illustrating the process of determining the sent command value when the control cycle changes. The first control unit 111 executes... Figure 5 During the process of sending the transmission command value Cs in steps S210 to S260 of the processing, it is also determined whether there is a change in the control cycle Ta of the actuator that is the target. Figure 8 (Step S270). In this embodiment, the first control unit 111 sequentially acquires a first signal corresponding to the reception of the transmission command value Cs in the actuators 32 and 42 from the actuators 32 and 42 or devices related to the actuators 32 and 42. The first signal is, for example, a signal from the second control unit 112 (servo control unit) requesting the transmission of the next transmission command value Cs after the second control unit 112 (servo control unit) outputs to the first actuator 32 corresponding to the transmission command value Cs. The first signal is, for example, a signal from the amplifier device 50 outputting to the second actuator 42 requesting the transmission of the next transmission command value Cs after the amplifier device 50 outputs to the second actuator 42. The first control unit 111 determines whether the control period Ta of the actuator to be targeted has changed based on the acquisition interval of the first signal. When the control period Ta has not changed (step S270: no), the first control unit 111 will... Figure 5 The transmission command value Cs determined in steps S240 to S260 is then sent to actuators 32 and 42.

[0070] When the control cycle Ta changes ( Figure 8(Step S270: Yes) The first control unit 111 causes the processing to proceed to step S280, generating a transmission command value Cs corresponding to the change in the control period Ta. In this embodiment, the first control unit 111 stores the last transmission time of the transmission command value Cs in the memory 120. The first control unit 111 calculates a predetermined transmission time based on the last transmission time and the acquisition interval of the first signal. The predetermined transmission time is the time after the last transmission time when the transmission command value Cs is sent to the actuator. The first control unit 111 interpolates the transmission command value Csn at the predetermined transmission time using the ratio of a reference command value Cr with time data prior to the predetermined transmission time to a reference command value with time data after the predetermined transmission time.

[0071] Figure 9 This is a schematic diagram of the transmission command value Cs generated in step S270. Figure 9 The diagram shows a portion of the actuator trajectory (solid line P) from the starting position S to the target position G, the reference command value Cr, the transmission command value Cs, and the transmission interval D of the transmission command value Cs. The transmission interval D is calculated, for example, using the interval between the last transmission time and the acquisition of the first signal. The transmission interval D is also the interval from the last transmission time to the predetermined transmission time. Figure 9 In the example shown, the reference command values ​​Cr(t-1), Cr(t), Cr(t+1), Cr(t+2), and Cr(t+3) were generated with a reference period Tr of 1.0 msec. Figure 3 Step S100, Figure 4(Step S120): After sending the transmission command values ​​Cs(t-1) and Cs(t) to the actuator (steps S210-S260), the control period Ta changes (step S270: Yes). Therefore, the first control unit 111 calculates the next predetermined transmission time (t+1.5) using, for example, the previous transmission time (t) and the acquisition interval of the first signal (step S280). For example, the first control unit 111 determines, in the actuator trajectory, a reference command value Cr(t+1) having immediate preceding time data and a reference command value Cr(t+2) having immediate following time data, and interpolates the transmission command value Csn(Cs(t+1.5)) for the predetermined transmission time (t+1.5) based on these command values. Similarly, the first control unit 111 uses the transmission time of the transmission command value Cs(t+1.5) as the previous transmission time and the first signal obtained from the transmission of the transmission command value Cs(t+1.5) to calculate the next predetermined transmission time (t+2.8). The first control unit 111 determines the reference command value Cr(t+2) with the preceding time data of the predetermined transmission time (t+2.8) and the reference command value Cr(t+3) with the following time data, and interpolates the transmission command value Csn(Cs(t+2.8)) of the predetermined transmission time (t+2.8) based on these command values.

[0072] Return to Figure 8 If the first control unit 111 sends the transmission command value Csn obtained by interpolation in step S280 to the actuator, then in step S290, the actuator determines whether it has reached the target position G of the actuator trajectory. If the actuator has not reached the target position G (step S290: No), the process returns to step S270, and the change of the control cycle Ta is monitored. If the target position has been reached (step S290: Yes), the series of processes ends.

[0073] According to this method, when the control cycle Ta of the actuator changes, the first control unit 111 uses the reference command value Cr to generate a position command value (send command value Cs) based on the changed control cycle. Therefore, even when the control cycle Ta changes for some reason, the synchronization deviation of multiple actuators 32 and 42 can be suppressed.

[0074] Furthermore, since the first control unit 111 is configured to sequentially acquire the first signal corresponding to the reception of the transmission command value Cs in the actuators 32 and 42, the change in the control period Ta can be determined by using the acquisition interval of the first signal.

[0075] <Third Implementation>

[0076] The control device 100 of the first and second embodiments described above is further configured such that, when instructed to stop during the execution of synchronization operation processing, each actuator stops while performing synchronization operation. This stop instruction is used to bring all actuators to an emergency stop regardless of whether the robot arm 40 has reached the target position G. The synchronization operation processing when instructed to stop will be described below.

[0077] Figure 10 and Figure 11 This is a flowchart illustrating the synchronization control process when an instruction to stop is received. During the synchronization control process, when the first control unit 111 receives a stop instruction via the input device 60 (step S300: Yes), it refers to the memory 120 and uses the characteristics of each actuator 32 to calculate the motion stop time td (step S302). The motion stop time td refers to the stop time of the actuator that requires the longest stopping time after each actuator has moved at its maximum deceleration following the instruction to stop. Time td may be limited by the actuator with the smallest maximum deceleration. From the time the stop instruction is received, the first control unit 111 uses the maximum deceleration contained in the characteristics of each actuator to calculate the stopping time required from when actuators 32 and 42 stop at their respective maximum deceleration until they stop. The first control unit 111 takes the time when the longest stopping time has elapsed since the reference time of the stop instruction as the motion stop time td for all actuators, i.e., the robot 20 as a whole.

[0078] Next, in step S304, the first control unit 111 generates an emergency command value Ce for each actuator using the operation stop time td and the reference command value Cr. The emergency command value Ce is used to maintain step S100 ( Figure 3 , Figure 4 The actuator trajectory generated in the control unit 111 is the position command value that stops the actuator at time td. In step S304, the first control unit 111 monotonically decreases the progress amount so that the progress amount becomes zero at time td. The progress amount is the amount of movement between each position command value during the period from the time t0 when the action is indicated to the time td when the action stops. In the actuator trajectory, the progress amount is the amount of progress made by the actuator per unit time, which is the amount of the actuator's reproduction of the trajectory. The degree of decrease in the progress amount is common to all actuators. Monotonically decreasing is monotonically decreasing in a general sense. The emergency command value Ce is the position command value that reduces the reproduction speed of the actuator trajectory by the deceleration achievable by all actuators.

[0079] Figure 12 This is a schematic diagram of the emergency command value Ce generated in step S304. Figure 12 The solid line P, the base command value Cr, and the emergency command value Ce are shown in the diagram. Figure 12In the example shown, the reference command values ​​Cr(t), Cr(t+1), Cr(t+2), Cr(t+3), and Cr(t+4) were generated with a reference period Tr of 1.0 msec. Figure 3 Step S100, Figure 4 Step S120), at time (t), is instructed to stop urgently ( Figure 9 Step S300: Yes). Therefore, the first control unit 111 refers to the memory 120 and uses the maximum deceleration of each actuator to determine the action stop time td at the maximum deceleration. Figure 9 Step S302). Figure 12 In this context, the action stop time td is time (t+8). The first control unit 111 generates an emergency command value Ce by reducing the progress of the reference command value Cr in the actuator trajectory toward the stop time td. Figure 10 Step S304). Figure 12 In the example shown, the progress gradually decreases from time (t+1) and becomes zero at time (t+8). The emergency command value Ce can be generated, for example, by applying the progress at each time to the baseline command value Cr in the actuator trajectory and interpolating.

[0080] If the first control unit 111 generates an emergency command value Ce, it will initiate processing. Figure 11 In step S310, the process of determining the sending command value when instructed to stop is executed. Figure 11 The transmitted command value shown determines the processing and... Figure 5 The difference in processing determined by the transmitted command value shown is that the emergency command value Ce is used instead of the base command value Cr; all other aspects are the same. The processes from step S310 to step S330 are similar. Figure 5 The corresponding processes from step S210 to step S360.

[0081] As described above, by determining the transmission command value Cs when instructed to stop and sending it to each actuator 32, 42, each actuator 32, 42 reduces the amount of progress without deviating from the actuator trajectory and stops at time td.

[0082] According to this method, the first control unit 111 generates an emergency command value Ce for each actuator, which monotonically reduces the progress amount, to ensure that the progress amount of the actuator becomes zero at the stop time td. The emergency command value Ce is then used to generate a transmission command value Cs. Furthermore, the degree of reduction in the progress amount is common to all actuators 32 and 42. Therefore, according to this method, all actuators 32 and 42 can be stopped at a deceleration achievable by all actuators 32 and 42. Additionally, it is possible to appropriately decelerate and stop the actuators 32 and 42 while suppressing synchronization deviations.

[0083] Figure 13 This is a graph showing the relationship between time and progress. In Figure 13 An example of reduced progress is shown. The first control unit 111 may also use the relationship of the straight line L1 shown by the dashed line to reduce the progress linearly from the time t0 when the operation is indicated to stop to the time td when the operation stops. Alternatively, the first control unit 111 may also use the curve L2 shown by the solid line: (i) reduce the degree of progress reduction from the time t0 when the operation is indicated to the first time ta immediately following it; (ii) increase the degree of progress reduction from the first time ta to the second time tb immediately preceding the time td when the operation stops; (iii) reduce the degree of progress reduction again from the second time tb to the time td when the operation stops. As shown by curve L2, the decrease in the amount of progress from the indicated stop time t0 to the immediately following first time ta, and from the immediately preceding second time tb to the stop time td, is less than the decrease in the amount of progress from the first time ta to the second time tb. This suppresses the actuator from decelerating sharply immediately after the indicated stop or immediately before the stop time td. Therefore, the stopping action of the multiple actuators 32, 42 can be made smoother.

[0084] <Other Implementation Methods>

[0085] In the above embodiment, in the control system 10, one control device 100 has the functions of a first control unit 111 that performs synchronization control processing and a second control unit 112 that controls the robotic arm 30. Furthermore, the amplifier device 50 that controls the robotic arm 40 is separately provided relative to the control device 100. In contrast, the manner in which the control device performing synchronization control processing and the control device in the control system 10 performing actuator drive control are not limited to the above embodiment, and various other methods can be applied. For example, such as... Figure 14 As shown, the control system 10a may also include a control device 100a having the function of the first control unit 111, and the second control device 140a having the function of the second control unit 112 may be included as a separate unit. Alternatively, the robotic arm 30 may also have the function of the second control unit 112, and the robotic hand 40 may also have the function of the amplifier device 50.

[0086] The instruction value determination process described in the above embodiment can also be applied to cases where the control period Ta is not an integer multiple of the reference period Tr. For example, the first control unit 111 may have a control period Ta that is 1.5 times, 3.2 times, or the same as the reference period Tr. Even if it is a multiple greater than 1 but not an integer multiple, the process can proceed to step S240. Figure 6Alternatively, in step S240, the first control unit 111 may omit the reference command value Cr that does not correspond to the control period Ta, and use the reference command value Cr that corresponds to the control period Ta as the transmission command value Cs. Alternatively, the first control unit 111 may also (ii) for a position command value at a time when no reference command value Cr is generated but which corresponds to the control period Ta, interpolate using a reference command value Cr with time data before that time and a reference command value Cr with time data after that time, and use this as the transmission command value Cs.

[0087] The control device 100 (first control unit 111, second control unit 112) may, for example, increase the control period Ta of at least one of the plurality of actuators 32, 42 when certain conditions are met, such as when the load in the control device 100 exceeds a predetermined threshold. This at least one actuator is preferably one whose required trajectory accuracy is lower than that of the other actuators. The first control unit 111 may also use the increased control period Ta to perform the operation. Figure 8 The synchronous control process is shown. In this case, for example, the relationship between the load threshold of the control device 100 and the control period Ta, which has been determined in advance through experiments and simulations, and the information of the actuator that increases the control period Ta can also be stored in the memory 120. When the load reaches the threshold, the first control unit 111 will... Figure 8 Step S270 is determined to be affirmative. The load on the control device 100 can also be the computational load of the CPU 110 or the processing load of the interface circuit 130. In this way, it is possible to perform other processing required in the control device 100 while performing synchronous control processing.

[0088] In the above embodiment, the plurality of first actuators 32 of the robotic arm 30 operate with the same first cycle T1f, and the plurality of second actuators 42 of the robotic hand 40 operate with the same second cycle T2f. Conversely, for example, the plurality of first actuators 32 of the robotic arm 30 may also be configured to operate with different control cycles Ta, and the plurality of second actuators 42 of the robotic hand 40 may also be configured to operate with different control cycles Ta. The first control unit 111, for example, performs the above-described command value determination processing by obtaining the control cycle Ta of the object actuator in the robotic arm 30, enabling synchronized control of the entire robotic arm 30. Furthermore, the plurality of first actuators 32 may each have different characteristics.

[0089] In the above embodiment, the actuators included in the control system 10 are shown as a robotic arm 30 and a robotic hand 40, but the actuator can be any mechanical device or mechanical element that converts electrical signals output from a computer into physical motion. For example, various actuators such as a conveyor belt or a moving device that moves the robotic arm 30 can be used.

[0090] Furthermore, the functions of the elements disclosed in this specification can be executed using circuits or processing circuits, including general-purpose processors, special-purpose processors, integrated circuits, ASICs (Application Specific Integrated Circuits), conventional circuits, and / or combinations thereof, configured or programmed to perform the disclosed functions. A processor, because it contains transistors and other circuitry, is considered a processing circuit or circuit. In this disclosure, a circuit, unit, or means is hardware that performs or is programmed to perform the listed functions. The hardware can be the hardware disclosed in this specification, or it can be other known hardware programmed or configured to perform the listed functions. When the hardware is a processor considered a type of circuit, the circuit, means, or unit is a combination of hardware and software used in the configuration of the hardware and / or processor.

[0091] This disclosure is not limited to the embodiments described above, and can be implemented in various ways without departing from its spirit. For example, this disclosure can also be implemented in the following aspects. In order to solve part or all of the problems of this disclosure, or to achieve part or all of the effects of this disclosure, the technical features in the above embodiments corresponding to the technical features in the various aspects described below can be appropriately replaced or combined. In addition, if a technical feature is not described as an essential technical feature in this specification, it can be appropriately deleted.

[0092] <1>

[0093] According to a first aspect of this disclosure, a control device is provided for controlling multiple actuators that operate with different control cycles. The control device includes a control unit that synchronizes the operations of the multiple actuators. For each actuator included in the multiple actuators, the control unit generates a reference command value, which serves as information for a position command value for each reference cycle, representing the actuator's trajectory. The reference cycle is a cycle commonly used by the multiple actuators. For each actuator, the control unit uses the reference command value to determine a position command value (i.e., a transmission command value) for each control cycle of the actuator, and transmits the determined transmission command value to the actuator. When the control cycle of the actuator differs from the reference cycle, the control unit omits the reference command value that does not correspond to the control cycle and uses the reference command value that corresponds to the control cycle as the transmission command value.

[0094] According to this method, the transmission command value of each actuator is based on the reference command value generated in each reference cycle commonly used by multiple actuators. Therefore, synchronization deviations among multiple actuators with different control cycles are suppressed. Furthermore, when the control cycle differs from the reference cycle, the control unit omits the reference command value that does not correspond to the control cycle and uses the reference command value that corresponds to the control cycle as the transmission command value. Therefore, the transmission command value can be generated reasonably. In addition, compared to the configuration where the transmission command value of each actuator is generated by matching the longest control cycle among the control cycles of multiple actuators for synchronous control, performance degradation of the actuators can be suppressed. Furthermore, the degrees of freedom of multiple actuators used as actuators can be increased.

[0095] In this approach, synchronization control is the control that suppresses synchronization deviations. Synchronization deviations include discrepancies in the timing of starting and stopping among multiple actuators. Synchronization deviations may also include discrepancies in the timing of acceleration and deceleration among multiple actuators.

[0096] <2>

[0097] In the above-described manner, the control unit may, during the generation of the actuator trajectory, acquire restrictions on each actuator, including speed, acceleration, and deceleration, for each of the plurality of actuators. The control unit may also generate an actuator trajectory reproducible in the actuator with the most stringent restrictions.

[0098] According to this method, since the control unit generates actuator trajectories for all actuators that take into account limitations including speed, acceleration, and deceleration, it is possible to suppress synchronization deviations of multiple actuators with different limitations.

[0099] <3>

[0100] In the above method, when the control cycle of the actuator is shorter than the reference cycle, the control unit performs interpolation between two consecutive reference command values ​​in the actuator trajectory to generate the transmission command value in order to correspond with the control cycle.

[0101] According to this method, since the transmission command value is generated using a reference command value with the same reference period for multiple actuators with different control cycles, synchronization deviations of each actuator can be suppressed. Furthermore, when the control period is shorter than the reference period, the control unit interpolates between two consecutive reference command values ​​to generate the transmission command value in order to correspond with the control period, thus enabling the generation of a reasonable transmission command value.

[0102] Alternatively, in this method, interpolation can be performed between two consecutive reference command values ​​to correspond to the control cycle. In this case, the control unit generates the position command value at the third time using the reference command value with time data before the third time and the reference command value with time data after the third time for the position command value at the third time corresponding to the control cycle.

[0103] <4>

[0104] Alternatively, when the control cycle changes, the control unit may use the reference command value to generate a position command value corresponding to the changed control cycle, and use this position command value as the transmission command value.

[0105] According to this method, even when the control cycle changes for some reason, the synchronization deviation of multiple actuators can be suppressed.

[0106] <5>

[0107] In the above-described manner, the control unit may also acquire a first signal corresponding to the reception of the transmission command value in each of the plurality of actuators when it sends the transmission command value to the actuator. Alternatively, the control unit may determine that the control period has changed when the interval at which the first signal is acquired differs from the control period.

[0108] According to this method, the change in the control cycle can be easily determined using the acquisition interval of the first signal.

[0109] <6>

[0110] In the above-described manner, the control unit of the control device may also include a storage unit that stores the last transmission time at which the transmission command value was last transmitted to the actuator. The control unit may also calculate a predetermined transmission time after the last transmission time to be transmitted to the actuator based on the last transmission time stored in the storage unit and the acquisition interval of the first signal. Alternatively, the control unit may generate the transmission command value at the predetermined transmission time using a reference command value having time data prior to the predetermined transmission time and a reference command value having time data after the predetermined transmission time.

[0111] According to this method, the control unit calculates the next predetermined transmission time based on the interval between the last transmission time and the acquisition of the first signal, and uses the reference command values ​​before and after the predetermined transmission time to generate the position command value at the predetermined transmission time (by interpolation). Therefore, according to this method, even if the control cycle changes dynamically, synchronization deviations of multiple actuators can still be suppressed.

[0112] <7>

[0113] In the above-described manner, the control unit may also be configured to acquire the load acting on the control device due to the processing performed by the control device. The control unit may also lengthen the control cycle for at least one of the plurality of actuators when the load exceeds a predetermined threshold.

[0114] According to this method, the control device can suppress synchronization deviations of multiple actuators while performing other processing required in the control device.

[0115] <8>

[0116] In the above-described manner, when the control unit receives a stop instruction for the plurality of actuators, it calculates the stopping time of each actuator from the moment the stop instruction is received when the actuator stops at the maximum deceleration using the maximum deceleration of the actuator. Alternatively, the control unit may determine the longest stopping time among the plurality of actuators as the stopping time at which the operation of the plurality of actuators is stopped.

[0117] As a position command value from the time the stop instruction is received until the time the operation stops, the control unit may also generate an emergency command value that monotonically decreases the actuator's progress amount contained in the reference command value so that it becomes zero at the time the operation stops. The control unit may also use the emergency command value to determine the transmission command value.

[0118] According to this method, multiple actuators can be stopped with a deceleration that all of them can achieve. Furthermore, the control unit generates position command values ​​for each actuator that monotonically reduce the advance amount, and sends these as transmission command values ​​so that the advance amount of the actuator becomes zero at the moment of stopping. Since the degree of reduction in the advance amount is common to all actuators, it is possible to appropriately decelerate and stop the multiple actuators while suppressing synchronization deviations.

[0119] <9>

[0120] In the above method, the control unit may also set the degree to which the progress amount decreases from the stop instruction to the first moment and from the second moment, which is later than the first moment and earlier than the action stop time, to the action stop time to be less than the degree to which the progress amount decreases from the first moment to the second moment.

[0121] This method prevents the actuator from decelerating abruptly immediately after being instructed to stop, or decelerating abruptly before the moment of stopping. Therefore, it enables smoother stopping of multiple actuators.

[0122] <10>

[0123] According to a second aspect of this disclosure, a control system is provided comprising a plurality of actuators operating at different control cycles and a control device for controlling the operation of the plurality of actuators. The control device includes a control unit that synchronizes the operation of the plurality of actuators. The control unit generates, for each actuator included in the plurality of actuators, a reference command value as the trajectory of the actuator, i.e., the actuator trajectory, as information for a position command value for each reference cycle, wherein the reference cycle is commonly used in the plurality of actuators and is predetermined. The control unit uses the reference command value to determine a transmission command value, which is the position command value for each control cycle of the actuator. The control unit transmits the determined transmission command value to the actuator. When the control cycle of the actuator differs from the reference cycle, the control unit omits the reference command value that does not correspond to the control cycle and uses the reference command value that corresponds to the control cycle as the transmission command value.

[0124] <11>

[0125] In the above-described manner, the plurality of actuators may also include a robotic arm and a robotic hand mounted on the robotic arm.

[0126] This method can suppress synchronization deviations between the robotic arm and the robotic hand.

[0127] <12>

[0128] According to a third aspect of this disclosure, a control method is provided to synchronize the operations of multiple actuators that operate with different control cycles. The control method includes the following processing: For each actuator included in the plurality of actuators, a reference command value is generated as the trajectory of the actuator, i.e., the actuator trajectory, serving as information for a position command value for each reference cycle, wherein the reference cycle is commonly used in the plurality of actuators and is predetermined. The control method includes the following processing: For each actuator, the reference command value is used to determine a transmission command value, which serves as the position command value for each control cycle of the actuator. The control method includes the following processing: For each actuator, the determined transmission command value is transmitted to the actuator. In the process of determining the transmission command value, when the control cycle of the actuator differs from the reference cycle, the reference command value that does not correspond to the control cycle is omitted, and the reference command value corresponding to the control cycle is used as the transmission command value.

[0129] <13>

[0130] According to the fourth aspect of this disclosure, a program is provided to synchronize the operations of multiple actuators that operate with different control cycles. This program causes a computer to perform the following processing: For each actuator included in the plurality of actuators, a reference command value is generated as the trajectory of the actuator, i.e., the actuator trajectory, serving as information for a position command value for each reference cycle, wherein the reference cycle is commonly used in the plurality of actuators and is predetermined; the reference command value is used to determine a transmission command value, which serves as the position command value for each control cycle of the actuator; and the determined transmission command value is transmitted to the actuator. This program also causes the computer to perform the following processing: When the control cycle of the actuator differs from the reference cycle, the reference command value that does not correspond to the control cycle is omitted, and the reference command value that corresponds to the control cycle is used as the transmission command value.

[0131] This disclosure can also be implemented in various ways other than those described above. For example, it can be implemented using a non-transitory storage medium that records a computer program for implementing the functions of at least one of the control device 100, the first control unit 111, and the second control unit 112.

[0132] Explanation of reference numerals in the attached figures:

[0133] 10, 10a…Control system; 20…Robot; 30…Robotic arm; 31…Arm tip; 32…First actuator; 33…First motor; 40…Robotic hand; 41…Front end; 42…Second actuator; 43…Second motor; 50…Amplifier device; 60…Input device; 100…Control device; 100a…Control device; 110…CPU; 111…First control unit; 112…Second control unit; 120…Memory; 130…Interface circuit; 140a…Second control device; 201…Container; 202…Container; L…Link; P1 …Program; P2…Program; Ce…Emergency command value; Cr…Reference command value; Cs…Send command value; Csn…Send command value at the scheduled send time; S…Start position; G…Target position; P…Actuator trajectory; D…Send interval; T1f…First cycle; T2f…Second cycle; Ta…Control cycle; Tr…Reference cycle; L1…Straight line representing the relationship between progress and time; L2…Curve representing the relationship between progress and time; W…Workpiece; t0…Stop indication time; ta…First moment; tb…Second moment; td…Action stop time.

Claims

1. A control device for controlling a plurality of actuators that operate at different control cycles, wherein, The control device includes a control unit that synchronizes the actions of the plurality of actuators. The control unit is configured for each actuator included in the plurality of actuators. The actuator trajectory, or actuator path, generates a reference command value, which serves as the position command value for each reference cycle. This reference cycle is shared by the multiple actuators and is predetermined. The reference command value is used to determine the transmission command value, which serves as the position command value for each control cycle of the actuator. The determined transmission command value is sent to the actuator. When the control period of the actuator is different from the reference period, the control unit omits the reference instruction value that does not correspond to the control period and uses the reference instruction value that corresponds to the control period as the transmission instruction value.

2. The control device according to claim 1, wherein, During the generation of the actuator trajectory, the control unit obtains constraints on each actuator, including speed, acceleration, and deceleration, for each of the plurality of actuators. The control unit generates a reproducible actuator trajectory in the actuator with the most stringent limitations.

3. The control device according to claim 1, wherein, When the control cycle of the actuator is shorter than the reference cycle, the control unit performs interpolation between two consecutive reference command values ​​in the actuator trajectory to generate the transmission command value in order to correspond with the control cycle.

4. The control device according to claim 1, wherein, When the control cycle changes, the control unit uses the reference command value to generate a position command value corresponding to the changed control cycle, which is then used as the transmission command value.

5. The control device according to claim 4, wherein, The control unit is configured for each actuator included in the plurality of actuators. When the transmission command value is sent to the actuator, a first signal corresponding to the reception of the transmission command value in the actuator is obtained. When the interval at which the first signal is obtained is different from the control cycle, it is determined that the control cycle has changed.

6. The control device according to claim 5, wherein, The control unit includes a storage unit that stores the last transmission time when the transmission command value was last sent to the actuator. The control unit calculates a predetermined transmission time to send the transmission command value to the actuator after the last transmission time based on the last transmission time stored in the storage unit and the acquisition interval of the first signal. The control unit uses the reference instruction value having time data before the predetermined transmission time and the reference instruction value having time data after the predetermined transmission time to generate the transmission instruction value at the predetermined transmission time.

7. The control device according to claim 3, wherein, The control unit is configured to acquire the load acting on the control device due to the processing performed by the control device. When the load is above a predetermined threshold, the control cycle is lengthened for at least one of the plurality of actuators.

8. The control device according to claim 1, wherein, When the control unit receives a stop instruction for the plurality of actuators For each of the plurality of actuators, using the maximum deceleration of the actuator, calculate the stopping time of the actuator when it stops at the maximum deceleration after receiving the stop instruction. The longest stop time among the stop times of the plurality of actuators is determined as the action stop time that stops the action of the plurality of actuators. As a position command value from the time the stop instruction is received until the time the action stops, an emergency command value is generated that monotonically decreases the amount of actuator progress contained in the reference command value in such a way that it becomes zero at the time the action stops. The control unit uses the emergency command to determine the value of the sending command.

9. The control device according to claim 8, wherein, The control unit sets the degree to which the progress amount decreases from the time the stop instruction is received until the first time, and from the second time, which is later than the first time and earlier than the time the action stops, until the time the action stops, to be less than the degree to which the progress amount decreases from the first time to the second time.

10. A control system comprising a plurality of actuators that operate at different control cycles and a control device for controlling the operation of the plurality of actuators, wherein, The control device includes a control unit that synchronizes the actions of the plurality of actuators. The control unit is configured for each actuator included in the plurality of actuators. As the trajectory of the actuator, i.e., the actuator trajectory, a reference command value is generated as the position command value for each reference cycle, wherein the reference cycle is shared by the plurality of actuators and is predetermined. The reference command value is used to determine the transmission command value, which serves as the position command value for each control cycle of the actuator. The determined transmission command value is sent to the actuator. When the control period of the actuator is different from the reference period, the control unit omits the reference instruction value that does not correspond to the control period and uses the reference instruction value that corresponds to the control period as the transmission instruction value.

11. The control system according to claim 10, wherein, The plurality of actuators include a robotic arm and a robotic hand mounted on the robotic arm.

12. A control method for synchronizing the actions of multiple actuators that operate with different control cycles, wherein, For each actuator included in the plurality of actuators, As the trajectory of the actuator, i.e., the actuator trajectory, a reference command value is generated as the position command value for each reference cycle, wherein the reference cycle is shared by the plurality of actuators and is predetermined. The reference command value is used to determine the transmission command value, which serves as the position command value for each control cycle of the actuator. The determined transmission command value is sent to the actuator. In determining the transmission command value, when the control period of the actuator is different from the reference period, the reference command value that does not correspond to the control period is omitted, and the reference command value that corresponds to the control period is used as the transmission command value.

Citation Information

Patent Citations

  • Robot controller

    JP2004280195A