WO2023148897A1 - ロボット制御装置及びロボット制御方法 - Google Patents

ロボット制御装置及びロボット制御方法 Download PDF

Info

Publication number
WO2023148897A1
WO2023148897A1 PCT/JP2022/004306 JP2022004306W WO2023148897A1 WO 2023148897 A1 WO2023148897 A1 WO 2023148897A1 JP 2022004306 W JP2022004306 W JP 2022004306W WO 2023148897 A1 WO2023148897 A1 WO 2023148897A1
Authority
WO
WIPO (PCT)
Prior art keywords
gripping
constraint
manipulator
constraint condition
acceleration
Prior art date
Application number
PCT/JP2022/004306
Other languages
English (en)
French (fr)
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 PCT/JP2022/004306 priority Critical patent/WO2023148897A1/ja
Priority to JP2022530843A priority patent/JP7284874B1/ja
Publication of WO2023148897A1 publication Critical patent/WO2023148897A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements

Definitions

  • the present disclosure relates to a robot control device and a robot control method for controlling a manipulator.
  • Patent Literature 1 discloses a technique of generating control information for moving a gripped object in real time by a control information generation unit configured by a neural network or the like.
  • Non-Patent Document 1 discloses a method of optimizing the acceleration/deceleration profile on the command trajectory that minimizes the operating time of the manipulator within the range of constraints.
  • control information is sequentially generated by the control information generation unit using a neural network.
  • a problem is that it cannot always be guaranteed that the conditions are met and that the generated action minimizes the action time.
  • the technique disclosed in Patent Document 1 cannot take into account changes in gripping force of the hand when picking up or placing a gripped object or differences in restrictions on the gripping force for each direction of the hand. It is difficult to perform pick and place stably at high speed.
  • the present disclosure has been made in view of the above, and an object thereof is to obtain a robot control device that allows pick and place to be performed stably at high speed.
  • a robot control device controls a manipulator and a hand based on a preset command trajectory to control gripping of a workpiece.
  • a control device that sets gripping constraints related to physical quantities applied to a workpiece based on the identifier of the command trajectory, hand information related to the hand, and workpiece information related to the workpiece, and kinematics constraints and dynamics related to the manipulator. Acceleration/deceleration for controlling the manipulator based on the constraint condition setting unit that sets the constraint conditions, the command trajectory, and the gripping constraint conditions, the kinematic constraint conditions, and the dynamic constraint conditions set by the constraint condition setting unit. and an optimum acceleration/deceleration calculator for calculating the profile.
  • the robot control device has the effect of being able to perform pick and place stably at high speed.
  • FIG. 1 showing the configuration of the robot control device according to Embodiment 1
  • FIG. 2 showing the configuration of the robot control device according to Embodiment 1
  • FIG. 2 is a diagram showing the configuration of an optimum acceleration/deceleration calculation unit included in the robot control device according to Embodiment 1;
  • FIG. 1 showing the configuration of the robot control device according to Embodiment 1
  • FIG. 2 showing the configuration of the robot control device according to Embodiment 1
  • FIG. 2 is a diagram showing the configuration of an optimum acceleration/deceleration calculation unit included in the robot control device according to Embodiment 1;
  • FIG. 2 is a diagram showing the configuration of a servo control unit included in the robot control device according to Embodiment 1; A part of the grip constraint condition setting unit, the kinematics constraint condition setting unit, the dynamics constraint condition setting unit, the optimum acceleration/deceleration calculation unit, the command point sequence calculation unit, and the servo control unit included in the robot control device according to the first embodiment, or Diagram showing a processor when all functions are implemented by the processor
  • FIG. 2 shows a configuration of a robot control device according to Embodiment 2
  • FIG. 11 shows a configuration of a robot control device according to Embodiment 3;
  • FIG. 1 is a first diagram showing the configuration of a robot control device 1 according to Embodiment 1.
  • FIG. 1 is a functional block diagram of the robot control device 1.
  • the robot control device 1 is a device that controls gripping of a workpiece 4 by controlling a manipulator 2 and a hand 3 based on a preset command trajectory. More specifically, the robot control device 1 controls the manipulator 2 and the hand 3 and controls the pick-and-place of the work 4 to be gripped by the manipulator 2 .
  • the manipulator 2 is a vertically articulated robot.
  • Manipulator 2, hand 3 and workpiece 4 are also shown in FIG.
  • the robot control device 1 includes a command trajectory storage unit 101, a handwork information storage unit 102, a gripping constraint condition setting unit 103, a kinematics constraint condition setting unit 104, a dynamics constraint condition setting unit 105, and a constraint storage unit. It has a section 106 , an optimum acceleration/deceleration calculation section 107 , a command point sequence calculation section 108 , and a servo control section 109 .
  • FIG. 2 is a second diagram showing the configuration of the robot control device 1 according to the first embodiment.
  • FIG. 2 shows the hardware configuration of the robot control device 1.
  • the robot control device 1 has a processing circuit 91 and a memory 92 .
  • the processing circuit 91 is dedicated hardware.
  • the processing circuit 91 is, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a combination thereof. is.
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • each of the gripping constraint condition setting unit 103, the kinematics constraint condition setting unit 104, the dynamics constraint condition setting unit 105, the optimum acceleration/deceleration calculation unit 107, the command point sequence calculation unit 108, and the servo control unit 109 has a different configuration. It may be implemented by a processing circuit that implements the element and another processing circuit.
  • the other processing circuit is a processing circuit similar to processing circuit 91 .
  • the memory 92 is, for example, a semiconductor memory.
  • FIG. 3 is a diagram showing an example of the manipulator 2 and the surrounding environment in which the manipulator 2 operates.
  • FIG. 3 shows a robot control device 1, a manipulator 2, a hand 3 installed at the tip of the manipulator 2, and a workpiece 4 to be gripped.
  • An actuator 201 is installed at each joint of the manipulator 2 .
  • the command trajectory storage unit 101 stores a preset command trajectory for the operation of the manipulator 2 .
  • the commanded trajectory when the commanded trajectory is given as a spline curve, the commanded trajectory storage unit 101 stores a string of pairs of positions of waypoints on the spline curve and values of parameters of the curve at the positions.
  • the command trajectory storage unit 101 stores only the sequence of positions of the waypoints on the spline curve, and calculates the value of the parameter of the curve at each position from the distance between two adjacent waypoints of the spline curve. good too.
  • a method for curves other than spline curves such as B-spline curves or Bezier curves can also be used.
  • the hand work information storage unit 102 stores hand information and work information such as the type, shape and mass of the current hand 3 and work 4 .
  • the hand information is information about the hand 3
  • the work information is information about the work 4 .
  • the gripping constraint condition setting unit 103 determines the physical quantity applied to the work 4 based on the identifier of the command trajectory stored in the command trajectory storage unit 101 and the hand information and work information stored in the hand work information storage unit 102. Set the gripping constraints for . Furthermore, the gripping constraint condition setting unit 103 sets gripping constraint conditions before and after the hand 3 grips or releases the workpiece 4 based on the identifier of the command trajectory.
  • the physical quantity applied to the workpiece 4 is, for example, at least one of acceleration, inertial force, and moment.
  • a gripping constraint condition setting unit 103 sets a constraint condition regarding at least one of these physical quantities.
  • the gripping constraint condition setting unit 103 can individually set gripping constraint conditions related to physical quantities such as acceleration, inertial force, or moment applied to the workpiece 4 for each direction of the coordinate system installed on the hand 3 .
  • the gripping constraint condition setting unit 103 sets the presence or absence of gripping constraint conditions related to physical quantities applied to the work 4 for each direction of the hand coordinate system and the gripping constraint.
  • the gripping constraint condition setting unit 103 can set gripping constraint conditions related to physical quantities such as acceleration, inertial force, or moment applied to the workpiece 4 for each motion based on the identifier of the command trajectory.
  • the gripping constraint condition setting unit 103 sets the acceleration, inertial force, or It is possible to individually set whether or not there is a gripping constraint condition related to a physical quantity such as a moment and the upper and lower limit values of the gripping constraint condition.
  • the gripping force of the hand 3 may change depending on the opening and closing of the hand 3 before and after the operation of gripping and releasing the work 4 , whereas the gripping force of the hand 3 is constant during the operation of carrying the work 4 .
  • the gripping constraint condition setting unit 103 can set gripping constraint conditions in consideration of different gripping forces depending on such motions.
  • the kinematics constraint setting unit 104 sets kinematics constraint conditions for the manipulator 2 . Furthermore, the kinematics constraint condition setting unit 104 sets kinematics constraint conditions regarding physical quantities relating to the kinematics of the operation of the manipulator 2 .
  • the physical quantity related to kinematics is, for example, the joint velocity or joint acceleration of the manipulator 2 or the tip speed of the hand 3, and the kinematics constraint condition setting unit 104 sets kinematics constraint conditions relating to at least one of these physical quantities. set.
  • the dynamics constraint condition setting unit 105 sets dynamics constraint conditions for the manipulator 2 . Furthermore, the dynamics constraint condition setting unit 105 sets dynamics constraint conditions relating to physical quantities relating to the dynamics of the operation of the manipulator 2 .
  • the physical quantity related to dynamics is, for example, joint torque, or the amount of force or torque applied to each link of the manipulator 2 or the installation portion of the manipulator 2, and the dynamics constraint condition setting unit 105 specifies at least Set a dynamic constraint on one.
  • the robot control device 1 includes the gripping constraint condition setting unit 103, the kinematics constraint condition setting unit 104, and the dynamics constraint condition setting unit 105.
  • a constraint condition setting unit having the function of the condition setting unit 105 may be provided. In that case, the constraint setting unit sets the grip constraint, the kinematic constraint, and the dynamic constraint as constraint conditions.
  • a constraint condition setting unit is implemented by a processing circuit.
  • the constraint storage unit 106 stores, as a list of constraints, the constraints related to each physical quantity set by the grip constraint condition setting unit 103, the kinematics constraint condition setting unit 104, and the dynamics constraint condition setting unit 105.
  • the optimum acceleration/deceleration calculation unit 107 calculates the command trajectory stored in the command trajectory storage unit 101, the gripping constraint conditions set by the gripping constraint condition setting unit 103, and the kinematics set by the kinematics constraint condition setting unit 104.
  • An acceleration/deceleration profile for controlling the manipulator 2 is calculated based on the constraint and the dynamic constraint set by the dynamic constraint setting unit 105 .
  • the optimum acceleration/deceleration calculation unit 107 based on the constraint conditions stored in the constraint storage unit 106 and the command trajectory stored in the command trajectory storage unit 101, Optimize the acceleration/deceleration profile on the command trajectory that optimizes the operating time of the manipulator 2 .
  • FIG. 4 is a diagram showing the configuration of the optimum acceleration/deceleration calculation unit 107 included in the robot control device 1 according to Embodiment 1.
  • the optimum acceleration/deceleration calculation unit 107 has a command interpolation calculation unit 301 , a dynamics calculation unit 302 , a constraint coefficient calculation unit 303 and an optimization calculation unit 304 .
  • the command interpolation calculation unit 301 interpolates the curve of the command locus at N points using a preset natural number N, and calculates the position at each interpolation point, the first derivative with respect to the parameter of the curve, and the second derivative with respect to the parameter of the curve. Calculate the derivative and As an example, when the command trajectory is given as a cubic spline curve, the joint position of each axis of the manipulator 2 can be expressed as a cubic piecewise polynomial with respect to the parameter. By using differentiation, not only the positions of the interpolation points described above but also the first and second derivatives with respect to parameters can be obtained.
  • the dynamics calculation unit 302 calculates the kinematics and dynamics of the manipulator 2 based on the position of each interpolation point calculated by the command interpolation calculation unit 301, the first derivative with respect to the parameter, and the second derivative with respect to the parameter. Calculations are performed to calculate kinematics calculation results and dynamics calculation results.
  • the kinematics calculation calculates the velocity, acceleration, angular velocity and angular acceleration of each joint and each link of the manipulator 2 and the hand 3 based on the velocity, acceleration, angular velocity and angular acceleration of each joint of the manipulator 2.
  • the dynamics calculation is based on the velocity, acceleration, angular velocity and angular acceleration of each joint of the manipulator 2, joint torque generated at each joint of the manipulator 2, and each link of the manipulator 2 or the setting part of the manipulator 2 It refers to the procedure for calculating applied forces and torques.
  • the constraint coefficient calculation unit 303 receives the constraint, the kinematics calculation result, and the dynamics calculation result, and calculates the constraint coefficient of the optimization problem described later.
  • the optimization calculation unit 304 adjusts the acceleration/deceleration of the manipulator 2 on the commanded trajectory based on the evaluation function based on the operation time of the manipulator 2 and the optimization calculation based on the constraint coefficients output by the constraint coefficient calculation unit 303. Calculate your profile.
  • Non-Patent Document 1 discloses a method of optimizing an acceleration/deceleration profile on a command trajectory that minimizes the operating time of the manipulator within the limits of the constraints.
  • the constraint coefficient calculation unit 303 calculates constraints for the optimization problem of the operating time of the manipulator 2, and the optimization calculation unit 304 calculates the optimum Calculate the acceleration/deceleration profile.
  • the command point sequence calculation unit 108 calculates command points at each sampling time of the servo control unit 109 based on the command trajectory stored in the command trajectory storage unit 101 and the acceleration/deceleration profile calculated by the optimum acceleration/deceleration calculation unit 107. Calculate columns.
  • the command point sequence calculation unit 108 converts between the time and the parameter of the curve of the command trajectory based on the acceleration/deceleration profile calculated by the optimum acceleration/deceleration calculation unit 107. and combining it with the piecewise polynomial of the spline curve of the command trajectory with the parameter as input, it is possible to calculate the point sequence of the position command that the manipulator 2 should take at each sampling time.
  • FIG. 5 is a diagram showing the configuration of the servo control unit 109 included in the robot control device 1 according to Embodiment 1. As shown in FIG. The servo control section 109 has a feedforward control section 401 , a feedback control section 402 and a current control section 403 . Actuator 201 is also shown in FIG.
  • the feedforward control unit 401 smoothes the trajectory by applying a filter to the command point sequence calculated by the command point sequence calculation unit 108, and calculates the feedforward value of the current value input to the actuator 201. .
  • the feedback control unit 402 performs feedback control so that the actuator 201 follows the filtered command point sequence calculated by the feedforward control unit 401 , and calculates a feedback value of the current value input to the actuator 201 .
  • the current control unit 403 controls the current value for driving the actuator 201 based on the feedforward value and the feedback value of the current value.
  • the robot control device 1 optimizes the acceleration/deceleration profile on the command trajectory of the manipulator 2 using the optimum acceleration/deceleration calculation unit 107, thereby minimizing the operation time within the range of the constraint conditions stored in the constraint storage unit 106. It is possible to calculate the acceleration/deceleration profile Constraints include not only constraints related to the kinematics and dynamics of the manipulator 2 but also constraints related to acceleration, inertial force, or moment generated in the workpiece 4 . Therefore, the robot control device 1 can prevent problems such as the work 4 dropping or excessive force being applied to the work 4 during pick-and-place of the work 4 .
  • the robot control device 1 uses the gripping constraint condition setting unit 103 to set the presence or absence of constraint conditions and upper and lower limit values of the constraint conditions regarding the physical quantities of the acceleration, inertial force, or moment generated in the workpiece 4 individually for each direction of the hand coordinate system. Since it can be set, pick-and-place can be performed with appropriate acceleration/deceleration in consideration of the characteristics of the hand 3 .
  • the robot control device 1 uses the gripping constraint condition setting unit 103 to set the presence or absence of constraint conditions and the upper and lower limit values of the constraint conditions for each physical quantity such as the acceleration, inertial force, and moment generated in the workpiece 4 in correspondence with the identifier of the command trajectory. Since it can be set individually, pick-and-place can be performed with appropriate acceleration/deceleration in consideration of changes in gripping force that differ depending on the operation.
  • the robot control apparatus 1 appropriately considers the constraint conditions related to the success or failure of gripping the workpiece 4, and optimizes the acceleration/deceleration profile without considering unnecessary constraints. Since pick-and-place of the manipulator 2 is performed using the result of conversion, pick-and-place can be performed stably at high speed.
  • the robot control apparatus 1 obtains an acceleration/deceleration profile that minimizes the operation time by satisfying constraints on physical quantities such as acceleration, inertial force, and moment applied to the workpiece 4, and also determines the constraints. It is useful as a robot control device capable of high-speed and stable pick-and-place by setting according to the situation.
  • the manipulator 2 picks and places the workpiece 4.
  • the acceleration/deceleration profile that takes into consideration the constraints on the physical quantity applied to the workpiece 4 by the robot control device 1 is also effective when the manipulator 2 executes tasks other than pick-and-place.
  • the manipulator 2 is a vertical articulated robot.
  • the robot control device 1 and the robot control method according to the first embodiment can also be applied to manipulators with arbitrary axis configurations, such as horizontal articulated robots, or industrial devices other than manipulators.
  • the grip constraint condition setting unit 103, the kinematics constraint condition setting unit 104, the dynamics constraint condition setting unit 105, the optimum acceleration/deceleration calculation unit 107, the command point sequence calculation unit 108, and the servo control unit shown in FIG. 109 is implemented by a processing circuit.
  • some or all functions of the grip constraint condition setting unit 103, the kinematic constraint condition setting unit 104, the dynamics constraint condition setting unit 105, the optimum acceleration/deceleration calculation unit 107, the command point sequence calculation unit 108, and the servo control unit 109 may be implemented by processor 93 executing programs stored in memory 94 .
  • FIG. 6 shows the gripping constraint condition setting unit 103, the kinematics constraint condition setting unit 104, the dynamics constraint condition setting unit 105, the optimum acceleration/deceleration calculation unit 107, and the command point sequence calculation unit 107 included in the robot control device 1 according to the first embodiment.
  • FIG. 6 shows the gripping constraint condition setting unit 103, the kinematics constraint condition setting unit 104, the dynamics constraint condition setting unit 105, the optimum acceleration/deceleration calculation unit 107, and the command point sequence calculation unit 107 included in the robot control device 1 according to the first embodiment.
  • FIG. 10 is a diagram showing a processor 93 when some or all of the functions of the unit 108 and the servo control unit 109 are implemented by the processor 93;
  • the functions of some or all of the grip constraint condition setting unit 103, the kinematic constraint condition setting unit 104, the dynamics constraint condition setting unit 105, the optimum acceleration/deceleration calculation unit 107, the command point sequence calculation unit 108, and the servo control unit 109 may be implemented by processor 93 executing programs stored in memory 94 .
  • the processor 93 is a CPU (Central Processing Unit), processing system, arithmetic system, microprocessor, or DSP (Digital Signal Processor). Memory 94 is also shown in FIG.
  • a part or all of the functions of the grip constraint condition setting unit 103, the kinematic constraint condition setting unit 104, the dynamic constraint condition setting unit 105, the optimum acceleration/deceleration calculation unit 107, the command point sequence calculation unit 108, and the servo control unit 109 are implemented by the processor. 93, some or all of the functions are implemented by the processor 93 and software, firmware, or a combination of software and firmware. Software or firmware is written as a program and stored in memory 94 .
  • the processor 93 reads out and executes programs stored in the memory 94 to set a gripping constraint condition setting unit 103, a kinematic constraint condition setting unit 104, a dynamic constraint condition setting unit 105, an optimum acceleration/deceleration calculation unit 107, a command A part or all of the functions of the point sequence calculation unit 108 and the servo control unit 109 are realized.
  • the robot control device 1 includes a gripping constraint setting unit 103, a kinematics constraint setting unit 104, a dynamics constraint setting unit 105, an optimum acceleration/deceleration calculation unit 107, a command point sequence calculation unit 108, and A memory 94 is provided for storing a program resulting in at least some of the steps performed by the servo control unit 109 being performed.
  • the programs stored in the memory 94 include a gripping constraint setting unit 103, a kinematics constraint setting unit 104, a dynamics constraint setting unit 105, an optimum acceleration/deceleration calculation unit 107, a command point sequence calculation unit 108, and a servo control unit 109. It can also be said that a computer executes part or all of the procedure or method executed by.
  • the memory 94 is non-volatile such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (registered trademark) (Electrically Erasable Programmable Read-Only Memory). Or a volatile semiconductor memory, a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, a DVD (Digital Versatile Disk), or the like.
  • the plurality of Some of the functions may be implemented in software or firmware, and the rest of the multiple functions may be implemented in dedicated hardware.
  • the plurality of functions of the gripping constraint condition setting unit 103, the kinematics constraint condition setting unit 104, the dynamics constraint condition setting unit 105, the optimum acceleration/deceleration calculation unit 107, the command point sequence calculation unit 108, and the servo control unit 109 are , hardware, software, firmware, or a combination thereof.
  • An example of hardware is a processing circuit.
  • FIG. 7 is a diagram showing the configuration of a robot control device 1A according to Embodiment 2. As shown in FIG. FIG. 7 is a functional block diagram of the robot control device 1A.
  • the robot control device 1A has all the components of the robot control device 1 according to the first embodiment, an operation time calculator 110, and a command trajectory generator 111.
  • FIG. FIG. 7 also shows the manipulator 2, hand 3 and workpiece 4.
  • FIG. Components that are different between the robot control device 1A and the robot control device 1 will be described below.
  • the motion time calculator 110 receives the acceleration/deceleration profile calculated by the optimum acceleration/deceleration calculator 107 and calculates the motion time of the manipulator 2 .
  • the command trajectory generator 111 updates the command trajectory based on the operating time of the manipulator 2 calculated from the acceleration/deceleration profile calculated by the optimum acceleration/deceleration calculator 107 . Further, the command trajectory generation unit 111 updates the command trajectory so as to optimize the motion time based on the motion time calculated by the motion time calculation unit 110, and outputs the update result to the command trajectory storage unit 101. do.
  • a command trajectory update method that optimizes the operation time for example, sampling-based methods such as Rapidly-exploring Random Tree (RRT), or black-box optimization methods such as Bayesian optimization or particle swarm optimization, etc. can be used.
  • the command trajectory generator 111 can also update the command trajectory by using the information on the surrounding environment of the manipulator 2 so that the manipulator 2 does not interfere with the surrounding environment.
  • the robot control device 1A can optimize the acceleration/deceleration profile by setting different constraints for each direction of the hand 3 by the action obtained by the grip constraint condition setting unit 103 and the optimum acceleration/deceleration calculation unit 107 .
  • the command trajectory generation unit 111 updates the command trajectory so as to optimize the operation time using the optimized acceleration/deceleration profile, thereby generating the command trajectory considering the posture of the hand 3. be able to.
  • the robot control device 1A can automatically update the command trajectory that optimizes the posture of the hand 3 by setting the gripping constraint conditions as described above and optimizing the operation time. Furthermore, the robot control device 1A can generate a command trajectory that takes into consideration the command of the hand 3 by optimizing the command trajectory that takes into account the constraints on gripping.
  • the robot control apparatus 1A satisfies the constraints on the physical quantities such as the acceleration, inertial force, and moment applied to the work 4, and sets the command trajectory and the acceleration/deceleration profile to minimize the operation time. is useful as a robot control device capable of stably picking and placing at high speed.
  • each of the operation time calculation unit 110 and the command trajectory generation unit 111 is implemented by a processing circuit.
  • the processing circuit is similar to the processing circuit 91 of the first embodiment.
  • Each function of the operation time calculation unit 110 and the command trajectory generation unit 111 may be realized by a processor executing a program stored in memory.
  • the memory is similar to the memory 94 of the first embodiment, and the processor is similar to the processor 93 of the first embodiment.
  • the robot control device 1A updates the command trajectory. It is also possible to configure so that the command trajectory is calculated off-line before 1A actually controls the manipulator 2, and the result of the calculation is stored in the command trajectory storage unit 101 of the robot control device 1A.
  • an industrial personal computer may include a command trajectory storage unit 101, a handwork information storage unit 102, a grip constraint condition setting unit 103, a kinematics constraint condition setting unit 104, and a dynamics constraint condition setting unit 105.
  • the constraint storage unit 106, the optimum acceleration/deceleration calculation unit 107, the operation time calculation unit 110, and the command trajectory generation unit 111 are implemented as software.
  • the command trajectory generator 111 can update the command trajectory in consideration of the operation time.
  • FIG. 8 is a diagram showing the configuration of a robot control device 1B according to Embodiment 3. As shown in FIG. FIG. 8 is a functional block diagram of the robot control device 1B.
  • the robot control device 1 ⁇ /b>B includes all the components of the robot control device 1 according to the first embodiment, a gripping success/failure determination unit 112 , and a gripping constraint condition learning unit 113 .
  • FIG. 8 also shows the manipulator 2, hand 3, workpiece 4 and camera 5.
  • FIG. Components that are different between the robot control device 1B and the robot control device 1 will be described below.
  • the camera 5 captures an image or video of how the manipulator 2 grips the workpiece 4 .
  • the camera 5 may be installed on the manipulator 2 or may be installed in the surrounding environment of the manipulator 2 .
  • the gripping success/failure determination unit 112 determines whether or not the manipulator 2 has successfully picked and placed the workpiece 4, and outputs gripping success/failure information indicating the determination result. More specifically, the gripping success/failure determination unit 112 determines whether or not the manipulator 2 picks and places the work 4 on the basis of the image or moving image captured by the camera 5, and outputs gripping success/failure information indicating the determination result. do.
  • the gripping constraint condition learning unit 113 learns the constraint conditions related to the physical quantity applied to the workpiece 4 using machine learning or reinforcement learning. More specifically, the gripping constraint condition learning unit 113 learns the upper and lower limit values of the constraint conditions related to the physical quantity applied to the workpiece 4 using machine learning or reinforcement learning based on the gripping success/failure information output by the gripping success/failure determination unit 112. Then, the learning result is set in the grip constraint condition setting unit 103 .
  • the robot control device 1B uses the gripping success/failure determining unit 112 and the gripping constraint condition learning unit 113 to determine constraint conditions related to physical quantities such as acceleration, inertial force, and moment applied to the workpiece 4 based on the trial results of pick-and-place using the actual machine. can be learned. By learning the upper and lower limit values of the constraint conditions related to the physical quantity applied to the workpiece 4, the robot control device 1B can stably control the pick-and-place even for motions not used for learning.
  • the robot control device 1B satisfies the constraints on physical quantities such as the acceleration, inertial force, and moment applied to the workpiece 4, and learns high-speed and stable pick-and-place. is useful as a robot controller capable of
  • the gripping success/failure determination unit 112 determines gripping success/failure based on images or moving images captured by the camera 5 .
  • a force sensor or a contact sensor may be installed in the manipulator 2 and the hand 3.
  • the gripping success/failure determination unit 112 detects sensor information obtained by the force sensor or the contact sensor. The success or failure of gripping may be determined based on
  • Each of the gripping success/failure determination unit 112 and the gripping constraint condition learning unit 113 is implemented by a processing circuit.
  • the processing circuit is similar to the processing circuit 91 of the first embodiment.
  • Each function of the gripping success/failure determination unit 112 and the gripping constraint condition learning unit 113 may be implemented by a processor that executes a program stored in a memory.
  • the memory is similar to the memory 94 of the first embodiment, and the processor is similar to the processor 93 of the first embodiment.

Landscapes

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

Abstract

ロボット制御装置(1)は、予め設定された指令軌跡をもとにマニピュレータ(2)及びハンド(3)を制御することでワーク(4)の把持についての制御を行うロボット制御装置であって、指令軌跡の識別子と、ハンド(3)に関するハンド情報と、ワーク(4)に関するワーク情報とをもとに、ワーク(4)に加わる物理量に関する把持制約条件を設定するとともに、マニピュレータ(2)に関する運動学制約条件及び動力学制約条件を設定する制約条件設定部(103,104,105)と、指令軌跡と、制約条件設定部(103,104,105)によって設定された把持制約条件、運動学制約条件及び動力学制約条件とをもとに、マニピュレータ(2)を制御するための加減速プロファイルを計算する最適加減速計算部(107)とを有する。

Description

ロボット制御装置及びロボット制御方法
 本開示は、マニピュレータを制御するロボット制御装置及びロボット制御方法に関する。
 工場の製造ライン等において、部品又は製品等の物品をマニピュレータで把持して搬送する工程、いわゆるピックアンドプレースを行う工程が存在する。上記の物品は、以下ではワークと記載される。従来のピックアンドプレースには、ロボットの動作速度及び加速度が適切でない場合、ワーク及び把持部の一方又は双方に過剰な慣性力又はモーメントが発生することによりワークが落下するという課題がある。当該課題に対処するために、ワーク及び把持部の一方又は双方に発生する慣性力及びモーメントを考慮して適切な動作条件を決定する技術が知られている。特許文献1は、ニューラルネットワーク等で構成された制御情報生成部によって把持物を移動させるための制御情報をリアルタイムに生成する技術を開示している。
 非特許文献1は、制約条件の範囲内でマニピュレータの動作時間を最短にする指令軌跡上の加減速プロファイルを最適化する方法を開示している。
国際公開第2021/106307号
D. Verscheure, B. Demeulenaere, J. Swevers, J. De Schutter and M. Diehl, "Time-Optimal Path Tracking for Robots: A Convex Optimization Approach" IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 54, NO. 10, OCTOBER 2009, pp. 2318-2327
 しかしながら、特許文献1が開示している技術では、ニューラルネットワークを用いて制御情報生成部によって逐次的に制御情報を生成するため、当該技術には、動作の始点から終点までの全ての区間で制約条件を満たすことと、生成された動作が動作時間を最短にすることとを、必ずしも保証することができないという課題がある。また、把持物をピックアップ又はプレースする際のハンドの把持力の変化又はハンドの方向毎の把持力についての制約の違い等を考慮することができないため、特許文献1が開示している技術では、高速かつ安定的にピックアンドプレースを行うことが困難である。
 本開示は、上記に鑑みてなされたものであって、高速かつ安定的にピックアンドプレースを行わせるロボット制御装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本開示に係るロボット制御装置は、予め設定された指令軌跡をもとにマニピュレータ及びハンドを制御することでワークの把持についての制御を行うロボット制御装置であって、指令軌跡の識別子と、ハンドに関するハンド情報と、ワークに関するワーク情報とをもとに、ワークに加わる物理量に関する把持制約条件を設定するとともに、マニピュレータに関する運動学制約条件及び動力学制約条件を設定する制約条件設定部と、指令軌跡と、制約条件設定部によって設定された把持制約条件、運動学制約条件及び動力学制約条件とをもとに、マニピュレータを制御するための加減速プロファイルを計算する最適加減速計算部とを有する。
 本開示に係るロボット制御装置は、高速かつ安定的にピックアンドプレースを行わせることができるという効果を奏する。
実施の形態1に係るロボット制御装置の構成を示す第1図 実施の形態1に係るロボット制御装置の構成を示す第2図 マニピュレータとマニピュレータが動作する周辺環境との例を示す図 実施の形態1に係るロボット制御装置が有する最適加減速計算部の構成を示す図 実施の形態1に係るロボット制御装置が有するサーボ制御部の構成を示す図 実施の形態1に係るロボット制御装置が有する把持制約条件設定部、運動学制約条件設定部、動力学制約条件設定部、最適加減速計算部、指令点列計算部及びサーボ制御部の一部又は全部の機能がプロセッサによって実現される場合のプロセッサを示す図 実施の形態2に係るロボット制御装置の構成を示す図 実施の形態3に係るロボット制御装置の構成を示す図
 以下に、実施の形態に係るロボット制御装置及びロボット制御方法を図面に基づいて詳細に説明する。
実施の形態1.
 図1は、実施の形態1に係るロボット制御装置1の構成を示す第1図である。図1は、ロボット制御装置1の機能ブロック図である。ロボット制御装置1は、予め設定された指令軌跡をもとにマニピュレータ2及びハンド3を制御することでワーク4の把持についての制御を行う装置である。更に言うと、ロボット制御装置1は、マニピュレータ2及びハンド3を制御対象とし、マニピュレータ2の把持対象となるワーク4のピックアンドプレースを制御する。実施の形態1では、マニピュレータ2は垂直多関節ロボットである。図1には、マニピュレータ2、ハンド3及びワーク4も示されている。
 ロボット制御装置1は、指令軌跡記憶部101と、ハンドワーク情報記憶部102と、把持制約条件設定部103と、運動学制約条件設定部104と、動力学制約条件設定部105と、制約条件記憶部106と、最適加減速計算部107と、指令点列計算部108と、サーボ制御部109とを有する。
 図2は、実施の形態1に係るロボット制御装置1の構成を示す第2図である。図2は、ロボット制御装置1のハードウェア構成を示している。ロボット制御装置1は、処理回路91と、メモリ92とを有する。図1に示される把持制約条件設定部103、運動学制約条件設定部104、動力学制約条件設定部105、最適加減速計算部107、指令点列計算部108及びサーボ制御部109は、処理回路91によって実現される。図1に示される指令軌跡記憶部101、ハンドワーク情報記憶部102及び制約条件記憶部106は、メモリ92によって実現される。
 処理回路91は、専用のハードウェアである。処理回路91は、例えば、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化されたプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、又はこれらを組み合わせたものである。なお、把持制約条件設定部103、運動学制約条件設定部104、動力学制約条件設定部105、最適加減速計算部107、指令点列計算部108及びサーボ制御部109の各々は、他の構成要素を実現する処理回路と別の処理回路によって実現されてもよい。当該別の処理回路は、処理回路91と同様の処理回路である。メモリ92は、例えば半導体メモリである。以下では、図1に示される構成要素を用いて実施の形態1に係るロボット制御装置1を説明する。
 図3は、マニピュレータ2とマニピュレータ2が動作する周辺環境との例を示す図である。図3では、ロボット制御装置1と、マニピュレータ2と、マニピュレータ2の先端に設置されたハンド3と、把持対象となるワーク4とが示されている。マニピュレータ2の各関節にはアクチュエータ201が設置されている。
 指令軌跡記憶部101は、予め設定されたマニピュレータ2の動作の指令軌跡を記憶している。一例として、指令軌跡がスプライン曲線として与えられた場合、指令軌跡記憶部101は、スプライン曲線上の経由点の位置と当該位置における曲線の媒介変数の値とのペアの列を記憶する。指令軌跡記憶部101は、スプライン曲線上の経由点の位置の列だけを記憶していて、各位置における曲線の媒介変数の値をスプライン曲線の隣り合う二つの経由点の距離等から計算してもよい。指令軌跡の表現方法として、B-スプライン曲線又はベジェ曲線等のスプライン曲線以外の曲線についての方法を用いることもできる。
 ハンドワーク情報記憶部102は、現在のハンド3及びワーク4の種類、形状及び質量等のハンド情報及びワーク情報を記憶する。ハンド情報はハンド3に関する情報であり、ワーク情報はワーク4に関する情報である。
 把持制約条件設定部103は、指令軌跡記憶部101が記憶している指令軌跡の識別子とハンドワーク情報記憶部102が記憶しているハンド情報及びワーク情報とをもとに、ワーク4に加わる物理量に関する把持制約条件を設定する。更に言うと、把持制約条件設定部103は、指令軌跡の識別子をもとに、ハンド3がワーク4を掴む又は放す動作の前後に把持制約条件を設定する。ワーク4に加わる物理量は、例えば、加速度と、慣性力と、モーメントとのうちの少なくとも一つである。把持制約条件設定部103は、それらの物理量のうち少なくとも一つに関する制約条件を設定する。
 把持制約条件設定部103は、ワーク4に加わる加速度、慣性力又はモーメント等の物理量に関する把持制約条件を、ハンド3に設置された座標系の方向毎に個別に設定することができる。一例として、図3に示されるように、ハンド3がワーク4を二本の爪で掴むタイプのハンドである場合、爪で物理的にワーク4を拘束する方向と摩擦力によってワーク4を保持する方向とでは、許容される加速度及び慣性力の大きさが異なる。把持制約条件設定部103は、ハンドワーク情報記憶部102に記憶されたハンド情報とワーク情報とをもとに、ハンド座標系の方向毎にワーク4に加わる物理量に関する把持制約条件の有無と把持制約条件の上下限値とを個別に設定することで、ハンド3の把持特性を考慮した制約条件を設定することができる。
 把持制約条件設定部103は、指令軌跡の識別子をもとに、ワーク4に加わる加速度、慣性力又はモーメント等の物理量に関する把持制約条件を動作毎に設定することができる。一例として、把持制約条件設定部103は、ワーク4を掴む動作と、ワーク4を目標位置まで運ぶ動作と、目標位置でワーク4を放す動作との各々について、ワーク4に加わる加速度、慣性力又はモーメント等の物理量に関する把持制約条件の有無と把持制約条件の上下限値とを個別に設定することができる。ワーク4を掴む動作及びワーク4を放す動作の前後ではハンド3の開閉によってハンド3の把持力が変化し得るのに対し、ワーク4を運ぶ動作の途中ではハンド3の把持力は一定である。把持制約条件設定部103は、そのような動作によって異なる把持力を考慮して把持制約条件を設定することができる。
 運動学制約条件設定部104は、マニピュレータ2に関する運動学制約条件を設定する。更に言うと、運動学制約条件設定部104は、マニピュレータ2の動作の運動学に関する物理量に関する運動学制約条件を設定する。運動学に関する物理量とは、例えば、マニピュレータ2の関節速度若しくは関節加速度、又はハンド3の先端速度であり、運動学制約条件設定部104は、それらの物理量のうち少なくとも一つに関する運動学制約条件を設定する。
 動力学制約条件設定部105は、マニピュレータ2に関する動力学制約条件を設定する。更に言うと、動力学制約条件設定部105は、マニピュレータ2の動作の動力学に関する物理量に関する動力学制約条件を設定する。動力学に関する物理量とは、例えば、関節トルク、又は、マニピュレータ2の各リンク若しくはマニピュレータ2の設置部に加わる力若しくはトルクの量であり、動力学制約条件設定部105は、それらの物理量のうち少なくとも一つに関する動力学制約条件を設定する。
 ロボット制御装置1は、把持制約条件設定部103、運動学制約条件設定部104及び動力学制約条件設定部105の代わりに、把持制約条件設定部103、運動学制約条件設定部104及び動力学制約条件設定部105の機能を有する制約条件設定部を有してもよい。その場合、制約条件設定部は、把持制約条件と運動学制約条件と動力学制約条件とを制約条件として設定する。制約条件設定部は、処理回路によって実現される。
 制約条件記憶部106は、把持制約条件設定部103、運動学制約条件設定部104及び動力学制約条件設定部105が設定した各物理量に関する制約条件を制約条件のリストとして記憶する。
 最適加減速計算部107は、指令軌跡記憶部101が記憶している指令軌跡と、把持制約条件設定部103によって設定された把持制約条件と、運動学制約条件設定部104によって設定された運動学制約条件と、動力学制約条件設定部105によって設定された動力学制約条件とをもとに、マニピュレータ2を制御するための加減速プロファイルを計算する。更に言うと、最適加減速計算部107は、制約条件記憶部106が記憶している制約条件と、指令軌跡記憶部101が記憶している指令軌跡とをもとに、制約条件の範囲内でマニピュレータ2の動作時間を最適化する指令軌跡上の加減速プロファイルを最適化する。
 図4は、実施の形態1に係るロボット制御装置1が有する最適加減速計算部107の構成を示す図である。最適加減速計算部107は、指令補間計算部301と、動力学計算部302と、制約条件係数計算部303と、最適化計算部304とを有する。
 指令補間計算部301は、予め設定された自然数Nを用いて指令軌跡の曲線をN点で補間し、各補間点における位置と、曲線の媒介変数に関する一階微分と、曲線の媒介変数に関する二階微分とを計算する。一例として、指令軌跡が3次スプライン曲線として与えられた場合、マニピュレータ2の各軸の関節位置を媒介変数に関する3次の区分多項式として表現することができるので、指令補間計算部301は、多項式の微分を用いることで、上述の補間点の位置だけでなく媒介変数に関する一階微分と二階微分とを求めることができる。
 動力学計算部302は、指令補間計算部301が計算した各補間点の位置と、媒介変数に関する一階微分と、媒介変数に関する二階微分とをもとに、マニピュレータ2の運動学計算と動力学計算とを行うことにより、運動学計算結果と動力学計算結果とを算出する。運動学計算とは、マニピュレータ2の各関節の速度、加速度、角速度及び角加速度をもとに、マニピュレータ2の各関節及び各リンク、並びに、ハンド3等の速度、加速度、角速度及び角加速度を計算する手順を意味している。動力学計算とは、マニピュレータ2の各関節の速度、加速度、角速度及び角加速度をもとに、マニピュレータ2の各関節に発生する関節トルク、並びに、マニピュレータ2の各リンク又はマニピュレータ2の設定部に加わる力及びトルクを計算する手順を意味している。
 制約条件係数計算部303は、制約条件と運動学計算結果と動力学計算結果とを入力とし、後述される最適化問題の制約条件係数を計算する。
 最適化計算部304は、マニピュレータ2の動作時間に基づく評価関数と、制約条件係数計算部303が出力した制約条件係数に基づく最適化計算とをもとに、マニピュレータ2の指令軌跡上の加減速プロファイルを計算する。上述の通り、非特許文献1は、制約条件の範囲内でマニピュレータの動作時間を最短とする指令軌跡上の加減速プロファイルを最適化する方法を開示している。非特許文献1が開示している方法と同様の方法を用いることにより、制約条件係数計算部303はマニピュレータ2の動作時間の最適化問題の制約条件を計算し、最適化計算部304は最適な加減速プロファイルを計算する。
 指令点列計算部108は、指令軌跡記憶部101に記憶されている指令軌跡と最適加減速計算部107が計算した加減速プロファイルとをもとに、サーボ制御部109のサンプリング時刻毎の指令点列を計算する。指令軌跡がスプライン曲線として与えられた場合、指令点列計算部108は、最適加減速計算部107が計算した加減速プロファイルをもとに、時刻と指令軌跡の曲線の媒介変数との間の変換を行い、媒介変数を入力とした指令軌跡のスプライン曲線の区分多項式と組み合わせることにより、各サンプリング時刻でマニピュレータ2が取るべき位置指令の点列を計算することができる。
 サーボ制御部109は、指令点列計算部108が計算した指令点列をもとに、マニピュレータ2が指令点列に追従するようにサーボ制御を行う。図5は、実施の形態1に係るロボット制御装置1が有するサーボ制御部109の構成を示す図である。サーボ制御部109は、フィードフォワード制御部401と、フィードバック制御部402と、電流制御部403とを有する。図5には、アクチュエータ201も示されている。
 フィードフォワード制御部401は、指令点列計算部108が計算した指令点列に対してフィルタを適用することで軌跡を滑らかにするとともに、アクチュエータ201に入力される電流値のフィードフォワード値を計算する。フィードバック制御部402は、フィードフォワード制御部401が計算したフィルタ適用後の指令点列にアクチュエータ201が追従するようにフィードバック制御を行い、アクチュエータ201に入力される電流値のフィードバック値を計算する。電流制御部403は、電流値のフィードフォワード値とフィードバック値とをもとに、アクチュエータ201を駆動する電流値を制御する。
 次に、実施の形態1に係るロボット制御装置1によって得られる効果を説明する。ロボット制御装置1は、最適加減速計算部107によりマニピュレータ2の指令軌跡上の加減速プロファイルを最適化することによって、制約条件記憶部106が記憶している制約条件の範囲内で動作時間が最短となる加減速プロファイルを計算することができる。当該制約条件には、マニピュレータ2の運動学及び動力学に関する制約条件だけでなく、ワーク4に発生する加速度、慣性力又はモーメントに関する制約条件を加えることができる。そのため、ロボット制御装置1は、ワーク4のピックアンドプレースにおいて、ワーク4が落下する、又は、ワーク4に過剰な力が発生する等の不具合を予め抑制することができる。
 ロボット制御装置1は、把持制約条件設定部103によって、ワーク4に発生する加速度、慣性力又はモーメントの物理量に関する制約条件の有無と制約条件の上下限値とをハンド座標系の方向毎に個別に設定することができるため、ハンド3の特性を考慮した適切な加減速でピックアンドプレースを行うことができる。
 ロボット制御装置1は、把持制約条件設定部103によって、ワーク4に発生する加速度、慣性力及びモーメントの各物理量に関する制約条件の有無と制約条件の上下限値とを指令軌跡の識別子に対応して個別に設定することができるため、動作によって異なる把持力の変化を考慮した適切な加減速でピックアンドプレースを行うことができる。
 したがって、実施の形態1に係るロボット制御装置1は、ワーク4の把持の成否に関わる制約条件を適切に考慮するとともに、不要な制約条件を考慮せずに加減速プロファイルの最適化を行い、最適化の結果を用いてマニピュレータ2のピックアンドプレースを行うため、高速かつ安定的にピックアンドプレースを行うこと可能である。
 実施の形態1に係るロボット制御装置1は、ワーク4に加わる加速度、慣性力又はモーメント等の物理量に関する制約条件を満たして動作時間が最短となるような加減速プロファイルを求め、かつ、制約条件を状況に対応して設定することで、高速かつ安定的にピックアンドプレースを行うことができるロボット制御装置として有用である。
 なお、上述の説明では、マニピュレータ2がワーク4のピックアンドプレースを行う。ロボット制御装置1によるワーク4に加わる物理量の制約を考慮した加減速プロファイルは、マニピュレータ2がピックアンドプレース以外のタスクを実行する場合にも有効であることは言うまでもない。
 上述の説明では、マニピュレータ2は垂直多関節ロボットである。実施の形態1に係るロボット制御装置1及びロボットの制御方法は、水平多関節ロボット等、任意の軸構成のマニピュレータ、又は、マニピュレータ以外の産業装置にも適用することも可能である。
 上述の説明では、図1に示される把持制約条件設定部103、運動学制約条件設定部104、動力学制約条件設定部105、最適加減速計算部107、指令点列計算部108及びサーボ制御部109は、処理回路によって実現される。しかしながら、把持制約条件設定部103、運動学制約条件設定部104、動力学制約条件設定部105、最適加減速計算部107、指令点列計算部108及びサーボ制御部109の一部又は全部の機能は、メモリ94に格納されるプログラムを実行するプロセッサ93によって実現されてもよい。
 図6は、実施の形態1に係るロボット制御装置1が有する把持制約条件設定部103、運動学制約条件設定部104、動力学制約条件設定部105、最適加減速計算部107、指令点列計算部108及びサーボ制御部109の一部又は全部の機能がプロセッサ93によって実現される場合のプロセッサ93を示す図である。つまり、把持制約条件設定部103、運動学制約条件設定部104、動力学制約条件設定部105、最適加減速計算部107、指令点列計算部108及びサーボ制御部109の一部又は全部の機能は、メモリ94に格納されるプログラムを実行するプロセッサ93によって実現されてもよい。プロセッサ93は、CPU(Central Processing Unit)、処理システム、演算システム、マイクロプロセッサ、又はDSP(Digital Signal Processor)である。図6には、メモリ94も示されている。
 把持制約条件設定部103、運動学制約条件設定部104、動力学制約条件設定部105、最適加減速計算部107、指令点列計算部108及びサーボ制御部109の一部又は全部の機能がプロセッサ93によって実現される場合、当該一部又は全部の機能は、プロセッサ93と、ソフトウェア、ファームウェア、又は、ソフトウェアとファームウェアとの組み合わせとによって実現される。ソフトウェア又はファームウェアは、プログラムとして記述され、メモリ94に格納される。プロセッサ93は、メモリ94に記憶されたプログラムを読み出して実行することにより、把持制約条件設定部103、運動学制約条件設定部104、動力学制約条件設定部105、最適加減速計算部107、指令点列計算部108及びサーボ制御部109の一部又は全部の機能を実現する。
 把持制約条件設定部103、運動学制約条件設定部104、動力学制約条件設定部105、最適加減速計算部107、指令点列計算部108及びサーボ制御部109の一部又は全部の機能がプロセッサ93によって実現される場合、ロボット制御装置1は、把持制約条件設定部103、運動学制約条件設定部104、動力学制約条件設定部105、最適加減速計算部107、指令点列計算部108及びサーボ制御部109によって実行されるステップの少なくとも一部が結果的に実行されることになるプログラムを格納するためのメモリ94を有する。メモリ94に格納されるプログラムは、把持制約条件設定部103、運動学制約条件設定部104、動力学制約条件設定部105、最適加減速計算部107、指令点列計算部108及びサーボ制御部109が実行する手順又は方法の一部又は全部をコンピュータに実行させるものであるともいえる。
 メモリ94は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable Programmable Read-Only Memory)等の不揮発性若しくは揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク又はDVD(Digital Versatile Disk)等である。
 把持制約条件設定部103、運動学制約条件設定部104、動力学制約条件設定部105、最適加減速計算部107、指令点列計算部108及びサーボ制御部109の複数の機能について、当該複数の機能の一部がソフトウェア又はファームウェアで実現され、当該複数の機能の残部が専用のハードウェアで実現されてもよい。このように、把持制約条件設定部103、運動学制約条件設定部104、動力学制約条件設定部105、最適加減速計算部107、指令点列計算部108及びサーボ制御部109の複数の機能は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせによって実現することができる。ハードウェアの例は、処理回路である。
実施の形態2.
 図7は、実施の形態2に係るロボット制御装置1Aの構成を示す図である。図7は、ロボット制御装置1Aの機能ブロック図である。ロボット制御装置1Aは、実施の形態1に係るロボット制御装置1が有する全ての構成要素と、動作時間計算部110と、指令軌跡生成部111とを有する。図7には、マニピュレータ2、ハンド3及びワーク4も示されている。以下では、ロボット制御装置1Aとロボット制御装置1との差異となる構成要素について説明する。
 動作時間計算部110は、最適加減速計算部107が計算した加減速プロファイルを入力とし、マニピュレータ2の動作時間を計算する。
 指令軌跡生成部111は、最適加減速計算部107によって計算された加減速プロファイルから計算されるマニピュレータ2の動作時間をもとに、指令軌跡を更新する。更に言うと、指令軌跡生成部111は、動作時間計算部110が計算した動作時間をもとに、動作時間を最適化するよう指令軌跡を更新し、更新の結果を指令軌跡記憶部101に出力する。動作時間を最適化する指令軌跡の更新方法として、例えば、Rapidly-exploring Random Tree(RRT)のようなサンプリングベースの手法、又は、ベイズ最適化若しくは粒子群最適化のようなブラックボックス最適化手法等を用いることができる。指令軌跡生成部111は、マニピュレータ2の周辺環境の情報を用いることにより、マニピュレータ2が周辺環境と干渉しないように指令軌跡を更新することもできる。
 次に、実施の形態2に係るロボット制御装置1Aによって得られる効果について説明する。ロボット制御装置1Aは、把持制約条件設定部103及び最適加減速計算部107によって得られる作用により、ハンド3の方向毎に異なる制約条件を設定して加減速プロファイルの最適化を行うことができる。ロボット制御装置1Aは、最適化された加減速プロファイルを用いて動作時間を最適化するように指令軌跡生成部111が指令軌跡を更新することにより、ハンド3の姿勢を考慮した指令軌跡を生成することができる。
 一例として、図3に示されるようにハンド3がワーク4を二本の爪で掴むタイプのハンドである場合、爪でワーク4を物理的に拘束する方向と摩擦力によってワーク4を保持する方向とでは許容される加速度及び慣性力の大きさが異なる。そのため、爪でワーク4を物理的に拘束する方向と軌跡の動作方向とが一致するようにマニピュレータ2の関節角度を設定した指令軌跡とすることにより、高加速度でマニピュレータ2を動作させることが可能になる。ロボット制御装置1Aは、上述のような把持制約条件を設定して動作時間を最適化することにより、ハンド3の姿勢を最適化した指令軌跡を自動的に更新することができる。更に言うと、ロボット制御装置1Aは、把持に関する制約条件を考慮した指令軌跡を最適化することで、ハンド3の指令を考慮した指令軌跡を生成することができる。
 上述のように、実施の形態2に係るロボット制御装置1Aは、ワーク4に加わる加速度、慣性力又はモーメント等の物理量に関する制約条件を満たして動作時間が最短となるような指令軌跡と加減速プロファイルとを求めることにより、高速かつ安定的にピックアンドプレースを行うことができるロボット制御装置として有用である。
 なお、動作時間計算部110及び指令軌跡生成部111の各々は、処理回路によって実現される。当該処理回路は、実施の形態1の処理回路91と同様の処理回路である。動作時間計算部110及び指令軌跡生成部111の各々の機能は、メモリに格納されるプログラムを実行するプロセッサによって実現されてもよい。当該メモリは実施の形態1のメモリ94と同様のメモリであり、当該プロセッサは実施の形態1のプロセッサ93と同様のプロセッサである。
 上述の説明では、ロボット制御装置1Aが指令軌跡を更新するが、指令軌跡を更新する機能をロボット制御装置1Aとは別の例えば図示されていない産業用パーソナルコンピュータにソフトウェアとして実装し、ロボット制御装置1Aがマニピュレータ2を実際に制御する前にオフラインで指令軌跡を計算し、計算の結果をロボット制御装置1Aが有する指令軌跡記憶部101が記憶するように構成することも可能である。その場合、例えば産業用パーソナルコンピュータに、指令軌跡記憶部101と、ハンドワーク情報記憶部102と、把持制約条件設定部103と、運動学制約条件設定部104と、動力学制約条件設定部105と、制約条件記憶部106と、最適加減速計算部107と、動作時間計算部110と、指令軌跡生成部111とが、ソフトウェアとして実装される。
 実施の形態2では、把持すべきワーク4が移動する場合でも、指令軌跡生成部111が動作時間を考慮して指令軌跡を更新することもできる。
実施の形態3.
 図8は、実施の形態3に係るロボット制御装置1Bの構成を示す図である。図8は、ロボット制御装置1Bの機能ブロック図である。ロボット制御装置1Bは、実施の形態1に係るロボット制御装置1が有する全ての構成要素と、把持成否判定部112と、把持制約条件学習部113とを有する。図8には、マニピュレータ2、ハンド3、ワーク4及びカメラ5も示されている。以下では、ロボット制御装置1Bとロボット制御装置1との差異となる構成要素について説明する。
 カメラ5は、マニピュレータ2がワーク4を把持する様子を画像又は動画として撮影する。カメラ5は、マニピュレータ2に設置されてもよいし、マニピュレータ2の周辺環境に設置されてもよい。
 把持成否判定部112は、マニピュレータ2によるワーク4のピックアンドプレースの成否を判定して判定結果を示す把持成否情報を出力する。更に言うと、把持成否判定部112は、カメラ5が撮影した画像又は動画をもとに、マニピュレータ2がワーク4をピックアンドプレースする動作の成否を判定し、判定結果を示す把持成否情報を出力する。
 把持制約条件学習部113は、把持成否判定部112が出力した把持成否情報をもとに、機械学習又は強化学習を用いてワーク4に加わる物理量に関する制約条件を学習する。更に言うと、把持制約条件学習部113は、把持成否判定部112が出力した把持成否情報をもとに、機械学習又は強化学習を用いてワーク4に加わる物理量に関する制約条件の上下限値を学習し、学習の結果を把持制約条件設定部103に設定する。
 次に、実施の形態3に係るロボット制御装置1Bによって得られる効果について説明する。ロボット制御装置1Bは、把持成否判定部112と把持制約条件学習部113とによって、実機によるピックアンドプレースの試行結果をもとに、ワーク4に加わる加速度、慣性力又はモーメント等の物理量に関する制約条件を学習することができる。ロボット制御装置1Bは、ワーク4に加わる物理量に関する制約条件の上下限値を学習することにより、学習に用いていない動作に対しても安定的にピックアンドプレースを制御することができる。
 上述の説明のように、実施の形態3に係るロボット制御装置1Bは、ワーク4に加わる加速度、慣性力又はモーメント等の物理量に関する制約条件を満たし、高速かつ安定的なピックアンドプレースを学習することが可能なロボット制御装置として有用である。
 上述の説明では、把持成否判定部112は、カメラ5が撮影した画像又は動画をもとに把持成否を判定する。例えば、図示されていない力覚センサ又は接触センサがマニピュレータ2及びハンド3に設置されてもよく、その場合、把持成否判定部112は、力覚センサ又は接触センサによって得られた情報であるセンサ情報をもとに把持成否を判定してもよい。
 なお、把持成否判定部112及び把持制約条件学習部113の各々は、処理回路によって実現される。当該処理回路は、実施の形態1の処理回路91と同様の処理回路である。把持成否判定部112及び把持制約条件学習部113の各々の機能は、メモリに格納されるプログラムを実行するプロセッサによって実現されてもよい。当該メモリは実施の形態1のメモリ94と同様のメモリであり、当該プロセッサは実施の形態1のプロセッサ93と同様のプロセッサである。
 以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略又は変更することも可能である。
 1,1A,1B ロボット制御装置、2 マニピュレータ、3 ハンド、4 ワーク、5 カメラ、91 処理回路、92,94 メモリ、93 プロセッサ、101 指令軌跡記憶部、102 ハンドワーク情報記憶部、103 把持制約条件設定部、104 運動学制約条件設定部、105 動力学制約条件設定部、106 制約条件記憶部、107 最適加減速計算部、108 指令点列計算部、109 サーボ制御部、110 動作時間計算部、111 指令軌跡生成部、112 把持成否判定部、113 把持制約条件学習部、201 アクチュエータ、301 指令補間計算部、302 動力学計算部、303 制約条件係数計算部、304 最適化計算部、401 フィードフォワード制御部、402 フィードバック制御部、403 電流制御部。

Claims (7)

  1.  予め設定された指令軌跡をもとにマニピュレータ及びハンドを制御することでワークの把持についての制御を行うロボット制御装置であって、
     前記指令軌跡の識別子と、前記ハンドに関するハンド情報と、前記ワークに関するワーク情報とをもとに、前記ワークに加わる物理量に関する把持制約条件を設定するとともに、前記マニピュレータに関する運動学制約条件及び動力学制約条件を設定する制約条件設定部と、
     前記指令軌跡と、前記制約条件設定部によって設定された前記把持制約条件、前記運動学制約条件及び前記動力学制約条件とをもとに、前記マニピュレータを制御するための加減速プロファイルを計算する最適加減速計算部と
     を備えることを特徴とするロボット制御装置。
  2.  前記ワークに加わる物理量は、加速度と、慣性力と、モーメントとのうちの少なくとも一つである
     ことを特徴とする請求項1に記載のロボット制御装置。
  3.  前記制約条件設定部は、前記指令軌跡の識別子をもとに、前記ハンドが前記ワークを掴む又は放す動作の前後に前記把持制約条件を設定する
     ことを特徴とする請求項1に記載のロボット制御装置。
  4.  前記制約条件設定部は、ハンド座標系の方向毎に前記ワークに加わる物理量に関する前記把持制約条件の有無と前記把持制約条件の上下限値とを設定する
     ことを特徴とする請求項1に記載のロボット制御装置。
  5.  前記最適加減速計算部によって計算された前記加減速プロファイルから計算される前記マニピュレータの動作時間をもとに、前記指令軌跡を更新する指令軌跡生成部
     を更に備えることを特徴とする請求項1に記載のロボット制御装置。
  6.  前記マニピュレータによる前記ワークのピックアンドプレースの成否を判定して判定結果を示す把持成否情報を出力する把持成否判定部と、
     前記把持成否判定部が出力した前記把持成否情報をもとに、機械学習又は強化学習を用いて前記ワークに加わる物理量に関する前記把持制約条件を学習する把持制約条件学習部と
     を更に備えることを特徴とする請求項1に記載のロボット制御装置。
  7.  予め設定された指令軌跡をもとにマニピュレータ及びハンドを制御することでワークの把持についての制御を行うロボット制御方法であって、
     前記指令軌跡の識別子と、前記ハンドに関するハンド情報と、前記ワークに関するワーク情報とをもとに、前記ワークに加わる物理量に関する把持制約条件を設定するとともに、前記マニピュレータに関する運動学制約条件及び動力学制約条件を設定するステップと、
     前記指令軌跡と、設定された前記把持制約条件、前記運動学制約条件及び前記動力学制約条件とをもとに、前記マニピュレータを制御するための加減速プロファイルを計算するステップと
     を含むことを特徴とするロボット制御方法。
PCT/JP2022/004306 2022-02-03 2022-02-03 ロボット制御装置及びロボット制御方法 WO2023148897A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2022/004306 WO2023148897A1 (ja) 2022-02-03 2022-02-03 ロボット制御装置及びロボット制御方法
JP2022530843A JP7284874B1 (ja) 2022-02-03 2022-02-03 ロボット制御装置及びロボット制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/004306 WO2023148897A1 (ja) 2022-02-03 2022-02-03 ロボット制御装置及びロボット制御方法

Publications (1)

Publication Number Publication Date
WO2023148897A1 true WO2023148897A1 (ja) 2023-08-10

Family

ID=86538332

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/004306 WO2023148897A1 (ja) 2022-02-03 2022-02-03 ロボット制御装置及びロボット制御方法

Country Status (2)

Country Link
JP (1) JP7284874B1 (ja)
WO (1) WO2023148897A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04336987A (ja) * 1991-05-10 1992-11-25 Nippon Telegr & Teleph Corp <Ntt> 把持装置
JP2005052919A (ja) * 2003-08-01 2005-03-03 Yaskawa Information Systems Co Ltd ワーク搬送装置の加速度制御方法
JP2007066001A (ja) * 2005-08-31 2007-03-15 Nachi Fujikoshi Corp ロボットの制御装置
WO2018123087A1 (ja) * 2016-12-28 2018-07-05 オムロン株式会社 シミュレーション装置、ロボット、シミュレーション方法、及びそのプログラム
JP2021010995A (ja) * 2019-07-09 2021-02-04 株式会社日立製作所 ロボット制御装置及びロボット

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7237447B2 (ja) * 2017-09-29 2023-03-13 キヤノン株式会社 情報処理方法、プログラム、記録媒体、情報処理装置、ロボットシステム、および物品の製造方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04336987A (ja) * 1991-05-10 1992-11-25 Nippon Telegr & Teleph Corp <Ntt> 把持装置
JP2005052919A (ja) * 2003-08-01 2005-03-03 Yaskawa Information Systems Co Ltd ワーク搬送装置の加速度制御方法
JP2007066001A (ja) * 2005-08-31 2007-03-15 Nachi Fujikoshi Corp ロボットの制御装置
WO2018123087A1 (ja) * 2016-12-28 2018-07-05 オムロン株式会社 シミュレーション装置、ロボット、シミュレーション方法、及びそのプログラム
JP2021010995A (ja) * 2019-07-09 2021-02-04 株式会社日立製作所 ロボット制御装置及びロボット

Also Published As

Publication number Publication date
JPWO2023148897A1 (ja) 2023-08-10
JP7284874B1 (ja) 2023-05-31

Similar Documents

Publication Publication Date Title
KR101795847B1 (ko) 산업용 로봇을 프로그래밍하기 위한 방법 및 관련 산업용 로봇
Cheah et al. Adaptive Jacobian tracking control of robots with uncertainties in kinematic, dynamic and actuator models
JP6238628B2 (ja) ロボット装置、ロボット制御方法、ロボット制御プログラム及びロボット装置を用いた部品の製造方法
US9381643B2 (en) Dynamical system-based robot velocity control
JP2021053802A (ja) 産業用ロボットおよびその運転方法
Amanhoud et al. A dynamical system approach to motion and force generation in contact tasks
JP5154712B2 (ja) ロボットの制御装置及び制御方法、ロボット、並びに、制御プログラム
JP6706489B2 (ja) ロボットのダイレクト教示方法
JP2011167817A (ja) 学習制御機能を備えたロボット
JP6960242B2 (ja) ロボットシステム及びロボットシステムの制御方法
JP2017209762A (ja) ロボット装置、ロボット制御方法、プログラム、記録媒体及び物品の製造方法
Cruciani et al. In-hand manipulation using three-stages open loop pivoting
US20150051735A1 (en) Control apparatus of robot, robot, and program thereof
Cheah et al. Adaptive vision based tracking control of robots with uncertainty in depth information
JP4396553B2 (ja) ロボット制御装置,コンピュータプログラム
JP6567998B2 (ja) 制御方法
WO2023148897A1 (ja) ロボット制御装置及びロボット制御方法
Zanchettin et al. Near time-optimal and sensor-based motion planning for robotic manipulators
Cheah et al. Adaptive Jacobian motion and force tracking control for constrained robots with uncertainties
Fateh et al. On the transforming of control space by manipulator Jacobian
JP6429977B2 (ja) ロボット装置及びロボット制御方法
CN112135718B (zh) 机器人的控制
JP7378640B2 (ja) ロボット制御装置およびロボット制御方法
Xue et al. Dynamic finger gaits via pivoting and adapting contact forces
Zhao et al. Adaptive vision and force tracking control for constrained robots

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2022530843

Country of ref document: JP

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

Ref document number: 22924807

Country of ref document: EP

Kind code of ref document: A1