WO2020050032A1 - Robot direct teaching device and direct teaching method - Google Patents

Robot direct teaching device and direct teaching method Download PDF

Info

Publication number
WO2020050032A1
WO2020050032A1 PCT/JP2019/032666 JP2019032666W WO2020050032A1 WO 2020050032 A1 WO2020050032 A1 WO 2020050032A1 JP 2019032666 W JP2019032666 W JP 2019032666W WO 2020050032 A1 WO2020050032 A1 WO 2020050032A1
Authority
WO
WIPO (PCT)
Prior art keywords
arm
unit
constraint
orientation
calculation unit
Prior art date
Application number
PCT/JP2019/032666
Other languages
French (fr)
Japanese (ja)
Inventor
鉄也 田原
Original Assignee
アズビル株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アズビル株式会社 filed Critical アズビル株式会社
Priority to CN201980057296.1A priority Critical patent/CN112654469A/en
Priority to KR1020217006565A priority patent/KR102517598B1/en
Publication of WO2020050032A1 publication Critical patent/WO2020050032A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine

Definitions

  • the present invention relates to a direct teaching device and a direct teaching method for directly teaching a robot.
  • Patent Document 1 discloses a direct teaching method of a robot using a force sensor.
  • Patent Document 2 discloses a direct teaching method of a robot using a torque detecting unit.
  • FIG. 23 shows a schematic configuration of the direct teaching device disclosed in these patent documents.
  • the external force detecting unit 1101 detects an external force applied to the arm 2 of the robot by the operator using a force sensor or a torque sensor.
  • the driven control calculation unit 1102 calculates the movement of the arm according to the external force detected by the external force detection unit 1101 (driven control calculation).
  • the driven control calculation unit 1102 may use parameters related to the position and orientation of the arm measured by the position and orientation measurement unit (not shown) in the driven control calculation.
  • the position and orientation of the arm means at least one of the position of the arm and the orientation of the arm.
  • the parameters include the position of the arm, the posture of the arm, the joint angle of the arm, and the like.
  • the driven control calculation unit 1102 notifies the drive control unit 1103 of the driven control command value updated based on the result of the driven control calculation.
  • the drive control unit 1103 drives the arm 2 according to the driven control command value notified by the driven control calculation unit 1102.
  • the direct teaching device 11 shown in FIG. 23 can control the arm 2 to move according to the external force applied by the operator.
  • the direct teaching device 11 records the above parameters at that time as a teaching point.
  • the teaching points recorded by the direct teaching device 11 are used when the robot works.
  • the direct teaching of the robot has an advantage that the operator directly operates the arm to teach the position and the posture, so that the operator is intuitive and easy to understand.
  • the feature that the arm moves according to the external force applied by the operator is not only an advantage.
  • Patent Documents 3 and 4 disclose techniques for solving the above problems.
  • Patent Document 3 discloses a direct teaching device in which an operation mode can be switched to a position / direction movement mode, a position movement mode, or a direction movement mode by a mode changeover switch.
  • position movement mode only the position can be moved while maintaining the posture of the tip of the arm.
  • direction movement mode only the posture can be changed while maintaining the position of the tip of the arm.
  • Patent Document 4 discloses a direct teaching device that allows an operation mode to be switched to a constrained mode or an omnidirectional movement mode by an input device.
  • the constraint mode the tip of the end effector is movable along a specific constraint axis or constraint surface.
  • the omnidirectional movement mode normal direct teaching can be performed.
  • this direct teaching device by switching to the restraining mode during the direct teaching, the tip of the arm can be accurately moved in the vertical direction, and the difficulty of the operation in the direct teaching is reduced.
  • the direct teaching devices disclosed in Patent Literatures 3 and 4 include a mode for performing normal direct teaching without imposing a constraint on the operation of an arm and a mode for performing direct teaching with a constraint that imposes a constraint on the operation of an arm. And switch.
  • the mode is switched by a mode changeover switch, and in Patent Document 4, the mode is switched by an input device.
  • the mode can be switched by an operator manually operating a switch or the like.
  • the present invention has been made to solve the above-described problem, and provides a direct teaching device capable of switching between normal direct teaching and constrained direct teaching while an operator is operating an arm. It is intended to be.
  • a direct teaching device includes an external force detection unit that detects an external force applied to an arm of a robot, a driven control calculation unit that calculates a movement of the arm according to the external force detected by the external force detection unit, and a position of the arm. Or, based on the calculation result by the position / posture calculation unit that calculates the position / posture that is at least one of the postures, the position / posture of the arm is set to the constraint target to which the position / posture of the arm is restricted.
  • a target value for constraint control in the constrained direct teaching is calculated based on calculation results by a return determination unit that determines whether the condition is satisfied and a constraint target and a position and orientation calculation unit.
  • a target value calculation unit, a constraint control calculation unit that calculates the movement of the arm that moves to the target value calculated by the target value calculation unit based on the calculation result by the position and orientation calculation unit, In some cases, when the proximity determination unit determines that the target is approaching the restriction target, the own device is switched to the second state, and when the own device is in the second state, the release operation determination unit releases the operator. When it is determined that the operation has been performed, the own device is switched to the third state.
  • the own device When the own device is in the third state, the own device is set to the first state when the return determination unit determines that the return condition is satisfied.
  • the state is switched to the state, when the own machine is in the second state, the processing by the restraint control calculation unit is enabled, and when the own machine is in the first state or the third state, the processing by the restraint control calculation unit is performed.
  • the switching unit to be invalidated and the driven control operation unit Calculation results and the combining unit for combining the calculation result of the restraint control calculation unit that, characterized by comprising a drive control unit for driving the arm based on the combined result of the synthesis section.
  • the present invention since the present invention is configured as described above, it is possible to switch between the normal direct teaching and the restricted direct teaching while the operator is operating the arm.
  • FIG. 2 is a diagram showing a configuration example of a direct teaching device according to Embodiment 1 of the present invention.
  • 2A to 2D are diagrams showing an example of switching between normal direct teaching and restricted direct teaching (in the case of position constraint) by the direct teaching device according to Embodiment 1 of the present invention.
  • FIGS. 3A to 3D are diagrams showing an example of switching between normal direct teaching and restricted direct teaching (in the case of a posture constraint) by the direct teaching device according to Embodiment 1 of the present invention.
  • 5 is a flowchart illustrating an operation example of the direct teaching device according to the first embodiment of the present invention.
  • FIG. 5 is a diagram illustrating an operation example of the proximity determining unit according to the first embodiment of the present invention (in the case of a posture constraint).
  • FIG. 4 is a diagram for explaining an operation example of a release operation determination unit according to Embodiment 1 of the present invention (when an external force is used).
  • FIG. 5 is a diagram for explaining an operation example of a release operation determination unit according to Embodiment 1 of the present invention (when the position and orientation of an arm is used).
  • FIG. 5 is a diagram illustrating an operation example of a switching unit according to the first embodiment of the present invention.
  • FIG. 5 is a diagram for explaining an operation example of a target value calculating unit according to the first embodiment of the present invention (in the case of a posture constraint).
  • FIG. 5 is a diagram for explaining an operation example of a target value calculating unit according to the first embodiment of the present invention (in the case of a posture constraint).
  • 9 is a flowchart showing an operation example of the direct teaching device according to Embodiment 2 of the present invention.
  • 12A and 12B are diagrams illustrating an operation example of a driven control calculation unit according to Embodiment 2 of the present invention.
  • 9 is a flowchart illustrating an operation example of a proximity determination unit according to Embodiment 2 of the present invention.
  • 14A, 14B, and 14C are diagrams illustrating an operation example of the proximity determining unit according to the second embodiment of the present invention.
  • FIG. 15A and 15B are diagrams illustrating an operation example of the target value calculation unit according to the second embodiment of the present invention, and are diagrams illustrating a calculation example of the rotation axis.
  • 16A and 16B are diagrams illustrating an operation example of the target value calculation unit according to the second embodiment of the present invention, and are diagrams illustrating a calculation example of the rotation direction.
  • FIG. 13 is a diagram illustrating an operation example of a target value calculating unit according to Embodiment 2 of the present invention.
  • FIG. 13 is a diagram for explaining shaft restraint by a direct teaching device according to Embodiment 3 of the present invention.
  • 13 is a flowchart illustrating an operation example of the direct teaching device according to Embodiment 3 of the present invention.
  • FIG. 14 is a diagram illustrating an operation example of a proximity determining unit according to Embodiment 3 of the present invention.
  • FIG. 14 is a diagram for describing surface constraint by a direct teaching device according to Embodiment 4 of the present invention.
  • 13 is a flowchart illustrating an operation example of the direct teaching device according to Embodiment 4 of the present invention.
  • FIG. 11 is a diagram illustrating a configuration example of a conventional direct teaching device.
  • FIG. 1 is a diagram showing a configuration example of a direct teaching device 1 according to Embodiment 1 of the present invention.
  • the direct teaching device 1 directly teaches a robot.
  • the direct teaching device 1 includes, as a direct teaching method, a normal direct teaching that does not impose a constraint on the position and orientation of the arm 2 of the robot, and a constrained direct teaching that restricts the position and orientation of the arm 2 to a constraint target. It can be switched.
  • the position and posture of the arm 2 means at least one of the position of the arm 2 and the posture of the arm 2.
  • the position of the arm 2 means the position 501 of the end effector 201 provided at the tip of the arm 2, and the posture of the arm 2 means the direction 502 of the end effector 201.
  • the restraint target is a restraint destination of the position and orientation of the arm 2.
  • the constraint target for the position of the arm 2 includes a constraint surface 503 and a constraint shaft 504.
  • the types of the constraint surface 503 include a flat surface and a curved surface.
  • the types of the constraint shaft 504 include a straight line and a curve.
  • the constraint target for the posture of the arm 2 is a constraint direction 505.
  • the number of restraint targets used in the direct teaching device 1 is not limited to one, but may be a plurality.
  • a reference robot coordinate system is set for the robot, and a tool coordinate system is set for the end effector 201 (see FIG. 9 and the like).
  • the direct teaching device 1 includes a position and orientation measurement unit 101, an external force detection unit 102, a driven control calculation unit 103, a position and orientation calculation unit 104, a proximity determination unit 105, a release operation determination unit 106, a return determination. It includes a unit 107, a switching unit 108, a target value calculation unit 109, a constraint control calculation unit 110, a synthesis unit 111, and a drive control unit 112.
  • the driven control calculation unit 103 is realized by a processing circuit such as a system LSI (Large-Scale Integration) or a CPU (Central Processing Unit) that executes a program stored in a memory or the like.
  • a processing circuit such as a system LSI (Large-Scale Integration) or a CPU (Central Processing Unit) that executes a program stored in a memory or the like.
  • the position and orientation measurement unit 101 measures parameters relating to the position and orientation of the arm 2.
  • the parameters related to the position and posture of the arm 2 include the position of the arm 2, the posture of the arm 2, the joint angle ⁇ of the arm 2, and the like.
  • the external force detection unit 102 detects an external force applied to the arm 2 by the operator.
  • the external force detection unit 102 may use a force sensor attached to the tip of the arm 2 and detect the force F measured by the force sensor as the external force.
  • the external force detection unit 102 may use a torque sensor attached to the motor drive shaft of the arm 2 and detect the torque ⁇ measured by the torque sensor as the external force.
  • the external force detection unit 102 does not directly measure the external force using the sensor as described above, but indirectly calculates the external force from the current of the motor of the arm 2 or the measured value of the joint angle ⁇ of the arm 2.
  • the external force may be detected using an external force observer.
  • the driven control calculation unit 103 calculates the movement (the driven control command value) of the arm 2 according to the external force detected by the external force detection unit 102 based on the measurement result by the position and orientation measurement unit 101.
  • the position and orientation measurement unit 101, the external force detection unit 102, and the driven control calculation unit 103 have the same configuration as that used for normal direct teaching without restriction, and are known technologies.
  • the position and orientation calculation unit 104 calculates the position and orientation of the arm 2 based on the calculation result by the driven control calculation unit 103.
  • the driven control calculation unit 103 uses the measurement result obtained by the position and orientation measurement unit 101
  • the position and orientation calculation unit 104 uses the calculation result obtained by the driven control calculation unit 103.
  • the driven control calculation unit 103 may calculate the movement of the arm 2 according to the external force detected by the external force detection unit 102 without using the measurement result by the position and orientation measurement unit 101.
  • the position and orientation calculation unit 104 calculates the position and orientation of the arm 2 based on the measurement result by the position and orientation measurement unit 101.
  • the position and orientation calculation unit 104 may calculate the position and orientation of the arm 2 using both the calculation result by the driven control calculation unit 103 and the measurement result by the position and orientation measurement unit 101.
  • the proximity determining unit 105 determines whether the position and orientation of the arm 2 is approaching the constraint target based on the calculation result by the position and orientation calculation unit 104.
  • the release operation determination unit 106 determines whether the operator has performed a release operation for releasing restricted direct teaching. At this time, for example, the release operation determination unit 106 detects the detection result (the magnitude of the external force, the direction of the external force or the pattern of the external force) by the external force detection unit 102 or the calculation result (the position / posture or the position / posture of the position / posture) by the position / posture calculation unit 104. It is determined whether the operator has performed the release operation based on the pattern or the like.
  • the return determination unit 107 determines whether a predetermined return condition for returning to a state (a first state described later) that can be switched to the restricted direct teaching is satisfied. At this time, for example, the return determination unit 107 determines that the fixed time has elapsed after the operator performed the release operation, or that the position and orientation of the arm 2 calculated by the position and attitude calculation unit 104 does not approach the constraint target. In this case, it is determined that the return condition is satisfied.
  • the switching unit 108 switches the operation of the constraint control calculation unit 110 according to the determination result by the proximity determination unit 105, the determination result by the release operation determination unit 106, and the determination result by the return determination unit 107. That is, when the direct teaching device 1 is in the first state (during proximity determination), the switching unit 108 determines that the position and orientation of the arm 2 is approaching the constraint target by the proximity determination unit 105. The direct teaching device 1 is switched to the second state (during release operation determination). When the direct operation of the teaching device 1 is in the second state, and the release operation determination unit 106 determines that the operator has performed the release operation, the switching unit 108 directly switches the direct instruction device 1 to the third state. (During return determination).
  • the switching unit 108 switches the direct teaching device 1 to the first state when the return determining unit 107 determines that the return condition is satisfied in the case where the direct teaching device 1 is in the third state.
  • the switching unit 108 enables the processing by the constraint control calculation unit 110 when the direct teaching device 1 is in the second state, and sets the constraint control when the direct teaching device 1 is in any other state.
  • the processing by the arithmetic unit 110 is invalidated.
  • the switching unit 108 may switch the operation (target constraint target) by the target value calculation unit 109 according to the determination result by the proximity determination unit 105.
  • the target value calculation unit 109 calculates a target value of the constraint control in the constrained direct teaching based on the calculation result by the constraint target and the position and orientation calculation unit 104.
  • the target value of the constraint control means at least one of the target position of the arm 2 and the target posture of the arm 2.
  • the constraint control calculation unit 110 calculates the movement (restriction control command value) of the arm 2 that moves to the target value calculated by the target value calculation unit 109 based on the calculation result by the position and orientation calculation unit 104.
  • the combining unit 111 combines the calculation result (the driven control command value) by the driven control calculation unit 103 and the calculation result (the restraint control command value) by the constraint control calculation unit 110 into one command value.
  • the drive control unit 112 drives the arm 2 based on the result of the synthesis by the synthesis unit 111.
  • switching between normal direct teaching and restricted direct teaching can be executed by operating the arm 2 by an operator.
  • This switching method is realized by the following three mechanisms.
  • the first is a mechanism in which the direct teaching device 1 automatically switches from normal direct teaching to restricted direct teaching when the position and orientation of the arm 2 approaches the constraint target.
  • a case is considered where the direct teaching device 1 restricts the position of the arm 2 to a predetermined plane 506 (restriction surface 503).
  • ⁇ 50 [mm] for example, in the state where the direct teaching device 1 is performing the normal direct teaching (first state), Switching to constrained direct teaching is performed; otherwise, normal direct teaching is maintained.
  • the direct teaching device 1 restrains the posture of the arm 2 in the downward direction 507 (restriction direction 505) is considered.
  • the direct teaching device 1 in a state where the direct teaching device 1 is performing a normal direct teaching, when the posture of the arm 2 becomes, for example, ⁇ 0.2 [rad] or less from the downward direction 507, the direct teaching device 1 switches to the restricted direct teaching. Switch, otherwise leave normal direct teaching.
  • the direct teaching device 1 can realize switching from normal direct teaching to restricted direct teaching only by the operation of the arm 2 by the operator.
  • the second is a mechanism in which the direct teaching device 1 releases the restricted direct teaching by detecting the release operation by the operator. For example, when the direct teaching device 1 detects that the operator has applied a force of 5.0 [N] or more to the arm 2 in the state of performing the restricted direct teaching (second state), When it is determined that the release operation has been performed, the restricted direct teaching is stopped. When a force of 5.0 [N] or more is not detected, the restricted direct teaching is continued. Alternatively, when the direct teaching device 1 detects that the operator has applied clockwise a rotational torque of 1.0 [Nm] or more to the arm 2 in the state where the direct teaching with constraint is being performed, the release operation is performed. The direct teaching with restriction is stopped when it is determined that there has been detected, and when the clockwise rotation torque of 1.0 [Nm] or more is not detected, the direct teaching with restriction is continued.
  • the direct teaching device 1 determines that the release operation has been performed, the direct teaching device 1 does not return to the initial state (the first state), but shifts to the third state in which the return determination is being performed.
  • the direct teaching device 1 executes normal direct teaching during the return determination, but does not execute switching to the restricted direct teaching even when the position and orientation of the arm 2 approaches the constraint target. This is because, in the direct teaching device 1, the position and orientation of the arm 2 coincides with the constraint target immediately after the restrained direct teaching is released, and if the state is switched to the restrained direct teaching in this state, the direct teaching is performed. Cannot be switched. Therefore, when detecting the release operation by the operator, the direct teaching device 1 temporarily stops switching to the restricted direct teaching. This is why the third state is needed. Then, during the return determination, the operator can move the arm 2 away from the constraint target as shown in FIGS. 2C and 3C. With this second mechanism, the direct teaching device 1 can release the restricted direct teaching.
  • the direct teaching device 1 when the direct teaching device 1 satisfies a predetermined return condition during the return determination, the direct teaching device 1 returns to a state (first state) where the direct teaching device 1 can be switched to the restricted direct teaching.
  • the second mechanism allows the direct teaching device 1 to release the constrained direct teaching, but cannot perform the constrained direct teaching again only by this. Therefore, for example, the direct teaching device 1 returns to the first state when the position and orientation of the arm 2 is sufficiently far from the constraint target. Alternatively, for example, the direct teaching device 1 returns to the first state when a predetermined time or more has passed since the restraint of the arm 2 was released.
  • the direct teaching device 1 can not only release the restricted direct teaching but also switch to the restricted direct teaching again as shown in FIGS. 2D and 3D.
  • the direct teaching device 1 can switch between the normal direct teaching and the restricted direct teaching while the operator is operating the arm 2. Becomes Hereinafter, an operation example of the direct teaching device 1 shown in FIG. 1 will be described with reference to FIG.
  • the position and orientation measurement unit 101 measures parameters relating to the position and orientation of the arm 2 (step ST401).
  • external force detecting section 102 detects an external force applied to arm 2 by the operator (step ST402).
  • the external force detected by the external force detecting unit 102 may include not only the external force applied to the arm 2 by the operator but also a component due to gravity, depending on the structure of the sensor. Therefore, in such a case, the external force detection unit 102 may calculate only the external force component by calculating the component due to gravity and subtracting the component due to gravity from the detected external force. This is a known technique called gravity compensation, which is disclosed in, for example, Patent Document 5 and the like. JP-A-01-066715
  • the driven control calculation unit 103 calculates the movement (the driven control command value) of the arm 2 according to the external force detected by the external force detection unit 102 based on the measurement result by the position and orientation measurement unit 101 (step ST403).
  • the driven control calculation unit 103 first determines how the operator intends to move the arm 2 from the direction and magnitude of the external force detected by the external force detection unit 102.
  • the driven control calculation unit 103 determines the movement amount of the arm 2 (difference such as the joint angle ⁇ ) or the joint angular velocity ⁇ (dot) based on the determination result and the position and orientation of the arm 2 measured by the position and orientation measurement unit 101. ) Is calculated.
  • the driven control calculation method by the driven control calculation unit 103 is disclosed in, for example, Patent Document 2, and various methods have been developed.
  • position / posture calculation section 104 calculates the position / posture of arm 2 based on the calculation result by driven control calculation section 103 (step ST404).
  • the position and orientation calculation unit 104 includes at least the arm. It is necessary to calculate the position of No. 2.
  • the position / posture calculation unit 104 calculates at least the posture of the arm 2. There is a need to.
  • the position and orientation calculation unit 104 needs to calculate the position and orientation of the arm 2.
  • the position and orientation calculation unit 104 performs the calculation based on the calculation result (the latest driven control command value) by the driven control calculation unit 103. This is because, when the direct teaching device 1 performs the direct teaching with the constraint, components out of the constraint surface 503 and the like out of the movement amount given to the arm 2 by the operator can be simultaneously canceled, and the constraint control is most effectively performed. Because it works. Further, the position and orientation calculation unit 104 can perform the above calculation based on the measurement result by the position and orientation measurement unit 101 without using the calculation result by the driven control calculation unit 103.
  • the position and orientation calculation unit 104 may perform the calculation based on both the calculation result by the driven control calculation unit 103 and the measurement result by the position and orientation measurement unit 101.
  • the position and orientation calculation unit 104 determines the position of the arm 2 by forward kinematics calculation.
  • the posture can be calculated.
  • the proximity determination unit 105 determines whether the position and orientation of the arm 2 is approaching the constraint target based on the calculation result by the position and orientation calculation unit 104 (step ST405).
  • the proximity determination unit 105 restricts the position of the arm 2 if the Z-axis coordinate of the tip of the end effector 201 calculated by the position and orientation calculation unit 104 is within the range of 0.05 to 0.15 [m]. It is determined that the target is approaching the target, otherwise, it is determined that the position of the arm 2 is not approaching the constraint target.
  • the proximity determination unit 105 determines that the angle ⁇ formed by the upward direction (reference direction) 508 and the direction 502 of the end effector 201 is equal to or more than ( ⁇ 0.1) [rad] (ie, If the angle between the direct downward direction 507 and the direction 502 of the end effector 201 is less than 0.1 [rad], it is determined that the posture of the arm 2 is approaching the constraint target. Is determined not to be approaching the restraint target.
  • the proximity determination unit 105 When there are a plurality of constraint targets, such as when there are a plurality of constraint surfaces 503, the proximity determination unit 105 performs the above-described determination for each constraint target, and determines the position of the arm 2 even in one of the constraint targets. When it is determined that the posture is approaching, it is determined that the position and posture of the arm 2 is approaching the constraint target. At this time, the proximity determination unit 105 further evaluates the distance between the arm 2 and each constraint target, and notifies the switching unit 108 of information indicating the constraint target closest to the arm 2 along with the result of the above determination. Good.
  • the release operation determination unit 106 determines whether the operator has performed a release operation (step ST406).
  • the most preferable determination method by the release operation determination unit 106 is a determination method using external force.
  • An example of the simplest determination method using the external force by the release operation determination unit 106 is to determine that the operator has performed the release operation when the external force is equal to or more than a predetermined force (for example, 5.0 [N]). This is a determination method based on the magnitude of the external force.
  • the release operation determination unit 106 also considers time in addition to the magnitude of the external force, and determines that the operator has performed the release operation when the external force is equal to or more than a predetermined force and continues for a predetermined time or more. You may.
  • FIG. 6 shows an example of a more complicated determination method using an external force by the release operation determination unit 106.
  • the release operation determination unit 106 may determine that the operator has performed the release operation when the external force is away from the constraint surface 503 and is equal to or greater than a predetermined force.
  • This determination method can be realized by detecting the magnitude of a component of the external force orthogonal to the constraint surface 503 in the external force detection unit 102.
  • a determination method that considers not only the magnitude of the external force but also the direction of the external force can be implemented.
  • the release operation determination unit 106 determines that the operator has performed the release operation when the external force is a rotational force about the axis of the end effector 201 and is equal to or greater than a predetermined force. May be.
  • This determination method can be realized by the external force detection unit 102 detecting a rotational force about the axis of the end effector 201.
  • the release operation determination unit 106 determines that the operator has performed the release operation when the external force is a force applied alternately in the left-right direction and is equal to or greater than a predetermined force. Is also good. In this determination method, since the release operation determination unit 106 considers not only the magnitude and direction of the external force but also a time-series pattern, there is a possibility that the release operation is accidentally determined to be a release operation by an unintended operation. Probability) can be expected to decrease. Various methods such as known pattern recognition, machine learning, and neural network can be used as a method for the release operation determination unit 106 to determine whether the pattern is intended for the release operation.
  • the release operation determination unit 106 may determine whether the operator has performed the release operation using the position and orientation of the arm 2 without being limited to the determination based on the external force. However, since the direct teaching device 1 restrains the position and orientation of the arm 2 during the direct teaching with restraint, the arm 2 can be moved only within the restrained range. Therefore, the determination method using the position and orientation of the arm 2 by the release operation determination unit 106 is limited to some extent.
  • FIG. 7 illustrates an example of a determination method using the position and orientation of the arm 2 by the release operation determination unit 106.
  • the direct teaching device 1 restrains the arm 2 on a plane 506 (restriction surface 503) having a constant Z coordinate.
  • the release operation determination unit 106 determines May have determined that the release operation has been performed. Further, the release operation determination unit 106 may determine that the operator has performed the release operation when the distance from the workpiece to the tip of the end effector 201 is larger than, for example, 0.2 [m].
  • the release operation determination unit 106 determines that the operator has performed the release operation when the arm 2 has moved to a predetermined shape (a triangular shape in FIG. 7B) on the constraint surface 503. For example, the determination may be made based on a time-series pattern of the position of the end effector 201.
  • Various methods such as known pattern recognition, machine learning, and neural network can be used as a method for the release operation determination unit 106 to determine whether the pattern is intended for the release operation.
  • the release operation determination unit 106 determines the posture of the end effector 201 in a time-series manner, such as determining that the operator has performed the release operation when the arm 2 makes one rotation on the constraint surface 503. The determination may be made based on the pattern. However, this determination method may not be implemented in a state where the direct teaching device 1 is performing the direct teaching with the constraint. Various methods such as known pattern recognition, machine learning, and neural network can be used as a method for the release operation determination unit 106 to determine whether the pattern is intended for the release operation.
  • the direct teaching device 1 restrains the arm 2 on an axis parallel to the Z axis (a restraining axis 504).
  • the release operation determination unit 106 performs the release operation by the operator. May be determined.
  • the release operation determination unit 106 may determine that the operator has performed the release operation when the distance from the workpiece to the tip of the end effector 201 is large (that is, when the arm 2 has moved away from the workpiece).
  • the release operation determination unit 106 determines that the operator has performed the release operation. Is also good.
  • the release operation determination unit 106 can use parameters related to the position and orientation of the arm 2 measured by the position and orientation measurement unit 101, instead of the position and orientation of the arm 2 calculated by the position and orientation calculation unit 104. .
  • the direct teaching device 1 acquires the voice of the operator using a microphone or the like, and the release operation determination unit 106 performs the voice recognition. It may be determined whether the operator has performed the release operation. In this determination method, the operator can perform the release operation without releasing the hand from the arm 2.
  • the direct teaching device 1 acquires an image of the lips of the operator using a camera or the like, and the release operation determination unit 106 May determine whether the operator has performed the release operation by recognizing the words spoken by the operator from the image. Also in this method, the operator can perform the release operation without releasing the hand from the arm 2.
  • Return determination section 107 determines whether or not a predetermined return condition for returning to a state where switching to restricted direct teaching is possible is satisfied (step ST407). As described above, if the direct teaching device 1 shifts to the first state immediately after the release operation is performed by the operator, even if the release operation is performed, the direct teaching device 1 immediately returns to the restricted direct teaching. We need to avoid that. The return determination unit 107 exists to solve such a problem.
  • One of the most preferable determination methods by the return determination unit 107 is a method of determining that the return condition is satisfied after waiting for the proximity determination unit 105 to stop determining that the position and orientation of the arm 2 is approaching the constraint target. For example, in FIG. 2, the return determination unit 107 determines that when the arm 2 is separated from the restraining surface 503 by ⁇ 50 [mm] or more, the angle between the downward direction 507 and the posture of the arm 2 in FIG. When the distance is 0.2 [rad] or more, it may be determined that the return condition is satisfied. Thereby, the direct teaching device 1 can suppress that the restricted direct teaching becomes valid again against the operator's intention after the release operation is performed by the operator.
  • the return determination unit 107 may perform the determination using a threshold value which has a margin more than the threshold value for the proximity determination, instead of using the threshold value for the proximity determination as it is. It is considered that the operation is performed. For example, in FIG. 2, the return determination unit 107 determines that when the arm 2 is separated from the constraint surface 503 by ⁇ 55 [mm] or more, in FIG. When the distance is 0.22 [rad] or more, it may be determined that the return condition is satisfied.
  • the return determination unit 107 may determine that the return condition has been satisfied when a predetermined time has elapsed after the operator performed the release operation. For example, the return determination unit 107 may determine that the return condition has been satisfied when 10 [seconds] have elapsed after the operator performed the release operation. In this case, when the operator wants to return to the normal direct teaching, the operator only has to operate the arm 2 to an area where the proximity determination condition is not satisfied within 10 [seconds]. When the operator wants to resume the restricted direct teaching, the operator may leave the arm 2 as it is and wait for the time to elapse.
  • the return determination unit 107 may determine that the return condition is satisfied when a certain period of time has elapsed after the position and orientation of the arm 2 has moved away from the constraint target by combining the above two methods.
  • the operator can perform the return operation without releasing the hand from the arm 2 regardless of whether the return determination unit 107 uses the distance from the constraint target or the time from the release operation.
  • switching section 108 switches the operation of constraint control calculation section 110 according to the determination result by proximity determination section 105, the determination result by release operation determination section 106, and the determination result by return determination section 107 (step ST408).
  • the switching unit 108 manages the direct teaching device 1 in three states (first to third states) as shown in FIG. Then, the switching unit 108 directly switches the state of the teaching device 1 based on the determination results of the proximity determination unit 105, the release operation determination unit 106, and the return determination unit 107.
  • the first state is a state in which the proximity determination is being performed in which only the determination by the proximity determination unit 105 is valid, and the direct teaching device 1 starts operating from this state.
  • the second state is a state where the release operation is being determined in which only the determination by the release operation determination unit 106 is valid.
  • the third state is a state in which a return determination is being performed in which only the determination by the return determination unit 107 is valid.
  • the direct teaching device 1 is in one of these three states.
  • the switching unit 108 refers only to the determination result by the proximity determining unit 105. Then, the switching unit 108 directly switches the teaching device 1 to the second state when the proximity determination unit 105 determines that the position and orientation of the arm 2 has approached the constraint target.
  • the switching unit 108 refers only to the determination result by the release operation determination unit 106. Then, when the release operation determination unit 106 determines that the operator has performed the release operation, the switching unit 108 directly switches the teaching device 1 to the third state.
  • the switching unit 108 refers only to the determination result by the return determination unit 107. Then, the switching unit 108 directly switches the teaching device 1 to the first state when the return determination unit 107 determines that the return condition is satisfied.
  • the switching unit 108 switches the processing by the constraint control calculation unit 110 to valid or invalid according to the state of the direct teaching device 1. That is, when the direct teaching device 1 is in the second state, the switching unit 108 enables the processing by the constraint control calculation unit 110. When the direct teaching device 1 is in the first state or the third state, the switching unit 108 stops the calculation by the constraint control calculation unit 110 or prevents the calculation result from being reflected in the control of the arm 2. Then, the processing by the constraint control calculation unit 110 is invalidated. Also, as shown in FIG.
  • the switching unit 108 when the direct teaching device 1 is in the second state, the switching unit 108 causes the target value calculating unit 109 to calculate the target value, and the direct teaching device 1 Alternatively, in the case of the third state, switching may be performed so that the calculation of the target value by the target value calculation unit 109 is stopped.
  • the direct teaching device 1 automatically starts the restraint control when the position and orientation of the arm 2 is brought closer to the restraint target by the operator. Further, the direct teaching device 1 automatically terminates the constraint control when the operator performs the operation of releasing the constrained direct teaching. Further, when the operator again brings the position and orientation of the arm 2 closer to the constraint target after satisfying the return condition, the direct teaching device 1 automatically starts constraint control. Accordingly, the direct teaching device 1 can switch on / off the constraint control while the arm 2 is held by the operator. When there are a plurality of constraint targets and information indicating a constraint target closest to the arm 2 is notified from the proximity determination unit 105, the switching unit 108 outputs the information to a target value calculation unit 109 described later. The operation of the target value calculation unit 109 may be switched.
  • the proximity determining unit 105, the release operation determining unit 106, and the return determining unit 107 may stop the processing when the switching unit 108 does not need the determination result. For example, when the direct teaching device 1 is in the second state, the switching unit 108 does not use the determination result by the proximity determination unit 105, and therefore, there is no problem even if the proximity determination unit 105 stops processing. When the direct teaching device 1 is in the first state or the third state, the switching unit 108 does not use the determination result of the release operation determination unit 106, and the release operation determination unit 106 stops the process. No problem. Further, when the direct teaching device 1 is in the first state or the second state, the switching unit 108 does not use the determination result by the return determination unit 107. There is no. When the return determination unit 107 uses the determination result of the proximity determination unit 105 for the return determination, the proximity determination unit 105 needs to perform the process even when the direct teaching device 1 is in the third state. There is.
  • the target value calculation unit 109 calculates a target value of the constraint control based on the calculation result by the constraint target and the position and orientation calculation unit 104 (step ST409).
  • the purpose of the constraint control is to fix the Z-axis coordinate of the tip of the end effector 201 to a position of 0.1 [m], and the current value of the tip of the end effector 201 calculated by the position and orientation calculation unit 104 is [X P, Y P, Z P] is to be.
  • a target attitude which is a target value of the constraint control, represented by a rotation matrix expression is represented by the following equation (1).
  • the expression of the posture by the rotation matrix is disclosed, for example, in Non-Patent Document 1 and the like, and the details thereof will be omitted.
  • the target value calculation unit 109 may calculate only one target value as the target value of the constraint control, or may calculate a plurality of target values and select one target value from the calculated target values. .
  • the target value calculation unit 109 sets the target value of the constraint control as [ X P, Y P, 0.1n] (n is an integer) selects the closest to the current position in the.
  • the Z-axis of the direction 502 of the end effector 201 is set to a directly downward direction 507, and the Z-axis is rotated at ⁇ / 2 intervals (90-degree intervals) as the rotation axis.
  • the target value calculation unit 109 selects the target value of the constraint control that is closest to the current posture.
  • a target attitude which is a target value of the constraint control, expressed in a rotation matrix expression is as shown in the following equation (2).
  • Equation (2) as shown in FIG. 10, the target posture changes in four ways depending on n, but the target value calculation unit 109 selects one of them that is closest to the current posture.
  • the target value calculation unit 109 can determine whether or not the current attitude is close to the current attitude based on the magnitude of the rotation angle when rotating from the current attitude to each of the target attitudes.
  • the target value calculation unit 109 may select a target value for constraint control from the information.
  • the constraint control calculation unit 110 calculates the movement (restriction control command value) of the arm 2 that moves to the target value calculated by the target value calculation unit 109 based on the calculation result by the position / posture calculation unit 104 (step). ST410). At this time, the constraint control calculation unit 110 calculates the amount of movement of the arm 2 or the movement per unit time required to move the arm 2 from the current position and orientation to the target value based on the target value calculated by the target value calculation unit 109. A joint angular velocity ⁇ (dot), which is an amount, is calculated. Further, the constraint control calculation unit 110 may calculate the joint angle change amount ⁇ per control cycle instead of the joint angular velocity ⁇ (dot).
  • the combining unit 111 combines the driven control command value output from the driven control calculation unit 103 and the constraint control command value output from the constraint control calculation unit 110 into one command value (step ST411).
  • restraining control arithmetic unit 110 outputs the joint angle variation [Delta] [theta] C as restraining control command value
  • the combining unit 111, ⁇ D + ⁇ C is output as a joint angle command value.
  • restraining control arithmetic unit 110 is restraining control command value
  • the combining unit 111 outputs [x D + ⁇ x C , y D + ⁇ y C , z D].
  • ⁇ T C T D (represented by a rotation matrix) is output as a posture command value (composition of a posture represented by a rotation matrix is a product of matrices).
  • the combining unit 111 ⁇ D + ⁇ C is output as a torque command value.
  • drive control section 112 drives arm 2 based on the result of synthesis by synthesis section 111 (step ST412).
  • the drive of the arm 2 by the drive control unit 112 is a normal control of the arm 2, and thus the details thereof are omitted.
  • the direct teaching device 1 includes the external force detecting unit 102 that detects the external force applied to the arm 2 of the robot, and the arm that follows the external force detected by the external force detecting unit 102. Based on the calculation results of the driven control calculation unit 103 that calculates the movement of the second position, the position and orientation calculation unit 104 that calculates the position and orientation of at least one of the position and the orientation of the arm 2, and the position and orientation calculation unit 104 A proximity determination unit 105 that determines whether the position and posture of the arm 2 is approaching a restriction target to which the position and posture of the arm 2 are restricted; and whether an operator has performed a release operation for releasing the restricted direct teaching.
  • a return determination unit 107 for determining whether or not a return condition to a state capable of switching to the restricted direct teaching is satisfied, a constraint target and a position
  • a target value calculation unit 109 that calculates a target value of the constraint control in the constrained direct teaching based on the calculation result by the posture calculation unit 104, and a calculation by the target value calculation unit 109 based on the calculation result by the position and posture calculation unit 104
  • a constraint control calculation unit 110 for calculating the movement of the arm 2 moving to the set target value, and a self-control unit when the proximity determination unit 105 determines that the own device is approaching the constraint target in the first state.
  • the device is switched to the second state, and when the release operation determination unit 106 determines that the operator has performed the release operation when the device is in the second state, the device is switched to the third state.
  • the return determination unit 107 determines that the return condition is satisfied when the own device is in the third state, the own device is switched to the first state, and when the own device is in the second state, A switching unit 108 that enables processing by the control arithmetic unit 110 and disables processing by the constraint control arithmetic unit 110 when the own machine is in the first state or the third state; and a calculation result by the driven control arithmetic unit 103.
  • Embodiment 2 FIG.
  • the arm 2 is a vertical articulated robot arm
  • the restraining method by the direct teaching device 1 is limited to only the posture restraint.
  • the configuration example of the direct teaching device 1 according to the second embodiment is the same as the configuration example of the direct teaching device 1 according to the first embodiment, and the following description will be given using the configuration example shown in FIG.
  • the position and orientation calculation unit 104 calculates the orientation of the arm 2.
  • the proximity determination unit 105 determines whether the posture of the arm 2 is close to the constraint direction 505 based on the calculation result by the position and posture calculation unit 104.
  • the direct teaching device 1 performs a posture constraint such that the direction 502 (Z-axis) of the end effector 201 is restricted in the downward direction 507 or the lateral direction 509. Further, it represents a unit vector of each axis of the robot coordinate system e X, e Y, in e Z.
  • the arm 2 has six axes.
  • the switching unit 108 switches the operations of the target value calculation unit 109 and the constraint control calculation unit 110.
  • the driven control calculation unit 103 calculates each joint angle ⁇ of the arm 2 as a driven control command value
  • the constraint control calculation unit 110 calculates each joint angular velocity ⁇ (dot) of the arm 2 as a constraint control command value. I do.
  • the position and orientation measurement unit 101 measures each joint angle ⁇ of the arm 2 (step ST1101).
  • the position and orientation measurement unit 101 measures the joint angle ⁇ for each joint of the arm 2 using an encoder or the like attached to the motor of the arm 2.
  • the external force detecting unit 102 detects the external force applied to the arm 2 by the operator (step ST1102).
  • the processing by the external force detecting unit 102 is the same as in the first embodiment. Note that the external force detection unit 102 performs gravity compensation.
  • driven control calculation section 103 calculates each joint angle ⁇ (driven control command value) of arm 2 according to the external force detected by external force detection section 102 based on the measurement result by position and orientation measurement section 101 (step ST1103). ). An example of the operation of the driven control calculation unit 103 will be described with reference to FIG.
  • the driven control calculation unit 103 can calculate each joint angle ⁇ of the arm 2 from the torque ⁇ detected by the external force detection unit 102 by, for example, the method shown in FIG. 12A.
  • the driven control calculation unit 103 first by the torque ⁇ detected by the external-force detecting unit 102 multiplies the gain K T, calculates joint angular velocity ⁇ of the target for each joint of the arm 2 (dot) .
  • the gain K T may be the same or different for each joint of the arm 2.
  • the driven control calculation unit 103 may limit the speed of the driven control by applying a limiter to the target joint angular velocity ⁇ (dot).
  • the driven control calculation unit 103 calculates a joint angle change amount ⁇ per control cycle for each joint of the arm 2 by multiplying the target joint angular velocity ⁇ (dot) by the control cycle T S.
  • the driven control calculation unit 103 calculates the joint angle ⁇ (k + 1) at the next time k + 1 by adding the joint angle change amount ⁇ to the joint angle ⁇ (k) at the current time k for each joint of the arm 2. I do.
  • the driven control calculation unit 103 can calculate each joint angle ⁇ of the arm 2 from the force F detected by the external force detection unit 102, for example, by a method illustrated in FIG. 12B.
  • the driven control calculation unit 103 first, by multiplying the gain K F to the force F detected by the external-force detecting unit 102 calculates the moving speed for each position and orientation of the arm 2.
  • the gain K F can be different may be the same for each component of the position and orientation of the arm 2.
  • the driven control calculation unit 103 calculates a target joint angular velocity ⁇ (dot) for each joint of the arm 2 by multiplying the moving velocity by the inverse matrix of the Jacobi matrix J.
  • the driven control calculation unit 103 multiplies the pseudo-inverse matrix.
  • the driven control calculation unit 103 may apply a limiter to the target joint angular velocity ⁇ (dot) to limit the speed of the driven control.
  • the driven control calculation unit 103 calculates a joint angle change amount ⁇ per control cycle for each joint of the arm 2 by multiplying the target joint angular velocity ⁇ (dot) by the control cycle T S.
  • the driven control calculation unit 103 calculates the joint angle ⁇ (k + 1) at the next time k + 1 by adding the joint angle change amount ⁇ to the joint angle ⁇ (k) at the current time k for each joint of the arm 2. I do.
  • position / posture calculation section 104 calculates the posture of arm 2 based on the calculation result by driven control calculation section 103 (step ST1104).
  • the position and orientation calculation unit 104 can execute the above calculation using forward kinematics.
  • the posture of the arm 2 calculated by the position / posture calculation unit 104 is represented by T using a rotation matrix.
  • T obtained by decomposing T into column vectors and elements is represented as the following equation (3).
  • the proximity determination unit 105 determines whether the posture of the arm 2 is approaching the constraint direction 505 based on the calculation result by the position / posture calculation unit 104 (step ST1105).
  • the restraining direction 505 is the downward direction 507 or the lateral direction 509. Also, it is assumed that the threshold value for approach determination is 0.1 [rad]. An operation example of the proximity determination unit 105 will be described with reference to FIG.
  • the proximity determining unit 105 first calculates an angle ⁇ formed by a direction directly above (reference direction) 508 and a direction 502 (Z axis) of the end effector 201. (Step ST1301). That is, the proximity determination unit 105, as in the following equation (4), calculates an angle ⁇ from the inner product of the e Z and t Z.
  • proximity determination section 105 determines whether angle ⁇ is in the range from ( ⁇ / 2-0.1) [rad] to ( ⁇ / 2 + 0.1) [rad] (step ST1302). In this step ST1302, the proximity determining unit 105 determines that the angle ⁇ is in the range of ( ⁇ / 2-0.1) [rad] to ( ⁇ / 2 + 0.1) [rad] (for example, FIG. 14A). ), It is determined that the posture of the arm 2 is approaching the horizontal direction 509 (step ST1303).
  • step ST1302 when the proximity determining unit 105 determines that the angle ⁇ is not in the range from ( ⁇ / 2-0.1) [rad] to ( ⁇ / 2 + 0.1) [rad], It is determined whether angle ⁇ is equal to or more than ( ⁇ 0.1) [rad] (step ST1304).
  • step ST1304 when the proximity determining unit 105 determines that the angle ⁇ is equal to or more than ( ⁇ 0.1) [rad] (for example, in the case of FIG. 14B), the posture of the arm 2 is set in the downward direction 507. It is determined that it is approaching (step ST1305).
  • step ST1304 when the proximity determining unit 105 determines that the angle ⁇ is not equal to or more than ( ⁇ 0.1) [rad] (for example, in the case of FIG. 14C), It is determined that it is not approaching 505 (step ST1306).
  • the release operation determination unit 106 determines whether the operator has performed a release operation (step ST1106).
  • the release operation determination unit 106 can apply the same method as in the first embodiment.
  • the release operation determination unit 106 directly applies the teaching device 1 in the second embodiment to restrict the posture of the arm 2. Is limited to a determination method compatible with the posture constraint. For example, as shown in FIG. 7C, the release operation determination unit 106 according to Embodiment 2 cannot apply the determination method using the pattern of the posture of the arm 2.
  • Return determination section 107 determines whether or not a return condition to a state where switching to restricted direct teaching can be satisfied is satisfied (step ST1107).
  • the return determination unit 107 determines based on the value of the angle ⁇ . It is possible. For example, the return determination unit 107 determines that the angle ⁇ is not in the range of ( ⁇ / 2-0.1) [rad] to ( ⁇ / 2 + 0.1) [rad], and that the angle ⁇ is ( ⁇ 0.1). When it is less than [rad], it can be determined that the force of the arm 2 is away from the restrained posture and the return condition is satisfied.
  • the return determination unit 107 sets ( ⁇ / 2-0.1) [rad], ( ⁇ / 2 + 0.1) [rad], and ( ⁇ -0.1) [rad] as threshold values for return determination. rad] was used.
  • the present invention is not limited to this, and the return determination unit 107 sets the threshold values of the return determination as ( ⁇ / 2-0.12) [rad], ( ⁇ / 2 + 0.12) [rad], and ( ⁇ -0. 12) A value slightly wider than the above threshold such as [rad] may be used.
  • the return determination unit 107 must not use a value smaller than the threshold value used by the proximity determination unit 105 as the threshold value for the return determination. This is because when the return determination unit 107 uses the above narrow value, the proximity determination unit 105 determines that the posture of the arm 2 is approaching the constraint direction 505 immediately after the return determination unit 107 determines that the return condition is satisfied. This is because the direct teaching device 1 cannot leave the restricted direct teaching.
  • the return determination unit 107 uses only the time without using the position and orientation of the arm 2 for the determination, the same method as in the first embodiment can be applied.
  • the switching unit 108 switches the operation of the target value calculation unit 109 and switches the operation of the constraint control calculation unit 110 (step ST1108). That is, the switching unit 108 switches the operation of the target value calculation unit 109 according to the determination result by the proximity determination unit 105. The switching unit 108 switches the operation of the constraint control calculation unit 110 according to the determination result by the proximity determination unit 105, the determination result by the release operation determination unit 106, and the determination result by the return determination unit 107.
  • the switching unit 108 sets the target posture in the lateral direction 509 as a target value to the target value calculation unit 109. Let it be calculated.
  • the switching unit 108 calculates the target posture in the downward direction 507 as a target value by the target value calculating unit 109. Let it.
  • the switching unit 108 does not require the calculation by the target value calculating unit 109.
  • the switching of the operation of the constraint control calculation unit 110 by the switching unit 108 is the same as in the first embodiment.
  • target value calculation section 109 calculates a target attitude based on the calculation results by constraint target and position and attitude calculation section 104 (step ST1109).
  • the target value calculation unit 109 is a sideways direction 509 or below direction 507, and calculates the target posture reachable smallest rotation angle theta R from the current position of the arm 2. A method of calculating the target posture by the target value calculation unit 109 will be described below.
  • the target value calculation unit 109 calculates a target angle theta * against e Z.
  • the target angle ⁇ * is ⁇ / 2
  • the target angle ⁇ * is ⁇ .
  • the target value calculation unit 109 based on the attitude of the arm 2, the rotation angle theta R calculates the smallest rotary shaft 510.
  • the rotary shaft 510 is an axis orthogonal to the located and t Z on the XY plane of the robot coordinate system (i.e., an axis orthogonal to the both e Z and t Z). Therefore, the target value calculation portion 109 obtains one r dot product and both e Z and t Z is a unit vector such that 0 to it and the rotating shaft 510.
  • the target value calculation unit 109 in the case of parallel and e Z and t Z can not be determined uniquely r. However, this is the case where the posture of the arm 2 is pointing directly upward 508 or directly downward 507, and the target value calculation unit 109 calculates an arbitrary vector on the XY plane as the rotation axis 510.
  • the target value calculation unit 109 based on the target angle theta * and the rotary shaft 510 is calculated, to calculate the rotation angle theta R as the target position.
  • the magnitude of the rotation angle theta R is a theta * - [theta]
  • the rotation as shown in FIG. 16 orientation (Positive or negative) must be considered.
  • the direct teaching device 1 according to the second embodiment uses the inner product when obtaining the angle ⁇ , and thus loses the information of the direction 502 of the end effector 201.
  • rotation angle theta R is given by the following equation (5).
  • the target value calculation unit 109, r representing the rotation shaft 510 [r x, r y, r z] as long T (T denotes the transpose) and obtain the rotation angle theta R is, to the target posture from the posture of the arm 2 Is obtained, so that the restraint target is effectively obtained.
  • T denotes the transpose
  • the target value calculation unit 109 calculates the target posture in which the direction 502 (Z axis) of the end effector 201 is directed to the downward direction 507 or the lateral direction 509 is described.
  • the target value calculation unit 109 can further apply a rotation from here to a desired posture, and can use it as a target posture.
  • the target value calculation unit 109 can also set the posture shown in FIG. 10 as the target posture by applying a rotation around the Z axis from a state in which the arm 2 faces the downward direction 507.
  • the target value calculation unit 109 as shown in FIG. 17, an additional rotation about the Z-axis from the state where the arm 2 facing sideways direction 509, t X or t Y is the Z axis of the robot coordinate system parallel It is also possible to set the posture which becomes as the target posture.
  • the constraint control calculation unit 110 calculates the movement (restriction control command value) of the arm 2 that moves to the target posture calculated by the target value calculation unit 109 based on the calculation result by the position and posture calculation unit 104 (step). ST1110). Note that since the rotation that moves the arm 2 from the current posture to the target posture has already been calculated when the target value calculation unit 109 calculates the target posture, the constraint control calculation unit 110 2 is calculated. However, since the output of the constraint control calculation unit 110 needs to be the joint angular velocity ⁇ (dot), the constraint control calculation unit 110 calculates the rotation axis 510 r and the rotation angle ⁇ R calculated by the target value calculation unit 109. It is necessary to calculate the joint angular velocity ⁇ (dot) from the set of. An example of the calculation is shown below.
  • the constraint control calculation unit 110 first determines the magnitude
  • a theta R. If it is not preferable that the angular velocity is too large, the constraint control calculation unit 110 may appropriately limit the angular velocity. Next, the constraint control calculation unit 110 calculates a Jacobi matrix J at the current position and orientation of the arm 2. It is assumed that the following equation (6) holds for the Jacobi matrix J.
  • v X , v Y , and v Z are the velocities of the tip of the end effector 201 in the X, Y, and Z directions
  • ⁇ X , ⁇ Y , and ⁇ Z are the postures of the arm 2 in the X axis, the Y axis
  • the angular velocity rotating about the Z axis, and ⁇ 1 (dot) to ⁇ 6 (dot) are the angular velocities of the respective joints.
  • the constraint control calculation unit 110 calculates joint angular velocities ⁇ 1 (dots) to ⁇ 6 (dots) for each joint of the arm 2 such that the following equation (7) is satisfied.
  • the constraint control calculation unit 110 calculates joint angular velocities ⁇ 1 (dots) to ⁇ 6 (dots) using a pseudo inverse matrix or the like.
  • the constraint control calculation unit 110 may apply a limiter in order to prevent the obtained joint angular velocity from becoming excessive. In this case, it is preferable that the constraint control calculation unit 110 limits all joint angles by multiplying them by the same constant (a value between 0 and 1) so as not to change the direction of rotation.
  • the synthesis unit 111 synthesizes the driven control command value (joint angle ⁇ ) output from the driven control calculation unit 103 and the constraint control command value (joint angular velocity ⁇ (dot)) output from the constraint control calculation unit 110.
  • T the joint angle command value output from the combining unit 111 is ⁇ + T S ⁇ (dot) from the control cycle T S.
  • m is the number of joints of the arm 2 controlled by the drive control unit 112.
  • the drive control unit 112 drives the arm 2 based on the synthesis result (joint angle command value) by the synthesis unit 111 (step ST1112).
  • Embodiment 3 In the direct teaching device 1 according to the second embodiment, the case where the restraining method is limited to only the posture restraint has been described.
  • the direct teaching device 1 according to the third embodiment a case is shown in which the constraint method is limited to only the axial constraint.
  • the axial constraint means that the position constraint for restricting the position of the arm 2 to the predetermined constraint shaft 504 and the posture constraint for restricting the posture of the arm 2 in the predetermined constraint direction 505 are performed simultaneously. That is, the direct teaching device 1 according to the third embodiment also performs the position constraint in addition to the posture constraint described in the second embodiment.
  • the configuration example of the direct teaching device 1 according to the third embodiment is the same as the configuration example of the direct teaching device 1 according to the second embodiment, and will be described below using the configuration example shown in FIG.
  • the position and orientation calculation unit 104 calculates the position and orientation of the arm 2.
  • the proximity determination unit 105 determines whether the position of the arm 2 is approaching the constraint shaft 504 that is the constraint target, based on the calculation result by the position and orientation calculation unit 104, and determines whether the position of the arm 2 is It is determined whether the position and the posture of the arm 2 are approaching the constraint target by determining whether the position is approaching the constraint direction 505 that is the constraint target.
  • FIG. 19 is a flowchart showing an operation example of the direct teaching device 1 according to the third embodiment.
  • the operation of the direct teaching device 1 according to the third embodiment shown in FIG. 19 differs from that of the direct teaching device 1 according to the second embodiment shown in FIG.
  • position / posture calculation section 104 calculates the position and posture of arm 2 based on the calculation result by driven control calculation section 103 (step ST1904).
  • the position and posture calculation unit 104 needs to calculate both the position and the posture of the arm 2.
  • the position and orientation calculation unit 104 can execute the above calculation using forward kinematics.
  • the proximity determination unit 105 determines whether the position of the arm 2 is approaching the constraint shaft 504 and whether the posture of the arm 2 is approaching the constraint direction 505 based on the calculation result by the position and orientation calculation unit 104, respectively. Based on these determination results, it is comprehensively determined whether or not the position and orientation of the arm 2 is approaching the constraint target (step ST1905). For example, when the proximity determination unit 105 determines that the position of the arm 2 is approaching the constraint axis 504 and the posture of the arm 2 is approaching the constraint direction 505, the position and orientation of the arm 2 is approaching the constraint target. Is determined. The determination of the constraint direction 505 by the proximity determining unit 105 has been described in the second embodiment, and therefore will not be described. The following describes the determination of the constraint axis 504 by the proximity determining unit 105.
  • the proximity determining unit 105 lowers the perpendicular 512 from the position 501 of the end effector 201 to the constraint shaft 504, and if the length of the perpendicular 512 is smaller than a predetermined value, the arm 2 Is determined to be approaching the constraint shaft 504.
  • the coordinates of the position of the arm 2 are represented by [x, y, z]
  • the X and Y coordinates of the straight line 511 are represented by x * and y * , respectively.
  • the length of the perpendicular 512 is represented by the following equation (8).
  • the proximity determining unit 105 determines that the position of the arm 2 is approaching the constraint shaft 504, and otherwise, It is determined that the position of the arm 2 is not approaching the constraint shaft 504. Note that the proximity determination unit 105 can similarly perform the proximity determination based on the length of the perpendicular drawn to the constraint axis 504 even when the constraint axis 504 is not parallel to the Z axis of the robot coordinate system.
  • release operation determination section 106 determines whether or not the operator has performed a release operation (step ST1906).
  • the release operation determination unit 106 can apply the same method as in the first embodiment.
  • an applicable determination method Is limited to a determination method compatible with the axial constraint.
  • the release operation determination unit 106 according to the third embodiment can apply only the methods illustrated in FIGS. 7D and 7E.
  • the release operation determination unit 106 in the third embodiment is not applicable because the method shown in FIGS. 7A to 7C cannot be performed while the arm 2 is restrained by the shaft.
  • return determination section 107 determines whether or not a return condition for returning to a state where switching to restricted direct teaching can be satisfied is satisfied (step ST1907).
  • the return determination unit 107 since the direct teaching device 1 performs the axial restraint of the arm 2, the return determination unit 107 determines the position of the arm 2 and the restraint shaft 504 when performing the determination based on the position and orientation of the arm 2. And the relationship between the posture of the arm 2 and the constraint direction 505.
  • the determination of the restraint direction 505 by the return determination unit 107 has been described in the second embodiment, and therefore will not be described. In the following, the determination of the restraint axis 504 by the return determination unit 107 will be described.
  • the return determination unit 107 makes a determination on the constraint axis 504 based on the length of the perpendicular 512, as in the proximity determination unit 105. That is, the return determination unit 107 determines that the return condition is satisfied when the length of the perpendicular 512 is larger than the predetermined value.
  • the predetermined value needs to be equal to or larger than the threshold value used by the proximity determination unit 105. This is because if the return determination unit 107 uses a value smaller than the threshold value, the proximity determination unit 105 determines that the position and orientation of the arm 2 is approaching the constraint target immediately after the return determination unit 107 determines that the return condition is satisfied. Is determined, and the direct teaching device 1 cannot be separated from the restricted direct teaching.
  • the return determination unit 107 uses only the time without using the position and orientation of the arm 2 for the determination, the same method as in the first embodiment can be applied.
  • target value calculation section 109 also calculates a target position for moving the position of arm 2 to constraint shaft 504 (step ST1909). For example, the target value calculation unit 109 sets a position 513 where the perpendicular 512 is lowered from the position 501 of the end effector 201 to the constraint shaft 504 as shown in FIG.
  • the target position is [x * , y * , z].
  • the constraint control calculation unit 110 calculates the joint angular velocity ⁇ (dot) for each joint of the arm 2 using the Jacobian matrix J (step ST1910).
  • the constraint control calculation unit 110 according to the third embodiment also performs a position constraint in addition to a posture constraint, the computation procedure changes as follows with respect to the second embodiment.
  • the constraint control calculation unit 110 determines the magnitude
  • the constraint control calculation unit 110 calculates a Jacobi matrix J at the current position and orientation of the arm 2.
  • the constraint control calculation unit 110 determines the speed
  • ⁇ ⁇ (xx * ) 2 + (yy * ) 2 ⁇ . Further, the constraint control calculation unit 110 may determine a certain constant v * and set
  • v
  • the constraint control calculation unit 110 calculates the joint angular velocity ⁇ (dot) for each joint of the arm 2 using the following equation (9). Note that the constraint control calculation unit 110 may apply a limiter to the obtained joint angular velocity.
  • Embodiment 4 FIG.
  • the direct teaching device 1 according to the second embodiment the case where the restraining method is limited to only the posture restraint has been described.
  • the direct teaching device 1 according to the fourth embodiment a case where the constraint method is limited to only the surface constraint is shown.
  • the term “surface constraint” means that the position constraint for restricting the position of the arm 2 on the predetermined constraint surface 503 and the posture constraint for restricting the posture of the arm 2 in the predetermined constraint direction 505 are simultaneously performed. That is, the direct teaching device 1 according to the fourth embodiment also performs a position constraint in addition to the posture constraint described in the second embodiment.
  • the restraint surface 503 and the restraint direction 505 can be set arbitrarily.
  • the same method can be applied to the case where it is expressed.
  • the configuration example of the direct teaching device 1 according to the fourth embodiment is the same as the configuration example of the direct teaching device 1 according to the second embodiment, and will be described below using the configuration example shown in FIG.
  • the position and orientation calculation unit 104 calculates the position and orientation of the arm 2. Further, proximity determining section 105 according to Embodiment 4 determines whether the position of arm 2 is approaching restraining surface 503, which is a restraint target, based on the calculation result by position and attitude calculating section 104, and determines whether the attitude of arm 2 is high. It is determined whether the position and the posture of the arm 2 are approaching the constraint target by determining whether the position is approaching the constraint direction 505 that is the constraint target.
  • FIG. 22 is a flowchart showing an operation example of the direct teaching device 1 according to the fourth embodiment.
  • the operation of the direct teaching device 1 according to the fourth embodiment shown in FIG. 22 differs from that of the direct teaching device 1 according to the third embodiment shown in FIG.
  • the proximity determination unit 105 determines whether the position of the arm 2 is approaching the constraint surface 503 and whether the posture of the arm 2 is approaching the constraint direction 505 based on the calculation result by the position and orientation calculation unit 104, respectively. Based on these determination results, it is comprehensively determined whether the position and orientation of the arm 2 is approaching the constraint target (step ST2205). For example, when the proximity determination unit 105 determines that the position of the arm 2 is approaching the constraint surface 503 and that the posture of the arm 2 is approaching the constraint direction 505, the position and orientation of the arm 2 is approaching the constraint target. Is determined. The determination on the constraint direction 505 by the proximity determination unit 105 has been described in the second embodiment, and therefore will not be described. Hereinafter, the determination on the constraint surface 503 by the proximity determination unit 105 will be described.
  • the proximity determination unit 105 draws a straight line parallel to the Z axis of the robot coordinate system from the position 501 of the end effector 201 to the constraint surface 503, and if the length of the straight line is smaller than a predetermined value, the arm 2 It is determined that the position is approaching the constraint surface 503. For example, when the coordinates of the position of the arm 2 are [x, y, z], the length of the straight line is ⁇ z ⁇ f (x, y) ⁇ . If the length is smaller than a predetermined value, the proximity determining unit 105 determines that the position of the arm 2 is approaching the constraint surface 503, and otherwise determines that the position of the arm 2 is close to the constraint surface 503. Is determined not to be approaching.
  • the release operation determination unit 106 determines whether the operator has performed a release operation (step ST2206).
  • the release operation determination unit 106 can apply the same method as in the first embodiment.
  • the release operation determination unit 106 performs the determination using the position and orientation of the arm 2
  • the direct teaching device 1 directly restrains the arm 2 on the curved surface in the fourth embodiment. Is limited to the determination method compatible with the curved surface constraint.
  • the release operation determination unit 106 in the fourth embodiment is applicable only to the method shown in FIGS. 7A and 7B.
  • 7C cannot be applied to the release operation determination unit 106 in Embodiment 4 because the posture of the arm 2 cannot be freely changed.
  • 7D and 7E cannot be applied to the release operation determination unit 106 in the fourth embodiment because the arm 2 cannot be separated from the curved surface 513.
  • return determination section 107 determines whether or not a return condition to a state in which switching to restricted direct teaching can be performed is satisfied (step ST2207).
  • the return determination unit 107 since the direct teaching device 1 performs the curved surface constraint on the arm 2, the return determination unit 107 determines the position of the arm 2 and the constraint surface 503 when performing the determination based on the position and orientation of the arm 2. And the relationship between the posture of the arm 2 and the constraint direction 505.
  • the determination of the restraint direction 505 by the return determination unit 107 has been described in the second embodiment, and therefore will not be described. In the following, the determination of the restraint surface 503 by the return determination unit 107 will be described.
  • the return determination unit 107 draws a straight line parallel to the Z axis of the robot coordinate system from the position 501 of the end effector 201 to the constraint surface 503 in the same manner as the proximity determination unit 105. Perform based on length. That is, when the length is larger than the predetermined value, the return determination unit 107 determines that the return condition is satisfied. Note that the predetermined value needs to be equal to or larger than the predetermined value used by the proximity determination unit 105. The reason is the same as in the third embodiment.
  • the return determination unit 107 uses only the time without using the position and orientation of the arm 2 for the determination, the same method as in the first embodiment can be applied.
  • target value calculation section 109 also calculates a target position when moving the position of arm 2 to constraint surface 503 (step ST2209). For example, when the coordinates of the position of the arm 2 are [x, y, z], the target value calculation unit 109 replaces only the Z-axis coordinates with the coordinates on the curved surface [x, y, f (x, y)]. ] Is the target position.
  • the constraint control calculation unit 110 calculates the joint angular velocity ⁇ (dot) for each joint of the arm 2 using the Jacobian matrix J (step ST2210).
  • the constraint control calculation unit 110 according to the fourth embodiment also performs the position constraint in addition to the posture constraint, the computation procedure changes as follows with respect to the second embodiment.
  • the constraint control calculation unit 110 determines the magnitude
  • the constraint control calculation unit 110 calculates a Jacobi matrix J at the current position and orientation of the arm 2.
  • the constraint control calculation unit 110 determines the speed
  • ] is calculated from.
  • the constraint control calculation unit 110 calculates the joint angular velocity ⁇ (dot) for each joint of the arm 2 using the following equation (10). Note that the constraint control calculation unit 110 may apply a limiter to the obtained joint angular velocity.
  • the present invention can freely combine any of the embodiments, modify any of the components in each of the embodiments, or omit any of the components in each of the embodiments. is there.
  • the robot direct teaching device can switch between normal direct teaching and constrained direct teaching while the operator is operating the arm, and can be used for a direct teaching device or the like that directly teaches a robot. Suitable for.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

This robot direct teaching device is provided with: an external force detecting unit (102) for detecting an external force; a driven control computing unit (103) for calculating movement of an arm (2) due to the external force; a position and attitude computing unit (104) for calculating the position and attitude of the arm (2); a proximity determining unit (105) for determining whether the position and attitude of the arm (2) are approaching a constraint target; a release operation determining unit (106) for determining whether a release operation has been performed; a return determining unit (107) for determining whether a return condition has been satisfied; a target value calculating unit (109) for calculating a target value for constraint control; a constraint control computing unit (110) for calculating the movement of the arm to the target value; a switching unit (108) for switching the operation of the constraint control computing unit (110) on the basis of the determination results obtained by the determining units (105) to (107); a combining unit (111) for combining the calculation result obtained by the driven control computing unit (103) and the computation result obtained by the constraint control computing unit (110); and a drive control unit (112) for driving the arm (2) on the basis of the combined result.

Description

ロボットの直接教示装置及び直接教示方法Robot direct teaching device and direct teaching method
 この発明は、ロボットの直接教示を行う直接教示装置及び直接教示方法に関する。 The present invention relates to a direct teaching device and a direct teaching method for directly teaching a robot.
 産業用のロボットでは、ロボットに作業をさせるために、前もって教示(ティーチング)と呼ばれる作業が実施される。このロボットの教示を行う方法の1つとして、直接教示(ダイレクト教示)と呼ばれる方法がある。 In industrial robots, work called teaching is performed in advance to make the robot work. As one of the methods for teaching the robot, there is a method called direct teaching (direct teaching).
 例えば特許文献1では、力センサを用いたロボットの直接教示方法が開示されている。また、例えば特許文献2では、トルク検出手段を用いたロボットの直接教示方法が開示されている。これらの特許文献で開示されている直接教示装置の概略構成を図23に示す。 For example, Patent Document 1 discloses a direct teaching method of a robot using a force sensor. Further, for example, Patent Document 2 discloses a direct teaching method of a robot using a torque detecting unit. FIG. 23 shows a schematic configuration of the direct teaching device disclosed in these patent documents.
 図23に示す直接教示装置11では、まず、外力検知部1101が、力センサ又はトルクセンサ等を用いて、ロボットが有するアーム2に対して操作者により加えられた外力を検知する。次いで、従動制御演算部1102が、外力検知部1101により検知された外力に従うアームの動きを算出(従動制御演算)する。なお、従動制御演算部1102は、従動制御演算において、位置姿勢計測部(不図示)により計測されたアームの位置姿勢に関するパラメータを用いる場合もある。なお、アームの位置姿勢とは、アームの位置及びアームの姿勢のうちの少なくとも一方を意味する。また、上記パラメータとしては、アームの位置、アームの姿勢、又は、アームの関節角等が挙げられる。そして、従動制御演算部1102は、従動制御演算の結果に基づいて更新した従動制御指令値を駆動制御部1103に通知する。次いで、駆動制御部1103は、従動制御演算部1102により通知された従動制御指令値に従ってアーム2を駆動する。
 この一連の動作により、図23に示す直接教示装置11は、操作者により加えられた外力に従ってアーム2が動くように制御できる。そして、直接教示装置11は、制御によりアーム2の位置及び姿勢が操作者の意図する状態となった場合に、その際の上記パラメータを教示点として記録する。この直接教示装置11により記録された教示点はロボットが作業する際に使用される。
In the direct teaching device 11 shown in FIG. 23, first, the external force detecting unit 1101 detects an external force applied to the arm 2 of the robot by the operator using a force sensor or a torque sensor. Next, the driven control calculation unit 1102 calculates the movement of the arm according to the external force detected by the external force detection unit 1101 (driven control calculation). In addition, the driven control calculation unit 1102 may use parameters related to the position and orientation of the arm measured by the position and orientation measurement unit (not shown) in the driven control calculation. The position and orientation of the arm means at least one of the position of the arm and the orientation of the arm. The parameters include the position of the arm, the posture of the arm, the joint angle of the arm, and the like. Then, the driven control calculation unit 1102 notifies the drive control unit 1103 of the driven control command value updated based on the result of the driven control calculation. Next, the drive control unit 1103 drives the arm 2 according to the driven control command value notified by the driven control calculation unit 1102.
Through this series of operations, the direct teaching device 11 shown in FIG. 23 can control the arm 2 to move according to the external force applied by the operator. Then, when the position and the posture of the arm 2 are in the state intended by the operator by the control, the direct teaching device 11 records the above parameters at that time as a teaching point. The teaching points recorded by the direct teaching device 11 are used when the robot works.
 このように、ロボットの直接教示は、操作者がアームを直接操作して位置及び姿勢を教示するため、操作者にとって直観的でわかりやすいという利点を持つ。一方で、アームが操作者により加えられた外力に従ってそのまま動くという特徴は利点ばかりではない。 As described above, the direct teaching of the robot has an advantage that the operator directly operates the arm to teach the position and the posture, so that the operator is intuitive and easy to understand. On the other hand, the feature that the arm moves according to the external force applied by the operator is not only an advantage.
 例えば、操作者が、ロボットに対して、ある点Pの位置を教示した後に、その真下の別の点Qの位置を教示するというケースを考える。このケースでは、操作者は、真下方向(Z軸方向)にアームを動かすことになる。しかしながら、操作者がアームに対して正確に真下方向へ外力を加えることは難しく、アームのX軸座標及びY軸座標がずれることが多い。後からアームのX軸座標及びY軸座標だけをティーチングペンダント等を用いて修正することは可能であるが、それでは直接教示の利点が減ずる。
 また、例えば、操作者が、アームの先端に設けられたエンドエフェクタを真下に向けたまま教示を行うケースを考える。このケースにおいても、操作者がアームに対して正確に真下に向けた状態を維持したままアームを直接操作することは難しく、アームの姿勢がずれることが多い。
 以上のように、直接教示は、直観的で分かりやすい反面、操作が難しいケースも存在する。
For example, consider a case where the operator teaches the position of a certain point P to the robot and then teaches the position of another point Q immediately below the point P. In this case, the operator moves the arm directly downward (Z-axis direction). However, it is difficult for the operator to accurately apply an external force to the arm in a downward direction, and the X-axis coordinate and the Y-axis coordinate of the arm often shift. Although it is possible to later correct only the X-axis and Y-axis coordinates of the arm using a teaching pendant or the like, the advantage of direct teaching is reduced.
Further, for example, consider a case in which an operator teaches while keeping an end effector provided at the tip of an arm directly below. Also in this case, it is difficult for the operator to directly operate the arm while maintaining a state where the arm is directed directly downward, and the posture of the arm often shifts.
As described above, direct teaching is intuitive and easy to understand, but there are cases where operation is difficult.
 これに対し、例えば特許文献3,4では、上記のような課題を解決する技術が開示されている。 On the other hand, for example, Patent Documents 3 and 4 disclose techniques for solving the above problems.
 特許文献3では、モード切換スイッチにより、動作モードを、位置方向移動モード、位置移動モード又は方向移動モードに切換え可能とする直接教示装置が開示されている。位置移動モードでは、アームの先端の姿勢を維持したまま位置のみを移動可能としている。また、方向移動モードでは、アームの先端の位置を維持したまま姿勢のみを変更可能としている。この直接教示装置により、上記のような直接教示における操作の難しさをある程度緩和可能となる。なお、通常の直接教示は位置方向移動モードで実現可能である。 Patent Document 3 discloses a direct teaching device in which an operation mode can be switched to a position / direction movement mode, a position movement mode, or a direction movement mode by a mode changeover switch. In the position movement mode, only the position can be moved while maintaining the posture of the tip of the arm. In the direction movement mode, only the posture can be changed while maintaining the position of the tip of the arm. With this direct teaching device, it is possible to alleviate the difficulty of operation in direct teaching as described above. Note that normal direct teaching can be realized in the position / direction movement mode.
 また、特許文献4では、入力装置により、動作モードを、拘束モード又は全方向移動モードに切換え可能とする直接教示装置が開示されている。拘束モードでは、エンドエフェクタの先端を特定の拘束軸又は拘束面に沿って移動可能としている。また、全方向移動モードでは、通常の直接教示を実施可能としている。この直接教示装置は、直接教示の途中で拘束モードに切換えることにより、アームの先端を正確に上下方向に動かすことが可能となり、直接教示における操作の難しさが軽減される。 特許 Further, Patent Document 4 discloses a direct teaching device that allows an operation mode to be switched to a constrained mode or an omnidirectional movement mode by an input device. In the constraint mode, the tip of the end effector is movable along a specific constraint axis or constraint surface. In the omnidirectional movement mode, normal direct teaching can be performed. In this direct teaching device, by switching to the restraining mode during the direct teaching, the tip of the arm can be accurately moved in the vertical direction, and the difficulty of the operation in the direct teaching is reduced.
特開平05-204441号公報JP 05-204441 A 特開平05-250029号公報JP 05-250029 A 特開平05-285870号公報JP 05-285870 A 特開平05-303425号公報JP 05-303425 A
 上記のように、特許文献3,4に開示された直接教示装置は、アームの操作に拘束を課さない通常の直接教示を行うモードと、アームの操作に拘束を課す拘束付き直接教示を行うモードとを切換える。そして、特許文献3ではモード切換スイッチによって、また、特許文献4では入力装置によって、モードの切換えが行われており、操作者が手でスイッチ等を操作することで切換え可能となっている。 As described above, the direct teaching devices disclosed in Patent Literatures 3 and 4 include a mode for performing normal direct teaching without imposing a constraint on the operation of an arm and a mode for performing direct teaching with a constraint that imposes a constraint on the operation of an arm. And switch. In Patent Document 3, the mode is switched by a mode changeover switch, and in Patent Document 4, the mode is switched by an input device. The mode can be switched by an operator manually operating a switch or the like.
 しかしながら、直接教示では、操作者は手でアームを直接操作しているため、モードの切換えを手で操作するのは便利ではない。例えば、操作者が両手でアームを操作している場合、モードの切換えを操作する際にはアームの操作を一旦停止してアームを片手で保持することになる。通常時に両手で保持しているアームを片手で保持すると、アームの位置姿勢がずれることも考えられる。その結果、拘束付き直接教示の効果を減ずることにもなりかねない。 However, in direct teaching, since the operator directly operates the arm by hand, it is not convenient to manually switch the mode. For example, when the operator operates the arm with both hands, when operating the mode switching, the operation of the arm is temporarily stopped and the arm is held with one hand. When the arm held by both hands in normal time is held by one hand, the position and orientation of the arm may be shifted. As a result, the effect of the constrained direct teaching may be reduced.
 この発明は、上記のような課題を解決するためになされたもので、操作者がアームを操作している状態のまま通常の直接教示と拘束付き直接教示を切換え可能な直接教示装置を提供することを目的としている。 The present invention has been made to solve the above-described problem, and provides a direct teaching device capable of switching between normal direct teaching and constrained direct teaching while an operator is operating an arm. It is intended to be.
 この発明に係る直接教示装置は、ロボットが有するアームに加えられた外力を検知する外力検知部と、外力検知部により検知された外力に従うアームの動きを算出する従動制御演算部と、アームの位置又は姿勢のうちの少なくとも一方である位置姿勢を算出する位置姿勢演算部と、位置姿勢演算部による算出結果に基づいて、アームの位置姿勢が、当該アームの位置姿勢の拘束先である拘束目標に近づいているかを判定する近接判定部と、操作者が拘束付き直接教示を解除するための解除操作を行ったかを判定する解除操作判定部と、拘束付き直接教示へと切換え可能な状態への復帰条件を満たしたかを判定する復帰判定部と、拘束目標及び位置姿勢演算部による算出結果に基づいて、拘束付き直接教示における拘束制御の目標値を算出する目標値算出部と、位置姿勢演算部による算出結果に基づいて、目標値算出部により算出された目標値に移動するアームの動きを算出する拘束制御演算部と、自機が第一の状態である場合において近接判定部により拘束目標に近づいていると判定された場合に自機を第二の状態へと切換え、自機が第二の状態である場合において解除操作判定部により操作者が解除操作を行ったと判定された場合に自機を第三の状態へと切換え、自機が第三の状態である場合において復帰判定部により復帰条件を満たしたと判定された場合に自機を第一の状態へと切換え、自機が第二の状態にある場合に拘束制御演算部による処理を有効とし、自機が第一の状態又は第三の状態にある場合に拘束制御演算部による処理を無効とする切換部と、従動制御演算部による算出結果と拘束制御演算部による算出結果とを合成する合成部と、合成部による合成結果に基づいてアームを駆動する駆動制御部とを備えたことを特徴とする。 A direct teaching device according to the present invention includes an external force detection unit that detects an external force applied to an arm of a robot, a driven control calculation unit that calculates a movement of the arm according to the external force detected by the external force detection unit, and a position of the arm. Or, based on the calculation result by the position / posture calculation unit that calculates the position / posture that is at least one of the postures, the position / posture of the arm is set to the constraint target to which the position / posture of the arm is restricted. A proximity determination unit for determining whether approaching, a release operation determination unit for determining whether the operator has performed a release operation for releasing the restricted direct teaching, and a return to a state in which switching to the restricted direct teaching is possible. A target value for constraint control in the constrained direct teaching is calculated based on calculation results by a return determination unit that determines whether the condition is satisfied and a constraint target and a position and orientation calculation unit. A target value calculation unit, a constraint control calculation unit that calculates the movement of the arm that moves to the target value calculated by the target value calculation unit based on the calculation result by the position and orientation calculation unit, In some cases, when the proximity determination unit determines that the target is approaching the restriction target, the own device is switched to the second state, and when the own device is in the second state, the release operation determination unit releases the operator. When it is determined that the operation has been performed, the own device is switched to the third state. When the own device is in the third state, the own device is set to the first state when the return determination unit determines that the return condition is satisfied. The state is switched to the state, when the own machine is in the second state, the processing by the restraint control calculation unit is enabled, and when the own machine is in the first state or the third state, the processing by the restraint control calculation unit is performed. The switching unit to be invalidated and the driven control operation unit Calculation results and the combining unit for combining the calculation result of the restraint control calculation unit that, characterized by comprising a drive control unit for driving the arm based on the combined result of the synthesis section.
 この発明によれば、上記のように構成したので、操作者がアームを操作している状態のまま通常の直接教示と拘束付き直接教示を切換え可能となる。 According to the present invention, since the present invention is configured as described above, it is possible to switch between the normal direct teaching and the restricted direct teaching while the operator is operating the arm.
この発明の実施の形態1に係る直接教示装置の構成例を示す図である。FIG. 2 is a diagram showing a configuration example of a direct teaching device according to Embodiment 1 of the present invention. 図2A~図2Dは、この発明の実施の形態1に係る直接教示装置による通常の直接教示と拘束付き直接教示(位置拘束の場合)の切換えの一例を示す図である。2A to 2D are diagrams showing an example of switching between normal direct teaching and restricted direct teaching (in the case of position constraint) by the direct teaching device according to Embodiment 1 of the present invention. 図3A~図3Dは、この発明の実施の形態1に係る直接教示装置による通常の直接教示と拘束付き直接教示(姿勢拘束の場合)の切換えの一例を示す図である。FIGS. 3A to 3D are diagrams showing an example of switching between normal direct teaching and restricted direct teaching (in the case of a posture constraint) by the direct teaching device according to Embodiment 1 of the present invention. この発明の実施の形態1に係る直接教示装置の動作例を示すフローチャートである。5 is a flowchart illustrating an operation example of the direct teaching device according to the first embodiment of the present invention. この発明の実施の形態1における近接判定部の動作例を説明する図である(姿勢拘束の場合)。FIG. 5 is a diagram illustrating an operation example of the proximity determining unit according to the first embodiment of the present invention (in the case of a posture constraint). この発明の実施の形態1における解除操作判定部の動作例を説明する図である(外力を用いた場合)。FIG. 4 is a diagram for explaining an operation example of a release operation determination unit according to Embodiment 1 of the present invention (when an external force is used). この発明の実施の形態1における解除操作判定部の動作例を説明する図である(アームの位置姿勢を用いた場合)。FIG. 5 is a diagram for explaining an operation example of a release operation determination unit according to Embodiment 1 of the present invention (when the position and orientation of an arm is used). この発明の実施の形態1における切換部の動作例を説明する図である。FIG. 5 is a diagram illustrating an operation example of a switching unit according to the first embodiment of the present invention. この発明の実施の形態1における目標値算出部の動作例を説明する図である(姿勢拘束の場合)。FIG. 5 is a diagram for explaining an operation example of a target value calculating unit according to the first embodiment of the present invention (in the case of a posture constraint). この発明の実施の形態1における目標値算出部の動作例を説明する図である(姿勢拘束の場合)。FIG. 5 is a diagram for explaining an operation example of a target value calculating unit according to the first embodiment of the present invention (in the case of a posture constraint). この発明の実施の形態2に係る直接教示装置の動作例を示すフローチャートである。9 is a flowchart showing an operation example of the direct teaching device according to Embodiment 2 of the present invention. 図12A、図12Bは、この発明の実施の形態2における従動制御演算部の動作例を示す図である。12A and 12B are diagrams illustrating an operation example of a driven control calculation unit according to Embodiment 2 of the present invention. この発明の実施の形態2における近接判定部の動作例を示すフローチャートである。9 is a flowchart illustrating an operation example of a proximity determination unit according to Embodiment 2 of the present invention. 図14A、図14B、図14Cは、この発明の実施の形態2における近接判定部の動作例を説明する図である。14A, 14B, and 14C are diagrams illustrating an operation example of the proximity determining unit according to the second embodiment of the present invention. 図15A、図15Bは、この発明の実施の形態2における目標値算出部の動作例を説明する図であり、回転軸の算出例を示す図である。15A and 15B are diagrams illustrating an operation example of the target value calculation unit according to the second embodiment of the present invention, and are diagrams illustrating a calculation example of the rotation axis. 図16A、図16Bは、この発明の実施の形態2における目標値算出部の動作例を説明する図であり、回転方向の算出例を示す図である。16A and 16B are diagrams illustrating an operation example of the target value calculation unit according to the second embodiment of the present invention, and are diagrams illustrating a calculation example of the rotation direction. この発明の実施の形態2における目標値算出部の動作例を説明する図である。FIG. 13 is a diagram illustrating an operation example of a target value calculating unit according to Embodiment 2 of the present invention. この発明の実施の形態3に係る直接教示装置による軸拘束を説明する図である。FIG. 13 is a diagram for explaining shaft restraint by a direct teaching device according to Embodiment 3 of the present invention. この発明の実施の形態3に係る直接教示装置の動作例を示すフローチャートである。13 is a flowchart illustrating an operation example of the direct teaching device according to Embodiment 3 of the present invention. この発明の実施の形態3における近接判定部の動作例を説明する図である。FIG. 14 is a diagram illustrating an operation example of a proximity determining unit according to Embodiment 3 of the present invention. この発明の実施の形態4に係る直接教示装置による面拘束を説明する図である。FIG. 14 is a diagram for describing surface constraint by a direct teaching device according to Embodiment 4 of the present invention. この発明の実施の形態4に係る直接教示装置の動作例を示すフローチャートである。13 is a flowchart illustrating an operation example of the direct teaching device according to Embodiment 4 of the present invention. 従来の直接教示装置の構成例を示す図である。FIG. 11 is a diagram illustrating a configuration example of a conventional direct teaching device.
 以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
 図1はこの発明の実施の形態1に係る直接教示装置1の構成例を示す図である。
 直接教示装置1は、ロボットの直接教示を行う。この直接教示装置1は、直接教示方法として、ロボットが有するアーム2の位置姿勢に対して拘束を課さない通常の直接教示と、アーム2の位置姿勢を拘束目標に拘束する拘束付き直接教示とを切換え可能である。
 なお、アーム2の位置姿勢とは、アーム2の位置及びアーム2の姿勢のうちの少なくとも一方を意味する。また、アーム2の位置とは、アーム2の先端に設けられたエンドエフェクタ201の位置501を意味し、アーム2の姿勢とはエンドエフェクタ201の向き502を意味する。また、拘束目標とは、アーム2の位置姿勢の拘束先である。アーム2の位置に対する拘束目標としては、拘束面503及び拘束軸504がある。拘束面503の種別としては、平面及び曲面がある。拘束軸504の種別としては、直線及び曲線がある。アーム2の姿勢に対する拘束目標としては、拘束方向505がある。また、直接教示装置1で用いる拘束目標は1つに限らず複数でもよい。また、ロボットに対しては基準となるロボット座標系が設定され、エンドエフェクタ201に対してはツール座標系が設定される(図9等参照)。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
Embodiment 1 FIG.
FIG. 1 is a diagram showing a configuration example of a direct teaching device 1 according to Embodiment 1 of the present invention.
The direct teaching device 1 directly teaches a robot. The direct teaching device 1 includes, as a direct teaching method, a normal direct teaching that does not impose a constraint on the position and orientation of the arm 2 of the robot, and a constrained direct teaching that restricts the position and orientation of the arm 2 to a constraint target. It can be switched.
The position and posture of the arm 2 means at least one of the position of the arm 2 and the posture of the arm 2. The position of the arm 2 means the position 501 of the end effector 201 provided at the tip of the arm 2, and the posture of the arm 2 means the direction 502 of the end effector 201. The restraint target is a restraint destination of the position and orientation of the arm 2. The constraint target for the position of the arm 2 includes a constraint surface 503 and a constraint shaft 504. The types of the constraint surface 503 include a flat surface and a curved surface. The types of the constraint shaft 504 include a straight line and a curve. The constraint target for the posture of the arm 2 is a constraint direction 505. Further, the number of restraint targets used in the direct teaching device 1 is not limited to one, but may be a plurality. Further, a reference robot coordinate system is set for the robot, and a tool coordinate system is set for the end effector 201 (see FIG. 9 and the like).
 この直接教示装置1は、図1に示すように、位置姿勢計測部101、外力検知部102、従動制御演算部103、位置姿勢演算部104、近接判定部105、解除操作判定部106、復帰判定部107、切換部108、目標値算出部109、拘束制御演算部110、合成部111及び駆動制御部112を備えている。なお、従動制御演算部103、位置姿勢演算部104、近接判定部105、解除操作判定部106、復帰判定部107、切換部108、目標値算出部109、拘束制御演算部110、合成部111及び駆動制御部112は、システムLSI(Large-Scale Integration)等の処理回路、又はメモリ等に記憶されたプログラムを実行するCPU(Central Processing Unit)等により実現される。 As shown in FIG. 1, the direct teaching device 1 includes a position and orientation measurement unit 101, an external force detection unit 102, a driven control calculation unit 103, a position and orientation calculation unit 104, a proximity determination unit 105, a release operation determination unit 106, a return determination. It includes a unit 107, a switching unit 108, a target value calculation unit 109, a constraint control calculation unit 110, a synthesis unit 111, and a drive control unit 112. Note that the driven control calculation unit 103, the position and orientation calculation unit 104, the proximity determination unit 105, the release operation determination unit 106, the return determination unit 107, the switching unit 108, the target value calculation unit 109, the constraint control calculation unit 110, the synthesis unit 111, The drive control unit 112 is realized by a processing circuit such as a system LSI (Large-Scale Integration) or a CPU (Central Processing Unit) that executes a program stored in a memory or the like.
 位置姿勢計測部101は、アーム2の位置姿勢に関するパラメータを計測する。なお、アーム2の位置姿勢に関するパラメータとしては、アーム2の位置、アーム2の姿勢、又は、アーム2の関節角θ等が挙げられる。 The position and orientation measurement unit 101 measures parameters relating to the position and orientation of the arm 2. The parameters related to the position and posture of the arm 2 include the position of the arm 2, the posture of the arm 2, the joint angle θ of the arm 2, and the like.
 外力検知部102は、操作者によりアーム2に加えられた外力を検知する。例えば、外力検知部102は、アーム2の先端に取付けられた力センサを用い、この力センサにより計測された力Fを上記外力として検知してもよい。また、例えば、外力検知部102は、アーム2のモータ駆動軸に取付けられたトルクセンサを用い、このトルクセンサにより計測されたトルクτを上記外力として検知してもよい。また、外力検知部102は、上記のようにセンサを用いて外力を直接計測するのではなく、アーム2が有するモータの電流又はアーム2の関節角θの計測値から間接的に外力を算出する外力オブザーバを用いて上記外力を検知してもよい。 The external force detection unit 102 detects an external force applied to the arm 2 by the operator. For example, the external force detection unit 102 may use a force sensor attached to the tip of the arm 2 and detect the force F measured by the force sensor as the external force. Further, for example, the external force detection unit 102 may use a torque sensor attached to the motor drive shaft of the arm 2 and detect the torque τ measured by the torque sensor as the external force. The external force detection unit 102 does not directly measure the external force using the sensor as described above, but indirectly calculates the external force from the current of the motor of the arm 2 or the measured value of the joint angle θ of the arm 2. The external force may be detected using an external force observer.
 従動制御演算部103は、位置姿勢計測部101による計測結果に基づいて、外力検知部102により検知された外力に従うアーム2の動き(従動制御指令値)を算出する。 The driven control calculation unit 103 calculates the movement (the driven control command value) of the arm 2 according to the external force detected by the external force detection unit 102 based on the measurement result by the position and orientation measurement unit 101.
 なお、位置姿勢計測部101、外力検知部102及び従動制御演算部103は、拘束が無い通常の直接教示で用いられる構成と同様であり、公知技術である。 The position and orientation measurement unit 101, the external force detection unit 102, and the driven control calculation unit 103 have the same configuration as that used for normal direct teaching without restriction, and are known technologies.
 位置姿勢演算部104は、従動制御演算部103による算出結果に基づいて、アーム2の位置姿勢を算出する。 The position and orientation calculation unit 104 calculates the position and orientation of the arm 2 based on the calculation result by the driven control calculation unit 103.
 なお図1では、従動制御演算部103が位置姿勢計測部101による計測結果を用い、位置姿勢演算部104が従動制御演算部103による算出結果を用いている。
 しかしながら、これに限らず、従動制御演算部103は、位置姿勢計測部101による計測結果は用いず、外力検知部102により検知された外力に従うアーム2の動きを演算してもよい。この場合、位置姿勢演算部104は、位置姿勢計測部101による計測結果に基づいてアーム2の位置姿勢を算出する。
 また、位置姿勢演算部104は、従動制御演算部103による算出結果及び位置姿勢計測部101による計測結果の両方を用いてアーム2の位置姿勢を算出してもよい。
In FIG. 1, the driven control calculation unit 103 uses the measurement result obtained by the position and orientation measurement unit 101, and the position and orientation calculation unit 104 uses the calculation result obtained by the driven control calculation unit 103.
However, the invention is not limited thereto, and the driven control calculation unit 103 may calculate the movement of the arm 2 according to the external force detected by the external force detection unit 102 without using the measurement result by the position and orientation measurement unit 101. In this case, the position and orientation calculation unit 104 calculates the position and orientation of the arm 2 based on the measurement result by the position and orientation measurement unit 101.
Further, the position and orientation calculation unit 104 may calculate the position and orientation of the arm 2 using both the calculation result by the driven control calculation unit 103 and the measurement result by the position and orientation measurement unit 101.
 近接判定部105は、位置姿勢演算部104による算出結果に基づいて、アーム2の位置姿勢が拘束目標に近づいているかを判定する。 The proximity determining unit 105 determines whether the position and orientation of the arm 2 is approaching the constraint target based on the calculation result by the position and orientation calculation unit 104.
 解除操作判定部106は、操作者が拘束付き直接教示を解除するための解除操作を行ったかを判定する。この際、例えば、解除操作判定部106は、外力検知部102による検知結果(外力の大きさ、外力の向き又は外力のパターン等)又は位置姿勢演算部104による算出結果(位置姿勢又は位置姿勢のパターン等)に基づいて、操作者が解除操作を行ったかを判定する。 (4) The release operation determination unit 106 determines whether the operator has performed a release operation for releasing restricted direct teaching. At this time, for example, the release operation determination unit 106 detects the detection result (the magnitude of the external force, the direction of the external force or the pattern of the external force) by the external force detection unit 102 or the calculation result (the position / posture or the position / posture of the position / posture) by the position / posture calculation unit 104. It is determined whether the operator has performed the release operation based on the pattern or the like.
 復帰判定部107は、拘束付き直接教示へと切換え可能な状態(後述する第一の状態)へ復帰させるための所定の復帰条件を満たしたかを判定する。この際、例えば、復帰判定部107は、操作者が解除操作を行った後一定時間が経過した場合、又は、位置姿勢演算部104により算出されたアーム2の位置姿勢が拘束目標に近づいていない場合に、復帰条件を満たしたと判定する。 The return determination unit 107 determines whether a predetermined return condition for returning to a state (a first state described later) that can be switched to the restricted direct teaching is satisfied. At this time, for example, the return determination unit 107 determines that the fixed time has elapsed after the operator performed the release operation, or that the position and orientation of the arm 2 calculated by the position and attitude calculation unit 104 does not approach the constraint target. In this case, it is determined that the return condition is satisfied.
 切換部108は、近接判定部105による判定結果、解除操作判定部106による判定結果及び復帰判定部107による判定結果に従い、拘束制御演算部110の動作を切換える。すなわち、切換部108は、直接教示装置1が第一の状態(近接判定中)である場合において、近接判定部105によりアーム2の位置姿勢が拘束目標に近づいていると判定された場合に、直接教示装置1を第二の状態(解除操作判定中)へと切換える。また、切換部108は、直接教示装置1が第二の状態である場合において、解除操作判定部106により操作者が解除操作を行ったと判定された場合に、直接教示装置1を第三の状態(復帰判定中)へと切換える。また、切換部108は、直接教示装置1が第三の状態である場合において、復帰判定部107により復帰条件を満たしたと判定された場合に、直接教示装置1を第一の状態へと切換える。その上で、切換部108は、直接教示装置1が第二の状態である場合には拘束制御演算部110による処理を有効とし、直接教示装置1がそれ以外の状態である場合には拘束制御演算部110による処理を無効とする。 The switching unit 108 switches the operation of the constraint control calculation unit 110 according to the determination result by the proximity determination unit 105, the determination result by the release operation determination unit 106, and the determination result by the return determination unit 107. That is, when the direct teaching device 1 is in the first state (during proximity determination), the switching unit 108 determines that the position and orientation of the arm 2 is approaching the constraint target by the proximity determination unit 105. The direct teaching device 1 is switched to the second state (during release operation determination). When the direct operation of the teaching device 1 is in the second state, and the release operation determination unit 106 determines that the operator has performed the release operation, the switching unit 108 directly switches the direct instruction device 1 to the third state. (During return determination). The switching unit 108 switches the direct teaching device 1 to the first state when the return determining unit 107 determines that the return condition is satisfied in the case where the direct teaching device 1 is in the third state. In addition, the switching unit 108 enables the processing by the constraint control calculation unit 110 when the direct teaching device 1 is in the second state, and sets the constraint control when the direct teaching device 1 is in any other state. The processing by the arithmetic unit 110 is invalidated.
 また、切換部108は、拘束目標が複数存在する場合に、近接判定部105による判定結果に従い、目標値算出部109による動作(対象とする拘束目標)の切換えも実施してもよい。 In addition, when there are a plurality of constraint targets, the switching unit 108 may switch the operation (target constraint target) by the target value calculation unit 109 according to the determination result by the proximity determination unit 105.
 目標値算出部109は、拘束目標及び位置姿勢演算部104による算出結果に基づいて、拘束付き直接教示における拘束制御の目標値を算出する。なお、拘束制御の目標値とは、アーム2の目標位置及びアーム2の目標姿勢のうちの少なくとも一方を意味する。 The target value calculation unit 109 calculates a target value of the constraint control in the constrained direct teaching based on the calculation result by the constraint target and the position and orientation calculation unit 104. The target value of the constraint control means at least one of the target position of the arm 2 and the target posture of the arm 2.
 拘束制御演算部110は、位置姿勢演算部104による算出結果に基づいて、目標値算出部109により算出された目標値に移動するアーム2の動き(拘束制御指令値)を算出する。 The constraint control calculation unit 110 calculates the movement (restriction control command value) of the arm 2 that moves to the target value calculated by the target value calculation unit 109 based on the calculation result by the position and orientation calculation unit 104.
 合成部111は、従動制御演算部103による算出結果(従動制御指令値)と拘束制御演算部110による算出結果(拘束制御指令値)とを一つの指令値に合成する。 The combining unit 111 combines the calculation result (the driven control command value) by the driven control calculation unit 103 and the calculation result (the restraint control command value) by the constraint control calculation unit 110 into one command value.
 駆動制御部112は、合成部111による合成結果に基づいて、アーム2を駆動する。 The drive control unit 112 drives the arm 2 based on the result of the synthesis by the synthesis unit 111.
 実施の形態1に係る直接教示装置1では、通常の直接教示と拘束付き直接教示の切換えを、操作者によるアーム2の操作により実行可能としている。この切換え方法は、以下に示す3つの仕組みによって実現される。 In the direct teaching device 1 according to the first embodiment, switching between normal direct teaching and restricted direct teaching can be executed by operating the arm 2 by an operator. This switching method is realized by the following three mechanisms.
 1つ目は、直接教示装置1が、アーム2の位置姿勢が拘束目標に近づいた際に、自動的に通常の直接教示から拘束付き直接教示に切換える仕組みである。例えば図2A,2Bに示すように、直接教示装置1が、アーム2の位置を所定の平面506(拘束面503)に拘束させる場合を考える。この場合、直接教示装置1は、通常の直接教示を行っている状態(第一の状態)で、平面506からアーム2の位置までの距離が例えば±50[mm]以下になった場合には拘束付き直接教示への切換えを行い、それ以外の場合には通常の直接教示のままにする。また、例えば図3A,3Bに示すように、直接教示装置1が、アーム2の姿勢を真下方向507(拘束方向505)に拘束させる場合を考える。この場合、直接教示装置1は、通常の直接教示を行っている状態で、アーム2の姿勢が真下方向507から例えば±0.2[rad]以下になった場合には拘束付き直接教示への切換えを行い、それ以外の場合には通常の直接教示のままにする。この1つ目の仕組みにより、直接教示装置1は、操作者によるアーム2の操作のみで、通常の直接教示から拘束付き直接教示への切換えを実現できる。 The first is a mechanism in which the direct teaching device 1 automatically switches from normal direct teaching to restricted direct teaching when the position and orientation of the arm 2 approaches the constraint target. For example, as shown in FIGS. 2A and 2B, a case is considered where the direct teaching device 1 restricts the position of the arm 2 to a predetermined plane 506 (restriction surface 503). In this case, if the distance from the plane 506 to the position of the arm 2 becomes less than or equal to ± 50 [mm], for example, in the state where the direct teaching device 1 is performing the normal direct teaching (first state), Switching to constrained direct teaching is performed; otherwise, normal direct teaching is maintained. 3A and 3B, the case where the direct teaching device 1 restrains the posture of the arm 2 in the downward direction 507 (restriction direction 505) is considered. In this case, in a state where the direct teaching device 1 is performing a normal direct teaching, when the posture of the arm 2 becomes, for example, ± 0.2 [rad] or less from the downward direction 507, the direct teaching device 1 switches to the restricted direct teaching. Switch, otherwise leave normal direct teaching. According to the first mechanism, the direct teaching device 1 can realize switching from normal direct teaching to restricted direct teaching only by the operation of the arm 2 by the operator.
 2つ目は、直接教示装置1が、操作者による解除操作を検知することで、拘束付き直接教示を解除する仕組みである。例えば、直接教示装置1は、拘束付き直接教示を行っている状態(第二の状態)で、操作者がアーム2に5.0[N]以上の力を加えたことを検知した場合には解除操作があったと判定して拘束付き直接教示を中止し、5.0[N]以上の力を検知しなかった場合には拘束付き直接教示を継続する。又は、直接教示装置1は、拘束付き直接教示を行っている状態で、操作者がアーム2に1.0[Nm]以上の回転トルクを時計回りに加えたことを検知した場合には解除操作があったと判定して拘束付き直接教示を中止し、1.0[Nm]以上の時計回りの回転トルクを検知しなかった場合には拘束付き直接教示を継続する。 The second is a mechanism in which the direct teaching device 1 releases the restricted direct teaching by detecting the release operation by the operator. For example, when the direct teaching device 1 detects that the operator has applied a force of 5.0 [N] or more to the arm 2 in the state of performing the restricted direct teaching (second state), When it is determined that the release operation has been performed, the restricted direct teaching is stopped. When a force of 5.0 [N] or more is not detected, the restricted direct teaching is continued. Alternatively, when the direct teaching device 1 detects that the operator has applied clockwise a rotational torque of 1.0 [Nm] or more to the arm 2 in the state where the direct teaching with constraint is being performed, the release operation is performed. The direct teaching with restriction is stopped when it is determined that there has been detected, and when the clockwise rotation torque of 1.0 [Nm] or more is not detected, the direct teaching with restriction is continued.
 また、直接教示装置1は、解除操作があったと判定した場合、最初の状態(第一の状態)に戻るのではなく、復帰判定中という第三の状態に移行する。直接教示装置1は、復帰判定中では、通常の直接教示を実行するが、アーム2の位置姿勢が拘束目標に近づいても拘束付き直接教示への切換えは実行しない。これは、直接教示装置1は、拘束付き直接教示を解除した直後はアーム2の位置姿勢は拘束目標と一致しており、その状態で拘束付き直接教示へと切替えてしまうと通常の直接教示への切換えができなくなるためである。そこで、直接教示装置1は、操作者による解除操作を検知した場合には、一時的に拘束付き直接教示への切換えを停止する。これが、第三の状態が必要となる理由である。
 そして、操作者は復帰判定中の間に、図2C,3Cに示すように、アーム2を拘束目標から遠ざけることができる。この2つ目の仕組みにより、直接教示装置1は、拘束付き直接教示を解除可能となる。
When the direct teaching device 1 determines that the release operation has been performed, the direct teaching device 1 does not return to the initial state (the first state), but shifts to the third state in which the return determination is being performed. The direct teaching device 1 executes normal direct teaching during the return determination, but does not execute switching to the restricted direct teaching even when the position and orientation of the arm 2 approaches the constraint target. This is because, in the direct teaching device 1, the position and orientation of the arm 2 coincides with the constraint target immediately after the restrained direct teaching is released, and if the state is switched to the restrained direct teaching in this state, the direct teaching is performed. Cannot be switched. Therefore, when detecting the release operation by the operator, the direct teaching device 1 temporarily stops switching to the restricted direct teaching. This is why the third state is needed.
Then, during the return determination, the operator can move the arm 2 away from the constraint target as shown in FIGS. 2C and 3C. With this second mechanism, the direct teaching device 1 can release the restricted direct teaching.
 3つ目は、直接教示装置1が、復帰判定中に所定の復帰条件を満たした場合に、拘束付き直接教示へと切換え可能な状態(第一の状態)へと復帰させる仕組みである。2つ目の仕組みにより、直接教示装置1は、拘束付き直接教示を解除可能となるが、これだけでは再度拘束付き直接教示を行うことができない。そこで、例えば、直接教示装置1は、アーム2の位置姿勢が拘束目標から十分遠ざかったら、第一の状態へと復帰させる。又は、例えば、直接教示装置1は、アーム2の拘束が解除されてから一定時間以上経過したら、第一の状態へと復帰させる。この3つ目の仕組みにより、直接教示装置1は、拘束付き直接教示を解除するだけでなく、図2D,3Dのように再度拘束付き直接教示へ切換え可能な状態となる。 Third, when the direct teaching device 1 satisfies a predetermined return condition during the return determination, the direct teaching device 1 returns to a state (first state) where the direct teaching device 1 can be switched to the restricted direct teaching. The second mechanism allows the direct teaching device 1 to release the constrained direct teaching, but cannot perform the constrained direct teaching again only by this. Therefore, for example, the direct teaching device 1 returns to the first state when the position and orientation of the arm 2 is sufficiently far from the constraint target. Alternatively, for example, the direct teaching device 1 returns to the first state when a predetermined time or more has passed since the restraint of the arm 2 was released. By this third mechanism, the direct teaching device 1 can not only release the restricted direct teaching but also switch to the restricted direct teaching again as shown in FIGS. 2D and 3D.
 以上の3つの仕組みを組合わせることにより、実施の形態1に係る直接教示装置1は、操作者がアーム2を操作している状態のまま、通常の直接教示と拘束付き直接教示とを切換え可能となる。以下、図1に示す直接教示装置1の動作例について、図4を参照しながら説明する。 By combining the above three mechanisms, the direct teaching device 1 according to the first embodiment can switch between the normal direct teaching and the restricted direct teaching while the operator is operating the arm 2. Becomes Hereinafter, an operation example of the direct teaching device 1 shown in FIG. 1 will be described with reference to FIG.
 図1に示す直接教示装置1の動作例では、図4に示すように、まず、位置姿勢計測部101は、アーム2の位置姿勢に関するパラメータを計測する(ステップST401)。 In the operation example of the direct teaching device 1 shown in FIG. 1, as shown in FIG. 4, first, the position and orientation measurement unit 101 measures parameters relating to the position and orientation of the arm 2 (step ST401).
 また、外力検知部102は、操作者によりアーム2に加えられた外力を検知する(ステップST402)。なお、外力検知部102により検知される外力は、センサの構造等によっては、操作者によりアーム2に加えられた外力だけではなく、重力に起因する成分が重畳されている場合がある。そこで、このような場合には、外力検知部102は、重力に起因する成分を算出し、検知した外力から当該重力に起因する成分を差し引くことで、外力成分のみを算出するとよい。これは重力補償と呼ばれる公知技術であり、例えば特許文献5等に開示されている。
特開平01-066715号公報
Further, external force detecting section 102 detects an external force applied to arm 2 by the operator (step ST402). The external force detected by the external force detecting unit 102 may include not only the external force applied to the arm 2 by the operator but also a component due to gravity, depending on the structure of the sensor. Therefore, in such a case, the external force detection unit 102 may calculate only the external force component by calculating the component due to gravity and subtracting the component due to gravity from the detected external force. This is a known technique called gravity compensation, which is disclosed in, for example, Patent Document 5 and the like.
JP-A-01-066715
 次いで、従動制御演算部103は、位置姿勢計測部101による計測結果に基づいて、外力検知部102により検知された外力に従うアーム2の動き(従動制御指令値)を算出する(ステップST403)。この際、従動制御演算部103は、まず、外力検知部102により検知された外力の向き及び大きさから、操作者がどのようにアーム2を動かそうとしているのかを判断する。そして、従動制御演算部103は、その判断結果及び位置姿勢計測部101により計測されたアーム2の位置姿勢に基づいて、アーム2の移動量(関節角θ等の差分)又は関節角速度θ(ドット)等を算出する。なお、従動制御演算部103による従動制御演算方法は、例えば特許文献2等で開示されており、様々な方式が開発されているためその詳細な記述は省略する。 Next, the driven control calculation unit 103 calculates the movement (the driven control command value) of the arm 2 according to the external force detected by the external force detection unit 102 based on the measurement result by the position and orientation measurement unit 101 (step ST403). At this time, the driven control calculation unit 103 first determines how the operator intends to move the arm 2 from the direction and magnitude of the external force detected by the external force detection unit 102. Then, the driven control calculation unit 103 determines the movement amount of the arm 2 (difference such as the joint angle θ) or the joint angular velocity θ (dot) based on the determination result and the position and orientation of the arm 2 measured by the position and orientation measurement unit 101. ) Is calculated. Note that the driven control calculation method by the driven control calculation unit 103 is disclosed in, for example, Patent Document 2, and various methods have been developed.
 次いで、位置姿勢演算部104は、従動制御演算部103による算出結果に基づいて、アーム2の位置姿勢を算出する(ステップST404)。
 ここで、直接教示装置1が位置拘束を行う場合(すなわち直接教示装置1がアーム2の位置を所定の拘束面503又は拘束軸504に拘束する場合)には、位置姿勢演算部104は少なくともアーム2の位置を算出する必要がある。
 また、直接教示装置1が姿勢拘束を行う場合(すなわち直接教示装置1がアーム2の姿勢を所定の拘束方向505に拘束する場合)には、位置姿勢演算部104は少なくともアーム2の姿勢を算出する必要がある。
 また、直接教示装置1が位置拘束及び姿勢拘束を行う場合(すなわち直接教示装置1がアーム2の位置及び姿勢を所定の拘束面503又は拘束軸504且つ所定の拘束方向505に拘束する場合)には、位置姿勢演算部104はアーム2の位置及び姿勢を算出する必要がある。
Next, position / posture calculation section 104 calculates the position / posture of arm 2 based on the calculation result by driven control calculation section 103 (step ST404).
Here, when the direct teaching device 1 restricts the position (that is, when the direct teaching device 1 restricts the position of the arm 2 to the predetermined restricting surface 503 or the restricting shaft 504), the position and orientation calculation unit 104 includes at least the arm. It is necessary to calculate the position of No. 2.
Further, when the direct teaching device 1 performs the posture constraint (that is, when the direct teaching device 1 restricts the posture of the arm 2 in the predetermined constraint direction 505), the position / posture calculation unit 104 calculates at least the posture of the arm 2. There is a need to.
Further, when the direct teaching device 1 performs the position constraint and the posture constraint (that is, when the direct teaching device 1 constrains the position and the posture of the arm 2 to the predetermined constraint surface 503 or the constraint shaft 504 and the predetermined constraint direction 505). In other words, the position and orientation calculation unit 104 needs to calculate the position and orientation of the arm 2.
 また、位置姿勢演算部104は、従動制御演算部103による算出結果(最新の従動制御指令値)に基づいて上記算出を行うことが最も望ましい。これは、直接教示装置1が拘束付き直接教示を行う場合に、操作者がアーム2に対して与えた移動量のうち、拘束面503等から外れる成分を同時に相殺でき、拘束制御が最も有効に働くからである。
 また、位置姿勢演算部104は、従動制御演算部103による算出結果を用いず、位置姿勢計測部101による計測結果に基づいて上記算出を行うことも可能である。一方、この場合には、拘束面503等から外れたことが計測されてから拘束制御が始まるので、拘束制御の効きが悪くなる。
 また、位置姿勢演算部104は、従動制御演算部103による算出結果及び位置姿勢計測部101による計測結果の両方に基づいて上記算出を行ってもよい。
It is most desirable that the position and orientation calculation unit 104 performs the calculation based on the calculation result (the latest driven control command value) by the driven control calculation unit 103. This is because, when the direct teaching device 1 performs the direct teaching with the constraint, components out of the constraint surface 503 and the like out of the movement amount given to the arm 2 by the operator can be simultaneously canceled, and the constraint control is most effectively performed. Because it works.
Further, the position and orientation calculation unit 104 can perform the above calculation based on the measurement result by the position and orientation measurement unit 101 without using the calculation result by the driven control calculation unit 103. On the other hand, in this case, since the restraint control starts after it is measured that it has deviated from the restraint surface 503 or the like, the effectiveness of the restraint control deteriorates.
Further, the position and orientation calculation unit 104 may perform the calculation based on both the calculation result by the driven control calculation unit 103 and the measurement result by the position and orientation measurement unit 101.
 なお、位置姿勢計測部101及び従動制御演算部103で関節角θのみが得られ、アーム2の位置姿勢を直接得られない場合、位置姿勢演算部104は、順運動学演算によってアーム2の位置姿勢を算出することが可能である。 When only the joint angle θ is obtained by the position and orientation measurement unit 101 and the driven control calculation unit 103 and the position and orientation of the arm 2 cannot be directly obtained, the position and orientation calculation unit 104 determines the position of the arm 2 by forward kinematics calculation. The posture can be calculated.
 次いで、近接判定部105は、位置姿勢演算部104による算出結果に基づいて、アーム2の位置姿勢が拘束目標に近づいているかを判定する(ステップST405)。 Next, the proximity determination unit 105 determines whether the position and orientation of the arm 2 is approaching the constraint target based on the calculation result by the position and orientation calculation unit 104 (step ST405).
 例えば、拘束制御の目的がエンドエフェクタ201の先端のZ軸座標を0.1[m]の位置に固定することであり、また、接近判定のしきい値が0.05[m]であるとする。この場合、近接判定部105は、位置姿勢演算部104により算出されたエンドエフェクタ201の先端のZ軸座標が0.05~0.15[m]の範囲内であればアーム2の位置は拘束目標に近づいていると判定し、それ以外の場合にはアーム2の位置は拘束目標に近づいていないと判定する。 For example, if the purpose of the constraint control is to fix the Z-axis coordinate of the tip of the end effector 201 to a position of 0.1 [m], and if the threshold value of the approach determination is 0.05 [m], I do. In this case, the proximity determination unit 105 restricts the position of the arm 2 if the Z-axis coordinate of the tip of the end effector 201 calculated by the position and orientation calculation unit 104 is within the range of 0.05 to 0.15 [m]. It is determined that the target is approaching the target, otherwise, it is determined that the position of the arm 2 is not approaching the constraint target.
 また、拘束制御の目的がエンドエフェクタ201の向き502(Z軸)を真下に向けることであり、また、接近判定のしきい値が0.1[rad]であるとする。この場合、近接判定部105は、図5に示すように、真上方向(基準方向)508とエンドエフェクタ201の向き502との成す角度Θが(π-0.1)[rad]以上(すなわち真下方向507とエンドエフェクタ201の向き502との成す角度が0.1[rad]未満)であれば、アーム2の姿勢は拘束目標に近づいていると判定し、それ以外の場合にはアーム2の姿勢は拘束目標に近づいていないと判定する。 。 It is also assumed that the purpose of the constraint control is to direct the direction 502 (Z axis) of the end effector 201 directly downward, and the threshold value for the approach determination is 0.1 [rad]. In this case, as shown in FIG. 5, the proximity determination unit 105 determines that the angle Θ formed by the upward direction (reference direction) 508 and the direction 502 of the end effector 201 is equal to or more than (π−0.1) [rad] (ie, If the angle between the direct downward direction 507 and the direction 502 of the end effector 201 is less than 0.1 [rad], it is determined that the posture of the arm 2 is approaching the constraint target. Is determined not to be approaching the restraint target.
 また、拘束面503が複数存在する場合等のように拘束目標が複数存在する場合、近接判定部105は、拘束目標毎に上記判定を行い、各拘束目標のうちの1つでもアーム2の位置姿勢が近づいていると判定した場合には、アーム2の位置姿勢は拘束目標に近づいていると判定する。この際、更に、近接判定部105は、アーム2と各拘束目標との間の距離を評価し、上記判定の結果とともにアーム2に最も近い拘束目標を示す情報を切換部108に通知してもよい。 When there are a plurality of constraint targets, such as when there are a plurality of constraint surfaces 503, the proximity determination unit 105 performs the above-described determination for each constraint target, and determines the position of the arm 2 even in one of the constraint targets. When it is determined that the posture is approaching, it is determined that the position and posture of the arm 2 is approaching the constraint target. At this time, the proximity determination unit 105 further evaluates the distance between the arm 2 and each constraint target, and notifies the switching unit 108 of information indicating the constraint target closest to the arm 2 along with the result of the above determination. Good.
 また、解除操作判定部106は、操作者が解除操作を行ったかを判定する(ステップST406)。 解除 The release operation determination unit 106 determines whether the operator has performed a release operation (step ST406).
 解除操作判定部106による最も好ましい判定方法は、外力を用いた判定方法である。解除操作判定部106による外力を用いた最も単純な判定方法の一例は、外力が所定の力(例えば5.0[N])以上である場合に操作者が解除操作を行ったと判定するという、外力の大きさに基づいた判定方法である。また、解除操作判定部106は、外力の大きさに加えて時間も考慮し、外力が所定の力以上であり且つ一定時間以上継続している場合に、操作者が解除操作を行ったと判定してもよい。 最 も The most preferable determination method by the release operation determination unit 106 is a determination method using external force. An example of the simplest determination method using the external force by the release operation determination unit 106 is to determine that the operator has performed the release operation when the external force is equal to or more than a predetermined force (for example, 5.0 [N]). This is a determination method based on the magnitude of the external force. The release operation determination unit 106 also considers time in addition to the magnitude of the external force, and determines that the operator has performed the release operation when the external force is equal to or more than a predetermined force and continues for a predetermined time or more. You may.
 解除操作判定部106による外力を用いたより複雑な判定方法の一例について、図6に示す。
 図6Aに示すように、解除操作判定部106は、外力が拘束面503から遠ざかる方向且つ所定の力以上である場合に、操作者が解除操作を行ったと判定してもよい。この判定方法は、外力検知部102において、外力のうち、拘束面503と直交する成分の大きさを検知することで実現可能である。このように、解除操作判定部106による判定方法としては、外力の大きさだけではなく外力の向きも考慮した判定方法も実施可能である。
FIG. 6 shows an example of a more complicated determination method using an external force by the release operation determination unit 106.
As illustrated in FIG. 6A, the release operation determination unit 106 may determine that the operator has performed the release operation when the external force is away from the constraint surface 503 and is equal to or greater than a predetermined force. This determination method can be realized by detecting the magnitude of a component of the external force orthogonal to the constraint surface 503 in the external force detection unit 102. As described above, as the determination method by the release operation determination unit 106, a determination method that considers not only the magnitude of the external force but also the direction of the external force can be implemented.
 また、図6Bに示すように、解除操作判定部106は、外力がエンドエフェクタ201の軸を中心とした回転力であり且つ所定の力以上である場合に、操作者が解除操作を行ったと判定してもよい。この判定方法は、外力検知部102において、エンドエフェクタ201の軸を中心とした回転力を検知することで実現可能である。 As shown in FIG. 6B, the release operation determination unit 106 determines that the operator has performed the release operation when the external force is a rotational force about the axis of the end effector 201 and is equal to or greater than a predetermined force. May be. This determination method can be realized by the external force detection unit 102 detecting a rotational force about the axis of the end effector 201.
 また、図6Cに示すように、解除操作判定部106は、外力が左右方向に交互に加えられた力であり且つ所定の力以上である場合に、操作者が解除操作を行ったと判定してもよい。この判定方法では、解除操作判定部106は、外力の大きさ及び向きだけではなく時系列なパターンも考慮しているため、意図しない操作により偶然に解除操作と判定する可能性(すなわち誤判定の可能性)が低くなることが期待できる。解除操作判定部106が解除操作を意図するパターンであるかを判定する方法としては、公知のパターン認識、機械学習又はニューラルネットワーク等、様々な方法を利用可能である。 Further, as shown in FIG. 6C, the release operation determination unit 106 determines that the operator has performed the release operation when the external force is a force applied alternately in the left-right direction and is equal to or greater than a predetermined force. Is also good. In this determination method, since the release operation determination unit 106 considers not only the magnitude and direction of the external force but also a time-series pattern, there is a possibility that the release operation is accidentally determined to be a release operation by an unintended operation. Probability) can be expected to decrease. Various methods such as known pattern recognition, machine learning, and neural network can be used as a method for the release operation determination unit 106 to determine whether the pattern is intended for the release operation.
 また、解除操作判定部106は、外力による判定に限らず、アーム2の位置姿勢を用いて操作者が解除操作を行ったかを判定してもよい。但し、直接教示装置1は、拘束付き直接教示を行っている間は、アーム2の位置姿勢を拘束しているため、アーム2をその拘束範囲でしか動かすことができない。そのため、解除操作判定部106によるアーム2の位置姿勢を用いた判定方法はある程度制限される。解除操作判定部106によるアーム2の位置姿勢を用いた判定方法の一例について、図7に示す。 The release operation determination unit 106 may determine whether the operator has performed the release operation using the position and orientation of the arm 2 without being limited to the determination based on the external force. However, since the direct teaching device 1 restrains the position and orientation of the arm 2 during the direct teaching with restraint, the arm 2 can be moved only within the restrained range. Therefore, the determination method using the position and orientation of the arm 2 by the release operation determination unit 106 is limited to some extent. FIG. 7 illustrates an example of a determination method using the position and orientation of the arm 2 by the release operation determination unit 106.
 図7A~7Cに示すように、直接教示装置1が、アーム2をZ座標が一定である平面506(拘束面503)に拘束している場合を考える。
 この場合、図7Aに示すように、解除操作判定部106は、アーム2のX座標又はY座標が平面506より外(例えば±0.5[m]の範囲外)である場合に、操作者が解除操作を行ったと判定してもよい。また、解除操作判定部106は、ワークからエンドエフェクタ201の先端までの距離が例えば0.2[m]より大きい場合に、操作者が解除操作を行ったと判定してもよい。
As shown in FIGS. 7A to 7C, it is assumed that the direct teaching device 1 restrains the arm 2 on a plane 506 (restriction surface 503) having a constant Z coordinate.
In this case, as shown in FIG. 7A, when the X coordinate or the Y coordinate of the arm 2 is outside the plane 506 (for example, outside the range of ± 0.5 [m]), the release operation determination unit 106 determines May have determined that the release operation has been performed. Further, the release operation determination unit 106 may determine that the operator has performed the release operation when the distance from the workpiece to the tip of the end effector 201 is larger than, for example, 0.2 [m].
 また、図7Bに示すように、解除操作判定部106は、アーム2が拘束面503上で所定の形(図7Bでは三角形の形)に動いた場合に操作者が解除操作を行ったと判定する等、エンドエフェクタ201の位置の時系列なパターンに基づいて判定を行ってもよい。解除操作判定部106が解除操作を意図するパターンであるかを判定する方法としては、公知のパターン認識、機械学習又はニューラルネットワーク等、様々な方法を利用可能である。 Also, as shown in FIG. 7B, the release operation determination unit 106 determines that the operator has performed the release operation when the arm 2 has moved to a predetermined shape (a triangular shape in FIG. 7B) on the constraint surface 503. For example, the determination may be made based on a time-series pattern of the position of the end effector 201. Various methods such as known pattern recognition, machine learning, and neural network can be used as a method for the release operation determination unit 106 to determine whether the pattern is intended for the release operation.
 また、図7Cに示すように、解除操作判定部106は、アーム2が拘束面503上で一回転した場合に操作者が解除操作を行ったと判定する等、エンドエフェクタ201の姿勢の時系列なパターンに基づいて判定を行ってもよい。但し、この判定方法は、直接教示装置1が拘束付き直接教示を行っている状態では実施できない場合がある。解除操作判定部106が解除操作を意図するパターンであるかを判定する方法としては、公知のパターン認識、機械学習又はニューラルネットワーク等、様々な方法を利用可能である。 Also, as shown in FIG. 7C, the release operation determination unit 106 determines the posture of the end effector 201 in a time-series manner, such as determining that the operator has performed the release operation when the arm 2 makes one rotation on the constraint surface 503. The determination may be made based on the pattern. However, this determination method may not be implemented in a state where the direct teaching device 1 is performing the direct teaching with the constraint. Various methods such as known pattern recognition, machine learning, and neural network can be used as a method for the release operation determination unit 106 to determine whether the pattern is intended for the release operation.
 また、図7D,7Eに示すように、直接教示装置1が、アーム2をZ軸に平行な軸(拘束軸504)に拘束している場合を考える。
 この場合、図7Dに示すように、解除操作判定部106は、エンドエフェクタ201の先端のZ座標が所定の位置(例えば0.3[m])より大きい場合に、操作者が解除操作を行ったと判定してもよい。また、解除操作判定部106は、ワークからエンドエフェクタ201の先端までの距離が大きい場合(すなわちアーム2がワークから遠ざかった場合)に、操作者が解除操作を行ったと判定してもよい。
Also, as shown in FIGS. 7D and 7E, a case is considered in which the direct teaching device 1 restrains the arm 2 on an axis parallel to the Z axis (a restraining axis 504).
In this case, as shown in FIG. 7D, when the Z coordinate of the end of the end effector 201 is larger than a predetermined position (for example, 0.3 [m]), the release operation determination unit 106 performs the release operation by the operator. May be determined. The release operation determination unit 106 may determine that the operator has performed the release operation when the distance from the workpiece to the tip of the end effector 201 is large (that is, when the arm 2 has moved away from the workpiece).
 また、図7Eに示すように、解除操作判定部106は、アーム2が拘束軸504上で所定の周期よりも短い周期で上下に往復した場合に、操作者が解除操作を行ったと判定してもよい。 Further, as shown in FIG. 7E, when the arm 2 reciprocates up and down on the constraint shaft 504 in a cycle shorter than a predetermined cycle, the release operation determination unit 106 determines that the operator has performed the release operation. Is also good.
 なお、解除操作判定部106は、位置姿勢演算部104により算出されたアーム2の位置姿勢の代わりに、位置姿勢計測部101により計測されたアーム2の位置姿勢に関するパラメータを用いることも可能である。 Note that the release operation determination unit 106 can use parameters related to the position and orientation of the arm 2 measured by the position and orientation measurement unit 101, instead of the position and orientation of the arm 2 calculated by the position and orientation calculation unit 104. .
 また、直接教示装置1の実施環境が操作者の音声を取得可能な環境である場合、直接教示装置1はマイク等を用いて操作者の音声を取得し、解除操作判定部106は音声認識によって操作者が解除操作を行ったかを判定してもよい。この判定方法では、操作者はアーム2から手を離すことなく解除操作を実施可能となる。 Further, when the implementation environment of the direct teaching device 1 is an environment in which the voice of the operator can be acquired, the direct teaching device 1 acquires the voice of the operator using a microphone or the like, and the release operation determination unit 106 performs the voice recognition. It may be determined whether the operator has performed the release operation. In this determination method, the operator can perform the release operation without releasing the hand from the arm 2.
 また、直接教示装置1の実施環境が操作者の画像を動画として取得可能な環境である場合、直接教示装置1はカメラ等を用いて操作者の唇の画像を取得し、解除操作判定部106は当該画像から操作者が発している言葉を認識することで操作者が解除操作を行ったかを判定してもよい。この方法でも、操作者はアーム2から手を離すことなく解除操作を実施可能となる。 Further, when the environment in which the direct teaching device 1 is implemented is an environment in which an image of the operator can be acquired as a moving image, the direct teaching device 1 acquires an image of the lips of the operator using a camera or the like, and the release operation determination unit 106 May determine whether the operator has performed the release operation by recognizing the words spoken by the operator from the image. Also in this method, the operator can perform the release operation without releasing the hand from the arm 2.
 また、復帰判定部107は、拘束付き直接教示へと切換え可能な状態へ復帰させるための所定の復帰条件を満たしたかを判定する(ステップST407)。前述した通り、直接教示装置1は、操作者により解除操作が行われた直後に第一の状態に移行してしまうと、解除操作が行われても直ぐに拘束付き直接教示へ戻ってしまうため、そうならないようにする必要がある。復帰判定部107はこのような不具合を解消するために存在する。 {Circle around (2)} Return determination section 107 determines whether or not a predetermined return condition for returning to a state where switching to restricted direct teaching is possible is satisfied (step ST407). As described above, if the direct teaching device 1 shifts to the first state immediately after the release operation is performed by the operator, even if the release operation is performed, the direct teaching device 1 immediately returns to the restricted direct teaching. We need to avoid that. The return determination unit 107 exists to solve such a problem.
 復帰判定部107による最も好ましい判定方法の一つは、近接判定部105によりアーム2の位置姿勢が拘束目標に近づいていると判定されなくなるのを待って復帰条件を満たしたと判定する方法である。例えば、復帰判定部107は、図2であればアーム2が拘束面503から±50[mm]以上離れた場合に、図3であれば真下方向507とアーム2の姿勢とが成す角度が±0.2[rad]以上離れた場合に、復帰条件を満たしたと判定してもよい。これにより、直接教示装置1は、操作者により解除操作が行われた後に操作者の意図に反して拘束付き直接教示が再度有効になることを抑制できる。 One of the most preferable determination methods by the return determination unit 107 is a method of determining that the return condition is satisfied after waiting for the proximity determination unit 105 to stop determining that the position and orientation of the arm 2 is approaching the constraint target. For example, in FIG. 2, the return determination unit 107 determines that when the arm 2 is separated from the restraining surface 503 by ± 50 [mm] or more, the angle between the downward direction 507 and the posture of the arm 2 in FIG. When the distance is 0.2 [rad] or more, it may be determined that the return condition is satisfied. Thereby, the direct teaching device 1 can suppress that the restricted direct teaching becomes valid again against the operator's intention after the release operation is performed by the operator.
 なお、復帰判定部107は、近接判定のしきい値をそのまま用いるのではなく、近接判定のしきい値よりも多少余裕を持たせたしきい値を用いて判定を行ってもよく、より安定した動作になると考えられる。例えば、復帰判定部107は、図2であればアーム2が拘束面503から±55[mm]以上離れた場合に、図3であれば真下方向507とアーム2の姿勢とが成す角度が±0.22[rad]以上離れた場合に、復帰条件を満たしたと判定してもよい。 Note that the return determination unit 107 may perform the determination using a threshold value which has a margin more than the threshold value for the proximity determination, instead of using the threshold value for the proximity determination as it is. It is considered that the operation is performed. For example, in FIG. 2, the return determination unit 107 determines that when the arm 2 is separated from the constraint surface 503 by ± 55 [mm] or more, in FIG. When the distance is 0.22 [rad] or more, it may be determined that the return condition is satisfied.
 また、復帰判定部107は、操作者が解除操作を行った後一定時間が経過した場合に、復帰条件を満たしたと判定してもよい。例えば、復帰判定部107は、操作者が解除操作を行った後10[秒]経過した場合に、復帰条件を満たしたと判定してもよい。この場合、操作者は、通常の直接教示に戻したい場合には、10[秒]以内に近接判定条件を満たさない領域へとアーム2を操作すればよい。また、操作者は、拘束付き直接教示を再開したい場合には、アーム2をそのままにして時間が経過するのを待てばよい。 The return determination unit 107 may determine that the return condition has been satisfied when a predetermined time has elapsed after the operator performed the release operation. For example, the return determination unit 107 may determine that the return condition has been satisfied when 10 [seconds] have elapsed after the operator performed the release operation. In this case, when the operator wants to return to the normal direct teaching, the operator only has to operate the arm 2 to an area where the proximity determination condition is not satisfied within 10 [seconds]. When the operator wants to resume the restricted direct teaching, the operator may leave the arm 2 as it is and wait for the time to elapse.
 また、復帰判定部107は、上記の二つの方法を組合わせて、アーム2の位置姿勢が拘束目標から離れた後一定時間が経過した場合に、復帰条件を満たしたと判定してもよい。 The return determination unit 107 may determine that the return condition is satisfied when a certain period of time has elapsed after the position and orientation of the arm 2 has moved away from the constraint target by combining the above two methods.
 なお、操作者は、復帰判定部107が拘束目標からの距離又は解除操作からの時間の何れを用いる場合でも、アーム2から手を離すことなく復帰操作が可能である。 The operator can perform the return operation without releasing the hand from the arm 2 regardless of whether the return determination unit 107 uses the distance from the constraint target or the time from the release operation.
 次いで、切換部108は、近接判定部105による判定結果、解除操作判定部106による判定結果及び復帰判定部107による判定結果に従い、拘束制御演算部110の動作を切換える(ステップST408)。 Next, switching section 108 switches the operation of constraint control calculation section 110 according to the determination result by proximity determination section 105, the determination result by release operation determination section 106, and the determination result by return determination section 107 (step ST408).
 切換部108は、図8に示すように、直接教示装置1を3つの状態(第一の状態~第三の状態)に分けて管理する。そして、切換部108は、近接判定部105、解除操作判定部106及び復帰判定部107によるそれぞれの判定結果に基づいて、直接教示装置1の状態を切換える。第一の状態は、近接判定部105による判定のみが有効となる近接判定中という状態であり、直接教示装置1はこの状態から動作を開始する。第二の状態は、解除操作判定部106による判定のみが有効となる解除操作判定中という状態である。第三の状態は、復帰判定部107による判定のみが有効となる復帰判定中という状態である。直接教示装置1はこの3つの状態の何れかの状態となる。 The switching unit 108 manages the direct teaching device 1 in three states (first to third states) as shown in FIG. Then, the switching unit 108 directly switches the state of the teaching device 1 based on the determination results of the proximity determination unit 105, the release operation determination unit 106, and the return determination unit 107. The first state is a state in which the proximity determination is being performed in which only the determination by the proximity determination unit 105 is valid, and the direct teaching device 1 starts operating from this state. The second state is a state where the release operation is being determined in which only the determination by the release operation determination unit 106 is valid. The third state is a state in which a return determination is being performed in which only the determination by the return determination unit 107 is valid. The direct teaching device 1 is in one of these three states.
 切換部108は、直接教示装置1が第一の状態である場合には、近接判定部105による判定結果のみを参照する。そして、切換部108は、近接判定部105によりアーム2の位置姿勢が拘束目標に近づいたと判定された場合に、直接教示装置1を第二の状態に切換える。 When the direct teaching device 1 is in the first state, the switching unit 108 refers only to the determination result by the proximity determining unit 105. Then, the switching unit 108 directly switches the teaching device 1 to the second state when the proximity determination unit 105 determines that the position and orientation of the arm 2 has approached the constraint target.
 切換部108は、直接教示装置1が第二の状態である場合には、解除操作判定部106による判定結果のみを参照する。そして、切換部108は、解除操作判定部106により操作者が解除操作を行ったと判定された場合に、直接教示装置1を第三の状態に切換える。 When the direct teaching device 1 is in the second state, the switching unit 108 refers only to the determination result by the release operation determination unit 106. Then, when the release operation determination unit 106 determines that the operator has performed the release operation, the switching unit 108 directly switches the teaching device 1 to the third state.
 切換部108は、直接教示装置1が第三の状態である場合には、復帰判定部107による判定結果のみを参照する。そして、切換部108は、復帰判定部107により復帰条件を満たしたと判定された場合に、直接教示装置1を第一の状態に切換える。 When the direct teaching device 1 is in the third state, the switching unit 108 refers only to the determination result by the return determination unit 107. Then, the switching unit 108 directly switches the teaching device 1 to the first state when the return determination unit 107 determines that the return condition is satisfied.
 そして、切換部108は、直接教示装置1の状態に応じて、拘束制御演算部110による処理を有効又は無効に切換える。すなわち、切換部108は、直接教示装置1が第二の状態である場合には、拘束制御演算部110による処理を有効とする。また、切換部108は、直接教示装置1が第一の状態又は第三の状態である場合には、拘束制御演算部110による演算を停止するか又は算出結果がアーム2の制御に反映されないようにして、拘束制御演算部110による処理を無効とする。
 また図8に示すように、切換部108は、直接教示装置1が第二の状態である場合には目標値算出部109による目標値の算出を実行させ、直接教示装置1が第一の状態又は第三の状態である場合には目標値算出部109による目標値の算出を停止させるよう切換えてもよい。
Then, the switching unit 108 switches the processing by the constraint control calculation unit 110 to valid or invalid according to the state of the direct teaching device 1. That is, when the direct teaching device 1 is in the second state, the switching unit 108 enables the processing by the constraint control calculation unit 110. When the direct teaching device 1 is in the first state or the third state, the switching unit 108 stops the calculation by the constraint control calculation unit 110 or prevents the calculation result from being reflected in the control of the arm 2. Then, the processing by the constraint control calculation unit 110 is invalidated.
Also, as shown in FIG. 8, when the direct teaching device 1 is in the second state, the switching unit 108 causes the target value calculating unit 109 to calculate the target value, and the direct teaching device 1 Alternatively, in the case of the third state, switching may be performed so that the calculation of the target value by the target value calculation unit 109 is stopped.
 このように、直接教示装置1は、操作者によりアーム2の位置姿勢が拘束目標に近づけられると、自動的に拘束制御を開始する。また、直接教示装置1は、操作者により拘束付き直接教示の解除操作が行われると、自動的に拘束制御を終了する。また、直接教示装置1は、復帰条件を満たした後に再度操作者によりアーム2の位置姿勢が拘束目標に近づけられると、自動的に拘束制御を開始する。これにより、直接教示装置1は、操作者によりアーム2が保持された状態で拘束制御のオンオフを切換えることができる。
 なお、切換部108は、拘束目標が複数あって近接判定部105からアーム2に最も近い拘束目標を示す情報が通知された場合には、後述する目標値算出部109にその情報を出力して当該目標値算出部109の動作を切換えてもよい。
As described above, the direct teaching device 1 automatically starts the restraint control when the position and orientation of the arm 2 is brought closer to the restraint target by the operator. Further, the direct teaching device 1 automatically terminates the constraint control when the operator performs the operation of releasing the constrained direct teaching. Further, when the operator again brings the position and orientation of the arm 2 closer to the constraint target after satisfying the return condition, the direct teaching device 1 automatically starts constraint control. Accordingly, the direct teaching device 1 can switch on / off the constraint control while the arm 2 is held by the operator.
When there are a plurality of constraint targets and information indicating a constraint target closest to the arm 2 is notified from the proximity determination unit 105, the switching unit 108 outputs the information to a target value calculation unit 109 described later. The operation of the target value calculation unit 109 may be switched.
 なお、近接判定部105、解除操作判定部106及び復帰判定部107は、切換部108がその判定結果を必要としないときは処理を停止してもよい。例えば、直接教示装置1が第二の状態である場合には、切換部108は近接判定部105による判定結果は用いないため、近接判定部105は処理を停止しても支障はない。また、直接教示装置1が第一の状態又は第三の状態である場合には、切換部108は解除操作判定部106による判定結果は用いないため、解除操作判定部106は処理を停止しても支障はない。また、直接教示装置1が第一の状態又は第二の状態である場合には、切換部108は復帰判定部107による判定結果は用いないため、復帰判定部107は処理を停止しても支障はない。なお、近接判定部105は、復帰判定部107が復帰判定のために近接判定部105による判定結果を用いる場合には、直接教示装置1が第三の状態である場合にも処理を実施する必要がある。 The proximity determining unit 105, the release operation determining unit 106, and the return determining unit 107 may stop the processing when the switching unit 108 does not need the determination result. For example, when the direct teaching device 1 is in the second state, the switching unit 108 does not use the determination result by the proximity determination unit 105, and therefore, there is no problem even if the proximity determination unit 105 stops processing. When the direct teaching device 1 is in the first state or the third state, the switching unit 108 does not use the determination result of the release operation determination unit 106, and the release operation determination unit 106 stops the process. No problem. Further, when the direct teaching device 1 is in the first state or the second state, the switching unit 108 does not use the determination result by the return determination unit 107. There is no. When the return determination unit 107 uses the determination result of the proximity determination unit 105 for the return determination, the proximity determination unit 105 needs to perform the process even when the direct teaching device 1 is in the third state. There is.
 次いで、目標値算出部109は、拘束目標及び位置姿勢演算部104による算出結果に基づいて、拘束制御の目標値を算出する(ステップST409)。 Next, the target value calculation unit 109 calculates a target value of the constraint control based on the calculation result by the constraint target and the position and orientation calculation unit 104 (step ST409).
 例えば、拘束制御の目的がエンドエフェクタ201の先端のZ軸座標を0.1[m]の位置に固定することであり、位置姿勢演算部104により算出されたエンドエフェクタ201の先端の現在値が[X,Y,Z]であるとする。この場合、目標値算出部109は、拘束制御の目標値を[X,Y,0.1]とする。 For example, the purpose of the constraint control is to fix the Z-axis coordinate of the tip of the end effector 201 to a position of 0.1 [m], and the current value of the tip of the end effector 201 calculated by the position and orientation calculation unit 104 is [X P, Y P, Z P] is to be. In this case, the target value calculation unit 109, a target value of the constraint control [X P, Y P, 0.1 ] and.
 また、拘束制御の目的が、図9下段に示すようにエンドエフェクタ201の向き502のうちのZ軸を真下方向507とした上でX軸をロボット座標系のX軸に合わせることであるとする。この場合、拘束制御の目標値である目標姿勢を回転行列表現で表したものは次式(1)のようになる。なお、回転行列による姿勢の表現は、例えば非特許文献1等に開示されており、その詳細については省略する。
Figure JPOXMLDOC01-appb-I000001
John J. Craig (三浦・下山訳):ロボティクス,共立出版(1991)
Further, it is assumed that the purpose of the constraint control is to set the Z axis of the direction 502 of the end effector 201 to the directly downward direction 507 and align the X axis with the X axis of the robot coordinate system as shown in the lower part of FIG. . In this case, a target attitude, which is a target value of the constraint control, represented by a rotation matrix expression is represented by the following equation (1). The expression of the posture by the rotation matrix is disclosed, for example, in Non-Patent Document 1 and the like, and the details thereof will be omitted.
Figure JPOXMLDOC01-appb-I000001
John J. Craig (translated by Miura and Shimoyama): Robotics, Kyoritsu Publishing (1991)
 なお、目標値算出部109は、拘束制御の目標値として、1つの目標値のみを算出してもよいし、複数の目標値を算出してその中から1つの目標値を選択してもよい。例えば、拘束制御の目的がエンドエフェクタ201の先端のZ軸座標を0.1[m]刻みで最も近い位置に固定することである場合、目標値算出部109は、拘束制御の目標値として[X,Y,0.1n](nは整数)の中で最も現在の位置に近いものを選択する。 Note that the target value calculation unit 109 may calculate only one target value as the target value of the constraint control, or may calculate a plurality of target values and select one target value from the calculated target values. . For example, if the purpose of the constraint control is to fix the Z-axis coordinate of the tip of the end effector 201 to the nearest position in steps of 0.1 [m], the target value calculation unit 109 sets the target value of the constraint control as [ X P, Y P, 0.1n] (n is an integer) selects the closest to the current position in the.
 また、拘束制御の目的が図10に示すようにエンドエフェクタ201の向き502のうちのZ軸を真下方向507とし且つこのZ軸を回転軸としてπ/2刻み(90度刻み)に回転させた姿勢で固定することである場合、目標値算出部109は、拘束制御の目標値として最も現在の姿勢に近いものを選択する。このとき、拘束制御の目標値である目標姿勢を回転行列表現で表したものは次式(2)のようになる。
Figure JPOXMLDOC01-appb-I000002
 この式(2)は図10に示すように、nによって目標姿勢が4通りに変わるが、目標値算出部109はその中から現在の姿勢に最も近いものを1つ選択する。目標値算出部109は、現在の姿勢に近いかどうかは、現在の姿勢から各目標姿勢へと回転させた場合の回転角の大小等から判断できる。また、近接判定部105がアーム2に最も近い拘束目標を示す情報を通知している場合には、目標値算出部109はその情報から拘束制御の目標値を選択してもよい。
10, the Z-axis of the direction 502 of the end effector 201 is set to a directly downward direction 507, and the Z-axis is rotated at π / 2 intervals (90-degree intervals) as the rotation axis. In the case of fixing the posture, the target value calculation unit 109 selects the target value of the constraint control that is closest to the current posture. At this time, a target attitude, which is a target value of the constraint control, expressed in a rotation matrix expression is as shown in the following equation (2).
Figure JPOXMLDOC01-appb-I000002
In Equation (2), as shown in FIG. 10, the target posture changes in four ways depending on n, but the target value calculation unit 109 selects one of them that is closest to the current posture. The target value calculation unit 109 can determine whether or not the current attitude is close to the current attitude based on the magnitude of the rotation angle when rotating from the current attitude to each of the target attitudes. When the proximity determination unit 105 has notified information indicating the constraint target closest to the arm 2, the target value calculation unit 109 may select a target value for constraint control from the information.
 次いで、拘束制御演算部110は、位置姿勢演算部104による算出結果に基づいて、目標値算出部109により算出された目標値に移動するアーム2の動き(拘束制御指令値)を算出する(ステップST410)。この際、拘束制御演算部110は、目標値算出部109により算出された目標値から、アーム2を現在の位置姿勢から目標値に移動させるのに必要なアーム2の移動量又は単位時間当たり移動量である関節角速度θ(ドット)等を算出する。また、拘束制御演算部110は、関節角速度θ(ドット)の代わりに1制御周期あたりの関節角変化量Δθを演算してもよい。 Next, the constraint control calculation unit 110 calculates the movement (restriction control command value) of the arm 2 that moves to the target value calculated by the target value calculation unit 109 based on the calculation result by the position / posture calculation unit 104 (step). ST410). At this time, the constraint control calculation unit 110 calculates the amount of movement of the arm 2 or the movement per unit time required to move the arm 2 from the current position and orientation to the target value based on the target value calculated by the target value calculation unit 109. A joint angular velocity θ (dot), which is an amount, is calculated. Further, the constraint control calculation unit 110 may calculate the joint angle change amount Δθ per control cycle instead of the joint angular velocity θ (dot).
 次いで、合成部111は、従動制御演算部103から出力された従動制御指令値と拘束制御演算部110から出力された拘束制御指令値とを一つの指令値に合成する(ステップST411)。 Next, the combining unit 111 combines the driven control command value output from the driven control calculation unit 103 and the constraint control command value output from the constraint control calculation unit 110 into one command value (step ST411).
 例えば、従動制御演算部103が従動制御指令値として関節角θを出力し、拘束制御演算部110が拘束制御指令値として関節角変化量Δθを出力した場合には、合成部111は、θ+Δθを関節角指令値として出力する。
 また、例えば、従動制御演算部103が従動制御指令値として位置座標[x,y,z]及び姿勢T(回転行列表現)を出力し、拘束制御演算部110が拘束制御指令値として位置変化量[Δx,Δy,Δz]及び姿勢変化量ΔT(回転行列表現)を出力した場合には、合成部111は、[x+Δx,y+Δy,z+Δz]を位置指令値として、ΔT(回転行列表現)を姿勢指令値として出力する(回転行列表現された姿勢の合成は行列の積となる)。
 また、例えば、従動制御演算部103が従動制御指令値としてトルクτを出力し、拘束制御演算部110が拘束制御指令値としてトルク変化量Δτを出力した場合には、合成部111は、τ+Δτをトルク指令値として出力する。
For example, if the driven control calculation unit 103 outputs the joint angle theta D as a driven control command value, restraining control arithmetic unit 110 outputs the joint angle variation [Delta] [theta] C as restraining control command value, the combining unit 111, θ D + Δθ C is output as a joint angle command value.
Further, for example, and it outputs the position coordinates follower control calculation unit 103 as a driven control command value [x D, y D, z D] and attitude T D (the rotation matrix representation), restraining control arithmetic unit 110 is restraining control command value When the position change amount [Δx C , Δy C , Δz C ] and the posture change amount ΔT C (rotation matrix expression) are output as the expression, the combining unit 111 outputs [x D + Δx C , y D + Δy C , z D]. + Δz C ] is used as a position command value, and ΔT C T D (represented by a rotation matrix) is output as a posture command value (composition of a posture represented by a rotation matrix is a product of matrices).
Further, for example, when the driven control calculation unit 103 outputs the torque τ D as the driven control command value and the constraint control calculation unit 110 outputs the torque change amount Δτ C as the constraint control command value, the combining unit 111 τ D + Δτ C is output as a torque command value.
 次いで、駆動制御部112は、合成部111による合成結果に基づいて、アーム2を駆動する(ステップST412)。この駆動制御部112によるアーム2の駆動は、通常のアーム2の制御であるため、その詳細については省略する。 Next, drive control section 112 drives arm 2 based on the result of synthesis by synthesis section 111 (step ST412). The drive of the arm 2 by the drive control unit 112 is a normal control of the arm 2, and thus the details thereof are omitted.
 以上のように、この実施の形態1によれば、直接教示装置1は、ロボットが有するアーム2に加えられた外力を検知する外力検知部102と、外力検知部102により検知された外力に従うアーム2の動きを算出する従動制御演算部103と、アーム2の位置又は姿勢のうちの少なくとも一方である位置姿勢を算出する位置姿勢演算部104と、位置姿勢演算部104による算出結果に基づいて、アーム2の位置姿勢が、当該アーム2の位置姿勢の拘束先である拘束目標に近づいているかを判定する近接判定部105と、操作者が拘束付き直接教示を解除するための解除操作を行ったかを判定する解除操作判定部106と、拘束付き直接教示へと切換え可能な状態への復帰条件を満たしたかを判定する復帰判定部107と、拘束目標及び位置姿勢演算部104による算出結果に基づいて、拘束付き直接教示における拘束制御の目標値を算出する目標値算出部109と、位置姿勢演算部104による算出結果に基づいて、目標値算出部109により算出された目標値に移動するアーム2の動きを算出する拘束制御演算部110と、自機が第一の状態である場合において近接判定部105により拘束目標に近づいていると判定された場合に自機を第二の状態へと切換え、自機が第二の状態である場合において解除操作判定部106により操作者が解除操作を行ったと判定された場合に自機を第三の状態へと切換え、自機が第三の状態である場合において復帰判定部107により復帰条件を満たしたと判定された場合に自機を第一の状態へと切換え、自機が第二の状態にある場合に拘束制御演算部110による処理を有効とし、自機が第一の状態又は第三の状態にある場合に拘束制御演算部110による処理を無効とする切換部108と、従動制御演算部103による算出結果と拘束制御演算部110による算出結果とを合成する合成部111と、合成部111による合成結果に基づいてアーム2を駆動する駆動制御部112とを備えた。これにより、実施の形態1に係る直接教示装置1は、操作者がアーム2を操作している状態のまま通常の直接教示と拘束付き直接教示を切換え可能となる。 As described above, according to the first embodiment, the direct teaching device 1 includes the external force detecting unit 102 that detects the external force applied to the arm 2 of the robot, and the arm that follows the external force detected by the external force detecting unit 102. Based on the calculation results of the driven control calculation unit 103 that calculates the movement of the second position, the position and orientation calculation unit 104 that calculates the position and orientation of at least one of the position and the orientation of the arm 2, and the position and orientation calculation unit 104 A proximity determination unit 105 that determines whether the position and posture of the arm 2 is approaching a restriction target to which the position and posture of the arm 2 are restricted; and whether an operator has performed a release operation for releasing the restricted direct teaching. , A return determination unit 107 for determining whether or not a return condition to a state capable of switching to the restricted direct teaching is satisfied, a constraint target and a position A target value calculation unit 109 that calculates a target value of the constraint control in the constrained direct teaching based on the calculation result by the posture calculation unit 104, and a calculation by the target value calculation unit 109 based on the calculation result by the position and posture calculation unit 104 A constraint control calculation unit 110 for calculating the movement of the arm 2 moving to the set target value, and a self-control unit when the proximity determination unit 105 determines that the own device is approaching the constraint target in the first state. The device is switched to the second state, and when the release operation determination unit 106 determines that the operator has performed the release operation when the device is in the second state, the device is switched to the third state. When the return determination unit 107 determines that the return condition is satisfied when the own device is in the third state, the own device is switched to the first state, and when the own device is in the second state, A switching unit 108 that enables processing by the control arithmetic unit 110 and disables processing by the constraint control arithmetic unit 110 when the own machine is in the first state or the third state; and a calculation result by the driven control arithmetic unit 103. A combining unit 111 for combining the calculation result of the constraint control calculation unit 110 with the driving control unit 112 for driving the arm 2 based on the combining result of the combining unit 111. Thereby, the direct teaching device 1 according to the first embodiment can switch between normal direct teaching and restricted direct teaching while the operator is operating the arm 2.
実施の形態2.
 実施の形態2では、アーム2が垂直多関節型ロボットアームであり、直接教示装置1による拘束方法が姿勢拘束のみに限定された場合を示す。なお、実施の形態2に係る直接教示装置1の構成例は、実施の形態1に係る直接教示装置1の構成例と同様であり、以下では図1に示す構成例を用いて説明を行う。
Embodiment 2 FIG.
In the second embodiment, a case is described in which the arm 2 is a vertical articulated robot arm, and the restraining method by the direct teaching device 1 is limited to only the posture restraint. The configuration example of the direct teaching device 1 according to the second embodiment is the same as the configuration example of the direct teaching device 1 according to the first embodiment, and the following description will be given using the configuration example shown in FIG.
 なお、実施の形態2における位置姿勢演算部104は、アーム2の姿勢を算出する。
 また、実施の形態2における近接判定部105は、位置姿勢演算部104による算出結果に基づいて、アーム2の姿勢が拘束方向505に近接しているかを判定する。
Note that the position and orientation calculation unit 104 according to the second embodiment calculates the orientation of the arm 2.
In addition, the proximity determination unit 105 according to Embodiment 2 determines whether the posture of the arm 2 is close to the constraint direction 505 based on the calculation result by the position and posture calculation unit 104.
 次に、実施の形態2に係る直接教示装置1の動作例について、図11を参照しながら説明する。
 以下では、直接教示装置1は、エンドエフェクタ201の向き502(Z軸)を真下方向507又は真横方向509に拘束するような姿勢拘束を行うものとする。また、ロボット座標系の各軸の単位ベクトルをe,e,eで表す。また、アーム2は6軸であるとする。また、切換部108は、目標値算出部109及び拘束制御演算部110の動作を切換えるものとする。また、従動制御演算部103は従動制御指令値としてアーム2の各関節角θを算出し、拘束制御演算部110は拘束制御指令値としてアーム2の各関節角速度θ(ドット)を算出するものとする。
Next, an operation example of the direct teaching device 1 according to the second embodiment will be described with reference to FIG.
Hereinafter, it is assumed that the direct teaching device 1 performs a posture constraint such that the direction 502 (Z-axis) of the end effector 201 is restricted in the downward direction 507 or the lateral direction 509. Further, it represents a unit vector of each axis of the robot coordinate system e X, e Y, in e Z. The arm 2 has six axes. The switching unit 108 switches the operations of the target value calculation unit 109 and the constraint control calculation unit 110. Further, the driven control calculation unit 103 calculates each joint angle θ of the arm 2 as a driven control command value, and the constraint control calculation unit 110 calculates each joint angular velocity θ (dot) of the arm 2 as a constraint control command value. I do.
 実施の形態2に係る直接教示装置1の動作例では、図11に示すように、まず、位置姿勢計測部101は、アーム2の各関節角θを計測する(ステップST1101)。例えば、位置姿勢計測部101は、アーム2が有するモータに取付けられたエンコーダ等を用いて、アーム2の関節毎に関節角θを計測する。 In the operation example of the direct teaching device 1 according to the second embodiment, as illustrated in FIG. 11, first, the position and orientation measurement unit 101 measures each joint angle θ of the arm 2 (step ST1101). For example, the position and orientation measurement unit 101 measures the joint angle θ for each joint of the arm 2 using an encoder or the like attached to the motor of the arm 2.
 次いで、外力検知部102は、操作者によりアーム2に加えられた外力を検知する(ステップST1102)。この外力検知部102による処理は実施の形態1と同じである。なお、外力検知部102は重力補償を行うものとする。 Next, the external force detecting unit 102 detects the external force applied to the arm 2 by the operator (step ST1102). The processing by the external force detecting unit 102 is the same as in the first embodiment. Note that the external force detection unit 102 performs gravity compensation.
 次いで、従動制御演算部103は、位置姿勢計測部101による計測結果に基づいて、外力検知部102により検知された外力に従うアーム2の各関節角θ(従動制御指令値)を算出する(ステップST1103)。この従動制御演算部103の動作例について、図12を参照しながら説明する。 Next, driven control calculation section 103 calculates each joint angle θ (driven control command value) of arm 2 according to the external force detected by external force detection section 102 based on the measurement result by position and orientation measurement section 101 (step ST1103). ). An example of the operation of the driven control calculation unit 103 will be described with reference to FIG.
 従動制御演算部103は、例えば図12Aに示される方法により、外力検知部102により検知されたトルクτからアーム2の各関節角θを算出できる。
 図12Aでは、従動制御演算部103は、まず、外力検知部102により検知されたトルクτにゲインKを掛けることで、アーム2の関節毎に目標とする関節角速度θ(ドット)を算出する。なお、ゲインKは、アーム2の関節毎に同一でもよいし異なっていてもよい。なお図12Aに示すように、従動制御演算部103は、目標とする関節角速度θ(ドット)にリミッタを適用し、従動制御の速さを制限してもよい。
 次に、従動制御演算部103は、目標とする関節角速度θ(ドット)に制御周期Tを掛けることで、アーム2の関節毎に、1制御周期あたりの関節角変化量Δθを算出する。
 次に、従動制御演算部103は、アーム2の関節毎に、現時刻kの関節角θ(k)に関節角変化量Δθを加算して次の時刻k+1の関節角θ(k+1)を算出する。
The driven control calculation unit 103 can calculate each joint angle θ of the arm 2 from the torque τ detected by the external force detection unit 102 by, for example, the method shown in FIG. 12A.
In Figure 12A, the driven control calculation unit 103 first by the torque τ detected by the external-force detecting unit 102 multiplies the gain K T, calculates joint angular velocity θ of the target for each joint of the arm 2 (dot) . Note that the gain K T may be the same or different for each joint of the arm 2. Note that, as shown in FIG. 12A, the driven control calculation unit 103 may limit the speed of the driven control by applying a limiter to the target joint angular velocity θ (dot).
Next, the driven control calculation unit 103 calculates a joint angle change amount Δθ per control cycle for each joint of the arm 2 by multiplying the target joint angular velocity θ (dot) by the control cycle T S.
Next, the driven control calculation unit 103 calculates the joint angle θ (k + 1) at the next time k + 1 by adding the joint angle change amount Δθ to the joint angle θ (k) at the current time k for each joint of the arm 2. I do.
 また、従動制御演算部103は、例えば図12Bに示される方法により、外力検知部102により検知された力Fからアーム2の各関節角θを演算できる。
 図12Bの例では、従動制御演算部103は、まず、外力検知部102により検知された力FにゲインKを掛けることで、アーム2の位置及び姿勢毎に移動速度を算出する。なお、ゲインKは、アーム2の位置及び姿勢の各成分毎に同一でもよいし異なっていてもよい。
 次に、従動制御演算部103は、移動速度にヤコビ行列Jの逆行列を掛けることで、アーム2の関節毎に目標とする関節角速度θ(ドット)を算出する。なお、従動制御演算部103は、ヤコビ行列Jの逆行列が存在しない場合は疑似逆行列を掛ける。なお図12Bに示すように、従動制御演算部103は、目標とする関節角速度θ(ドット)にリミッタを適用し、従動制御の速さを制限してもよい。
 次に、従動制御演算部103は、目標とする関節角速度θ(ドット)に制御周期Tを掛けることで、アーム2の関節毎に、1制御周期あたりの関節角変化量Δθを算出する。
 次に、従動制御演算部103は、アーム2の関節毎に、現時刻kの関節角θ(k)に関節角変化量Δθを加算して次の時刻k+1の関節角θ(k+1)を算出する。
Further, the driven control calculation unit 103 can calculate each joint angle θ of the arm 2 from the force F detected by the external force detection unit 102, for example, by a method illustrated in FIG. 12B.
In the example of FIG. 12B, the driven control calculation unit 103 first, by multiplying the gain K F to the force F detected by the external-force detecting unit 102 calculates the moving speed for each position and orientation of the arm 2. The gain K F can be different may be the same for each component of the position and orientation of the arm 2.
Next, the driven control calculation unit 103 calculates a target joint angular velocity θ (dot) for each joint of the arm 2 by multiplying the moving velocity by the inverse matrix of the Jacobi matrix J. When there is no inverse matrix of the Jacobi matrix J, the driven control calculation unit 103 multiplies the pseudo-inverse matrix. Note that, as shown in FIG. 12B, the driven control calculation unit 103 may apply a limiter to the target joint angular velocity θ (dot) to limit the speed of the driven control.
Next, the driven control calculation unit 103 calculates a joint angle change amount Δθ per control cycle for each joint of the arm 2 by multiplying the target joint angular velocity θ (dot) by the control cycle T S.
Next, the driven control calculation unit 103 calculates the joint angle θ (k + 1) at the next time k + 1 by adding the joint angle change amount Δθ to the joint angle θ (k) at the current time k for each joint of the arm 2. I do.
 次いで、位置姿勢演算部104は、従動制御演算部103による算出結果に基づいて、アーム2の姿勢を算出する(ステップST1104)。位置姿勢演算部104は、順運動学により上記算出を実行できる。以下、位置姿勢演算部104により算出されるアーム2の姿勢を回転行列によりTで表す。また、Tを列ベクトルや要素に分解したものを次式(3)のように表す。
Figure JPOXMLDOC01-appb-I000003
Next, position / posture calculation section 104 calculates the posture of arm 2 based on the calculation result by driven control calculation section 103 (step ST1104). The position and orientation calculation unit 104 can execute the above calculation using forward kinematics. Hereinafter, the posture of the arm 2 calculated by the position / posture calculation unit 104 is represented by T using a rotation matrix. Also, T obtained by decomposing T into column vectors and elements is represented as the following equation (3).
Figure JPOXMLDOC01-appb-I000003
 次いで、近接判定部105は、位置姿勢演算部104による算出結果に基づいて、アーム2の姿勢が拘束方向505に近づいているかを判定する(ステップST1105)。ここでは、拘束方向505は真下方向507又は真横方向509である。また、接近判定のしきい値は0.1[rad]であるとする。近接判定部105の動作例について、図13を参照しながら説明する。 Next, the proximity determination unit 105 determines whether the posture of the arm 2 is approaching the constraint direction 505 based on the calculation result by the position / posture calculation unit 104 (step ST1105). Here, the restraining direction 505 is the downward direction 507 or the lateral direction 509. Also, it is assumed that the threshold value for approach determination is 0.1 [rad]. An operation example of the proximity determination unit 105 will be described with reference to FIG.
 近接判定部105の動作例では、図13に示すように、近接判定部105は、まず、真上方向(基準方向)508とエンドエフェクタ201の向き502(Z軸)とが成す角度Θを算出する(ステップST1301)。すなわち、近接判定部105は、次式(4)のように、eとtとの内積から角度Θを算出する。
Figure JPOXMLDOC01-appb-I000004
In the operation example of the proximity determining unit 105, as illustrated in FIG. 13, the proximity determining unit 105 first calculates an angle す formed by a direction directly above (reference direction) 508 and a direction 502 (Z axis) of the end effector 201. (Step ST1301). That is, the proximity determination unit 105, as in the following equation (4), calculates an angle Θ from the inner product of the e Z and t Z.
Figure JPOXMLDOC01-appb-I000004
 そして、近接判定部105は、角度Θが(π/2-0.1)[rad]から(π/2+0.1)[rad]の範囲内であるかを判定する(ステップST1302)。
 このステップST1302において、近接判定部105は、角度Θが(π/2-0.1)[rad]から(π/2+0.1)[rad]の範囲内であると判定した場合(例えば図14Aの場合)には、アーム2の姿勢が真横方向509に近づいていると判定する(ステップST1303)。
Then, proximity determination section 105 determines whether angle Θ is in the range from (π / 2-0.1) [rad] to (π / 2 + 0.1) [rad] (step ST1302).
In this step ST1302, the proximity determining unit 105 determines that the angle Θ is in the range of (π / 2-0.1) [rad] to (π / 2 + 0.1) [rad] (for example, FIG. 14A). ), It is determined that the posture of the arm 2 is approaching the horizontal direction 509 (step ST1303).
 一方、ステップST1302において、近接判定部105は、角度Θが(π/2-0.1)[rad]から(π/2+0.1)[rad]の範囲内ではないと判定した場合には、角度Θが(π-0.1)[rad]以上であるかを判定する(ステップST1304)。
 このステップST1304において、近接判定部105は、角度Θが(π-0.1)[rad]以上であると判定した場合(例えば図14Bの場合)には、アーム2の姿勢が真下方向507に近づいていると判定する(ステップST1305)。
On the other hand, in step ST1302, when the proximity determining unit 105 determines that the angle Θ is not in the range from (π / 2-0.1) [rad] to (π / 2 + 0.1) [rad], It is determined whether angle Θ is equal to or more than (π−0.1) [rad] (step ST1304).
In this step ST1304, when the proximity determining unit 105 determines that the angle Θ is equal to or more than (π−0.1) [rad] (for example, in the case of FIG. 14B), the posture of the arm 2 is set in the downward direction 507. It is determined that it is approaching (step ST1305).
 一方、ステップST1304において、近接判定部105は、角度Θが(π-0.1)[rad]以上ではないと判定した場合(例えば図14Cの場合)には、アーム2の姿勢がどの拘束方向505にも近づいていないと判定する(ステップST1306)。 On the other hand, in step ST1304, when the proximity determining unit 105 determines that the angle Θ is not equal to or more than (π−0.1) [rad] (for example, in the case of FIG. 14C), It is determined that it is not approaching 505 (step ST1306).
 また、解除操作判定部106は、操作者が解除操作を行ったかを判定する(ステップST1106)。ここで、解除操作判定部106は、外力を用いた判定を行う場合には、実施の形態1と同様の方法が適用可能である。一方、解除操作判定部106は、アーム2の位置姿勢を用いた判定を行う場合には、実施の形態2では直接教示装置1がアーム2の姿勢拘束を行っているため、適用可能な判定方法は姿勢拘束と両立可能な判定方法に限定される。例えば、実施の形態2における解除操作判定部106は、図7Cに示すように、アーム2の姿勢のパターンを用いた判定方法は適用できない。 解除 The release operation determination unit 106 determines whether the operator has performed a release operation (step ST1106). Here, when performing the determination using the external force, the release operation determination unit 106 can apply the same method as in the first embodiment. On the other hand, when performing the determination using the position and orientation of the arm 2, the release operation determination unit 106 directly applies the teaching device 1 in the second embodiment to restrict the posture of the arm 2. Is limited to a determination method compatible with the posture constraint. For example, as shown in FIG. 7C, the release operation determination unit 106 according to Embodiment 2 cannot apply the determination method using the pattern of the posture of the arm 2.
 また、復帰判定部107は、拘束付き直接教示へと切換え可能な状態への復帰条件を満たしたかを判定する(ステップST1107)。実施の形態2では直接教示装置1がアーム2の姿勢拘束を行っているため、復帰判定部107は、アーム2の位置姿勢に基づいて判定を行う場合には、角度Θの値に基づいて判定可能である。例えば、復帰判定部107は、角度Θが、(π/2-0.1)[rad]から(π/2+0.1)[rad]の範囲内ではなく、且つ、(π-0.1)[rad]未満である場合に、アーム2の勢が拘束姿勢から離れており、復帰条件を満たしたと判定できる。 {Circle around (2)} Return determination section 107 determines whether or not a return condition to a state where switching to restricted direct teaching can be satisfied is satisfied (step ST1107). In Embodiment 2, since the teaching device 1 directly restrains the posture of the arm 2, when performing the determination based on the position and posture of the arm 2, the return determination unit 107 determines based on the value of the angle Θ. It is possible. For example, the return determination unit 107 determines that the angle Θ is not in the range of (π / 2-0.1) [rad] to (π / 2 + 0.1) [rad], and that the angle Θ is (π−0.1). When it is less than [rad], it can be determined that the force of the arm 2 is away from the restrained posture and the return condition is satisfied.
 また上記では、復帰判定部107は、復帰判定のしきい値として、(π/2-0.1)[rad]、(π/2+0.1)[rad]及び(π―0.1)[rad]を用いた。しかしながら、これに限らず、復帰判定部107は、復帰判定のしきい値として、(π/2-0.12)[rad]、(π/2+0.12)[rad]及び(π-0.12)[rad]のように上記のしきい値よりも多少広げた値を用いてもよい。 In the above description, the return determination unit 107 sets (π / 2-0.1) [rad], (π / 2 + 0.1) [rad], and (π-0.1) [rad] as threshold values for return determination. rad] was used. However, the present invention is not limited to this, and the return determination unit 107 sets the threshold values of the return determination as (π / 2-0.12) [rad], (π / 2 + 0.12) [rad], and (π-0. 12) A value slightly wider than the above threshold such as [rad] may be used.
 一方で、復帰判定部107は、復帰判定のしきい値として、近接判定部105が用いるしきい値よりも狭い値を用いてはいけない。これは、復帰判定部107が上記の狭い値を用いると、復帰判定部107が復帰条件を満たしたと判定した直後に近接判定部105がアーム2の姿勢が拘束方向505に近づいていると判定し、直接教示装置1が拘束付き直接教示から離脱できないためである。 On the other hand, the return determination unit 107 must not use a value smaller than the threshold value used by the proximity determination unit 105 as the threshold value for the return determination. This is because when the return determination unit 107 uses the above narrow value, the proximity determination unit 105 determines that the posture of the arm 2 is approaching the constraint direction 505 immediately after the return determination unit 107 determines that the return condition is satisfied. This is because the direct teaching device 1 cannot leave the restricted direct teaching.
 なお、復帰判定部107は、判定にアーム2の位置姿勢を用いず時間のみを用いる場合には、実施の形態1と同様の方法が適用可能である。 In the case where the return determination unit 107 uses only the time without using the position and orientation of the arm 2 for the determination, the same method as in the first embodiment can be applied.
 次いで、切換部108は、目標値算出部109の動作を切換え、また、拘束制御演算部110の動作を切換える(ステップST1108)。すなわち、切換部108は、近接判定部105による判定結果に従い、目標値算出部109の動作を切換える。また、切換部108は、近接判定部105による判定結果、解除操作判定部106による判定結果及び復帰判定部107による判定結果に従い、拘束制御演算部110の動作を切換える。 Next, the switching unit 108 switches the operation of the target value calculation unit 109 and switches the operation of the constraint control calculation unit 110 (step ST1108). That is, the switching unit 108 switches the operation of the target value calculation unit 109 according to the determination result by the proximity determination unit 105. The switching unit 108 switches the operation of the constraint control calculation unit 110 according to the determination result by the proximity determination unit 105, the determination result by the release operation determination unit 106, and the determination result by the return determination unit 107.
 この際、切換部108は、近接判定部105によりアーム2の姿勢が真横方向509に近づいていると判定された場合には、目標値算出部109に目標値として真横方向509への目標姿勢を算出させる。
 また、切換部108は、近接判定部105によりアーム2の姿勢が真下方向507に近づいていると判定された場合には、目標値算出部109に目標値として真下方向507への目標姿勢を算出させる。
 また、切換部108は、近接判定部105によりアーム2の姿勢がどの拘束方向505にも近づいていないと判定された場合には、目標値算出部109による算出を不要とする。
 なお、切換部108による拘束制御演算部110の動作の切換えは、実施の形態1と同様である。
At this time, if the proximity determination unit 105 determines that the posture of the arm 2 is approaching the lateral direction 509, the switching unit 108 sets the target posture in the lateral direction 509 as a target value to the target value calculation unit 109. Let it be calculated.
When the proximity determining unit 105 determines that the posture of the arm 2 is approaching the downward direction 507, the switching unit 108 calculates the target posture in the downward direction 507 as a target value by the target value calculating unit 109. Let it.
When the proximity determining unit 105 determines that the posture of the arm 2 is not approaching any of the restraining directions 505, the switching unit 108 does not require the calculation by the target value calculating unit 109.
The switching of the operation of the constraint control calculation unit 110 by the switching unit 108 is the same as in the first embodiment.
 次いで、目標値算出部109は、拘束目標及び位置姿勢演算部104による算出結果に基づいて、目標姿勢を算出する(ステップST1109)。例えば、目標値算出部109は、真横方向509又は真下方向507であり、且つ、アーム2の現在の姿勢から最も小さい回転角度Θで到達可能な目標姿勢を算出する。目標値算出部109による目標姿勢の算出方法について以下に示す。 Next, target value calculation section 109 calculates a target attitude based on the calculation results by constraint target and position and attitude calculation section 104 (step ST1109). For example, the target value calculation unit 109 is a sideways direction 509 or below direction 507, and calculates the target posture reachable smallest rotation angle theta R from the current position of the arm 2. A method of calculating the target posture by the target value calculation unit 109 will be described below.
 まず、目標値算出部109は、対象となる目標姿勢毎に、eに対する目標角度Θを算出する。ここで、目標姿勢が真横方向509である場合には目標角度Θはπ/2であり、目標姿勢が真下方向507である場合には目標角度Θはπである。 First, the target value calculation unit 109, for each target attitude of interest, calculates a target angle theta * against e Z. Here, when the target posture is the horizontal direction 509, the target angle Θ * is π / 2, and when the target posture is the downward direction 507, the target angle Θ * is π.
 次に、目標値算出部109は、アーム2の姿勢に基づいて、回転角度Θが最も小さい回転軸510を算出する。図15に示すように、この回転軸510は、ロボット座標系のXY平面上にあり且つtと直交する軸(すなわちe及びtの両方と直交する軸)である。よって、目標値算出部109は、e及びtの両方と内積が0となるような単位ベクトルであるrを1つ求め、それを回転軸510とする。なお、目標値算出部109は、eとtとが平行の場合にはrを一意に求めることはできない。しかしながら、これはアーム2の姿勢が真上方向508又は真下方向507を向いている場合であり、目標値算出部109は、XY平面上の任意のベクトルを回転軸510として算出する。 Then, the target value calculation unit 109, based on the attitude of the arm 2, the rotation angle theta R calculates the smallest rotary shaft 510. As shown in FIG. 15, the rotary shaft 510 is an axis orthogonal to the located and t Z on the XY plane of the robot coordinate system (i.e., an axis orthogonal to the both e Z and t Z). Therefore, the target value calculation portion 109 obtains one r dot product and both e Z and t Z is a unit vector such that 0 to it and the rotating shaft 510. The target value calculation unit 109, in the case of parallel and e Z and t Z can not be determined uniquely r. However, this is the case where the posture of the arm 2 is pointing directly upward 508 or directly downward 507, and the target value calculation unit 109 calculates an arbitrary vector on the XY plane as the rotation axis 510.
 次に、目標値算出部109は、算出した目標角度Θ及び回転軸510に基づいて、目標姿勢として回転角度Θを算出する。ここで、エンドエフェクタ201の向き502が真上方向(基準方向)508から角度Θである場合、回転角度Θの大きさはΘ-Θとなるが、図16に示すように回転の向き(正負)を考慮する必要がある。これは、実施の形態2に係る直接教示装置1では、角度Θを求める際に内積を使っているため、エンドエフェクタ201の向き502の情報が失われているためである。回転の向きを考慮すると、回転角度Θは次式(5)のようになる。すなわち、回転の向きは、e×tとrとが同じ向きである場合には符号の反転は不要であり、e×tとrとが逆の向きである場合には符号の反転が必要である。
Figure JPOXMLDOC01-appb-I000005
 目標値算出部109では、回転軸510を表すr=[r,r,r(Tは転置を表す)と回転角度Θが得られれば、アーム2の姿勢から目標姿勢への回転が得られたことになるので、拘束目標が事実上得られたことになる。目標姿勢の具体的な表現が必要な場合は、目標値算出部109は、アーム2の姿勢に前述した回転を適用することで得られる。
Then, the target value calculation unit 109, based on the target angle theta * and the rotary shaft 510 is calculated, to calculate the rotation angle theta R as the target position. Here, when the direction 502 of the end effector 201 is at an angle theta from directly above (reference direction) 508, the magnitude of the rotation angle theta R is a theta * - [theta], the rotation as shown in FIG. 16 orientation (Positive or negative) must be considered. This is because the direct teaching device 1 according to the second embodiment uses the inner product when obtaining the angle Θ, and thus loses the information of the direction 502 of the end effector 201. Considering the rotation direction, rotation angle theta R is given by the following equation (5). That is, the orientation of the rotation, if the the e Z × t Z and r are the same orientation sign inversion is not necessary, if the the e Z × t Z and r is the reverse of the orientation of the code Inversion is required.
Figure JPOXMLDOC01-appb-I000005
The target value calculation unit 109, r = representing the rotation shaft 510 [r x, r y, r z] as long T (T denotes the transpose) and obtain the rotation angle theta R is, to the target posture from the posture of the arm 2 Is obtained, so that the restraint target is effectively obtained. When a specific expression of the target posture is required, the target value calculation unit 109 can be obtained by applying the above-described rotation to the posture of the arm 2.
 上記では、目標値算出部109が、エンドエフェクタ201の向き502(Z軸)が真下方向507又は真横方向509を向くような目標姿勢を算出する方法について述べた。目標値算出部109は、ここから更に回転を加えて所望の姿勢にして、それを目標姿勢とすることも可能である。
 例えば、目標値算出部109は、アーム2が真下方向507を向いた状態からZ軸周りに回転を加えることで、図10に示すような姿勢を目標姿勢とすることも可能である。また、目標値算出部109は、図17に示すように、アーム2が真横方向509を向いた状態から更にZ軸周りに回転を加え、t又はtがロボット座標系のZ軸と平行となる姿勢を目標姿勢とすることも可能である。
In the above, the method in which the target value calculation unit 109 calculates the target posture in which the direction 502 (Z axis) of the end effector 201 is directed to the downward direction 507 or the lateral direction 509 is described. The target value calculation unit 109 can further apply a rotation from here to a desired posture, and can use it as a target posture.
For example, the target value calculation unit 109 can also set the posture shown in FIG. 10 as the target posture by applying a rotation around the Z axis from a state in which the arm 2 faces the downward direction 507. The target value calculation unit 109, as shown in FIG. 17, an additional rotation about the Z-axis from the state where the arm 2 facing sideways direction 509, t X or t Y is the Z axis of the robot coordinate system parallel It is also possible to set the posture which becomes as the target posture.
 次いで、拘束制御演算部110は、位置姿勢演算部104による算出結果に基づいて、目標値算出部109により算出された目標姿勢に移動するアーム2の動き(拘束制御指令値)を算出する(ステップST1110)。なお、アーム2を現在の姿勢から目標姿勢へと動かすような回転は、目標値算出部109が目標姿勢を算出する際に既に算出しているため、拘束制御演算部110は、そのようにアーム2を回転させる動きを算出する。ただし、拘束制御演算部110の出力は関節角速度θ(ドット)とする必要があるので、拘束制御演算部110は、目標値算出部109により算出された回転軸510であるrと回転角度Θの組から関節角速度θ(ドット)を算出する必要がある。以下にその計算の一例を示す。 Next, the constraint control calculation unit 110 calculates the movement (restriction control command value) of the arm 2 that moves to the target posture calculated by the target value calculation unit 109 based on the calculation result by the position and posture calculation unit 104 (step). ST1110). Note that since the rotation that moves the arm 2 from the current posture to the target posture has already been calculated when the target value calculation unit 109 calculates the target posture, the constraint control calculation unit 110 2 is calculated. However, since the output of the constraint control calculation unit 110 needs to be the joint angular velocity θ (dot), the constraint control calculation unit 110 calculates the rotation axis 510 r and the rotation angle Θ R calculated by the target value calculation unit 109. It is necessary to calculate the joint angular velocity θ (dot) from the set of. An example of the calculation is shown below.
 拘束制御演算部110は、まず、回転の角速度の大きさ|ω|を決める。例えば、制限を受けなければ1秒で目標姿勢に到達するように制御するのであれば、|ω|=θとする。拘束制御演算部110は、角速度が大き過ぎるのが好ましくないのであれば、角速度を適宜制限すればよい。
 次に、拘束制御演算部110は、アーム2の現在の位置姿勢におけるヤコビ行列Jを算出する。ヤコビ行列Jについては次式(6)が成り立つものとする。
Figure JPOXMLDOC01-appb-I000006
 ここで、v,v,vはエンドエフェクタ201の先端のX,Y,Z軸方向の速度であり、ω,ω,ωはアーム2の姿勢がX軸,Y軸,Z軸について回転する角速度であり、θ(ドット)~θ(ドット)は各関節角速度である。
The constraint control calculation unit 110 first determines the magnitude | ω | of the angular velocity of rotation. For example, to control so as to reach the target posture 1 second unless restricted, | omega | = a theta R. If it is not preferable that the angular velocity is too large, the constraint control calculation unit 110 may appropriately limit the angular velocity.
Next, the constraint control calculation unit 110 calculates a Jacobi matrix J at the current position and orientation of the arm 2. It is assumed that the following equation (6) holds for the Jacobi matrix J.
Figure JPOXMLDOC01-appb-I000006
Here, v X , v Y , and v Z are the velocities of the tip of the end effector 201 in the X, Y, and Z directions, and ω X , ω Y , and ω Z are the postures of the arm 2 in the X axis, the Y axis, The angular velocity rotating about the Z axis, and θ 1 (dot) to θ 6 (dot) are the angular velocities of the respective joints.
 次に、拘束制御演算部110は、回転軸510であるrと回転速度の大きさ|ω|から姿勢に関する回転ベクトルω=[ω,ω,ωを算出する。
 次に、拘束制御演算部110は、次式(7)を満たすようなアーム2の関節毎の関節角速度θ(ドット)~θ(ドット)を算出する。なお、拘束制御演算部110は、ヤコビ行列Jに逆行列が存在しない場合は疑似逆行列等を用いて関節角速度θ(ドット)~θ(ドット)を算出する。
Figure JPOXMLDOC01-appb-I000007
Next, the constraint control calculation unit 110 calculates a rotation vector ω = [ω X , ω Y , ω Z ] T with respect to the posture from the rotation axis 510 r and the magnitude of the rotation speed | ω |.
Next, the constraint control calculation unit 110 calculates joint angular velocities θ 1 (dots) to θ 6 (dots) for each joint of the arm 2 such that the following equation (7) is satisfied. When there is no inverse matrix in the Jacobian matrix J, the constraint control calculation unit 110 calculates joint angular velocities θ 1 (dots) to θ 6 (dots) using a pseudo inverse matrix or the like.
Figure JPOXMLDOC01-appb-I000007
 なお、拘束制御演算部110は、得られた関節角速度が過大になるのを避けるために、リミッタを適用してもよい。その場合、拘束制御演算部110は、全ての関節角に同じ定数(0から1の間の値)を掛けて制限し、回転の向きを変えないようにすることが好ましい。 Note that the constraint control calculation unit 110 may apply a limiter in order to prevent the obtained joint angular velocity from becoming excessive. In this case, it is preferable that the constraint control calculation unit 110 limits all joint angles by multiplying them by the same constant (a value between 0 and 1) so as not to change the direction of rotation.
 次いで、合成部111は、従動制御演算部103から出力された従動制御指令値(関節角θ)と拘束制御演算部110から出力された拘束制御指令値(関節角速度θ(ドット))とを合成する(ステップST1111)。
 例えば、従動制御演算部103が関節角θ=[θ,・・・,θを出力し、拘束制御演算部110が関節角速度θ(ドット)=[θ(ドット),・・・,θ(ドット)]を出力した場合、制御周期Tから、合成部111の出力である関節角指令値はθ+Tθ(ドット)となる。ただし、mは駆動制御部112が制御するアーム2の関節数である。
Next, the synthesis unit 111 synthesizes the driven control command value (joint angle θ) output from the driven control calculation unit 103 and the constraint control command value (joint angular velocity θ (dot)) output from the constraint control calculation unit 110. (Step ST1111).
For example, the driven control calculation unit 103 outputs the joint angle θ = [θ 1 ,..., Θ m ] T , and the constraint control calculation unit 110 outputs the joint angular velocity θ (dot) = [θ 1 (dot),. ·, Θ m (dot)] When T is output, the joint angle command value output from the combining unit 111 is θ + T S θ (dot) from the control cycle T S. Here, m is the number of joints of the arm 2 controlled by the drive control unit 112.
 次いで、駆動制御部112は、合成部111による合成結果(関節角指令値)に基づいて、アーム2を駆動する(ステップST1112)。 Next, the drive control unit 112 drives the arm 2 based on the synthesis result (joint angle command value) by the synthesis unit 111 (step ST1112).
 なお上記では一部、6軸(関節数が6個)のアーム2を前提として説明及び例示を行ったが、6軸以外のアーム2であっても同様に実施可能である。 In the above description, the description and the examples have been partially based on the assumption that the arm 2 has six axes (the number of joints is six). However, the present invention can be similarly applied to an arm 2 other than six axes.
実施の形態3.
 実施の形態2に係る直接教示装置1では、拘束方法が姿勢拘束のみに限定された場合を示した。それに対し、実施の形態3に係る直接教示装置1では、拘束方法が軸拘束のみに限定された場合を示す。軸拘束とは、アーム2の位置を所定の拘束軸504に拘束する位置拘束とアーム2の姿勢を所定の拘束方向505に拘束する姿勢拘束とを同時に行うことを意味する。すなわち、実施の形態3に係る直接教示装置1は、実施の形態2で示した姿勢拘束に加え、位置拘束も行う。以下では、直接教示装置1が、図18に示すようなロボット座標系のZ軸に平行な直線511への位置拘束及び真下方向507への姿勢拘束を行う場合を示すが、拘束軸504及び拘束方向505は任意に設定可能である。
 なお、実施の形態3に係る直接教示装置1の構成例は、実施の形態2に係る直接教示装置1の構成例と同様であり、以下では図1に示す構成例を用いて説明を行う。
Embodiment 3 FIG.
In the direct teaching device 1 according to the second embodiment, the case where the restraining method is limited to only the posture restraint has been described. On the other hand, in the direct teaching device 1 according to the third embodiment, a case is shown in which the constraint method is limited to only the axial constraint. The axial constraint means that the position constraint for restricting the position of the arm 2 to the predetermined constraint shaft 504 and the posture constraint for restricting the posture of the arm 2 in the predetermined constraint direction 505 are performed simultaneously. That is, the direct teaching device 1 according to the third embodiment also performs the position constraint in addition to the posture constraint described in the second embodiment. In the following, a case is described in which the direct teaching device 1 performs a position constraint on a straight line 511 parallel to the Z-axis of the robot coordinate system as shown in FIG. The direction 505 can be set arbitrarily.
The configuration example of the direct teaching device 1 according to the third embodiment is the same as the configuration example of the direct teaching device 1 according to the second embodiment, and will be described below using the configuration example shown in FIG.
 なお、実施の形態3における位置姿勢演算部104は、アーム2の位置及び姿勢を算出する。
 また、実施の形態3における近接判定部105は、位置姿勢演算部104による算出結果に基づいて、アーム2の位置が拘束目標である拘束軸504に近づいているかを判定し且つアーム2の姿勢が拘束目標である拘束方向505に近づいているかを判定することで、アーム2の位置姿勢が拘束目標に近づいているかを判定する。
Note that the position and orientation calculation unit 104 according to the third embodiment calculates the position and orientation of the arm 2.
In addition, the proximity determination unit 105 according to Embodiment 3 determines whether the position of the arm 2 is approaching the constraint shaft 504 that is the constraint target, based on the calculation result by the position and orientation calculation unit 104, and determines whether the position of the arm 2 is It is determined whether the position and the posture of the arm 2 are approaching the constraint target by determining whether the position is approaching the constraint direction 505 that is the constraint target.
 図19は、実施の形態3に係る直接教示装置1の動作例を示すフローチャートである。図19に示す実施の形態3に係る直接教示装置1において、図11に示す実施の形態2に係る直接教示装置1と動作が異なるのは、位置姿勢演算部104、近接判定部105、解除操作判定部106、復帰判定部107、目標値算出部109及び拘束制御演算部110であり、これらの構成の動作例についてのみ説明を行う。 FIG. 19 is a flowchart showing an operation example of the direct teaching device 1 according to the third embodiment. The operation of the direct teaching device 1 according to the third embodiment shown in FIG. 19 differs from that of the direct teaching device 1 according to the second embodiment shown in FIG. The determination unit 106, the return determination unit 107, the target value calculation unit 109, and the constraint control calculation unit 110, and only an operation example of these configurations will be described.
 まず、位置姿勢演算部104は、従動制御演算部103による算出結果に基づいて、アーム2の位置及び姿勢を算出する(ステップST1904)。実施の形態3ではアーム2の位置及び姿勢の両方を拘束するため、位置姿勢演算部104は、アーム2の位置及び姿勢の両方を算出する必要がある。位置姿勢演算部104は、順運動学により上記算出を実行できる。 First, position / posture calculation section 104 calculates the position and posture of arm 2 based on the calculation result by driven control calculation section 103 (step ST1904). In the third embodiment, since both the position and the posture of the arm 2 are restricted, the position and posture calculation unit 104 needs to calculate both the position and the posture of the arm 2. The position and orientation calculation unit 104 can execute the above calculation using forward kinematics.
 また、近接判定部105は、位置姿勢演算部104による算出結果に基づいて、アーム2の位置が拘束軸504に近づいているか及びアーム2の姿勢が拘束方向505に近づいているかをそれぞれ判定し、それらの判定結果を基にアーム2の位置姿勢が拘束目標に近づいているかどうかを総合的に判定する(ステップST1905)。例えば、近接判定部105は、アーム2の位置が拘束軸504に近づき且つアーム2の姿勢が拘束方向505に近づいていると判定した場合には、アーム2の位置姿勢は拘束目標に近づいていると判定する。近接判定部105による拘束方向505に対する判定については実施の形態2で説明しているので省略し、以下では、近接判定部105による拘束軸504に対する判定について説明する。 In addition, the proximity determination unit 105 determines whether the position of the arm 2 is approaching the constraint shaft 504 and whether the posture of the arm 2 is approaching the constraint direction 505 based on the calculation result by the position and orientation calculation unit 104, respectively. Based on these determination results, it is comprehensively determined whether or not the position and orientation of the arm 2 is approaching the constraint target (step ST1905). For example, when the proximity determination unit 105 determines that the position of the arm 2 is approaching the constraint axis 504 and the posture of the arm 2 is approaching the constraint direction 505, the position and orientation of the arm 2 is approaching the constraint target. Is determined. The determination of the constraint direction 505 by the proximity determining unit 105 has been described in the second embodiment, and therefore will not be described. The following describes the determination of the constraint axis 504 by the proximity determining unit 105.
 この際、近接判定部105は、例えば図20に示すように、エンドエフェクタ201の位置501から拘束軸504に対して垂線512をおろし、その垂線512の長さが所定の値より小さければアーム2の位置が拘束軸504に近づいていると判定する。例えばアーム2の位置の座標を[x,y,z]で表し、直線511のX座標とY座標をそれぞれx,yで表す。この場合、垂線512の長さは次式(8)のようになる。
Figure JPOXMLDOC01-appb-I000008
 そして、近接判定部105は、式(8)に示す垂線512の長さが所定の値よりも小さければ、アーム2の位置が拘束軸504に近づいていると判定し、それ以外の場合にはアーム2の位置が拘束軸504には近づいていないと判定する。なお、近接判定部105は、拘束軸504がロボット座標系のZ軸に平行な場合以外でも、同様にして拘束軸504に対しておろした垂線の長さから接近判定が可能である。
At this time, for example, as shown in FIG. 20, the proximity determining unit 105 lowers the perpendicular 512 from the position 501 of the end effector 201 to the constraint shaft 504, and if the length of the perpendicular 512 is smaller than a predetermined value, the arm 2 Is determined to be approaching the constraint shaft 504. For example, the coordinates of the position of the arm 2 are represented by [x, y, z], and the X and Y coordinates of the straight line 511 are represented by x * and y * , respectively. In this case, the length of the perpendicular 512 is represented by the following equation (8).
Figure JPOXMLDOC01-appb-I000008
If the length of the perpendicular 512 shown in the equation (8) is smaller than a predetermined value, the proximity determining unit 105 determines that the position of the arm 2 is approaching the constraint shaft 504, and otherwise, It is determined that the position of the arm 2 is not approaching the constraint shaft 504. Note that the proximity determination unit 105 can similarly perform the proximity determination based on the length of the perpendicular drawn to the constraint axis 504 even when the constraint axis 504 is not parallel to the Z axis of the robot coordinate system.
 次いで、解除操作判定部106は、操作者が解除操作を行ったかを判定する(ステップST1906)。ここで、解除操作判定部106は、外力を用いた判定を行う場合には、実施の形態1と同様の方法が適用可能である。一方、解除操作判定部106は、アーム2の位置姿勢を用いた判定を行う場合には、実施の形態3では直接教示装置1がアーム2の軸拘束を行っているため、適用可能な判定方法は軸拘束と両立可能な判定方法に限定される。例えば、実施の形態3における解除操作判定部106は、図7の例では、図7D,7Eに示した方法のみ適用可能である。一方、実施の形態3における解除操作判定部106は、図7A~7Cに示した方法は、アーム2が軸に拘束されたままでは実施できないため、適用不可である。 Next, release operation determination section 106 determines whether or not the operator has performed a release operation (step ST1906). Here, when performing the determination using the external force, the release operation determination unit 106 can apply the same method as in the first embodiment. On the other hand, when the release operation determination unit 106 performs the determination using the position and orientation of the arm 2, since the teaching device 1 directly restricts the axis of the arm 2 in the third embodiment, an applicable determination method Is limited to a determination method compatible with the axial constraint. For example, in the example of FIG. 7, the release operation determination unit 106 according to the third embodiment can apply only the methods illustrated in FIGS. 7D and 7E. On the other hand, the release operation determination unit 106 in the third embodiment is not applicable because the method shown in FIGS. 7A to 7C cannot be performed while the arm 2 is restrained by the shaft.
 次いで、復帰判定部107は、拘束付き直接教示へと切換え可能な状態への復帰条件を満たしたかを判定する(ステップST1907)。実施の形態3では直接教示装置1がアーム2の軸拘束を行っているため、復帰判定部107は、アーム2の位置姿勢に基づいて判定を行う場合には、アーム2の位置と拘束軸504との間の距離及びアーム2の姿勢と拘束方向505との間の関係に基づいて判定可能である。復帰判定部107による拘束方向505に対する判定については実施の形態2で説明しているので省略し、以下では、復帰判定部107による拘束軸504に対する判定について説明する。 Next, return determination section 107 determines whether or not a return condition for returning to a state where switching to restricted direct teaching can be satisfied is satisfied (step ST1907). In the third embodiment, since the direct teaching device 1 performs the axial restraint of the arm 2, the return determination unit 107 determines the position of the arm 2 and the restraint shaft 504 when performing the determination based on the position and orientation of the arm 2. And the relationship between the posture of the arm 2 and the constraint direction 505. The determination of the restraint direction 505 by the return determination unit 107 has been described in the second embodiment, and therefore will not be described. In the following, the determination of the restraint axis 504 by the return determination unit 107 will be described.
 復帰判定部107は、拘束軸504に対する判定では、近接判定部105と同様に、垂線512の長さに基づいて行う。すなわち、復帰判定部107は、垂線512の長さが所定の値より大きい場合に、復帰条件を満たしたと判定する。なお、上記所定の値は、近接判定部105が用いるしきい値と同じ、又はより大きくする必要がある。これは、復帰判定部107が上記しきい値より狭い値を用いると、復帰判定部107が復帰条件を満たしたと判定した直後に近接判定部105がアーム2の位置姿勢が拘束目標に近づいていると判定してしまい、直接教示装置1が拘束付き直接教示から離脱できなくなってしまうためである。 The return determination unit 107 makes a determination on the constraint axis 504 based on the length of the perpendicular 512, as in the proximity determination unit 105. That is, the return determination unit 107 determines that the return condition is satisfied when the length of the perpendicular 512 is larger than the predetermined value. Note that the predetermined value needs to be equal to or larger than the threshold value used by the proximity determination unit 105. This is because if the return determination unit 107 uses a value smaller than the threshold value, the proximity determination unit 105 determines that the position and orientation of the arm 2 is approaching the constraint target immediately after the return determination unit 107 determines that the return condition is satisfied. Is determined, and the direct teaching device 1 cannot be separated from the restricted direct teaching.
 なお、復帰判定部107は、判定にアーム2の位置姿勢を用いず時間のみを用いる場合には、実施の形態1と同様の方法が適用可能である。 In the case where the return determination unit 107 uses only the time without using the position and orientation of the arm 2 for the determination, the same method as in the first embodiment can be applied.
 また、目標値算出部109は、実施の形態2で説明した目標姿勢の算出に加え、アーム2の位置を拘束軸504へと移動させる場合の目標位置の算出を行う(ステップST1909)。例えば、目標値算出部109は、エンドエフェクタ201の位置501から図20に示すように拘束軸504へと垂線512をおろした位置513を目標位置とする。ここで、目標値算出部109は、アーム2の位置をロボット座標系のZ軸に平行な拘束軸504に拘束させるのであれば、目標位置は[x,y,z]となる。 Further, in addition to the calculation of the target posture described in the second embodiment, target value calculation section 109 also calculates a target position for moving the position of arm 2 to constraint shaft 504 (step ST1909). For example, the target value calculation unit 109 sets a position 513 where the perpendicular 512 is lowered from the position 501 of the end effector 201 to the constraint shaft 504 as shown in FIG. Here, if the target value calculation unit 109 restricts the position of the arm 2 to the restriction axis 504 parallel to the Z axis of the robot coordinate system, the target position is [x * , y * , z].
 また、拘束制御演算部110は、実施の形態2と同様に、ヤコビ行列Jを用いてアーム2の関節毎に関節角速度θ(ドット)を算出する(ステップST1910)。ただし、実施の形態3における拘束制御演算部110では、姿勢拘束に加え位置拘束も行うので、演算手順が実施の形態2に対して以下のように変わる。 Also, as in the second embodiment, the constraint control calculation unit 110 calculates the joint angular velocity θ (dot) for each joint of the arm 2 using the Jacobian matrix J (step ST1910). However, since the constraint control calculation unit 110 according to the third embodiment also performs a position constraint in addition to a posture constraint, the computation procedure changes as follows with respect to the second embodiment.
 まず、拘束制御演算部110は、回転の角速度の大きさ|ω|を決める。
 次に、拘束制御演算部110は、アーム2の現在の位置姿勢におけるヤコビ行列Jを算出する。
 次に、拘束制御演算部110は、回転軸510であるrと回転速度の大きさ|ω|から姿勢に関する回転ベクトルω=[ω,ω,ωを算出する。ここまでの動作は、実施の形態2と同様である。
First, the constraint control calculation unit 110 determines the magnitude | ω | of the angular velocity of rotation.
Next, the constraint control calculation unit 110 calculates a Jacobi matrix J at the current position and orientation of the arm 2.
Next, the constraint control calculation unit 110 calculates a rotation vector ω = [ω X , ω Y , ω Z ] T with respect to the posture from the rotation axis 510 r and the magnitude of the rotation speed | ω |. The operation so far is the same as in the second embodiment.
 次に、拘束制御演算部110は、アーム2の位置を拘束軸504へと移動させる速さ|v|を決める。例えば、制限を受けなければ1秒で目標位置に到達するように制御するのであれば、拘束制御演算部110は、|v|=√{(x-x+(y-y}とする。また、拘束制御演算部110は、ある定数vを決めて|v|=vとしてもよい。
 次に、拘束制御演算部110は、アーム2の位置に関する速度ベクトルv=[v,v,0]を算出する。拘束制御演算部110は、ロボット座標系のZ軸に平行な拘束軸504に拘束させる場合はv=|v|[x-x,y-y,0]/√{(x-x+(y-y}より算出可能である。
 次に、拘束制御演算部110は、アーム2の関節毎に関節角速度θ(ドット)を次式(9)より算出する。なお、拘束制御演算部110は、得られた関節角速度にリミッタを適用してもよい。
Figure JPOXMLDOC01-appb-I000009
Next, the constraint control calculation unit 110 determines the speed | v | at which the position of the arm 2 is moved to the constraint shaft 504. For example, if control is performed so as to reach the target position in one second if no restriction is imposed, the constraint control calculation unit 110 calculates | v | = √ {(xx * ) 2 + (yy * ) 2 }. Further, the constraint control calculation unit 110 may determine a certain constant v * and set | v | = v * .
Next, restraining control calculation unit 110 calculates the velocity vector regarding the position of the arm 2 v = [v X, v Y, 0] T. When constraining the constraining control unit 110 to the constraining axis 504 parallel to the Z axis of the robot coordinate system, v = | v | [x * -x, y * -y, 0] / √ {(xx * ) 2 + (yy * ) 2 }.
Next, the constraint control calculation unit 110 calculates the joint angular velocity θ (dot) for each joint of the arm 2 using the following equation (9). Note that the constraint control calculation unit 110 may apply a limiter to the obtained joint angular velocity.
Figure JPOXMLDOC01-appb-I000009
 その他の動作は実施の形態2と同じになる。
 なお、実施の形態3に係る直接教示装置1において、姿勢拘束に関する演算を省略した場合には、アーム2の姿勢に関する拘束は行われず、アーム2の位置のみを指定された軸に拘束する制御となる。
Other operations are the same as in the second embodiment.
In the direct teaching device 1 according to the third embodiment, when the calculation relating to the posture constraint is omitted, the constraint relating to the posture of the arm 2 is not performed, and the control for restricting only the position of the arm 2 to the designated axis is performed. Become.
実施の形態4.
 実施の形態2に係る直接教示装置1では、拘束方法が姿勢拘束のみに限定された場合を示した。それに対し、実施の形態4に係る直接教示装置1では、拘束方法が面拘束のみに限定された場合を示す。面拘束とは、アーム2の位置を所定の拘束面503に拘束する位置拘束とアーム2の姿勢を所定の拘束方向505に拘束する姿勢拘束とを同時に行うことを意味する。すなわち、実施の形態4に係る直接教示装置1は、実施の形態2で示した姿勢拘束に加え、位置拘束も行う。以下では、直接教示装置1が、図21に示すようなZ軸座標がX軸座標及びY軸座標の関数z=f(x,y)で表される曲面513への位置拘束及び真下方向507への姿勢拘束を行う場合を示すが、拘束面503及び拘束方向505は任意に設定可能であり、例えば拘束面503が関数x=f(y,z)又はy=f(z,x)で表される場合等についても同様の方法で実施可能である。
 なお、実施の形態4に係る直接教示装置1の構成例は、実施の形態2に係る直接教示装置1の構成例と同様であり、以下では図1に示す構成例を用いて説明を行う。
Embodiment 4 FIG.
In the direct teaching device 1 according to the second embodiment, the case where the restraining method is limited to only the posture restraint has been described. On the other hand, in the direct teaching device 1 according to the fourth embodiment, a case where the constraint method is limited to only the surface constraint is shown. The term “surface constraint” means that the position constraint for restricting the position of the arm 2 on the predetermined constraint surface 503 and the posture constraint for restricting the posture of the arm 2 in the predetermined constraint direction 505 are simultaneously performed. That is, the direct teaching device 1 according to the fourth embodiment also performs a position constraint in addition to the posture constraint described in the second embodiment. In the following, the direct teaching device 1 performs position constraint on the curved surface 513 in which the Z-axis coordinate is represented by a function z = f (x, y) of the X-axis coordinate and the Y-axis coordinate as shown in FIG. In this case, the restraint surface 503 and the restraint direction 505 can be set arbitrarily. For example, the restraint surface 503 is a function x = f (y, z) or y = f (z, x). The same method can be applied to the case where it is expressed.
The configuration example of the direct teaching device 1 according to the fourth embodiment is the same as the configuration example of the direct teaching device 1 according to the second embodiment, and will be described below using the configuration example shown in FIG.
 なお、実施の形態4における位置姿勢演算部104は、アーム2の位置及び姿勢を算出する。
 また、実施の形態4における近接判定部105は、位置姿勢演算部104による算出結果に基づいて、アーム2の位置が拘束目標である拘束面503に近づいているかを判定し且つアーム2の姿勢が拘束目標である拘束方向505に近づいているかを判定することで、アーム2の位置姿勢が拘束目標に近づいているかを判定する。
Note that the position and orientation calculation unit 104 according to the fourth embodiment calculates the position and orientation of the arm 2.
Further, proximity determining section 105 according to Embodiment 4 determines whether the position of arm 2 is approaching restraining surface 503, which is a restraint target, based on the calculation result by position and attitude calculating section 104, and determines whether the attitude of arm 2 is high. It is determined whether the position and the posture of the arm 2 are approaching the constraint target by determining whether the position is approaching the constraint direction 505 that is the constraint target.
 図22は、実施の形態4に係る直接教示装置1の動作例を示すフローチャートである。図22に示す実施の形態4に係る直接教示装置1において、図19に示す実施の形態3に係る直接教示装置1と動作が異なるのは、近接判定部105、解除操作判定部106、復帰判定部107、目標値算出部109及び拘束制御演算部110であり、これらの構成の動作例についてのみ説明を行う。 FIG. 22 is a flowchart showing an operation example of the direct teaching device 1 according to the fourth embodiment. The operation of the direct teaching device 1 according to the fourth embodiment shown in FIG. 22 differs from that of the direct teaching device 1 according to the third embodiment shown in FIG. The unit 107, the target value calculation unit 109, and the constraint control calculation unit 110, and only an operation example of these configurations will be described.
 まず、近接判定部105は、位置姿勢演算部104による算出結果に基づいて、アーム2の位置が拘束面503に近づいているか及びアーム2の姿勢が拘束方向505に近づいているかをそれぞれ判定し、それらの判定結果を基にアーム2の位置姿勢が拘束目標に近づいているかどうかを総合的に判定する(ステップST2205)。例えば、近接判定部105は、アーム2の位置が拘束面503に近づき且つアーム2の姿勢が拘束方向505に近づいていると判定した場合には、アーム2の位置姿勢は拘束目標に近づいていると判定する。近接判定部105による拘束方向505に対する判定については実施の形態2で説明しているので省略し、以下では、近接判定部105による拘束面503に対する判定について説明する。 First, the proximity determination unit 105 determines whether the position of the arm 2 is approaching the constraint surface 503 and whether the posture of the arm 2 is approaching the constraint direction 505 based on the calculation result by the position and orientation calculation unit 104, respectively. Based on these determination results, it is comprehensively determined whether the position and orientation of the arm 2 is approaching the constraint target (step ST2205). For example, when the proximity determination unit 105 determines that the position of the arm 2 is approaching the constraint surface 503 and that the posture of the arm 2 is approaching the constraint direction 505, the position and orientation of the arm 2 is approaching the constraint target. Is determined. The determination on the constraint direction 505 by the proximity determination unit 105 has been described in the second embodiment, and therefore will not be described. Hereinafter, the determination on the constraint surface 503 by the proximity determination unit 105 will be described.
 この際、近接判定部105は、エンドエフェクタ201の位置501から拘束面503に対してロボット座標系のZ軸に平行な直線をおろし、その直線の長さが所定の値より小さければアーム2の位置が拘束面503に近づいていると判定する。例えばアーム2の位置の座標が[x,y,z]である場合、上記直線の長さは{z-f(x,y)}となる。そして、近接判定部105は、この長さが所定の値よりも小さければ、アーム2の位置が拘束面503に近づいていると判定し、それ以外の場合にはアーム2の位置が拘束面503には近づいていないと判定する。 At this time, the proximity determination unit 105 draws a straight line parallel to the Z axis of the robot coordinate system from the position 501 of the end effector 201 to the constraint surface 503, and if the length of the straight line is smaller than a predetermined value, the arm 2 It is determined that the position is approaching the constraint surface 503. For example, when the coordinates of the position of the arm 2 are [x, y, z], the length of the straight line is {z−f (x, y)}. If the length is smaller than a predetermined value, the proximity determining unit 105 determines that the position of the arm 2 is approaching the constraint surface 503, and otherwise determines that the position of the arm 2 is close to the constraint surface 503. Is determined not to be approaching.
 次いで、解除操作判定部106は、操作者が解除操作を行ったかを判定する(ステップST2206)。ここで、解除操作判定部106は、外力を用いた判定を行う場合には、実施の形態1と同様の方法が適用可能である。一方、解除操作判定部106は、アーム2の位置姿勢を用いた判定を行う場合には、実施の形態4では直接教示装置1がアーム2の曲面拘束を行っているため、適用可能な判定方法は曲面拘束と両立可能な判定方法に限定される。例えば、実施の形態4における解除操作判定部106は、図7では、図7A,7Bに示した方法のみ適用可能である。一方、実施の形態4における解除操作判定部106は、図7Cに示した方法は、アーム2の姿勢を自由に変更できないため、適用不可である。また、実施の形態4における解除操作判定部106は、図7D,7Eに示した方法は、アーム2を曲面513から離すことができないため、適用不可である。 Next, the release operation determination unit 106 determines whether the operator has performed a release operation (step ST2206). Here, when performing the determination using the external force, the release operation determination unit 106 can apply the same method as in the first embodiment. On the other hand, when the release operation determination unit 106 performs the determination using the position and orientation of the arm 2, the direct teaching device 1 directly restrains the arm 2 on the curved surface in the fourth embodiment. Is limited to the determination method compatible with the curved surface constraint. For example, in FIG. 7, the release operation determination unit 106 in the fourth embodiment is applicable only to the method shown in FIGS. 7A and 7B. On the other hand, the method shown in FIG. 7C cannot be applied to the release operation determination unit 106 in Embodiment 4 because the posture of the arm 2 cannot be freely changed. 7D and 7E cannot be applied to the release operation determination unit 106 in the fourth embodiment because the arm 2 cannot be separated from the curved surface 513.
 次いで、復帰判定部107は、拘束付き直接教示へと切換え可能な状態への復帰条件を満たしたかを判定する(ステップST2207)。実施の形態4では直接教示装置1がアーム2の曲面拘束を行っているため、復帰判定部107は、アーム2の位置姿勢に基づいて判定を行う場合には、アーム2の位置と拘束面503との間の距離及びアーム2の姿勢と拘束方向505との間の関係に基づいて判定可能である。復帰判定部107による拘束方向505に対する判定については実施の形態2で説明しているので省略し、以下では、復帰判定部107による拘束面503に対する判定について説明する。 Next, return determination section 107 determines whether or not a return condition to a state in which switching to restricted direct teaching can be performed is satisfied (step ST2207). In the fourth embodiment, since the direct teaching device 1 performs the curved surface constraint on the arm 2, the return determination unit 107 determines the position of the arm 2 and the constraint surface 503 when performing the determination based on the position and orientation of the arm 2. And the relationship between the posture of the arm 2 and the constraint direction 505. The determination of the restraint direction 505 by the return determination unit 107 has been described in the second embodiment, and therefore will not be described. In the following, the determination of the restraint surface 503 by the return determination unit 107 will be described.
 復帰判定部107は、拘束面503に対する判定では、近接判定部105と同様に、エンドエフェクタ201の位置501から拘束面503に対してロボット座標系のZ軸に平行な直線をおろし、その直線の長さに基づいて行う。すなわち、復帰判定部107は、この長さが所定の値より大きい場合に、復帰条件を満たしたと判定する。なお、上記所定の値は、近接判定部105が用いる所定の値と同じ、又はより大きくする必要がある。その理由は実施の形態3と同様である。 In the determination with respect to the constraint surface 503, the return determination unit 107 draws a straight line parallel to the Z axis of the robot coordinate system from the position 501 of the end effector 201 to the constraint surface 503 in the same manner as the proximity determination unit 105. Perform based on length. That is, when the length is larger than the predetermined value, the return determination unit 107 determines that the return condition is satisfied. Note that the predetermined value needs to be equal to or larger than the predetermined value used by the proximity determination unit 105. The reason is the same as in the third embodiment.
 なお、復帰判定部107は、判定にアーム2の位置姿勢を用いず時間のみを用いる場合には、実施の形態1と同様の方法が適用可能である。 In the case where the return determination unit 107 uses only the time without using the position and orientation of the arm 2 for the determination, the same method as in the first embodiment can be applied.
 また、目標値算出部109は、実施の形態2で説明した目標姿勢の算出に加え、アーム2の位置を拘束面503へと移動させる場合の目標位置の算出を行う(ステップST2209)。例えば、目標値算出部109は、アーム2の位置の座標が[x,y,z]である場合、Z軸座標だけを曲面上の座標に置き換えた[x,y,f(x,y)]を目標位置とする。 {Circle around (2)} In addition to the calculation of the target posture described in the second embodiment, target value calculation section 109 also calculates a target position when moving the position of arm 2 to constraint surface 503 (step ST2209). For example, when the coordinates of the position of the arm 2 are [x, y, z], the target value calculation unit 109 replaces only the Z-axis coordinates with the coordinates on the curved surface [x, y, f (x, y)]. ] Is the target position.
 また、拘束制御演算部110は、実施の形態2と同様に、ヤコビ行列Jを用いてアーム2の関節毎に関節角速度θ(ドット)を算出する(ステップST2210)。ただし、実施の形態4における拘束制御演算部110では、姿勢拘束に加え位置拘束も行うので、演算手順が実施の形態2に対して以下のように変わる。 Also, as in the second embodiment, the constraint control calculation unit 110 calculates the joint angular velocity θ (dot) for each joint of the arm 2 using the Jacobian matrix J (step ST2210). However, since the constraint control calculation unit 110 according to the fourth embodiment also performs the position constraint in addition to the posture constraint, the computation procedure changes as follows with respect to the second embodiment.
 まず、拘束制御演算部110は、回転の角速度の大きさ|ω|を決める。
 次に、拘束制御演算部110は、アーム2の現在の位置姿勢におけるヤコビ行列Jを算出する。
 次に、拘束制御演算部110は、回転軸510であるrと回転速度の大きさ|ω|から姿勢に関する回転ベクトルω=[ω,ω,ωを算出する。ここまでの動作は、実施の形態2と同様である。
First, the constraint control calculation unit 110 determines the magnitude | ω | of the angular velocity of rotation.
Next, the constraint control calculation unit 110 calculates a Jacobi matrix J at the current position and orientation of the arm 2.
Next, the constraint control calculation unit 110 calculates a rotation vector ω = [ω X , ω Y , ω Z ] T with respect to the posture from the rotation axis 510 r and the magnitude of the rotation speed | ω |. The operation so far is the same as in the second embodiment.
 次に、拘束制御演算部110は、アーム2の位置を拘束軸504へと移動させる速さ|v|を決める。例えば、制限を受けなければ1秒で目標位置に到達するように制御するのであれば、拘束制御演算部110は、|v|=|z-f(x,y)|とする。また、拘束制御演算部110は、速さ|v|をある定数値にしてもよい。
 次に、拘束制御演算部110は、アーム2の位置に関する速度ベクトルv=[0,0,vをv=[0,0,|v|]より算出する。
 次に、拘束制御演算部110は、アーム2の関節毎に関節角速度θ(ドット)を次式(10)より算出する。なお、拘束制御演算部110は、得られた関節角速度にリミッタを適用してもよい。
Figure JPOXMLDOC01-appb-I000010
Next, the constraint control calculation unit 110 determines the speed | v | at which the position of the arm 2 is moved to the constraint shaft 504. For example, if control is performed so as to reach the target position in one second if no restriction is imposed, the constraint control calculation unit 110 sets | v | = | z−f (x, y) |. The constraint control calculation unit 110 may set the speed | v | to a certain constant value.
Next, restraining control calculation unit 110, a velocity vector v = [0,0, v Z] on the position of the arm 2 T v = [0,0, | v |] is calculated from.
Next, the constraint control calculation unit 110 calculates the joint angular velocity θ (dot) for each joint of the arm 2 using the following equation (10). Note that the constraint control calculation unit 110 may apply a limiter to the obtained joint angular velocity.
Figure JPOXMLDOC01-appb-I000010
 その他の動作は実施の形態2,3と同じになる。
 なお、実施の形態4に係る直接教示装置1において、姿勢拘束に関する演算を省略した場合には、アーム2の姿勢に関する拘束は行われず、アーム2の位置のみを指定された面に拘束する制御となる。また、実施の形態4に係る直接教示装置1において、アーム2の位置から拘束面503へ垂線を下した方向を目標姿勢とした場合には、エンドエフェクタ201が拘束面503に対して常に垂直となるような姿勢拘束になる。
Other operations are the same as those of the second and third embodiments.
In the direct teaching device 1 according to the fourth embodiment, when the calculation related to the posture constraint is omitted, the constraint related to the posture of the arm 2 is not performed, and the control for restricting only the position of the arm 2 to the designated surface is performed. Become. In the direct teaching device 1 according to the fourth embodiment, when the target posture is a direction in which a perpendicular line is drawn from the position of the arm 2 to the constraint surface 503, the end effector 201 is always perpendicular to the constraint surface 503. It becomes such a posture constraint.
 なお、本願発明はその発明の範囲内において、各実施の形態の自由な組合わせ、或いは各実施の形態の任意の構成要素の変形、若しくは各実施の形態において任意の構成要素の省略が可能である。 In addition, within the scope of the present invention, the present invention can freely combine any of the embodiments, modify any of the components in each of the embodiments, or omit any of the components in each of the embodiments. is there.
 この発明に係るロボットの直接教示装置は、操作者がアームを操作している状態のまま通常の直接教示と拘束付き直接教示を切換え可能となり、ロボットの直接教示を行う直接教示装置等に用いるのに適している。 The robot direct teaching device according to the present invention can switch between normal direct teaching and constrained direct teaching while the operator is operating the arm, and can be used for a direct teaching device or the like that directly teaches a robot. Suitable for.
1 直接教示装置
2 アーム
101 位置姿勢計測部
102 外力検知部
103 従動制御演算部
104 位置姿勢演算部
105 近接判定部
106 解除操作判定部
107 復帰判定部
108 切換部
109 目標値算出部
110 拘束制御演算部
111 合成部
112 駆動制御部
201 エンドエフェクタ
DESCRIPTION OF SYMBOLS 1 Direct teaching device 2 Arm 101 Position / posture measurement unit 102 External force detection unit 103 Follow-up control calculation unit 104 Position / posture calculation unit 105 Proximity determination unit 106 Release operation determination unit 107 Return determination unit 108 Switching unit 109 Target value calculation unit 110 Constraint control calculation Unit 111 combining unit 112 drive control unit 201 end effector

Claims (9)

  1.  ロボットが有するアームに加えられた外力を検知する外力検知部と、
     前記外力検知部により検知された外力に従う前記アームの動きを算出する従動制御演算部と、
     前記アームの位置又は姿勢のうちの少なくとも一方である位置姿勢を算出する位置姿勢演算部と、
     前記位置姿勢演算部による算出結果に基づいて、前記アームの位置姿勢が、当該アームの位置姿勢の拘束先である拘束目標に近づいているかを判定する近接判定部と、
     操作者が拘束付き直接教示を解除するための解除操作を行ったかを判定する解除操作判定部と、
     拘束付き直接教示へと切換え可能な状態への復帰条件を満たしたかを判定する復帰判定部と、
     拘束目標及び前記位置姿勢演算部による算出結果に基づいて、拘束付き直接教示における拘束制御の目標値を算出する目標値算出部と、
     前記位置姿勢演算部による算出結果に基づいて、前記目標値算出部により算出された目標値に移動する前記アームの動きを算出する拘束制御演算部と、
     自機が第一の状態である場合において前記近接判定部により拘束目標に近づいていると判定された場合に自機を第二の状態へと切換え、自機が第二の状態である場合において前記解除操作判定部により操作者が解除操作を行ったと判定された場合に自機を第三の状態へと切換え、自機が第三の状態である場合において前記復帰判定部により復帰条件を満たしたと判定された場合に自機を第一の状態へと切換え、自機が第二の状態にある場合に前記拘束制御演算部による処理を有効とし、自機が第一の状態又は第三の状態にある場合に前記拘束制御演算部による処理を無効とする切換部と、
     前記従動制御演算部による算出結果と前記拘束制御演算部による算出結果とを合成する合成部と、
     前記合成部による合成結果に基づいて前記アームを駆動する駆動制御部と
     を備えた直接教示装置。
    An external force detection unit that detects an external force applied to an arm of the robot,
    A driven control calculation unit that calculates the movement of the arm according to the external force detected by the external force detection unit,
    A position and orientation calculation unit that calculates a position and orientation that is at least one of the position or the orientation of the arm,
    A proximity determination unit that determines whether the position and orientation of the arm is approaching a constraint target to which the position and orientation of the arm is restricted, based on a calculation result by the position and orientation calculation unit;
    A release operation determination unit that determines whether the operator has performed a release operation for releasing the constrained direct teaching,
    A return determination unit that determines whether a return condition to a state that can be switched to the constrained direct teaching is satisfied,
    A target value calculation unit that calculates a target value of the constraint control in the constrained direct teaching based on the constraint target and the calculation result by the position and orientation calculation unit;
    A constraint control calculation unit that calculates a movement of the arm that moves to the target value calculated by the target value calculation unit based on a calculation result by the position and orientation calculation unit;
    When the own device is in the first state, the own device is switched to the second state when it is determined that the approach target is approaching the restriction target, and when the own device is in the second state. When the release operation determination unit determines that the operator has performed the release operation, the own device is switched to the third state, and when the own device is in the third state, the return determination unit satisfies the return condition. When it is determined that the self-machine is in the first state, when the self-machine is in the second state, the processing by the constraint control calculation unit is enabled, and the self-machine is in the first state or the third state. A switching unit for invalidating the processing by the constraint control calculation unit when in the state,
    A combining unit that combines the calculation result by the driven control calculation unit and the calculation result by the constraint control calculation unit;
    A drive control unit that drives the arm based on a result of the synthesis by the synthesis unit.
  2.  前記アームの位置姿勢に関するパラメータを計測する位置姿勢計測部を備え、
     前記従動制御演算部は、位置姿勢計測部による計測結果に基づいて、前記外力検知部により検知された外力に従う前記アームの動きを算出し、
     前記位置姿勢演算部は、前記従動制御演算部による算出結果に基づいて、前記アームの位置姿勢を算出する
     ことを特徴とする請求項1記載の直接教示装置。
    A position and orientation measurement unit that measures parameters related to the position and orientation of the arm,
    The driven control calculation unit calculates the movement of the arm according to the external force detected by the external force detection unit based on the measurement result by the position and orientation measurement unit,
    The direct teaching device according to claim 1, wherein the position / posture calculation unit calculates the position / posture of the arm based on a calculation result by the driven control calculation unit.
  3.  前記アームの位置姿勢に関するパラメータを計測する位置姿勢計測部を備え、
     前記位置姿勢演算部は、前記位置姿勢計測部による計測結果に基づいて、前記アームの位置姿勢を算出する
     ことを特徴とする請求項1記載の直接教示装置。
    A position and orientation measurement unit that measures parameters related to the position and orientation of the arm,
    The direct teaching device according to claim 1, wherein the position / posture calculation unit calculates the position / posture of the arm based on a measurement result by the position / posture measurement unit.
  4.  前記解除操作判定部は、前記外力検知部による検知結果又は前記位置姿勢演算部による算出結果に基づいて、操作者が解除操作を行ったかを判定する
     ことを特徴とする請求項1記載の直接教示装置。
    2. The direct teaching according to claim 1, wherein the release operation determination unit determines whether the operator has performed a release operation based on a detection result by the external force detection unit or a calculation result by the position and orientation calculation unit. 3. apparatus.
  5.  前記復帰判定部は、操作者が解除操作を行った後一定時間が経過した場合、又は、前記位置姿勢演算部により算出された前記アームの位置姿勢が拘束目標に近づいていない場合に、復帰条件を満たしたと判定する
     ことを特徴とする請求項1記載の直接教示装置。
    The return determination unit is configured to perform a return condition when a predetermined time has elapsed after the operator performed the release operation, or when the position and orientation of the arm calculated by the position and orientation calculation unit does not approach the constraint target. The direct teaching device according to claim 1, wherein it is determined that the condition is satisfied.
  6.  前記アームは垂直多関節型ロボットアームであり、
     前記位置姿勢演算部は、前記アームの姿勢を算出し、
     前記近接判定部は、前記位置姿勢演算部による算出結果に基づいて、前記アームの姿勢が、拘束目標である拘束方向に近づいているかを判定する
     ことを特徴とする請求項1から請求項5のうちの何れか1項記載の直接教示装置。
    The arm is a vertical articulated robot arm,
    The position and orientation calculation unit calculates an orientation of the arm,
    The said proximity determination part determines whether the attitude | position of the said arm is approaching the restraint direction which is a restraint target based on the calculation result by the said position-and-posture calculation part. The Claims 1-5 characterized by the above-mentioned. A direct teaching device according to any one of the preceding claims.
  7.  前記アームは垂直多関節型ロボットアームであり、
     前記位置姿勢演算部は、前記アームの位置及び姿勢を算出し、
     前記近接判定部は、前記位置姿勢演算部による算出結果に基づいて、前記アームの位置が拘束目標である拘束軸に近づいているかを判定し且つ当該アームの姿勢が拘束目標である拘束方向に近づいているかを判定することで、当該アームの位置姿勢が拘束目標に近づいているかを判定する
     ことを特徴とする請求項1から請求項5のうちの何れか1項記載の直接教示装置。
    The arm is a vertical articulated robot arm,
    The position and orientation calculation unit calculates the position and orientation of the arm,
    The proximity determination unit determines whether the position of the arm is approaching a constraint axis that is a constraint target based on a calculation result by the position and orientation calculation unit, and determines whether the posture of the arm is approaching a constraint direction that is a constraint target. The direct teaching device according to any one of claims 1 to 5, wherein it is determined whether or not the position and orientation of the arm is approaching the constraint target by determining whether the arm is in the restraint target.
  8.  前記アームは垂直多関節型ロボットアームであり、
     前記位置姿勢演算部は、前記アームの位置及び姿勢を算出し、
     前記近接判定部は、前記位置姿勢演算部による算出結果に基づいて、前記アームの位置が拘束目標である拘束面に近づいているかを判定し且つ当該アームの姿勢が拘束目標である拘束方向に近づいているかを判定することで、当該アームの位置姿勢が拘束目標に近づいているかを判定する
     ことを特徴とする請求項1から請求項5のうちの何れか1項記載の直接教示装置。
    The arm is a vertical articulated robot arm,
    The position and orientation calculation unit calculates the position and orientation of the arm,
    The approach determination unit determines whether the position of the arm is approaching a constraint surface that is a constraint target based on a calculation result by the position and orientation calculation unit, and determines whether the posture of the arm is approaching a constraint direction that is a constraint target. The direct teaching device according to any one of claims 1 to 5, wherein it is determined whether or not the position and orientation of the arm is approaching the constraint target by determining whether the arm is in the restraint target.
  9.  外力検知部が、ロボットが有するアームに加えられた外力を検知するステップと、
     従動制御演算部が、前記外力検知部により検知された外力に従う前記アームの動きを算出するステップと、
     位置姿勢演算部が、前記アームの位置又は姿勢のうちの少なくとも一方である位置姿勢を算出するステップと、
     近接判定部が、前記位置姿勢演算部による算出結果に基づいて、前記アームの位置姿勢が、当該アームの位置姿勢の拘束先である拘束目標に近づいているかを判定するステップと、
     解除操作判定部が、操作者が拘束付き直接教示を解除するための解除操作を行ったかを判定するステップと、
     復帰判定部が、拘束付き直接教示へと切換え可能な状態への復帰条件を満たしたかを判定するステップと、
     目標値算出部が、拘束目標及び前記位置姿勢演算部による算出結果に基づいて、拘束付き直接教示における拘束制御の目標値を算出するステップと、
     拘束制御演算部が、前記位置姿勢演算部による算出結果に基づいて、前記目標値算出部により算出された目標値に移動する前記アームの動きを算出するステップと、
     切換部が、自機が第一の状態である場合において前記近接判定部により拘束目標に近づいていると判定された場合に自機を第二の状態へと切換え、自機が第二の状態である場合において前記解除操作判定部により操作者が解除操作を行ったと判定された場合に自機を第三の状態へと切換え、自機が第三の状態である場合において前記復帰判定部により復帰条件を満たしたと判定された場合に自機を第一の状態へと切換え、自機が第二の状態にある場合に前記拘束制御演算部による処理を有効とし、自機が第一の状態又は第三の状態にある場合に前記拘束制御演算部による処理を無効とするステップと、
     合成部が、前記従動制御演算部による算出結果と前記拘束制御演算部による算出結果とを合成するステップと、
     駆動制御部が、前記合成部による合成結果に基づいて前記アームを駆動するステップと
     を有する直接教示方法。
    An external force detecting unit for detecting an external force applied to an arm of the robot;
    A driven control calculation unit that calculates a movement of the arm according to the external force detected by the external force detection unit;
    A position and orientation calculation unit that calculates a position and orientation that is at least one of a position and an orientation of the arm;
    A step of determining whether the position and orientation of the arm is approaching a constraint target to which the position and orientation of the arm is restricted, based on a calculation result by the position and orientation calculation unit;
    A step of determining whether the operator has performed a release operation for releasing the constrained direct teaching,
    A step of determining whether or not a return determination unit satisfies a return condition to a state that can be switched to the constrained direct teaching;
    A target value calculation unit that calculates a target value of the constraint control in the constrained direct teaching based on the constraint target and the calculation result by the position and orientation calculation unit;
    A step of calculating a movement of the arm that moves to the target value calculated by the target value calculation unit, based on a calculation result by the position and orientation calculation unit,
    A switching unit that switches the own device to the second state when the proximity determination unit determines that the own device is approaching the restriction target when the own device is in the first state; In the case where it is determined that the operator has performed the release operation by the release operation determination unit, the own device is switched to the third state, and when the own device is in the third state, the return determination unit When it is determined that the return condition is satisfied, the own device is switched to the first state, and when the own device is in the second state, the processing by the constraint control calculation unit is enabled, and the own device is in the first state. Or a step of invalidating the processing by the constraint control calculation unit when in the third state,
    A combining unit combining the calculation result by the driven control calculation unit and the calculation result by the constraint control calculation unit;
    A driving control unit for driving the arm based on a result of the synthesis by the synthesizing unit.
PCT/JP2019/032666 2018-09-07 2019-08-21 Robot direct teaching device and direct teaching method WO2020050032A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201980057296.1A CN112654469A (en) 2018-09-07 2019-08-21 Direct teaching device and direct teaching method for robot
KR1020217006565A KR102517598B1 (en) 2018-09-07 2019-08-21 Robot direct teaching device and direct teaching method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-167821 2018-09-07
JP2018167821A JP7095944B2 (en) 2018-09-07 2018-09-07 Robot direct teaching device and direct teaching method

Publications (1)

Publication Number Publication Date
WO2020050032A1 true WO2020050032A1 (en) 2020-03-12

Family

ID=69721624

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/032666 WO2020050032A1 (en) 2018-09-07 2019-08-21 Robot direct teaching device and direct teaching method

Country Status (4)

Country Link
JP (1) JP7095944B2 (en)
KR (1) KR102517598B1 (en)
CN (1) CN112654469A (en)
WO (1) WO2020050032A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7447561B2 (en) 2020-03-09 2024-03-12 株式会社タダノ Crane and transportation destination presentation method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05285870A (en) * 1992-04-03 1993-11-02 Matsushita Electric Ind Co Ltd Direct teaching device for multijoint robot
JPH05303425A (en) * 1992-04-27 1993-11-16 Nippon Telegr & Teleph Corp <Ntt> Direct teaching type robot
JPH0695739A (en) * 1992-09-17 1994-04-08 Fujitsu Ltd Device for detecting mobile/restricted state and method thereof
JPH09141580A (en) * 1995-11-22 1997-06-03 Yaskawa Electric Corp Operating range limiting device for direct teaching robot
JP2019055459A (en) * 2017-09-21 2019-04-11 株式会社デンソーウェーブ Teaching system of robot
JP2019093526A (en) * 2017-11-27 2019-06-20 アズビル株式会社 Direct teaching device of robot and method therefor

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH085018B2 (en) * 1986-02-26 1996-01-24 株式会社日立製作所 Remote manipulation method and apparatus
JPS6466715A (en) 1987-09-08 1989-03-13 Sumitomo Electric Industries Manipulator control system
JP3207231B2 (en) 1992-01-24 2001-09-10 松下電器産業株式会社 Robot direct teaching method
JPH05250029A (en) 1992-03-04 1993-09-28 Kobe Steel Ltd Industrial robot
JP5285870B2 (en) 2007-05-14 2013-09-11 本田技研工業株式会社 Vehicle collision energy absorber
JP5303425B2 (en) 2009-10-09 2013-10-02 Udトラックス株式会社 Rotating object support device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05285870A (en) * 1992-04-03 1993-11-02 Matsushita Electric Ind Co Ltd Direct teaching device for multijoint robot
JPH05303425A (en) * 1992-04-27 1993-11-16 Nippon Telegr & Teleph Corp <Ntt> Direct teaching type robot
JPH0695739A (en) * 1992-09-17 1994-04-08 Fujitsu Ltd Device for detecting mobile/restricted state and method thereof
JPH09141580A (en) * 1995-11-22 1997-06-03 Yaskawa Electric Corp Operating range limiting device for direct teaching robot
JP2019055459A (en) * 2017-09-21 2019-04-11 株式会社デンソーウェーブ Teaching system of robot
JP2019093526A (en) * 2017-11-27 2019-06-20 アズビル株式会社 Direct teaching device of robot and method therefor

Also Published As

Publication number Publication date
KR102517598B1 (en) 2023-04-03
JP7095944B2 (en) 2022-07-05
CN112654469A (en) 2021-04-13
KR20210041034A (en) 2021-04-14
JP2020040136A (en) 2020-03-19

Similar Documents

Publication Publication Date Title
JP7399287B2 (en) Method and system for trajectory optimization of nonlinear robot systems with shape constraints
Park et al. Compliance-based robotic peg-in-hole assembly strategy without force feedback
Nanos et al. Avoiding dynamic singularities in Cartesian motions of free-floating manipulators
JP2006334774A (en) Method for controlling track of effector
US20190321977A1 (en) Architecture and methods for robotic mobile manipluation system
US11654559B2 (en) Global arm path planning with roadmaps and precomputed domains
EP1795315A1 (en) Hand-held control device for an industrial robot
US20190022864A1 (en) Robot control device, robot system, and simulation device
JP2011062793A (en) Control device for robot
CN109129525B (en) Load center-of-gravity position estimation device and load center-of-gravity position estimation method for robot
JP2014240106A (en) Robot, robot control device, and driving method of robot
KR102381594B1 (en) Direct teaching device and direct teaching method of robot
WO2020050032A1 (en) Robot direct teaching device and direct teaching method
JP2020171989A (en) Robot teaching system
JP5521506B2 (en) robot
JP2017077600A (en) Manipulator device
WO2017175340A1 (en) Optimization device and vertically articulated robot provided with same
Cong Combination of two visual servoing techniques in contour following task
Khalapyan et al. Motion control of 6-DOF relative manipulation device
US20220193900A1 (en) Arm and Body Coordination
JP2009012133A (en) Safety apparatus and manipulator equipped with the same
JPS63305407A (en) Locus control system for robot
JP2005034960A (en) Conveyer
JP2022114472A (en) Direct teaching device and direct teaching method for robot
Tai et al. A control of two wheels driven redundant mobile manipulator using a monocular camera system

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: 19858367

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19858367

Country of ref document: EP

Kind code of ref document: A1