WO2022074703A1 - ロボットの衝突検知装置 - Google Patents
ロボットの衝突検知装置 Download PDFInfo
- Publication number
- WO2022074703A1 WO2022074703A1 PCT/JP2020/037680 JP2020037680W WO2022074703A1 WO 2022074703 A1 WO2022074703 A1 WO 2022074703A1 JP 2020037680 W JP2020037680 W JP 2020037680W WO 2022074703 A1 WO2022074703 A1 WO 2022074703A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- calculation means
- torque
- drive torque
- estimation error
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40201—Detect contact, collision with human
Definitions
- the present disclosure relates to a robot collision detection device that detects that a robot collides with an object when the robot collides with an object around the robot.
- the robot when a robot comes into contact with or collides with a device or a worker around the robot, the robot detects that the robot comes into contact with or collides with the device or the worker and stops the operation, thereby stopping the operation of the device around the robot. Or prevent the operator and the robot itself from being damaged.
- the robot controller calculates the torque value required to perform the operation performed by the robot, and also calculates the torque based on the actual motor current value or the measured value of the torque sensor provided in the drive mechanism unit. Derive the measured value.
- the robot controller compares the required torque value with the torque measurement value, and if the difference between the required torque value and the torque measurement value exceeds the threshold value, the robot collides with a device or a worker around the robot. Is determined.
- a technique for reducing the threshold value as much as possible without causing false detection is required.
- Patent Document 1 estimates parameters related to the inertial force and frictional force of the robot, and improves the accuracy of torque calculation or estimation required to perform the operation performed by the robot using the estimated parameters. The technology to make it is disclosed. Patent Document 1 also discloses a technique for reducing the influence of factors not modeled by the calculation unit for calculating the required torque by using a high-pass filter.
- This disclosure has been made in view of the above, considering the effects of unmodeled factors, and when the robot collides with an object around the robot while preventing false positives, the robot becomes an object.
- the purpose is to obtain a collision detection device for a robot that detects a collision with relatively high sensitivity.
- the robot collision detection device uses a drive torque calculation means for calculating an estimated value of the drive torque of the robot and a motor current for driving the robot.
- a torque estimation error model learning means that learns the difference and variation between the drive torque calculated based on the drive torque or the drive torque derived from the torque sensor provided in the drive unit and the estimated value calculated by the drive torque calculation means.
- Torque estimation error model By the threshold calculation means that calculates the threshold based on the torque estimation error model learned by the learning means, and the drive torque and drive torque calculation means calculated based on the motor current for driving the robot. It has a collision discriminating means for discriminating a collision between a robot and an object by comparing the difference with the calculated estimated value and the threshold value calculated by the threshold calculation means.
- the robot collision detection device considers the influence of unmodeled factors including its variation, and when the robot collides with an object around the robot while preventing false detection, the robot collides with the object. It has the effect of being able to detect what has been done with relatively high sensitivity.
- At least a part of the drive torque calculation means, the operating state calculation means, the torque estimation error model learning means, the conversion means, the error calculation means, the threshold calculation means, and the collision determination means included in the collision detection device of the robot according to the first embodiment is a processor.
- Diagram showing the processor when realized by At least a part of the drive torque calculation means, the operating state calculation means, the torque estimation error model learning means, the conversion means, the error calculation means, the threshold value calculation means, and the collision determination means included in the collision detection device of the robot according to the first embodiment are processed.
- FIG. 1 is a diagram showing a configuration of a robot collision detection device 1 according to the first embodiment.
- the collision detection device 1 of the robot may be referred to as a “collision detection device 1”.
- the collision detection device 1 has a robot control device 2 that controls the robot. No robot is shown in FIG.
- the robot control device 2 has a drive torque calculation means 3 that receives information indicating a motor position of each axis that drives the robot and calculates an estimated value of the drive torque of the robot.
- the drive torque calculation means 3 calculates the motor speed and the motor acceleration of each axis by making a difference with respect to the motor position.
- the drive torque calculation means 3 calculates the drive torque of the robot based on the motor position, the motor speed, the motor acceleration, and the following equation of motion (1) of the robot.
- ⁇ M (q) a + h (q, v) + g (q) + f (v) ... (1)
- ⁇ is a vector composed of the drive torque of each axis of the robot
- q is the motor position of each axis of the robot converted into the output position of the transmission mechanism of each axis of the robot. It is a vector composed of positions.
- A is a vector composed of the acceleration of each axis of the robot obtained by converting the motor acceleration into the output acceleration of each axis of the robot, and “v” is the output of the motor speed of each axis of the robot. It is a vector composed of the velocities of each axis of the robot converted into velocities.
- M (q) a is the inertial force of each axis of the robot
- h (q, v) is the centrifugal Coriolis force
- g (q) is the gravity
- f (v) is the frictional force. It is an element of drive torque.
- the frictional force is the sum of the Coulomb frictional force determined in the direction of velocity and the viscous frictional force determined by the direction and magnitude of the velocity.
- the simplest model of viscous frictional force is a speed-proportional model, and in the first embodiment, a speed-proportional viscous friction model is adopted.
- the model of viscous frictional force may be a model of a polynomial of velocity or a model of exponentiation of velocity.
- the collision detection device 1 further includes an operation state calculation means 4 located outside the robot control device 2.
- the operation state calculation means 4 calculates a state quantity related to the operation state of the robot. Furthermore, the operating state calculation means 4 calculates a state quantity including all or a part of the information related to the motor speed, the information related to the motor acceleration, and a part of the elements of the driving torque of the robot. do.
- Some of the elements of the driving torque of the robot are inertial force M (q) a, centrifugal Coriolis force h (q, v), gravity g (q), frictional force f (v), or M (q). ) It is the sum of drive torque elements such as a + h (q, v).
- the operating state calculation means 4 receives information indicating the motor position, performs a difference for the motor position, calculates the motor speed, and converts the motor speed into the output speed of the transmission mechanism of each axis of the robot. The amount of operating state indicating the speed of each axis of the robot is calculated.
- the collision detection device 1 further includes a torque estimation error model learning means 5 located outside the robot control device 2.
- the torque estimation error model learning means 5 determines the difference and variation between the drive torque calculated based on the motor current for driving the robot and the estimated value of the drive torque calculated by the drive torque calculation means 3. learn.
- the operating state calculation means 4 outputs information indicating the operating state quantity to the torque estimation error model learning means 5.
- the torque estimation error model learning means 5 learns using the state quantity calculated by the operating state calculation means 4 as an input signal of the correction function.
- One or both of the operation state calculation means 4 and the torque estimation error model learning means 5 may be located inside the robot control device 2.
- the robot control device 2 further includes a conversion means 6 that converts the motor current according to the torque constant of the motor and the speed ratio of the transmission mechanism to calculate the measured torque, which is the measured value of the drive torque of each axis of the robot.
- the collision detection device 1 further includes an error calculation means 7 located outside the robot control device 2.
- the drive torque calculation means 3 outputs information indicating the estimated torque, which is an estimated value of the drive torque, to the error calculation means 7.
- the conversion means 6 outputs information indicating the measured torque to the error calculation means 7.
- the error calculating means 7 calculates the torque estimation error, which is the difference between the measured torque and the estimated torque, by subtracting the estimated torque calculated by the drive torque calculating means 3 from the measured torque obtained by the converting means 6.
- the error calculation means 7 outputs information indicating the torque estimation error to the torque estimation error model learning means 5.
- the torque estimation error model learning means 5 receives information indicating an operating state quantity output from the operating state calculating means 4 and information indicating a torque estimation error output from the error calculating means 7 when learning is performed.
- the torque estimation error model learning means 5 has a learning means 5a that uses a nonparametric method for each axis.
- the learning means 5a uses Gaussian process regression.
- the nonparametric learning means 5a may use kernel density estimation or the K-nearest neighbor method.
- the output of the operating state calculation means 4 is set to x1, x2, ..., Xn, and the measured torque corresponding to xi and the estimated torque calculated by the drive torque calculating means 3
- y be the difference between.
- n is an integer of 2 or more
- i is an integer of 1 or more and n or less.
- the Gaussian kernel and the Radial Basis Function (RBF) kernel are well known as the kernel function of the Gaussian process regression, and the torque estimation error model learning means 5 adopts the RBF as the kernel function.
- the torque estimation error model learning means 5 may use a kernel function other than the RBF, for example, an exponential kernel or a periodic kernel.
- the torque estimation error model learning means 5 obtains a torque estimation error model for calculating the predicted distribution of y * with respect to the new input x * after the learning is completed.
- the following equation (2) shows an example of a torque estimation error model.
- x * , D) N (k * TK -1 y, k ** -k * TK -1 k * ) ...
- the k * of the formula (2) is represented by the following formula (3), and the k ** of the formula (2) is represented by the following formula (4).
- k * (k (x * , x1), k (x * , x2), ..., k (x * , xn)) T ...
- k ** k (x * , x * ) ⁇ ⁇ ⁇ (4)
- k () is a kernel function.
- K is a matrix called a kernel matrix, and the ij component of the matrix is k (xi, xj).
- j is an integer of 1 or more and n or less.
- N (b, ⁇ 2 ) is a probability density function of a Gaussian distribution with mean b and variance ⁇ 2 .
- the robot control device 2 further includes a threshold value calculation means 8 for receiving information indicating a motor position.
- the torque estimation error model learning means 5 outputs information indicating the torque estimation error model to the threshold value calculation means 8.
- the threshold value calculation means 8 calculates a threshold value based on the torque estimation error model learned by the torque estimation error model learning means 5. Specifically, the threshold value calculation means 8 performs the same calculation as the calculation performed by the operation state calculation means 4.
- the operating state calculation means 4 calculates the motor speed
- the motor speed is calculated, when the motor acceleration is calculated, the motor acceleration is calculated, and some of the elements of the drive torque, for example, the inertial force M (q) a.
- the calculation of the inertial force M (q) a is performed.
- the threshold calculation means 8 calculates the motor speed by making a difference with respect to the motor position, and calculates the speed of each axis of the robot by converting the motor speed into the output speed of the transmission mechanism of each axis of the robot. ..
- the threshold value calculation means 8 performs the calculation of the equation (2) with the speed of each axis as x * of the equation (2).
- the robot control device 2 further includes a collision determination means 9.
- the threshold value calculation means 8 sets the upper limit value and the lower limit value in the range of ⁇ 2 ⁇ as threshold values, and outputs information indicating the threshold value to the collision determination means 9.
- the calculation may be performed as defined, or a method for reducing the calculation amount of Gaussian process regression such as the auxiliary variable method may be used.
- the collision determination means 9 determines the difference between the drive torque calculated based on the motor current for driving the robot and the estimated value calculated by the drive torque calculation means 3 and the threshold value calculated by the threshold calculation means 8. By comparing, the presence or absence of a collision between the robot and the object is determined.
- the drive torque calculation means 3 outputs information indicating the calculated estimated torque to the collision determination means 9.
- the conversion means 6 outputs information indicating the measured torque to the collision determination means 9.
- the collision determination means 9 receives the information output from the drive torque calculation means 3, the conversion means 6, and the threshold value calculation means 8.
- the collision determining means 9 causes a collision between the robot and an object when the difference between the measured torque obtained by the converting means 6 and the estimated torque calculated by the drive torque calculating means 3 is equal to or greater than the upper limit value or equal to or less than the lower limit value. It is determined that it has occurred or has occurred, and the robot is stopped.
- the robot collision detection device 1 has a difference between a drive torque calculated based on a motor current for driving the robot and an estimated value calculated by the drive torque calculation means 3 and a threshold calculation means. By comparing with the threshold value calculated by 8, the collision between the robot and the object is determined.
- the threshold value calculation means 8 calculates a threshold value based on the torque estimation error model learned by the torque estimation error model learning means 5. Therefore, the collision detection device 1 of the robot takes into consideration the influence caused by the torque estimation error such as the elasticity or friction non-linearity of the transmission mechanism not modeled by the drive torque calculation means 3 and the variation of the torque estimation error. Can be set. As a result, the robot collision detection device 1 can determine with relatively high sensitivity that the robot has collided with the object when the robot collides with the object while preventing false detection.
- the collision detection device 1 of the robot uses the operation state calculation means 4 for calculating the state amount related to the operation state of the robot and the state amount calculated by the operation state calculation means 4 as the input signal of the correction function. It has a torque estimation error model learning means 5 for learning, and a threshold calculation means 8 for calculating a threshold based on the torque estimation error model learned by the torque estimation error model learning means 5. Therefore, the collision detection device 1 of the robot has an influence due to a torque estimation error that is not modeled by the drive torque calculation means 3 and has a variation in the torque estimation error because it correlates with the state quantity related to the operation state of the robot. It is possible to set a threshold value in consideration of. As a result, the robot collision detection device 1 considers the influence of unmodeled factors and determines that the robot collides with an object when the robot collides with an object around the robot while preventing false detection. It can be detected with relatively high sensitivity.
- the operation state calculation means 4 and the threshold value calculation means 8 calculate the speed of each axis obtained by converting the motor speed into the output speed of the transmission mechanism.
- the collision detection device 1 of the robot may use the motor speed as x1, x2, ..., Xn and x * instead of the speed of each axis converted into the output speed of the transmission mechanism.
- the collision detection device 1 of the robot does not have the motor speed of each axis, but the norm of the motor speed of each axis, or the norm of the speed of each axis obtained by converting the motor speed into the output speed of the transmission mechanism, x1, x2, ... , Xn and x * may be used.
- FIG. 2 is a diagram showing a configuration of a robot collision detection device 1A according to a second embodiment.
- the robot collision detection device 1A has components other than the conversion means 6 among all the components of the robot collision detection device 1 according to the first embodiment.
- the robot collision detection device 1A has a robot control device 2A having a drive torque calculation means 3, a threshold value calculation means 8, and a collision determination means 9 but not a conversion means 6.
- the differences from the first embodiment will be mainly described.
- the measured torque which is the measured value of the drive torque of each axis of the robot, is measured by the torque sensor provided in the drive unit of the robot.
- the drive unit and the torque sensor are not shown in FIG.
- the information indicating the measured torque is received by the error calculating means 7 and the collision determining means 9.
- the drive torque calculation means 3 calculates an estimated value of the drive torque excluding the friction torque of the drive unit and the acceleration / deceleration torque of the motor itself based on the following equation (5).
- ⁇ ML (q) a + h (q, v) + g (q) ...
- Equation (5) ML (q) is obtained by removing the inertia of each axis on the motor side from the torque sensor from the inertial matrix of the robot.
- the above inertia includes the inertia of the motor itself.
- the torque estimation error model learning means 5 learns the difference between the drive torque measured by the torque sensor and the estimated value of the drive torque calculated by the drive torque calculation means 3, and the variation in the difference.
- the collision discriminating means 9 compares the difference between the drive torque measured by the torque sensor and the estimated value calculated by the drive torque calculation means 3 and the threshold value calculated by the threshold calculation means 8 between the robot and the object. Determine the collision.
- the robot collision detection device 1A has the elasticity of the transmission mechanism and the tension from the cable attached to the robot based on the measured torque obtained by the torque sensor that is not affected by the motor and the transmission mechanism. It is possible to set a threshold value in consideration of the influence of the factor of the torque estimation error not modeled by the drive torque calculation means 3 and the variation of the torque estimation error. Therefore, the robot collision detection device 1A considers the influence of unmodeled factors, and while preventing false detection, has relatively high sensitivity that the robot collides with the object when the robot collides with the object. Can be determined.
- FIG. 1 is also a diagram showing a configuration of a robot collision detection device according to the third embodiment.
- the operating state calculation means 4 receives information indicating the motor position, performs a difference for the motor position, calculates the motor speed, and then converts the motor speed into the output speed of the transmission mechanism. Is calculated as the operating state quantity.
- the operating state calculation means 4 receives information indicating the motor position, performs a difference twice with respect to the motor position, calculates the motor acceleration, and then converts the motor acceleration into the output acceleration of the transmission mechanism for each axis. The acceleration of is calculated as the operating state quantity.
- the threshold value calculation means 8 When the threshold value calculation means 8 receives the information indicating the motor position, the threshold value calculation means 8 performs the same calculation as the calculation performed by the operation state calculation means 4. Specifically, the threshold value calculation means 8 calculates the motor acceleration by making a difference twice with respect to the motor position, and calculates the acceleration of each axis obtained by converting the motor acceleration into the output acceleration of the transmission mechanism. Next, the threshold value calculation means 8 performs the calculation of the equation (2) with the acceleration of each axis derived for each axis as x * of the equation (2). Since the matters other than the above-mentioned matters are the same as those in the first embodiment, the description of the matters other than the above-mentioned matters will be omitted.
- the robot collision detection device can correct the influence of the torque estimation error of each axis, which has a correlation with the acceleration or the acceleration norm of each axis, with relatively high accuracy.
- the operation state calculation means 4 and the threshold value calculation means 8 calculate the acceleration of each axis obtained by converting the motor acceleration into the output acceleration of the transmission mechanism.
- the motor acceleration may be used for the calculation of the equation (2) or the learning by the torque estimation error model learning means 5.
- the norm of the motor acceleration of each axis or the norm of the acceleration of each axis converted from the motor acceleration to the output acceleration of the transmission mechanism is used as x1, x2, ..., xn and x *. May be good.
- FIG. 1 is also a diagram showing a configuration of a collision detection device for a robot according to a fourth embodiment.
- the operating state calculation means 4 receives information indicating the motor position, performs a difference for the motor position, calculates the motor speed, and then converts the motor speed into the output speed of the transmission mechanism. Is calculated as the operating state quantity.
- the operating state calculation means 4 receives information indicating the motor position, performs a difference for the motor position, calculates the motor speed and the motor acceleration, and then converts the motor speed into the output speed of the transmission mechanism.
- the speed of the shaft is calculated, the acceleration of each shaft converted from the motor acceleration into the output acceleration of the transmission mechanism is calculated, and the operating state amount ⁇ is calculated based on the following equation (6).
- the calculated operating state quantity ⁇ is used for learning by the torque estimation error model learning means 5.
- ⁇ M (q) a + h (q, v) + g (q) ... (6)
- the threshold value calculation means 8 Upon receiving the information indicating the motor position, the threshold value calculation means 8 calculates the motor speed and the motor acceleration in the same manner as the operation state calculation means 4. The threshold calculation means 8 calculates the speed of each axis in which the motor speed is converted into the output speed of the transmission mechanism and the acceleration of each axis in which the motor acceleration is converted into the output acceleration of the transmission mechanism, and is based on the equation (6). The calculation of the equation (2) is performed with the elements of each axis of the operating state quantity ⁇ calculated in the above as x * of the equation (2). Since the matters other than the above-mentioned matters are the same as those in the first embodiment, the description of the matters other than the above-mentioned matters will be omitted.
- the robot collision detection device can correct the influence of the drive torque of each axis or the torque estimation error of each axis that correlates with the drive torque with relatively high accuracy.
- the operating state calculation means 4 uses the sum of the elements M (q) a, h (q, v) and g (q) of the equation (6) as the operating state quantity. Since M (q) a, h (q, v) and g (q) are all part of the drive torque element and do not include the frictional force f (v), M (q) a, h ( The sum of q, v) and g (q) is also an example of some of the drive torque elements. However, the operating state calculation means 4 may use any one of M (q) a, h (q, v) and g (q) as the operating state quantity. In this case as well, it is an example of using a part of the drive torque element.
- the threshold value calculation means 8 may carry out the calculation of the equation (6), or may use the calculation result of the drive torque calculation means 3. Further, the same as the calculation result of the equation (1) in which the frictional force f (v) is added instead of the sum of the elements M (q) a, h (q, v) and g (q) of the equation (6) is obtained. It may be an operating state quantity. When the same calculation result of the formula (1) is used as the operating state quantity, the threshold value calculation means 8 may perform the calculation of the formula (1) or may use the calculation result of the drive torque calculation means 3. good.
- FIG. 3 is a diagram showing the configuration of the robot collision detection device 1B according to the fifth embodiment.
- the robot collision detection device 1B has components other than the drive torque calculation means 3 among all the components of the robot collision detection device 1 according to the first embodiment.
- the robot collision detection device 1B has a drive torque calculation means 3B instead of the drive torque calculation means 3.
- the robot collision detection device 1B includes a robot control device 2B having a drive torque calculation means 3B, a conversion means 6, a threshold value calculation means 8, and a collision determination means 9.
- the robot collision detection device 1B further includes a parameter identification means 10 located outside the robot control device 2B.
- the parameter identification means 10 may be located inside the robot control device 2B.
- the differences from the first embodiment will be mainly described.
- the parameter identification means 10 identifies the value of the parameter of the equation of motion used by the drive torque calculation means 3B based on the pre-measured data. That is, the parameter identification means 10 identifies all or a part of the parameters of the equation of motion of the robot of the equation (1).
- the parameter identification means 10 identifies all the parameters of the equation of motion of the robot in the equation (1), the calculation result using the parameters themselves such as the mass, the position of the center of gravity and the friction coefficient, or two or more parameters such as the mass ⁇ the position of the center of gravity.
- the equation (1) is transformed into the following equation (7) by using the vector p composed of the new parameters.
- the parameter identification means 10 uses the least squares method based on the vector Y p derived based on the position, velocity and acceleration at each time and the drive torque ⁇ when the vector Y p is derived, and the parameter p. Is calculated.
- the calculated parameter p is used in the calculation performed by the drive torque calculation means 3B using the equation (1). That is, the drive torque calculation means 3B calculates the estimated value of the drive torque using the value of the parameter identified by the parameter identification means 10.
- ⁇ 0 is defined by the following equation (9).
- ⁇ 0 M 0 (q) a + h 0 (q, v) + g 0 (q) + f 0 (v) ...
- the calculated parameter p 1 is used in the calculation performed by the drive torque calculation means 3B using the equation (1).
- the difference between the drive torque calculation means 3B and the drive torque calculation means 3 is that the drive torque calculation means 3B uses the calculated parameter p or the calculated parameter p1.
- the robot collision detection device 1B improves the accuracy of the parameter values of the model related to the dynamic characteristics of the robot, prevents false detection, and causes the robot to collide with the object. It is possible to detect a collision with relatively high sensitivity. Furthermore, the robot collision detection device 1B has relatively high sensitivity that the robot collides with the object when the robot collides with the object while preventing false detection even if the above parameter value is unknown. Can be detected.
- FIG. 4 is a diagram showing the configuration of the robot collision detection device 1C according to the sixth embodiment.
- the robot collision detection device 1C has components other than the drive torque calculation means 3 among all the components of the robot collision detection device 1 according to the first embodiment.
- the robot collision detection device 1C has a drive torque calculation means 3C instead of the drive torque calculation means 3.
- the robot collision detection device 1C further includes an online parameter identification means 11.
- the robot collision detection device 1C includes a robot control device 2C having a drive torque calculation means 3C, a conversion means 6, a threshold value calculation means 8, a collision determination means 9, and an online parameter identification means 11.
- the differences from the first embodiment will be mainly described.
- the online parameter identification means 11 identifies the value of the parameter of the equation of motion used by the drive torque calculation means 3C based on the data during the operation of the robot. For example, the online parameter identification means 11 uses the adaptive identification method to set the values of the parameters of the equation of motion of the equation (1) whose values are unknown and the values of the parameters whose values fluctuate during the operation of the robot. Identified during robot movement. The online parameter identification means 11 identifies all or a part of the parameters of the equation of motion of the robot of the equation (1).
- ⁇ of the equation (7) in the kth identification cycle is ⁇ [k] and Y p is Y p [k]. ]
- the identification value of p in the kth identification cycle is p [k]
- the identification cycle is moit, and the identification is performed based on the following equations (10), (11) and (12).
- k is an integer of 1 or more and n or less.
- R [k] R [k-1] + moit * (-k1 * R [k-1] + Y p [k] Y p [k] T ) ...
- r [k] r [k-1] + moit * (-k1 * r [k-1] + ⁇ [k] * Y p [k]) ...
- p [k] p [k-1] -mot * G1 ⁇ (R [k] ⁇ p [k-1] -r [k]) ...
- k1 is a weighting coefficient for adjusting the speed of identification
- G1 is a gain matrix for adjusting the speed of identification.
- the online parameter identification means 11 When the online parameter identification means 11 identifies a part of the parameters of the equation of motion of the robot of the equation (1), in the equations (10), (11) and (12), ⁇ is replaced with ⁇ 1 and Y Replace p with Y p1 to identify the parameter p1 instead of p.
- the online parameter identification means 11 outputs information indicating the identified parameter value to the drive torque calculation means 3C.
- the drive torque calculation means 3C receives the information output from the online parameter identification means 11 and uses the parameter value indicated by the received information in the calculation of the equation of motion. That is, when the drive torque calculation means 3C calculates the estimated value of the drive torque, the value identified by the online parameter identification means 11 is used.
- the difference between the drive torque calculation means 3C and the drive torque calculation means 3 is that the drive torque calculation means 3C uses the value identified by the online parameter identification means 11 when calculating the estimated value of the drive torque.
- the online parameter identification means 11 outputs information indicating the sequentially updated parameter values to the drive torque calculation means 3C.
- the robot collision detection device 1C determines the accuracy of the value of the parameter of the model related to the dynamic characteristic of the robot even when the value of the parameter related to the dynamic characteristic of the robot fluctuates during the operation of the robot. It is possible to detect that the robot collides with the object with relatively high sensitivity when the robot collides with the object while improving and preventing false detection.
- FIG. 1 is also a diagram showing a configuration of a robot collision detection device according to the seventh embodiment.
- the operating state calculation means 4 receives information indicating the motor position, performs a difference for the motor position, calculates the motor speed, and then converts the motor speed into the output speed of the transmission mechanism. Is calculated as the operating state quantity.
- the operating state calculation means 4 receives information indicating the motor position, performs a difference with respect to the motor position, calculates the motor speed and the motor acceleration, and then converts the motor speed into the output speed of the transmission mechanism. The speed of the shaft and the acceleration of each shaft obtained by converting the motor acceleration into the output acceleration of the transmission mechanism are calculated.
- the operating state calculation means 4 calculates a vector composed of the velocity of each axis and the acceleration of each axis as the operating state quantity.
- the input element of the kernel function used by the torque estimation error model learning means 5 and the threshold calculation means 8 is a scalar quantity, but in the seventh embodiment, the element is a vector quantity.
- the robot collision detection device according to the seventh embodiment can correct the influence of the torque estimation error of each axis, which correlates with both the acceleration and the velocity of each axis, with relatively high accuracy.
- the vector acceleration may be replaced with a value obtained by multiplying the acceleration of each axis obtained by converting the motor acceleration into the output acceleration of the transmission mechanism by the weighting coefficient.
- the operating state calculation means 4 may calculate not only the velocity and acceleration of the axis to be learned but also a vector composed of the velocities and accelerations of all the axes as the operating state quantity.
- the operating state calculation means 4 may calculate a vector composed of the positions of all the axes, the velocities of all the axes, and the result of multiplying the accelerations of all the axes by weights as the operating state quantity.
- FIG. 5 is a diagram showing the configuration of the robot collision detection device 1D according to the eighth embodiment.
- the robot collision detection device 1D has components other than the threshold value calculation means 8 among all the components of the robot collision detection device 1 according to the first embodiment.
- the robot collision detection device 1D has a threshold value calculation means 8D instead of the threshold value calculation means 8.
- the robot collision detection device 1D includes a robot control device 2D having a drive torque calculation means 3, a conversion means 6, a threshold value calculation means 8D, and a collision determination means 9.
- the robot collision detection device 1D further includes an approximate function learning means 12 located outside the robot control device 2D.
- the differences from the first embodiment will be mainly described.
- the approximate function learning means 12 learns an approximate function based on the torque estimation error model learned by the torque estimation error model learning means 5. Specifically, the approximate function learning means 12 receives the equation (2) for calculating the predicted distribution and the data used for deriving the equation (2). When data is added, the approximation function learning means 12 also receives the output of the operating state calculation means 4. The approximate function learning means 12 combines the functions and parameters built in the equation (2), the data used for learning by the torque estimation error model learning means 5, and the data newly added from the operating state calculation means 4. By using this, an approximate function whose output is the upper limit value and the lower limit value in the range of ⁇ 2 ⁇ of the estimated value of the torque estimation error is acquired by learning.
- the approximation function is a feedforward type neural network or a recurrent type neural network.
- the approximate function learning means 12 outputs information indicating the learned approximate function to the threshold value calculation means 8D.
- the threshold value calculation means 8D calculates the threshold value using the approximation function learned by the approximation function learning means 12. That is, the threshold value calculation means 8D calculates the threshold value using the approximation function derived by the approximation function learning means 12. Specifically, when the threshold calculation means 8D receives the information indicating the motor position, the threshold calculation means 8D performs the same calculation as the operation state calculation means 4, inputs the calculation result into the approximation function obtained from the approximation function learning means 12, and inputs the approximation function. The calculation result in is output to the collision determination means 9 as the + side and-side thresholds.
- the threshold on the + side is the above-mentioned upper limit value, and the threshold on the-side is the above-mentioned lower limit value. Since the matters other than the above-mentioned matters are the same as those in the first embodiment, the description of the matters other than the above-mentioned matters will be omitted.
- the robot collision detection device 1D uses an approximate function instead of using the torque estimation error model for the calculation of the threshold value, the amount of calculation of the threshold value can be relatively small, and therefore, the threshold value can be calculated. The calculation can be performed in a relatively short time.
- FIG. 6 is a diagram showing a configuration of the robot collision detection device 1E according to the ninth embodiment.
- the robot collision detection device 1E has components other than the torque estimation error model learning means 5 and the threshold value calculation means 8 among all the components of the robot collision detection device 1 according to the first embodiment.
- the robot collision detection device 1E has a torque estimation error model learning means 5E instead of the torque estimation error model learning means 5, and has a threshold calculation means 8E instead of the threshold calculation means 8.
- the robot collision detection device 1E further includes a temperature measuring means 13 for measuring the temperature.
- the temperature measuring means 13 is a temperature sensor attached to an encoder that measures the angle of the motor of each axis of the robot.
- the robot collision detection device 1E includes a robot control device 2E having a drive torque calculation means 3, a conversion means 6, a threshold value calculation means 8E, a collision determination means 9, and a temperature measuring means 13.
- a robot control device 2E having a drive torque calculation means 3, a conversion means 6, a threshold value calculation means 8E, a collision determination means 9, and a temperature measuring means 13.
- the differences from the first embodiment will be mainly described.
- the temperature measuring means 13 outputs information indicating the measured temperature to the torque estimation error model learning means 5E.
- the torque estimation error model learning means 5E performs learning using the temperature measured by the temperature measuring means 13.
- the torque estimation error model learning means 5 uses the speed of each axis of the robot as an input of Gaussian process regression when learning.
- the torque estimation error model learning means 5E uses a vector composed of the velocity of each axis and the temperature of each axis as an input of Gaussian process regression of each axis of the robot.
- the torque estimation error model learning means 5E and the torque estimation error are that the torque estimation error model learning means 5E uses a vector composed of the speed of each axis and the temperature of each axis as the input of the Gaussian process regression of each axis of the robot. This is a difference from the model learning means 5.
- the temperature of each of the above axes may be replaced with a value obtained by multiplying the temperature of each of the above axes by a weighting factor.
- the temperature measuring means 13 When the robot collision detection device 1E determines whether or not there is a collision between the robot and an object while the robot is operating, the temperature measuring means 13 outputs information indicating the measured temperature to the threshold value calculating means 8E.
- the threshold value calculation means 8E calculates the threshold value using the temperature measured by the temperature measuring means 13.
- the input element of the kernel function used by the threshold value calculation means 8 is the velocity of each axis.
- the threshold value calculation means 8E uses a vector composed of the velocity of each axis and the temperature of each axis.
- the threshold value calculation means 8E calculates the threshold value using the temperature measured by the temperature measuring means 13.
- the difference between the threshold value calculation means 8E and the threshold value calculation means 8 is that the threshold value calculation means 8E calculates the threshold value using the temperature measured by the temperature measurement means 13.
- the threshold calculation means 8E uses the weight coefficient for the speed of each axis and the temperature of each axis. Use a vector composed of the values obtained by multiplying by. Since the matters other than the above-mentioned matters are the same as those in the first embodiment, the description of the matters other than the above-mentioned matters will be omitted.
- the robot collision detection device 1E can correct the influence of the torque estimation error of each axis, which correlates with the temperature of each axis, with relatively high accuracy, and thus prevents erroneous detection.
- the robot collides with an object it can be detected with relatively high sensitivity that the robot collides with the object.
- FIG. 7 shows the drive torque calculation means 3, the operating state calculation means 4, the torque estimation error model learning means 5, the conversion means 6, the error calculation means 7, and the threshold value calculation means included in the collision detection device 1 of the robot according to the first embodiment. It is a figure which shows the processor 71 when at least a part of 8 and the collision determination means 9 is realized by a processor 71. That is, at least a part of the functions of the drive torque calculation means 3, the operation state calculation means 4, the torque estimation error model learning means 5, the conversion means 6, the error calculation means 7, the threshold calculation means 8, and the collision determination means 9 are stored in the memory 72. It may be realized by a processor 71 that executes a program stored in.
- the processor 71 is a CPU (Central Processing Unit), a processing device, an arithmetic unit, a microprocessor, or a DSP (Digital Signal Processor).
- FIG. 7 also shows the memory 72.
- the processor 71 realizes at least a part of the functions of the drive torque calculation means 3, the operation state calculation means 4, the torque estimation error model learning means 5, the conversion means 6, the error calculation means 7, the threshold calculation means 8, and the collision determination means 9. If so, at least some of the functions are realized by the processor 71 and software, firmware, or a combination of software and firmware.
- the software or firmware is described as a program and stored in the memory 72. By reading and executing the program stored in the memory 72, the processor 71 reads and executes a drive torque calculation means 3, an operating state calculation means 4, a torque estimation error model learning means 5, a conversion means 6, an error calculation means 7, and a threshold calculation. At least a part of the functions of the means 8 and the collision determination means 9 are realized.
- the robot collision detection device 1 is driven by a drive torque calculation means 3, an operating state calculation means 4, a torque estimation error model learning means 5, a conversion means 6, an error calculation means 7, a threshold calculation means 8, and a collision determination means 9. It has a memory 72 for storing a program for which at least a part of the steps to be executed will be executed as a result.
- the program stored in the memory 72 is executed by the drive torque calculation means 3, the operation state calculation means 4, the torque estimation error model learning means 5, the conversion means 6, the error calculation means 7, the threshold calculation means 8, and the collision determination means 9. It can also be said to cause a computer to perform at least a part of a procedure or method.
- the memory 72 is, for example, 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).
- RAM Random Access Memory
- ROM Read Only Memory
- flash memory EPROM (Erasable Programmable Read Only Memory)
- EEPROM registered trademark
- it is a volatile semiconductor memory, magnetic disk, flexible disk, optical disk, compact disk, mini disk, DVD (Digital Versatile Disk), or the like.
- FIG. 8 shows a drive torque calculation means 3, an operating state calculation means 4, a torque estimation error model learning means 5, a conversion means 6, an error calculation means 7, and a threshold value calculation means included in the collision detection device 1 of the robot according to the first embodiment. It is a figure which shows the processing circuit 81 when at least a part of 8 and a collision discriminating means 9 is realized by a processing circuit 81. That is, at least a part of the drive torque calculation means 3, the operation state calculation means 4, the torque estimation error model learning means 5, the conversion means 6, the error calculation means 7, the threshold value calculation means 8, and the collision determination means 9 is provided by the processing circuit 81. It may be realized.
- the processing circuit 81 is dedicated hardware.
- the processing circuit 81 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.
- a part of the drive torque calculation means 3, the operation state calculation means 4, the torque estimation error model learning means 5, the conversion means 6, the error calculation means 7, the threshold calculation means 8, and the collision determination means 9 are dedicated hardware separate from the rest. It may be realized by hardware.
- the part may be realized by software or firmware, and the rest of the plurality of functions may be realized by dedicated hardware.
- the plurality of functions of the drive torque calculation means 3, the operating state calculation means 4, the torque estimation error model learning means 5, the conversion means 6, the error calculation means 7, the threshold calculation means 8, and the collision determination means 9 are hardware. , Software, firmware, or a combination thereof.
- Some functions may be realized by a processor that executes a program stored in memory.
- the memory is the same memory as the memory 72, and the processor is the same processor as the processor 71.
- At least a part of the above-mentioned drive torque calculation means 3, operating state calculation means 4, torque estimation error model learning means 5, error calculation means 7, threshold value calculation means 8, and collision determination means 9 may be realized by a processing circuit. ..
- the processing circuit is the same processing circuit as the processing circuit 81.
- At least some of the functions of the means 8 and the collision determination means 9 may be realized by a processor that executes a program stored in the memory.
- the memory is the same memory as the memory 72, and the processor is the same processor as the processor 71.
- At least a part of the means 8 and the collision determination means 9 may be realized by a processing circuit.
- the processing circuit is the same processing circuit as the processing circuit 81.
- At least some of the functions of means 9 and parameter identification means 10 may be realized by a processor that executes a program stored in memory.
- the memory is the same memory as the memory 72, and the processor is the same processor as the processor 71.
- At least a part of the above-mentioned drive torque calculation means 3B, operation state calculation means 4, torque estimation error model learning means 5, conversion means 6, error calculation means 7, threshold value calculation means 8, collision determination means 9, and parameter identification means 10. May be realized by a processing circuit.
- the processing circuit is the same processing circuit as the processing circuit 81.
- At least some of the functions of means 9 and online parameter identification means 11 may be realized by a processor that executes a program stored in memory.
- the memory is the same memory as the memory 72, and the processor is the same processor as the processor 71.
- At least a part of the above-mentioned drive torque calculation means 3C, operation state calculation means 4, torque estimation error model learning means 5, conversion means 6, error calculation means 7, threshold value calculation means 8, collision determination means 9, and online parameter identification means 11. May be realized by a processing circuit.
- the processing circuit is the same processing circuit as the processing circuit 81.
- At least some of the functions of the means 9 and the approximate function learning means 12 may be realized by a processor that executes a program stored in the memory.
- the memory is the same memory as the memory 72, and the processor is the same processor as the processor 71.
- At least a part of the above-mentioned drive torque calculation means 3, operating state calculation means 4, torque estimation error model learning means 5, conversion means 6, error calculation means 7, threshold calculation means 8D, collision discrimination means 9, and approximation function learning means 12. May be realized by a processing circuit.
- the processing circuit is the same processing circuit as the processing circuit 81.
- At least some of the functions of the means 9 and the temperature measuring means 13 may be realized by a processor that executes a program stored in the memory.
- the memory is the same memory as the memory 72, and the processor is the same processor as the processor 71.
- At least a part of the above-mentioned drive torque calculation means 3, operating state calculation means 4, torque estimation error model learning means 5E, conversion means 6, error calculation means 7, threshold value calculation means 8E, collision determination means 9, and temperature measurement means 13. May be realized by a processing circuit.
- the processing circuit is the same processing circuit as the processing circuit 81.
- the configuration shown in the above embodiments is an example, and can be combined with another known technique, can be combined with each other, and does not deviate from the gist. It is also possible to omit or change a part of the configuration.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
ロボットの衝突検知装置(1)は、ロボットの駆動トルクの推定値を演算する駆動トルク演算手段(3)と、ロボットを駆動するためのモータ電流をもとに算出された駆動トルクと駆動トルク演算手段(3)によって算出された推定値との差と差のばらつきとを学習するトルク推定誤差モデル学習手段(5)と、トルク推定誤差モデル学習手段(5)が学習したトルク推定誤差モデルをもとに閾値を演算する閾値演算手段(8)と、ロボットを駆動するためのモータ電流をもとに算出された駆動トルクと駆動トルク演算手段(3)によって算出された推定値との差と閾値演算手段(8)によって算出された閾値とを比較することでロボットと物体との衝突を判別する衝突判別手段(9)とを有する。
Description
本開示は、ロボットがロボットの周辺の物体に衝突した場合にロボットが物体に衝突したことを検知するロボットの衝突検知装置に関する。
従来、ロボットは、ロボットがロボットの周辺の装置又は作業者と接触又は衝突した場合にロボットが装置又は作業者と接触又は衝突したことを検知して動作を停止することで、ロボットの周辺の装置又は作業者及びロボット自体が損傷することを防止する。従来、ロボットコントローラは、ロボットが実施している動作を行うために必要なトルクの値を演算すると共に、実際のモータ電流値又は駆動機構部に設けられたトルクセンサの測定値をもとにトルク計測値を導出する。ロボットコントローラは、必要なトルクの値とトルク計測値とを比較し、必要なトルクの値とトルク計測値との差が閾値を超えた場合、ロボットがロボットの周辺の装置又は作業者に衝突したと判定する。ロボットがロボットの周辺の装置又は作業者と衝突したことを高感度に検知するためには、誤検知を引き起こすことなく閾値をできるだけ小さくする技術が必要である。
特許文献1は、ロボットの慣性力及び摩擦力に関連するパラメータを推定し、推定したパラメータを用いてロボットが実施している動作を行うために必要なトルクの演算の精度又は推定の精度を向上させる技術を開示している。特許文献1は、必要なトルクを演算する演算部でモデル化されていない要因の影響を、ハイパスフィルタを用いることで低減する技術も開示している。
従来の技術は、例えばロボットの手先に取り付けられたハンドが把持するワークの変化の影響といったロボットの動力学に関連するパラメータの変動には対応しているものの、同じ条件でロボットを動作させた場合のトルクがばらつく影響を考慮していない。つまり、従来の技術では、トルクのばらつきが大きい動作では、ロボットがロボットの周辺の装置又は作業者に衝突していないにも関わらず衝突が発生したと誤って検知する恐れがある。また、従来の技術では、例えば伝達機構に起因する弾性の影響又は摩擦の非線形性といったモデル化されていない要因の影響を除去するためにハイパスフィルタが用いられるが、例えばロボットがロボットの周辺の装置又は作業者にゆっくり押し当たるといった衝突が発生する場合、高周波領域の誤差のみを考慮するだけでは検知しにくい衝突を見逃す恐れもある。
本開示は、上記に鑑みてなされたものであって、モデル化されていない要因の影響を考慮すると共に、誤検知を防止しながらロボットがロボットの周辺の物体に衝突した場合にロボットが物体に衝突したことを比較的高感度に検知するロボットの衝突検知装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本開示にかかるロボットの衝突検知装置は、ロボットの駆動トルクの推定値を演算する駆動トルク演算手段と、ロボットを駆動するためのモータ電流をもとに算出された駆動トルクあるいは駆動部に備えたトルクセンサから導出した駆動トルクと駆動トルク演算手段によって算出された推定値との差と差のばらつきとを学習するトルク推定誤差モデル学習手段と、トルク推定誤差モデル学習手段が学習したトルク推定誤差モデルをもとに閾値を演算する閾値演算手段と、ロボットを駆動するためのモータ電流をもとに算出された駆動トルクと駆動トルク演算手段によって算出された推定値との差と閾値演算手段によって算出された閾値とを比較することでロボットと物体との衝突を判別する衝突判別手段とを有する。
本開示にかかるロボットの衝突検知装置は、モデル化されていない要因の影響をそのばらつき含め考慮すると共に、誤検知を防止しながらロボットがロボットの周辺の物体に衝突した場合にロボットが物体に衝突したことを比較的高感度に検知することができるという効果を奏する。
以下に、実施の形態にかかるロボットの衝突検知装置を図面に基づいて詳細に説明する。
実施の形態1.
図1は、実施の形態1にかかるロボットの衝突検知装置1の構成を示す図である。以下では、ロボットの衝突検知装置1を「衝突検知装置1」と記載する場合がある。衝突検知装置1は、ロボットを制御するロボット制御装置2を有する。図1には、ロボットは示されていない。
図1は、実施の形態1にかかるロボットの衝突検知装置1の構成を示す図である。以下では、ロボットの衝突検知装置1を「衝突検知装置1」と記載する場合がある。衝突検知装置1は、ロボットを制御するロボット制御装置2を有する。図1には、ロボットは示されていない。
ロボット制御装置2は、ロボットを駆動する各軸のモータ位置を示す情報を受け取ってロボットの駆動トルクの推定値を演算する駆動トルク演算手段3を有する。駆動トルク演算手段3は、モータ位置について差分を行って各軸のモータ速度とモータ加速度とを算出する。駆動トルク演算手段3は、モータ位置、モータ速度及びモータ加速度と、下記のロボットの運動方程式(1)とをもとに、ロボットの駆動トルクを算出する。
τ=M(q)a+h(q,v)+g(q)+f(v) ・・・(1)
τ=M(q)a+h(q,v)+g(q)+f(v) ・・・(1)
式(1)において、“τ”はロボットの各軸の駆動トルクから構成されるベクトルであり、“q”はロボットの各軸のモータ位置を伝達機構の出力位置に換算したロボットの各軸の位置で構成されるベクトルである。“a”はモータ加速度をロボットの各軸の伝達機構の出力加速度に換算したロボットの各軸の加速度で構成されるベクトルであり、“v”はモータ速度をロボットの各軸の伝達機構の出力速度に換算したロボットの各軸の速度で構成されるベクトルである。
M(q)aはロボットの各軸の慣性力であり、h(q,v)は遠心コリオリ力であり、g(q)は重力であり、f(v)は摩擦力であり、いずれも駆動トルクの要素となっている。摩擦力は、速度方向に対応して決まるクーロン摩擦力と、速度の向きと大きさとで決まる粘性摩擦力との和である。最も簡単な粘性摩擦力のモデルは速度比例のモデルであり、実施の形態1では速度比例の粘性摩擦モデルが採用される。粘性摩擦力のモデルは、速度の多項式のモデル、又は速度の指数乗のモデルであってもよい。
衝突検知装置1は、ロボット制御装置2の外部に位置する動作状態演算手段4を更に有する。動作状態演算手段4は、ロボットの動作の状態に関連する状態量を演算する。更に言うと、動作状態演算手段4は、モータ速度に関連する情報と、モータ加速度に関連する情報と、ロボットの駆動トルクの要素の一部とのうちの全部又は一部を含む状態量を演算する。ロボットの駆動トルクの要素の一部とは、慣性力M(q)a、遠心コリオリ力h(q,v)、重力g(q)、摩擦力f(v)のいずれか、もしくはM(q)a+h(q,v)など駆動トルク要素同士の和である。実施の形態1では、動作状態演算手段4は、モータ位置を示す情報を受け取り、モータ位置について差分を行ってモータ速度を算出し、モータ速度をロボットの各軸の伝達機構の出力速度に換算したロボットの各軸の速度を示す動作状態量を算出する。
衝突検知装置1は、ロボット制御装置2の外部に位置するトルク推定誤差モデル学習手段5を更に有する。トルク推定誤差モデル学習手段5は、ロボットを駆動するためのモータ電流をもとに算出された駆動トルクと駆動トルク演算手段3によって算出された駆動トルクの推定値との差と差のばらつきとを学習する。動作状態演算手段4は、動作状態量を示す情報をトルク推定誤差モデル学習手段5に出力する。トルク推定誤差モデル学習手段5は、動作状態演算手段4によって算出された状態量を補正関数の入力信号として学習を行う。動作状態演算手段4及びトルク推定誤差モデル学習手段5の一方又は双方は、ロボット制御装置2の内部に位置していてもよい。
ロボット制御装置2は、モータ電流をモータのトルク定数及び伝達機構の速比に対応して換算してロボットの各軸の駆動トルクの測定値である計測トルクを算出する換算手段6を更に有する。衝突検知装置1は、ロボット制御装置2の外部に位置する誤差算出手段7を更に有する。駆動トルク演算手段3は、駆動トルクの推定値である推定トルクを示す情報を誤差算出手段7に出力する。換算手段6は、計測トルクを示す情報を誤差算出手段7に出力する。誤差算出手段7は、換算手段6によって得られた計測トルクから駆動トルク演算手段3によって算出された推定トルクを差し引いて計測トルクと推定トルクとの差であるトルク推定誤差を算出する。誤差算出手段7は、トルク推定誤差を示す情報をトルク推定誤差モデル学習手段5に出力する。
トルク推定誤差モデル学習手段5は、学習を行う際、動作状態演算手段4から出力された動作状態量を示す情報と、誤差算出手段7から出力されたトルク推定誤差を示す情報とを受け取る。トルク推定誤差モデル学習手段5は、軸毎に、ノンパラメトリックな手法を用いる学習手段5aを有する。学習手段5aは、ガウス過程回帰を用いる。ノンパラメトリックな学習手段5aは、カーネル密度推定又はK近傍法を用いてもよい。
トルク推定誤差モデル学習手段5が学習を行う際、動作状態演算手段4の出力をx1,x2,・・・,xnとし、xiに対応する計測トルクと駆動トルク演算手段3によって算出された推定トルクとの差をyiとする。nは2以上の整数であり、iは1以上n以下の整数である。トルク推定誤差モデル学習手段5は、入力xと出力yとで構成されるn個のペアD={(x1,y1),(x2,y2),・・・,(xn,yn)}を学習データとして、ガウス過程回帰で使用するカーネル関数のハイパーパラメータを学習する。ガウス過程回帰のカーネル関数としてガウスカーネル及び動径基底関数(Radial Basis Function,RBF)カーネルがよく知られており、トルク推定誤差モデル学習手段5は、カーネル関数としてRBFを採用する。トルク推定誤差モデル学習手段5は、RBF以外のカーネル関数、例えば、指数カーネル又は周期カーネルを用いてもよい。
トルク推定誤差モデル学習手段5は、学習を終了した後、新たな入力x*に対するy*の予測分布を算出するためのトルク推定誤差モデルを得る。下記の式(2)は、トルク推定誤差モデルの例を示している。
P(y*|x*,D)=N(k*TK-1y,k**-k*TK-1k*) ・・・(2)
式(2)のk*は下記の式(3)で示され、式(2)のk**は下記の式(4)で示される。
k*=(k(x*,x1),k(x*,x2),・・・,k(x*,xn))T ・・・(3)
k**=k(x*,x*) ・・・(4)
k()は、カーネル関数である。Kはカーネル行列と呼ばれる行列であって、当該行列の第ij成分はk(xi,xj)である。jは1以上n以下の整数である。N(b,σ2)は、平均がbであって分散がσ2であるガウス分布の確率密度関数である。
P(y*|x*,D)=N(k*TK-1y,k**-k*TK-1k*) ・・・(2)
式(2)のk*は下記の式(3)で示され、式(2)のk**は下記の式(4)で示される。
k*=(k(x*,x1),k(x*,x2),・・・,k(x*,xn))T ・・・(3)
k**=k(x*,x*) ・・・(4)
k()は、カーネル関数である。Kはカーネル行列と呼ばれる行列であって、当該行列の第ij成分はk(xi,xj)である。jは1以上n以下の整数である。N(b,σ2)は、平均がbであって分散がσ2であるガウス分布の確率密度関数である。
ロボット制御装置2は、モータ位置を示す情報を受け取る閾値演算手段8を更に有する。トルク推定誤差モデル学習手段5は、トルク推定誤差モデルを示す情報を閾値演算手段8に出力する。閾値演算手段8は、トルク推定誤差モデル学習手段5が学習したトルク推定誤差モデルをもとに閾値を演算する。具体的には、閾値演算手段8は、動作状態演算手段4が行う演算と同じ演算を実施する。動作状態演算手段4でモータ速度の演算を行った場合はモータ速度の演算、モータ加速度の演算を行った場合はモータ加速度の演算、駆動トルクの要素の一部、例えば慣性力M(q)aの演算を行った場合は、慣性力M(q)aの演算を行う。実施の形態1では、閾値演算手段8は、モータ位置について差分を行ってモータ速度を算出し、モータ速度をロボットの各軸の伝達機構の出力速度に換算したロボットの各軸の速度を演算する。閾値演算手段8は、各軸の速度を式(2)のx*として式(2)の演算を実施する。
ロボット制御装置2は、衝突判別手段9を更に有する。閾値演算手段8は、式(2)の演算を実施した後、±2σの範囲の上限値と下限値とを閾値とし、閾値を示す情報を衝突判別手段9に出力する。閾値演算手段8は、式(2)の計算を行う際、定義の通りの計算を行ってもよいし、例えば補助変数法といったガウス過程回帰の計算量を削減する方法を用いてもよい。衝突判別手段9は、ロボットを駆動するためのモータ電流をもとに算出された駆動トルクと駆動トルク演算手段3によって算出された推定値との差と閾値演算手段8によって算出された閾値とを比較することでロボットと物体との衝突の有無を判別する。
駆動トルク演算手段3は、算出した推定トルクを示す情報を衝突判別手段9に出力する。換算手段6は、計測トルクを示す情報を衝突判別手段9に出力する。衝突判別手段9は、駆動トルク演算手段3、換算手段6及び閾値演算手段8から出力された情報を受け取る。衝突判別手段9は、換算手段6によって得られた計測トルクと駆動トルク演算手段3によって算出された推定トルクとの差が上限値以上又は下限値以下となった場合にロボットと物体との衝突が発生する又は発生したと判別し、ロボットを停止させる。
実施の形態1にかかるロボットの衝突検知装置1は、ロボットを駆動するためのモータ電流をもとに算出された駆動トルクと駆動トルク演算手段3によって算出された推定値との差と閾値演算手段8によって算出された閾値とを比較することでロボットと物体との衝突を判別する。閾値演算手段8は、トルク推定誤差モデル学習手段5が学習したトルク推定誤差モデルをもとに閾値を演算する。そのため、ロボットの衝突検知装置1は、駆動トルク演算手段3でモデル化されていない伝達機構の弾性又は摩擦の非線形性といったトルク推定誤差を要因とする影響とトルク推定誤差のばらつきとを考慮した閾値を設定することができる。その結果、ロボットの衝突検知装置1は、誤検知を防止しながら、ロボットが物体に衝突した場合にロボットが物体に衝突したことを比較的高感度に判定することができる。
更に言うと、ロボットの衝突検知装置1は、ロボットの動作の状態に関連する状態量を演算する動作状態演算手段4と、動作状態演算手段4によって算出された状態量を補正関数の入力信号として学習を行うトルク推定誤差モデル学習手段5と、トルク推定誤差モデル学習手段5が学習したトルク推定誤差モデルをもとに閾値を演算する閾値演算手段8とを有する。そのため、ロボットの衝突検知装置1は、ロボットの動作の状態に関連する状態量と相関があって駆動トルク演算手段3でモデル化されていないトルク推定誤差を要因とする影響とトルク推定誤差のばらつきとを考慮した閾値を設定することができる。その結果、ロボットの衝突検知装置1は、モデル化されていない要因の影響を考慮すると共に、誤検知を防止しながらロボットがロボットの周辺の物体に衝突した場合にロボットが物体に衝突したことを比較的高感度に検知することができる。
なお、実施の形態1では、動作状態演算手段4及び閾値演算手段8はモータ速度を伝達機構の出力速度に換算した各軸の速度を演算する。ロボットの衝突検知装置1は、伝達機構の出力速度に換算した各軸の速度ではなく、モータ速度をx1,x2,・・・,xn及びx*として用いてもよい。ロボットの衝突検知装置1は、各軸のモータ速度ではなく、各軸のモータ速度のノルム、又はモータ速度を伝達機構の出力速度に換算した各軸の速度のノルムをx1,x2,・・・,xn及びx*として用いてもよい。
実施の形態2.
図2は、実施の形態2にかかるロボットの衝突検知装置1Aの構成を示す図である。ロボットの衝突検知装置1Aは、実施の形態1にかかるロボットの衝突検知装置1が有するすべての構成要素のうちの換算手段6以外の構成要素を有する。ロボットの衝突検知装置1Aは、駆動トルク演算手段3、閾値演算手段8及び衝突判別手段9を有していて換算手段6を有していないロボット制御装置2Aを有する。実施の形態2では、実施の形態1との相違点を主に説明する。
図2は、実施の形態2にかかるロボットの衝突検知装置1Aの構成を示す図である。ロボットの衝突検知装置1Aは、実施の形態1にかかるロボットの衝突検知装置1が有するすべての構成要素のうちの換算手段6以外の構成要素を有する。ロボットの衝突検知装置1Aは、駆動トルク演算手段3、閾値演算手段8及び衝突判別手段9を有していて換算手段6を有していないロボット制御装置2Aを有する。実施の形態2では、実施の形態1との相違点を主に説明する。
実施の形態2では、ロボットの各軸の駆動トルクの計測値である計測トルクがロボットの駆動部に設けられたトルクセンサによって計測される。図2には、駆動部及びトルクセンサは示されていない。計測トルクを示す情報は、誤差算出手段7及び衝突判別手段9によって受け取られる。駆動トルク演算手段3は、下記の式(5)をもとに、駆動部の摩擦トルクとモータ自身の加減速トルクとを除いた駆動トルクの推定値を演算する。
τ=ML(q)a+h(q,v)+g(q) ・・・(5)
式(5)において、ML(q)はトルクセンサよりモータの側の各軸のイナーシャをロボットの慣性行列から除いたものである。上記のイナーシャは、モータ自身のイナーシャを含む。
τ=ML(q)a+h(q,v)+g(q) ・・・(5)
式(5)において、ML(q)はトルクセンサよりモータの側の各軸のイナーシャをロボットの慣性行列から除いたものである。上記のイナーシャは、モータ自身のイナーシャを含む。
トルク推定誤差モデル学習手段5は、トルクセンサによって計測された駆動トルクと駆動トルク演算手段3によって算出された駆動トルクの推定値との差と、差のばらつきとを学習する。衝突判別手段9は、トルクセンサによって計測された駆動トルクと駆動トルク演算手段3によって算出された推定値との差と閾値演算手段8によって算出された閾値とを比較することでロボットと物体との衝突を判別する。
実施の形態2にかかるロボットの衝突検知装置1Aは、モータ及び伝達機構の影響を受けないトルクセンサによって得られた計測トルクをもとに伝達機構の弾性及びロボットに取り付けられたケーブルからの張力といった駆動トルク演算手段3でモデル化されていないトルク推定誤差の要因の影響とトルク推定誤差のばらつきとを考慮した閾値を設定することができる。そのため、ロボットの衝突検知装置1Aは、モデル化されていない要因の影響を考慮すると共に、誤検知を防止しながら、ロボットが物体に衝突した場合にロボットが物体に衝突したことを比較的高感度に判定することができる。
実施の形態3.
図1は、実施の形態3にかかるロボットの衝突検知装置の構成を示す図でもある。実施の形態1では、動作状態演算手段4は、モータ位置を示す情報を受け取り、モータ位置について差分を行ってモータ速度を算出した後、モータ速度を伝達機構の出力速度に換算した各軸の速度を動作状態量として算出する。実施の形態3では、動作状態演算手段4は、モータ位置を示す情報を受け取り、モータ位置について2回差分を行ってモータ加速度を算出した後、モータ加速度を伝達機構の出力加速度に換算した各軸の加速度を動作状態量として算出する。
図1は、実施の形態3にかかるロボットの衝突検知装置の構成を示す図でもある。実施の形態1では、動作状態演算手段4は、モータ位置を示す情報を受け取り、モータ位置について差分を行ってモータ速度を算出した後、モータ速度を伝達機構の出力速度に換算した各軸の速度を動作状態量として算出する。実施の形態3では、動作状態演算手段4は、モータ位置を示す情報を受け取り、モータ位置について2回差分を行ってモータ加速度を算出した後、モータ加速度を伝達機構の出力加速度に換算した各軸の加速度を動作状態量として算出する。
閾値演算手段8は、モータ位置を示す情報を受け取ると、動作状態演算手段4が行う演算と同じ演算を実施する。具体的には、閾値演算手段8は、モータ位置について2回差分を行ってモータ加速度を算出し、モータ加速度を伝達機構の出力加速度に換算した各軸の加速度を演算する。次に、閾値演算手段8は、軸毎に導出した各軸の加速度を式(2)のx*として式(2)の演算を実施する。上述の事項以外の事項は実施の形態1と同一であるため、上述の事項以外の事項の説明を省略する。
実施の形態3にかかるロボットの衝突検知装置は、各軸の加速度又は加速度ノルムと相関がある各軸のトルク推定誤差の影響を比較的高精度に補正することができる。
なお、動作状態演算手段4及び閾値演算手段8は、モータ加速度を伝達機構の出力加速度に換算した各軸の加速度を算出する。モータ加速度は、式(2)の演算又はトルク推定誤差モデル学習手段5での学習に用いられてもよい。各軸のモータ加速度ではなく、各軸のモータ加速度のノルム又はモータ加速度を伝達機構の出力加速度に換算した各軸の加速度のノルムがx1,x2,・・・,xn及びx*として用いられてもよい。
実施の形態4.
図1は、実施の形態4にかかるロボットの衝突検知装置の構成を示す図でもある。実施の形態1では、動作状態演算手段4は、モータ位置を示す情報を受け取り、モータ位置について差分を行ってモータ速度を算出した後、モータ速度を伝達機構の出力速度に換算した各軸の速度を動作状態量として算出する。実施の形態4では、動作状態演算手段4は、モータ位置を示す情報を受け取り、モータ位置について差分を行ってモータ速度及びモータ加速度を算出した後、モータ速度を伝達機構の出力速度に換算した各軸の速度を算出すると共に、モータ加速度を伝達機構の出力加速度に換算した各軸の加速度を算出し、下記の式(6)をもとに動作状態量τを算出する。算出された動作状態量τは、トルク推定誤差モデル学習手段5での学習に使用される。
τ=M(q)a+h(q,v)+g(q) ・・・(6)
図1は、実施の形態4にかかるロボットの衝突検知装置の構成を示す図でもある。実施の形態1では、動作状態演算手段4は、モータ位置を示す情報を受け取り、モータ位置について差分を行ってモータ速度を算出した後、モータ速度を伝達機構の出力速度に換算した各軸の速度を動作状態量として算出する。実施の形態4では、動作状態演算手段4は、モータ位置を示す情報を受け取り、モータ位置について差分を行ってモータ速度及びモータ加速度を算出した後、モータ速度を伝達機構の出力速度に換算した各軸の速度を算出すると共に、モータ加速度を伝達機構の出力加速度に換算した各軸の加速度を算出し、下記の式(6)をもとに動作状態量τを算出する。算出された動作状態量τは、トルク推定誤差モデル学習手段5での学習に使用される。
τ=M(q)a+h(q,v)+g(q) ・・・(6)
閾値演算手段8は、モータ位置を示す情報を受け取ると、動作状態演算手段4と同様にモータ速度及びモータ加速度を算出する。閾値演算手段8は、モータ速度を伝達機構の出力速度に換算した各軸の速度と、モータ加速度を伝達機構の出力加速度に換算した各軸の加速度とを算出し、式(6)をもとに算出された動作状態量τの各軸の要素を式(2)のx*として式(2)の演算を実施する。上述の事項以外の事項は実施の形態1と同一であるため、上述の事項以外の事項の説明を省略する。
実施の形態4にかかるロボットの衝突検知装置は、各軸の駆動トルク又は駆動トルクと相関がある各軸のトルク推定誤差の影響を比較的高精度に補正することができる。
なお、上述の説明では、動作状態演算手段4は、式(6)の各要素M(q)a、h(q,v)及びg(q)の和を動作状態量とする。M(q)a、h(q,v)及びg(q)はいずれも駆動トルクの要素の一部であり、摩擦力f(v)が含まれないので、M(q)a、h(q,v)及びg(q)の和も駆動トルクの要素の一部の例となっている。しかしながら、動作状態演算手段4は、M(q)a、h(q,v)及びg(q)のいずれかひとつを動作状態量としてもよい。この場合も駆動トルクの要素の一部を用いる例となっている。閾値演算手段8は、式(6)の演算を実施してもよいし、駆動トルク演算手段3の演算結果を用いてもよい。さらに式(6)の各要素M(q)a、h(q,v)及びg(q)の和の代わりに摩擦力f(v)まで加算した式(1)の演算結果と同じものを動作状態量としてもよい。式(1)の演算結果と同じものを動作状態量として用いる場合も、閾値演算手段8は式(1)の演算を実施してもよいし、駆動トルク演算手段3の演算結果を用いてもよい。
実施の形態5.
図3は、実施の形態5にかかるロボットの衝突検知装置1Bの構成を示す図である。ロボットの衝突検知装置1Bは、実施の形態1にかかるロボットの衝突検知装置1が有するすべての構成要素のうちの駆動トルク演算手段3以外の構成要素を有する。ロボットの衝突検知装置1Bは、駆動トルク演算手段3の替わりに駆動トルク演算手段3Bを有する。ロボットの衝突検知装置1Bは、駆動トルク演算手段3B、換算手段6、閾値演算手段8及び衝突判別手段9を有するロボット制御装置2Bを有する。ロボットの衝突検知装置1Bは、ロボット制御装置2Bの外部に位置するパラメータ同定手段10を更に有する。パラメータ同定手段10は、ロボット制御装置2Bの内部に位置していてもよい。実施の形態5では、実施の形態1との相違点を主に説明する。
図3は、実施の形態5にかかるロボットの衝突検知装置1Bの構成を示す図である。ロボットの衝突検知装置1Bは、実施の形態1にかかるロボットの衝突検知装置1が有するすべての構成要素のうちの駆動トルク演算手段3以外の構成要素を有する。ロボットの衝突検知装置1Bは、駆動トルク演算手段3の替わりに駆動トルク演算手段3Bを有する。ロボットの衝突検知装置1Bは、駆動トルク演算手段3B、換算手段6、閾値演算手段8及び衝突判別手段9を有するロボット制御装置2Bを有する。ロボットの衝突検知装置1Bは、ロボット制御装置2Bの外部に位置するパラメータ同定手段10を更に有する。パラメータ同定手段10は、ロボット制御装置2Bの内部に位置していてもよい。実施の形態5では、実施の形態1との相違点を主に説明する。
パラメータ同定手段10は、駆動トルク演算手段3Bによって用いられる運動方程式のパラメータの値をあらかじめ測定されたデータをもとに同定する。つまり、パラメータ同定手段10は、式(1)のロボットの運動方程式のパラメータの全部又は一部を同定する。パラメータ同定手段10は、式(1)のロボットの運動方程式のパラメータの全部を同定する場合、質量、重心位置及び摩擦係数といったパラメータ自身又は質量×重心位置といった二つ以上のパラメータを用いた演算結果を新たなパラメータとみなしたもので構成されるベクトルpを用いて、式(1)を下記の式(7)に変形する。そして、パラメータ同定手段10は、各時刻の位置、速度及び加速度をもとに導出したベクトルYpとベクトルYpを導出した時の駆動トルクτとをもとに最小二乗法を用いてパラメータpを算出する。算出されたパラメータpは、駆動トルク演算手段3Bが式(1)を用いて行う演算に用いられる。つまり、駆動トルク演算手段3Bは、パラメータ同定手段10によって同定されたパラメータの値を用いて駆動トルクの推定値を演算する。
τ=M(q)a+h(q,v)+g(q)+f(v)=Yp Tp ・・・(7)
τ=M(q)a+h(q,v)+g(q)+f(v)=Yp Tp ・・・(7)
パラメータ同定手段10は、式(1)のロボットの運動方程式のパラメータの一部を同定する場合、パラメータ値が既知であるとして同定の対象から外れているパラメータをもとに算出される慣性行列、遠心力、重力及び摩擦力の各々をM0(q)、h0(q,v)、g0(q)、f0(v)とし、同定の対象のパラメータから構成されるベクトルをp1とし、式(1)の運動方程式を下記の式(8)に変形する。
τ=M0(q)a+h0(q,v)+g0(q)+f0(v)+Yp1 Tp1 ・・・(8)
τ=M0(q)a+h0(q,v)+g0(q)+f0(v)+Yp1 Tp1 ・・・(8)
τ0は、下記の式(9)で定義される。
τ0=M0(q)a+h0(q,v)+g0(q)+f0(v) ・・・(9)
パラメータ同定手段10は、各時刻の位置、速度及び加速度をもとに導出したτ0とτ0を導出した時の駆動トルクτとをもとにτ1=τ-τ0を算出し、各時刻の位置、速度及び加速度をもとに導出したYp1と合わせて最小二乗法を用いてパラメータp1を算出する。算出されたパラメータp1は駆動トルク演算手段3Bが式(1)を用いて行う演算に用いられる。駆動トルク演算手段3Bが算出されたパラメータp又は算出されたパラメータp1を用いる点が駆動トルク演算手段3Bと駆動トルク演算手段3との相違点である。
τ0=M0(q)a+h0(q,v)+g0(q)+f0(v) ・・・(9)
パラメータ同定手段10は、各時刻の位置、速度及び加速度をもとに導出したτ0とτ0を導出した時の駆動トルクτとをもとにτ1=τ-τ0を算出し、各時刻の位置、速度及び加速度をもとに導出したYp1と合わせて最小二乗法を用いてパラメータp1を算出する。算出されたパラメータp1は駆動トルク演算手段3Bが式(1)を用いて行う演算に用いられる。駆動トルク演算手段3Bが算出されたパラメータp又は算出されたパラメータp1を用いる点が駆動トルク演算手段3Bと駆動トルク演算手段3との相違点である。
実施の形態5にかかるロボットの衝突検知装置1Bは、ロボットの動特性に関連するモデルのパラメータ値の精度を向上させ、誤検知を防止しながら、ロボットが物体に衝突した場合にロボットが物体に衝突したことを比較的高感度に検知することができる。更に言うと、ロボットの衝突検知装置1Bは、上記のパラメータ値が未知であっても、誤検知を防止しながら、ロボットが物体に衝突した場合にロボットが物体に衝突したことを比較的高感度に検知することができる。
実施の形態6.
図4は、実施の形態6にかかるロボットの衝突検知装置1Cの構成を示す図である。ロボットの衝突検知装置1Cは、実施の形態1にかかるロボットの衝突検知装置1が有するすべての構成要素のうちの駆動トルク演算手段3以外の構成要素を有する。ロボットの衝突検知装置1Cは、駆動トルク演算手段3の替わりに駆動トルク演算手段3Cを有する。ロボットの衝突検知装置1Cは、オンラインパラメータ同定手段11を更に有する。ロボットの衝突検知装置1Cは、駆動トルク演算手段3C、換算手段6、閾値演算手段8、衝突判別手段9及びオンラインパラメータ同定手段11を有するロボット制御装置2Cを有する。実施の形態6では、実施の形態1との相違点を主に説明する。
図4は、実施の形態6にかかるロボットの衝突検知装置1Cの構成を示す図である。ロボットの衝突検知装置1Cは、実施の形態1にかかるロボットの衝突検知装置1が有するすべての構成要素のうちの駆動トルク演算手段3以外の構成要素を有する。ロボットの衝突検知装置1Cは、駆動トルク演算手段3の替わりに駆動トルク演算手段3Cを有する。ロボットの衝突検知装置1Cは、オンラインパラメータ同定手段11を更に有する。ロボットの衝突検知装置1Cは、駆動トルク演算手段3C、換算手段6、閾値演算手段8、衝突判別手段9及びオンラインパラメータ同定手段11を有するロボット制御装置2Cを有する。実施の形態6では、実施の形態1との相違点を主に説明する。
オンラインパラメータ同定手段11は、駆動トルク演算手段3Cによって用いられる運動方程式のパラメータの値をロボットの動作中のデータをもとに同定する。例えば、オンラインパラメータ同定手段11は、適応同定手法を用いることで、式(1)の運動方程式のパラメータのうちの値が未知であるパラメータ及び値がロボットの動作中に変動するパラメータの値を、ロボットの動作中に同定する。オンラインパラメータ同定手段11は、式(1)のロボットの運動方程式のパラメータの全部又は一部を同定する。
オンラインパラメータ同定手段11は、式(1)のロボットの運動方程式のパラメータの全部を同定する場合、k番目の同定周期における式(7)のτをτ[k]、YpをYp[k]、k番目の同定周期におけるpの同定値をp[k]、同定周期をmoitとし、下記の式(10)、式(11)及び式(12)をもとに同定を行う。kは、1以上n以下の整数である。
R[k]=R[k-1]+moit*(-k1*R[k-1]+Yp[k]Yp[k]T) ・・・(10)
r[k]=r[k-1]+moit*(-k1*r[k-1]+τ[k]*Yp[k]) ・・・(11)
p[k]=p[k-1]-moit*G1・(R[k]・p[k-1]-r[k]) ・・・(12)
k1は同定の速さを調整するための重み係数であり、G1は同定の速さを調整するためのゲイン行列である。
R[k]=R[k-1]+moit*(-k1*R[k-1]+Yp[k]Yp[k]T) ・・・(10)
r[k]=r[k-1]+moit*(-k1*r[k-1]+τ[k]*Yp[k]) ・・・(11)
p[k]=p[k-1]-moit*G1・(R[k]・p[k-1]-r[k]) ・・・(12)
k1は同定の速さを調整するための重み係数であり、G1は同定の速さを調整するためのゲイン行列である。
オンラインパラメータ同定手段11は、式(1)のロボットの運動方程式のパラメータの一部を同定する場合、式(10)、式(11)及び式(12)において、τをτ1に置き換えると共にYpをYp1に置き換えてpの代わりにパラメータp1を同定する。オンラインパラメータ同定手段11は、同定したパラメータ値を示す情報を駆動トルク演算手段3Cに出力する。駆動トルク演算手段3Cは、オンラインパラメータ同定手段11から出力された情報を受け取って受け取った情報が示すパラメータ値を運動方程式の計算に用いる。つまり、駆動トルク演算手段3Cは、駆動トルクの推定値を演算する場合、オンラインパラメータ同定手段11によって同定された値を用いる。駆動トルク演算手段3Cが駆動トルクの推定値を演算する場合にオンラインパラメータ同定手段11によって同定された値を用いる点が、駆動トルク演算手段3Cと駆動トルク演算手段3との相違点である。なお、オンラインパラメータ同定手段11は、逐次更新したパラメータ値を示す情報を駆動トルク演算手段3Cに出力する。
実施の形態6にかかるロボットの衝突検知装置1Cは、ロボットの動特性に関連するパラメータの値がロボットの動作中に変動する場合も、ロボットの動特性に関連するモデルのパラメータの値の精度を向上させ、誤検知を防止しながら、ロボットが物体に衝突した場合にロボットが物体に衝突したことを比較的高感度に検知することができる。
実施の形態7.
図1は、実施の形態7にかかるロボットの衝突検知装置の構成を示す図でもある。実施の形態1では、動作状態演算手段4は、モータ位置を示す情報を受け取り、モータ位置について差分を行ってモータ速度を算出した後、モータ速度を伝達機構の出力速度に換算した各軸の速度を動作状態量として算出する。実施の形態7では、動作状態演算手段4は、モータ位置を示す情報を受け取り、モータ位置について差分を行ってモータ速度及びモータ加速度を算出した後、モータ速度を伝達機構の出力速度に換算した各軸の速度と、モータ加速度を伝達機構の出力加速度に換算した各軸の加速度とを算出する。動作状態演算手段4は、各軸の速度と各軸の加速度とから構成されるベクトルを動作状態量として算出する。
図1は、実施の形態7にかかるロボットの衝突検知装置の構成を示す図でもある。実施の形態1では、動作状態演算手段4は、モータ位置を示す情報を受け取り、モータ位置について差分を行ってモータ速度を算出した後、モータ速度を伝達機構の出力速度に換算した各軸の速度を動作状態量として算出する。実施の形態7では、動作状態演算手段4は、モータ位置を示す情報を受け取り、モータ位置について差分を行ってモータ速度及びモータ加速度を算出した後、モータ速度を伝達機構の出力速度に換算した各軸の速度と、モータ加速度を伝達機構の出力加速度に換算した各軸の加速度とを算出する。動作状態演算手段4は、各軸の速度と各軸の加速度とから構成されるベクトルを動作状態量として算出する。
実施の形態1では、トルク推定誤差モデル学習手段5及び閾値演算手段8が使用するカーネル関数の入力の要素はスカラー量であるが、実施の形態7では当該要素はベクトル量である。実施の形態7にかかるロボットの衝突検知装置は、各軸の加速度及び速度の両方と相関がある各軸のトルク推定誤差の影響を比較的高精度に補正することができる。
ベクトルの加速度は、モータ加速度を伝達機構の出力加速度に換算した各軸の加速度に重み係数を乗じることによって得られる値に置き換えられてもよい。動作状態演算手段4は、学習の対象の軸の速度及び加速度だけでなく、すべての軸の速度及び加速度から構成されるベクトルを動作状態量として算出してもよい。動作状態演算手段4は、すべての軸の位置と、すべての軸の速度と、すべての軸の加速度に重みを乗じた結果とから構成されるベクトルを動作状態量として算出してもよい。
実施の形態8.
図5は、実施の形態8にかかるロボットの衝突検知装置1Dの構成を示す図である。ロボットの衝突検知装置1Dは、実施の形態1にかかるロボットの衝突検知装置1が有するすべての構成要素のうちの閾値演算手段8以外の構成要素を有する。ロボットの衝突検知装置1Dは、閾値演算手段8の替わりに閾値演算手段8Dを有する。ロボットの衝突検知装置1Dは、駆動トルク演算手段3、換算手段6、閾値演算手段8D及び衝突判別手段9を有するロボット制御装置2Dを有する。ロボットの衝突検知装置1Dは、ロボット制御装置2Dの外部に位置する近似関数学習手段12を更に有する。実施の形態8では、実施の形態1との相違点を主に説明する。
図5は、実施の形態8にかかるロボットの衝突検知装置1Dの構成を示す図である。ロボットの衝突検知装置1Dは、実施の形態1にかかるロボットの衝突検知装置1が有するすべての構成要素のうちの閾値演算手段8以外の構成要素を有する。ロボットの衝突検知装置1Dは、閾値演算手段8の替わりに閾値演算手段8Dを有する。ロボットの衝突検知装置1Dは、駆動トルク演算手段3、換算手段6、閾値演算手段8D及び衝突判別手段9を有するロボット制御装置2Dを有する。ロボットの衝突検知装置1Dは、ロボット制御装置2Dの外部に位置する近似関数学習手段12を更に有する。実施の形態8では、実施の形態1との相違点を主に説明する。
近似関数学習手段12は、トルク推定誤差モデル学習手段5が学習したトルク推定誤差モデルをもとに近似関数を学習する。具体的には、近似関数学習手段12は、予測分布を算出するための式(2)と式(2)の導出に用いられたデータとを受け取る。データが追加される場合、近似関数学習手段12は、動作状態演算手段4の出力も受け取る。近似関数学習手段12は、式(2)に内蔵されている関数及びパラメータと、トルク推定誤差モデル学習手段5が学習に用いたデータと、動作状態演算手段4から新規に追加されたデータとを用いて、トルク推定誤差の推定値の±2σの範囲の上限値と下限値とを出力とする近似関数を学習で獲得する。例えば、近似関数は、フィードフォワード型のニューラルネットワーク又はリカレント型のニューラルネットワークである。
近似関数学習手段12は、学習後、学習した近似関数を示す情報を閾値演算手段8Dに出力する。閾値演算手段8Dは、近似関数学習手段12が学習した近似関数を用いて閾値を演算する。つまり、閾値演算手段8Dは、近似関数学習手段12によって導出された近似関数を用いて閾値を演算する。具体的には、閾値演算手段8Dは、モータ位置を示す情報を受け取ると、動作状態演算手段4と同じ演算を行い、演算結果を近似関数学習手段12から入手した近似関数に入力し、近似関数での演算結果を+側及び-側の閾値として衝突判別手段9に出力する。+側の閾値は上記の上限値であり、-側の閾値は上記の下限値である。上述の事項以外の事項は実施の形態1と同一であるため、上述の事項以外の事項の説明を省略する。
実施の形態8にかかるロボットの衝突検知装置1Dは、閾値の演算にトルク推定誤差モデルを用いるのではなく近似関数を用いるので、閾値の演算量を比較的少なくすることができ、そのため、閾値の演算を比較的短時間で行うことができる。
実施の形態9.
図6は、実施の形態9にかかるロボットの衝突検知装置1Eの構成を示す図である。ロボットの衝突検知装置1Eは、実施の形態1にかかるロボットの衝突検知装置1が有するすべての構成要素のうちのトルク推定誤差モデル学習手段5及び閾値演算手段8以外の構成要素を有する。ロボットの衝突検知装置1Eは、トルク推定誤差モデル学習手段5の替わりにトルク推定誤差モデル学習手段5Eを有し、閾値演算手段8の替わりに閾値演算手段8Eを有する。ロボットの衝突検知装置1Eは、温度を計測する温度計測手段13を更に有する。例えば、温度計測手段13は、ロボットの各軸のモータの角度を測定するエンコーダに取り付けられた温度センサである。ロボットの衝突検知装置1Eは、駆動トルク演算手段3、換算手段6、閾値演算手段8E、衝突判別手段9及び温度計測手段13を有するロボット制御装置2Eを有する。実施の形態9では、実施の形態1との相違点を主に説明する。
図6は、実施の形態9にかかるロボットの衝突検知装置1Eの構成を示す図である。ロボットの衝突検知装置1Eは、実施の形態1にかかるロボットの衝突検知装置1が有するすべての構成要素のうちのトルク推定誤差モデル学習手段5及び閾値演算手段8以外の構成要素を有する。ロボットの衝突検知装置1Eは、トルク推定誤差モデル学習手段5の替わりにトルク推定誤差モデル学習手段5Eを有し、閾値演算手段8の替わりに閾値演算手段8Eを有する。ロボットの衝突検知装置1Eは、温度を計測する温度計測手段13を更に有する。例えば、温度計測手段13は、ロボットの各軸のモータの角度を測定するエンコーダに取り付けられた温度センサである。ロボットの衝突検知装置1Eは、駆動トルク演算手段3、換算手段6、閾値演算手段8E、衝突判別手段9及び温度計測手段13を有するロボット制御装置2Eを有する。実施の形態9では、実施の形態1との相違点を主に説明する。
ロボットの衝突検知装置1Eが学習を行う際、温度計測手段13は、計測した温度を示す情報をトルク推定誤差モデル学習手段5Eに出力する。トルク推定誤差モデル学習手段5Eは、温度計測手段13によって計測された温度を用いて学習を行う。実施の形態1では、トルク推定誤差モデル学習手段5は、学習を行う際、ガウス過程回帰の入力としてロボットの各軸の速度を用いる。トルク推定誤差モデル学習手段5Eは、ロボットの各軸のガウス過程回帰の入力として、各軸の速度と各軸の温度とで構成されるベクトルを用いる。トルク推定誤差モデル学習手段5Eがロボットの各軸のガウス過程回帰の入力として各軸の速度と各軸の温度とで構成されるベクトルを用いる点が、トルク推定誤差モデル学習手段5Eとトルク推定誤差モデル学習手段5との相違点である。上記の各軸の温度は、上記の各軸の温度に重み係数を乗じることによって得られた値に置き換えられてもよい。
ロボットの衝突検知装置1Eがロボットの動作中のロボットと物体との衝突の有無を判定する際、温度計測手段13は、計測した温度を示す情報を閾値演算手段8Eに出力する。閾値演算手段8Eは、温度計測手段13によって計測された温度を用いて閾値を演算する。実施の形態1では、閾値演算手段8が使用するカーネル関数の入力の要素は各軸の速度である。閾値演算手段8Eは、各軸の速度と各軸の温度とで構成されるベクトルを用いる。閾値演算手段8Eは、温度計測手段13によって計測された温度を用いて閾値を演算する。閾値演算手段8Eが温度計測手段13によって計測された温度を用いて閾値を演算する点が、閾値演算手段8Eと閾値演算手段8との相違点である。トルク推定誤差モデル学習手段5Eが学習を行う際に各軸の温度に重み係数を乗じることによって得られた値を用いる場合、閾値演算手段8Eは、各軸の速度と各軸の温度に重み係数を乗じることによって得られた値とで構成されるベクトルを用いる。上述の事項以外の事項は実施の形態1と同一であるため、上述の事項以外の事項の説明を省略する。
実施の形態9にかかるロボットの衝突検知装置1Eは、各軸の温度と相関がある各軸のトルク推定誤差の影響を比較的高精度に補正することができ、ひいては、誤検知を防止しながら、ロボットが物体に衝突した場合にロボットが物体に衝突したことを比較的高感度に検知することができる。
図7は、実施の形態1にかかるロボットの衝突検知装置1が有する駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8及び衝突判別手段9の少なくとも一部がプロセッサ71によって実現される場合のプロセッサ71を示す図である。つまり、駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8及び衝突判別手段9の少なくとも一部の機能は、メモリ72に格納されるプログラムを実行するプロセッサ71によって実現されてもよい。
プロセッサ71は、CPU(Central Processing Unit)、処理装置、演算装置、マイクロプロセッサ、又はDSP(Digital Signal Processor)である。図7には、メモリ72も示されている。
駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8及び衝突判別手段9の少なくともの一部の機能がプロセッサ71によって実現される場合、当該少なくともの一部の機能は、プロセッサ71と、ソフトウェア、ファームウェア、又は、ソフトウェアとファームウェアとの組み合わせとにより実現される。ソフトウェア又はファームウェアは、プログラムとして記述され、メモリ72に格納される。プロセッサ71は、メモリ72に記憶されたプログラムを読み出して実行することにより、駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8及び衝突判別手段9の少なくとも一部の機能を実現する。
駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8及び衝突判別手段9の少なくとも一部の機能がプロセッサ71によって実現される場合、ロボットの衝突検知装置1は、駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8及び衝突判別手段9によって実行されるステップの少なくとも一部が結果的に実行されることになるプログラムを格納するためのメモリ72を有する。メモリ72に格納されるプログラムは、駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8及び衝突判別手段9が実行する手順又は方法の少なくとも一部をコンピュータに実行させるものであるともいえる。
メモリ72は、例えば、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)等である。
図8は、実施の形態1にかかるロボットの衝突検知装置1が有する駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8及び衝突判別手段9の少なくとも一部が処理回路81によって実現される場合の処理回路81を示す図である。つまり、駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8及び衝突判別手段9の少なくとも一部は、処理回路81によって実現されてもよい。
処理回路81は、専用のハードウェアである。処理回路81は、例えば、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化されたプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、又はこれらを組み合わせたものである。
駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8及び衝突判別手段9の一部は、残部と別個の専用のハードウェアによって実現されてもよい。
駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8及び衝突判別手段9の複数の機能について、当該複数の機能の一部がソフトウェア又はファームウェアで実現され、当該複数の機能の残部が専用のハードウェアで実現されてもよい。このように、駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8及び衝突判別手段9の複数の機能は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせによって実現することができる。
実施の形態2にかかるロボットの衝突検知装置1Aが有する駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5、誤差算出手段7、閾値演算手段8及び衝突判別手段9の少なくとも一部の機能は、メモリに格納されるプログラムを実行するプロセッサによって実現されてもよい。当該メモリはメモリ72と同様のメモリであり、当該プロセッサはプロセッサ71と同様のプロセッサである。上記の駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5、誤差算出手段7、閾値演算手段8及び衝突判別手段9の少なくとも一部は、処理回路によって実現されてもよい。当該処理回路は、処理回路81と同様の処理回路である。
実施の形態3、4及び7にかかるロボットの衝突検知装置の各々が有する駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8及び衝突判別手段9の少なくとも一部の機能は、メモリに格納されるプログラムを実行するプロセッサによって実現されてもよい。当該メモリはメモリ72と同様のメモリであり、当該プロセッサはプロセッサ71と同様のプロセッサである。実施の形態3、4及び7にかかるロボットの衝突検知装置の各々が有する駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8及び衝突判別手段9の少なくとも一部は、処理回路によって実現されてもよい。当該処理回路は、処理回路81と同様の処理回路である。
実施の形態5にかかるロボットの衝突検知装置1Bが有する駆動トルク演算手段3B、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8、衝突判別手段9及びパラメータ同定手段10の少なくとも一部の機能は、メモリに格納されるプログラムを実行するプロセッサによって実現されてもよい。当該メモリはメモリ72と同様のメモリであり、当該プロセッサはプロセッサ71と同様のプロセッサである。上記の駆動トルク演算手段3B、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8、衝突判別手段9及びパラメータ同定手段10の少なくとも一部は、処理回路によって実現されてもよい。当該処理回路は、処理回路81と同様の処理回路である。
実施の形態6にかかるロボットの衝突検知装置1Cが有する駆動トルク演算手段3C、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8、衝突判別手段9及びオンラインパラメータ同定手段11の少なくとも一部の機能は、メモリに格納されるプログラムを実行するプロセッサによって実現されてもよい。当該メモリはメモリ72と同様のメモリであり、当該プロセッサはプロセッサ71と同様のプロセッサである。上記の駆動トルク演算手段3C、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8、衝突判別手段9及びオンラインパラメータ同定手段11の少なくとも一部は、処理回路によって実現されてもよい。当該処理回路は、処理回路81と同様の処理回路である。
実施の形態8にかかるロボットの衝突検知装置1Dが有する駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8D、衝突判別手段9及び近似関数学習手段12の少なくとも一部の機能は、メモリに格納されるプログラムを実行するプロセッサによって実現されてもよい。当該メモリはメモリ72と同様のメモリであり、当該プロセッサはプロセッサ71と同様のプロセッサである。上記の駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5、換算手段6、誤差算出手段7、閾値演算手段8D、衝突判別手段9及び近似関数学習手段12の少なくとも一部は、処理回路によって実現されてもよい。当該処理回路は、処理回路81と同様の処理回路である。
実施の形態9にかかるロボットの衝突検知装置1Eが有する駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5E、換算手段6、誤差算出手段7、閾値演算手段8E、衝突判別手段9及び温度計測手段13の少なくとも一部の機能は、メモリに格納されるプログラムを実行するプロセッサによって実現されてもよい。当該メモリはメモリ72と同様のメモリであり、当該プロセッサはプロセッサ71と同様のプロセッサである。上記の駆動トルク演算手段3、動作状態演算手段4、トルク推定誤差モデル学習手段5E、換算手段6、誤差算出手段7、閾値演算手段8E、衝突判別手段9及び温度計測手段13の少なくとも一部は、処理回路によって実現されてもよい。当該処理回路は、処理回路81と同様の処理回路である。
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略又は変更することも可能である。
1,1A,1B,1C,1D,1E ロボットの衝突検知装置、2,2A,2B,2C,2D,2E ロボット制御装置、3,3B,3C 駆動トルク演算手段、4 動作状態演算手段、5,5E トルク推定誤差モデル学習手段、5a 学習手段、6 換算手段、7 誤差算出手段、8,8D,8E 閾値演算手段、9 衝突判別手段、10 パラメータ同定手段、11 オンラインパラメータ同定手段、12 近似関数学習手段、13 温度計測手段、71 プロセッサ、72 メモリ、81 処理回路。
Claims (12)
- ロボットの駆動トルクの推定値を演算する駆動トルク演算手段と、
前記ロボットを駆動するためのモータ電流をもとに算出された駆動トルクと前記駆動トルク演算手段によって算出された前記推定値との差と前記差のばらつきとを学習するトルク推定誤差モデル学習手段と、
前記トルク推定誤差モデル学習手段が学習したトルク推定誤差モデルをもとに閾値を演算する閾値演算手段と、
前記ロボットを駆動するための前記モータ電流をもとに算出された前記駆動トルクと前記駆動トルク演算手段によって算出された前記推定値との差と前記閾値演算手段によって算出された前記閾値とを比較することで前記ロボットと物体との衝突を判別する衝突判別手段と
を備えることを特徴とするロボットの衝突検知装置。 - ロボットの駆動トルクの推定値を演算する駆動トルク演算手段と、
前記ロボットの駆動部に設けられたトルクセンサによって計測された駆動トルクと前記駆動トルク演算手段によって算出された前記推定値との差と前記差のばらつきとを学習するトルク推定誤差モデル学習手段と、
前記トルク推定誤差モデル学習手段が学習したトルク推定誤差モデルをもとに閾値を演算する閾値演算手段と、
前記トルクセンサによって計測された前記駆動トルクと前記駆動トルク演算手段によって算出された前記推定値との差と前記閾値演算手段によって算出された前記閾値とを比較することで前記ロボットと物体との衝突を判別する衝突判別手段と
を備えることを特徴とするロボットの衝突検知装置。 - 前記トルク推定誤差モデル学習手段は、ノンパラメトリックな手法を用いる学習手段を有する
ことを特徴とする請求項1又は2に記載のロボットの衝突検知装置。 - 前記学習手段は、ガウス過程回帰を用いる
ことを特徴とする請求項3に記載のロボットの衝突検知装置。 - 前記駆動トルク演算手段によって用いられる運動方程式のパラメータの値をあらかじめ測定されたデータをもとに同定するパラメータ同定手段を更に備え、
前記駆動トルク演算手段は、前記パラメータ同定手段によって同定された値を用いて前記推定値を演算する
ことを特徴とする請求項1から4のいずれか1項に記載のロボットの衝突検知装置。 - 前記駆動トルク演算手段によって用いられる運動方程式のパラメータの値を前記ロボットの動作中のデータをもとに同定するオンラインパラメータ同定手段を更に備え、
前記駆動トルク演算手段は、前記推定値を演算する場合、前記オンラインパラメータ同定手段によって同定された値を用いる
ことを特徴とする請求項1から4のいずれか1項に記載のロボットの衝突検知装置。 - 前記ロボットの動作の状態に関連する状態量を演算する動作状態演算手段を更に備え、
前記トルク推定誤差モデル学習手段は、前記動作状態演算手段によって算出された前記状態量を補正関数の入力信号として学習を行う
ことを特徴とする請求項1から6のいずれか1項に記載のロボットの衝突検知装置。 - 前記動作状態演算手段は、モータ速度に関連する情報を含む前記状態量を演算する
ことを特徴とする請求項7に記載のロボットの衝突検知装置。 - 前記動作状態演算手段は、モータ加速度に関連する情報を含む前記状態量を演算する
ことを特徴とする請求項7に記載のロボットの衝突検知装置。 - 前記動作状態演算手段は、前記ロボットの駆動トルクの要素の一部を含む前記状態量を演算する
ことを特徴とする請求項7に記載のロボットの衝突検知装置。 - 前記トルク推定誤差モデル学習手段が学習した前記トルク推定誤差モデルをもとに近似関数を学習する近似関数学習手段を更に備え、
前記閾値演算手段は、前記近似関数学習手段によって導出された前記近似関数を用いて前記閾値を演算する
ことを特徴とする請求項1から10のいずれか1項に記載のロボットの衝突検知装置。 - 温度を計測する温度計測手段を更に備え、
前記トルク推定誤差モデル学習手段は、前記温度計測手段によって計測された温度を用いて学習を行い、
前記閾値演算手段は、前記温度計測手段によって計測された温度を用いて前記閾値を演算する
ことを特徴とする請求項1から11のいずれか1項に記載のロボットの衝突検知装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE112020007659.8T DE112020007659T5 (de) | 2020-10-05 | 2020-10-05 | Roboterkollisionsdetektionsvorrichtung |
PCT/JP2020/037680 WO2022074703A1 (ja) | 2020-10-05 | 2020-10-05 | ロボットの衝突検知装置 |
CN202080103192.2A CN116018244A (zh) | 2020-10-05 | 2020-10-05 | 机器人的碰撞检测装置 |
JP2022554978A JP7325656B2 (ja) | 2020-10-05 | 2020-10-05 | ロボットの衝突検知装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/037680 WO2022074703A1 (ja) | 2020-10-05 | 2020-10-05 | ロボットの衝突検知装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022074703A1 true WO2022074703A1 (ja) | 2022-04-14 |
Family
ID=81126753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/037680 WO2022074703A1 (ja) | 2020-10-05 | 2020-10-05 | ロボットの衝突検知装置 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP7325656B2 (ja) |
CN (1) | CN116018244A (ja) |
DE (1) | DE112020007659T5 (ja) |
WO (1) | WO2022074703A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220152821A1 (en) * | 2020-11-16 | 2022-05-19 | Techman Robot Inc. | Robot safety weight compensation system and method capable of compensating weight of robot |
JP7398024B1 (ja) | 2023-07-04 | 2023-12-13 | 株式会社ユーシン精機 | 衝突検知方法及び衝突検知システム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013066965A (ja) * | 2011-09-21 | 2013-04-18 | Toshiba Corp | ロボット制御装置、外乱判定方法およびアクチュエータ制御方法 |
JP2014018941A (ja) * | 2012-07-23 | 2014-02-03 | Daihen Corp | 制御装置、及び制御方法 |
CN107253196A (zh) * | 2017-08-01 | 2017-10-17 | 中科新松有限公司 | 一种机械臂碰撞检测方法、装置、设备及存储介质 |
JP2019012392A (ja) * | 2017-06-30 | 2019-01-24 | ファナック株式会社 | 制御装置及び機械学習装置 |
JP2020019117A (ja) * | 2018-08-02 | 2020-02-06 | 株式会社神戸製鋼所 | ロボット制御装置、ロボット制御方法及びプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3002048B1 (fr) | 2013-02-14 | 2016-07-01 | Commissariat Energie Atomique | Procede de detection amelioree de collision d'un robot avec son environnement, systeme et produit programme d'ordinateur mettant en œuvre le procede |
-
2020
- 2020-10-05 CN CN202080103192.2A patent/CN116018244A/zh active Pending
- 2020-10-05 JP JP2022554978A patent/JP7325656B2/ja active Active
- 2020-10-05 WO PCT/JP2020/037680 patent/WO2022074703A1/ja active Application Filing
- 2020-10-05 DE DE112020007659.8T patent/DE112020007659T5/de active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013066965A (ja) * | 2011-09-21 | 2013-04-18 | Toshiba Corp | ロボット制御装置、外乱判定方法およびアクチュエータ制御方法 |
JP2014018941A (ja) * | 2012-07-23 | 2014-02-03 | Daihen Corp | 制御装置、及び制御方法 |
JP2019012392A (ja) * | 2017-06-30 | 2019-01-24 | ファナック株式会社 | 制御装置及び機械学習装置 |
CN107253196A (zh) * | 2017-08-01 | 2017-10-17 | 中科新松有限公司 | 一种机械臂碰撞检测方法、装置、设备及存储介质 |
JP2020019117A (ja) * | 2018-08-02 | 2020-02-06 | 株式会社神戸製鋼所 | ロボット制御装置、ロボット制御方法及びプログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220152821A1 (en) * | 2020-11-16 | 2022-05-19 | Techman Robot Inc. | Robot safety weight compensation system and method capable of compensating weight of robot |
JP7398024B1 (ja) | 2023-07-04 | 2023-12-13 | 株式会社ユーシン精機 | 衝突検知方法及び衝突検知システム |
Also Published As
Publication number | Publication date |
---|---|
JP7325656B2 (ja) | 2023-08-14 |
JPWO2022074703A1 (ja) | 2022-04-14 |
DE112020007659T5 (de) | 2023-08-03 |
CN116018244A (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022074703A1 (ja) | ロボットの衝突検知装置 | |
US8442685B2 (en) | Robot control apparatus | |
CN109219738B (zh) | 异常诊断装置及异常诊断方法 | |
CN109219924B (zh) | 异常诊断装置及异常诊断方法 | |
US9701022B2 (en) | Robot malfunction indication method | |
JP7118249B2 (ja) | モータ制御装置 | |
US9952249B2 (en) | Inertia estimating method and inertia estimation apparatus of position control apparatus | |
CN113365788B (zh) | 作业判别装置及作业判别方法 | |
JP6688962B2 (ja) | 判定装置、判定方法、および判定プログラム | |
WO2021192181A1 (ja) | 摩擦補償装置、衝突検知装置、トルクフィードフォワード演算装置およびロボット制御装置並びに摩擦補償方法 | |
JPWO2022074703A5 (ja) | ||
KR102193914B1 (ko) | 위치 추정 상태 진단 방법 및 이를 수행하는 자율주행로봇 | |
JP4390539B2 (ja) | 負荷特性演算装置及びモータ制御装置 | |
US6505127B1 (en) | Foreign material interference detection apparatus for open/closing members | |
JPH07229754A (ja) | 電気車の走行距離演算装置 | |
JPH06206127A (ja) | ナットランナ制御装置 | |
WO2020250789A1 (ja) | 直接教示装置及び直接教示方法 | |
JP3402017B2 (ja) | 速度検出制御装置 | |
JP7485302B2 (ja) | 信頼性評価装置 | |
CN113737453B (zh) | 洗衣机的转速检测方法、装置和系统 | |
JP7193206B2 (ja) | 直接教示装置及び直接教示方法 | |
CN116127284A (zh) | 一种测量信号野值的检测及修复方法、装置及设备 | |
JP7076274B2 (ja) | 位置推定装置及び機械装置 | |
JP3858350B2 (ja) | 制御装置 | |
JP4140417B2 (ja) | ノイズ量測定方法およびそれを用いたモータ駆動装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20956652 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022554978 Country of ref document: JP Kind code of ref document: A |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20956652 Country of ref document: EP Kind code of ref document: A1 |