WO2023032156A1 - Robot control system, robot control device, motion planning device, robot control program, and motion planning program - Google Patents
Robot control system, robot control device, motion planning device, robot control program, and motion planning program Download PDFInfo
- Publication number
- WO2023032156A1 WO2023032156A1 PCT/JP2021/032445 JP2021032445W WO2023032156A1 WO 2023032156 A1 WO2023032156 A1 WO 2023032156A1 JP 2021032445 W JP2021032445 W JP 2021032445W WO 2023032156 A1 WO2023032156 A1 WO 2023032156A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- deceleration time
- allowable acceleration
- motion planning
- motion
- Prior art date
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 142
- 230000001133 acceleration Effects 0.000 claims abstract description 157
- 238000004364 calculation method Methods 0.000 claims abstract description 70
- 238000012545 processing Methods 0.000 claims description 16
- 230000000717 retained effect Effects 0.000 claims description 2
- 238000012937 correction Methods 0.000 description 42
- 238000010586 diagram Methods 0.000 description 12
- 239000013598 vector Substances 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000010365 information processing Effects 0.000 description 6
- 238000000034 method Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000005484 gravity Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/416—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
Definitions
- the present disclosure relates to a robot control system, a robot control device, a motion planning device, a robot control program, and a motion planning program that control a robot.
- Patent Document 1 As a conventional robot control system, there is a system that includes a device that plans the motion trajectory of the robot and a device that controls the robot based on the motion trajectory (for example, Patent Document 1).
- a PC Personal Computer
- the robot path which is the motion trajectory of the robot, based on a feedback signal from a robot controller that controls the robot. Realize optimization of robot motion.
- the PC uses a simulator containing the robot model in optimal control to optimize the robot's motion.
- the present disclosure has been made in view of the above, and an object thereof is to achieve optimal control of a robot in a robot control system in which a device that does not have dynamic parameters of the robot plans the motion trajectory of the robot.
- a robot control system includes a motion planning device that creates a motion trajectory of a robot, and a robot control device that controls the motion of the robot based on the motion trajectory.
- the robot controller uses the robot controller-side parameter storage section that holds the dynamics parameters of the robot, and the dynamics parameters held by the robot controller-side parameter storage section to determine the tolerance determined by the motion planning device. Allowance is the allowable value of the time required for movement when the robot moves to the acceleration/deceleration time calculation position and the speed of the robot when it reaches the allowable acceleration/deceleration time calculation position is the specified speed determined by the motion planning device.
- the motion planning device determines the motion trajectory using the motion planning device-side parameter storage unit that holds the allowable acceleration/deceleration time calculated by the optimum control calculation unit and the allowable acceleration/deceleration time held by the motion planning device-side parameter storage unit. and a command generator that determines the allowable acceleration/deceleration time calculation position and the specified speed.
- the command generator corrects the motion trajectory using the calculated allowable acceleration/deceleration time.
- FIG. 1 is a diagram showing a configuration example of a robot control system according to an embodiment
- FIG. A diagram showing an example of a functional block configuration of a motion planning device A diagram showing an example of a functional block configuration of a command generation unit of a motion planning device.
- 3 is a flowchart showing an example of a pre-operation correction phase of robot control by a robot control system; Diagram for explaining how to select the allowable acceleration/deceleration time calculation position Flowchart showing an example of a real-time correction phase of robot control by a robot control system A diagram for explaining an acceleration/deceleration correction operation by a motion planning device.
- FIG. 4 is a diagram showing a configuration example of a processing circuit when a robot control device is realized by a processor and memory;
- a robot control system, a robot control device, a motion planning device, a robot control program, and a motion planning program will be described below in detail based on the drawings.
- FIG. 1 is a diagram showing a configuration example of a robot control system 100 according to an embodiment.
- a robot control system 100 includes a motion planning device 1 that creates a motion plan for a robot 3 to be controlled, a robot control device 2 that controls the robot 3 based on the motion plan created by the motion planning device 1, and a robot control device 2 that is necessary for the motion planning.
- an input device 4 for inputting a target position and trajectory generation parameters to the motion planning device 1;
- the input device 4 generates the target position of the robot 3 by, for example, analyzing a control program in which commands relating to the motion of the robot 3 are described. Further, the input device 4 inputs robot kinematic parameters, which are kinematic parameters of the robot 3 , and peripheral object information, which is information on objects existing in the vicinity of the robot 3 , and the motion planning device 1 inputs the target trajectory of the robot 3 . Output as a trajectory generation parameter used when generating.
- the target trajectory is the movement trajectory of the robot 3 when moving the robot 3 from the position of the robot 3 (hereinafter sometimes referred to as the current position of the robot 3) at the time of executing the calculation for generating the target trajectory to the target position. be.
- Examples of robot kinematics parameters are information such as the joint configuration of the robot 3, link positions and link lengths, the maximum motor speed of the servo motors provided by the robot 3, and the like.
- the robot 3 has a plurality of servo motors, and the robot control device 2 controls the plurality of servo motors. Description will be given assuming that the device 2 controls one servomotor.
- the configuration example shown in FIG. 1 assumes a system that detects obstacles existing around the robot 3 and creates an avoidance route, and the robot control system 100 also includes a sensor 5 that detects obstacles.
- the sensor 5 is, for example, one or more 2D vision sensors, photographs the motion range of the robot 3, analyzes the obtained image, and detects obstacles.
- the sensor 5 outputs the obstacle detection result to the motion planning device 1 as obstacle information.
- the obstacle information includes at least position information of the detected obstacle. If no obstacle is detected, the obstacle information includes information indicating that no obstacle exists.
- the motion planning apparatus 1 may perform the process of analyzing the image and detecting the obstacle.
- the robot control system 100 aims at realizing an operation in which the robot 3 avoids an obstacle, but the purpose is not limited to this.
- FIG. 2 is a diagram showing an example of the functional block configuration of the motion planning device 1.
- the motion planning device 1 can be realized by, for example, a computer such as a personal computer and a program for operating the computer as the motion planning device 1 . That is, the computer on which the program has been installed can implement the motion planning apparatus 1 by executing the installed program.
- the motion planning apparatus 1 includes an external information processing unit 11, a target position storage unit 12, a command generation unit 13, a parameter storage unit 14, a transmission unit 16 and a reception unit 17. 15 and.
- the external information processing section 11 determines an intrusion-prohibited position where the robot 3 is prohibited from entering.
- the external information processing unit 11 determines, for example, a certain range around the position of the obstacle indicated by the obstacle information as the intrusion prohibited position.
- the target position storage unit 12 stores target positions input from the input device 4 .
- the command generation unit 13 generates the robot 3 based on the intrusion prohibition position, the target position, and the trajectory generation necessary parameters including the trajectory generation parameter and the allowable acceleration/deceleration time stored in the parameter storage unit 14.
- a target trajectory is created, and a target command position for operating the robot 3 along the target trajectory is calculated and output.
- the command generation unit 13 creates a target trajectory so as to avoid the intrusion prohibited position.
- the target trajectory is represented by a plurality of target command positions. Therefore, creation of the target trajectory by the command generation unit 13 has the same meaning as creation of a plurality of target command positions.
- the command generator 13 also outputs the target command position for calculating the allowable acceleration/deceleration time (hereinafter referred to as the allowable acceleration/deceleration time calculation position) and the speed at the allowable acceleration/deceleration time calculation position among the calculated target command positions. .
- the allowable acceleration/deceleration time is calculated by moving the robot 3 from the current position, i.e., the position of the robot 3 at the time when the command generation unit 13 calculates the target command position, to the allowable acceleration/deceleration time calculation position, and the allowable acceleration/deceleration time calculation. This parameter indicates the allowable value of the time required for movement when the speed at the time of reaching the position is a specified value.
- This allowable value is determined by the allowable speed and acceleration when the robot 3 moves. For example, it should be the time required for the robot 3 to move from its current position to the allowable acceleration/deceleration time calculation position at allowable speed and acceleration. can be done.
- the allowable value is the time required for the robot 3 to move at the maximum allowable speed and maximum allowable acceleration, that is, the minimum value of the time required for the robot 3 to move from the current position to the allowable acceleration/deceleration time calculation position. is preferred.
- the target command position, allowable acceleration/deceleration time calculated position and speed output by the command generation unit 13 are transmitted to the robot control device 2 via the transmission unit 16 of the communication unit 15 . Details of the command generator 13 will be described separately.
- the parameter storage unit 14 which is the motion planning device side parameter storage unit, stores the trajectory generation parameter input from the input device 4, and the allowable acceleration/deceleration time input from the robot control device 2 via the reception unit 17 of the communication unit 15. memorize These trajectory generation parameters and allowable acceleration/deceleration time are output to the command generation section 13 as trajectory generation required parameters when the command generation section 13 generates the target trajectory of the robot 3 .
- the parameter storage unit 14 updates the stored allowable acceleration/deceleration time.
- FIG. 3 is a diagram showing an example of the functional block configuration of the command generator 13 of the motion planning device 1.
- the command generation unit 13 includes a target trajectory generation unit 131, an acceleration/deceleration time calculation position selection unit 132, and a real-time correction unit 133.
- the real-time correction unit 133 is composed of a deceleration start determination unit 134 and an acceleration correction unit 135. be.
- the target trajectory generating unit 131 receives the entry prohibition position from the external information processing unit 11, the target position from the target position storage unit 12, and the robot information, the peripheral device information, and the allowable acceleration/deceleration time from the parameter storage unit 14. is entered.
- the target trajectory creation unit 131 creates a target trajectory, which is a trajectory to the target position, based on each piece of input information.
- the robot information includes information such as robot kinematic parameters, specific examples of which include joint configuration, link position, link length, motor maximum speed, and allowable acceleration/deceleration time.
- the acceleration/deceleration time calculation position selection unit 132 selects from the target trajectory created by the target trajectory creation unit 131, the position at which the robot control device 2 executes calculation of the allowable acceleration/deceleration time and the speed at that position.
- a deceleration start determination unit 134 of the real-time correction unit 133 determines whether or not the servomotor to be controlled has started deceleration based on the target trajectory created by the target trajectory creation unit 131 .
- the deceleration start determination unit 134 outputs the determination result to the acceleration correction unit 135 together with the target trajectory.
- the acceleration correction unit 135 of the real-time correction unit 133 calculates the acceleration of the servomotor to be controlled based on the target trajectory, and corrects the calculated acceleration based on the allowable acceleration/deceleration time stored in the parameter storage unit 14. Furthermore, a target command position is created based on the corrected acceleration. However, when the deceleration start determination unit 134 detects the start of deceleration, that is, when the servomotor is decelerating, the acceleration correction unit 135 creates the target command position without correcting the acceleration.
- FIG. 4 is a diagram showing an example of the functional block configuration of the robot control device 2.
- the robot control device 2 includes a communication section 23 including a receiving section 21 and a transmitting section 22 , an optimum control calculating section 24 , a command processing section 25 , a servo control section 26 and a parameter storage section 27 .
- the receiving unit 21 of the communication unit 23 receives the target command position, the allowable acceleration/deceleration time calculation position and the speed transmitted from the motion planning device 1 .
- the receiving unit 21 outputs the received target command position to the command processing unit 25 and outputs the allowable acceleration/deceleration time calculation position and speed to the optimum control calculation unit 24 .
- the transmission unit 22 of the communication unit 23 transmits the allowable acceleration/deceleration time calculated by the optimum control calculation unit 24 to the motion planning device 1 .
- the optimum control calculation unit 24 calculates the allowable acceleration based on the allowable acceleration/deceleration time calculated position and speed received by the receiving unit 21 from the motion planning device 1 and the robot dynamics parameters stored in the parameter storage unit 27, which will be described later. Calculate the deceleration time.
- the optimum control calculator 24 calculates the allowable acceleration/deceleration time for the allowable acceleration/deceleration time calculation position.
- the robot dynamics parameters are the dynamics parameters of the robot 3 necessary for calculating the allowable acceleration/deceleration time. include. A method of calculating the allowable acceleration/deceleration time by the optimum control calculator 24 will be described later.
- the command processing unit 25 converts the target command position received by the receiving unit 21 from the motion planning device 1 into data to be handled inside the robot 3 .
- the target command position from the motion planning device 1 is expressed in the orthogonal coordinate system, it is converted into the target command position in the joint coordinate system.
- the target command position converted by the command processing unit 25 is output to the servo motors that constitute the robot 3 via the servo control unit 26 .
- Control of the robot 3 by the robot control system 100 is divided into a pre-operation correction phase and a real-time correction phase, and the robot control system 100 executes the real-time correction phase after executing the pre-operation correction phase.
- FIG. 5 is a flowchart showing an example of a pre-operation correction phase of control of the robot 3 by the robot control system 100. As shown in FIG.
- the motion planning device 1 creates a target trajectory using the allowable acceleration/deceleration time stored in the parameter storage unit 14 (step S11).
- the command generator 13 creates a target trajectory, which is a trajectory for moving the robot 3 from the position of the robot 3 at the start of the pre-operation correction phase to the target position.
- the command generation unit 13 while avoiding the no-entry position, determines the time required for the servo motors of the robot 3 to reach the maximum speed from the stop state, and the time required for the servo motors of the robot 3 to reach the stop state from the maximum speed. Create a target trajectory that satisfies the allowable acceleration/deceleration time. There are no particular restrictions on the specific method of creating the target trajectory.
- the motion planning device 1 selects the allowable acceleration/deceleration time calculation position and speed and transmits them to the robot control device 2 (step S12).
- the command generation unit 13 selects a target command position for which the robot controller 2 is to calculate the allowable acceleration/deceleration time from among the plurality of target command positions included in the target trajectory created in step S11. Select the calculation position, and further select the designated speed, which is the speed at the allowable acceleration/deceleration time calculation position.
- the positions and speeds at the positions marked with circles in the speed waveform shown in FIG. is.
- the user may select the allowable acceleration/deceleration time calculation position and speed after the creation of the target trajectory is completed.
- the target command position and velocity may be selected as the allowable acceleration/deceleration time calculation position and velocity. There are no restrictions on the positions and number of selections.
- the robot control device 2 calculates the allowable acceleration/deceleration time and transmits it to the motion planning device 1 (step S13).
- the optimum control calculation unit 24 stores the allowable acceleration/deceleration time calculation position and speed transmitted by the motion planning device 1 in step S12 and the parameter storage unit 27, which is the robot controller side parameter storage unit.
- the allowable acceleration/deceleration time for the position where the allowable acceleration/deceleration time is calculated is calculated based on the robot dynamics parameters. A method of calculating the allowable acceleration/deceleration time will be described later.
- the motion planning device 1 compares the allowable acceleration/deceleration time received from the robot control device 2 and the allowable acceleration/deceleration time stored in the parameter storage unit 14 (step S14). If the difference between the two compared allowable acceleration/deceleration times is large (step S14: No), the motion planning device 1 replaces the allowable acceleration/deceleration time stored in the parameter storage unit 14 with the allowable acceleration/deceleration time received from the robot controller 2. The deceleration time is updated (step S15). After that, the robot control system 100 executes steps S11 to S13 again. In step S14, for example, the parameter storage unit 14 confirms whether the difference between the two allowable acceleration/deceleration times is equal to or greater than a predetermined threshold. For example, when the two allowable acceleration/deceleration times differ by 5% or more, the parameter storage unit 14 determines that the difference between the two is large.
- a predetermined threshold For example, when the two allowable acceleration/deceleration times differ by 5% or more,
- step S14 If the difference between the two compared allowable acceleration/deceleration times is small (step S14: Yes), the robot control system 100 ends the pre-operation correction phase.
- the parameter storage unit 14 ends the pre-operation correction phase when the difference between the two allowable acceleration/deceleration times is less than a predetermined threshold.
- step S14 it is determined that the difference between the two allowable times is large, and if the number of repetitions of steps S15 and steps S11 to S13 reaches a predetermined value, the pre-operation correction phase is terminated. After repeating S11 to S13 a predetermined number of times, the pre-operation correction phase may be terminated if the allowable acceleration/deceleration time stored in the parameter storage unit 14 is longer.
- the calculation time increases.
- fine correction is applied during real-time operation, but operation may be performed only in the pre-operation correction phase.
- FIG. 7 is a flow chart showing an example of the real-time correction phase of control of the robot 3 by the robot control system 100. As shown in FIG.
- the motion planning device 1 transmits the target command position to the robot control device 2 (step S21).
- the command generation unit 13 generates the entry prohibition position input from the external information processing unit 11, the target position stored in the target position storage unit 12, and the allowable acceleration stored in the parameter storage unit 14.
- a target trajectory is created based on the deceleration time and the position of the robot 3 at the time when the command generation unit 13 executes the calculation for obtaining the target command position, and the transmission unit 16 sends the target command position constituting the target trajectory to the robot control device. 2.
- the robot control device 2 controls the robot 3 based on the target command position received from the motion planning device 1 (step S22). Specifically, the command processing unit 25 converts the received target command position into a format processable by the robot 3 and outputs the format to the robot 3 .
- the robot control device 2 calculates the allowable acceleration/deceleration time and transmits it to the motion planning device 1 (step S23).
- the calculation method of the allowable acceleration/deceleration time is the same as in step S13 of the pre-operation correction phase described above, and the details will be described later.
- the position and speed for calculating the allowable acceleration/deceleration time used in the calculation may be the current position and speed of the robot 3, or may be newly acquired from the motion planning device 1 in step S23 for calculating the allowable acceleration/deceleration time.
- the motion planning device 1 that has received the allowable acceleration/deceleration time from the robot control device 2 checks whether or not the output of the command to the target position has been completed (step S24). Using the determined allowable acceleration/deceleration time, the target command position is corrected (step S25). The command in step S24 is the target command position. In step S25, the motion planning apparatus 1 regenerates the target trajectory, which is the trajectory from the current position of the robot 3 to the target position, using the received allowable acceleration/deceleration time, thereby obtaining the target command position constituting the target trajectory. correct. At this time, the motion planning device 1 changes the acceleration/deceleration based on the allowable acceleration/deceleration time, thereby performing correction so that the motion amount does not change.
- the area of the velocity waveform before the pre-operation correction is performed the area of the velocity waveform after the pre-operation correction is performed, and the area of the velocity waveform after the real-time correction is performed.
- Acceleration/deceleration is corrected in consideration of remaining distance and remaining speed so that If the acceleration/deceleration is changed after the start of deceleration, it becomes difficult to reach the target position. Therefore, the acceleration/deceleration is not changed after the start of deceleration is determined.
- the acceleration/deceleration is changed using the positions corresponding to the times ta and tb as the allowable acceleration/deceleration time calculation positions.
- the deceleration start determination is performed by the deceleration start determination unit 134 of the real-time correction unit 133 constituting the command generation unit 13 of the motion planning apparatus 1, and the acceleration/deceleration change is performed by the acceleration correction unit 135 of the real-time correction unit 133. (See Figure 3).
- the robot control system 100 executes steps S21 to S23 again.
- step S24: Yes the robot control system 100 ends the real-time correction phase.
- the optimum control calculator 24 of the robot controller 2 calculates the position q and the velocity q.
- the calculation of the allowable acceleration/deceleration time after obtaining ' can be performed using, for example, the calculation disclosed in Japanese Patent Application Laid-Open No. 7-200033.
- the torque vector ⁇ of each axis is composed of an inertia matrix M specified from the position q of the robot 3, a vector h of Coriolis force, gravity and friction force specified from the position q and velocity q′ of the robot 3, and the robot It can be expressed as in Equation (1) using three angular acceleration vectors q''.
- equation (2) is obtained. become.
- the i-axis torque ⁇ i falls within the range indicated by the equation (3) with respect to the maximum torque ⁇ max i .
- the optimum control calculation unit 24 calculates the minimum acceleration/deceleration time vector t a that satisfies the expression (3) from the relationship of the expression (2), and selects the minimum acceleration/deceleration time t amin from among the calculated acceleration/deceleration times of each axis. is selected as the allowable acceleration/deceleration time.
- the robot control system 100 includes the motion planning device 1 and the robot control device 2.
- the motion planning device 1 holds the kinematic parameters and allowable acceleration/deceleration time of the robot 3, and uses the held kinematic parameters and allowable acceleration/deceleration time to determine the trajectory for moving the robot 3 to the target position. Create a target trajectory.
- the motion planning device 1 outputs to the robot control device 2 a target command position for the robot 3 based on the target trajectory, and calculates an allowable acceleration/deceleration time which is a position for calculating an allowable acceleration/deceleration time on the target trajectory. Report location and velocity at that location.
- the robot control device 2 retains the dynamics parameters of the robot 3, and when notified of the allowable acceleration/deceleration time calculation position and speed from the motion planning device 1, uses the retained dynamics parameters to use the notified allowable
- the allowable acceleration/deceleration time for the acceleration/deceleration time calculation position is calculated and transmitted to the motion planning device 1 .
- the motion planning device 1 receives the allowable acceleration/deceleration time from the robot control device 2, it updates the held allowable acceleration/deceleration time. In this way, the motion planning device 1 can appropriately update the allowable acceleration/deceleration time without holding the dynamics parameters of the robot 3, and the optimum control of the robot 3 can be achieved.
- the motion planning device 1 is realized by a computer as described above. That is, the motion planning apparatus 1 is realized by the computer executing a program for operating as the motion planning apparatus 1 .
- the robot control device 2 includes a processing circuit that is dedicated hardware, specifically, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA ( Field Programmable Gate Array), or a processing circuit that combines these.
- a processing circuit that is dedicated hardware, specifically, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA ( Field Programmable Gate Array), or a processing circuit that combines these.
- the processing circuit that implements the robot control device 2 may be a control circuit that includes a memory and a processor that executes a program stored in the memory.
- FIG. 9 is a diagram showing a configuration example of a processing circuit when the robot control device 2 is realized by a processor and memory.
- the processor 101 is a CPU (Central Processing Unit, also referred to as a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, a processor, or a DSP (Digital Signal Processor)).
- CPU Central Processing Unit
- a processing unit also referred to as a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, a processor, or a DSP (Digital Signal Processor)).
- DSP Digital Signal Processor
- the memory 102 is, for example, RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (registered trademark) (Electrically Erasable Programmable Read Only Memory), or the like.
- the memory 102 stores a program for operating each part of the robot control device 2 , and the robot control device 2 is realized by reading and executing this program by the processor 101 .
- the interface circuit 103 is used when transmitting and receiving data to and from other devices such as the motion planning device 1 and the robot 3 .
- the robot control device 2 may be implemented with the dedicated hardware described above for some of the components, and the processor 101, memory 102, and interface circuit 103 shown in FIG. 9 for the remaining components.
- the programs stored in the memory 102 are, for example, CD (Compact Disc)-ROM, DVD (Digital Versatile Disc)-It may be provided to the user or the like while being written in a storage medium such as a ROM, or it may be provided via a network.
- 1 motion planning device 2 robot control device, 3 robot, 4 input device, 5 sensor, 11 external information processing unit, 12 target position storage unit, 13 command generation unit, 14, 27 parameter storage unit, 15, 23 communication unit, 16, 22 transmission unit, 17, 21 reception unit, 24 optimum control calculation unit, 25 command processing unit, 26 servo control unit, 100 robot control system, 131 target trajectory creation unit, 132 acceleration/deceleration time calculation position selection unit, 133 real time correction unit, 134 deceleration start determination unit, 135 acceleration correction unit.
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
This robot control system (100) comprises: a motion planning device (1) that creates a motion trajectory for a robot (3); and a robot control device (2) that controls the motion of the robot on the basis of the motion trajectory. The robot control device comprises: a parameter storage unit (27) that holds dynamic parameters of the robot; and an optimum control calculation unit (24) and that uses the dynamic parameters to calculate an allowable acceleration/deceleration time, which is an allowable value of a time required for movement when the robot moves to an allowable acceleration/deceleration time calculation location and the speed of the robot at the point in time when the robot has arrived at the allowable acceleration/deceleration time calculation location is a designated speed. The motion planning device comprises a command generation unit (13) that creates the motion trajectory by using the allowable acceleration/deceleration time calculated by the optimum control calculation unit, and that determines the allowable acceleration/deceleration time calculation location and the designated speed. When the allowable acceleration/declaration time is calculated by the optimum control calculation unit, the command generation unit uses the calculated allowable acceleration/deceleration time to correct the motion trajectory.
Description
本開示は、ロボットを制御するロボット制御システム、ロボット制御装置、動作計画装置、ロボット制御プログラムおよび動作計画プログラムに関する。
The present disclosure relates to a robot control system, a robot control device, a motion planning device, a robot control program, and a motion planning program that control a robot.
従来のロボット制御システムとして、ロボットの動作軌道を計画する装置と、動作軌道に基づいてロボットを制御する装置とを備える構成のシステムが存在する(例えば、特許文献1)。
As a conventional robot control system, there is a system that includes a device that plans the motion trajectory of the robot and a device that controls the robot based on the motion trajectory (for example, Patent Document 1).
特許文献1に記載のロボット制御システムにおいては、ロボットを制御するロボットコントローラからのフィードバック信号に基づいて、PC(Personal Computer:パーソナルコンピュータ)がロボットの動作軌道であるロボット経路を最適化することにより、ロボットの動作の最適化を実現する。PCは、ロボットの動作を最適化する最適制御においてロボットモデルを含むシミュレータを用いる。
In the robot control system described in Patent Document 1, a PC (Personal Computer) optimizes the robot path, which is the motion trajectory of the robot, based on a feedback signal from a robot controller that controls the robot. Realize optimization of robot motion. The PC uses a simulator containing the robot model in optimal control to optimize the robot's motion.
近年のハードウェアの進歩や、オープンソースソフトウェアの発展により、ロボットメーカ以外の企業が、PCをロボットの動作軌道を計画する装置として動作させるためのソフトウェアを開発して販売するケースが増加している。
With recent advances in hardware and the development of open source software, companies other than robot manufacturers are increasingly developing and selling software for operating a PC as a device for planning the motion trajectories of robots. .
特許文献1に記載のロボット制御システムのように、PCがロボットモデルを含むシミュレータを用いて最適化を実施する構成では、PC側にシミュレータを構築できるレベルのロボット制御に関する知識および制御対象のロボットの動力学パラメータが必須となる。ロボットメーカ以外がPC側の開発をする場合、制御対象のロボットの動力学的な制御知識を所持しておらず、実現が困難となる場合がある。動力学的な制御知識とは、例えば、ロボットの動力学パラメータであり、アーム質量、重心位置、イナーシャ、摩擦、モータ最大トルクといった情報が該当する。
As in the robot control system described in Patent Document 1, in a configuration in which a PC performs optimization using a simulator that includes a robot model, knowledge of robot control at a level that allows a simulator to be constructed on the PC side and the robot to be controlled are required. Kinetic parameters are required. When the PC side is developed by a company other than the robot manufacturer, it may be difficult to implement the system because they do not have the dynamic control knowledge of the robot to be controlled. Dynamic control knowledge is, for example, dynamic parameters of a robot, and includes information such as arm mass, center of gravity position, inertia, friction, and maximum motor torque.
本開示は、上記に鑑みてなされたものであって、ロボットの動力学パラメータを有さない装置がロボットの動作軌道を計画する構成のロボット制御システムにおいて、ロボットの最適制御を実現することを目的とする。
The present disclosure has been made in view of the above, and an object thereof is to achieve optimal control of a robot in a robot control system in which a device that does not have dynamic parameters of the robot plans the motion trajectory of the robot. and
上述した課題を解決し、目的を達成するために、本開示にかかるロボット制御システムは、ロボットの動作軌道を作成する動作計画装置と、動作軌道に基づいてロボットの動作を制御するロボット制御装置と、を備える。ロボット制御装置は、ロボットの動力学パラメータを保持するロボット制御装置側パラメータ記憶部と、ロボット制御装置側パラメータ記憶部が保持している動力学パラメータを使用して、動作計画装置で決定された許容加減速時間計算位置までロボットが移動し、かつ許容加減速時間計算位置に到達した時点のロボットの速度が動作計画装置で決定された指定速度である場合の移動に要する時間の許容値である許容加減速時間を算出する最適制御計算部と、を備える。動作計画装置は、最適制御計算部が算出する許容加減速時間を保持する動作計画装置側パラメータ記憶部と、動作計画装置側パラメータ記憶部が保持している許容加減速時間を使用して動作軌道を作成するとともに、許容加減速時間計算位置および指定速度を決定する指令生成部と、を備える。指令生成部は、最適制御計算部で許容加減速時間が算出されると、算出された許容加減速時間を使用して、動作軌道を補正する。
In order to solve the above-described problems and achieve the object, a robot control system according to the present disclosure includes a motion planning device that creates a motion trajectory of a robot, and a robot control device that controls the motion of the robot based on the motion trajectory. , provided. The robot controller uses the robot controller-side parameter storage section that holds the dynamics parameters of the robot, and the dynamics parameters held by the robot controller-side parameter storage section to determine the tolerance determined by the motion planning device. Allowance is the allowable value of the time required for movement when the robot moves to the acceleration/deceleration time calculation position and the speed of the robot when it reaches the allowable acceleration/deceleration time calculation position is the specified speed determined by the motion planning device. and an optimum control calculation unit that calculates the acceleration/deceleration time. The motion planning device determines the motion trajectory using the motion planning device-side parameter storage unit that holds the allowable acceleration/deceleration time calculated by the optimum control calculation unit and the allowable acceleration/deceleration time held by the motion planning device-side parameter storage unit. and a command generator that determines the allowable acceleration/deceleration time calculation position and the specified speed. When the optimum control calculator calculates the allowable acceleration/deceleration time, the command generator corrects the motion trajectory using the calculated allowable acceleration/deceleration time.
本開示によれば、ロボットの動力学パラメータを有さない装置がロボットの動作軌道を計画する構成のロボット制御システムにおいて、ロボットの最適制御を実現することができる、という効果を奏する。
According to the present disclosure, it is possible to achieve optimal control of the robot in a robot control system in which a device that does not have dynamic parameters of the robot plans the motion trajectory of the robot.
以下に、本開示の実施の形態にかかるロボット制御システム、ロボット制御装置、動作計画装置、ロボット制御プログラムおよび動作計画プログラムを図面に基づいて詳細に説明する。
A robot control system, a robot control device, a motion planning device, a robot control program, and a motion planning program according to embodiments of the present disclosure will be described below in detail based on the drawings.
実施の形態.
図1は、実施の形態にかかるロボット制御システム100の構成例を示す図である。ロボット制御システム100は、制御対象のロボット3の動作計画を作成する動作計画装置1と、動作計画装置1が作成した動作計画に基づいてロボット3を制御するロボット制御装置2と、動作計画で必要な目標位置および軌道生成パラメータを動作計画装置1に入力する入力装置4を備える。 Embodiment.
FIG. 1 is a diagram showing a configuration example of arobot control system 100 according to an embodiment. A robot control system 100 includes a motion planning device 1 that creates a motion plan for a robot 3 to be controlled, a robot control device 2 that controls the robot 3 based on the motion plan created by the motion planning device 1, and a robot control device 2 that is necessary for the motion planning. an input device 4 for inputting a target position and trajectory generation parameters to the motion planning device 1;
図1は、実施の形態にかかるロボット制御システム100の構成例を示す図である。ロボット制御システム100は、制御対象のロボット3の動作計画を作成する動作計画装置1と、動作計画装置1が作成した動作計画に基づいてロボット3を制御するロボット制御装置2と、動作計画で必要な目標位置および軌道生成パラメータを動作計画装置1に入力する入力装置4を備える。 Embodiment.
FIG. 1 is a diagram showing a configuration example of a
入力装置4は、例えば、ロボット3の動作に関する指令が記述された制御プログラムを解析してロボット3の目標位置を生成する。また、入力装置4は、ロボット3の運動学パラメータであるロボット運動学パラメータ、および、ロボット3の周辺に存在する物体の情報である周辺物情報を、動作計画装置1がロボット3の目標軌道を生成する際に使用する軌道生成パラメータとして出力する。目標軌道は、目標軌道を生成する演算を実行する時点のロボット3の位置(以下、ロボット3の現在位置と称する場合がある)から目標位置までロボット3を移動させる際のロボット3の動作軌道である。ロボット運動学パラメータの例は、ロボット3の関節構成、リンク位置およびリンク長といった情報、ロボット3が備えるサーボモータのモータ最高速度、などである。なお、一般的な構成ではロボット3が複数のサーボモータを備え、ロボット制御装置2は複数のサーボモータを制御するが、説明が煩雑となるのを防止するため、本実施の形態では、ロボット制御装置2の制御対象のサーボモータが1つであるものとして説明を行う。
The input device 4 generates the target position of the robot 3 by, for example, analyzing a control program in which commands relating to the motion of the robot 3 are described. Further, the input device 4 inputs robot kinematic parameters, which are kinematic parameters of the robot 3 , and peripheral object information, which is information on objects existing in the vicinity of the robot 3 , and the motion planning device 1 inputs the target trajectory of the robot 3 . Output as a trajectory generation parameter used when generating. The target trajectory is the movement trajectory of the robot 3 when moving the robot 3 from the position of the robot 3 (hereinafter sometimes referred to as the current position of the robot 3) at the time of executing the calculation for generating the target trajectory to the target position. be. Examples of robot kinematics parameters are information such as the joint configuration of the robot 3, link positions and link lengths, the maximum motor speed of the servo motors provided by the robot 3, and the like. In a general configuration, the robot 3 has a plurality of servo motors, and the robot control device 2 controls the plurality of servo motors. Description will be given assuming that the device 2 controls one servomotor.
図1に示す構成例は、ロボット3の周囲に存在する障害物を検知して回避経路を作成するシステムを想定しており、ロボット制御システム100は、障害物を検出するセンサ5も備える。センサ5は、例えば、1つ以上の2Dビジョンセンサであり、ロボット3の動作範囲を撮影し、得られた画像を解析して障害物を検出する。センサ5は、障害物の検出結果を障害物情報として動作計画装置1に出力する。障害物情報は、検出した障害物の位置情報を少なくとも含む。障害物が検出されない場合、障害物情報は、障害物が存在しないことを示す情報を含む。なお、画像を解析して障害物を検出する処理は動作計画装置1が行うようにしてもよい。また、本実施の形態にかかるロボット制御システム100は、ロボット3が障害物を回避する動作の実現を目的としているが目的をこれに限定するものではない。
The configuration example shown in FIG. 1 assumes a system that detects obstacles existing around the robot 3 and creates an avoidance route, and the robot control system 100 also includes a sensor 5 that detects obstacles. The sensor 5 is, for example, one or more 2D vision sensors, photographs the motion range of the robot 3, analyzes the obtained image, and detects obstacles. The sensor 5 outputs the obstacle detection result to the motion planning device 1 as obstacle information. The obstacle information includes at least position information of the detected obstacle. If no obstacle is detected, the obstacle information includes information indicating that no obstacle exists. The motion planning apparatus 1 may perform the process of analyzing the image and detecting the obstacle. Further, the robot control system 100 according to the present embodiment aims at realizing an operation in which the robot 3 avoids an obstacle, but the purpose is not limited to this.
図2は、動作計画装置1の機能ブロック構成の一例を示す図である。動作計画装置1は、例えば、パーソナルコンピュータなどの電子計算機と、電子計算機を動作計画装置1として動作させるためのプログラムとで実現することができる。すなわち、該プログラムをインストール済みの電子計算機が、インストールされているプログラムを実行することにより動作計画装置1を実現できる。図2に示すように、動作計画装置1は、外部情報処理部11と、目標位置記憶部12と、指令生成部13と、パラメータ記憶部14と、送信部16および受信部17からなる通信部15と、を備える。
FIG. 2 is a diagram showing an example of the functional block configuration of the motion planning device 1. As shown in FIG. The motion planning device 1 can be realized by, for example, a computer such as a personal computer and a program for operating the computer as the motion planning device 1 . That is, the computer on which the program has been installed can implement the motion planning apparatus 1 by executing the installed program. As shown in FIG. 2, the motion planning apparatus 1 includes an external information processing unit 11, a target position storage unit 12, a command generation unit 13, a parameter storage unit 14, a transmission unit 16 and a reception unit 17. 15 and.
外部情報処理部11は、センサ5から入力される障害物情報に基づいて、ロボット3の侵入を禁止する侵入不可位置を決定する。外部情報処理部11は、例えば、障害物情報が示す障害物の位置を中心とする一定の範囲を侵入不可位置に決定する。目標位置記憶部12は、入力装置4から入力された目標位置を記憶する。
Based on the obstacle information input from the sensor 5, the external information processing section 11 determines an intrusion-prohibited position where the robot 3 is prohibited from entering. The external information processing unit 11 determines, for example, a certain range around the position of the obstacle indicated by the obstacle information as the intrusion prohibited position. The target position storage unit 12 stores target positions input from the input device 4 .
指令生成部13は、侵入不可位置と、目標位置と、パラメータ記憶部14が記憶している、軌道生成パラメータおよび許容加減速時間を含んで構成される軌道生成必要パラメータとに基づいて、ロボット3の目標軌道を作成し、目標軌道に沿ってロボット3を動作させるための目標指令位置を算出して出力する。指令生成部13は、侵入不可位置を回避するように目標軌道を作成する。ここで、目標軌道は、複数の目標指令位置によって表わされる。よって、指令生成部13が目標軌道を作成することは、複数の目標指令位置を作成することと同じ意味である。また、指令生成部13は、算出した目標指令位置のうち、許容加減速時間を計算する目標指令位置(以下、許容加減速時間計算位置と称する)および許容加減速時間計算位置における速度を出力する。許容加減速時間は、ロボット3が、現在位置、すなわち、指令生成部13が目標指令位置を算出する時点のロボット3の位置、から許容加減速時間計算位置まで移動し、かつ許容加減速時間計算位置に到達した時点の速度が指定の値である場合の移動に要する時間の許容値を示すパラメータである。この許容値は、ロボット3が移動する際に許容できる速度および加速度によって決まり、例えば、許容できる速度および加速度でロボット3が現在位置から許容加減速時間計算位置まで移動する場合の所要時間とすることができる。許容値は、許容できる最大の速度かつ許容できる最大の加速度でロボット3が移動する場合の所要時間、すなわち、ロボット3が現在位置から許容加減速時間計算位置まで移動する場合の所要時間の最小値が好ましい。
The command generation unit 13 generates the robot 3 based on the intrusion prohibition position, the target position, and the trajectory generation necessary parameters including the trajectory generation parameter and the allowable acceleration/deceleration time stored in the parameter storage unit 14. A target trajectory is created, and a target command position for operating the robot 3 along the target trajectory is calculated and output. The command generation unit 13 creates a target trajectory so as to avoid the intrusion prohibited position. Here, the target trajectory is represented by a plurality of target command positions. Therefore, creation of the target trajectory by the command generation unit 13 has the same meaning as creation of a plurality of target command positions. The command generator 13 also outputs the target command position for calculating the allowable acceleration/deceleration time (hereinafter referred to as the allowable acceleration/deceleration time calculation position) and the speed at the allowable acceleration/deceleration time calculation position among the calculated target command positions. . The allowable acceleration/deceleration time is calculated by moving the robot 3 from the current position, i.e., the position of the robot 3 at the time when the command generation unit 13 calculates the target command position, to the allowable acceleration/deceleration time calculation position, and the allowable acceleration/deceleration time calculation. This parameter indicates the allowable value of the time required for movement when the speed at the time of reaching the position is a specified value. This allowable value is determined by the allowable speed and acceleration when the robot 3 moves. For example, it should be the time required for the robot 3 to move from its current position to the allowable acceleration/deceleration time calculation position at allowable speed and acceleration. can be done. The allowable value is the time required for the robot 3 to move at the maximum allowable speed and maximum allowable acceleration, that is, the minimum value of the time required for the robot 3 to move from the current position to the allowable acceleration/deceleration time calculation position. is preferred.
指令生成部13が出力する目標指令位置、許容加減速時間計算位置および速度は、通信部15の送信部16を介してロボット制御装置2へ送信される。指令生成部13の詳細については別途説明する。
The target command position, allowable acceleration/deceleration time calculated position and speed output by the command generation unit 13 are transmitted to the robot control device 2 via the transmission unit 16 of the communication unit 15 . Details of the command generator 13 will be described separately.
動作計画装置側パラメータ記憶部であるパラメータ記憶部14は、入力装置4から入力される軌道生成パラメータと、通信部15の受信部17を介してロボット制御装置2から入力される許容加減速時間とを記憶する。これらの軌道生成パラメータおよび許容加減速時間は、指令生成部13がロボット3の目標軌道を生成する際に、軌道生成必要パラメータとして指令生成部13に出力される。パラメータ記憶部14は、ロボット制御装置2から許容加減速時間が新たに入力された場合、記憶している許容加減速時間を更新する。
The parameter storage unit 14, which is the motion planning device side parameter storage unit, stores the trajectory generation parameter input from the input device 4, and the allowable acceleration/deceleration time input from the robot control device 2 via the reception unit 17 of the communication unit 15. memorize These trajectory generation parameters and allowable acceleration/deceleration time are output to the command generation section 13 as trajectory generation required parameters when the command generation section 13 generates the target trajectory of the robot 3 . When the allowable acceleration/deceleration time is newly input from the robot control device 2, the parameter storage unit 14 updates the stored allowable acceleration/deceleration time.
図3は、動作計画装置1の指令生成部13の機能ブロック構成の一例を示す図である。指令生成部13は、目標軌道作成部131と、加減速時間計算位置選択部132と、リアルタイム補正部133とを備え、リアルタイム補正部133は、減速開始判定部134および加速度補正部135で構成される。
FIG. 3 is a diagram showing an example of the functional block configuration of the command generator 13 of the motion planning device 1. As shown in FIG. The command generation unit 13 includes a target trajectory generation unit 131, an acceleration/deceleration time calculation position selection unit 132, and a real-time correction unit 133. The real-time correction unit 133 is composed of a deceleration start determination unit 134 and an acceleration correction unit 135. be.
目標軌道作成部131には、外部情報処理部11から侵入不可位置が入力され、目標位置記憶部12から目標位置が入力され、パラメータ記憶部14からロボット情報、周辺装置情報および許容加減速時間が入力される。目標軌道作成部131は、入力された各情報に基づいて、目標位置までの軌道である目標軌道を作成する。ここで、ロボット情報には、ロボット運動学パラメータ、具体例を挙げると、関節構成、リンク位置、リンク長、モータ最高速度、許容加減速時間などの情報が含まれる。
The target trajectory generating unit 131 receives the entry prohibition position from the external information processing unit 11, the target position from the target position storage unit 12, and the robot information, the peripheral device information, and the allowable acceleration/deceleration time from the parameter storage unit 14. is entered. The target trajectory creation unit 131 creates a target trajectory, which is a trajectory to the target position, based on each piece of input information. Here, the robot information includes information such as robot kinematic parameters, specific examples of which include joint configuration, link position, link length, motor maximum speed, and allowable acceleration/deceleration time.
加減速時間計算位置選択部132は、目標軌道作成部131で作成された目標軌道から、ロボット制御装置2が許容加減速時間の計算を実行する位置および該位置における速度を選択する。
The acceleration/deceleration time calculation position selection unit 132 selects from the target trajectory created by the target trajectory creation unit 131, the position at which the robot control device 2 executes calculation of the allowable acceleration/deceleration time and the speed at that position.
リアルタイム補正部133の減速開始判定部134は、目標軌道作成部131で作成された目標軌道に基づいて、制御対象のサーボモータが減速を開始したか否かを判定する。減速開始判定部134は、判定結果を目標軌道とともに加速度補正部135に出力する。
A deceleration start determination unit 134 of the real-time correction unit 133 determines whether or not the servomotor to be controlled has started deceleration based on the target trajectory created by the target trajectory creation unit 131 . The deceleration start determination unit 134 outputs the determination result to the acceleration correction unit 135 together with the target trajectory.
リアルタイム補正部133の加速度補正部135は、制御対象のサーボモータの加速度を目標軌道に基づいて算出し、算出した加速度を、パラメータ記憶部14が記憶している許容加減速時間に基づいて補正し、さらに、補正後の加速度に基づいて、目標指令位置を作成する。ただし、加速度補正部135は、減速開始判定部134が減速開始を検出した場合、すなわち、サーボモータが減速中の場合、加速度の補正を実施することなく目標指令位置を作成する。
The acceleration correction unit 135 of the real-time correction unit 133 calculates the acceleration of the servomotor to be controlled based on the target trajectory, and corrects the calculated acceleration based on the allowable acceleration/deceleration time stored in the parameter storage unit 14. Furthermore, a target command position is created based on the corrected acceleration. However, when the deceleration start determination unit 134 detects the start of deceleration, that is, when the servomotor is decelerating, the acceleration correction unit 135 creates the target command position without correcting the acceleration.
図4は、ロボット制御装置2の機能ブロック構成の一例を示す図である。ロボット制御装置2は、受信部21および送信部22からなる通信部23と、最適制御計算部24と、指令処理部25と、サーボ制御部26と、パラメータ記憶部27と、を備える。
FIG. 4 is a diagram showing an example of the functional block configuration of the robot control device 2. As shown in FIG. The robot control device 2 includes a communication section 23 including a receiving section 21 and a transmitting section 22 , an optimum control calculating section 24 , a command processing section 25 , a servo control section 26 and a parameter storage section 27 .
通信部23の受信部21は、動作計画装置1から送信される目標指令位置、許容加減速時間計算位置および速度を受信する。受信部21は、受信した目標指令位置を指令処理部25に出力し、許容加減速時間計算位置および速度を最適制御計算部24に出力する。
The receiving unit 21 of the communication unit 23 receives the target command position, the allowable acceleration/deceleration time calculation position and the speed transmitted from the motion planning device 1 . The receiving unit 21 outputs the received target command position to the command processing unit 25 and outputs the allowable acceleration/deceleration time calculation position and speed to the optimum control calculation unit 24 .
通信部23の送信部22は、最適制御計算部24が算出する許容加減速時間を動作計画装置1へ送信する。
The transmission unit 22 of the communication unit 23 transmits the allowable acceleration/deceleration time calculated by the optimum control calculation unit 24 to the motion planning device 1 .
最適制御計算部24は、受信部21が動作計画装置1から受信した許容加減速時間計算位置および速度と、後述するパラメータ記憶部27が記憶しているロボット動力学パラメータと、に基づいて許容加減速時間を算出する。ここで、最適制御計算部24は、許容加減速時間計算位置について、許容加減速時間を算出する。ロボット動力学パラメータは、許容加減速時間の算出に必要な、ロボット3の動力学パラメータ、具体例を示すと、アーム質量、重心位置、イナーシャ、摩擦、モータ最高速度、モータ最大トルクなどのパラメータを含む。最適制御計算部24による許容加減速時間の算出方法については後述する。
The optimum control calculation unit 24 calculates the allowable acceleration based on the allowable acceleration/deceleration time calculated position and speed received by the receiving unit 21 from the motion planning device 1 and the robot dynamics parameters stored in the parameter storage unit 27, which will be described later. Calculate the deceleration time. Here, the optimum control calculator 24 calculates the allowable acceleration/deceleration time for the allowable acceleration/deceleration time calculation position. The robot dynamics parameters are the dynamics parameters of the robot 3 necessary for calculating the allowable acceleration/deceleration time. include. A method of calculating the allowable acceleration/deceleration time by the optimum control calculator 24 will be described later.
指令処理部25は、受信部21が動作計画装置1から受信した目標指令位置をロボット3の内部で扱うデータに変換する。例えば、動作計画装置1からの目標指令位置が直交座標系で表現されている場合は関節座標系の目標指令位置に変換する。指令処理部25で変換された後の目標指令位置は、サーボ制御部26を介して、ロボット3を構成するサーボモータに出力される。
The command processing unit 25 converts the target command position received by the receiving unit 21 from the motion planning device 1 into data to be handled inside the robot 3 . For example, when the target command position from the motion planning device 1 is expressed in the orthogonal coordinate system, it is converted into the target command position in the joint coordinate system. The target command position converted by the command processing unit 25 is output to the servo motors that constitute the robot 3 via the servo control unit 26 .
つづいて、本実施の形態にかかるロボット制御システム100がロボット3を制御する動作について説明する。ロボット制御システム100によるロボット3の制御は、動作前補正フェーズと、リアルタイム補正フェーズとに分かれ、ロボット制御システム100は、動作前補正フェーズを実施した後、リアルタイム補正フェーズを実施する。
Next, the operation of controlling the robot 3 by the robot control system 100 according to this embodiment will be described. Control of the robot 3 by the robot control system 100 is divided into a pre-operation correction phase and a real-time correction phase, and the robot control system 100 executes the real-time correction phase after executing the pre-operation correction phase.
[動作前補正フェーズ]
図5は、ロボット制御システム100によるロボット3の制御の動作前補正フェーズの一例を示すフローチャートである。 [Pre-operation correction phase]
FIG. 5 is a flowchart showing an example of a pre-operation correction phase of control of therobot 3 by the robot control system 100. As shown in FIG.
図5は、ロボット制御システム100によるロボット3の制御の動作前補正フェーズの一例を示すフローチャートである。 [Pre-operation correction phase]
FIG. 5 is a flowchart showing an example of a pre-operation correction phase of control of the
ロボット制御システム100の動作前補正フェーズにおいては、まず、動作計画装置1が、パラメータ記憶部14で記憶している許容加減速時間を使用して目標軌道を作成する(ステップS11)。具体的には、指令生成部13が、動作前補正フェーズ開始時点のロボット3の位置から目標位置までロボット3を移動させる際の軌道である目標軌道を作成する。このとき、指令生成部13は、侵入不可位置を回避しつつ、ロボット3のサーボモータが停止状態から最高速度に達するまでの所要時間、および、最高速度から停止状態となるまでの所要時間が、許容加減速時間を満足するよう、目標軌道を作成する。目標軌道の具体的な作成方法については特に制限しない。
In the pre-operation correction phase of the robot control system 100, first, the motion planning device 1 creates a target trajectory using the allowable acceleration/deceleration time stored in the parameter storage unit 14 (step S11). Specifically, the command generator 13 creates a target trajectory, which is a trajectory for moving the robot 3 from the position of the robot 3 at the start of the pre-operation correction phase to the target position. At this time, the command generation unit 13, while avoiding the no-entry position, determines the time required for the servo motors of the robot 3 to reach the maximum speed from the stop state, and the time required for the servo motors of the robot 3 to reach the stop state from the maximum speed. Create a target trajectory that satisfies the allowable acceleration/deceleration time. There are no particular restrictions on the specific method of creating the target trajectory.
次に、動作計画装置1が、許容加減速時間計算位置および速度を選択してロボット制御装置2へ送信する(ステップS12)。具体的には、指令生成部13が、ステップS11で作成した目標軌道に含まれる複数の目標指令位置のうち、ロボット制御装置2に許容加減速時間を計算させたい目標指令位置を許容加減速時間計算位置として選択し、さらに、許容加減速時間計算位置における速度である指定速度を選択する。選択する目標指令位置および指定速度の例としては、図6に示すような速度波形における、丸が付加された箇所、すなわち、位置動作開始、加速完了、減速開始、停止完了の時刻における位置と速度である。許容加減速時間計算位置および速度の選択は、目標軌道の作成が終了した後にユーザが行ってもよいし、目標軌道の作成が終了した後に、指令生成部13が、予め定められた条件を満たす目標指令位置および速度を、許容加減速時間計算位置および速度として選択してもよい。選択する位置と数については制限しない。
Next, the motion planning device 1 selects the allowable acceleration/deceleration time calculation position and speed and transmits them to the robot control device 2 (step S12). Specifically, the command generation unit 13 selects a target command position for which the robot controller 2 is to calculate the allowable acceleration/deceleration time from among the plurality of target command positions included in the target trajectory created in step S11. Select the calculation position, and further select the designated speed, which is the speed at the allowable acceleration/deceleration time calculation position. As an example of the target command position and specified speed to be selected, the positions and speeds at the positions marked with circles in the speed waveform shown in FIG. is. The user may select the allowable acceleration/deceleration time calculation position and speed after the creation of the target trajectory is completed. The target command position and velocity may be selected as the allowable acceleration/deceleration time calculation position and velocity. There are no restrictions on the positions and number of selections.
次に、ロボット制御装置2が、許容加減速時間を算出して動作計画装置1へ送信する(ステップS13)。具体的には、最適制御計算部24が、ステップS12で動作計画装置1が送信した許容加減速時間計算位置および速度と、ロボット制御装置側パラメータ記憶部であるパラメータ記憶部27が記憶しているロボット動力学パラメータとに基づいて、許容加減速時間計算位置に対する許容加減速時間を算出する。許容加減速時間の算出方法については後述する。
Next, the robot control device 2 calculates the allowable acceleration/deceleration time and transmits it to the motion planning device 1 (step S13). Specifically, the optimum control calculation unit 24 stores the allowable acceleration/deceleration time calculation position and speed transmitted by the motion planning device 1 in step S12 and the parameter storage unit 27, which is the robot controller side parameter storage unit. The allowable acceleration/deceleration time for the position where the allowable acceleration/deceleration time is calculated is calculated based on the robot dynamics parameters. A method of calculating the allowable acceleration/deceleration time will be described later.
次に、動作計画装置1が、ロボット制御装置2から受信した許容加減速時間とパラメータ記憶部14で記憶している許容加減速時間とを比較する(ステップS14)。比較した2つの許容加減速時間の差が大きい場合(ステップS14:No)、動作計画装置1が、パラメータ記憶部14で記憶している許容加減速時間を、ロボット制御装置2から受信した許容加減速時間に更新する(ステップS15)。その後、ロボット制御システム100は、ステップS11~S13を再度実行する。ステップS14においては、例えば、パラメータ記憶部14が、2つの許容加減速時間の差が予め定められた閾値以上であるかを確認する。パラメータ記憶部14は、例えば、2つの許容加減速時間が5%以上異なる場合は両者の差が大きいと判断する。
Next, the motion planning device 1 compares the allowable acceleration/deceleration time received from the robot control device 2 and the allowable acceleration/deceleration time stored in the parameter storage unit 14 (step S14). If the difference between the two compared allowable acceleration/deceleration times is large (step S14: No), the motion planning device 1 replaces the allowable acceleration/deceleration time stored in the parameter storage unit 14 with the allowable acceleration/deceleration time received from the robot controller 2. The deceleration time is updated (step S15). After that, the robot control system 100 executes steps S11 to S13 again. In step S14, for example, the parameter storage unit 14 confirms whether the difference between the two allowable acceleration/deceleration times is equal to or greater than a predetermined threshold. For example, when the two allowable acceleration/deceleration times differ by 5% or more, the parameter storage unit 14 determines that the difference between the two is large.
比較した2つの許容加減速時間の差が小さい場合(ステップS14:Yes)、ロボット制御システム100は、動作前補正フェーズを終了する。例えば、パラメータ記憶部14が、2つの許容加減速時間の差が予め定められた閾値未満である場合は動作前補正フェーズを終了する。なお、ステップS14において2つの許容時間の差が大きいと判断してステップS15およびステップS11~S13を繰り返した回数が定められた値となった場合に動作前補正フェーズを終了する、ステップS15およびステップS11~S13を定められた回数にわたって繰り返した後は、パラメータ記憶部14で記憶している許容加減速時間の方が長ければ動作前補正フェーズを終了する、といった制御としてもよい。
If the difference between the two compared allowable acceleration/deceleration times is small (step S14: Yes), the robot control system 100 ends the pre-operation correction phase. For example, the parameter storage unit 14 ends the pre-operation correction phase when the difference between the two allowable acceleration/deceleration times is less than a predetermined threshold. In step S14, it is determined that the difference between the two allowable times is large, and if the number of repetitions of steps S15 and steps S11 to S13 reaches a predetermined value, the pre-operation correction phase is terminated. After repeating S11 to S13 a predetermined number of times, the pre-operation correction phase may be terminated if the allowable acceleration/deceleration time stored in the parameter storage unit 14 is longer.
また、動作前補正フェーズで多くの位置について許容加減速時間を求めると、計算時間が増大するため、本実施の形態にかかるロボット制御システム100では、動作前補正フェーズでおおよその加減速補正を実施した後に、リアルタイム補正フェーズにおいて、リアルタイム動作中に細かな補正をかけることを想定しているが、動作前補正フェーズのみで運用してもよい。
Further, if the permissible acceleration/deceleration time is obtained for many positions in the pre-operation correction phase, the calculation time increases. After that, in the real-time correction phase, it is assumed that fine correction is applied during real-time operation, but operation may be performed only in the pre-operation correction phase.
[リアルタイム補正フェーズ]
図7は、ロボット制御システム100によるロボット3の制御のリアルタイム補正フェーズの一例を示すフローチャートである。 [Real-time correction phase]
FIG. 7 is a flow chart showing an example of the real-time correction phase of control of therobot 3 by the robot control system 100. As shown in FIG.
図7は、ロボット制御システム100によるロボット3の制御のリアルタイム補正フェーズの一例を示すフローチャートである。 [Real-time correction phase]
FIG. 7 is a flow chart showing an example of the real-time correction phase of control of the
ロボット制御システム100のリアルタイム補正フェーズにおいては、まず、動作計画装置1が、目標指令位置をロボット制御装置2へ送信する(ステップS21)。具体的には、指令生成部13が、外部情報処理部11から入力される侵入不可位置と、目標位置記憶部12が記憶している目標位置と、パラメータ記憶部14が記憶している許容加減速時間と、指令生成部13が目標指令位置を求める演算を実行する時点のロボット3の位置とに基づいて目標軌道を作成し、目標軌道を構成する目標指令位置を送信部16がロボット制御装置2へ送信する。
In the real-time correction phase of the robot control system 100, first, the motion planning device 1 transmits the target command position to the robot control device 2 (step S21). Specifically, the command generation unit 13 generates the entry prohibition position input from the external information processing unit 11, the target position stored in the target position storage unit 12, and the allowable acceleration stored in the parameter storage unit 14. A target trajectory is created based on the deceleration time and the position of the robot 3 at the time when the command generation unit 13 executes the calculation for obtaining the target command position, and the transmission unit 16 sends the target command position constituting the target trajectory to the robot control device. 2.
次に、ロボット制御装置2が、動作計画装置1から受信した目標指令位置に基づいてロボット3を制御する(ステップS22)。具体的には、指令処理部25が、受信した目標指令位置をロボット3が処理可能な形式に変換してロボット3へ出力する。
Next, the robot control device 2 controls the robot 3 based on the target command position received from the motion planning device 1 (step S22). Specifically, the command processing unit 25 converts the received target command position into a format processable by the robot 3 and outputs the format to the robot 3 .
次に、ロボット制御装置2が、許容加減速時間を算出して動作計画装置1へ送信する(ステップS23)。許容加減速時間の計算方法は上述の動作前補正フェーズのステップS13と同じであり、詳細については後述する。また、計算に使用する許容加減速時間計算位置および速度は、ロボット3の現在の位置および速度としてもよいし、許容加減速時間算出用として、このステップS23で動作計画装置1から新たに取得してもよい。
Next, the robot control device 2 calculates the allowable acceleration/deceleration time and transmits it to the motion planning device 1 (step S23). The calculation method of the allowable acceleration/deceleration time is the same as in step S13 of the pre-operation correction phase described above, and the details will be described later. The position and speed for calculating the allowable acceleration/deceleration time used in the calculation may be the current position and speed of the robot 3, or may be newly acquired from the motion planning device 1 in step S23 for calculating the allowable acceleration/deceleration time. may
ロボット制御装置2から許容加減速時間を受信した動作計画装置1は、目標位置までの指令の出力を完了したかを確認し(ステップS24)、完了していない場合(ステップS24:No)、受信した許容加減速時間を用いて、目標指令位置を補正する(ステップS25)。ステップS24における指令とは目標指令位置である。ステップS25において、動作計画装置1は、ロボット3の現在位置から目標位置までの軌道である目標軌道を、受信した許容加減速時間を用いて再度作成することで、目標軌道を構成する目標指令位置を補正する。このとき、動作計画装置1は、許容加減速時間に基づいて加減速度を変更することによって動作量が変わらないように補正を行う。例えば、図8に示すように、動作開始前補正を実施する前の速度波形の面積と、動作開始前補正を実施した後の速度波形の面積と、リアルタイム補正を実施した後の速度波形の面積とが変わらないように残距離および残速度を考慮して、加減速度を補正する。また、減速開始後に加減速度を変更すると目標位置への到達が困難となるので、減速開始を判定をした後は加減速度を変更しない。図8に示す例のリアルタイム補正においては、時間taおよびtbに対応する位置を許容加減速時間計算位置として加減速度を変更している。なお、減速開始の判定は、動作計画装置1の指令生成部13を構成するリアルタイム補正部133の減速開始判定部134が行い、加減速の変更は、リアルタイム補正部133の加速度補正部135が行う(図3参照)。ステップS25を実行後、ロボット制御システム100は、ステップS21~S23を再度実行する。
The motion planning device 1 that has received the allowable acceleration/deceleration time from the robot control device 2 checks whether or not the output of the command to the target position has been completed (step S24). Using the determined allowable acceleration/deceleration time, the target command position is corrected (step S25). The command in step S24 is the target command position. In step S25, the motion planning apparatus 1 regenerates the target trajectory, which is the trajectory from the current position of the robot 3 to the target position, using the received allowable acceleration/deceleration time, thereby obtaining the target command position constituting the target trajectory. correct. At this time, the motion planning device 1 changes the acceleration/deceleration based on the allowable acceleration/deceleration time, thereby performing correction so that the motion amount does not change. For example, as shown in FIG. 8, the area of the velocity waveform before the pre-operation correction is performed, the area of the velocity waveform after the pre-operation correction is performed, and the area of the velocity waveform after the real-time correction is performed. Acceleration/deceleration is corrected in consideration of remaining distance and remaining speed so that If the acceleration/deceleration is changed after the start of deceleration, it becomes difficult to reach the target position. Therefore, the acceleration/deceleration is not changed after the start of deceleration is determined. In the real-time correction of the example shown in FIG. 8, the acceleration/deceleration is changed using the positions corresponding to the times ta and tb as the allowable acceleration/deceleration time calculation positions. The deceleration start determination is performed by the deceleration start determination unit 134 of the real-time correction unit 133 constituting the command generation unit 13 of the motion planning apparatus 1, and the acceleration/deceleration change is performed by the acceleration correction unit 135 of the real-time correction unit 133. (See Figure 3). After executing step S25, the robot control system 100 executes steps S21 to S23 again.
動作計画装置1が目標位置までの目標指令位置の出力を完了した場合(ステップS24:Yes)、ロボット制御システム100は、リアルタイム補正フェーズを終了する。
When the motion planning device 1 has completed outputting the target command position up to the target position (step S24: Yes), the robot control system 100 ends the real-time correction phase.
つづいて、ロボット制御装置2の最適制御計算部24による許容加減速時間の算出方法について説明する。
Next, a method for calculating the allowable acceleration/deceleration time by the optimum control calculation unit 24 of the robot control device 2 will be explained.
動作計画装置1からロボット制御装置2に入力される許容加減速時間計算位置および速度を、それぞれ位置qおよび速度q'とした場合、ロボット制御装置2の最適制御計算部24が位置qおよび速度q'を取得した後の許容加減速時間の算出は、例えば、特開平7-200033号公報で開示されている演算を利用して行うことができる。
Assuming that the allowable acceleration/deceleration time calculation position and velocity input from the motion planning device 1 to the robot controller 2 are the position q and the velocity q′, respectively, the optimum control calculator 24 of the robot controller 2 calculates the position q and the velocity q The calculation of the allowable acceleration/deceleration time after obtaining ' can be performed using, for example, the calculation disclosed in Japanese Patent Application Laid-Open No. 7-200033.
すなわち、各軸のトルクベクトルτは、ロボット3の位置qから特定される慣性行列Mと、ロボット3の位置qおよび速度q'から特定されるコリオリ力、重力および摩擦力のベクトルhと、ロボット3の角加速度ベクトルq''とを用いて、式(1)のように表すことができる。
That is, the torque vector τ of each axis is composed of an inertia matrix M specified from the position q of the robot 3, a vector h of Coriolis force, gravity and friction force specified from the position q and velocity q′ of the robot 3, and the robot It can be expressed as in Equation (1) using three angular acceleration vectors q''.
式(1)におけるロボット3の角加速度ベクトルq''をパラメータ記憶部27が記憶している各軸の最大速度ベクトルvmaxおよび加減速時間ベクトルtaを用いて書き換えると式(2)のようになる。
If the angular acceleration vector q'' of the robot 3 in equation (1) is rewritten using the maximum velocity vector v max of each axis and the acceleration/deceleration time vector t a stored in the parameter storage unit 27, then equation (2) is obtained. become.
i軸のトルクτiは、最大トルクτmax iに対して式(3)が示す範囲内になる。
The i-axis torque τ i falls within the range indicated by the equation (3) with respect to the maximum torque τ max i .
最適制御計算部24は、式(2)の関係から式(3)を満たす最小の加減速時間ベクトルtaを算出し、算出した各軸の加減速時間の中から最小の加減速時間taminを選択して許容加減速時間とする。
The optimum control calculation unit 24 calculates the minimum acceleration/deceleration time vector t a that satisfies the expression (3) from the relationship of the expression (2), and selects the minimum acceleration/deceleration time t amin from among the calculated acceleration/deceleration times of each axis. is selected as the allowable acceleration/deceleration time.
以上説明したように、本実施の形態にかかるロボット制御システム100は、動作計画装置1およびロボット制御装置2を備える。動作計画装置1は、ロボット3の運動学パラメータおよび許容加減速時間を保持し、保持している運動学パラメータおよび許容加減速時間を用いて、目標位置までロボット3を移動させる際の軌道である目標軌道を作成する。また、動作計画装置1は、ロボット制御装置2に対し、目標軌道に基づいてロボット3に対する目標指令位置を出力するとともに、目標軌道上の許容加減速時間を計算する位置である許容加減速時間計算位置および該位置における速度を通知する。ロボット制御装置2は、ロボット3の動力学パラメータを保持し、動作計画装置1から許容加減速時間計算位置および速度の通知を受けると、保持している動力学パラメータを用いて、通知された許容加減速時間計算位置の許容加減速時間を算出して動作計画装置1へ送信する。動作計画装置1は、ロボット制御装置2から許容加減速時間を受信すると、保持している許容加減速時間を更新する。このように、動作計画装置1がロボット3の動力学パラメータを保持することなく許容加減速時間を適宜更新することができ、ロボット3の最適制御を実現できる。
As described above, the robot control system 100 according to the present embodiment includes the motion planning device 1 and the robot control device 2. The motion planning device 1 holds the kinematic parameters and allowable acceleration/deceleration time of the robot 3, and uses the held kinematic parameters and allowable acceleration/deceleration time to determine the trajectory for moving the robot 3 to the target position. Create a target trajectory. In addition, the motion planning device 1 outputs to the robot control device 2 a target command position for the robot 3 based on the target trajectory, and calculates an allowable acceleration/deceleration time which is a position for calculating an allowable acceleration/deceleration time on the target trajectory. Report location and velocity at that location. The robot control device 2 retains the dynamics parameters of the robot 3, and when notified of the allowable acceleration/deceleration time calculation position and speed from the motion planning device 1, uses the retained dynamics parameters to use the notified allowable The allowable acceleration/deceleration time for the acceleration/deceleration time calculation position is calculated and transmitted to the motion planning device 1 . When the motion planning device 1 receives the allowable acceleration/deceleration time from the robot control device 2, it updates the held allowable acceleration/deceleration time. In this way, the motion planning device 1 can appropriately update the allowable acceleration/deceleration time without holding the dynamics parameters of the robot 3, and the optimum control of the robot 3 can be achieved.
つづいて、ロボット制御システム100を構成する動作計画装置1およびロボット制御装置2を実現するハードウェアについて説明する。
Next, hardware that implements the motion planning device 1 and the robot control device 2 that constitute the robot control system 100 will be described.
動作計画装置1は、上述したように、電子計算機で実現される。すなわち、動作計画装置1として動作するためのプログラムを電子計算機が実行することにより、動作計画装置1が実現される。
The motion planning device 1 is realized by a computer as described above. That is, the motion planning apparatus 1 is realized by the computer executing a program for operating as the motion planning apparatus 1 .
また、ロボット制御装置2は、専用のハードウェアである処理回路、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせた処理回路で実現される。
In addition, the robot control device 2 includes a processing circuit that is dedicated hardware, specifically, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA ( Field Programmable Gate Array), or a processing circuit that combines these.
また、ロボット制御装置2を実現する処理回路は、メモリに格納されるプログラムを実行するプロセッサおよびメモリを含んで構成される制御回路であってもよい。図9は、ロボット制御装置2をプロセッサおよびメモリで実現する場合の処理回路の構成例を示す図である。プロセッサ101は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSP(Digital Signal Processor)ともいう)である。メモリ102は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリー、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable Programmable Read Only Memory)等である。なお、メモリ102にはロボット制御装置2の各部として動作するためのプログラムが格納され、このプログラムをプロセッサ101が読み出して実行することによりロボット制御装置2が実現される。インタフェース回路103は、動作計画装置1、ロボット3などの他の装置との間でデータを送受信する際に利用される。
Also, the processing circuit that implements the robot control device 2 may be a control circuit that includes a memory and a processor that executes a program stored in the memory. FIG. 9 is a diagram showing a configuration example of a processing circuit when the robot control device 2 is realized by a processor and memory. The processor 101 is a CPU (Central Processing Unit, also referred to as a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, a processor, or a DSP (Digital Signal Processor)). The memory 102 is, for example, RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (registered trademark) (Electrically Erasable Programmable Read Only Memory), or the like. The memory 102 stores a program for operating each part of the robot control device 2 , and the robot control device 2 is realized by reading and executing this program by the processor 101 . The interface circuit 103 is used when transmitting and receiving data to and from other devices such as the motion planning device 1 and the robot 3 .
なお、ロボット制御装置2は、一部の構成要素が上述の専用のハードウェアで実現され、残りの構成要素が図9に示すプロセッサ101、メモリ102およびインタフェース回路103で実現されてもよい。ロボット制御装置2の構成要素の一部または全部がプロセッサ101、メモリ102およびインタフェース回路103で実現される場合、メモリ102に格納されるプログラムは、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROMなどの記憶媒体に書き込まれた状態でユーザ等に提供される形態であってもよいし、ネットワークを介して提供される形態であってもよい。
It should be noted that the robot control device 2 may be implemented with the dedicated hardware described above for some of the components, and the processor 101, memory 102, and interface circuit 103 shown in FIG. 9 for the remaining components. When some or all of the components of the robot control device 2 are realized by the processor 101, the memory 102, and the interface circuit 103, the programs stored in the memory 102 are, for example, CD (Compact Disc)-ROM, DVD (Digital Versatile Disc)-It may be provided to the user or the like while being written in a storage medium such as a ROM, or it may be provided via a network.
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
The configuration shown in the above embodiment is an example, and can be combined with another known technique, and part of the configuration can be omitted or changed without departing from the scope of the invention. It is possible.
1 動作計画装置、2 ロボット制御装置、3 ロボット、4 入力装置、5 センサ、11 外部情報処理部、12 目標位置記憶部、13 指令生成部、14,27 パラメータ記憶部、15,23 通信部、16,22 送信部、17,21 受信部、24 最適制御計算部、25 指令処理部、26 サーボ制御部、100 ロボット制御システム、131 目標軌道作成部、132 加減速時間計算位置選択部、133 リアルタイム補正部、134 減速開始判定部、135 加速度補正部。
1 motion planning device, 2 robot control device, 3 robot, 4 input device, 5 sensor, 11 external information processing unit, 12 target position storage unit, 13 command generation unit, 14, 27 parameter storage unit, 15, 23 communication unit, 16, 22 transmission unit, 17, 21 reception unit, 24 optimum control calculation unit, 25 command processing unit, 26 servo control unit, 100 robot control system, 131 target trajectory creation unit, 132 acceleration/deceleration time calculation position selection unit, 133 real time correction unit, 134 deceleration start determination unit, 135 acceleration correction unit.
Claims (7)
- ロボットの動作軌道を作成する動作計画装置と、
前記動作軌道に基づいて前記ロボットの動作を制御するロボット制御装置と、
を備え、
前記ロボット制御装置は、
前記ロボットの動力学パラメータを保持するロボット制御装置側パラメータ記憶部と、
前記ロボット制御装置側パラメータ記憶部が保持している前記動力学パラメータを使用して、前記動作計画装置で決定された許容加減速時間計算位置まで前記ロボットが移動し、かつ前記許容加減速時間計算位置に到達した時点の前記ロボットの速度が前記動作計画装置で決定された指定速度である場合の前記移動に要する時間の許容値である許容加減速時間を算出する最適制御計算部と、
を備え、
前記動作計画装置は、
前記最適制御計算部が算出する前記許容加減速時間を保持する動作計画装置側パラメータ記憶部と、
前記動作計画装置側パラメータ記憶部が保持している前記許容加減速時間を使用して前記動作軌道を作成するとともに、前記許容加減速時間計算位置および前記指定速度を決定する指令生成部と、
を備え、
前記指令生成部は、前記最適制御計算部で前記許容加減速時間が算出されると、算出された前記許容加減速時間を使用して、前記動作軌道を補正する、
ことを特徴とするロボット制御システム。 a motion planning device that creates a motion trajectory of the robot;
a robot control device that controls the motion of the robot based on the motion trajectory;
with
The robot control device is
a robot controller side parameter storage unit that holds dynamic parameters of the robot;
Using the dynamics parameters held by the robot control device side parameter storage unit, the robot moves to the allowable acceleration/deceleration time calculation position determined by the motion planning device, and the allowable acceleration/deceleration time calculation is performed. an optimum control calculation unit for calculating an allowable acceleration/deceleration time, which is an allowable value of the time required for the movement when the speed of the robot when it reaches a position is the designated speed determined by the motion planning device;
with
The motion planning device is
a motion planning device side parameter storage unit that holds the allowable acceleration/deceleration time calculated by the optimum control calculation unit;
a command generation unit that creates the motion trajectory using the allowable acceleration/deceleration time held by the motion planning device-side parameter storage unit, and determines the allowable acceleration/deceleration time calculation position and the specified speed;
with
When the optimum control calculation unit calculates the allowable acceleration/deceleration time, the command generation unit corrects the motion trajectory using the calculated allowable acceleration/deceleration time.
A robot control system characterized by: - 前記最適制御計算部が前記許容加減速時間を新たに算出した場合、
前記パラメータ記憶部は、保持している前記許容加減速時間を、前記最適制御計算部が新たに算出した許容加減速時間に更新し、
前記指令生成部は、前記最適制御計算部が前記許容加減速時間を新たに算出する前に前記パラメータ記憶部が保持していた前記許容加減速時間と前記最適制御計算部が新たに算出した許容加減速時間との差が定められた閾値以上の場合、前記最適制御計算部が新たに算出した許容加減速時間を用いた前記動作軌道の作成と、作成した動作軌道を補正する位置および速度の決定とを再度実行する、
ことを特徴とする請求項1に記載のロボット制御システム。 When the optimum control calculation unit newly calculates the allowable acceleration/deceleration time,
The parameter storage unit updates the retained allowable acceleration/deceleration time to the allowable acceleration/deceleration time newly calculated by the optimum control calculation unit,
The command generation unit stores the allowable acceleration/deceleration time held by the parameter storage unit before the optimum control calculation unit newly calculates the allowable acceleration/deceleration time and the allowable acceleration/deceleration time newly calculated by the optimum control calculation unit. If the difference from the acceleration/deceleration time is equal to or greater than a predetermined threshold value, the motion trajectory is created using the allowable acceleration/deceleration time newly calculated by the optimum control calculation unit, and the position and speed for correcting the created motion trajectory are adjusted. re-execute the decision and
The robot control system according to claim 1, characterized by: - 前記許容値を、前記許容加減速時間計算位置まで前記ロボットが移動し、かつ前記許容加減速時間計算位置に到達した時点の前記ロボットの速度が前記指定速度である場合の前記移動に要する時間の最小値とする、
ことを特徴とする請求項1または2に記載のロボット制御システム。 The allowable value is the time required for the movement when the robot moves to the allowable acceleration/deceleration time calculation position and the speed of the robot at the time when the robot reaches the allowable acceleration/deceleration time calculation position is the specified speed. be the minimum,
3. The robot control system according to claim 1, wherein: - 許容加減速時間を使用してロボットの動作軌道を作成する動作計画装置とともにロボット制御システムを構成するロボット制御装置であって、
前記ロボットの動力学パラメータを保持するパラメータ記憶部と、
前記動作軌道を補正する位置および該位置における速度である指定速度が前記動作計画装置から通知されると、前記パラメータ記憶部が保持している前記動力学パラメータを使用して、前記位置まで前記ロボットが移動し、かつ前記位置に到達した時点の速度が前記指定速度である場合の前記移動に要する時間の許容値を、前記許容加減速時間として算出する最適制御計算部、
を備え、
前記動作計画装置に前記動作軌道を補正させるために、前記最適制御計算部が算出した前記許容加減速時間を前記動作計画装置に通知する、
ことを特徴とするロボット制御装置。 A robot control device that constitutes a robot control system together with a motion planning device that creates a motion trajectory of a robot using an allowable acceleration/deceleration time,
a parameter storage unit that holds dynamics parameters of the robot;
When the motion planning device notifies of a position for correcting the motion trajectory and a specified speed, which is a speed at the position, the robot moves to the position using the dynamics parameters held in the parameter storage unit. an optimum control calculation unit for calculating, as the allowable acceleration/deceleration time, an allowable value of the time required for the movement when the is moving and the speed at the time of reaching the position is the specified speed;
with
notifying the motion planning device of the allowable acceleration/deceleration time calculated by the optimum control calculation unit in order to cause the motion planning device to correct the motion trajectory;
A robot control device characterized by: - ロボットの動力学パラメータを保持するロボット制御装置側パラメータ記憶部を備えるロボット制御装置とともにロボット制御システムを構成する動作計画装置であって、
前記ロボット制御装置が前記動力学パラメータを使用して算出する、前記動作計画装置で決定された許容加減速時間計算位置まで前記ロボットが移動し、かつ前記許容加減速時間計算位置に到達した時点の前記ロボットの速度が前記動作計画装置で決定された指定速度である場合の前記移動に要する時間の許容値である許容加減速時間、を保持する動作計画装置側パラメータ記憶部と、
前記動作計画装置側パラメータ記憶部が保持している前記許容加減速時間を使用して前記ロボットの動作軌道を作成するとともに、前記許容加減速時間計算位置および前記指定速度を決定する指令生成部と、
を備え、
前記指令生成部は、前記ロボット制御装置で前記許容加減速時間が算出されると、算出された前記許容加減速時間を使用して、前記動作軌道を補正する、
ことを特徴とする動作計画装置。 A motion planning device that constitutes a robot control system together with a robot control device that includes a robot control device-side parameter storage unit that holds dynamic parameters of the robot,
The time at which the robot moves to the allowable acceleration/deceleration time calculation position determined by the motion planning device and reaches the allowable acceleration/deceleration time calculation position, which is calculated by the robot control device using the dynamic parameters. a motion planning device-side parameter storage unit that holds an allowable acceleration/deceleration time that is an allowable value of the time required for the movement when the speed of the robot is the specified speed determined by the motion planning device;
a command generation unit that creates a motion trajectory of the robot using the allowable acceleration/deceleration time held by the motion planning device-side parameter storage unit, and determines the allowable acceleration/deceleration time calculation position and the specified speed; ,
with
When the allowable acceleration/deceleration time is calculated by the robot control device, the command generation unit corrects the motion trajectory using the calculated allowable acceleration/deceleration time.
A motion planning device characterized by: - 許容加減速時間を使用してロボットの動作軌道を作成する動作計画装置とともにロボット制御システムを構成するロボット制御装置の処理をコンピュータに実行させるロボット制御プログラムであって、
前記ロボットの動力学パラメータをパラメータ記憶部に記憶させる第1のステップと、
前記動作軌道を補正する位置および該位置における速度である指定速度が前記動作計画装置から通知されると、前記パラメータ記憶部が保持している前記動力学パラメータを使用して、前記位置まで前記ロボットが移動し、かつ前記位置に到達した時点の速度が前記指定速度である場合の前記移動に要する時間の許容値を、前記許容加減速時間として算出する第2のステップと、
前記動作計画装置に前記動作軌道を補正させるために、前記第2のステップで算出した前記許容加減速時間を前記動作計画装置に通知する第3のステップと、
を前記コンピュータに実行させる、
ことを特徴とするロボット制御プログラム。 A robot control program that causes a computer to execute processing of a robot control device that constitutes a robot control system together with a motion planning device that creates a motion trajectory of a robot using an allowable acceleration/deceleration time,
a first step of storing dynamics parameters of the robot in a parameter storage;
When the motion planning device notifies of a position for correcting the motion trajectory and a specified speed, which is a speed at the position, the robot moves to the position using the dynamics parameters held in the parameter storage unit. a second step of calculating, as the allowable acceleration/deceleration time, an allowable value of the time required for the movement when the is moving and the speed at the time of reaching the position is the specified speed;
a third step of notifying the motion planning device of the allowable acceleration/deceleration time calculated in the second step in order to cause the motion planning device to correct the motion trajectory;
causing said computer to execute
A robot control program characterized by: - ロボットの動力学パラメータを保持するロボット制御装置側パラメータ記憶部を備えるロボット制御装置とともにロボット制御システムを構成する動作計画装置の処理をコンピュータに実行させる動作計画プログラムであって、
前記ロボット制御装置が前記動力学パラメータを使用して算出する、前記動作計画装置で決定された許容加減速時間計算位置まで前記ロボットが移動し、かつ前記許容加減速時間計算位置に到達した時点の前記ロボットの速度が前記動作計画装置で決定された指定速度である場合の前記移動に要する時間の許容値である許容加減速時間、を動作計画装置側パラメータ記憶部に記憶させる第1のステップと、
前記動作計画装置側パラメータ記憶部が保持している前記許容加減速時間を使用して前記ロボットの動作軌道を作成するとともに、前記許容加減速時間計算位置および前記指定速度を決定する第2のステップと、
前記ロボット制御装置で前記許容加減速時間が算出されると、算出された前記許容加減速時間を使用して、前記動作軌道を補正する第3のステップと、
を前記コンピュータに実行させる、
ことを特徴とする動作計画プログラム。 A motion planning program that causes a computer to execute processing of a motion planning device that constitutes a robot control system together with a robot control device that includes a robot control device side parameter storage section that holds dynamic parameters of the robot,
The time at which the robot moves to the allowable acceleration/deceleration time calculation position determined by the motion planning device and reaches the allowable acceleration/deceleration time calculation position, which is calculated by the robot control device using the dynamic parameters. a first step of storing an allowable acceleration/deceleration time, which is an allowable value of the time required for the movement when the speed of the robot is the specified speed determined by the motion planning device, in a motion planning device side parameter storage unit; ,
A second step of creating a motion trajectory of the robot using the allowable acceleration/deceleration time held by the motion planning device side parameter storage unit and determining the allowable acceleration/deceleration time calculation position and the specified speed. and,
a third step of correcting the motion trajectory using the calculated allowable acceleration/deceleration time when the robot controller calculates the allowable acceleration/deceleration time;
causing said computer to execute
A motion planning program characterized by:
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/032445 WO2023032156A1 (en) | 2021-09-03 | 2021-09-03 | Robot control system, robot control device, motion planning device, robot control program, and motion planning program |
JP2022506840A JP7142803B1 (en) | 2021-09-03 | 2021-09-03 | Robot control system, robot control device, motion planning device, robot control program and motion planning program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/032445 WO2023032156A1 (en) | 2021-09-03 | 2021-09-03 | Robot control system, robot control device, motion planning device, robot control program, and motion planning program |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023032156A1 true WO2023032156A1 (en) | 2023-03-09 |
Family
ID=83436637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/032445 WO2023032156A1 (en) | 2021-09-03 | 2021-09-03 | Robot control system, robot control device, motion planning device, robot control program, and motion planning program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7142803B1 (en) |
WO (1) | WO2023032156A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07200033A (en) * | 1993-12-28 | 1995-08-04 | Mitsubishi Electric Corp | Robot controller |
JP2002091572A (en) * | 2000-07-14 | 2002-03-29 | Daihen Corp | Method and device for controlling robot system |
JP2004524171A (en) * | 2000-12-28 | 2004-08-12 | ロボテイツク・ワークスペース・テクノロジーズ・インコーポレイテツド | Versatile robot control system |
JP2006302282A (en) * | 2005-04-15 | 2006-11-02 | Fanuc Robotics America Inc | Method for optimizing robot program and robot control system |
WO2009144805A1 (en) * | 2008-05-29 | 2009-12-03 | 三菱電機株式会社 | Acceleration/deceleration control device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6717164B2 (en) * | 2016-11-04 | 2020-07-01 | トヨタ自動車株式会社 | Operation route planning method |
GB2584608B (en) * | 2019-05-01 | 2021-09-15 | Arrival Ltd | Robot motion optimization system and method |
-
2021
- 2021-09-03 JP JP2022506840A patent/JP7142803B1/en active Active
- 2021-09-03 WO PCT/JP2021/032445 patent/WO2023032156A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07200033A (en) * | 1993-12-28 | 1995-08-04 | Mitsubishi Electric Corp | Robot controller |
JP2002091572A (en) * | 2000-07-14 | 2002-03-29 | Daihen Corp | Method and device for controlling robot system |
JP2004524171A (en) * | 2000-12-28 | 2004-08-12 | ロボテイツク・ワークスペース・テクノロジーズ・インコーポレイテツド | Versatile robot control system |
JP2006302282A (en) * | 2005-04-15 | 2006-11-02 | Fanuc Robotics America Inc | Method for optimizing robot program and robot control system |
WO2009144805A1 (en) * | 2008-05-29 | 2009-12-03 | 三菱電機株式会社 | Acceleration/deceleration control device |
Also Published As
Publication number | Publication date |
---|---|
JPWO2023032156A1 (en) | 2023-03-09 |
JP7142803B1 (en) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6717768B2 (en) | Robot for learning control considering operation in production line and control method thereof | |
CN112428278B (en) | Control method and device of mechanical arm and training method of man-machine cooperation model | |
US10259118B2 (en) | Robot system having function of simplifying teaching operation and improving operating performance by learning | |
US7324907B2 (en) | Self-calibrating sensor orienting system | |
US9381643B2 (en) | Dynamical system-based robot velocity control | |
CN109202894B (en) | Robot performing learning control and control method thereof | |
US20120253514A1 (en) | Reinforcement learning apparatus, control apparatus, and reinforcement learning method | |
US11975451B2 (en) | Simulation-in-the-loop tuning of robot parameters for system modeling and control | |
US20050234566A1 (en) | Self-calibrating orienting system for a manipulating device | |
CN112528434B (en) | Information identification method and device, electronic equipment and storage medium | |
Fusco et al. | Integrating features acceleration in visual predictive control | |
JP7180696B2 (en) | Control device, control method and program | |
JP4269150B2 (en) | Robot controller | |
US20220009101A1 (en) | Control device, control method, and non-transitory recording medium | |
WO2023032156A1 (en) | Robot control system, robot control device, motion planning device, robot control program, and motion planning program | |
Huang | Control approach for tracking a moving target by a wheeled mobile robot with limited velocities | |
CN111805537A (en) | Multi-manipulator cooperative control method, system, equipment and storage medium | |
CN115042178A (en) | Robot reinforcement learning method, device, equipment and medium for ensuring contact safety | |
JP7227018B2 (en) | Learning controller, robot controller and robot | |
CN112135718B (en) | Control of robots | |
CN113474130A (en) | Method and system for executing preset task by using robot | |
JP7520238B2 (en) | Apparatus and method for controlling a system with uncertainties in its dynamics - Patents.com | |
JP7399357B1 (en) | Trajectory generator | |
US20230195843A1 (en) | Machine learning device, machine learning method, and computer program product | |
WO2024050729A1 (en) | Robot teleoperation system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2022506840 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21956044 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |