[go: up one dir, main page]

WO2020170306A1 - Dispositif de commande de robot - Google Patents

Dispositif de commande de robot Download PDF

Info

Publication number
WO2020170306A1
WO2020170306A1 PCT/JP2019/005855 JP2019005855W WO2020170306A1 WO 2020170306 A1 WO2020170306 A1 WO 2020170306A1 JP 2019005855 W JP2019005855 W JP 2019005855W WO 2020170306 A1 WO2020170306 A1 WO 2020170306A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
smoothing
speed
robot
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2019/005855
Other languages
English (en)
Japanese (ja)
Inventor
卓矢 岡原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to PCT/JP2019/005855 priority Critical patent/WO2020170306A1/fr
Priority to JP2021501161A priority patent/JP7053941B2/ja
Publication of WO2020170306A1 publication Critical patent/WO2020170306A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators

Definitions

  • the present invention relates to a robot control device that controls a robot.
  • the corrected angular velocity command for adjusting the operation speed of the robot is directly output to the servo motor, so that there is a problem that acceleration and vibration exceeding the allowable value of the servo motor occur.
  • the robot controller when the robot controller outputs a command to the servo motor, it is necessary to perform smoothing processing on the generated command in order to realize a smooth motion of the robot.
  • the trapezoidal pattern is used to generate the angular velocity command output to the servo motor based on the displacement amount between the initial angle and the final angle of the servo motor, if the angular velocity command is not smoothed, the command start point , The end point, and the change point of the angular velocity command such as the apex of the trapezoid may cause acceleration and vibration exceeding the allowable value of the servo motor.
  • the smoothing process is a process for suppressing the occurrence of acceleration and vibration that exceed the above allowable values.
  • the present invention has been made in view of the above, and provides a robot control device that operates a robot at an operating speed within a limit value even if a process of smoothing a command is performed to smoothly operate the robot. With the goal.
  • the present invention is a robot control device for controlling a robot having a plurality of arms, wherein smoothing is a command for driving a plurality of arms of the robot.
  • Pre-smoothing command generation unit that generates a pre-command
  • a smoothing unit that smoothes the pre-smoothing command generated by the pre-smoothing command generation unit to generate a post-smoothing command
  • a smoothing unit And a command output unit that outputs a command after smoothing to the robot.
  • the present invention is a speed estimation for estimating an operation speed of a monitoring point provided in a robot based on a pre-smoothing command generated by a pre-smoothing command generation unit and a post-smoothing command generated by a smoothing unit.
  • a override correction unit that corrects the override that is the virtual time correction rate based on the operation speed estimated by the speed estimation unit and the predetermined speed limit.
  • the pre-smoothing command generation unit generates a pre-smoothing command using the override obtained by the override correction unit.
  • the robot can be operated at the operation speed within the limit value even if the process of smoothing the command is performed to smoothly operate the robot.
  • FIG. 1 is a diagram showing a hardware configuration of a robot controller according to the first embodiment
  • Block diagram for explaining the function of the robot controller according to the first embodiment 2 is a flowchart showing the procedure of the operation of the robot controller according to the first embodiment.
  • FIG. 3 is a diagram showing a configuration of a pre-smoothing command generation unit included in the robot control device according to the first embodiment. 6 is a flowchart showing the procedure of the operation of the pre-smoothing command generation unit included in the robot control device according to the first embodiment.
  • Block diagram for explaining the function of the robot controller according to the second embodiment 6 is a flowchart showing the procedure of the operation of the suppression unit included in the robot control device according to the second embodiment.
  • Block diagram for explaining the function of the robot controller according to the third embodiment 6 is a flowchart showing a procedure of an operation of a speed estimation unit included in the robot control device according to the third embodiment.
  • a processor in the case where some or all of the functions of a pre-smoothing command generation unit, a smoothing unit, a command output unit, a speed estimation unit, and an override correction unit included in the robot control device according to the first embodiment are realized by the processor.
  • FIG. 1 A processing circuit in the case where a part or all of a pre-smoothing command generation unit, a smoothing unit, a command output unit, a speed estimation unit, and an override correction unit included in the robot control device according to the first embodiment is realized by a processing circuit.
  • the robot posture means a robot hand position and a robot hand posture.
  • the robot hand position is the position of the robot hand in a reference coordinate system set at an arbitrary position serving as a reference in a three-dimensional space.
  • the robot hand posture can be represented by coordinate conversion from the coordinates of the tool coordinate system defined at the robot hand position.
  • a coordinate conversion matrix, an Euler angle, a quaternion or a Rodrigues parameter is used.
  • the robot posture is described as the position and posture of the robot hand, but in the coordinate system moved by performing a predetermined coordinate conversion from the coordinate system set for the robot hand, the position is the same as that of the robot hand.
  • the attitude can be calculated.
  • the robot posture is not limited to the robot hand position and the robot hand posture.
  • FIG. 1 is a diagram showing a hardware configuration of the robot controller 1 according to the first embodiment.
  • the robot control device 1 is a device that controls a robot having a plurality of arms, and stores a CPU (Central Processing Unit) 2 that operates to control the robot, and data used by the CPU 2 when the CPU 2 operates.
  • a storage device 3 that operates.
  • CPU2 is an example of a processor.
  • the storage device 3 stores data indicating a housing model of the robot controlled by the robot control device 1 and data indicating a robot posture.
  • An example of the storage device 3 is a ROM (Read Only Memory), a HDD (Hard Disk Drive), or a RAM (Random Access Memory).
  • the robot control device 1 further includes an IO (Input Output) interface 4 having a function of transmitting a signal to the receiving device 6 and a function of receiving a signal transmitted from the input device 7.
  • the receiving device 6 and the input device 7 are also shown in FIG.
  • the IO interface 4 is connected to the receiving device 6 by a cable 8 and is connected to the input device 7 by a cable 9.
  • the receiving device 6 receives the signal transmitted from the robot control device 1.
  • An example of the receiving device 6 is a lamp or a buzzer that notifies the outside of the robot control device 1 of the operation state of the robot controlled by the robot control device 1.
  • the input device 7 transmits a signal to the robot control device 1.
  • An example of the input device 7 is a light curtain or an area sensor.
  • the robot control device 1 further includes a bus 5 that interconnects the CPU 2, the storage device 3, and the IO interface 4.
  • FIG. 2 is a block diagram for explaining the function of the robot control device 1 according to the first embodiment.
  • the robot control device 1 is a device that controls the robot 30.
  • the robot 30 is also shown in FIG.
  • the robot 30 has a plurality of arms and a robot hand provided at the tip of each of the plurality of arms. Each arm is rotatably connected to the main body of the robot 30.
  • connection part of each arm with the main body is defined as a joint part.
  • a drive device for changing the angle of the joint and a joint angle detector for measuring the rotation angle of the joint are attached to each joint.
  • the drive device is a device that drives the joint portion and has an electric motor. Examples of electric motors are servomotors or stepping motors.
  • the joint angle detector has an image sensor and an encoder. The position and orientation of each arm of the robot 30 changes as the drive device changes the angle of each joint.
  • the robot controller 1 outputs the robot operation command 1a to the robot 30 at a predetermined control cycle.
  • the robot drive command 1a is a joint angle command output to a drive device provided in each joint of the robot 30, and is a command for controlling the operation of a plurality of arms of the robot 30.
  • the robot control device 1 includes a pre-smoothing command generation unit 11 that generates a pre-smoothing command 11a that is a command for driving a plurality of arms of the robot 30. Details of the pre-smoothing command generation unit 11 will be described later with reference to FIGS. 4 and 5.
  • the robot control device 1 further includes a smoothing unit 12 that smoothes the pre-smoothing command 11a generated by the pre-smoothing command generating unit 11 to generate a post-smoothing command 12a.
  • the post-smoothing command 12a is the robot drive command 1a.
  • the smoothing unit 12 may generate the post-smoothing command 12a by using the average of changes in the values included in the pre-smoothing command 11a, or may use the filter corresponding to the Nth delay element to perform the post-smoothing command. 12a may be generated.
  • N is an integer of 1 or more.
  • the robot control device 1 further includes a command output unit 13 that outputs the smoothed command 12 a generated by the smoothing unit 12 to the robot 30.
  • the smoothed command 12 a output from the command output unit 13 to the robot 30 is the robot drive command 1 a for driving the robot 30.
  • the robot control device 1 determines the monitoring location of the robot 30 based on the pre-smoothing command 11a generated by the pre-smoothing command generation unit 11 and the post-smoothing command 12a generated by the smoothing unit 12. It further has a speed estimation unit 14 for estimating an operation speed.
  • the monitoring points are preset in the robot 30, and the number of monitoring points is one or more.
  • the operation speed estimated by the speed estimation unit 14 is the representative monitoring speed 14a. Details of the speed estimation unit 14 will be further described later with reference to FIGS. 6 and 7.
  • the robot control device 1 further includes an override correction unit 15 that corrects the override, which is a virtual time correction rate, based on the representative monitoring speed 14a estimated by the speed estimation unit 14 and a predetermined speed limit.
  • the data indicating the speed limit is stored in the storage device 3 of FIG.
  • the override correction unit 15 obtains the corrected override 15a by performing the correction.
  • the override 15a is a value obtained by dividing the target operation speed of the robot 30 by the representative monitoring speed 14a, and is a value from 0 to 1.
  • the override 15a is represented by "OVRD” and the target operation speed of the robot 30 is represented by "Vlim”
  • the override 15a is obtained by the following equation (1).
  • OVRD min(1,max(0,Vlim/V)) (1)
  • the target operation speed of the robot 30 may be input to the robot controller 1 from the input device 7 and stored in the storage device 3, or may be stored in the storage device 3 in advance.
  • the storage device 3 stores a plurality of target operation speeds, and one of the plurality of target operation speeds is selected depending on the operation state of the robot 30 or the signal transmitted from the input device 7 to the robot control device 1. The operating speed may be selected.
  • the functions of the pre-smoothing command generation unit 11, the smoothing unit 12, the command output unit 13, the speed estimation unit 14, and the override correction unit 15 are realized by the CPU 2.
  • the CPU 2 realizes the functions of the pre-smoothing command generation unit 11, the smoothing unit 12, the command output unit 13, the speed estimation unit 14, and the override correction unit 15 by reading and executing the program stored in the storage device 3.
  • the storage device 3 stores a program in which the steps executed by the pre-smoothing command generation unit 11, the smoothing unit 12, the command output unit 13, the speed estimation unit 14, and the override correction unit 15 are eventually executed. It is also a device for doing.
  • the program stored in the storage device 3 causes the CPU 2 to execute the procedure or method executed by the pre-smoothing command generation unit 11, the smoothing unit 12, the command output unit 13, the speed estimation unit 14, and the override correction unit 15. is there.
  • the pre-smoothing command 11a includes a pre-smoothing command value
  • the post-smoothing command 12a includes a post-smoothing command value.
  • the pre-smoothing command value and the post-smoothing command value are the angle command value and the angular velocity command value of each joint of the robot 30.
  • the robot drive command 1a output to the robot 30 by the robot controller 1 in each control cycle includes an angle command value.
  • the angle command value before smoothing is represented as ⁇ _i
  • the angular velocity command value before smoothing is represented as ⁇ _i
  • the angle command value after smoothing is represented as ⁇ _i
  • the angular velocity command after smoothing is represented.
  • the value may be represented as ⁇ _i.
  • the subscript i is a number that identifies each joint.
  • FIG. 3 is a flowchart showing an operation procedure of the robot controller 1 according to the first embodiment.
  • the CPU 2 processes a program stored in advance in the storage device 3 to determine whether or not there is an operation command (S1).
  • the CPU 2 acquires data indicating a joint angle from a joint angle detector attached to each joint of the robot 30 in order to acquire data indicating the current robot posture. After that, the CPU 2 calculates the position and orientation of the robot hand from the joint angle of the robot 30 using the data indicating the housing model of the robot 30 stored in the storage device 3.
  • calculating the position and orientation of the robot hand from the joint angle of the robot 30 using the data indicating the housing model of the robot 30 stored in the storage device 3 is referred to as “forward conversion”.
  • the CPU 2 performs a process of acquiring a target robot posture (S3).
  • the CPU 2 initializes the virtual time (S4).
  • the order in which each process from step S2 to step S4 is performed is not limited.
  • the pre-smoothing command generation unit 11 updates the pre-smoothing command 11a for moving the robot 30 from the current posture to the target posture every control cycle (S5).
  • the pre-smoothing command generation unit 11 acquires the data indicating the joint angle from the joint angle detector attached to each joint of the robot 30 and performs the forward conversion, for example, as in the process of step S2. By doing so, data indicating the current posture of the robot 30 in each control cycle is acquired.
  • the pre-smoothing command generation unit 11 may store the attitude data updated in each control cycle and use the attitude data of one cycle before as the data indicating the current attitude in the next control cycle.
  • the smoothing unit 12 smoothes the pre-smoothing command 11a to generate the post-smoothing command 12a (S6).
  • the speed estimation unit 14 estimates the operation speed of the monitoring location (S7).
  • the override correction unit 15 corrects the override (S8).
  • the command output unit 13 outputs a drive command to the robot 30 (S9).
  • the drive command is the smoothed command 12a generated by the smoothing unit 12.
  • the CPU 2 determines whether the current posture of the robot 30 has reached the target posture in each control cycle (S10), and when it determines that the current posture has reached the target posture (Yes in S10), the operation is performed. finish.
  • the operation of the robot controller 1 proceeds to step S5.
  • FIG. 4 is a diagram showing a configuration of the pre-smoothing command generation unit 11 included in the robot control device 1 according to the first embodiment.
  • the pre-smoothing command generation unit 11 includes a virtual time calculation unit 111 that calculates a virtual time 111a different from the actual control time based on the override 15a.
  • the pre-smoothing command generation unit 11 further includes a motion planning unit 112 that acquires from the storage device 3 the motion parameters 112a of acceleration/deceleration and maximum speed when the robot 30 operates.
  • the pre-smoothing command generating unit 11 is a command for generating the pre-smoothing command 11a using the operation parameter 112a acquired by the motion planning unit 112 based on the virtual time 111a obtained by the virtual time calculating unit 111. It further has a value updating unit 113.
  • the operation planning unit 112 acquires the operation parameter 112 a previously stored in the storage device 3 from the storage device 3 and outputs it to the command value updating unit 113.
  • the motion parameter 112a includes data of angular acceleration/deceleration and maximum angular velocity for generating an angular velocity pattern until each joint moves from the current angle to the target angle.
  • the operation planning unit 112 corresponds to the operation status of the robot 30 from the plurality of data sets stored in the storage device 3.
  • the operation parameter 112a may be selected and output to the command value updating unit 113.
  • FIG. 5 is a flowchart showing an operation procedure of the pre-smoothing command generation unit 11 included in the robot control device 1 according to the first embodiment.
  • the virtual time calculation unit 111 updates the virtual time 111a based on the override 15a which is the virtual time correction rate (S11).
  • the override 15a may be represented as “OVRD” and the virtual time may be represented as “KT”.
  • the virtual time calculation unit 111 updates the virtual time using the following equation (2).
  • KT(k) KT(k ⁇ 1)+OVRD(k) ⁇ T (2)
  • ⁇ T is a control cycle
  • KT(k) represents virtual time at k steps.
  • OVRD is a real number from 0 to 1.
  • the command value updating unit 113 determines whether to update the command value based on the virtual time KT(k) (S12). When the virtual time KT(k) exceeds the j-th command value update time T(j), the command value updating unit 113 determines to update the command value (Yes in S12), and the virtual time KT(k) is When the command value update time T(j) for the jth time is not exceeded, it is determined that the command value is not updated (No in S12). When it is determined that the command value is not updated (No in S12), the command value updating unit 113 continues to output the previously output command value.
  • the command value updating unit 113 determines not to update the command value (No in S12)
  • the operation of the pre-smoothing command generating unit 11 ends.
  • the command value updating unit 113 determines to update the command value (Yes in S12)
  • ⁇ m_i is the maximum angular velocity command value at the joint i
  • ⁇ a_i(k) is the angular velocity command value when the joint i is accelerated by the angular velocity increase amount ⁇ _i
  • ⁇ b_i(k) is the remaining movement amount ⁇ _i( which is obtained by subtracting the current angle command value ⁇ _i(k) from the target angle ⁇ f_i, when the angular velocity is decelerated by the angular velocity decrease amount ⁇ _i and stops.
  • k) abs( ⁇ f_i ⁇ _i(k)).
  • ⁇ b_i(k) is calculated by the following equation (5).
  • ⁇ b_i(k) sqrt(2 ⁇ _i(k) ⁇ _i) (5)
  • the angle command value of each joint is updated by the following equation (6) based on the updated angular velocity command value.
  • ⁇ _i(k) ⁇ _i(k ⁇ 1)+ ⁇ _i(k) ⁇ T (6)
  • FIG. 6 is a diagram showing a configuration of the speed estimation unit 14 included in the robot control device 1 according to the first embodiment.
  • the speed estimation unit 14 generates a pre-smoothing command 11a including the angle command value of each joint before smoothing, a post-smoothing command 12a including the angle command value of each joint after smoothing, and an override 15a.
  • the operating speeds of one or more monitoring points are estimated, and the representative monitoring speed 14a that is a representative of the operating speeds of the one or more monitoring points is output.
  • the monitoring point may be described as a monitoring point.
  • the speed estimation unit 14 receives the pre-smoothing command 11a and calculates the difference ( ⁇ _i(k)- ⁇ _i(k-1)) between the joint angle command values before smoothing, which is updated in each control cycle, before smoothing. It has the 1st movement amount acquisition part 141 which acquires as command value movement amount 141a.
  • the velocity estimation unit 14 receives the smoothed command 12a and smoothes the difference ( ⁇ _i(k)- ⁇ _i(k-1)) between the smoothed joint angle command values updated in each control cycle. It further has the 2nd moving amount acquisition part 142 acquired as command value moving amount 142a.
  • the speed estimation unit 14 receives the pre-smoothing command value movement amount 141a and the post-smoothing command 12a, and sets the post-smoothing joint angle command value ⁇ _i(k) as the pre-smoothing command value movement amount ( ⁇ _i(k) ⁇ _i It further includes a first monitoring point position calculation unit 143 that calculates the first monitoring point position corresponding to the joint angle command value to which (k-1)) is added.
  • the first monitoring point position may be described as “first monitoring point position P_A143a”.
  • the velocity estimation unit 14 receives the smoothed command 12a and the smoothed command value movement amount 142a, and converts the smoothed command value movement amount ( ⁇ _i(k)- ⁇ _i) into the smoothed joint angle command value ⁇ _i(k).
  • a second monitoring point position calculation unit 144 that calculates the second monitoring point position corresponding to the joint angle command value to which (k-1)) is added is further included.
  • a 2nd monitoring point position may be described as "2nd monitoring point position P_B144a.”
  • the velocity estimation unit 14 further includes a third monitoring point position calculation unit 145 that receives the smoothed command 12a and calculates a third monitoring point position corresponding to the smoothed joint angle command value ⁇ _i(k).
  • the third monitoring point position may be described as “third monitoring point position P_C145a”.
  • the speed estimation unit 14 calculates a first estimated speed 146a obtained by dividing the difference between the value of the first monitoring point position P_A143a and the value of the third monitoring point position P_C145a by the control cycle ⁇ T. Further has 146.
  • the first speed calculator 146 calculates the position of the monitoring point calculated based on the post-smoothing command 12a and the pre-smoothing position that is the movement amount of the monitoring point calculated based on the pre-smoothing command 11a.
  • the first estimated speed 146a of the monitoring location is calculated based on the command value movement amount 141a.
  • the first speed calculation unit 146 calculates the pre-smoothing command value movement amount 141a based on the pre-smoothing command 11a which is the basis of the post-smoothing command 12a output to the robot 30 one cycle before. Then, the first estimated speed 146a is calculated using the pre-smoothing command value movement amount 141a obtained by the calculation.
  • the first estimated speed 146a is an estimated speed of motion.
  • the speed estimation unit 14 calculates a second estimated speed 147a obtained by dividing the difference between the value of the second monitoring point position P_B144a and the value of the third monitoring point position P_C145a by the control cycle ⁇ T. Further has 147. That is, the second speed calculation unit 147 calculates the position of the monitoring point calculated based on the post-smoothing command 12a and the smoothed position that is the movement amount of the monitoring point calculated based on the post-smoothing command 12a. The second estimated speed 147a of the monitoring location is calculated based on the command value movement amount 142a.
  • the second speed calculator 147 calculates the smoothed command value movement amount 142a based on the smoothed command 12a output to the robot 30 one cycle before, and the smoothed command obtained by the calculation.
  • the second estimated speed 147a is calculated using the value movement amount 142a.
  • the second estimated speed 147a is an estimated speed of motion.
  • the speed estimation unit 14 further includes a representative speed calculation unit 148 that receives the first estimated speed 146a, the second estimated speed 147a, and the override 15a and calculates the representative monitored speed 14a at the monitoring location. That is, the representative speed calculation unit 148 estimates the speed of the monitoring location based on the first estimated speed 146a and the second estimated speed 147a. Specifically, the representative speed calculation unit 148 estimates the larger estimated speed of the first estimated speed 146a and the second estimated speed 147a as the operating speed of the monitoring location.
  • FIG. 7 is a flowchart showing an operation procedure of the speed estimation unit 14 included in the robot control device 1 according to the first embodiment.
  • the CPU 2 initializes the representative monitoring speed (S21).
  • the representative monitoring speed may be represented as “representative monitoring speed V”.
  • the CPU 2 initializes the representative monitoring speed to 0.
  • the first movement amount acquisition unit 141 calculates the pre-smoothing command value movement amount 141a
  • the second movement amount acquisition unit 142 calculates the smoothed command value movement amount 142a (S22). Either the pre-smoothing command value movement amount 141a or the post-smoothing command value movement amount 142a may be calculated first.
  • the robot controller 1 sets one or more monitoring points in the robot 30 in order to monitor the operation speed of the robot 30.
  • the monitoring location is a predetermined location on the housing of the robot 30 or a location away from the location in a predetermined direction by a predetermined distance, and corresponds to the motion of the joint of the robot 30. Move.
  • the monitoring point may be a hand position of the robot 30, or may be a position away from the hand position by a predetermined distance in a designated direction.
  • the data indicating the monitoring location is stored in the storage device 3 similarly to the data indicating the housing model of the robot 30.
  • the robot control device 1 can calculate the position of the monitoring point from the angle of each joint of the robot 30 by performing the same process as the process for the robot posture.
  • each of the first monitoring point position calculation unit 143, the second monitoring point position calculation unit 144, and the third monitoring point position calculation unit 145 monitors the operation speed of the robot 30.
  • One monitoring point is selected (S23).
  • each of the first monitoring point position calculation unit 143, the second monitoring point position calculation unit 144, and the third monitoring point position calculation unit 145 is one of the plurality of monitoring points.
  • each of the first monitoring point position calculation unit 143, the second monitoring point position calculation unit 144, and the third monitoring point position calculation unit 145 selects from a list including data indicating the monitoring points.
  • One monitoring location may be selected at random, or one monitoring location may be selected according to a predetermined rule.
  • the first monitoring point position calculation unit 143 calculates the first monitoring point position P_A143a
  • the second monitoring point position calculation unit 144 calculates the second monitoring point position P_B144a
  • the third monitoring point position calculation unit 145 The three monitoring point position P_C145a is calculated (S24).
  • the first monitoring point position P_A143a is a command value movement amount before the smoothing ( ⁇ _i( which is a difference between the smoothed joint angle command values ⁇ _i(k) and the respective joint angle command values before the smoothing for the selected monitoring point. k) ⁇ _i(k ⁇ 1)) is added to the joint angle for forward conversion.
  • the second monitoring point position P_B144a is the smoothed command value movement amount ( ⁇ _i( which is the difference between the smoothed joint angle command values ⁇ _i(k) and the respective smoothed joint angle command values for the selected monitoring point. k) ⁇ _i(k ⁇ 1)) is added to the joint angle for forward conversion.
  • the third monitoring point position P_C145a is calculated by forward-converting the smoothed joint angle command value ⁇ _i(k) for the selected monitoring point.
  • the first monitoring point position P_A143a, the second monitoring point position P_B144a, and the third monitoring point position P_C145a may be calculated in any order.
  • the first speed calculation unit 146 calculates the first estimated speed
  • the second speed calculation unit 147 calculates the second estimated speed (S25).
  • the first estimated speed may be represented as “first estimated speed V1” and the second estimated speed may be represented as “second estimated speed V2”. Either the first estimated speed V1 or the second estimated speed V2 may be calculated first.
  • the first estimated speed V1 is calculated by the following equation (7)
  • the second estimated speed V2 is calculated by the following equation (8).
  • V1 norm(P_AP_C)/ ⁇ T/OVRD (7)
  • V2 norm(P_B-P_C)/ ⁇ T/OVRD (8)
  • the first monitoring point position P_A143a, the second monitoring point position P_B144a, and the third monitoring point position P_C145a are all three-dimensional positions.
  • the norm operator calculates the Euclidean norm of an array.
  • Each of the first estimated speed V1 and the second estimated speed V2 can be converted into a speed when the override is 1 by dividing by the value of the override 15a.
  • step S23 each of the first monitoring point position calculation unit 143, the second monitoring point position calculation unit B144, and the third monitoring point position calculation unit 145 monitors all the monitoring points to the monitoring points selected in step S23 from the previous time. One monitoring point is selected from the monitoring points excluding.
  • the representative speed calculation unit 148 determines that the processing from step S24 to step S28 has been performed for all the monitoring points (Yes in S29), it outputs the current representative monitoring speed V (S30).
  • the representative speed calculator 148 outputs the current representative monitoring speed V, the operation of the speed estimator 14 ends.
  • the robot control device 1 uses the pre-smoothing command 11a generated by the pre-smoothing command generation unit 11 and the post-smoothing command 12a generated by the smoothing unit 12 as a basis.
  • the robot 30 has a speed estimation unit 14 that estimates the speed of a monitoring location provided on the robot 30. That is, the robot control device 1 estimates the speed estimated for adjusting the operation speed of the robot 30, using the command before the smoothing of the drive command that is actually output to the robot 30.
  • the robot control device 1 can estimate the future operation speed that is closer to the actually detected operation speed of the robot 30 by the time required for the smoothing process, and the robot 30 is estimated using the estimated operation speed.
  • the operating speed of can be adjusted. That is, the robot control device 1 can estimate the increase in the operation speed of the robot 30 in the near future.
  • the robot control device 1 has an override correction unit 15 that corrects an override that is a virtual time correction rate based on the representative monitoring speed 14a estimated by the speed estimation unit 14 and a predetermined speed limit. Therefore, the robot control device 1 can output a smooth drive command after smoothing to the robot 30, and can suppress the possibility that the operating speed of the robot 30 exceeds the speed limit.
  • the robot control device 1 can operate the robot 30 at an operation speed within the limit value even if the process of smoothing the command is performed to smoothly operate the robot 30. Furthermore, the robot control device 1 estimates the operating speed of the monitoring location provided in the robot 30 based on the pre-smoothing command 11a and the post-smoothing command 12a. Therefore, the robot control device 1 suppresses the operating speed of the monitoring location within the speed limit without generating acceleration or vibration exceeding the allowable value of the electric motor of the drive device attached to each joint of the robot 30. The robot 30 can be operated.
  • FIG. 8 is a block diagram for explaining the function of the robot control device 1A according to the second embodiment.
  • the robot controller 1 ⁇ /b>A has a pre-smoothing command generation unit 11, a smoothing unit 12, a command output unit 13, a speed estimation unit 14, and an override correction unit 15, and is obtained by the override correction unit 15.
  • the suppression unit 20 that receives the override 15a and outputs the suppression override 20a is included.
  • the pre-smoothing command generation unit 11 uses the suppression override 20a output from the suppression unit 20 to generate the pre-smoothing command 11a.
  • FIG. 9 is a flowchart showing an operation procedure of the suppression unit 20 included in the robot control device 1A according to the second embodiment.
  • the suppression unit 20 acquires the override 15a output from the override correction unit 15 (S31).
  • the suppression unit 20 performs suppression processing on the acquired override 15a (S32) and generates the suppression override 20a. Details of the suppression processing will be described later.
  • the suppression unit 20 stores the generated suppression override 20a (S33), and then outputs the suppression override 20a to the pre-smoothing command generation unit 11 (S34).
  • the suppression unit 20 has a memory for storing information.
  • the suppression unit 20 determines whether the acquired value of the override 15a is larger than the value of the suppressed override 20a stored in the immediately preceding control cycle. When the suppression unit 20 determines that the acquired value of the override 15a is larger than the value of the suppressed override 20a stored in the immediately preceding control cycle, the suppression unit 20 sets the value of the suppressed override 20a in the current control cycle to the value of the acquired override 15a. The value is set to a value between the value and the stored value of the suppression override 20a, and the suppression override 20a after the setting is output. When the suppression unit 20 determines that the acquired value of the override 15a is less than or equal to the value of the suppression override 20a stored in the immediately previous control cycle, the suppression unit 20 outputs the suppression override 20a in the current control cycle.
  • the suppression unit 20 suppresses the rate of increase in the value of the suppression override 20a output in step S34 in each control cycle by performing the above-described processing in step S32.
  • the suppression unit 20 may suppress the increase amount by presetting the upper limit of the stored increase amount of the suppression override 20a in each control cycle.
  • the suppression unit 20 suppresses the increase amount by adding to the stored suppression override 20a a value obtained by multiplying the difference between the stored suppression override 20a and the input override 15a by a constant discount rate. Good.
  • the suppression unit 20 suppresses the increase width of the override 15a when the override 15a increases. Therefore, the robot control device 1A according to the second embodiment can suppress the increase rate of the operating speed of the robot 30 and reduce the possibility that the operating speed exceeds the speed limit. Since the robot control device 1A does not affect the command for making the operation of the robot 30 relatively slow, the operation of the robot 30 is made relatively slow when it is determined that the operating speed of the robot 30 exceeds the speed limit. It is possible to immediately output the command to perform, and it is possible to reduce the possibility that the operating speed of the robot 30 exceeds the speed limit.
  • the override modifying unit 15 may obtain the modified overriding so that the amount of increase of the overriding 15a obtained by performing the modification in each control cycle is less than a predetermined value.
  • the robot control device 1A does not have to include the suppression unit 20.
  • the robot control device 1A can reduce the possibility that the operating speed of the robot 30 exceeds the speed limit by suppressing the increase width of the override.
  • FIG. 10 is a block diagram for explaining the function of the robot control device 1B according to the third embodiment.
  • the robot control device 1B includes a pre-smoothing command generation unit 11, a smoothing unit 12, a command output unit 13, a speed estimation unit 14A, and an override correction unit 15. That is, the robot control device 1B has a speed estimation unit 14A instead of the speed estimation unit 14 included in the robot control device 1 according to the first embodiment.
  • the speed estimation unit 14A includes a first speed calculation unit 146 and a second speed calculation unit 147.
  • the first speed calculation unit 146 included in the speed estimation unit 14A calculates the pre-smoothing command value movement amount 141a based on the pre-smoothing command 11a which is the basis of the post-smoothing command 12a output to the robot 30 in the future. To do.
  • the second speed calculator 147 included in the speed estimator 14A calculates the smoothed command value movement amount 142a based on the smoothed command 12a output to the robot 30 in the future.
  • FIG. 11 is a flowchart showing an operation procedure of the speed estimation unit 14A included in the robot control device 1B according to the third embodiment.
  • the same steps as those shown in FIG. 7 are designated by the same reference numerals.
  • the description of the steps described in the first embodiment will be omitted.
  • step S42 the speed estimation unit 14A updates the pre-smoothing command 11a and the post-smoothing command 12a based on the current value of the override 15a. Then (S42), the operation of the speed estimating unit 14A proceeds to step S22.
  • the process of step S42 is similar to the process performed by the pre-smoothing command generation unit 11 and the smoothing unit 12.
  • the speed estimating unit 14A estimates the drive command to be output to the robot 30 in the future under the current override 15a in the current control cycle by executing the processes of steps S22 to S29, step S41, and step S42. Then, the operation speed of the robot 30 is estimated based on the estimated drive command. Therefore, in the processing from step S22 to step S29, step S41, and step S42, when the drive command based on the current override 15a is continuously output to the robot 30, the future operation speed of the robot 30 becomes the speed limit. In other words, it is a process for determining whether or not there is a possibility of exceeding.
  • the process of step S41 is a process of considering the operation speed of the robot 30 according to a drive command output to the robot 30 a certain number of times from the current control period in the future control period.
  • the number of times may be set in advance or may be the number of times the drive command is output to the robot 30 until the posture of the robot 30 reaches the target point.
  • the number of times may be specified not to be a fixed number of times but to increase as the operation speed of the robot 30 increases.
  • the speed estimation unit 14A determines, The operation speed of the robot 30 in the future can be estimated. Therefore, the robot control device 1B according to the third embodiment can adjust the operation speed of the robot 30 according to the estimated operation speed, and thus the operation speed of the robot 30 may exceed the speed limit. It can be reduced.
  • FIG. 12 is a partial or all function of the pre-smoothing command generation unit 11, the smoothing unit 12, the command output unit 13, the speed estimation unit 14, and the override correction unit 15 that the robot control device 1 according to the first embodiment has.
  • FIG. 9 is a diagram showing a processor 81 when is realized by a processor 81. That is, some or all of the functions of the pre-smoothing command generation unit 11, the smoothing unit 12, the command output unit 13, the speed estimation unit 14, and the override correction unit 15 execute the processor 81 that executes the program stored in the memory 82. May be realized by The processor 81 is a processing device, a computing device, a microprocessor, or a DSP (Digital Signal Processor).
  • the memory 82 is also shown in FIG.
  • the processor 81 When a part or all of the functions of the pre-smoothing command generation unit 11, the smoothing unit 12, the command output unit 13, the speed estimation unit 14, and the override correction unit 15 are realized by the processor 81, the part or all of the functions are performed. Is realized by the processor 81 and software, firmware, or a combination of software and firmware. The software or firmware is described as a program and stored in the memory 82. The processor 81 reads a program stored in the memory 82 and executes the program to execute a part of the pre-smoothing command generation unit 11, the smoothing unit 12, the command output unit 13, the speed estimation unit 14, and the override correction unit 15, or Realize all functions.
  • the robot control device 1 When some or all of the functions of the pre-smoothing command generation unit 11, the smoothing unit 12, the command output unit 13, the speed estimation unit 14, and the override correction unit 15 are realized by the processor 81, the robot control device 1 performs smoothing. It stores a program that results in the steps executed by part or all of the pre-ization command generation unit 11, the smoothing unit 12, the command output unit 13, the speed estimation unit 14, and the override correction unit 15. It has a memory 82 for. The program stored in the memory 82 causes a computer to execute a procedure or method executed by a part or all of the pre-smoothing command generation unit 11, the smoothing unit 12, the command output unit 13, the speed estimation unit 14, and the override correction unit 15. It can also be said to be something to be executed.
  • the memory 82 is, for example, a nonvolatile or volatile semiconductor memory such as RAM, ROM, flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (registered trademark) (Electrically Erasable Programmable Read-Only Memory), a magnetic disk, It is a flexible disk, an optical disk, a compact disk, a mini disk or a DVD (Digital Versatile Disk).
  • the memory 82 may be the storage device 3 or may be included in the storage device 3.
  • FIG. 13 shows that part or all of the pre-smoothing command generation unit 11, the smoothing unit 12, the command output unit 13, the speed estimation unit 14, and the override correction unit 15 included in the robot control device 1 according to the first embodiment are processed. It is a figure which shows the processing circuit 91 when implement
  • the processing circuit 91 is dedicated hardware.
  • the processing circuit 91 is, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a combination thereof. Is.
  • the smoothing unit 12, the command output unit 13, the speed estimation unit 14, and the override correction unit 15 some of the plurality of functions are realized by software or firmware. The rest of the plurality of functions may be realized by dedicated hardware. As described above, the plurality of functions of the pre-smoothing command generation unit 11, the smoothing unit 12, the command output unit 13, the speed estimation unit 14, and the override correction unit 15 are implemented by hardware, software, firmware, or a combination thereof. Can be realized.
  • Some or all of the functions of the pre-smoothing command generation unit 11, the smoothing unit 12, the command output unit 13, the speed estimation unit 14, the override correction unit 15, and the suppression unit 20 included in the robot control device 1A according to the second embodiment. May be implemented by a processor executing a program stored in memory. In the memory, some or all steps executed by the pre-smoothing command generation unit 11, the smoothing unit 12, the command output unit 13, the speed estimation unit 14, the override correction unit 15, and the suppression unit 20 are executed as a result. It is a memory for storing a program to be executed.
  • the processor is the same processor or CPU as the processor 81.
  • a part or all of the functions of the pre-smoothing command generation unit 11, the smoothing unit 12, the command output unit 13, the speed estimation unit 14, the override correction unit 15, and the suppression unit 20 may be realized by a processing circuit.
  • the processing circuit is a processing circuit similar to the processing circuit 91.
  • Some or all of the functions of the pre-smoothing command generation unit 11, the smoothing unit 12, the command output unit 13, the speed estimation unit 14A, and the override correction unit 15 included in the robot control device 1B according to the third embodiment are stored in a memory. It may be realized by a processor that executes a stored program. In the memory, some or all steps executed by the pre-smoothing command generation unit 11, the smoothing unit 12, the command output unit 13, the speed estimation unit 14A, and the override correction unit 15 are executed as a result. Is a memory for storing the program.
  • the processor is the same processor or CPU as the processor 81.
  • the processing circuit is a processing circuit similar to the processing circuit 91.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

L'invention concerne un dispositif de commande de robot (1), qui comprend : une unité de génération de commande pré-lissage (11) qui génère une commande pré-lissage (11a) qui est une commande pour entraîner une pluralité de bras d'un robot (30) ; une unité de lissage (12) qui génère une commande post-lissage (12a) par lissage de la commande pré-lissage (11a) ; une unité de sortie de commande (13) qui délivre en sortie la commande post-lissage (12a) au robot (30) ; une unité d'estimation de vitesse (14) qui estime la vitesse de fonctionnement d'un point de surveillance prévu dans le robot (30), sur la base de la commande pré-lissage (11a) et de la commande post-lissage (12a) ; et une unité de correction de surpassement (15) qui corrige un surpassement qui est un rapport de correction de temps virtuel sur la base de la vitesse de fonctionnement estimée par l'unité d'estimation de vitesse (14) et d'une limite de vitesse prédéterminée. L'unité de génération de commande pré-lissage (11) génère la commande pré-lissage (11a) en utilisant le surpassement obtenu par l'unité de correction de surpassement (15).
PCT/JP2019/005855 2019-02-18 2019-02-18 Dispositif de commande de robot Ceased WO2020170306A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2019/005855 WO2020170306A1 (fr) 2019-02-18 2019-02-18 Dispositif de commande de robot
JP2021501161A JP7053941B2 (ja) 2019-02-18 2019-02-18 ロボット制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/005855 WO2020170306A1 (fr) 2019-02-18 2019-02-18 Dispositif de commande de robot

Publications (1)

Publication Number Publication Date
WO2020170306A1 true WO2020170306A1 (fr) 2020-08-27

Family

ID=72144237

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/005855 Ceased WO2020170306A1 (fr) 2019-02-18 2019-02-18 Dispositif de commande de robot

Country Status (2)

Country Link
JP (1) JP7053941B2 (fr)
WO (1) WO2020170306A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216008A (ja) * 2000-02-04 2001-08-10 Mitsubishi Electric Corp ロボット制御方法
JP2014117787A (ja) * 2012-12-19 2014-06-30 Daihen Corp 制御装置
JP2016043452A (ja) * 2014-08-22 2016-04-04 株式会社デンソーウェーブ ロボットの制御装置及び制御方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4528577B2 (ja) * 2004-08-06 2010-08-18 株式会社神戸製鋼所 工業用ロボット

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216008A (ja) * 2000-02-04 2001-08-10 Mitsubishi Electric Corp ロボット制御方法
JP2014117787A (ja) * 2012-12-19 2014-06-30 Daihen Corp 制御装置
JP2016043452A (ja) * 2014-08-22 2016-04-04 株式会社デンソーウェーブ ロボットの制御装置及び制御方法

Also Published As

Publication number Publication date
JP7053941B2 (ja) 2022-04-12
JPWO2020170306A1 (ja) 2021-09-30

Similar Documents

Publication Publication Date Title
EP2835228B1 (fr) Appareil robotique et procédé de commande de robot
JP5383911B2 (ja) ロボット制御装置
JP6717768B2 (ja) 生産ラインにおける運用を考慮した学習制御を行うロボット及びその制御方法
US10618164B2 (en) Robot system having learning control function and learning control method
JP4736607B2 (ja) ロボット制御装置
JP6700669B2 (ja) 制御方法、ロボット装置、プログラム、記録媒体、及び物品の製造方法
US20120010747A1 (en) Robot, control device for robot, and control method of robot
US11040449B2 (en) Robot control system and method of controlling a robot
CN101432103A (zh) 机器人手臂的控制装置及控制方法、机器人、及机器人手臂的控制程序
JPH11277468A (ja) ロボットの制御装置
JP6386516B2 (ja) 学習機能を備えたロボット装置
JP6564433B2 (ja) ロボットシステム
JP7068133B2 (ja) 制御システム、制御方法、及び制御プログラム
JP7160118B2 (ja) 制御装置、制御方法、プログラム
CN110891741A (zh) 对机器人单元的控制
JP7464391B2 (ja) モータエンコーダ及びセンサを用いて軌跡推定を行う機械システム
JP7388870B2 (ja) ロボットシステムおよび制御装置
JP5904445B2 (ja) ロボット用制御装置
JP6088601B2 (ja) 走行軸付きロボットにおけるツール先端の振れを抑制するロボット制御装置
JP7053941B2 (ja) ロボット制御装置
CN116985136B (zh) 基于四元数的机械臂节点姿态速度前瞻控制方法及装置
JPH06312392A (ja) 多関節ロボットの制御装置
JP2007102748A (ja) 位置制御装置、位置制御方法及び位置制御プログラム
JP7028083B2 (ja) ロボット制御装置およびロボットシステム
US20240337118A1 (en) Method and System for Controlling a Movement of an Adjustable Distributor Boom, and Method for Distributing Construction Material and/or Thick Matter by Means of a Construction Material and/or Thick Matter Pumping Device Having an Adjustable Distributor Boom

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19915738

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021501161

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19915738

Country of ref document: EP

Kind code of ref document: A1