WO2022201377A1 - Robot control device and robot control method - Google Patents

Robot control device and robot control method Download PDF

Info

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
Application number
PCT/JP2021/012339
Other languages
French (fr)
Japanese (ja)
Inventor
暁生 斎藤
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to JP2022563069A priority Critical patent/JP7378640B2/en
Priority to DE112021007371.0T priority patent/DE112021007371T5/en
Priority to CN202180028676.XA priority patent/CN116940906A/en
Priority to PCT/JP2021/012339 priority patent/WO2022201377A1/en
Publication of WO2022201377A1 publication Critical patent/WO2022201377A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40517Constraint motion planning, variational dynamic programming
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40519Motion, 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

This robot control device (100) comprises: a speed calculation unit (4) that calculates the speed profile of a pre-set manipulator (1) on the basis of the command trajectory of the manipulator (1), a constraint condition relating to the manipulator (1), and an evaluation index that is based on the operation time of the manipulator (1); a gradient calculation unit (5) that calculates a gradient relating to the command trajectory in the operation time, and that employs the resultant gradient as gradient information, on the basis of the speed profile; a command trajectory correction unit (6) that corrects the command trajectory, and that employs the resultant command trajectory as a corrected command trajectory, on the basis of the gradient information; and a control unit (8) that performs a control such that the manipulator (1) follows the corrected command trajectory.

Description

ロボット制御装置およびロボット制御方法ROBOT CONTROL DEVICE AND ROBOT CONTROL METHOD
 本開示は、マニピュレータの制御を行うロボット制御装置およびロボット制御方法に関する。 The present disclosure relates to a robot control device and a robot control method for controlling a manipulator.
 工場の製造ラインなどにおいて、部品および製品(以下、「ワーク」と称する)をマニピュレータで把持して搬送するピックアンドプレースの工程が存在する。ピックアンドプレースにおいて、ロボットの動作速度および加速度が適切でない場合に、ワークおよびマニピュレータの把持部に対し過剰な慣性力とモーメントとが発生し、ワークが落下するといった課題がある。これを解決するために、ワークに発生する力およびモーメントを考慮して適切な動作条件を決定する技術が提案されている。 In factory production lines, there is a pick-and-place process in which parts and products (hereinafter referred to as "workpieces") are gripped and transported by manipulators. In pick-and-place, if the operating speed and acceleration of the robot are not appropriate, excessive inertial force and moment are generated on the workpiece and the gripping portion of the manipulator, causing the workpiece to drop. In order to solve this problem, techniques have been proposed to determine appropriate operating conditions in consideration of the forces and moments generated in the workpiece.
 特許文献1には、弾性を有する保持体を含むロボットのシミュレーションモデルを用いてシミュレーションを実施し、保持体に発生する負荷モーメントが閾値よりも大きい場合に、負荷モーメントが閾値以下となるようシミュレーションの実行条件を変更するシミュレーション装置について開示されている。 In 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.
特開2019-141939号公報JP 2019-141939 A
 特許文献1では、負荷モーメントが閾値以下になるまでシミュレーションの実行条件を繰り返し変更する必要があるため、ワークに発生する力およびモーメントを考慮して適切な実行条件を求めるのに時間を要するという問題がある。また、自動的に調整可能なシミュレーションの実行条件は最大加速度のみであり、ロボットの動作軌跡と速度プロファイルといった自由度の高い動作条件を調整するのは困難なため、マニピュレータが動作開始してからワークを把持するまでの動作時間を短くできないという問題がある。 In 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 according to the present disclosure 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.
 また、本開示に係るロボット制御方法は、予め設定されたマニピュレータへの指令軌跡と、前記マニピュレータに関する制約条件と、前記マニピュレータの動作時間に基づく評価指標とに基づいて、前記マニピュレータの速度プロファイルを計算する工程と、前記速度プロファイルに基づいて、前記動作時間の前記指令軌跡に関する勾配を計算して勾配情報とする工程と、前記勾配情報に基づいて前記指令軌跡を補正して補正指令軌跡とする工程と、前記補正指令軌跡に対し前記マニピュレータが追従するよう制御する工程と、を備える。 Further, the robot control method according to the present disclosure 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.
 本開示によれば、ロボット制御装置およびロボット制御方法は、マニピュレータに関する制約条件とマニピュレータの動作時間とに基づく評価指標に基づいて速度プロファイルを計算し、動作時間の指令軌跡に関する勾配に基づいて指令軌跡を補正するため、制約条件を満たし、動作時間が短くなるようなマニピュレータの補正指令軌跡と速度プロファイルとを高速に求めることができる。 According to the present disclosure, 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.
実施の形態1におけるロボット制御装置の一例を示すブロック図である。1 is a block diagram showing an example of a robot control device according to Embodiment 1; FIG. 実施の形態1から4におけるロボット制御装置を含む構成の一例を示す図である。1 is a diagram showing an example of a configuration including a robot control device according to Embodiments 1 to 4; FIG. 実施の形態1から4における速度計算部の一例を示すブロック図である。FIG. 4 is a block diagram showing an example of a velocity calculator in Embodiments 1 to 4; FIG. 実施の形態1から4における勾配計算部の一例を示すブロック図である。FIG. 4 is a block diagram showing an example of a gradient calculator in Embodiments 1 to 4; FIG. 実施の形態1から4における制御部の一例を示すブロック図である。FIG. 3 is a block diagram showing an example of a control unit in Embodiments 1 to 4; FIG. 実施の形態1におけるロボット制御装置の動作の一例を示すフローチャートである。4 is a flow chart showing an example of the operation of the robot control device according to Embodiment 1; 実施の形態2におけるロボット制御装置の一例を示すブロック図である。FIG. 10 is a block diagram showing an example of a robot control device according to Embodiment 2; FIG. 実施の形態2における指令軌跡補正部の一例を示すブロック図である。FIG. 11 is a block diagram showing an example of a commanded trajectory correction unit according to Embodiment 2; FIG. 実施の形態2におけるロボット制御装置の動作の一例を示すフローチャートである。9 is a flow chart showing an example of the operation of the robot control device according to Embodiment 2; 実施の形態3におけるロボット制御装置の一例を示すブロック図である。FIG. 11 is a block diagram showing an example of a robot control device according to Embodiment 3; 実施の形態3におけるロボット制御装置の動作の一例を示すフローチャートである。14 is a flow chart showing an example of the operation of the robot control device according to Embodiment 3; 実施の形態4におけるロボット制御装置の一例を示すブロック図である。FIG. 12 is a block diagram showing an example of a robot control device according to Embodiment 4; 実施の形態4におけるロボット制御装置の動作の一例を示すフローチャートである。14 is a flow chart showing an example of the operation of the robot control device according to Embodiment 4; 実施の形態1から4におけるロボット制御装置のハードウェア構成を示す図である。2 is a diagram showing a hardware configuration of a robot control device according to Embodiments 1 to 4; FIG.
実施の形態1.
 図1は、実施の形態1におけるロボット制御装置100の一例を示すブロック図である。図1は、ロボット制御装置100と、アクチュエータ110と、マニピュレータ1と、ワーク112とにより構成されるブロック図である。また、図2は、実施の形態1におけるロボット制御装置100を含む構成の一例を示す図である。ロボット制御装置100は、垂直多関節ロボットであるマニピュレータ1の各関節に設置されるアクチュエータ110を制御することで、マニピュレータ1の先端に設置される把持部111で把持対象となるワーク112のピックアンドプレースの動作を実現する。周辺環境113は、例えばカメラなどであり、例えばマニピュレータ1がピックアンドプレースの動作を行う際の映像を図示しない表示装置に出力する。
Embodiment 1.
FIG. 1 is a block diagram showing an example of a robot control device 100 according to Embodiment 1. As shown in FIG. FIG. 1 is a block diagram composed of a robot control device 100, an actuator 110, a manipulator 1, and a workpiece 112. As shown in FIG. FIG. 2 is a diagram showing an example of a configuration including the robot control device 100 according to Embodiment 1. As shown in FIG. 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).
 ロボット制御装置100は、制約条件記憶部2と、指令軌跡記憶部3と、速度計算部4と、勾配計算部5と、指令軌跡補正部6と、指令点列計算部7と、制御部8とを備える。 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
 制約条件記憶部2は、マニピュレータ1に関して予め設定された制約条件のパラメータを記憶する。制約条件は、マニピュレータ1の関節角速度、関節角加速度、関節トルク、手先速度、手先加速度、マニピュレータ1が把持する対象(ワーク112)で発生する力、および把持する対象で発生するモーメントのうち少なくとも1つに関する条件である。一例として、制約条件が手先速度vに関する条件の場合、制約条件とは「vmin≦v≦vmax」のことである。ここで、vminは手先速度vの下限値、vmaxは手先速度vの上限値である。そして、この場合の制約条件のパラメータとは、vminおよびvmaxのことである。制約条件および制約条件のパラメータは、これに限定されない。例えば、制約条件は「|v|≦vth」であり、制約条件のパラメータはvthであってもよい。ここで、|v|は手先速度vの絶対値、vthは手先速度vの閾値である。 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. As an example, if the constraint is related to the hand speed vh , the constraint is "v min ≤ v h ≤ v max ". Here, vmin is the lower limit of the tip speed vh, and vmax is the upper limit of the tip speed vh . In this case, the constraint parameters are v min and v max . Constraints and parameters of constraints are not limited to these. For example, the constraint may be “|v h |≦v th ” and the parameter of the constraint may be v th . is the absolute value of the tip speed vh , and vth is the threshold value of the tip speed vh .
 なお、制約条件のパラメータが予め設定される場合について説明したが、ロボット制御装置100が図示しない把持制約学習部を備えてもよい。把持制約学習部は、ワーク112で発生する力およびモーメントのうち少なくとも1つについて、機械学習を用いて制約条件のパラメータを学習し、得られた制約条件のパラメータを制約条件記憶部2に記憶してもよい。具体的には、把持制約学習部は、マニピュレータ1がワーク112を把持する際に、ワーク112で発生する力およびモーメントを図示しないセンサによって取得し、取得した値に基づいて、制約条件のパラメータとして学習する。 Although the case where the parameter of the constraint condition is set in advance has been described, 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 . may Specifically, when the manipulator 1 grips the workpiece 112, 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.
 指令軌跡記憶部3は、予め設定されたマニピュレータ1への指令軌跡を記憶する。一例として、指令軌跡がスプライン曲線として与えられていた場合、指令軌跡記憶部3は、スプライン曲線上の経由点の位置とその位置における曲線の媒介変数の値(0から1の値)とのペアで記憶する。あるいは、指令軌跡記憶部3は、スプライン曲線上の経由点の位置のみを記憶してもよい。この場合、媒介変数の値は、スプライン曲線上の経由点間の距離などから計算される。また、指令軌跡はスプライン曲線以外にも、B-スプライン曲線、あるいはベジェ曲線などとして与えられてもよい。指令軌跡記憶部3は、後に説明する指令軌跡補正部6からの補正指令軌跡を記憶する。この際、予め設定された指令軌跡は破棄され、補正指令軌跡が新たに記憶される。 The command trajectory storage unit 3 stores a preset command trajectory to the manipulator 1 . As an example, when the command trajectory is given as a spline curve, 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. Also, 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.
 速度計算部4は、予め設定されたマニピュレータ1への指令軌跡と、マニピュレータ1に関する制約条件と、マニピュレータ1の動作時間に基づく評価指標とに基づいて、マニピュレータ1の速度プロファイルを計算する。すなわち、速度計算部4は、指令軌跡記憶部3からの指令軌跡と、制約条件記憶部2からの制約条件のパラメータとに基づいて、制約条件の範囲内でマニピュレータ1の動作時間を短くする指令軌跡上の速度プロファイルを計算する。あるいは、ロボット制御装置100が把持制約学習部を備える場合、速度計算部4は、指令軌跡と、把持制約学習部で学習した制約条件のパラメータとに基づいて、速度プロファイルを計算する。ここで、マニピュレータ1の動作時間に基づく評価指標とは、後に説明するプロファイル計算部44が用いる評価関数のことである。この評価関数は、媒介変数を介して、マニピュレータ1の加速度および速度を変数として数式化した関数である。また、速度プロファイルとは、マニピュレータ1が指令軌跡上を動作する際の各関節の速度の時間変化を表す。速度計算部4は、評価関数で表された動作時間を最小化する最適化問題によって、速度プロファイルを計算する。 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. Here, 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. Also, 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.
 図3は、実施の形態1における速度計算部4の一例を示すブロック図である。速度計算部4は、指令補間計算部41と、動力学計算部42と、制約条件係数計算部43と、プロファイル計算部44とを備える。 FIG. 3 is a block diagram showing an example of the speed calculation unit 4 according to Embodiment 1. FIG. The velocity calculator 4 includes a command interpolation calculator 41 , a dynamics calculator 42 , a constraint coefficient calculator 43 , and a profile calculator 44 .
 指令補間計算部41は、予め設定された自然数Nを用いて、指令軌跡記憶部3からの指令軌跡の曲線をN点で補間し、指令軌跡上の補間点における位置と指令軌跡の媒介変数に関する一階微分および二階微分とを計算する。一例として、指令軌跡がスプライン曲線として与えられていた場合、マニピュレータ1の各軸の関節位置(あるいは関節角度)が媒介変数に関する3次の区分多項式として表現されるので、多項式の微分を用いることで、補間点の位置(あるいは角度)だけでなく、媒介変数に関する一階微分および二階微分を計算することができる。 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. As an example, when the command trajectory is given as a spline curve, 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.
 動力学計算部42は、指令補間計算部41からの補間点における位置と一階微分と二階微分とを用いて、マニピュレータ1の運動学計算と動力学計算とを行い、運動学計算結果と動力学計算結果とを出力する。運動学計算とは、マニピュレータ1の各関節の速度、加速度、角速度、および角加速度から、マニピュレータ1の各関節、各リンク、および把持部111などの速度、加速度、角速度、および角加速度を計算することである。また、動力学計算とは、マニピュレータ1の各関節、各リンク、および把持部111などの速度、加速度、角速度、および角加速度から、マニピュレータ1の各関節に発生するトルク、および把持部111に発生する力とモーメントとを計算することである。 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
 制約条件係数計算部43は、動力学計算部42からの運動学計算結果および動力学計算結果と、制約条件記憶部2からの制約条件のパラメータとに基づいて、制約条件の係数を計算する。一例として、把持部111に発生する力に関する制約条件が、以下の数式(1)で表される場合、制約条件の係数とは、a、bおよびcのことである。すなわち、制約条件の係数とは、複数の変数を含む関係式において、それぞれの項に含まれる係数のことである。ここで、変数とは、数式(1)における補間点での加速度uおよび速度xなどである。 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 . As an example, when the constraint on the force generated in the grip part 111 is represented by the following formula (1), 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. Here, the variables are the acceleration u and the velocity x at the interpolation points in Equation (1).
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000001
 プロファイル計算部44は、制約条件係数計算部43からの制約条件の係数に基づいて、速度プロファイルを計算する。すなわち、プロファイル計算部44は、マニピュレータ1の動作時間に基づく評価関数と、制約条件の係数とに基づく最適化計算により、マニピュレータ1の指令軌跡上の速度プロファイルと、マニピュレータ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.
 なお、制約条件係数計算部43が制約条件の係数を計算する方法、およびプロファイル計算部44が加速度プロファイルを計算する方法は、非特許文献1に示されている。 The method by which the constraint coefficient calculator 43 calculates the constraint coefficients and the method by which the profile calculator 44 calculates the acceleration profile are shown in Non-Patent Document 1.
 以上のように、速度計算部4は、制約条件記憶部2で設定された制約条件の範囲内で、動作時間が短くなる速度プロファイルを計算することができる。また、ワーク112で発生する力およびモーメントを制約条件に加えることで、ワーク112のピックアンドプレースにおいて、ワーク112が落下する、あるいはワーク112に過剰な力が発生するなどの不具合を抑制することができる。加えて、非特許文献1に記載されている方法は、大域的最適解が容易に得られる凸最適化と呼ばれる方法であるため、速度プロファイルを高速に計算することができる。 As described above, 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. In addition, by adding the force and moment generated by the workpiece 112 to the constraint conditions, 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. can. In addition, 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.
 図1に戻り、勾配計算部5は、速度計算部4からの速度プロファイルに基づいて、マニピュレータ1の動作時間の指令軌跡に関する勾配を計算し、勾配情報として出力する。具体的には、勾配計算部5は、自動微分を用いて、プロファイル計算部44からのマニピュレータ1の動作時間を指令軌跡について微分することで、動作時間の指令軌跡に関する勾配を計算し、勾配情報として出力する。 Returning to FIG. 1, 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
 図4は、実施の形態1における勾配計算部5の一例を示すブロック図である。勾配計算部5は、指令補間勾配計算部51と、動力学勾配計算部52と、制約条件係数勾配計算部53と、プロファイル勾配計算部54とを備える。指令補間勾配計算部51、動力学勾配計算部52、制約条件係数勾配計算部53、およびプロファイル勾配計算部54は、それぞれ、指令補間計算部41、動力学計算部42、制約条件係数計算部43、およびプロファイル計算部44が行った計算結果の勾配を計算する。 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. , and the slope of the calculation result performed by the profile calculator 44 is calculated.
 プロファイル勾配計算部54は、一例として非特許文献2で示されている方法と同様の方法に基づいて、最適化問題の係数に関する勾配を計算することで、動作時間の制約条件の係数に関する勾配を計算する。 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.
 制約条件係数勾配計算部53は、プロファイル勾配計算部54からの制約条件の係数に関する勾配を入力とし、制約条件係数計算部43の計算手順の微分を連鎖律に基づいて計算することで、動作時間の運動学計算結果に関する勾配、および動作時間の動力学計算結果に関する勾配を計算する。 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.
 動力学勾配計算部52は、制約条件係数勾配計算部53からの動作時間の運動学計算結果に関する勾配、および動作時間の動力学計算結果に関する勾配を入力とし、動力学計算部42の計算手順の微分を連鎖律に基づいて計算することで、動作時間の指令軌跡上の補間点における位置に関する勾配、動作時間の指令軌跡の媒介変数に関する一階微分に関する勾配、および動作時間の指令軌跡の媒介変数に関する二階微分に関する勾配を計算する。 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. By calculating 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 .
 指令補間勾配計算部51は、動力学勾配計算部52からの指令軌跡上の補間点における位置に関する勾配、指令軌跡の媒介変数に関する一階微分に関する勾配、および指令軌跡の媒介変数に関する二階微分に関する勾配を入力とし、指令補間計算部41の計算手順の微分を連鎖律に基づいて計算することで、動作時間の指令軌跡に関する勾配を計算する。指令補間勾配計算部51からは、動作時間の指令軌跡に関する勾配を勾配情報として出力する。 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.
 図1に戻り、指令軌跡補正部6は、勾配計算部5からの勾配情報に基づいて、マニピュレータ1の動作時間が減少するように指令軌跡を補正し、補正指令軌跡として出力する。指令軌跡補正部6は、勾配情報に基づく勾配降下法、共役勾配法または準ニュートン法のうちいずれか1つを用いることで、指令軌跡を補正する。勾配降下法の一例として、最急降下法、モーメンタム法、または加速勾配法などがある。補正指令軌跡は、指令軌跡記憶部3で記憶される。 Returning to FIG. 1, 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 .
 勾配情報に基づいて、指令軌跡補正部6がマニピュレータ1の動作時間が少なくなるよう指令軌跡を補正することで、マニピュレータ1の動作時間を短縮することができる。また、指令軌跡補正部6が勾配情報を用いるため、効率よく高速に指令軌跡を補正することができる。 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.
 指令点列計算部7は、指令軌跡記憶部3で記憶された補正指令軌跡と、速度計算部4からの速度プロファイルとに基づいて、所定のサンプリング周期毎の指令点列を計算する。このサンプリング周期は、後に説明する制御部8がアクチュエータ110への電流値を計算する際の周期のことである。一例として、補正指令軌跡がスプライン曲線として与えられていた場合、指令点列計算部7は、速度プロファイルに基づいて、時刻と補正指令軌跡の曲線の媒介変数との間の変換を行い、媒介変数を入力とした補正指令軌跡のスプライン曲線の区分多項式と組み合わせることにより、各サンプリングでマニピュレータ1への位置指令の点列を計算する。 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.
 制御部8は、補正指令軌跡に対しマニピュレータ1が追従するよう制御する。すなわち、制御部8は、指令点列計算部7からの指令点列に対し、マニピュレータ1が追従するよう制御する。 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 .
 図5は、実施の形態1における制御部8の一例を示すブロック図である。制御部8は、フィードフォワード制御部81と、フィードバック制御部82と、電流値計算部83とを備える。 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 .
 フィードフォワード制御部81は、指令点列計算部7からの指令点列に対し、例えば平滑化などのフィルタ処理を行い、平滑化後の指令点列として出力する。フィードフォワード制御部81は、指令点列計算部7からの指令点列に対し、モデル化された逆伝達関数を適用することで、アクチュエータ110に入力する電流のフィードフォワード値を計算して出力する。逆伝達関数とは、制御対象であるアクチュエータ110の伝達関数に対する逆関数である。センサによってアクチュエータ110で発生する外乱を検知できる場合、フィードフォワード制御部81は外乱信号に対し、モデル化された逆伝達関数を適用してもよい。この場合、フィードフォワード制御部81は、外乱信号に対し逆伝達関数を適用したものを上記の電流のフィードフォワード値に含めて出力する。外乱の一例として、作業者がマニピュレータ1に接触することによる振動が挙げられる。 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.
 フィードバック制御部82は、フィードフォワード制御部81からの平滑化後の指令点列にアクチュエータ110が追従するようフィードバック制御を行い、アクチュエータ110に入力する電流のフィードバック値を計算して出力する。 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.
 電流値計算部83は、フィードフォワード制御部81からの電流のフィードフォワード値と、フィードバック制御部82からの電流のフィードバック値とに基づいて、アクチュエータ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 .
 図6は、実施の形態1におけるロボット制御装置100の動作の一例を示すフローチャートである。すなわち、図6は、実施の形態1におけるロボット制御方法の一例を示すフローチャートである。 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.
 図6に示すように、図示しない手段によりロボット制御が開始されると、速度計算部4は、予め設定されたマニピュレータ1への指令軌跡と、マニピュレータ1に関する制約条件と、マニピュレータ1の動作時間に基づく評価指標とに基づいて、マニピュレータ1の速度プロファイルを計算する(ステップST1)。 As shown in FIG. 6, when the robot control is started by a means (not shown), 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).
 勾配計算部5は、マニピュレータ1の動作時間の指令軌跡に関する勾配を計算して勾配情報として出力する(ステップST2)。 The gradient calculation unit 5 calculates the gradient of the commanded trajectory of the manipulator 1 and outputs it as gradient information (step ST2).
 指令軌跡補正部6は、勾配情報に基づいて指令軌跡を補正して補正指令軌跡として出力する(ステップST3)。 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).
 指令軌跡記憶部3は、補正指令軌跡を記憶する(ステップST4)。 The command trajectory storage unit 3 stores the corrected command trajectory (step ST4).
 指令点列計算部7は、補正指令軌跡と速度プロファイルとに基づいて、指令点列を計算する(ステップST5)。 The command point sequence calculation unit 7 calculates a command point sequence based on the corrected command trajectory and speed profile (step ST5).
 制御部8は、補正指令軌跡に対しマニピュレータ1が追従するようアクチュエータ110を制御する(ステップST6)。 The control unit 8 controls the actuator 110 so that the manipulator 1 follows the corrected command locus (step ST6).
 図示しない手段により、ロボットの制御を継続するか否かが判定される(ステップST7)。 A means (not shown) determines whether or not to continue controlling the robot (step ST7).
 ステップST7の判定が「Yes」の場合は、処理はステップST6に戻り、ロボットの制御が継続される。ステップST7の判定が「No」の場合は、ロボットの制御が終了する。ロボットの制御が終了するのは、例えばマニピュレータ1が補正指令軌跡の終点にたどり着いた場合である。あるいは、マニピュレータ1が異常動作したと判定された場合である。この判定は、図示しない手段により行われる。 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.
 以上で説明した実施の形態1によれば、マニピュレータ1に関する制約条件とマニピュレータ1の動作時間とに基づく評価指標に基づいて速度プロファイルを計算し、動作時間の指令軌跡に関する勾配に基づいて指令軌跡を補正するため、制約条件を満たし、動作時間が短くなるようなマニピュレータ1の補正指令軌跡と速度プロファイルとを高速に求めることができる。 According to the first embodiment described above, 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.
実施の形態2.
 実施の形態2では、周辺環境113で予め取得されるマニピュレータ1周辺の周辺情報に基づいて、指令軌跡を生成する。
Embodiment 2.
In the second embodiment, the command trajectory is generated based on peripheral information around the manipulator 1 acquired in advance from the peripheral environment 113 .
 図7は、実施の形態2におけるロボット制御装置100aの一例を示すブロック図である。図7は、ロボット制御装置100aがロボット制御装置100の構成要素に加え、周辺環境情報記憶部9と、指令軌跡生成部10と、速度プロファイル記憶部11とを備える点で、図1とは異なる。また、図7は、指令軌跡補正部6の代わりに指令軌跡補正部6aを備える点で、図1とは異なる。周辺環境情報記憶部9、指令軌跡生成部10、速度プロファイル記憶部11および指令軌跡補正部6a以外は、図1に示すものと同じであるため、説明を省略する。 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.
 周辺環境情報記憶部9は、マニピュレータ1周辺の周辺情報を記憶する。具体的には、周辺環境情報記憶部9は、周辺環境113によって取得されたマニピュレータ1周辺の障害物の位置および形状などの情報を周辺情報として記憶する。周辺情報を記憶するためのデータ構造としては、例えば点群、ボクセル、ポリゴンメッシュ、および直方体などの基本形状でもよいし、複数の基本形状を組み合わせたものでもよい。また、データ構造として、後に説明する距離関数計算部61が行う距離計算などの高速化が図れるバウンディングボリューム階層であってもよい。 The peripheral environment information storage unit 9 stores peripheral information around the manipulator 1 . Specifically, 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. Alternatively, 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.
 指令軌跡生成部10は、周辺環境情報記憶部9で記憶された周辺情報に基づいて、指令軌跡を生成する。具体的には、指令軌跡生成部10は、周辺情報に基づいて、マニピュレータ1が周辺の障害物と環境しないような指令軌跡を生成し、指令軌跡記憶部3で記憶されている指令軌跡の更新を行う。指令軌跡を生成するアルゴリズムとして、例えばRRT(Rapidly-exploring Random Tree)およびPRM(Probabilistic RoadMap)などを用いてもよい。 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. For example, RRT (Rapidly-exploring Random Tree) and PRM (Probabilistic Road Map) may be used as algorithms for generating the command trajectory.
 指令軌跡生成部10で生成される指令軌跡は、予め設定された初期軌道ではなく、マニピュレータ1周辺の障害物との干渉を避けるような指令軌跡であり、自律的に生成されるものである。このため、指令軌跡生成部10は、例えば指令軌跡の始点と終点とを入力するだけで、指令軌跡を自動的に生成することができる。 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.
 指令軌跡補正部6aは、指令軌跡記憶部3で記憶された指令軌跡と、周辺環境情報記憶部9で記憶された周辺情報と、勾配計算部5からの勾配情報とに基づいて、指令軌跡を補正し、補正指令軌跡として出力する。補正指令軌跡は、指令軌跡記憶部3で記憶される。 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 .
 図8は、実施の形態2における指令軌跡補正部6aの一例を示すブロック図である。指令軌跡補正部6aは、距離関数計算部61と、バリア関数計算部62と、バリア関数勾配計算部63と、指令軌跡補正値計算部64とを備える。 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 .
 距離関数計算部61は、指令軌跡記憶部3で記憶された指令軌跡と、周辺環境情報記憶部9で記憶された周辺情報とに基づいて、指令軌跡と周辺の障害物との距離関数の値を計算する。 Based on the commanded trajectory stored in the commanded trajectory storage unit 3 and the surrounding information stored in the surrounding environment information storage unit 9, the distance function calculation unit 61 calculates the value of the distance function between the commanded trajectory and surrounding obstacles. to calculate
 バリア関数計算部62は、距離関数の値がある値以下になると関数の値が発散するようなバリア関数を構成し、距離関数計算部61からの距離関数の値に基づいて、バリア関数の値を計算する。 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
 バリア関数勾配計算部63は、バリア関数計算部62からのバリア関数の値の指令軌跡に関する勾配を計算する。バリア関数勾配計算部63は、例えば自動微分を用いて勾配を計算する。 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.
 指令軌跡補正値計算部64は、勾配計算部5からのマニピュレータ1の動作時間の指令軌跡に関する勾配と、バリア関数勾配計算部63からのバリア関数の値の指令軌跡に関する勾配とを合わせて勾配情報とし、この勾配情報に基づいて、動作時間とバリア関数の値との和が小さくなるように、指令軌跡の補正値を計算する。 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.
 図7に戻り、速度プロファイル記憶部11は、速度計算部4からの速度プロファイルを記憶する。ロボット制御装置100aが速度プロファイル記憶部11を備えることにより、速度計算部4が速度プロファイルを計算するタイミングを任意に設定することができる。すなわち、制御部8がアクチュエータ110を制御する直前だけでなく、例えばマニピュレータ1が動作していない間、あるいはマニピュレータ1が他の動作を行っている間などに速度プロファイルを計算することができる。 Returning to FIG. 7, the speed profile storage unit 11 stores the speed profile from the speed calculation unit 4. By providing the speed profile storage unit 11 in the robot control device 100a, 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.
 指令点列計算部7は、指令軌跡記憶部3で記憶された補正指令軌跡と、速度プロファイル記憶部11で記憶された速度プロファイルとに基づいて、所定のサンプリング周期毎の指令点列を計算する。 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. .
 図9は、実施の形態2におけるロボット制御装置100aの動作の一例を示すフローチャートである。すなわち、図9は、実施の形態2におけるロボット制御方法の一例を示すフローチャートである。図9のステップST1からステップST7は、図6のステップST1からステップST7と同じであるため、ここでは詳細説明を省略する。 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.
 図9に示すように、図示しない手段によりロボット制御が開始されると、指令軌跡生成部10は、周辺環境情報記憶部9で記憶された周辺情報に基づいて、指令軌跡を生成する。(ステップST8)。
As shown in FIG. 9 , 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).
 速度計算部4は、マニピュレータ1への指令軌跡と、マニピュレータ1に関する制約条件と、マニピュレータ1の動作時間に基づく評価指標とに基づいて、マニピュレータ1の速度プロファイルを計算する(ステップST1)。 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).
 速度プロファイル記憶部11は、速度プロファイルを記憶する(ステップST9)。 The speed profile storage unit 11 stores the speed profile (step ST9).
 勾配計算部5は、マニピュレータ1の動作時間の指令軌跡に関する勾配を計算して勾配情報として出力する(ステップST2)。 The gradient calculation unit 5 calculates the gradient of the commanded trajectory of the manipulator 1 and outputs it as gradient information (step ST2).
 指令軌跡補正部6aは、バリア関数の値の指令軌跡に関する勾配を計算し、ステップST2により計算された勾配と合わせたものを勾配情報として出力する(ステップST10)。 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).
 指令軌跡補正部6aは、勾配情報に基づいて指令軌跡を補正して補正指令軌跡として出力する(ステップST3)。 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).
 指令軌跡記憶部3は、補正指令軌跡を記憶する(ステップST4)。 The command trajectory storage unit 3 stores the corrected command trajectory (step ST4).
 指令点列計算部7は、補正指令軌跡と速度プロファイルとに基づいて、指令点列を計算する(ステップST5)。 The command point sequence calculation unit 7 calculates a command point sequence based on the corrected command trajectory and speed profile (step ST5).
 制御部8は、補正指令軌跡に対しマニピュレータ1が追従するようアクチュエータ110を制御する(ステップST6)。 The control unit 8 controls the actuator 110 so that the manipulator 1 follows the corrected command locus (step ST6).
 図示しない手段により、ロボットの制御を継続するか否かが判定される(ステップST7)。 A means (not shown) determines whether or not to continue controlling the robot (step ST7).
 ステップST7の判定が「Yes」の場合は、処理はステップST6に戻り、ロボットの制御が継続される。ステップST7の判定が「No」の場合は、ロボットの制御が終了する。 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.
 以上で説明した実施の形態2によれば、指令軌跡生成部10が周辺環境113からの周辺情報に基づいて指令軌跡を生成するため、障害物との干渉を避けつつ動作時間が短くなるようなマニピュレータ1の補正指令軌跡と速度プロファイルとを高速に求めることができる。 According to the second embodiment described above, 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.
実施の形態3.
 実施の形態3では、タブレットなどの入出力装置12を用いて、マニピュレータ1の制御を行う。
Embodiment 3.
In Embodiment 3, the manipulator 1 is controlled using an input/output device 12 such as a tablet.
 図10は、実施の形態3におけるロボット制御装置100bの一例を示すブロック図である。図10は、ロボット制御装置100bが入出力装置12と図示しない手段により接続されている点で、図1とは異なる。なお、ロボット制御装置100bは、実施の形態1におけるロボット制御装置100と同じ構成であるため、説明を省略する。なお、ロボット制御装置100bは、実施の形態2におけるロボット制御装置100aと同じ構成であってもよい。 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.
 入出力装置12は、マニピュレータ1の動作情報と周辺環境113から取得される周辺情報とを画面に表示する。動作情報は、例えばマニピュレータ1が動作している映像のことである。入出力装置12は、作業者が入力した動作情報をロボット制御装置100bに出力する。例えば、入出力装置12は、画面上のタッチパネルあるいは音声インターフェースを通じて、作業者にマニピュレータ1の動作の始点と終点とを入力させてもよいし、作業者がタブレットの画面を指でトレースすることで、マニピュレータ1の把持部111の大まかな指令軌跡を入力させてもよい。この指令軌跡は、指令軌跡記憶部3で記憶される。なお、作業者は、マニピュレータ1が動作中に入出力装置12を用いて停止させることもできる。この場合、入出力装置12は、画面上に「動作停止」の表示をさせ、作業者にその表示をタッチさせることで、作業停止の命令をロボット制御装置100bへ送信する。これにより、ロボット制御装置100bは、マニピュレータ1の動作を停止させる。 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. For example, 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. In this case, 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. As a result, the robot control device 100b stops the manipulator 1 from operating.
 図11は、実施の形態3におけるロボット制御装置100bの動作の一例を示すフローチャートである。すなわち、図11は、実施の形態3におけるロボット制御方法の一例を示すフローチャートである。図11のステップST1からステップST6は、図6のステップST1からステップST6と同じであるため、ここでは詳細説明を省略する。 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.
 図11に示すように、図示しない手段によりロボット制御が開始されると、速度計算部4は、予め設定されたマニピュレータ1への指令軌跡と、マニピュレータ1に関する制約条件と、マニピュレータ1の動作時間に基づく評価指標とに基づいて、マニピュレータ1の速度プロファイルを計算する(ステップST1)。 As shown in FIG. 11, when the robot control is started by a means (not shown), 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).
 勾配計算部5は、マニピュレータ1の動作時間の指令軌跡に関する勾配を計算して勾配情報として出力する(ステップST2)。 The gradient calculation unit 5 calculates the gradient of the commanded trajectory of the manipulator 1 and outputs it as gradient information (step ST2).
 指令軌跡補正部6は、勾配情報に基づいて指令軌跡を補正して補正指令軌跡として出力する(ステップST3)。 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).
 指令軌跡記憶部3は、補正指令軌跡を記憶する(ステップST4)。 The command trajectory storage unit 3 stores the corrected command trajectory (step ST4).
 指令点列計算部7は、補正指令軌跡と速度プロファイルとに基づいて、指令点列を計算する(ステップST5)。 The command point sequence calculation unit 7 calculates a command point sequence based on the corrected command trajectory and speed profile (step ST5).
 制御部8は、補正指令軌跡に対しマニピュレータ1が追従するようアクチュエータ110を制御する(ステップST6)。 The control unit 8 controls the actuator 110 so that the manipulator 1 follows the corrected command locus (step ST6).
 図示しない手段により、ロボットの制御を継続するか否かが判定される(ステップST11)。 A means (not shown) determines whether or not to continue controlling the robot (step ST11).
 ステップST11の判定が「Yes」の場合は、処理はステップST6に戻り、マニピュレータ1の制御が継続される。ステップST11の判定が「No」の場合は、ロボットの制御が終了する。ロボットの制御が終了するのは、例えばマニピュレータ1が補正指令軌跡の終点にたどり着いた場合である。あるいは、マニピュレータ1が異常動作したと判定された場合である。あるいは、入出力装置12から「動作停止」の命令がロボット制御装置100bへ送信された場合である。この判定は、図示しない手段により行われる。 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.
 以上で説明した実施の形態3によれば、入出力装置12を用いてマニピュレータ1の制御を行うことで、マニピュレータ1の動作を可視化することができる。 According to the third embodiment described above, the operation of the manipulator 1 can be visualized by controlling the manipulator 1 using the input/output device 12 .
実施の形態4.
 実施の形態4では、マニピュレータ1が移動架台13の上に設置された状態で、マニピュレータ1の制御を行う。
Embodiment 4.
In Embodiment 4, the manipulator 1 is controlled while the manipulator 1 is installed on the movable platform 13 .
 図12は、実施の形態4におけるロボット制御装置100cの一例を示すブロック図である。図12は、マニピュレータ1が移動架台13の上に設置される点で、図1とは異なる。また、図12は、ロボット制御装置100cが制約条件記憶部2の代わりに制約条件記憶部2cを備える点、速度計算部4の代わりに速度計算部4cを備える点、および勾配計算部5の代わりに勾配計算部5cを備える点で、図1とは異なる。制約条件記憶部2c、速度計算部4cおよび勾配計算部5c以外は、図1に示すものと同じであるため、説明を省略する。なお、ロボット制御装置100cは、実施の形態1におけるロボット制御装置100をベースとしているが、実施の形態2におけるロボット制御装置100aあるいは実施の形態3におけるロボット制御装置100bをベースとしてもよい。 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. FIG. 12, 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.
 制約条件記憶部2cは、マニピュレータ1に関して予め設定された制約条件のパラメータを記憶する。制約条件は、マニピュレータ1の関節角速度、関節角加速度、関節トルク、手先速度、手先加速度、前記マニピュレータ1が把持する対象で発生する力、および前記対象で発生するモーメントに加え、マニピュレータ1が設置される移動架台13に与える反力、および反力のトルク成分のうち少なくとも1つに関する条件を含む。 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.
 なお、制約条件のパラメータが予め設定される場合について説明したが、ロボット制御装置100cが図示しない反力制約学習部を備えてもよい。反力制約学習部は、マニピュレータ1が設置される移動架台13に与える反力および反力のトルク成分のうち少なくとも1つについて、機械学習を用いて制約条件のパラメータを学習し、得られた制約条件のパラメータを制約条件記憶部2cに記憶してもよい。具体的には、反力制約学習部は、マニピュレータ1の動作中に、移動架台13に与える反力および反力のトルク成分を図示しないセンサによって取得し、取得した値に基づいて、制約条件のパラメータとして学習する。 Although the case where the parameters of the constraint conditions are set in advance has been described, 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.
 速度計算部4cは、指令軌跡記憶部3からの指令軌跡と、制約条件記憶部2cからの制約条件のパラメータとに基づいて、制約条件の範囲内でマニピュレータ1の動作時間を短くする指令軌跡上の速度プロファイルを計算する。 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 2c, 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
 速度計算部4cの構成は、図3に示す速度計算部4の構成と同じであるが、動力学計算部42の動力学計算に、マニピュレータ1の動作時に移動架台13に与える反力および反力のトルク成分の計算を含める点、および制約条件係数計算部43が反力および反力のトルク成分に関する制約条件も含めて制約条件の係数を計算する点が、速度計算部4とは異なる。なお、ロボット制御装置100cが反力制約学習部を備える場合、速度計算部4cは、指令軌跡と、反力制約学習部で学習した制約条件のパラメータとに基づいて、速度プロファイルを計算する。 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.
 勾配計算部5cは、マニピュレータ1の動作時間の指令軌跡に関する勾配を計算し、勾配情報として出力する。 The gradient calculation unit 5c calculates the gradient regarding the commanded trajectory of the manipulator 1 operation time and outputs it as gradient information.
 勾配計算部5cの構成は、図4に示す勾配計算部5の構成と同じであるが、制約条件係数勾配計算部53が、マニピュレータ1の動作時に移動架台13に与える反力および反力のトルク成分も考慮して、動作時間の運動学計算結果に関する勾配、および動作時間の動力学計算結果に関する勾配を計算する点が、勾配計算部5とは異なる。また、プロファイル勾配計算部54が、マニピュレータ1の動作時に移動架台13に与える反力および反力のトルク成分も考慮して勾配を計算する点が、勾配計算部5とは異なる。 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.
 以上のように、ロボット制御装置100cが制約条件記憶部2c、速度計算部4cおよび勾配計算部5cを備えることで、移動架台13への反力に起因する振動を抑制することができ、マニピュレータ1の動作時間を短くすることができる。 As described above, 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.
 図13は、実施の形態4におけるロボット制御装置100cの動作の一例を示すフローチャートである。すなわち、図13は、実施の形態4におけるロボット制御方法の一例を示すフローチャートである。図13のステップST1からステップST7は、図6のステップST1からステップST7と同じであるため、ここでは詳細説明を省略する。 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.
 図13に示すように、図示しない手段によりロボット制御が開始されると、速度計算部4cは、予め設定されたマニピュレータ1への指令軌跡と、マニピュレータ1に関する制約条件と、マニピュレータ1の動作時間に基づく評価指標とに基づいて、マニピュレータ1の速度プロファイルを計算する(ステップST1)。速度計算部4c内の動力学計算部42は、マニピュレータ1の動作時に移動架台13に与える反力および反力のトルク成分の計算を含めて運動学計算と動力学計算とを行う。また、速度計算部4c内の制約条件係数計算部43は、移動架台13に与える反力および反力のトルク成分に関する制約条件も含めて、制約条件の係数を計算する。 As shown in FIG. 13, when the robot control is started by a means (not shown), 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. Further, 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.
 勾配計算部5cは、マニピュレータ1の動作時間の指令軌跡に関する勾配を計算して勾配情報として出力する(ステップST2)。勾配計算部5c内の制約条件係数勾配計算部53は、マニピュレータ1の動作時に移動架台13に与える反力および反力のトルク成分も考慮して、動作時間の運動学計算結果に関する勾配、および動作時間の動力学計算結果に関する勾配を計算する。また、勾配計算部5c内のプロファイル勾配計算部54は、移動架台13に与える反力および反力のトルク成分も考慮して、動作時間の制約条件の係数に関する勾配を計算する。 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. In addition, 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.
 指令軌跡補正部6は、勾配情報に基づいて指令軌跡を補正して補正指令軌跡として出力する(ステップST3)。 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).
 指令軌跡記憶部3は、補正指令軌跡を記憶する(ステップST4)。 The command trajectory storage unit 3 stores the corrected command trajectory (step ST4).
 指令点列計算部7は、補正指令軌跡と速度プロファイルとに基づいて、指令点列を計算する(ステップST5)。 The command point sequence calculation unit 7 calculates a command point sequence based on the corrected command trajectory and speed profile (step ST5).
 制御部8は、補正指令軌跡に対しマニピュレータ1が追従するようアクチュエータ110を制御する(ステップST6)。 The control unit 8 controls the actuator 110 so that the manipulator 1 follows the corrected command locus (step ST6).
 図示しない手段により、ロボットの制御を継続するか否かが判定される(ステップST11)。 A means (not shown) determines whether or not to continue controlling the robot (step ST11).
 ステップST11の判定が「Yes」の場合は、処理はステップST6に戻り、マニピュレータ1の制御が継続される。ステップST11の判定が「No」の場合は、ロボットの制御が終了する。 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.
 以上で説明した実施の形態4によれば、マニピュレータ1の動作中に移動架台13に与える反力および反力のトルク成分を考慮することで、移動架台13の振動を抑制することができ、マニピュレータ1の動作時間を短くすることができる。 According to the fourth embodiment described above, it is possible to suppress the vibration of the movable platform 13 by considering the reaction force applied to the movable platform 13 during the operation of the manipulator 1 and the torque component of the reaction force. 1 can be shortened.
 なお、実施の形態4において、ロボット制御装置100cが行うマニピュレータ1の制御は、移動架台13に対しても適用できる。また、マニピュレータ1が移動架台13に設置される場合に限定されず、マニピュレータ1が図示しない固定架台に設置される場合にも適用できる。 It should be noted that the 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).
 実施の形態1から4におけるロボット制御装置100,100a,100bおよび100cおよびロボット制御方法は、垂直多関節ロボットであるマニピュレータ1以外にも適用できる。例えば、水平多関節ロボットなどの任意の軸構成のマニピュレータ1にも適用できる。また、マニピュレータ1以外の産業装置にも適用できる。 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. For example, it can be applied to a manipulator 1 having an arbitrary axis configuration such as a horizontal articulated robot. Moreover, it can also be applied to industrial devices other than the manipulator 1 .
 ここで、実施の形態1から4におけるロボット制御装置100,100a,100bおよび100cのハードウェア構成について説明する。ロボット制御装置100,100a,100bおよび100cの各機能は、処理回路によって実現し得る。処理回路は、少なくとも1つのプロセッサと少なくとも1つのメモリとを備える。 Here, the hardware configuration of the robot control devices 100, 100a, 100b and 100c in Embodiments 1 to 4 will be described. Each function of the robot controllers 100, 100a, 100b and 100c can be implemented by processing circuitry. The processing circuitry comprises at least one processor and at least one memory.
 図14は、実施の形態1から4におけるロボット制御装置100,100a,100bおよび100cのハードウェア構成を示す図である。ロボット制御装置100,100a,100bおよび100cは、図14(a)に示すプロセッサ200およびメモリ201によって実現することができる。プロセッサ200は、例えばCPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSP(Digital Signal Processor)ともいう)またはシステムLSI(Large Scale Integration)である。 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).
 メモリ201は、例えばRAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable Programmable Read-Only Memory)などの不揮発性または揮発性の半導体メモリ、HDD(Hard Disk Drive)、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはDVD(Digital Versatile Disk)などである。 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.
 ロボット制御装置100,100a,100bおよび100cの各部の機能は、ソフトウェアなど(ソフトウェア、ファームウェア、またはソフトウェアとファームウェア)により実現される。ソフトウェアなどはプログラムとして記述され、メモリ201に格納される。プロセッサ200は、メモリ201で記憶されているプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、このプログラムは、ロボット制御装置100,100a,100bおよび100cの手順または方法をコンピュータに実行させるものであると言える。 The functions of 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.
 プロセッサ200が実行するプログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータが読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されてもよい。また、プロセッサ200が実行するプログラムは、インターネットなどのネットワーク経由でロボット制御装置100,100a,100bおよび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.
 また、ロボット制御装置100,100a,100bおよび100cは、図14(b)に示す専用の処理回路202によって実現してもよい。処理回路202が専用のハードウェアである場合、処理回路202は、例えば単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、またはこれらを組み合わせたものなどが該当する。 Also, 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.
 以上、ロボット制御装置100,100a,100bおよび100cの各構成要素の機能が、ソフトウェアなど、またはハードウェアのいずれか一方で実現される構成について説明した。しかしこれに限ったものではなく、ロボット制御装置100,100a,100bおよび100cの一部の構成要素をソフトウェアなどで実現し、別の一部を専用のハードウェアで実現する構成であってもよい。 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. However, 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. .
 1 マニピュレータ、 2,2c 制約条件記憶部、 3 指令軌跡記憶部、 4,4c 速度計算部、 41 指令補間計算部、 42 動力学計算部、 43 制約条件係数計算部、 44 プロファイル計算部、 5,5c 勾配計算部、 51 指令補間勾配計算部、 52 動力学勾配計算部、 53 制約条件係数勾配計算部、 54 プロファイル勾配計算部、 6,6a 指令軌跡補正部、 61 距離関数計算部、 62 バリア関数計算部、 63 バリア関数勾配計算部、 64 指令軌跡補正値計算部、 7 指令点列計算部、 8 制御部、 81 フィードフォワード制御部、 82 フィードバック制御部、 83 電流値計算部、 9 周辺環境情報記憶部、 10 指令軌跡生成部、 110 アクチュエータ、 111 把持部、 112 ワーク、 113 周辺環境、 13 移動架台、 200 プロセッサ、 201 メモリ、 202 処理回路。 1 manipulator, 2, 2c constraint storage unit, 3 command trajectory storage unit, 4, 4c speed calculation unit, 41 command interpolation calculation unit, 42 dynamics calculation unit, 43 constraint coefficient calculation unit, 44 profile calculation unit, 5, 5c gradient calculator, 51 command interpolation gradient calculator, 52 dynamic gradient calculator, 53 constraint coefficient gradient calculator, 54 profile gradient calculator, 6, 6a command trajectory corrector, 61 distance function calculator, 62 barrier function Calculation unit 63 Barrier function gradient calculation unit 64 Command trajectory correction value calculation unit 7 Command point sequence calculation unit 8 Control unit 81 Feedforward control unit 82 Feedback control unit 83 Current value calculation unit 9 Surrounding environment information Storage unit 10 Command trajectory generation unit 110 Actuator 111 Grasping unit 112 Work 113 Surrounding environment 13 Moving platform 200 Processor 201 Memory 202 Processing circuit.

Claims (10)

  1.  予め設定されたマニピュレータへの指令軌跡と、前記マニピュレータに関する制約条件と、前記マニピュレータの動作時間に基づく評価指標とに基づいて、前記マニピュレータの速度プロファイルを計算する速度計算部と、
     前記速度プロファイルに基づいて、前記動作時間の前記指令軌跡に関する勾配を計算して勾配情報とする勾配計算部と、
     前記勾配情報に基づいて前記指令軌跡を補正して補正指令軌跡とする指令軌跡補正部と、
     前記補正指令軌跡に対し前記マニピュレータが追従するよう制御する制御部と、
     を備えるロボット制御装置。
    a speed calculation unit that calculates a speed 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 gradient calculation unit that calculates a gradient related to the commanded trajectory of the operation time based on the velocity profile and uses the gradient information as gradient information;
    a command trajectory correction unit that corrects the command trajectory based on the gradient information to obtain a corrected command trajectory;
    a control unit that controls the manipulator to follow the correction command trajectory;
    A robot controller comprising:
  2.  前記マニピュレータ周辺の周辺情報に基づいて、前記指令軌跡を生成する指令軌跡生成部を更に備える請求項1に記載のロボット制御装置。 The robot control device according to claim 1, further comprising a command trajectory generation unit that generates the command trajectory based on peripheral information around the manipulator.
  3.  前記制約条件は、前記マニピュレータの関節角速度、関節角加速度、関節トルク、手先速度、手先加速度、前記マニピュレータが把持する対象で発生する力、および前記対象で発生するモーメントのうち少なくとも1つに関する条件である請求項1または2に記載のロボット制御装置。 The constraint conditions relate to at least one of joint angular velocity, joint angular acceleration, joint torque, hand velocity, hand acceleration, force generated in an object grasped by the manipulator, and moment generated in the object. A robot controller according to claim 1 or 2.
  4.  前記力および前記モーメントのうち少なくとも1つについて、機械学習を用いて前記制約条件のパラメータを学習する把持制約学習部を更に備え、
     前記速度計算部は、前記把持制約学習部で学習した前記パラメータに基づいて、前記加速度プロファイルを計算する請求項3に記載のロボット制御装置。
    further comprising a gripping constraint learning unit that learns parameters of the constraint using machine learning for at least one of the force and the moment;
    4. The robot control device according to claim 3, wherein the velocity calculation section calculates the acceleration profile based on the parameters learned by the grasping constraint learning section.
  5.  前記制約条件は、前記マニピュレータが設置される架台に与える反力、および前記反力のトルク成分のうち少なくとも1つに関する条件を含む請求項1から4のいずれか1項に記載のロボット制御装置。 The robot control device according to any one of claims 1 to 4, wherein the constraint conditions include conditions relating to at least one of a reaction force applied to the pedestal on which the manipulator is installed and a torque component of the reaction force.
  6.  前記反力および前記反力のトルク成分のうち少なくとも1つについて、機械学習を用いて前記制約条件のパラメータを学習する反力制約学習部を更に備え、
     前記速度計算部は、前記反力制約学習部で学習した前記パラメータに基づいて、前記速度プロファイルを計算する請求項5に記載のロボット制御装置。
    Further comprising a reaction force constraint learning unit that learns parameters of the constraint using machine learning for at least one of the reaction force and the torque component of the reaction force,
    6. The robot control device according to claim 5, wherein the velocity calculation section calculates the velocity profile based on the parameters learned by the reaction force constraint learning section.
  7.  前記速度計算部は、前記指令軌跡上の補間点における位置と前記指令軌跡の媒介変数に関する一階微分および二階微分とを計算する指令補間計算部と、
     前記位置と前記一階微分と前記二階微分とを用いて前記マニピュレータの運動学計算と動力学計算とを行い、運動学計算結果と動力学計算結果とを出力する動力学計算部と、
     前記運動学計算結果と前記動力学計算結果と前記制約条件とに基づいて、前記制約条件の係数を計算する制約条件係数計算部と、
     前記制約条件の係数に基づいて、前記速度プロファイルを計算するプロファイル計算部と、
     を備える請求項1から6のいずれか1項に記載のロボット制御装置。
    The speed calculation unit includes a command interpolation calculation unit that calculates a position at an interpolation point on the command trajectory and a first-order differential and a second-order differential with respect to a parameter of the command trajectory;
    a dynamics calculation unit that performs kinematics calculation and dynamics calculation of the manipulator using the position, the first-order differential, and the second-order differential, and outputs a kinematics calculation result and a dynamics calculation result;
    a constraint coefficient calculator that calculates the coefficient of the constraint based on the kinematics calculation result, the dynamics calculation result, and the constraint;
    a profile calculator that calculates the velocity profile based on the coefficients of the constraint;
    The robot control device according to any one of claims 1 to 6, comprising:
  8.  前記勾配計算部は、自動微分を用いて前記動作時間を前記指令軌跡について微分することで、前記動作時間の前記指令軌跡に関する勾配を計算して前記勾配情報とする請求項1から7のいずれか1項に記載のロボット制御装置。 8. The gradient calculator according to any one of claims 1 to 7, wherein the gradient calculation unit differentiates the movement time with respect to the command trajectory using automatic differentiation, thereby calculating a gradient of the movement time with respect to the command trajectory and using it as the gradient information. The robot control device according to item 1.
  9.  前記指令軌跡補正部は、前記勾配情報に基づく勾配降下法、共役勾配法または準ニュートン法のうちいずれか1つを用いることで、前記指令軌跡を補正する請求項1から8のいずれか1項に記載のロボット制御装置。 9. The command trajectory correction unit corrects the command trajectory by using any one of a gradient descent method, a conjugate gradient method, and a quasi-Newton method based on the gradient information. The robot control device according to .
  10.  予め設定されたマニピュレータへの指令軌跡と、前記マニピュレータに関する制約条件と、前記マニピュレータの動作時間に基づく評価指標とに基づいて、前記マニピュレータの速度プロファイルを計算する工程と、
     前記速度プロファイルに基づいて、前記動作時間の前記指令軌跡に関する勾配を計算して勾配情報とする工程と、
     前記勾配情報に基づいて前記指令軌跡を補正して補正指令軌跡とする工程と、
     前記補正指令軌跡に対し前記マニピュレータが追従するよう制御する工程と、
     を備えるロボット制御方法。
    calculating 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 operating time of the manipulator;
    calculating a slope of the commanded trajectory of the operating time based on the velocity profile as slope information;
    a step of correcting the command trajectory based on the gradient information to obtain a corrected command trajectory;
    a step of controlling the manipulator to follow the correction command trajectory;
    A robot control method comprising:
PCT/JP2021/012339 2021-03-24 2021-03-24 Robot control device and robot control method WO2022201377A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2022563069A JP7378640B2 (en) 2021-03-24 2021-03-24 Robot control device and robot control method
DE112021007371.0T DE112021007371T5 (en) 2021-03-24 2021-03-24 ROBOT CONTROL APPARATUS AND ROBOT CONTROL METHOD
CN202180028676.XA CN116940906A (en) 2021-03-24 2021-03-24 Robot control device and robot control method
PCT/JP2021/012339 WO2022201377A1 (en) 2021-03-24 2021-03-24 Robot control device and robot control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/012339 WO2022201377A1 (en) 2021-03-24 2021-03-24 Robot control device and robot control method

Publications (1)

Publication Number Publication Date
WO2022201377A1 true WO2022201377A1 (en) 2022-09-29

Family

ID=83396633

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/012339 WO2022201377A1 (en) 2021-03-24 2021-03-24 Robot control device and robot control method

Country Status (4)

Country Link
JP (1) JP7378640B2 (en)
CN (1) CN116940906A (en)
DE (1) DE112021007371T5 (en)
WO (1) WO2022201377A1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05297916A (en) * 1992-04-16 1993-11-12 Nachi Fujikoshi Corp Track control method for robot
WO2000010777A1 (en) * 1998-08-19 2000-03-02 Kuka Roboter Gmbh Device and method for balancing the weight on a robot arm
JP2005044230A (en) * 2003-07-24 2005-02-17 Mitsubishi Electric Corp Robot control device
US20110087375A1 (en) * 2009-10-13 2011-04-14 Kuka Roboter Gmbh Method And Device For Controlling A Manipulator
JP2013041478A (en) * 2011-08-17 2013-02-28 Fanuc Ltd Robot with learning control function
JP2019123051A (en) * 2018-01-17 2019-07-25 キヤノン株式会社 Robot device, robot control method, and robot control device
JP2020506815A (en) * 2017-02-08 2020-03-05 ユニバーシティ オブ プレトリア robot

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017129200A1 (en) 2016-01-28 2017-08-03 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. A system for real-world continuous motion optimization and control
JP6874712B2 (en) 2018-02-19 2021-05-19 オムロン株式会社 Simulation equipment, simulation method and simulation program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05297916A (en) * 1992-04-16 1993-11-12 Nachi Fujikoshi Corp Track control method for robot
WO2000010777A1 (en) * 1998-08-19 2000-03-02 Kuka Roboter Gmbh Device and method for balancing the weight on a robot arm
JP2005044230A (en) * 2003-07-24 2005-02-17 Mitsubishi Electric Corp Robot control device
US20110087375A1 (en) * 2009-10-13 2011-04-14 Kuka Roboter Gmbh Method And Device For Controlling A Manipulator
JP2013041478A (en) * 2011-08-17 2013-02-28 Fanuc Ltd Robot with learning control function
JP2020506815A (en) * 2017-02-08 2020-03-05 ユニバーシティ オブ プレトリア robot
JP2019123051A (en) * 2018-01-17 2019-07-25 キヤノン株式会社 Robot device, robot control method, and robot control device

Also Published As

Publication number Publication date
CN116940906A (en) 2023-10-24
DE112021007371T5 (en) 2024-02-15
JP7378640B2 (en) 2023-11-13
JPWO2022201377A1 (en) 2022-09-29

Similar Documents

Publication Publication Date Title
US9381643B2 (en) Dynamical system-based robot velocity control
US9764462B2 (en) Robot apparatus and robot controlling method
JP5327722B2 (en) Robot load estimation apparatus and load estimation method
US20060195228A1 (en) Robot locus control method and apparatus and program of robot locus control method
CN105772917B (en) A kind of three joint spot welding robot's Trajectory Tracking Control methods
JP5916583B2 (en) Weaving control device for articulated robot
JP2007076807A (en) Power assist device and its adaptive model prediction control method
Mitrovic et al. Optimal feedback control for anthropomorphic manipulators
Likar et al. Adaptation of bimanual assembly tasks using iterative learning framework
US11673264B2 (en) System and method for robotic assembly based on adaptive compliance
Kleff et al. Introducing force feedback in model predictive control
JP4269150B2 (en) Robot controller
WO2022201377A1 (en) Robot control device and robot control method
JP3105694B2 (en) Manipulator control method
Fateh et al. On the transforming of control space by manipulator Jacobian
CN114840947A (en) Three-degree-of-freedom mechanical arm dynamic model with constraint
JP4222338B2 (en) Adaptive visual feedback control method
CN114800521A (en) Three-degree-of-freedom mechanical arm fixed path point motion control system with constraint
CN112703090B (en) Robot control device, robot control method, and storage medium
Yovchev Finding the optimal parameters for robotic manipulator applications of the bounded error algorithm for iterative learning control
JP6429977B2 (en) Robot apparatus and robot control method
JP7284874B1 (en) ROBOT CONTROL DEVICE AND ROBOT CONTROL METHOD
Pavlichenko et al. Flexible-joint manipulator trajectory tracking with learned two-stage model employing one-step future prediction
WO2024154249A1 (en) Trajectory generation device and trajectory generation method
JP7399357B1 (en) Trajectory generator

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