WO2022201377A1 - Dispositif de commande de robot et procédé de commande de robot - Google Patents
Dispositif de commande de robot et procédé de commande de robot Download PDFInfo
- Publication number
- WO2022201377A1 WO2022201377A1 PCT/JP2021/012339 JP2021012339W WO2022201377A1 WO 2022201377 A1 WO2022201377 A1 WO 2022201377A1 JP 2021012339 W JP2021012339 W JP 2021012339W WO 2022201377 A1 WO2022201377 A1 WO 2022201377A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- manipulator
- gradient
- command trajectory
- trajectory
- command
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 29
- 238000004364 calculation method Methods 0.000 claims abstract description 115
- 238000012937 correction Methods 0.000 claims abstract description 38
- 238000011156 evaluation Methods 0.000 claims abstract description 14
- 238000006243 chemical reaction Methods 0.000 claims description 32
- 230000001133 acceleration Effects 0.000 claims description 18
- 230000002093 peripheral effect Effects 0.000 claims description 13
- 238000010801 machine learning Methods 0.000 claims description 5
- 230000004069 differentiation Effects 0.000 claims description 4
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 claims description 3
- 238000002939 conjugate gradient method Methods 0.000 claims description 2
- 238000011478 gradient descent method Methods 0.000 claims description 2
- 238000003860 storage Methods 0.000 description 51
- 230000006870 function Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 21
- 230000004888 barrier function Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 7
- 238000005457 optimization Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor 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
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40517—Constraint motion planning, variational dynamic programming
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40519—Motion, trajectory planning
Definitions
- the present disclosure relates to a robot control device and a robot control method for controlling a manipulator.
- Patent Document 1 a simulation is performed using a simulation model of a robot including an elastic holding body, and when the load moment generated in the holding body is greater than a threshold, the simulation is performed so that the load moment is equal to or less than the threshold.
- a simulation device for changing execution conditions is disclosed.
- Patent Document 1 it is necessary to repeatedly change the execution conditions of the simulation until the load moment becomes equal to or less than the threshold. Therefore, it takes time to determine the appropriate execution conditions in consideration of the force and moment generated in the workpiece. There is In addition, the only simulation execution condition that can be automatically adjusted is the maximum acceleration. There is a problem that the operation time until gripping cannot be shortened.
- the present disclosure has been made in order to solve the above-mentioned problems, and is to quickly obtain a manipulator command trajectory and velocity profile that satisfy constraints such as forces and moments generated in a workpiece and shorten operation time. It is an object of the present invention to provide a robot control device and a robot control method capable of
- the robot control device calculates a velocity profile of the manipulator based on a preset command trajectory to the manipulator, constraints on the manipulator, and an evaluation index based on the operation time of the manipulator. a calculation unit, a gradient calculation unit that calculates a gradient related to the command trajectory of the operation time based on the speed profile to obtain gradient information, and a corrected command trajectory that corrects the command trajectory based on the gradient information. and a control unit for controlling the manipulator to follow the corrected command trajectory.
- the robot control method calculates a velocity profile of the manipulator based on a preset command trajectory to the manipulator, constraints on the manipulator, and an evaluation index based on the operation time of the manipulator. calculating a slope of the command trajectory of the operation time based on the speed profile to obtain slope information; and correcting the command trajectory based on the slope information to obtain a corrected command trajectory. and controlling the manipulator to follow the correction command locus.
- a robot control device and a robot control method calculate a velocity profile based on an evaluation index based on manipulator constraints and manipulator operation time, and calculate a command trajectory based on a slope of the command trajectory of the operation time. is corrected, it is possible to quickly obtain a correction command trajectory and velocity profile of the manipulator that satisfy the constraint conditions and shorten the operation time.
- FIG. 1 is a block diagram showing an example of a robot control device according to Embodiment 1;
- FIG. 1 is a diagram showing an example of a configuration including a robot control device according to Embodiments 1 to 4;
- FIG. 4 is a block diagram showing an example of a velocity calculator in Embodiments 1 to 4;
- FIG. 4 is a block diagram showing an example of a gradient calculator in Embodiments 1 to 4;
- FIG. FIG. 3 is a block diagram showing an example of a control unit in Embodiments 1 to 4;
- FIG. 4 is a flow chart showing an example of the operation of the robot control device according to Embodiment 1;
- FIG. 10 is a block diagram showing an example of a robot control device according to Embodiment 2;
- FIG. 11 is a block diagram showing an example of a commanded trajectory correction unit according to Embodiment 2;
- FIG. 9 is a flow chart showing an example of the operation of the robot control device according to Embodiment 2;
- FIG. 11 is a block diagram showing an example of a robot control device according to Embodiment 3;
- 14 is a flow chart showing an example of the operation of the robot control device according to Embodiment 3;
- FIG. 12 is a block diagram showing an example of a robot control device according to Embodiment 4;
- 14 is a flow chart showing an example of the operation of the robot control device according to Embodiment 4;
- 2 is a diagram showing a hardware configuration of a robot control device according to Embodiments 1 to 4;
- FIG. 1 is a block diagram showing an example of a robot control device 100 according to Embodiment 1.
- FIG. 1 is a block diagram composed of a robot control device 100, an actuator 110, a manipulator 1, and a workpiece 112.
- FIG. 2 is a diagram showing an example of a configuration including the robot control device 100 according to Embodiment 1.
- the robot control device 100 controls the actuators 110 installed at the joints of the manipulator 1, which is a vertical articulated robot, so that the gripping unit 111 installed at the tip of the manipulator 1 can pick and hold a work 112 to be gripped. Realize the behavior of a place.
- the surrounding environment 113 is, for example, a camera, and outputs an image of the manipulator 1 performing pick-and-place operations to a display device (not shown).
- the robot control device 100 includes a constraint storage unit 2, a command trajectory storage unit 3, a speed calculation unit 4, a gradient calculation unit 5, a command trajectory correction unit 6, a command point sequence calculation unit 7, and a control unit 8. and
- the constraint storage unit 2 stores parameters of constraints preset for the manipulator 1 .
- the constraints are at least one of the joint angular velocity, joint angular acceleration, joint torque, hand speed, hand acceleration of the manipulator 1, the force generated in the object (workpiece 112) gripped by the manipulator 1, and the moment generated in the gripped object. It is a condition about one.
- the constraint is related to the hand speed vh , the constraint is "v min ⁇ v h ⁇ v max ".
- vmin is the lower limit of the tip speed vh
- vmax is the upper limit of the tip speed vh .
- the constraint parameters are v min and v max .
- Constraints and parameters of constraints are not limited to these.
- the constraint may be “
- the robot control device 100 may include a gripping constraint learning unit (not shown).
- the gripping constraint learning unit uses machine learning to learn constraint parameters for at least one of the force and moment generated on the workpiece 112 , and stores the obtained constraint parameters in the constraint storage unit 2 .
- the gripping constraint learning unit acquires the force and moment generated in the workpiece 112 by a sensor (not shown), and uses the acquired values as parameters of the constraint conditions. learn.
- the command trajectory storage unit 3 stores a preset command trajectory to the manipulator 1 .
- the command trajectory storage unit 3 stores a pair of the position of a waypoint on the spline curve and the value of the parameter of the curve at that position (value from 0 to 1). memorize with Alternatively, the command trajectory storage unit 3 may store only the positions of waypoints on the spline curve. In this case, the value of the parameter is calculated from the distance between waypoints on the spline curve.
- the command trajectory may be given as a B-spline curve, a Bezier curve, or the like, other than the spline curve.
- the command trajectory storage unit 3 stores a corrected command trajectory from the command trajectory correction unit 6, which will be described later. At this time, the preset command trajectory is discarded and the corrected command trajectory is newly stored.
- the velocity calculation unit 4 calculates the velocity profile of the manipulator 1 based on a preset command trajectory to the manipulator 1, constraints on the manipulator 1, and an evaluation index based on the operation time of the manipulator 1. That is, based on the command trajectory from the command trajectory storage unit 3 and the parameters of the constraint conditions from the constraint condition storage unit 2, the velocity calculation unit 4 issues a command to shorten the operation time of the manipulator 1 within the range of the constraint conditions. Calculate the velocity profile on the trajectory. Alternatively, if the robot control device 100 includes a gripping constraint learning unit, the velocity calculating unit 4 calculates a velocity profile based on the command trajectory and the parameters of the constraints learned by the gripping constraint learning unit.
- the evaluation index based on the operating time of the manipulator 1 is an evaluation function used by the profile calculator 44, which will be described later.
- This evaluation function is a function obtained by formulating the acceleration and velocity of the manipulator 1 as variables via parameters.
- the velocity profile represents the change over time of the velocity of each joint when the manipulator 1 moves along the commanded trajectory.
- a speed calculator 4 calculates a speed profile by an optimization problem that minimizes the operating time represented by the evaluation function.
- FIG. 3 is a block diagram showing an example of the speed calculation unit 4 according to Embodiment 1.
- the velocity calculator 4 includes a command interpolation calculator 41 , a dynamics calculator 42 , a constraint coefficient calculator 43 , and a profile calculator 44 .
- the command interpolation calculation unit 41 uses a preset natural number N to interpolate the curve of the command trajectory from the command trajectory storage unit 3 at N points, and calculates the position of the interpolation point on the command trajectory and the parameter of the command trajectory. Compute first and second derivatives.
- N a preset natural number
- the joint position (or joint angle) of each axis of the manipulator 1 is expressed as a cubic piecewise polynomial with respect to parameters.
- the positions (or angles) of the interpolated points as well as the first and second derivatives with respect to the parameters can be computed.
- the dynamics calculation unit 42 performs kinematics calculation and dynamics calculation of the manipulator 1 using the positions at the interpolation points from the command interpolation calculation unit 41 and the first-order differential and the second-order differential. output the results of academic calculations.
- the kinematics calculation is to calculate the velocity, acceleration, angular velocity, and angular acceleration of each joint, each link, and the grasping part 111 of the manipulator 1 from the velocity, acceleration, angular velocity, and angular acceleration of each joint of the manipulator 1. That is.
- the dynamics calculation is performed by calculating the torque generated at each joint of the manipulator 1 and the torque generated at the gripping portion 111 from the velocity, acceleration, angular velocity, and angular acceleration of each joint, each link, and the gripping portion 111 of the manipulator 1. is to calculate the forces and moments acting on
- the constraint coefficient calculation unit 43 calculates constraint coefficients based on the kinematics calculation results and dynamics calculation results from the dynamics calculation unit 42 and the constraint parameters from the constraint storage unit 2 .
- the coefficients of the constraint are a, b, and c. That is, the constraint coefficient is a coefficient included in each term in a relational expression including a plurality of variables.
- the variables are the acceleration u and the velocity x at the interpolation points in Equation (1).
- the profile calculator 44 calculates a velocity profile based on the constraint coefficients from the constraint coefficient calculator 43 . That is, the profile calculator 44 calculates the velocity profile on the commanded trajectory of the manipulator 1 and the operating time of the manipulator 1 by optimization calculation based on the evaluation function based on the operating time of the manipulator 1 and the coefficients of the constraint conditions. do.
- the speed calculation unit 4 can calculate a speed profile that shortens the operation time within the range of the constraint conditions set in the constraint storage unit 2.
- problems such as the workpiece 112 dropping or excessive force being generated in the workpiece 112 during pick-and-place of the workpiece 112 can be suppressed.
- the method described in Non-Patent Document 1 is a method called convex optimization that can easily obtain a global optimum solution, so it is possible to calculate the velocity profile at high speed.
- the gradient calculator 5 calculates the gradient of the commanded trajectory of the manipulator 1 based on the velocity profile from the velocity calculator 4, and outputs it as gradient information. Specifically, the gradient calculator 5 differentiates the motion time of the manipulator 1 from the profile calculator 44 with respect to the commanded trajectory using automatic differentiation, thereby calculating the gradient of the motion time with respect to the commanded trajectory. output as
- FIG. 4 is a block diagram showing an example of the gradient calculator 5 according to the first embodiment.
- the gradient calculator 5 includes a command interpolation gradient calculator 51 , a dynamic gradient calculator 52 , a constraint coefficient gradient calculator 53 , and a profile gradient calculator 54 .
- the command interpolation gradient calculator 51, the dynamic gradient calculator 52, the constraint coefficient gradient calculator 53, and the profile gradient calculator 54 are the command interpolation calculator 41, the dynamic calculator 42, and the constraint coefficient calculator 43, respectively.
- the slope of the calculation result performed by the profile calculator 44 is calculated.
- the profile gradient calculation unit 54 calculates the gradients of the coefficients of the operating time constraints by calculating the gradients of the coefficients of the optimization problem based on a method similar to the method disclosed in Non-Patent Document 2 as an example. calculate.
- the constraint coefficient gradient calculator 53 receives the gradient related to the coefficient of the constraint from the profile gradient calculator 54 as an input, and calculates differentiation of the calculation procedure of the constraint coefficient calculator 43 based on the chain rule to obtain the operation time , and the gradient for the motion time dynamics calculation results.
- the dynamics gradient calculator 52 inputs the gradients related to the kinematics calculation result of the action time from the constraint coefficient gradient calculator 53 and the gradients related to the dynamics calculation result of the action time.
- the derivative based on the chain rule the slope of the position at the interpolation point on the commanded trajectory of the action time, the slope of the first derivative of the parameter of the commanded trajectory of the action time, and the parameter of the commanded trajectory of the action time Computes the gradient with respect to the second derivative with respect to .
- the command interpolation gradient calculation unit 51 calculates the gradient regarding the position of the interpolation point on the command trajectory from the dynamic gradient calculation unit 52, the gradient regarding the first derivative regarding the parameter of the command trajectory, and the gradient regarding the second derivative regarding the parameter of the command trajectory. is input, and the differential of the calculation procedure of the command interpolation calculation unit 41 is calculated based on the chain rule, thereby calculating the gradient of the commanded trajectory of the operation time.
- the command interpolating gradient calculator 51 outputs the gradient related to the commanded trajectory of the operation time as gradient information.
- the command trajectory correction unit 6 corrects the command trajectory based on the gradient information from the gradient calculation unit 5 so as to reduce the operation time of the manipulator 1, and outputs it as a corrected command trajectory.
- the commanded trajectory correction unit 6 corrects the commanded trajectory by using any one of the gradient descent method, the conjugate gradient method, and the quasi-Newton method based on the gradient information. Examples of gradient descent include steepest descent, momentum, or accelerating gradients.
- the corrected command trajectory is stored in the command trajectory storage unit 3 .
- the operation time of the manipulator 1 can be shortened by correcting the instruction trajectory so that the operation time of the manipulator 1 is reduced by the command trajectory correction unit 6 based on the gradient information. Further, since the commanded trajectory correction unit 6 uses the gradient information, the commanded trajectory can be corrected efficiently and at high speed.
- the command point sequence calculation unit 7 calculates command point sequences for each predetermined sampling period based on the corrected command trajectory stored in the command trajectory storage unit 3 and the speed profile from the speed calculation unit 4 .
- This sampling period is the period when the controller 8, which will be described later, calculates the current value to the actuator 110.
- FIG. As an example, when the correction command trajectory is given as a spline curve, the command point sequence calculation unit 7 performs conversion between the time and the parameter of the curve of the correction command trajectory based on the velocity profile. is combined with the piecewise polynomial of the spline curve of the corrected command trajectory, which is input, to calculate the point sequence of the position command to the manipulator 1 at each sampling.
- the control unit 8 controls the manipulator 1 to follow the correction command trajectory. That is, the controller 8 controls the manipulator 1 to follow the command point sequence from the command point sequence calculator 7 .
- FIG. 5 is a block diagram showing an example of the control section 8 according to the first embodiment.
- the controller 8 includes a feedforward controller 81 , a feedback controller 82 and a current value calculator 83 .
- the feedforward control unit 81 performs filter processing such as smoothing on the command point sequence from the command point sequence calculation unit 7, and outputs it as a smoothed command point sequence.
- the feedforward control unit 81 applies a modeled inverse transfer function to the command point sequence from the command point sequence calculation unit 7 to calculate and output the feedforward value of the current input to the actuator 110.
- the inverse transfer function is an inverse function of the transfer function of actuator 110, which is the object to be controlled. If the sensor can detect the disturbance generated by the actuator 110, the feedforward control unit 81 may apply a modeled inverse transfer function to the disturbance signal. In this case, the feedforward control unit 81 outputs the current feedforward value including the result obtained by applying the inverse transfer function to the disturbance signal.
- An example of the disturbance is vibration caused by contact with the manipulator 1 by the operator.
- the feedback control unit 82 performs feedback control so that the actuator 110 follows the smoothed command point sequence from the feedforward control unit 81, and calculates and outputs the feedback value of the current input to the actuator 110.
- the current value calculator 83 calculates the current value to be input to the actuator 110 based on the current feedforward value from the feedforward controller 81 and the current feedback value from the feedback controller 82 .
- FIG. 6 is a flow chart showing an example of the operation of the robot control device 100 according to the first embodiment. That is, FIG. 6 is a flow chart showing an example of the robot control method according to the first embodiment.
- the velocity calculation unit 4 calculates a preset command trajectory to the manipulator 1, constraints on the manipulator 1, and operation time of the manipulator 1.
- a velocity profile of the manipulator 1 is calculated (step ST1).
- the gradient calculation unit 5 calculates the gradient of the commanded trajectory of the manipulator 1 and outputs it as gradient information (step ST2).
- the command trajectory correction unit 6 corrects the command trajectory based on the gradient information and outputs it as a corrected command trajectory (step ST3).
- the command trajectory storage unit 3 stores the corrected command trajectory (step ST4).
- the command point sequence calculation unit 7 calculates a command point sequence based on the corrected command trajectory and speed profile (step ST5).
- the control unit 8 controls the actuator 110 so that the manipulator 1 follows the corrected command locus (step ST6).
- a means determines whether or not to continue controlling the robot (step ST7).
- step ST7 determines whether the manipulator 1 has operated abnormally. If the determination in step ST7 is "Yes”, the process returns to step ST6 to continue controlling the robot. If the determination in step ST7 is "No", control of the robot ends. Robot control ends when, for example, the manipulator 1 reaches the end point of the correction command trajectory. Alternatively, it is a case where it is determined that the manipulator 1 has operated abnormally. This determination is made by means not shown.
- the velocity profile is calculated based on the evaluation index based on the constraints on the manipulator 1 and the operating time of the manipulator 1, and the commanded trajectory is calculated based on the gradient of the commanded trajectory of the operating time. Since the correction is performed, it is possible to quickly obtain the correction command trajectory and velocity profile of the manipulator 1 that satisfy the constraint conditions and shorten the operation time.
- the command trajectory is generated based on peripheral information around the manipulator 1 acquired in advance from the peripheral environment 113 .
- FIG. 7 is a block diagram showing an example of the robot control device 100a according to the second embodiment. 7 differs from FIG. 1 in that the robot control device 100a includes a peripheral environment information storage unit 9, a command trajectory generation unit 10, and a speed profile storage unit 11 in addition to the components of the robot control device 100. . 7 differs from FIG. 1 in that a command trajectory correction unit 6a is provided instead of the command trajectory correction unit 6. FIG. 1 except for the surrounding environment information storage unit 9, the command trajectory generation unit 10, the speed profile storage unit 11, and the command trajectory correction unit 6a, description thereof will be omitted.
- the peripheral environment information storage unit 9 stores peripheral information around the manipulator 1 .
- the peripheral environment information storage unit 9 stores information such as the position and shape of obstacles around the manipulator 1 acquired from the peripheral environment 113 as peripheral information.
- the data structure for storing peripheral information may be, for example, basic shapes such as point groups, voxels, polygon meshes, and rectangular parallelepipeds, or a combination of a plurality of basic shapes.
- the data structure may be a bounding volume layer that can speed up the distance calculation performed by the distance function calculator 61, which will be described later.
- the command trajectory generation unit 10 generates a command trajectory based on the surrounding information stored in the surrounding environment information storage unit 9. Specifically, the command trajectory generation unit 10 generates a command trajectory based on the peripheral information so that the manipulator 1 does not surround the manipulator 1 with surrounding obstacles, and updates the command trajectory stored in the command trajectory storage unit 3. I do.
- RRT Rapidly-exploring Random Tree
- PRM Probabilistic Road Map
- the command trajectory generated by the command trajectory generator 10 is not a preset initial trajectory, but a command trajectory that avoids interference with obstacles around the manipulator 1, and is generated autonomously. Therefore, the command trajectory generator 10 can automatically generate the command trajectory only by inputting, for example, the start point and the end point of the command trajectory.
- the command trajectory correction unit 6a corrects the command trajectory based on the command trajectory stored in the command trajectory storage unit 3, the surrounding information stored in the surrounding environment information storage unit 9, and the gradient information from the gradient calculation unit 5. It is corrected and output as a correction command trajectory.
- the corrected command trajectory is stored in the command trajectory storage unit 3 .
- FIG. 8 is a block diagram showing an example of the command locus correction unit 6a according to the second embodiment.
- the commanded trajectory correction unit 6 a includes a distance function calculation unit 61 , a barrier function calculation unit 62 , a barrier function gradient calculation unit 63 , and a command trajectory correction value calculation unit 64 .
- the distance function calculation unit 61 calculates the value of the distance function between the commanded trajectory and surrounding obstacles. to calculate
- the barrier function calculator 62 constructs a barrier function such that the value of the function diverges when the value of the distance function becomes a certain value or less. to calculate
- the barrier function gradient calculator 63 calculates the gradient of the barrier function value from the barrier function calculator 62 with respect to the commanded trajectory.
- the barrier function gradient calculator 63 calculates gradients using, for example, automatic differentiation.
- the command trajectory correction value calculation unit 64 combines the gradient regarding the command trajectory of the operating time of the manipulator 1 from the gradient calculation unit 5 and the gradient regarding the command trajectory of the value of the barrier function from the barrier function gradient calculation unit 63 to obtain gradient information. Then, based on this gradient information, a correction value for the commanded trajectory is calculated so that the sum of the operating time and the value of the barrier function becomes small.
- the speed profile storage unit 11 stores the speed profile from the speed calculation unit 4.
- the timing at which the speed calculation unit 4 calculates the speed profile can be arbitrarily set. That is, the velocity profile can be calculated not only immediately before the control unit 8 controls the actuator 110 but also, for example, while the manipulator 1 is not operating or while the manipulator 1 is performing other operations.
- the command point sequence calculation unit 7 calculates a command point sequence for each predetermined sampling period based on the corrected command trajectory stored in the command trajectory storage unit 3 and the speed profile stored in the speed profile storage unit 11. .
- FIG. 9 is a flow chart showing an example of the operation of the robot control device 100a according to the second embodiment. That is, FIG. 9 is a flow chart showing an example of the robot control method according to the second embodiment. Since steps ST1 to ST7 in FIG. 9 are the same as steps ST1 to ST7 in FIG. 6, detailed description thereof is omitted here.
- the command trajectory generator 10 when robot control is started by means (not shown), the command trajectory generator 10 generates a command trajectory based on the surrounding information stored in the surrounding environment information storage unit 9 . (Step ST8).
- the velocity calculation unit 4 calculates the velocity profile of the manipulator 1 based on the command trajectory to the manipulator 1, the constraint on the manipulator 1, and the evaluation index based on the operation time of the manipulator 1 (step ST1).
- the speed profile storage unit 11 stores the speed profile (step ST9).
- the gradient calculation unit 5 calculates the gradient of the commanded trajectory of the manipulator 1 and outputs it as gradient information (step ST2).
- the commanded trajectory correction unit 6a calculates the gradient of the value of the barrier function with respect to the commanded trajectory, and outputs the gradient information combined with the gradient calculated in step ST2 (step ST10).
- the command trajectory correction unit 6a corrects the command trajectory based on the gradient information and outputs it as a corrected command trajectory (step ST3).
- the command trajectory storage unit 3 stores the corrected command trajectory (step ST4).
- the command point sequence calculation unit 7 calculates a command point sequence based on the corrected command trajectory and speed profile (step ST5).
- the control unit 8 controls the actuator 110 so that the manipulator 1 follows the corrected command locus (step ST6).
- a means determines whether or not to continue controlling the robot (step ST7).
- step ST7 If the determination in step ST7 is "Yes”, the process returns to step ST6 to continue controlling the robot. If the determination in step ST7 is "No", control of the robot ends.
- the command trajectory generation unit 10 since the command trajectory generation unit 10 generates the command trajectory based on the surrounding information from the surrounding environment 113, the operation time is shortened while avoiding interference with obstacles.
- the correction command trajectory and velocity profile of the manipulator 1 can be obtained at high speed.
- Embodiment 3 the manipulator 1 is controlled using an input/output device 12 such as a tablet.
- FIG. 10 is a block diagram showing an example of a robot control device 100b according to the third embodiment.
- FIG. 10 differs from FIG. 1 in that the robot control device 100b is connected to the input/output device 12 by a means (not shown). Since the robot control device 100b has the same configuration as the robot control device 100 in the first embodiment, the description thereof is omitted.
- the robot control device 100b may have the same configuration as the robot control device 100a in the second embodiment.
- the input/output device 12 displays operation information of the manipulator 1 and peripheral information acquired from the peripheral environment 113 on the screen.
- the motion information is, for example, an image of the manipulator 1 in motion.
- the input/output device 12 outputs motion information input by the operator to the robot control device 100b.
- the input/output device 12 may allow the operator to input the start point and end point of the operation of the manipulator 1 through a touch panel on the screen or a voice interface, or allow the operator to trace the screen of the tablet with a finger.
- a rough command trajectory of the gripping portion 111 of the manipulator 1 may be input. This commanded trajectory is stored in the commanded trajectory storage unit 3 .
- the operator can also use the input/output device 12 to stop the manipulator 1 during operation.
- the input/output device 12 displays "operation stop” on the screen and causes the operator to touch the display, thereby transmitting a work stop command to the robot control device 100b.
- the robot control device 100b stops the manipulator 1 from operating.
- FIG. 11 is a flow chart showing an example of the operation of the robot control device 100b according to the third embodiment. That is, FIG. 11 is a flow chart showing an example of the robot control method according to the third embodiment. Since steps ST1 to ST6 in FIG. 11 are the same as steps ST1 to ST6 in FIG. 6, detailed description thereof is omitted here.
- the velocity calculation unit 4 calculates a preset command trajectory to the manipulator 1, constraints on the manipulator 1, and operation time of the manipulator 1.
- a velocity profile of the manipulator 1 is calculated (step ST1).
- the gradient calculation unit 5 calculates the gradient of the commanded trajectory of the manipulator 1 and outputs it as gradient information (step ST2).
- the command trajectory correction unit 6 corrects the command trajectory based on the gradient information and outputs it as a corrected command trajectory (step ST3).
- the command trajectory storage unit 3 stores the corrected command trajectory (step ST4).
- the command point sequence calculation unit 7 calculates a command point sequence based on the corrected command trajectory and speed profile (step ST5).
- the control unit 8 controls the actuator 110 so that the manipulator 1 follows the corrected command locus (step ST6).
- a means determines whether or not to continue controlling the robot (step ST11).
- step ST11 determines whether the process has operated abnormally. If the determination in step ST11 is "Yes”, the process returns to step ST6 and control of the manipulator 1 is continued. If the determination in step ST11 is "No", control of the robot ends. Robot control ends when, for example, the manipulator 1 reaches the end point of the correction command trajectory. Alternatively, it is a case where it is determined that the manipulator 1 has operated abnormally. Alternatively, the I/O device 12 sends a command to "stop operation" to the robot control device 100b. This determination is made by means not shown.
- the operation of the manipulator 1 can be visualized by controlling the manipulator 1 using the input/output device 12 .
- Embodiment 4 the manipulator 1 is controlled while the manipulator 1 is installed on the movable platform 13 .
- FIG. 12 is a block diagram showing an example of the robot control device 100c according to the fourth embodiment.
- FIG. 12 is different from FIG. 1 in that the manipulator 1 is installed on a moving platform 13.
- the robot control device 100c includes a constraint storage unit 2c instead of the constraint storage unit 2, a speed calculation unit 4c instead of the speed calculation unit 4, and a slope calculation unit 5 instead of the slope calculation unit 5. differs from FIG. 1 in that it includes a gradient calculator 5c. Except for the constraint storage unit 2c, the velocity calculation unit 4c, and the gradient calculation unit 5c, they are the same as those shown in FIG.
- the robot control device 100c is based on the robot control device 100 in the first embodiment, but may be based on the robot control device 100a in the second embodiment or the robot control device 100b in the third embodiment.
- the constraint storage unit 2c stores parameters of constraints set in advance for the manipulator 1. Constraints are the joint angular velocity, joint angular acceleration, joint torque, hand velocity, hand acceleration of the manipulator 1, the force generated by the object gripped by the manipulator 1, and the moment generated by the object, and the manipulator 1 is installed. It includes conditions related to at least one of the reaction force applied to the movable platform 13 and the torque component of the reaction force.
- the robot control device 100c may be provided with a reaction force constraint learning section (not shown).
- the reaction force constraint learning unit uses machine learning to learn the parameters of the constraint conditions for at least one of the reaction force applied to the movable platform 13 on which the manipulator 1 is installed and the torque component of the reaction force. Parameters of conditions may be stored in the constraint condition storage unit 2c. Specifically, the reaction force constraint learning unit acquires the reaction force applied to the movable platform 13 and the torque component of the reaction force by a sensor (not shown) during the operation of the manipulator 1, and determines the constraint conditions based on the acquired values. Learn as parameters.
- the speed calculation unit 4c calculates a command trajectory that shortens the operation time of the manipulator 1 within the range of the constraint conditions. Calculate the velocity profile of
- the configuration of the speed calculation unit 4c is the same as the configuration of the speed calculation unit 4 shown in FIG. and the constraint coefficient calculator 43 calculates the coefficient of the constraint including the reaction force and the torque component of the reaction force. If the robot control device 100c includes a reaction force constraint learning unit, the speed calculation unit 4c calculates a speed profile based on the command trajectory and the constraint parameters learned by the reaction force constraint learning unit.
- the gradient calculation unit 5c calculates the gradient regarding the commanded trajectory of the manipulator 1 operation time and outputs it as gradient information.
- the configuration of the gradient calculator 5c is the same as the configuration of the gradient calculator 5 shown in FIG. It is different from the gradient calculator 5 in that it calculates the gradient for the kinematic calculation result of the action time and the gradient for the dynamic calculation result of the action time, taking into consideration the components as well. Further, the profile gradient calculator 54 differs from the gradient calculator 5 in that the gradient is calculated in consideration of the reaction force applied to the movable platform 13 during the operation of the manipulator 1 and the torque component of the reaction force.
- the robot control device 100c includes the constraint storage unit 2c, the speed calculation unit 4c, and the gradient calculation unit 5c. operation time can be shortened.
- FIG. 13 is a flow chart showing an example of the operation of the robot control device 100c according to the fourth embodiment. That is, FIG. 13 is a flow chart showing an example of the robot control method according to the fourth embodiment. Since steps ST1 to ST7 in FIG. 13 are the same as steps ST1 to ST7 in FIG. 6, detailed description thereof is omitted here.
- the speed calculation unit 4c calculates a preset command trajectory to the manipulator 1, constraints on the manipulator 1, and operation time of the manipulator 1.
- a velocity profile of the manipulator 1 is calculated (step ST1).
- a dynamics calculation unit 42 in the speed calculation unit 4c performs kinematics calculation and dynamics calculation including calculation of the reaction force applied to the movable platform 13 during operation of the manipulator 1 and the torque component of the reaction force.
- the constraint coefficient calculation unit 43 in the speed calculation unit 4c calculates coefficients of constraint conditions, including the constraint conditions related to the reaction force applied to the movable platform 13 and the torque component of the reaction force.
- the gradient calculation unit 5c calculates the gradient of the commanded trajectory of the manipulator 1 during operation and outputs it as gradient information (step ST2).
- the constraint coefficient gradient calculation unit 53 in the gradient calculation unit 5c calculates the gradient related to the kinematic calculation result of the operation time and the operation time taking into account the reaction force applied to the movable platform 13 during the operation of the manipulator 1 and the torque component of the reaction force. Calculate the gradient for the time dynamics calculation results.
- the profile gradient calculator 54 in the gradient calculator 5c calculates the gradient related to the coefficient of the operating time constraint, taking into account the reaction force applied to the movable platform 13 and the torque component of the reaction force.
- the command trajectory correction unit 6 corrects the command trajectory based on the gradient information and outputs it as a corrected command trajectory (step ST3).
- the command trajectory storage unit 3 stores the corrected command trajectory (step ST4).
- the command point sequence calculation unit 7 calculates a command point sequence based on the corrected command trajectory and speed profile (step ST5).
- the control unit 8 controls the actuator 110 so that the manipulator 1 follows the corrected command locus (step ST6).
- a means determines whether or not to continue controlling the robot (step ST11).
- step ST11 determines whether the determination in step ST11 is "Yes" or the process returns to step ST6 and control of the manipulator 1 is continued. If the determination in step ST11 is "No", control of the robot ends.
- control of the manipulator 1 performed by the robot control device 100c in Embodiment 4 can also be applied to the movable platform 13. Further, the present invention is not limited to the case where the manipulator 1 is installed on the movable pedestal 13, but can be applied to the case where the manipulator 1 is installed on a fixed pedestal (not shown).
- the robot control devices 100, 100a, 100b, and 100c and the robot control method in Embodiments 1 to 4 can be applied to other than the manipulator 1, which is a vertical articulated robot.
- the manipulator 1 which is a vertical articulated robot.
- it can be applied to a manipulator 1 having an arbitrary axis configuration such as a horizontal articulated robot.
- it can also be applied to industrial devices other than the manipulator 1 .
- the processing circuitry comprises at least one processor and at least one memory.
- FIG. 14 is a diagram showing the hardware configuration of the robot control devices 100, 100a, 100b and 100c according to Embodiments 1-4.
- Robot controllers 100, 100a, 100b and 100c can be implemented by processor 200 and memory 201 shown in FIG. 14(a).
- the processor 200 is, for example, a CPU (Central Processing Unit, central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, processor, DSP (Digital Signal Processor)) or system LSI (Large Scale Integration).
- CPU Central Processing Unit
- processing unit processing unit
- arithmetic unit microprocessor
- microcomputer processor
- DSP Digital Signal Processor
- system LSI Large Scale Integration
- the memory 201 is, for example, a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable Read Only Memory), an EEPROM (registered trademark) (Electrically Erasable Programmable Read Only Memory) or a non-volatile memory such as a Volatile semiconductor memory, HDD (Hard Disk Drive), magnetic disk, flexible disk, optical disk, compact disk, mini disk, DVD (Digital Versatile Disk), and the like.
- RAM Random Access Memory
- ROM Read Only Memory
- flash memory an EPROM (Erasable Programmable Read Only Memory), an EEPROM (registered trademark) (Electrically Erasable Programmable Read Only Memory) or a non-volatile memory such as a Volatile semiconductor memory, HDD (Hard Disk Drive), magnetic disk, flexible disk, optical disk, compact disk, mini disk, DVD (Digital Versatile Disk), and the like.
- each part of the robot control devices 100, 100a, 100b, and 100c are realized by software (software, firmware, or software and firmware).
- Software or the like is written as a program and stored in the memory 201 .
- the processor 200 reads out and executes programs stored in the memory 201 to achieve the functions of each unit. That is, it can be said that this program causes a computer to execute the procedures or methods of the robot control devices 100, 100a, 100b and 100c.
- the program executed by the processor 200 may be stored in a computer-readable storage medium in an installable or executable format and provided as a computer program product. Also, the program executed by the processor 200 may be provided to the robot control devices 100, 100a, 100b and 100c via a network such as the Internet.
- the robot control devices 100, 100a, 100b, and 100c may be realized by a dedicated processing circuit 202 shown in FIG. 14(b). If the processing circuit 202 is dedicated hardware, the processing circuit 202 may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), or an FPGA (Field-Programmable Gate). Array), or a combination thereof.
- the configuration in which the functions of the constituent elements of the robot control devices 100, 100a, 100b, and 100c are realized by either software or hardware has been described above.
- the configuration is not limited to this, and may be a configuration in which a part of the constituent elements of the robot control devices 100, 100a, 100b, and 100c are realized by software, and another part is realized by dedicated hardware. .
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202180028676.XA CN116940906A (zh) | 2021-03-24 | 2021-03-24 | 机器人控制装置及机器人控制方法 |
PCT/JP2021/012339 WO2022201377A1 (fr) | 2021-03-24 | 2021-03-24 | Dispositif de commande de robot et procédé de commande de robot |
DE112021007371.0T DE112021007371T5 (de) | 2021-03-24 | 2021-03-24 | Robotersteuervorrichtung und robotersteuerverfahren |
JP2022563069A JP7378640B2 (ja) | 2021-03-24 | 2021-03-24 | ロボット制御装置およびロボット制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/012339 WO2022201377A1 (fr) | 2021-03-24 | 2021-03-24 | Dispositif de commande de robot et procédé de commande de robot |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022201377A1 true WO2022201377A1 (fr) | 2022-09-29 |
Family
ID=83396633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/012339 WO2022201377A1 (fr) | 2021-03-24 | 2021-03-24 | Dispositif de commande de robot et procédé de commande de robot |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP7378640B2 (fr) |
CN (1) | CN116940906A (fr) |
DE (1) | DE112021007371T5 (fr) |
WO (1) | WO2022201377A1 (fr) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05297916A (ja) * | 1992-04-16 | 1993-11-12 | Nachi Fujikoshi Corp | ロボットの軌跡制御方法 |
WO2000010777A1 (fr) * | 1998-08-19 | 2000-03-02 | Kuka Roboter Gmbh | Dispositif et procede d'equilibrage de poids pour bras de robot |
JP2005044230A (ja) * | 2003-07-24 | 2005-02-17 | Mitsubishi Electric Corp | ロボット制御装置 |
US20110087375A1 (en) * | 2009-10-13 | 2011-04-14 | Kuka Roboter Gmbh | Method And Device For Controlling A Manipulator |
JP2013041478A (ja) * | 2011-08-17 | 2013-02-28 | Fanuc Ltd | 学習制御機能を備えたロボット |
JP2019123051A (ja) * | 2018-01-17 | 2019-07-25 | キヤノン株式会社 | ロボット装置、ロボットの制御方法、ロボットの制御装置 |
JP2020506815A (ja) * | 2017-02-08 | 2020-03-05 | ユニバーシティ オブ プレトリア | ロボット |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017129200A1 (fr) | 2016-01-28 | 2017-08-03 | MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. | Système d'optimisation et de commande de mouvement continu dans le monde réel |
JP6874712B2 (ja) | 2018-02-19 | 2021-05-19 | オムロン株式会社 | シミュレーション装置、シミュレーション方法及びシミュレーションプログラム |
-
2021
- 2021-03-24 DE DE112021007371.0T patent/DE112021007371T5/de active Pending
- 2021-03-24 WO PCT/JP2021/012339 patent/WO2022201377A1/fr active Application Filing
- 2021-03-24 JP JP2022563069A patent/JP7378640B2/ja active Active
- 2021-03-24 CN CN202180028676.XA patent/CN116940906A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05297916A (ja) * | 1992-04-16 | 1993-11-12 | Nachi Fujikoshi Corp | ロボットの軌跡制御方法 |
WO2000010777A1 (fr) * | 1998-08-19 | 2000-03-02 | Kuka Roboter Gmbh | Dispositif et procede d'equilibrage de poids pour bras de robot |
JP2005044230A (ja) * | 2003-07-24 | 2005-02-17 | Mitsubishi Electric Corp | ロボット制御装置 |
US20110087375A1 (en) * | 2009-10-13 | 2011-04-14 | Kuka Roboter Gmbh | Method And Device For Controlling A Manipulator |
JP2013041478A (ja) * | 2011-08-17 | 2013-02-28 | Fanuc Ltd | 学習制御機能を備えたロボット |
JP2020506815A (ja) * | 2017-02-08 | 2020-03-05 | ユニバーシティ オブ プレトリア | ロボット |
JP2019123051A (ja) * | 2018-01-17 | 2019-07-25 | キヤノン株式会社 | ロボット装置、ロボットの制御方法、ロボットの制御装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116940906A (zh) | 2023-10-24 |
JP7378640B2 (ja) | 2023-11-13 |
JPWO2022201377A1 (fr) | 2022-09-29 |
DE112021007371T5 (de) | 2024-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cheah et al. | Adaptive Jacobian tracking control of robots with uncertainties in kinematic, dynamic and actuator models | |
EP2835228B1 (fr) | Appareil robotique et procédé de commande de robot | |
US9381643B2 (en) | Dynamical system-based robot velocity control | |
JP5327722B2 (ja) | ロボットの負荷推定装置及び負荷推定方法 | |
US20060195228A1 (en) | Robot locus control method and apparatus and program of robot locus control method | |
CN104842355B (zh) | 避障约束下冗余空间机器人的混合整数预测控制方法 | |
JP5916583B2 (ja) | 多関節ロボットのウィービング制御装置 | |
JP2007076807A (ja) | パワーアシスト装置とその適応モデル予測制御方法 | |
Lee et al. | Robust and adaptive dynamic controller for fully-actuated robots in operational space under uncertainties | |
US20200023516A1 (en) | Automatic path generation device | |
Likar et al. | Adaptation of bimanual assembly tasks using iterative learning framework | |
WO2022201377A1 (fr) | Dispositif de commande de robot et procédé de commande de robot | |
Fateh et al. | On the transforming of control space by manipulator Jacobian | |
JP2020110884A (ja) | ロボット制御装置、ロボット制御方法、及びロボット制御プログラム | |
US20220305645A1 (en) | System and Method for Robotic Assembly Based on Adaptive Compliance | |
Li et al. | Cooperative robotic soldering of flexible PCBs | |
Yovchev | Finding the optimal parameters for robotic manipulator applications of the bounded error algorithm for iterative learning control | |
CN114840947A (zh) | 一种带约束的三自由度机械臂动力学模型 | |
JP4222338B2 (ja) | 適応型ビジュアルフィードバック制御方法 | |
Lang et al. | Visual servoing with LQR control for mobile robots | |
JP6429977B2 (ja) | ロボット装置及びロボット制御方法 | |
JP7284874B1 (ja) | ロボット制御装置及びロボット制御方法 | |
Pavlichenko et al. | Flexible-joint manipulator trajectory tracking with learned two-stage model employing one-step future prediction | |
JP7399357B1 (ja) | 軌道生成装置 | |
JP2020121358A (ja) | 学習制御装置、ロボット制御装置およびロボット |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 202180028676.X Country of ref document: CN |
|
ENP | Entry into the national phase |
Ref document number: 2022563069 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: 21932987 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 112021007371 Country of ref document: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21932987 Country of ref document: EP Kind code of ref document: A1 |