Control device and control method
By dividing the trajectory into sections and correcting the command in constraint-satisfying sections, the control device and method address delay issues in input shaping control, ensuring compliance with design constraints and improving throughput.
Patent Information
- Application Number
- PCT/JP2025/005976
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-15
- Filing Date
- 2025-02-21
- Publication Date
- 2025-11-20
AI Technical Summary
Existing control methods using input shaping control to reduce vibrations in moving objects suffer from delay times that deviate from optimal design constraints, leading to reduced throughput.
A control device and method that divides the trajectory into sections and corrects the command in sections that satisfy constraints to shorten delay times without deviating from these constraints, using an input shaping control unit and a command correction unit to adjust the command allocation.
The method effectively reduces delay times caused by input shaping control while maintaining compliance with design constraints, thereby enhancing throughput without violating optimal design conditions.
Smart Images

Figure JP2025005976_20112025_PF_FP_ABST
Abstract
Description
Control device and control method
[0001] The present invention relates to a control device and a control method for controlling the drive of a moving object so as to move it along a trajectory in response to a command.
[0002] There are known control devices and control methods for controlling a moving object to move along a trajectory in response to a command. For example, Patent Document 1 discloses a control method for generating an input to a system that minimizes undesirable dynamic characteristics.
[0003] The method of the patent document 1 includes determining an impulse sequence that eliminates vibrations at the natural frequencies of a dynamic system and superimposing the impulse sequence with an arbitrary command input, and is suitable for shaping an arbitrary command input to a dynamic system so as to reduce vibrations at its end points.
[0004] Patent No. 3015396
[0005] In the method of Patent Document 1, vibrations caused by an impulse input are cancelled by applying a second impulse input half a cycle after the first vibration, and this control method is known as input shaping control.
[0006] In the input shaping control, an input command is delayed by half a cycle of the vibration frequency, so applying the input shaping control can cause problems such as a decrease in throughput due to the delay time and deviation from the optimal design under constraint conditions.
[0007] To address this issue, it is conceivable to correct the command after the input shaping control, but this is not preferable because it affects the vibration reduction effect achieved by the input shaping control.
[0008] Therefore, there is a need for control that shortens the delay time caused by input shaping control so as not to deviate from the constraints.
[0009] An object of the present invention is to provide a control device or control method that reduces the delay time caused by input shaping control so as not to deviate from constraints.
[0010] A control device according to one embodiment of the present invention is a device that drives and controls a moving object based on a command, and includes: an input shaping control unit that performs input shaping control in response to the command to reduce vibrations generated when the moving object moves; and a command correction unit that corrects the command in at least one section that satisfies a constraint condition for moving the moving object, among multiple sections obtained by dividing a trajectory that the moving object follows when driven and controlled based on an input shaping control command obtained by the input shaping control unit, so as to shorten at least a portion of a delay time in an input shaping trajectory that the moving object follows when driven and controlled based on the input shaping control command (first configuration).
[0011] In the above-described configuration, in order to reduce the delay time in the input shaping trajectory of the moving object, the command is corrected in at least one section that satisfies the constraint conditions among multiple sections obtained by dividing the trajectory when the moving object moves based on the command, thereby making it possible to reduce the delay time caused by the input shaping control without deviating from the constraint conditions.
[0012] In other words, even if the constraints are not satisfied in part of the input shaping trajectory of the moving object, by dividing the trajectory into multiple sections as described above and correcting the command in at least one section that satisfies the constraints, it is possible to shorten the delay time caused by input shaping control while still satisfying the constraints.
[0013] Therefore, it is possible to realize a control device that reduces the delay time caused by input shaping control so as not to deviate from the constraint conditions.
[0014] In the first configuration, the command correction unit adjusts the allocation of at least a portion of the delay time for at least one section among the plurality of sections that satisfies the constraint condition, and corrects the command so as to shorten the allocated and adjusted time (second configuration).
[0015] This allows the allocation of at least a portion of the delay time generated by input shaping control to be adjusted in at least some of the sections obtained by dividing the trajectory of the moving object that satisfy the constraint conditions, thereby more effectively shortening the delay time without deviating from the constraint conditions.
[0016] Therefore, it is possible to realize a control device that reduces the delay time caused by input shaping control so as not to deviate from the constraint conditions.
[0017] In the first configuration, the command correction unit corrects the command in the first correction to the command so as to shorten at least a portion of the delay time in all sections of the trajectory of the moving object, and if the input shaping trajectory of the moving object, which is drive-controlled based on the input shaping control command obtained by the input shaping control unit using the corrected command, does not satisfy the constraint condition, divides the trajectory of the moving object into multiple sections depending on whether the constraint condition is satisfied, and corrects the command so as to shorten a portion of the delay time in sections among the multiple divided sections that satisfy the constraint condition (third configuration).
[0018] As a result, the first command correction is made to shorten the delay time for the entire section of the trajectory of the moving object, and the subsequent command corrections are made to shorten part of the delay time for sections of the trajectory that satisfy the constraints, thereby making it possible to shorten the delay time more effectively without violating the constraints.
[0019] Therefore, it is possible to realize a control device that reduces the delay time caused by input shaping control so as not to deviate from the constraint conditions.
[0020] In the first configuration, the command correction unit repeatedly divides the input shaping trajectory of the moving object into sections depending on whether the input shaping trajectory satisfies the constraint conditions, and corrects the command so as to shorten part of the delay time in the sections that satisfy the constraint conditions, until the total time shortened reaches the delay time (fourth configuration).
[0021] As a result, the division of at least a portion of the trajectory of the moving object into sections and the correction of commands in sections that satisfy the constraints are repeated until the total time saved reaches the delay time caused by the input shaping control.
[0022] Therefore, it is possible to realize a control device that reduces the delay time caused by input shaping control so as not to deviate from the constraint conditions.
[0023] A control method according to one embodiment of the present invention is a method for driving and controlling a moving object in response to a command, the control method including: an input shaping control step of performing input shaping control on the command so as to reduce vibrations generated when the moving object moves; and a command correction step of correcting the command in at least one section that satisfies a constraint condition for moving the moving object, among a plurality of sections obtained by dividing a trajectory that the moving object follows when driven and controlled based on the input shaping control command obtained by the input shaping control step, so as to shorten at least a portion of a delay time in an input shaping trajectory that the moving object follows when driven and controlled based on the input shaping control command moves (first method).
[0024] In the above-described method, the delay time in the input shaping trajectory of the moving object is shortened by correcting the command in at least one section that satisfies the constraint conditions among multiple sections obtained by dividing the trajectory when the moving object moves based on the command, thereby making it possible to shorten the delay time caused by input shaping control without deviating from the constraint conditions.
[0025] In other words, even if the constraints are not satisfied in part of the input shaping trajectory of the moving object, by dividing the trajectory into multiple sections as described above and correcting the command in at least one section that satisfies the constraints, it is possible to shorten the delay time caused by input shaping control while still satisfying the constraints.
[0026] Therefore, a control method can be realized that shortens the delay time caused by input shaping control so as not to deviate from the constraint conditions.
[0027] A control device according to one embodiment of the present invention comprises an input shaping control unit that performs input shaping control in response to a command so as to reduce vibrations that occur when the moving object moves, and a command correction unit that corrects the command in at least one section that satisfies constraint conditions among multiple sections obtained by dividing the trajectory of the moving object based on the command, so as to shorten the delay time in the input shaping trajectory of the moving object that is drive-controlled based on the input shaping control command obtained by the input shaping control unit.
[0028] A control method according to one embodiment of the present invention includes an input shaping control step of performing input shaping control on a command so as to reduce vibrations that occur when a moving object moves, and a command correction step of correcting the command in at least one section that satisfies constraint conditions among multiple sections obtained by dividing the trajectory of the moving object based on the command, so as to shorten at least a portion of the delay time in the input shaping trajectory of the moving object that is drive-controlled based on the input shaping control command obtained by the input shaping control step.
[0029] As a result, the command can be corrected to shorten the delay time caused by the input shaping control while satisfying the constraints, thereby realizing a control device or control method that shortens the delay time caused by the input shaping control without violating the constraints.
[0030] FIG. 1 is a functional block diagram showing a schematic configuration of a control device according to a first embodiment. FIG. 2 is a schematic diagram showing a trajectory based on an original command and a trajectory based on a command after input shaping control. FIG. 3A is a diagram showing an example of a trajectory when a command is corrected using equation (1) to shorten a delay time. FIG. 3B is a diagram showing an example of a trajectory when a command is corrected using equation (2) to shorten a delay time. FIG. 4 is a flowchart showing an outline of a correction method for shortening a delay time caused by input shaping control for a command. FIG. 5 is a functional block diagram showing a schematic configuration of a control device according to a second embodiment. FIG. 6 is a schematic diagram showing an example of a relationship between each trajectory and a constraint condition. FIG. 7 is a flowchart showing an outline of a correction method for shortening a delay time caused by input shaping control for a command. FIG. 8 is a functional block diagram showing a schematic configuration of a control device according to a third embodiment. FIG. 9 is a flowchart showing an outline of a correction method for shortening a delay time caused by input shaping control for a command. FIG. 10 is a functional block diagram showing a schematic configuration of a control device according to a fourth embodiment. Fig. 11 is a flowchart showing an outline of a correction method for shortening a delay time generated by input shaping control for a command, and Fig. 12 is a flowchart showing a shortening time adjustment method for a section where constraint conditions are not satisfied.
[0031] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described in detail below with reference to the accompanying drawings. In the drawings, the same or corresponding parts are designated by the same reference numerals and the description thereof will not be repeated.
[0032] [First Embodiment] Fig. 1 is a functional block diagram showing the schematic configuration of a control device 1 according to a first embodiment of the present invention. This control device 1 controls the drive of a moving object M, such as the arm of an articulated robot, based on a command. The control device 1 performs input shaping control in response to the command and reduces delay time caused by the input shaping control. The control device 1 may be realized by, for example, a computing device such as a computer or a server, or by a device having a dedicated circuit formed therein.
[0033] The command is a command for driving and controlling the moving object M so as to move the moving object M along a predetermined trajectory. The command includes a position command or a speed command. The command is a command signal input to the control device 1.
[0034] The control device 1 controls the drive of the moving object M based on the command, thereby moving the moving object M. The control device 1 performs input shaping control on the command, and corrects the command so as to shorten the delay time caused by the input shaping control.
[0035] More specifically, the control device 1 includes an input shaping control unit 10 and a command correction unit 20 .
[0036] The input shaping control unit 10 performs input shaping control on the command. Input shaping control is a well-known method, as disclosed in, for example, Japanese Patent No. 3015396, and therefore detailed description thereof will be omitted. However, in the input shaping control, vibrations caused by an impulse input are canceled by applying a second impulse input half a cycle after the vibration. However, since the input shaping control delays the command by half a cycle of the vibration frequency, problems arise in that the delay time reduces throughput and deviates from the optimal design under constraint conditions.
[0037] Fig. 2 shows a schematic diagram of a trajectory based on an original command and a trajectory based on a command after input shaping control (input shaping control command). As shown in Fig. 2, the completion time Zb based on the command after input shaping control has a delay of ΔT from the completion time Za based on the original command.
[0038] The command correction unit 20 corrects the command so as to shorten the delay time ΔT that occurs due to the input shaping control of the command by the input shaping control unit 10 .
[0039] 3A is a diagram showing an example of a trajectory when the command is corrected using equation (1) to shorten the delay time. In FIG. 3A, by correcting the delay time ΔT that occurs with respect to the position command due to input shaping control using the following equation (1), the delay time can be shortened relative to the trajectory (thin dashed line) based on the original position command, as shown by the thick solid line. r'(t) = r(t) + C(t) C(t) = t / (T - ΔT) × Δp (1)
[0040] Here, t is an arbitrary time. r(t) is the trajectory based on the original position command. r'(t) is the trajectory based on the corrected position command. T is the operation time from the start time to the completion time based on the original position command. Δp is the difference between the target position at an arbitrary time and the target position at the time before that time that you want to shorten.
[0041] 3B is a diagram showing an example of a trajectory when a command is corrected using equation (2) to shorten the delay time. In FIG. 3B, by correcting the delay time ΔT generated by input shaping control for a position command using the following equation (2), the delay time can be shortened relative to the trajectory (thin dashed line) based on the original position command, as shown by the thick solid line. Note that equation (2) takes linear interpolation into account because the command update period is a discrete system. Equation (3) is a theoretical equation. r'(t) = r([t']) x Ts + {r([t'] x Ts + Ts) - r([t'] x Ts)} x t' mod 1) (2) where t' = t x T / (T - ΔT) / Ts r'(t) = r(t x T / (T - ΔT)) (3)
[0042] Here, Ts is the command period. [ ] is a Gaussian symbol. In the example shown in FIG. 3B, the position command is corrected taking linear interpolation into consideration, but the position command may also be corrected by interpolating using an arbitrary polynomial.
[0043] The command corrector 20 corrects the original command so as to shorten at least a part of the delay time ΔT in at least a part of a trajectory (hereinafter referred to as an input shaping trajectory) that the moving object M describes when it moves in accordance with the command obtained by the input shaping control (input shaping control command). For example, when the trajectory is divided into a plurality of sections, the command corrector 20 corrects the original command so as to shorten at least a part of the delay time ΔT in at least one section.
[0044] The command corrector 20 includes a calculator 21 , a trajectory generator 22 , a section divider 23 , and a constraint condition determiner 24 .
[0045] The calculation unit 21 calculates the frequency and damping rate of the vibration of the moving object M, and also calculates the delay time ΔT. That is, the calculation unit 21 calculates a value required to correct the command so as to shorten the delay time ΔT generated by the input shaping control. The frequency and damping rate are used to calculate the delay time ΔT.
[0046] The trajectory generation unit 22 calculates a trajectory when the moving object M is moved, and generates a trajectory graph or a relational expression, etc., as shown in Figures 2 and 3 (hereinafter simply referred to as trajectory generation). Specifically, the trajectory generation unit 22 generates a trajectory according to the command, and also generates a trajectory (input shaping trajectory) according to a command obtained by performing input shaping control on the command. The trajectory generation unit 22 also generates a trajectory (corrected trajectory) according to a command obtained by correcting the command (corrected command, described below).
[0047] The section dividing unit 23 divides the trajectory of the moving object M into sections for correcting the command. The section dividing unit 23 divides the trajectory into a plurality of sections so as to exclude sections of the trajectory that are determined to deviate from the constraint conditions by the constraint condition determining unit 24 (described later). Note that if there is no section of the trajectory that is determined to deviate from the constraint conditions by the constraint condition determining unit 24, the section dividing unit 23 does not divide the trajectory.
[0048] The trajectory generating unit 22 allocates a part of the delay time ΔT to each section divided by the section dividing unit 23. For example, the trajectory generating unit 22 allocates a time to be reduced (hereinafter referred to as a reduced time) to each section so that the sum of the times allocated to each section becomes the delay time ΔT. The trajectory generating unit 22 generates a correction command for the command so as to reduce each section by the reduced time.
[0049] The trajectory generating unit 22 generates a trajectory after correction (hereinafter referred to as a corrected trajectory) based on the correction command corresponding to the shortened time allocated to each section. The corrected trajectory generated by the trajectory generating unit 22 is subjected to input shaping control by the input shaping control unit 10. The trajectory generating unit 22 generates a trajectory (hereinafter referred to as an input shaping trajectory) based on data after input shaping control.
[0050] The constraint condition determination unit 24 determines whether the input shaping trajectory satisfies the constraint conditions. The constraint conditions include, for example, the speed, acceleration, torque, rotation angle, and maximum speed of the driving source (motor, etc.) of the moving object. If the input shaping trajectory does not satisfy the constraint conditions, the constraint condition determination unit 24 generates and outputs a reset command. When the reset command is output, the interval division unit 23 re-divides the intervals, and the trajectory generation unit 22 resets the shortened times for those intervals to generate a corrected trajectory.
[0051] FIG. 4 is a flowchart showing an outline of a correction method for shortening the delay time ΔT caused by input shaping control for the command, by the control device 1 having the above-described configuration.
[0052] 4 starts (START), first, in step SA1, the calculation unit 21 calculates the vibration frequency and damping rate. In the subsequent step SA2, the calculation unit 21 calculates the delay time ΔT due to input shaping control using the calculated frequency, etc.
[0053] In step SA3, the trajectory generating unit 22 generates a trajectory when moving the moving object M, and the section dividing unit 23 divides the trajectory into sections for correcting the command. Note that the section dividing unit 23 may divide the trajectory into predetermined sections at first, or may not divide it into multiple sections.
[0054] In step SA3, the trajectory generating unit 22 generates a correction command to shorten the time corresponding to the section for which the command is to be corrected. The shortened time is preferably set so that the total time in the section is equal to the delay time ΔT.
[0055] In the next step SA4, the trajectory generation unit 22 generates a corrected trajectory based on the correction command. The input shaping control unit 10 performs input shaping control on the corrected trajectory. The trajectory generation unit 22 generates an input shaping trajectory based on data after input shaping control.
[0056] In step SA5, the constraint condition determination unit 24 determines whether the input shaping trajectory satisfies the constraint conditions. If the input shaping trajectory satisfies the constraint conditions (YES in step SA5), this flow ends (END). On the other hand, if the input shaping trajectory does not satisfy the constraint conditions (NO in step SA5), the process returns to step SA3, where the interval division unit 23 resets the interval for correcting the command, and the trajectory generation unit 22 resets the shortened time for the interval.
[0057] Here, step SA4 corresponds to the input shaping control step, and step SA3 corresponds to the command correction step.
[0058] The control device 1 of this embodiment is a device that, based on a command, drives and controls a moving object M to move. The control device 1 includes an input shaping control unit 10 that performs input shaping control on the command so as to reduce vibrations that occur when the moving object M moves, and a command correction unit 20 that corrects the command in at least one section that satisfies constraints for moving the moving object M out of multiple sections obtained by dividing a trajectory that the moving object M traces when it moves based on the input shaping control command obtained by the input shaping control unit 10, so as to shorten at least a portion of the delay time in the input shaping trajectory that the moving object M traces when it moves, the input shaping control command being obtained by the input shaping control unit 10.
[0059] The control method according to this embodiment is a method for controlling the movement of a moving object M based on a command. The control method includes an input shaping control step SA4 for performing input shaping control on the command so as to reduce vibrations generated when the moving object M moves, and a command correction step SA3 for correcting the command in at least one section that satisfies a constraint condition for moving the moving object M among a plurality of sections obtained by dividing a trajectory that the moving object M follows when it moves based on the command, so as to shorten at least a part of a delay time in an input shaping trajectory that the moving object M follows when it moves, the input shaping control command being obtained in the input shaping control step SA4.
[0060] In the above-described configuration, the delay time ΔT in the trajectory of the moving object M, which is driven and controlled based on the input shaping control command obtained by the input shaping control unit 10, is shortened by correcting the command in at least one section that satisfies the constraint conditions among the multiple sections obtained by dividing the trajectory of the moving object M, thereby making it possible to shorten the delay time caused by the input shaping control without deviating from the constraint conditions.
[0061] In other words, even if the constraint conditions are not satisfied in part of the input shaping trajectory of the moving object M, by dividing the trajectory into multiple sections as described above and correcting the command in at least one section that satisfies the constraint conditions, it is possible to shorten the delay time caused by input shaping control while still satisfying the constraint conditions.
[0062] Therefore, it is possible to realize a control device 1 or a control method that reduces the delay time caused by input shaping control so as not to deviate from the constraint conditions.
[0063] 5 is a functional block diagram showing a schematic configuration of a control device 100 according to a second embodiment. The control device 100 differs from the control device 1 of the first embodiment in that the control device 100 gradually corrects the delay time ΔT in response to a command. In the following, the same components as those in the first embodiment are denoted by the same reference numerals and description thereof will be omitted, and only the parts different from the first embodiment will be described.
[0064] The control device 100 includes an input shaping control unit 10 and a command correction unit 120. The command correction unit 120 corrects a command to shorten a portion of the delay time ΔT generated by input shaping control as a shortening time, generates a corrected trajectory, and determines whether the input shaping trajectory obtained from the corrected trajectory satisfies the constraint conditions. If the constraint conditions are not satisfied, the command correction unit 120 divides the trajectory of the moving object M into sections that satisfy the constraint conditions and sections that do not, and corrects a command to shorten the shortening time in the sections that satisfy the constraint conditions, thereby generating a corrected trajectory. The command correction unit 120 repeats the above process until the total shortening time becomes equal to the delay time ΔT or until there are no more sections that can be corrected.
[0065] More specifically, the command corrector 120 includes a calculator 21 , a trajectory generator 122 , an interval divider 123 , and a constraint condition determiner 24 .
[0066] The trajectory generator 122 generates a corrected trajectory by correcting a command so as to shorten a part of the delay time ΔT generated by the input shaping control as a shortening time. The shortening time is, for example, 1 / N of the delay time ΔT. The shortening time does not have to be a value obtained by equally dividing the delay time ΔT, as long as it is a part of the delay time ΔT.
[0067] Even when section division is performed by the section division unit 123 described later, the trajectory generation unit 122 allocates the shortened time to the divided sections, corrects the command so that the allocated amount of time is also shortened, and generates a corrected trajectory.
[0068] The corrected trajectory generated by the trajectory generation unit 122 is subjected to input shaping control by the input shaping control unit 10, as in the first embodiment. The trajectory generation unit 122 generates an input shaping trajectory based on data after input shaping control.
[0069] The section dividing unit 123 divides a section in which the command is to be corrected in the trajectory of the moving object M. The section dividing unit 123 divides at least a part of the trajectory (the section to be corrected) into a section determined by the constraint condition determining unit 24 to satisfy the constraint condition and a section determined to not satisfy the constraint condition. The section dividing unit 123 may further divide the section determined to satisfy the constraint condition into a plurality of sections.
[0070] The constraint condition determination unit 24 generates and outputs a reset command when the input shaping trajectory generated by the trajectory generation unit 122 does not satisfy the constraint condition. When the reset command is output, the section division unit 123 divides the section to be corrected in the trajectory of the moving object M into a section that satisfies the constraint condition and a section that does not satisfy the constraint condition.
[0071] The trajectory generating unit 122 calculates the reduction time allocated to the section that satisfies the constraint condition (hereinafter referred to as the allocated reduction time) by multiplying the reduction time (e.g., ΔT / N) by the ratio of the time of the section that satisfies the constraint condition to the total time of the trajectory. The trajectory generating unit 122 corrects the command so as to reduce the delay time by the allocated reduction time in the section that satisfies the constraint condition, thereby generating a corrected trajectory.
[0072] The trajectory generation unit 122 adjusts the allocated reduction time according to the time of each section in the sections that satisfy the constraints so that the total time to be reduced becomes the reduction time (e.g., ΔT / N). The trajectory generation unit 122 corrects the command to reduce the delay time by the adjusted allocated reduction time, thereby generating a corrected trajectory. Note that, as described above, determining the allocated reduction time and adjusting the allocated reduction time corresponds to adjusting the allocation of at least a portion of the delay time ΔT.
[0073] Fig. 7 is a flowchart showing an outline of a correction method for shortening the delay time ΔT generated by input shaping control for the command by the control device 100 having the above configuration. Fig. 6 is a diagram showing an example of the relationship between each trajectory and constraint conditions.
[0074] 7 starts (START), in steps SB1 and SB2, the calculation unit 21 calculates the delay time ΔT due to input shaping control using the vibration frequency, etc., as in embodiment 1. Steps SB1 and SB2 are the same as steps SA1 and SA2 in embodiment 1.
[0075] In the next step SB3, as shown in Fig. 6A, the trajectory generation unit 122 generates a correction trajectory using ΔT / N as the reduction time, where N is an arbitrary number. N determines the reduction time for one correction in response to the command.
[0076] In step SB4, the input shaping control unit 10 performs input shaping control on the corrected trajectory. As shown in Fig. 6B, the trajectory generation unit 122 generates an input shaping trajectory based on the data after the input shaping control.
[0077] In the next step SB5, the constraint condition determination unit 24 determines whether the input shaping trajectory satisfies the constraint conditions. In Fig. 6, the values of the constraint conditions are schematically shown below the trajectory, and the upper limit of the constraint conditions is schematically represented as L.
[0078] Steps SB4 and SB5 are the same as steps SA4 and SA5 in the first embodiment.
[0079] If the input shaping trajectory satisfies the constraints (YES in step SB5), the process proceeds to step SB6, where it is determined whether the total shortened time is equal to or greater than the delay time ΔT. On the other hand, if the input shaping trajectory does not satisfy the constraints (NO in step SB5), the process proceeds to step SB7 and subsequent steps. In the example shown in FIG. 6B, the constraints exceed the upper limit value L.
[0080] If it is determined in step SB6 that the total time reduction is equal to or greater than the delay time ΔT (YES in step SB6), this flow ends (END). On the other hand, if it is determined that the total time reduction is not equal to or greater than the delay time ΔT (NO in step SB6), the flow proceeds to step SB10, which will be described later.
[0081] In step SB7, the constraint condition determination unit 24 determines whether the constraint conditions are satisfied over the entire section of the input shaping trajectory. If it is determined that the constraint conditions are not satisfied over the entire section (YES in step SB7), the command cannot be corrected due to the constraint conditions, and this flow ends (END).
[0082] On the other hand, if it is determined that at least a portion of the input shaping trajectory satisfies the constraint (NO in step SB7), the process proceeds to step SB8, where the section dividing unit 123 divides the immediately preceding pre-correction trajectory into sections that satisfy the constraint and sections that do not. In the subsequent step SB9, the trajectory generating unit 122 generates a corrected trajectory by multiplying ΔT / N by the ratio of the time of the satisfying section to the entire time of the trajectory (hereinafter referred to as the section ratio) for the section that satisfies the constraint, as the shortened time.
[0083] Figure 6(c) shows an example of dividing the immediately preceding pre-correction trajectory into a section that satisfies the constraint and a section that does not. Figure 6(c) shows the constraint value when the input shaping trajectory does not satisfy the constraint with a dashed line. In Figure 6(c), the section of the immediately preceding pre-correction trajectory that corresponds to the section of the input shaping trajectory that does not satisfy the constraint is designated II. The sections of the immediately preceding pre-correction trajectory that correspond to the section of the input shaping trajectory that satisfies the constraint are designated I and III.
[0084] The trajectory generator 122 generates a corrected trajectory by multiplying ΔT / N by the ratio of the section in sections I and III, and using the resultant time as the shortened time. In section II, no correction is made to the command to shorten the time.
[0085] Then, in step SB10, the trajectory generation unit 122 generates a corrected trajectory by allocating the missing time (remaining time) to each section in proportion to the time of each section that satisfies the constraint conditions so that the shortened time for the entire section that satisfies the constraint conditions becomes ΔT / N, and setting this as the shortened time for each section.
[0086] An example of the corrected trajectory generated in step SB10 is shown in Fig. 6(d). In the example shown in Fig. 6(d), the time to be shortened in section II is distributed to sections I and III in proportion to the time of these sections so that the total shortened time for sections I and III is ΔT / N. This determines the shortened time for sections I and III. The trajectory generation unit 122 corrects the command so as to shorten the time by the determined shortened time, thereby generating the corrected trajectory.
[0087] In the next step SB11, the input shaping control unit 10 performs input shaping control on the corrected trajectory. The trajectory generation unit 122 generates an input shaping trajectory based on the data after the input shaping control, as shown in Fig. 6(e).
[0088] In step SB12, the constraint condition determination unit 24 determines whether the input shaping trajectory satisfies the constraint conditions. If the input shaping trajectory satisfies the constraint conditions (YES in step SB12), the process proceeds to step SB6, where it is determined whether the total shortened time is equal to or greater than the delay time ΔT. In the example shown in FIG. 6( e), the input shaping trajectory satisfies the constraint conditions. On the other hand, if the input shaping trajectory does not satisfy the constraint conditions (NO in step SB12), the process proceeds to step SB13.
[0089] In step SB13, it is determined whether the entire section of the corrected trajectory does not satisfy the constraint conditions. If it is determined that the entire section of the corrected trajectory does not satisfy the constraint conditions (YES in step SB13), the command cannot be corrected due to the constraint conditions, and this flow is terminated (END).
[0090] On the other hand, if it is determined that at least a part of the section of the corrected trajectory satisfies the constraint condition (NO in step SB13), the process proceeds to step SB8, where the section dividing unit 123 divides the section to be corrected in the corrected trajectory into a section that satisfies the constraint condition and a section that does not. After that, the process is the same as the flow from step SB9 onwards.
[0091] The correction process, an example of which is shown in FIG. 6, is performed according to the above-described flow until the total shortened time is equal to or greater than the delay time ΔT or until it is determined that the entire section of the corrected trajectory does not satisfy the constraint conditions.
[0092] Here, steps SB4 and SB11 correspond to the input shaping control step, and steps SB3, SB9 and SB10 correspond to the command correction step.
[0093] With the configuration of this embodiment, the amount of correction for the command can be maximized within the range that satisfies the constraints. Therefore, the delay time ΔT can be further shortened. Furthermore, when ΔT / N is the shortening time, the balance between the shortening time of the delay time ΔT and the calculation processing time can be easily adjusted by setting the value of N.
[0094] In this embodiment, the command correction unit 120 adjusts the allocation of at least a portion of the delay time ΔT for at least some of the multiple sections that satisfy the constraint conditions, and corrects the command so as to shorten the allocated and adjusted time.
[0095] This makes it possible to adjust the distribution of at least a portion of the delay time ΔT generated by input shaping control in at least some of the sections obtained by dividing the trajectory of the moving object M that satisfy the constraint conditions, thereby more effectively shortening the delay time ΔT without deviating from the constraint conditions.
[0096] Therefore, it is possible to realize the control device 100 that shortens the delay time ΔT that occurs due to the input shaping control so as not to deviate from the constraint conditions.
[0097] In this embodiment, the command correction unit 120 corrects the command in the first correction to shorten at least a portion of the delay time ΔT in all sections of the trajectory of the moving object M, and if the input shaping trajectory of the moving object M, which is driven and controlled based on the input shaping control command obtained by the input shaping control unit 10 using the corrected command, does not satisfy the constraint condition, divides the trajectory of the moving object M into multiple sections depending on whether the constraint condition is satisfied, and corrects the command so as to shorten a portion of the delay time in sections among the multiple divided sections that satisfy the constraint condition.
[0098] As a result, the initial position command correction is performed so as to shorten part of the delay time ΔT for all sections of the trajectory of the moving object M, and subsequent command corrections are performed so as to shorten part of the delay time ΔT for sections of the trajectory that satisfy the constraints. Thus, the delay time ΔT can be shortened more effectively without departing from the constraints.
[0099] In this embodiment, the command correction unit 120 repeatedly divides the input shaping trajectory of the moving object M into sections depending on whether the input shaping trajectory satisfies the constraint conditions, and corrects the command so as to shorten part of the delay time ΔT in the sections that satisfy the constraint conditions, until the total time shortened reaches the delay time ΔT.
[0100] As a result, the division of sections in at least a portion of the trajectory of the moving object M and the correction of commands in sections that satisfy the constraints are repeated until the total time saved reaches the delay time ΔT caused by the input shaping control.
[0101] Therefore, it is possible to realize the control device 100 that shortens the delay time ΔT that occurs due to the input shaping control so as not to deviate from the constraint conditions.
[0102] 8 is a functional block diagram showing the schematic configuration of a control device 200 according to a third embodiment. The control device 200 differs from the control device 100 of the second embodiment in that, without dividing the trajectory into sections, the control device 200 performs a correction to shorten the delay time ΔT in response to a command, and then performs a time-shortening correction in sections where the input shaping trajectory satisfies the constraints. In the following, the same components as those in the second embodiment are assigned the same reference numerals and their description will be omitted, and only the parts that differ from the second embodiment will be described.
[0103] The control device 200 includes an input shaping control unit 10 and a command correction unit 220. The command correction unit 220 corrects a command to shorten a delay time ΔT caused by input shaping control, generates a corrected trajectory, and determines whether the input shaping trajectory obtained from the corrected trajectory satisfies the constraint conditions. If the constraint conditions are not satisfied, the command correction unit 220 divides the trajectory of the moving object M into a section that satisfies the constraint conditions and a section that does not, sets a shortening time in the section that satisfies the constraint conditions so that the delay time ΔT becomes equal to the constraint conditions, and corrects the command according to the shortening time to generate the corrected trajectory. The command correction unit 220 repeats the above process until the input shaping trajectory obtained using the corrected trajectory satisfies the constraint conditions or until there are no more sections in the corrected trajectory that can be corrected.
[0104] More specifically, the command corrector 220 includes a calculator 21 , a trajectory generator 222 , an interval divider 223 , and a constraint condition determiner 24 .
[0105] The trajectory generation unit 222 corrects the command so as to reduce the delay time ΔT caused by the input shaping control, and generates a corrected trajectory.
[0106] Even when section division is performed by the section division unit 223 described later, the trajectory generation unit 222 allocates a portion of the delay time ΔT to the divided section, corrects the command so as to shorten the allocated amount of time, and generates a corrected trajectory.
[0107] The corrected trajectory generated by the trajectory generation unit 222 is subjected to input shaping control by the input shaping control unit 10, as in the first embodiment. The trajectory generation unit 222 generates an input shaping trajectory based on data after input shaping control.
[0108] The section dividing unit 223 divides the trajectory of the moving object M into sections for correcting the command. The section dividing unit 223 divides the trajectory into sections that satisfy constraint conditions and sections that do not satisfy constraint conditions determined by the constraint condition determining unit 24 described later. The section dividing unit 223 may divide the satisfying section into a plurality of sections.
[0109] The constraint condition determination unit 24 generates and outputs a reset command when the input shaping trajectory generated by the trajectory generation unit 222 does not satisfy the constraint condition. When the reset command is output, the section division unit 223 divides the trajectory of the moving object M into a section that satisfies the constraint condition and a section that does not satisfy the constraint condition.
[0110] The trajectory generating unit 222 calculates the reduction time allocated to the section that satisfies the constraint condition (hereinafter referred to as the allocated reduction time) by multiplying the delay time ΔT by the ratio of the time of the section that satisfies the constraint condition to the entire time of the trajectory. The trajectory generating unit 222 corrects the command so as to reduce the delay time by the allocated reduction time in the section that satisfies the constraint condition, thereby generating a corrected trajectory.
[0111] The trajectory generating unit 222 adjusts the allocated reduction time according to the time of each section in the sections that satisfy the constraints so that the total time to be reduced becomes the delay time ΔT. The trajectory generating unit 222 corrects the command to reduce the delay time ΔT by the adjusted allocated reduction time, thereby generating a corrected trajectory. Note that, as described above, determining the allocated reduction time and adjusting the allocated reduction time corresponds to adjusting the allocation of at least a portion of the delay time ΔT.
[0112] FIG. 9 is a flowchart showing an outline of a correction method for shortening the delay time caused by input shaping control for the command, by the control device 200 having the above-described configuration.
[0113] 9 starts (START), in steps SC1 and SC2, the calculation unit 21 calculates the delay time ΔT due to input shaping control using the vibration frequency, etc., as in the first and second embodiments. Steps SC1 and SC2 are the same as steps SA1 and SA2 in the first embodiment.
[0114] In the following step SC3, the trajectory generating unit 222 generates a corrected trajectory with ΔT as the shortened time.
[0115] In step SC4, the input shaping control unit 10 performs input shaping control on the corrected trajectory. The trajectory generation unit 222 generates an input shaping trajectory based on the data after the input shaping control.
[0116] In the following step SC5, the constraint condition determining unit 24 determines whether the input shaping trajectory satisfies the constraint conditions.
[0117] Steps SC4 and SC5 are the same as steps SA4 and SA5 in the first embodiment.
[0118] If the input shaping trajectory satisfies the constraints (YES in step SC5), this flow ends (END). On the other hand, if the input shaping trajectory does not satisfy the constraints (NO in step SC5), the flow proceeds to step SC6 and subsequent steps.
[0119] In step SC6, it is determined whether the constraints are not satisfied over the entire section of the input shaping trajectory. If it is determined that the constraints are not satisfied over the entire section of the input shaping trajectory (YES in step SC6), the command cannot be corrected due to the constraints, and this flow is terminated (END). Step SC6 is the same as step SB7 in embodiment 2.
[0120] On the other hand, if it is determined that at least a portion of the input shaping trajectory satisfies the constraint condition (NO in step SC6), the process proceeds to step SC7, where the section dividing unit 223 divides the immediately preceding pre-correction trajectory into sections that satisfy the constraint condition and sections that do not. Step SC7 is the same as step SB8 in embodiment 2. In the subsequent step SC8, the trajectory generating unit 222 generates a corrected trajectory by multiplying ΔT in the sections that satisfy the constraint condition by the ratio of the time of the satisfying section to the entire time of the trajectory (hereinafter referred to as the section ratio), and sets the obtained time as the shortened time.
[0121] Then, in step SC9, the trajectory generation unit 222 allocates the missing time (remaining time) to each section that satisfies the constraint conditions in proportion to the length of each section so that the shortened time for the entire section that satisfies the constraint conditions is ΔT, thereby generating a corrected trajectory by setting it as the shortened time for each section.
[0122] In the next step SC10, the input shaping control unit 10 performs input shaping control on the corrected trajectory. The trajectory generation unit 222 generates an input shaping trajectory based on the data after the input shaping control. Step SC10 is the same as step SB11 in the second embodiment.
[0123] In step SC11, the constraint condition determination unit 24 determines whether the input shaping trajectory satisfies the constraint conditions. If the input shaping trajectory satisfies the constraint conditions (YES in step SC11), this flow ends (END). On the other hand, if the input shaping trajectory does not satisfy the constraint conditions (NO in step SC11), the flow proceeds to step SC12.
[0124] In step SC12, it is determined whether the entire section of the corrected trajectory does not satisfy the constraint conditions. If it is determined that the entire section of the corrected trajectory does not satisfy the constraint conditions (YES in step SC12), the command cannot be corrected due to the constraint conditions, and this flow is terminated (END).
[0125] On the other hand, if it is determined that at least a portion of the corrected trajectory satisfies the constraint condition (NO in step SC12), the process proceeds to step SC7, where the section dividing unit 223 divides the corrected trajectory into sections that satisfy the constraint condition and sections that do not. After that, the process is the same as the flow from step SC8 onwards.
[0126] Steps SC11 and SC12 are the same as steps SB12 and SB13 in the second embodiment.
[0127] Here, steps SC4 and SC10 correspond to the input shaping control step, and steps SC3, SC8 and SC9 correspond to the command correction step.
[0128] In this embodiment, the command correction unit 220 also adjusts the allocation of at least a portion of the delay time for at least some of the multiple sections that satisfy the constraint conditions, and corrects the command so as to shorten the allocated and adjusted time.
[0129] The configuration of this embodiment does not require the setting of initial conditions for correction, etc. Therefore, the command can be easily corrected to shorten the delay time ΔT caused by the input shaping control. Therefore, the delay time ΔT caused by the input shaping control can be easily shortened without violating the constraints.
[0130] [Fourth Embodiment] Fig. 10 is a functional block diagram showing the schematic configuration of a control device 300 according to a fourth embodiment. The control device 300 differs from the control device 100 of the second embodiment in that it divides a trajectory into equal intervals, each interval being divided into intervals that satisfy constraint conditions and intervals that do not, and adjusts the time reduction in the intervals that do not satisfy the constraint conditions. In the following, the same components as those in the second embodiment will be assigned the same reference numerals and their description will be omitted, and only the parts that differ from the second embodiment will be described.
[0131] The control device 300 includes an input shaping control unit 10 and a command correction unit 320. The command correction unit 320 corrects commands for each equally spaced section of the trajectory of the moving object M to reduce the delay time ΔT caused by input shaping control, generates a corrected trajectory, and determines whether the input shaping trajectory obtained from the corrected trajectory satisfies the constraint conditions. If the constraint conditions are not satisfied, the command correction unit 320 divides each section into sections that satisfy the constraint conditions and sections that do not. Furthermore, the command correction unit 320 adjusts the shortening time for the sections that do not satisfy the constraint conditions so that the constraint conditions are satisfied, while for the sections that satisfy the constraint conditions, the command correction unit 320 sets a shortening time proportional to the section time so that the shortening time for the entire trajectory becomes the delay time ΔT, corrects the command based on the shortening time, and generates a corrected trajectory. The command corrector 320 repeats the above process until the input shaping trajectory obtained using the corrected trajectory satisfies the constraints or until there is no longer any section of the corrected trajectory that can be corrected.
[0132] More specifically, the command corrector 320 includes a calculator 21 , a trajectory generator 322 , an interval divider 323 , and a constraint condition determiner 24 .
[0133] The trajectory generation unit 322 divides the trajectory of the moving object M into multiple sections (for example, N in this embodiment) at equal intervals, and corrects the command for each section so that the delay time ΔT generated by the input shaping control is reduced to ΔT / N, which is the reduction time divided by the number N of the multiple sections, thereby generating a corrected trajectory.
[0134] Even when section division is performed by the section division unit 323 described later, the trajectory generation unit 322 allocates the shortened time to the divided sections, corrects the command so as to shorten the delay time by the allocated amount, and generates a corrected trajectory.
[0135] The corrected trajectory generated by the trajectory generation unit 322 is subjected to input shaping control by the input shaping control unit 10, as in the first embodiment. The trajectory generation unit 322 generates an input shaping trajectory based on data after input shaping control.
[0136] The section dividing unit 323 divides the trajectory of the moving object M into a plurality of sections. The section dividing unit 323 divides the sections into sections that satisfy the constraint conditions and sections that do not satisfy the constraint conditions determined by the constraint condition determination unit 24 described later. The section dividing unit 323 may divide the section that satisfies the constraint conditions into a plurality of sections. The section dividing unit 323 may divide the section that does not satisfy the constraint conditions into a plurality of sections.
[0137] The constraint condition determination unit 24 generates and outputs a reset command when the input shaping trajectory generated by the trajectory generation unit 322 does not satisfy the constraint condition. When the reset command is output, the section division unit 323 divides the section into a section that satisfies the constraint condition and a section that does not satisfy the constraint condition.
[0138] For sections that do not satisfy the constraints, the trajectory generation unit 322 reduces the shortened time until the constraints are satisfied, while for sections that satisfy the constraints, the shortened time is proportional to the time of each section so that the delay time over the entire trajectory becomes ΔT.The trajectory generation unit 322 then corrects the commands to shorten the shortened time in those sections, thereby generating a corrected trajectory.
[0139] FIG. 11 is a flowchart showing an outline of a correction method for shortening the delay time ΔT caused by input shaping control for the command, using the control device 300 having the above-described configuration.
[0140] 11 starts (START), in steps SD1 and SD2, the calculation unit 21 calculates the delay time ΔT due to input shaping control using the vibration frequency, etc., as in embodiments 1 to 3. Steps SD1 and SD2 are the same as steps SA1 and SA2 in embodiment 1.
[0141] In the next step SD3, the trajectory generation unit 322 divides the trajectory of the moving object M at equal intervals, and generates a corrected trajectory by setting ΔT / N as the shortened time in each divided section.
[0142] In step SD4, the input shaping control unit 10 performs input shaping control on the corrected trajectory. The trajectory generation unit 322 generates an input shaping trajectory based on the data after the input shaping control.
[0143] In the following step SD5, the constraint condition determination unit 24 determines whether the input shaping trajectory satisfies the constraint conditions.
[0144] Steps SD4 and SD5 are the same as steps SA4 and SA5 in the first embodiment.
[0145] If the input shaping trajectory satisfies the constraints (YES in step SD5), this flow ends (END). On the other hand, if the input shaping trajectory does not satisfy the constraints (NO in step SD5), the flow proceeds to step SD6 and subsequent steps.
[0146] In step SD6, it is determined whether the constraints are not satisfied over the entire section of the input shaping trajectory. If it is determined that the constraints are not satisfied over the entire section of the input shaping trajectory (YES in step SD6), the command cannot be corrected due to the constraints, and this flow is terminated (END). Step SD6 is the same as step SB7 in embodiment 2.
[0147] On the other hand, if it is determined that at least some sections of the input shaping trajectory satisfy the constraint conditions (NO in step SD6), the process proceeds to step SD7, where the section dividing unit 323 divides each section of the corrected trajectory into sections that satisfy the constraint conditions and sections that do not. In the subsequent step SD8, the trajectory generating unit 322 multiplies ΔT / N by the ratio of the time of each section to the time of the section (hereinafter referred to as the section ratio) for the sections that satisfy the constraint conditions and the sections that do not satisfy the constraint conditions, and determines the resulting time as the shortened time.
[0148] Then, in step SD9, the trajectory generation unit 322 adjusts the shortened time for the sections that do not satisfy the constraints. This adjustment of the shortened time will be described later. In the following step SD10, the trajectory generation unit 322 generates a corrected trajectory by allocating the missing time (remaining time) in the sections that satisfy the constraints in proportion to the time of each section so that the overall shortened time of the trajectory becomes ΔT.
[0149] In the next step SD11, the input shaping control unit 10 performs input shaping control on the corrected trajectory. The trajectory generation unit 322 generates an input shaping trajectory based on the data after the input shaping control. Step SD11 is the same as step SB11 in the second embodiment.
[0150] In step SD12, the constraint condition determination unit 24 determines whether the input shaping trajectory satisfies the constraint conditions. If the input shaping trajectory satisfies the constraint conditions (YES in step SD12), this flow ends (END). On the other hand, if the input shaping trajectory does not satisfy the constraint conditions (NO in step SD12), the flow proceeds to step SD13.
[0151] In step SD13, it is determined whether the entire section of the corrected trajectory does not satisfy the constraints. If it is determined that the entire section of the corrected trajectory does not satisfy the constraints (YES in step SD13), the command cannot be corrected due to the constraints, and this flow ends (END).
[0152] On the other hand, if it is determined that at least a portion of the corrected trajectory satisfies the constraint condition (NO in step SD13), the process proceeds to step SD7, where the section dividing unit 323 divides the corrected trajectory into sections that satisfy the constraint condition and sections that do not. After that, the process is the same as step SD8 and onwards.
[0153] Step SD12 is the same as step SB12 in the second embodiment.
[0154] Here, steps SD4 and SD11 correspond to the input shaping control step, and steps SD3, SD9 and SD10 correspond to the command correction step.
[0155] (Adjustment of shortened time in a section not satisfying constraint conditions) Next, the adjustment of shortened time in step SD9 of the above flow will be described with reference to FIG.
[0156] 12 starts, first, in step D1, the trajectory generation unit 322 sets the sections that do not satisfy the constraint conditions as section 1, section 2, ..., section n in chronological order. In the following step D2, the trajectory generation unit 322 sets k, which indicates the number of the section that does not satisfy the constraint conditions, to 1. In step D3, the trajectory generation unit 322 reduces the shortened time by ΔT / Q in section k that does not satisfy the constraint conditions, to generate a corrected trajectory. Q is a constant that specifies the amount by which the shortened time is reduced, and is set as appropriate.
[0157] In the following step D4, the input shaping control unit 10 performs input shaping control on the corrected trajectory. The trajectory generation unit 322 generates an input shaping trajectory based on the data after the input shaping control.
[0158] Then, in step D5, it is determined whether the input shaping trajectory satisfies the constraint in section k. If it is determined that the input shaping trajectory satisfies the constraint in section k (YES in step D5), the process proceeds to step D6, where it is determined whether k = n. On the other hand, if it is determined that the input shaping trajectory does not satisfy the constraint in section k (NO in step D5), the process returns to step D3, where the trajectory generator 322 further reduces the shortened time by ΔT / Q to generate a corrected trajectory.
[0159] If it is determined in step D6 that k = n (YES in step D6), the shortened time adjustment flow shown in Fig. 12 ends, and the process proceeds to step SD10 shown in Fig. 11. On the other hand, if it is determined that k = n is not true (NO in step D6), the process proceeds to step D7, where k is incremented by 1 (moving to the next section), and the shortened time for that section is reduced by ΔT / Q in step D3, thereby generating a corrected trajectory.
[0160] As a result, even in sections of the track where the constraint conditions are not satisfied, the delay time ΔT can be reduced by changing the reduction time to a time that satisfies the constraint conditions, thereby further reducing the delay time ΔT.
[0161] While the embodiments of the present invention have been described above, the above-described embodiments are merely examples for carrying out the present invention. Therefore, the present invention is not limited to the above-described embodiments, and can be practiced by appropriately modifying the above-described embodiments within the scope of the spirit thereof.
[0162] In each of the above embodiments, the moving object M that is the object to be controlled by the control devices 1, 100, 200, and 300 is, for example, the arm of an articulated robot. However, the moving object may be any device that moves based on a command.
[0163] In each of the above embodiments, the delay time is a time equivalent to a half cycle of the vibration generated by the input shaping control, but the delay time may be a time other than a half cycle of the vibration.
[0164] In each of the above embodiments, the command correction is repeated until the input shaping trajectory satisfies the constraints, etc. However, the number of interval divisions may be determined, and the command correction may be repeated until that number is reached.
[0165] In the first embodiment, the command correction unit 20 corrects the delay time ΔT caused by input shaping control for the command using equation (1). However, the command correction unit may correct the delay time for the command using any correction equation that results in a target correction amount at the command completion time.
[0166] In addition to the above-described embodiments, an evaluation function may be created based on each constraint condition, and the allocation of the time reduction may be determined by weighting the evaluation function. For example, the allocation of the time reduction may be determined as follows:
[0167] First, the ratio of the current value to the threshold value of each constraint is summed to create an evaluation function weighted by each constraint. The total value of the evaluation function is calculated for each section of the trajectory of the moving object, and the time reduction is allocated to each section so that the time reduction is greater in sections with a smaller total value, thereby generating a corrected trajectory. If the input shaping trajectory obtained from the corrected trajectory does not satisfy the constraint, the weight for the unsatisfied condition in the evaluation function is increased to generate a corrected trajectory.
[0168] In the first embodiment, the position command is corrected using equation (1) or equation (2), but the speed command can also be corrected using equation (1) or equation (2) in the same manner as the position command correction. When correcting the speed command, the correction is made so as to shorten the time required to reach the target speed.
[0169] The present invention can be used in a control device that controls the drive to move a moving object based on a command.
[0170] 1, 100, 200, 300 Control device 10 Input shaping control unit 20, 120, 220, 320 Command correction unit 21 Calculation unit 22, 122, 222, 322 Trajectory generation unit 23, 123, 223, 323 Section division unit 24 Constraint condition determination unit M Moving object
Claims
1. A control device that drives and controls a moving object to move based on a command, comprising: an input shaping control unit that performs input shaping control on the command so as to reduce vibrations that occur when the moving object moves; and a command correction unit that corrects the command in at least one section that satisfies constraints when moving the moving object out of multiple sections obtained by dividing the trajectory that the moving object traces when it moves based on the command, so as to shorten at least a portion of the delay time in the input shaping trajectory that the moving object traces when it moves, the input shaping control command obtained by the input shaping control unit.
2. A control device according to claim 1, wherein the command correction unit adjusts the allocation of at least a portion of the delay time for at least one section among the plurality of sections that satisfies the constraint conditions, and corrects the command so as to shorten the allocated and adjusted time.
3. A control device according to claim 1, wherein the command correction unit corrects the command in the first correction to the command so as to shorten at least a part of the delay time in all sections of the trajectory of the moving object; if the input shaping trajectory of the moving object, which is driven and controlled based on the input shaping control command obtained by the input shaping control unit using the corrected command, does not satisfy the constraint condition, divides the trajectory of the moving object into a plurality of sections depending on whether the constraint condition is satisfied, and corrects the command so as to shorten a part of the delay time in sections among the divided plurality of sections that satisfy the constraint condition.
4. A control device according to claim 1, wherein the command correction unit repeatedly divides the input shaping trajectory of the moving object into sections depending on whether the input shaping trajectory satisfies the constraint conditions, and corrects the command so as to shorten part of the delay time in sections that satisfy the constraint conditions, until the total time shortened reaches the delay time.
5. A control method for driving and controlling a moving object to move in accordance with a command, comprising: an input shaping control step for performing input shaping control on the command so as to reduce vibrations generated when the moving object moves; and a command correction step for correcting the command in at least one section that satisfies constraints when moving the moving object, out of multiple sections obtained by dividing a trajectory that the moving object traces when it moves based on the command, so as to shorten at least a portion of the delay time in an input shaping trajectory that the moving object traces when it moves, which is drive-controlled based on an input shaping control command obtained by the input shaping control step.
Citation Information
Patent Citations
Vibration control of systems with configuration-dependent dynamics
JP2020526403A
Input shaper for robotic surgical systems
JP2022520877A
Method and apparatus for minimizing unwanted dynamics in a physical system
US5638267A