CONTROL DEVICE, ROBOT SYSTEM, AND CONTROL METHOD

JPWO2025004194A1Active Publication Date: 2025-01-02MITSUBISHI ELECTRIC CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024510687
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-27
Publication Date
2025-01-02
Estimated Expiration
2043-06-27

AI Technical Summary

Technical Problem

Existing robot control systems face challenges in achieving highly accurate position adjustment during direct teaching due to difficulties in instantaneously switching control modes and unintended mode changes based on momentary force fluctuations.

Method used

A control device that calculates force and moment applied by the operator, automatically switches between normal and detailed control modes based on speed and force information, and limits motion direction to match the operator's intention, ensuring precise control.

Benefits of technology

Enables easy realization of highly accurate teaching by automatically selecting the appropriate control mode and preventing unintended mode switches, improving operability and work efficiency.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

The control device (10) is equipped with an external force calculation unit (11) that calculates force information, which is information on the force and moment applied to the robot by the worker, based on the force and moment applied to the robot by the worker and the position and posture of a robot control point, which is a control point for the robot by the worker; a control mode determination unit (12) that determines, based on the force information and velocity information, which is information on the velocity or angular velocity of the robot, whether to select a normal control mode, which controls the robot so that the robot moves faster as the force and moment of the force information are greater, or a detailed control mode, which controls the robot while limiting at least one of the robot's motion speed and motion direction; and an operation command generation unit (13) that generates an operation command corresponding to the normal control mode when the normal control mode is selected and outputs it to the robot, and that generates an operation command corresponding to the detailed control mode when the detailed control mode is selected and outputs it to the robot.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a control device for controlling the operation of a robot, a robot system, and a control method. [Background technology]

[0002] One of the techniques used to create a control program for controlling the operation of a robot is for an operator to operate the robot and determine the position and orientation of the control point within the robot relative to the workpiece. This operation by the operator is called teaching work. An operation method called direct teach is known as a function aimed at simplifying robot operation in teaching work. With direct teach, an operator directly touches the robot arm and applies force in the desired direction of movement, causing the robot to move in the direction of the applied force and moving the robot to the desired position. This direct teach allows an operator to intuitively operate the robot, so it is widely used in the operation of collaborative robots, etc.

[0003] Direct teach allows the operator to intuitively operate the robot, but it is difficult to adjust the position with high precision. For example, if the operator wants to move the end effector located at the tip of the robot by about 0.1 mm in the Z-axis direction only to fine-tune the height of the end effector, the operator needs to transmit a small force only in the Z-axis direction without generating any force in the X-axis or Y-axis directions, which forces the operator to delicately control the direction and magnitude of the force.

[0004] The control device described in Patent Document 1 has a first control mode that performs normal control and a second control mode that performs detailed position adjustment, and selects the second control mode when the duration during which the force magnitude is equal to or greater than the force threshold is less than the duration threshold, and selects the first control mode when the duration is equal to or greater than the duration threshold, thereby proposing a high-precision position adjustment method that automates control mode switching. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] JP 2019-202364 A Summary of the Invention [Problem to be solved by the invention]

[0006] However, the technology of Patent Document 1 does not allow the operator to instantly switch the control mode at the timing intended by the operator. In addition, the control mode is switched even if the magnitude of the force decreases only for an instant. This causes a timing when the control mode is changed to one that the operator does not want, and this timing causes a problem in that highly accurate teaching cannot be easily realized.

[0007] The present disclosure has been made in consideration of the above, and has an object to provide a control device that can easily realize highly accurate teaching. [Means for solving the problem]

[0008] In order to solve the above-mentioned problems and achieve the object, the control device of the present disclosure includes an external force calculation unit that calculates force information, which is information on the force and moment applied to the robot by the worker, based on the force and moment applied to the robot by the worker and the position and posture of the robot control point, which is the control point of the robot by the worker. The control device of the present disclosure also selects either a normal control mode in which the robot is controlled so that the greater the force and moment of the force information, the faster the robot moves, or a detailed control mode in which the robot is controlled while limiting at least one of the robot's motion speed and motion direction, based on velocity information, which is information on the robot's velocity or angular velocity, and the force information, The system estimates the operator's operation intention and selects the control mode appropriate for the estimated operation. The control device of the present disclosure also includes an operation command generation unit that generates an operation command corresponding to the normal control mode when the normal control mode is selected and outputs the operation command to the robot, and that generates an operation command corresponding to the detailed control mode when the detailed control mode is selected and outputs the operation command to the robot. Effect of the Invention

[0009] The control device according to the present disclosure has the effect of easily achieving highly accurate teaching. [Brief description of the drawings]

[0010] [Figure 1] FIG. 1 is a diagram showing a configuration of a control device according to a first embodiment; [Diagram 2] FIG. 1 is a diagram showing a configuration of a robot system including a control device according to a first embodiment. [Diagram 3] FIG. 11 is a diagram for explaining an operation of an end effector when the control device according to the first embodiment executes a normal control mode. [Figure 4] FIG. 1 is a diagram for explaining an operation of an end effector when the control device according to the first embodiment executes a detailed control mode; [Diagram 5] 1 is a flowchart showing a procedure of processing executed by the control device according to the first embodiment in a direct teach control mode. [Figure 6] FIG. 11 is a diagram for explaining an example of a control mode selected by the control device according to the first embodiment for a first example of force information and velocity information; [Figure 7] FIG. 11 is a diagram for explaining an example of a control mode selected by the control device according to the first embodiment for a second example of force information and velocity information; [Figure 8] FIG. 11 is a diagram for explaining an operation direction that the control device according to the second embodiment determines based on the direction of a force vector detected by a force detection unit during a detailed control mode. [Figure 9] FIG. 11 is a diagram for explaining an operation direction that the control device according to the second embodiment determines based on the direction of a moment vector detected by a force detection unit during a detailed control mode. [Figure 10] FIG. 13 is a diagram for explaining the movement amount of the end effector in a detailed control mode controlled by the control device according to the third embodiment; [Figure 11] FIG. 1 is a diagram showing an example of a hardware configuration for implementing a control device according to first to third embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A control device, a robot system, and a control method according to embodiments of the present disclosure will be described in detail below with reference to the drawings.

[0012] Embodiment 1 1 is a diagram showing a configuration of a control device according to the first embodiment. The control device 10 is a device for controlling the operation of a robot (a robot 1 described later). The control device 10 controls an actuator 3 described later to cause the robot 1 to perform a desired operation.

[0013] The control device 10 controls the robot 1 in a position control mode or a direct teach control mode. The position control mode is a control mode in which the robot 1 is controlled according to a position command. The direct teach control mode is a control mode in which an operator manually operates the robot 1 by directly applying an external force to an end effector 6 (to be described later) provided on the robot 1. The location where the operator applies the force is a movable location of the robot 1.

[0014] The control point (robot control point 7 described later) where the operator applies an external force is not limited to the end effector 6, but may be any position such as the arm part of the robot arm or a joint part of the robot arm.

[0015] The direct teach control mode includes a normal control mode, which will be described later, and a detailed control mode, which will be described later. The operator can teach the control device 10 the operating position of the robot 1 by direct teach.

[0016] In the following description, the direct teach control mode will be mainly described. In the direct teach control, the control device 10 of the first embodiment automatically switches from the normal control mode to the detailed control mode to a control mode that matches the intention of the operator during the work.

[0017] In the direct teach control mode, the control device 10 generates an operation command for moving the robot 1 to a position to which the operator moved the robot 1, based on the manual operation of the robot 1 by the operator. The operation command generated by the control device 10 is a command for controlling the operation of the robot 1. When the control device 10 generates the operation command, the control device 10 controls the position of the robot 1 in accordance with the operation command. In this way, the control device 10 executes control of the robot 1 using the operation command generated in the direct teach control mode.

[0018] The control device 10 is connected to the force detection unit 5 and the position detection unit 4. The control device 10 includes an external force calculation unit 11, a control mode determination unit 12, an operation command generation unit 13, a setting unit 14, a storage unit 15, a display unit 16, and an attitude calculation unit 17.

[0019] The force detection unit 5 is disposed between the tip of the robot arm provided in the robot 1 and the end effector 6, for example. The force detection unit 5 is a sensor that measures the force and moment acting on the end effector 6. The force detection unit 5 transmits the measured force and moment to the control device 10. In this way, the force detection unit 5 detects the external force applied to the end effector 6 and transmits it to the control device 10.

[0020] The force detection unit 5 may directly measure the force and moment acting on the end effector 6 using a six-axis force sensor that measures force and moment, but may also measure by other means. For example, the force detection unit 5 may measure the force and moment by calculating the force acting on the hand of the robot 1 using torque sensors attached to all of the joints of the robot 1.

[0021] The position detection unit 4 is disposed at a joint of a robot arm of the robot 1. The position detection unit 4 is a sensor that detects the rotation angle of an actuator 3 (described later) that is disposed at the joint. The rotation angle detected by the position detection unit 4 is used for feedback control of the actuator 3 and is also transmitted to the control device 10.

[0022] The posture calculation unit 17 calculates the position and posture of the robot control point 7, which is the working point of the robot 1, by performing a calculation using forward kinematics on the rotation angle detected by the position detection unit 4. The robot control point 7 is a point to which the worker moves during direct teaching, and the control device 10 generates a control program based on the position of the robot control point 7 taught by the worker.

[0023] Furthermore, the attitude calculation unit 17 can calculate the velocity and angular velocity of the robot control point 7 based on information (difference information) of the calculated change in position and attitude of the robot control point 7.

[0024] In this way, attitude calculation section 17 calculates the position and attitude based on the detected rotation angle, and calculates the velocity, angular velocity, acceleration, and angular acceleration based on information on changes in the calculated position and attitude.

[0025] The external force calculation unit 11 removes the influences of gravity, inertial force, centrifugal force, Coriolis force, etc. of the robot arm from the measured force and moment, and calculates the force (external force) and moment applied by the operator to the tip of the robot 1. That is, the external force calculation unit 11 calculates the operating force applied by the operator based on the measured operating force.

[0026] A dynamics model used for calculating gravity, inertial force, centrifugal force, Coriolis force, etc. is stored in the storage unit 15. The external force calculation unit 11 calculates the operating force by the operator using the dynamics model read out from the storage unit 15. Specifically, the external force calculation unit 11 calculates the force and moment applied to the tip of the robot 1 by applying the force and moment detected by the force detection unit 5, the position, attitude, velocity, and angular velocity calculated by the attitude calculation unit 17, and the acceleration and angular acceleration calculated by the external force calculation unit 11 to the dynamics model.

[0027] When no force is applied to the robot 1 by the operator, the force and moment detected based on the motion (posture, torque, etc.) of the robot 1 should be approximately the same as the force and moment detected using the sensor. Therefore, when there is a difference between the force and moment detected based on the motion of the robot 1 and the force and moment detected using the sensor, this difference is considered to be the operating force by the operator. Therefore, the external force calculation unit 11 may calculate the operating force by the operator based on the difference between the force and moment detected based on the motion of the robot 1 and the force and moment detected using the sensor.

[0028] In the following description, the force and moment detected by force detection unit 5 may be referred to as the detected force and detected moment, respectively. External force calculation unit 11 transmits the calculated operating force (the force and moment applied by the operator) to control mode determination unit 12 and operation command generation unit 13.

[0029] The control mode determination unit 12 determines the control mode in the direct teach control mode based on the operating force (force information), which is the force and moment calculated by the external force calculation unit 11, and the change rate information detected by the position detection unit 4. The change rate information detected by the position detection unit 4 is, for example, velocity data indicating the speed of the operation of the actuator 3. The change rate information may be angular velocity data indicating the angular velocity of the operation of the actuator 3. The velocity data corresponds to the change rate of the position of the robot control point 7, and each velocity data corresponds to the change rate of the attitude of the robot control point 7. The control mode used by the control device 10 of the first embodiment in the direct teach control mode is either the normal control mode or the detailed control mode.

[0030] Here, the normal control mode and the detailed control mode will be described. The normal control mode is a normal direct teach control mode that is intended to be used for roughly adjusting the position of the robot 1. In the normal control mode, a feedback control system (force feedback control system and moment feedback control system) is implemented that uses the force and moment applied to the robot 1 by the operator. In the normal control mode, the robot 1 moves in the direction of the force and moment applied to the robot 1, and the larger the force and moment, the faster the movement speed at this time.

[0031] The detailed control mode is a control mode of direct teach control intended to be used for detailed position adjustment of the robot 1. In the detailed control mode, in order to facilitate detailed position adjustment, at least one of the motion speed and motion direction of the robot 1 during direct teach is limited. That is, in the detailed control mode, at least one of the upper limit value of the motion speed and the operable axial direction is set for the control system in the normal control mode, thereby limiting the motion speed to a predetermined value or the motion direction to a predetermined direction.

[0032] The control mode determination unit 12 determines whether to apply the normal control mode or the detailed control mode. When the control mode determination unit 12 determines that the robot 1 is to be controlled in the detailed control mode, it determines the axis to be operated (hereinafter referred to as the operable axis). The operable axis is, for example, an axial direction along which the end effector 6 is moved. In other words, the operable axis is, for example, an axial direction along which the movement of the end effector 6 is permitted. The control mode determination unit 12 transmits the determination result of the operation mode and the operable axis to the operation command generation unit 13.

[0033] The motion command generating unit 13 generates a motion command (robot motion command) for the robot 1 based on the operational force calculated by the external force calculating unit 11 and the control mode and operable axes determined by the control mode determining unit 12. In the control device 10, a force control system is set up such that the robot 1 operates in a direction that cancels the operational force.

[0034] In a normal control mode that enables rough position adjustment of the robot 1, the motion command generator 13 generates motion commands such that the robot 1 moves faster as the force and moment applied by the worker increases.

[0035] In addition, in a detailed control mode that enables detailed position adjustment of the robot 1, the motion command generation unit 13 generates motion commands so that the motion speed and the movable axial direction are restricted regardless of the magnitude of the force and moment applied by the worker.

[0036] The upper limit of the motion speed and the movable axis (movable direction) in the detailed control mode can be changed in advance by the operator. The upper limit of the motion speed and the movable axis in the detailed control mode are registered in the storage unit 15 via the setting unit 14. The motion command generating unit 13 generates a motion command in the detailed control mode based on at least one of the upper limit of the motion speed and the movable axis registered in the storage unit 15. As a result, in the detailed control mode, restrictions are imposed on the moving speed and moving direction of the robot 1.

[0037] The operable axial direction in the detailed control mode is one or two of the X-axis direction, the Y-axis direction, and the Z-axis direction. For example, when the operable axial direction in the detailed control mode is the X-axis direction, even if the force applied to the robot 1 includes a force in the Y-axis direction and a force in the Z-axis direction, the control device 10 moves the robot 1 only in a direction parallel to the X-axis direction, and does not move the robot 1 in the Y-axis direction or the Z-axis direction. In other words, when the operable axial direction in the detailed control mode is the X-axis direction, the control device 10 extracts only the force in the X-axis direction from the force applied to the robot 1 and moves the robot 1 in the X-axis direction.

[0038] Furthermore, when the operable axial directions in the detailed control mode are the X-axis direction and the Y-axis direction, even if the force applied to the robot 1 includes a force in the Z-axis direction, the control device 10 moves the robot 1 within a plane parallel to the XY plane, and does not move it in the Z-axis direction.

[0039] The Cartesian coordinate system (orthogonal coordinate system) indicated by the X-axis, Y-axis, and Z-axis directions can be defined arbitrarily. The operator can select in advance as the Cartesian coordinate system the world coordinate system, a tool coordinate system attached to the robot hand, or a work coordinate system attached to a target work (work 30 described later). The tool coordinate system is a coordinate system defined with the position of the tool attached to the tip of the robot arm as the origin. The work coordinate system is a coordinate system defined with the position of the placed work 30 as the origin.

[0040] In the detailed control mode, the control device 10 operates the end effector 6 only in the axial direction preset by the operator in a coordinate system predefined by the operator. In this way, in limiting the movement direction in the detailed control mode, the control device 10 limits the operable direction to a direction parallel to any one of the X-axis direction, Y-axis direction, and Z-axis direction on the predefined Cartesian coordinate system.

[0041] The control device 10 may operate the end effector 6 only in a preset axis direction among the A-axis direction about the X-axis direction, the B-axis direction about the Y-axis direction, and the C-axis direction about the Z-axis direction in a Cartesian coordinate system. The control device 10 may operate the end effector 6 only in a direction parallel to one or two of the A-axis direction, the B-axis direction, and the C-axis direction. In other words, the control device 10 may limit the direction of operation to, for example, a rotation direction about any one of the X-axis direction, the Y-axis direction, and the Z-axis direction in a predefined Cartesian coordinate system.

[0042] In the detailed control mode, the motion command generating unit 13 reads out the upper limit of the motion speed and the movable axis, which is the direction of the movable axis, from the storage unit 15. In the detailed control mode, the motion command generating unit 13 generates a motion command to move the robot control point 7 at a motion speed slower than the upper limit of the motion speed read out from the storage unit 15 and in the axial direction of the movable axis.

[0043] The setting unit 14 receives various control settings used for control sent from an external terminal or the like, and sets them in the control information. For example, the setting unit 14 receives control settings input by an operator to an external terminal or the like from the external terminal, and sets them in the control information. The setting unit 14 receives control settings from an external terminal or the like when the control information is changed. The setting unit 14 stores the control information in the storage unit 15 or the like.

[0044] The storage unit 15 stores physical information related to the dynamics model of the robot 1 and various information used for control (such as control settings). Examples of information stored in the storage unit 15 include information on the coordinate system used by the control device 10, and information on the upper limit of the motion speed and the operable axes in the detailed control mode.

[0045] The display unit 16 displays information used by the control device 10. The display unit 16 does not have to be included in the components of the control device 10. In this case, the display unit 16 is disposed outside the control device 10 and connected to the control device 10.

[0046] In this way, the control device 10 of embodiment 1 switches between the normal control mode and the detailed control mode based on the force information (force and moment calculated by the external force calculation unit 11), which is the operating force applied by the worker, and the rate of change of the position or posture of the robot control point 7 (velocity data or angular velocity data).

[0047] 2 is a diagram showing a configuration of a robot system including a control device according to the embodiment 1. The robot system 2 includes a robot 1 and a control device 10. In the robot system 2, the control device 10 is connected to the robot 1, and controls the robot 1.

[0048] The robot 1 has one or more joints. The robot 1 is equipped with an actuator 3 and a position detection unit 4 at each joint. The control device 10 controls the posture of the robot 1 by driving the actuator 3 based on the position, posture, speed, and angular velocity detected by the position detection unit 4. The robot 1 also has a force detection unit 5 at the tip of the robot arm. The robot 1 also has an end effector 6 such as a hand mounted at the tip of the force detection unit 5. The robot control point 7 is, for example, any position within the end effector 6. The robot control point 7 can be arbitrarily changed by the operator. The control device 10 controls the robot 1 in a direct teach control mode based on the robot control point 7 set by the operator.

[0049] When controlling the robot 1 in the direct teach control mode, the control device 10 switches the control mode between the normal control mode and the detailed control mode using the force information (detected force and detected moment) detected by the force detection unit 5 and the change rate information (velocity and angular velocity) detected by the position detection unit 4.

[0050] Here, the operation of the end effector 6 when the normal control mode is executed and the operation of the end effector 6 when the detailed control mode is executed will be described. Fig. 3 is a diagram for explaining the operation of the end effector when the control device according to the first embodiment executes the normal control mode.

[0051] The normal control mode is a control mode that is applied when performing rough position adjustment of the robot 1. When teaching the position of the end effector 6, the operator may move the end effector 6 with a large force or at high speed. Fig. 3 shows a case where the operator moves the end effector 6 from position 21 to position 22, which is a position near the position where the workpiece 30 is placed, with a large force or at high speed.

[0052] Fig. 4 is a diagram for explaining the operation of the end effector when the control device according to the first embodiment executes the detailed control mode. In Fig. 4, the direction perpendicular to the plane of Fig. 4 is the X-axis direction, and two directions perpendicular to each other within the plane of Fig. 4 are the Y-axis direction and the Z-axis direction. The detailed control mode is a control mode that is applied when detailed position adjustment of the robot 1 is executed.

[0053] An operator may move the end effector 6 with a small force and at a low speed when teaching the position of the end effector 6. Fig. 4 shows a case where an operator moves the end effector 6 from position 23 to position 24 where the workpiece 30 is placed with a small force and at a low speed.

[0054] The teaching work for the robot 1 can be broadly divided into a work for moving the end effector 6 to the vicinity of a taught position (hereinafter, sometimes referred to as a large movement work) as shown in Fig. 3, and a work for finely adjusting the end effector 6 to a detailed position (hereinafter, sometimes referred to as a small movement work) as shown in Fig. 4. When the worker performs a large movement work, the end effector 6 is moved with a large force or at high speed, so the control device 10 selects the normal control mode. On the other hand, when the worker performs a small movement work, the end effector 6 is moved with a small force and at a low speed, so the control device 10 selects the detailed control mode.

[0055] The control device 10 applies the normal control mode when the force information applied to the end effector 6 by the operator is greater than a specific value (a force judgment value described later) or the speed information of the end effector 6 moved by the operator is greater than a specific value (a speed judgment value described later). In this case, the control device 10 moves the end effector 6 in the direction of the force applied to the end effector 6 at a speed or angular speed according to the magnitude of the force.

[0056] The control device 10 applies the detailed control mode when the force information applied by the operator to the end effector 6 is equal to or less than the force judgment value and the speed information of the end effector 6 moved by the operator is equal to or less than the speed judgment value. In this case, the control device 10 imposes a restriction on at least one of the moving speed and the moving direction of the end effector 6.

[0057] The force information used by the control device 10 when determining whether to apply the normal control mode or the detailed control mode is the force and moment applied by the operator to the end effector 6. Therefore, the force judgment value includes information on the reference value of the force and information on the reference value of the moment.

[0058] The control device 10 determines that the force information is greater than the force judgment value when at least one of the following conditions is true: the force applied by the worker to the end effector 6 is greater than a reference force value, and the moment applied by the worker to the end effector 6 is greater than a reference moment value.

[0059] In addition, the control device 10 determines that the force information is equal to or less than the force judgment value when the force applied to the end effector 6 by the worker is equal to or less than the force reference value and when the moment applied to the end effector 6 by the worker is equal to or less than the moment reference value.

[0060] The velocity information used by the control device 10 when determining whether to apply the normal control mode or the detailed control mode is the velocity and angular velocity of the end effector 6 moved by the operator. Therefore, the velocity determination value includes information on the reference value of the velocity and information on the reference value of the angular velocity.

[0061] The control device 10 determines that the speed information is greater than the speed judgment value when at least one of the following conditions is true: the speed of the end effector 6 moved by the worker is greater than a reference speed value, and the angular velocity of the end effector 6 moved by the worker is greater than a reference angular velocity value.

[0062] In addition, the control device 10 determines that the speed information is below the speed judgment value when the speed of the end effector 6 moved by the worker is below the speed reference value and when the angular velocity of the end effector 6 moved by the worker is below the angular velocity reference value.

[0063] In this manner, the control device 10 applies the normal control mode when any one of the following conditions C1 to C4 is satisfied. (C1) The force applied to the end effector 6 is greater than the reference force value. (C2) The moment applied to the end effector 6 is greater than the reference moment value. (C3) The speed of the end effector 6 is greater than the reference speed value. (C4) The angular velocity of the end effector 6 is greater than the reference value of the angular velocity.

[0064] On the other hand, the control device 10 applies the detailed control mode when all of the following conditions C5 to C8 are satisfied. (C5) The force applied to the end effector 6 is equal to or less than the reference force value. (C6) The moment applied to the end effector 6 is equal to or less than the reference moment value. (C7) The speed of the end effector 6 is below the speed reference value. (C8) The angular velocity of the end effector 6 is equal to or less than the reference value of the angular velocity.

[0065] 5 is a flowchart showing a procedure of a process executed by the control device according to the first embodiment in the direct teach control mode. Here, a selection process of the control device 10 to select either the normal control mode or the detailed control mode in the direct teach control mode will be described.

[0066] The external force calculation unit 11 of the control device 10 receives the detected force and detected moment detected by the force detection unit 5 from the force detection unit 5. In addition, the external force calculation unit 11 receives the position, attitude, velocity, and angular velocity detected by the position detection unit 4 from the position detection unit 4.

[0067] The external force calculation unit 11 calculates the force and moment applied to the end effector 6 by the operator based on the force and moment measured by the force detection unit 5, the position, posture, velocity, and angular velocity detected by the position detection unit 4, and a dynamics model. The external force calculation unit 11 transmits force information (operation force) indicating the calculated force and moment to the control mode determination unit 12. In addition, the external force calculation unit 11 transmits velocity information indicating the velocity and angular velocity to the control mode determination unit 12.

[0068] The control mode determination unit 12 determines whether or not the velocity information is greater than a velocity determination value (step S10). That is, it determines whether or not the velocity of the end effector 6 moved by the operator is greater than a reference velocity value, or whether or not the angular velocity of the end effector 6 moved by the operator is greater than a reference angular velocity value.

[0069] When the control mode determination unit 12 determines that the speed information is greater than the speed determination value (step S10, Yes), it determines the control mode to be the normal control mode (step S20). The control mode determination unit 12 notifies the operation command generation unit 13 that the normal control mode has been determined. As a result, the operation command generation unit 13 executes control according to the normal control mode. In other words, the operation command generation unit 13 generates an operation command such that the robot 1 operates faster as the force and moment applied by the worker increase.

[0070] While the motion command generator 13 is executing control according to the normal control mode, the control mode determiner 12 determines whether or not the speed information is greater than a speed determination value (step S10). When the control mode determiner 12 determines that the speed information is equal to or less than the speed determination value (step S10, No), the control mode determiner 12 determines whether or not the force information is greater than a force determination value (step S30). That is, the control mode determine whether or not the force applied by the operator to the end effector 6 is greater than a force reference value, or whether or not the moment applied by the operator to the end effector 6 is greater than a moment reference value.

[0071] When the control mode determination unit 12 determines that the force information is greater than the force determination value (step S30, Yes), it determines the control mode to be the normal control mode (step S20). The control mode determination unit 12 notifies the operation command generation unit 13 that the normal control mode has been determined. As a result, the operation command generation unit 13 executes control according to the normal control mode.

[0072] On the other hand, when the control mode determination unit 12 determines that the force information is equal to or less than the force determination value (step S30, No), it determines the control mode to be the detailed control mode (step S40). The control mode determination unit 12 notifies the motion command generation unit 13 that the detailed control mode has been determined. As a result, the motion command generation unit 13 executes control according to the detailed control mode. That is, the motion command generation unit 13 controls the motion of the end effector 6 while imposing restrictions on the upper limit of the motion speed and the operable axial direction. The control device 10 repeats the processes of steps S10 to S40.

[0073] In this way, the control device 10 automatically switches the direct teach control mode to either the normal control mode or the detailed control mode based on the velocity information and the force information. In this way, the control device 10 can automatically change the control mode to one that matches the operator's intention, so the operator does not need to manually switch the control mode.

[0074] Next, examples of force information and velocity information in the case of a large movement task and examples of force information and velocity information in the case of a small movement task will be described. FIG. 6 is a diagram for explaining an example of a control mode selected by the control device according to the first embodiment for a first example of force information and velocity information. FIG. 6 shows an example of the transition of force information and the transition of velocity information when a stopped end effector 6 starts to move due to an operation by a worker and then stops moving. The horizontal axis of the upper and lower graphs shown in FIG. 6 is time. The vertical axis of the upper graph shown in FIG. 6 is force information, and the vertical axis of the lower graph is velocity information.

[0075] 6 shows the relationship between force information corresponding to the force applied by the worker to the robot 1 during a large movement task, speed information corresponding to the speed of the robot control point 7, and the selected control mode. Since the worker needs to move the robot 1 a long way when performing a large movement task, the worker will have a psychological desire to move the end effector 6 moderately quickly, and the force applied to the end effector 6 will inevitably become large. Therefore, the control device 10 selects the detailed control mode immediately after starting the operation, but instantly switches to the normal control mode, enabling stress-free movement.

[0076] That is, before the large movement work is performed and immediately after the large movement work is started, the force information is equal to or less than the force judgment value V1 and the speed information is equal to or less than the speed judgment value V2, so the control device 10 selects the detailed control mode. Then, after the large movement work is started, when the force information becomes greater than the force judgment value V1 or the speed information becomes greater than the speed judgment value V2, the control device 10 switches to the normal control mode. In Fig. 6, the time when the force information becomes greater than the force judgment value V1 and the speed information becomes greater than the speed judgment value V2 is indicated as time T1.

[0077] It is also anticipated that the force applied during a large-movement task may weaken for just an instant, but since the velocity information slowly follows the fluctuations in the force information, the control mode will not be inadvertently switched.

[0078] Thereafter, when the operator attempts to stop the end effector 6, the force information becomes equal to or less than the force judgment value V1, and the velocity information becomes equal to or less than the velocity judgment value V2. In Fig. 6, the time at which the velocity information becomes equal to or less than the velocity judgment value V2 after the force information becomes equal to or less than the force judgment value V1 is indicated as time T2. In this manner, when the force information becomes equal to or less than the force judgment value V1, and the velocity information becomes equal to or less than the velocity judgment value V2, the control device 10 switches to the detailed control mode.

[0079] Fig. 7 is a diagram for explaining an example of a control mode selected by the control device according to the first embodiment for a second example of force information and velocity information. Fig. 7 shows an example of a transition of force information and a transition of velocity information in a detailed control mode. The horizontal axis of the upper and lower graphs shown in Fig. 7 is time. The vertical axis of the upper graph shown in Fig. 7 is force information, and the vertical axis of the lower graph is velocity information.

[0080] 7 shows the relationship between force information corresponding to the force applied by the worker to the robot 1, speed information corresponding to the speed of the robot control point 7, and the selected detailed control mode during a small movement task. When performing a small movement task, the worker makes fine adjustments to the position of the robot 1, and therefore has a psychological tendency to move the robot 1 slowly, which inevitably results in a small force being applied to the end effector 6. Therefore, the control device 10 always selects the detailed control mode during a small movement task.

[0081] Fig. 7 shows a state in which the force information is equal to or less than the force judgment value V1, the speed information is equal to or less than the speed judgment value V2, and the detailed control mode is selected. The control device 10 sets an upper limit on the motion speed while the detailed control mode is selected. Fig. 7 shows a case in which the control device 10 sets a speed limiter V3, which is an upper limit on the motion speed, while in the detailed control mode. The speed limiter V3 is a value equal to or less than the speed judgment value V2.

[0082] The control device 10 may be applied to a direct teach control system that can adjust the sensitivity of the operation to the input of force. In this case, since a force control system is incorporated in the direct teach control, the sensitivity of the response varies greatly depending on the force feedback gain. Since the product of the external force and the gain (the product of the external force and the gain) is proportional to the speed, increasing the gain will increase the speed even with a weak force. In such a case, it is expected that the speed will increase despite the operation being performed with a weak force, but since the control device 10 sets an upper limit on the operation speed during the detailed control mode, it is possible to suppress inadvertent switching of the control mode.

[0083] In this way, when the operator roughly moves the end effector 6 to the target teaching position, the operator tries to operate the end effector 6 with a relatively large force, which increases the operating speed of the end effector 6. On the other hand, when the operator finely adjusts the position, the operator tries to operate the end effector 6 with a relatively small force, which decreases the operating speed of the end effector 6.

[0084] Therefore, the control device 10 can automatically switch to a control mode that matches the intention of the operator by switching the control mode based on the following example control mode switching conditions. Furthermore, by using both force information and velocity information, the control device 10 can prevent the control mode from being inadvertently switched even if the force fluctuates only momentarily during the normal control mode, thereby preventing erroneous determination of mode switching.

[0085] <Examples of control mode switching conditions> Normal control mode: (F>3Nm) or (V>10mm / s) Detailed control mode: (V≦10mm / s) and (F≦3Nm) Here, F is the force applied by the operator, and V is the velocity of the robot control point 7.

[0086] By configuring and operating the control device 10 as described above, it is possible to provide a user interface that automatically selects a control mode as intended by the operator.

[0087] As shown in FIG. 6, the force information may change suddenly. In such a case, if the control mode is switched without considering the velocity information, the control mode will be switched even for a sudden change in force, resulting in unstable control. For this reason, in order to correctly determine the switching of the control mode without considering the velocity information, it is necessary to measure the force for a long time. In this case, a time lag occurs between the application of force and the switching of the control mode, making it impossible to control in an appropriate control mode according to the magnitude of the force. In other words, if the velocity information is not considered, it is necessary to use force change information for several cycles in order to stabilize the switching of the control mode, so that a time lag occurs in switching the control mode, and the control mode is not instantly switched to the control mode intended by the operator.

[0088] On the other hand, the control device 10 of embodiment 1 sets the control mode to either the detailed control mode or the normal control mode by taking into account not only force information but also velocity information, so that it is possible to control the robot 1 in an appropriate control mode according to the magnitude of the force.

[0089] As a result, the control device 10 can easily achieve highly accurate teaching even in direct teach, and can automatically switch to the control mode intended by the operator, improving operability. Furthermore, when the control device 10 is applied, the operator does not need to switch the control mode during direct teach, making direct teach operation easier and enabling any operator to intuitively operate it.

[0090] As described above, the control device 10 of the first embodiment sets the normal control mode or the detailed control mode based on the speed information and the force information, and therefore can easily realize highly accurate teaching.

[0091] Embodiment 2 Next, a second embodiment will be described with reference to Fig. 8 and Fig. 9. In the second embodiment, the control device 10 limits the direction of operation during the detailed control mode based on the direction of the detected force or moment detected by the force detection unit 5.

[0092] Fig. 8 is a diagram for explaining the operation direction that the control device according to the second embodiment determines based on the direction of the force vector detected by the force detection unit during the detailed control mode. In Fig. 8, the direction perpendicular to the paper surface of Fig. 8 is the X-axis direction, and two directions perpendicular to each other within the paper surface of Fig. 8 are the Y-axis direction and the Z-axis direction. Fig. 8 shows an image of the force applied to the end effector 6 in the Cartesian coordinate system during the detailed control mode.

[0093] Based on the direction of the detected force detected by the force detection unit 5, the control device 10 calculates in which axis direction (X-axis direction, Y-axis direction, or Z-axis direction) of the Cartesian coordinate system the worker is trying to move the robot control point 7, and moves the end effector 6 only in the axis direction in which the worker is trying to move it. That is, based on the direction of the detected force detected by the force detection unit 5 during the detailed control mode, the control device 10 determines whether the worker is trying to move the end effector 6 in the X-axis direction, Y-axis direction, or Z-axis direction. Then, the control device 10 permits the movement of the end effector 6 only in the determined direction.

[0094] 8 shows a case where an operator is trying to operate the end effector 6 in the Z-axis direction of the tool coordinate system. In this case, a force vector 51 that actually acts on the end effector 6 also contains small components in the X-axis direction and the Y-axis direction on the tool coordinate system.

[0095] The control device 10 estimates in which axial direction the operator is attempting to operate the end effector 6 by comparing the dot products of the force vector 51, which is a vector of the detected force detected by the force detection unit 5, and each axis vector (X-axis vector 50X, Y-axis vector 50Y, Z-axis vector 50Z) of the Cartesian coordinate system. Specifically, the control device 10 permits the movement of the end effector 6 only in the direction of the axis vector with the largest dot product among the dot products of the force vector 51 and each axis vector of the Cartesian coordinate system. In this way, the control device 10 can easily estimate in which axial direction the operator is attempting to operate the end effector 6 by comparing the dot products.

[0096] 8, the dot product of the force vector 51 and the Z-axis vector 50Z is larger than the other dot products, so the control device 10 can easily estimate that the operator is trying to operate the end effector 6 in the Z-axis direction. In this case, the control device 10 limits the operation of the end effector 6 so that the end effector 6 is not operated in the X-axis and Y-axis directions. This allows the control device 10 to operate the end effector 6 only in the axial direction corresponding to the operator's operation, so that detailed operation can be realized in the detailed control mode.

[0097] The Cartesian coordinate system can be arbitrarily defined. The operator can select in advance, as the Cartesian coordinate system, the world coordinate system, the tool coordinate system set in the robot hand, or the work coordinate system set in the target work. The control device 10 estimates in which axial direction the operator is trying to operate the end effector 6 based on the coordinate system defined by the operator.

[0098] The axial direction in which the control device 10 operates the end effector 6 during the detailed control mode is not limited to one direction, and may be two directions. That is, the control device 10 may move the end effector 6 within any one of the XY plane, the YZ plane, and the ZX plane during the detailed control mode. In other words, the control device 10 limits the operation to one or two axial directions among the X-axis direction, the Y-axis direction, and the Z-axis direction during the detailed control mode.

[0099] The control device 10 determines, for example, based on the magnitude of the detection force in each axial direction detected by the force detection unit 5, whether to move within any of the XY plane, YZ plane, and ZX plane, or in any of the X-axis direction, Y-axis direction, and Z-axis direction.

[0100] For example, among the X-axis direction, the Y-axis direction, and the Z-axis direction, the axis direction in which the force is greatest is the first axis direction, the axis direction in which the force is second greatest is the second axis direction, and the axis direction in which the force is least is the third axis direction. In this case, when the difference between the force in the first axis direction and the force in the second axis direction is equal to or less than a first threshold value, the control device 10 moves the end effector 6 only in an in-plane direction including the first axis direction and the second axis direction, and does not move the end effector 6 in other directions. In this case, when the difference between the force in the first axis direction and the force in the second axis direction is greater than a first threshold value, the control device 10 moves the end effector 6 only in the first axis direction, and does not move the end effector 6 in other directions.

[0101] Furthermore, when the difference between the force in the second axis direction and the force in the third axis direction is equal to or greater than a second threshold value, the control device 10 may move the end effector 6 only in an in-plane direction including the first axis direction and the second axis direction, and not move the end effector 6 in other directions. In this case, when the difference between the force in the second axis direction and the force in the third axis direction is smaller than a second threshold value, the control device 10 moves the end effector 6 only in the first axis direction, and not move the end effector 6 in other directions.

[0102] In this way, in restricting the movement direction in the detailed control mode, the control device 10 restricts the operable direction to a direction parallel to any one of the X-axis direction, the Y-axis direction, and the Z-axis direction on a predefined Cartesian coordinate system. The control device 10 controls the robot 1 so that the movement direction of the end effector 6 is the axial direction closest to the direction of the force detected by the force detection unit 5.

[0103] In the second embodiment, the control device 10 may use an A-axis direction that rotates around the X-axis, a B-axis direction that rotates around the Y-axis, and a C-axis direction that rotates around the Z-axis, instead of the X-axis direction, Y-axis direction, and Z-axis direction in the Cartesian coordinate system. Even when axial directions around the axes are used, the control device 10 limits the movement of the end effector 6 to only movements in a specific direction by processing similar to that in the Cartesian coordinate system.

[0104] Fig. 9 is a diagram for explaining the operation direction that the control device according to the second embodiment determines based on the direction of the moment vector detected by the force detection unit during the detailed control mode. In Fig. 9, the rotation axis direction perpendicular to the paper surface of Fig. 9 is the A-axis direction, and two rotation axis directions perpendicular to each other within the paper surface of Fig. 9 are the B-axis direction and the C-axis direction. Fig. 9 shows an image of the moment applied to the end effector 6 in the Cartesian coordinate system during the detailed control mode.

[0105] The control device 10 calculates in which axis direction (A-axis direction, B-axis direction, or C-axis direction) of the Cartesian coordinate system the operator is attempting to move the robot control point 7 based on the direction of the detected moment detected by the force detection unit 5, and operates the end effector 6 only in the axis direction in which the operator is attempting to move the robot control point 7. The control device 10 then permits the movement of the end effector 6 only in the determined direction.

[0106] 9 shows a case where an operator is about to rotate the end effector 6 in the C-axis direction (rotation around the Z-axis) of the tool coordinate system. In this case, the moment vector 61 that actually acts on the end effector 6 also contains small rotational components in the A-axis direction (rotation around the X-axis) and B-axis direction (rotation around the Y-axis) on the tool coordinate system.

[0107] The control device 10 estimates in which axial direction the operator is attempting to operate the end effector 6 by comparing the dot product of moment vector 61, which is the vector of the detected moment detected by force detection unit 5, and each axis vector of the Cartesian coordinate system (A-axis vector 60A, B-axis vector 60B, C-axis vector 60C).

[0108] 9, the dot product of moment vector 61 and C-axis vector 60C is larger than the other dot products, so that control device 10 can easily estimate that the operator is trying to operate end effector 6 in the C-axis direction. In this case, control device 10 restricts the operation of end effector 6 so that operation around the A-axis direction and operation around the B-axis direction are not performed.

[0109] In this way, the control device 10 limits the operable direction in the detailed control mode to the rotation direction around any one of the X-axis, Y-axis, and Z-axis directions on a predefined Cartesian coordinate system. The control device 10 controls the robot 1 so that the rotation direction of the end effector 6 is closest to the direction of the moment detected by the force detection unit 5.

[0110] As described above, according to the second embodiment, the control device 10 switches the control mode based on the force information and the velocity information in the detailed control mode, and therefore, the same effects as those of the first embodiment can be obtained.

[0111] In addition, the control device 10 controls the robot 1 so that the direction of movement of the end effector 6 is the axial direction closest to the direction of the force detected by the force detection unit 5. Therefore, when the worker makes minute position adjustments, the robot can be controlled so that it does not move in an undesired direction, thereby improving workability.

[0112] In addition, the control device 10 controls the robot 1 so that the rotation direction of the end effector 6 is closest to the direction of the moment force detected by the force detection unit 5. Therefore, when the worker makes minute position adjustments, the robot 1 can be controlled so that the end effector 6 does not rotate in an undesired direction, thereby improving workability.

[0113] Embodiment 3 Next, a third embodiment will be described with reference to Fig. 10. In the third embodiment, the control device 10 controls the operation in the detailed control mode so that a predetermined minute amount of movement and a stop are repeated at a specific period, rather than performing the operation continuously.

[0114] Fig. 10 is a diagram for explaining the movement amount of the end effector in the detailed control mode controlled by the control device according to the embodiment 3. The horizontal axis of the graph shown in Fig. 10 represents time, and the vertical axis represents the movement amount of the end effector 6.

[0115] The control device 10 of the third embodiment controls the operation of the end effector 6 so as to repeatedly pause the end effector 6 and move the end effector 6, even when the worker continuously applies force to the end effector 6. In this case, the pause time for each pause is a fixed time, and the movement amount of the robot 1 for each pause is a fixed amount M1. Therefore, when the worker applies a fixed force to the end effector 6, a pause for a fixed time and movement at a fixed speed (movement by a fixed amount M1) are repeated.

[0116] The pause time and the movement time may be fixed. In this case, when the operator applies a constant force to the end effector 6, a stop for a fixed time and a movement at a constant speed (movement of a fixed amount M1) are repeated.

[0117] A constant amount M1, which is the amount of movement of the robot 1 per trip, can be set by the operator in the control device 10. In addition, the movement time of the robot 1 per trip can be set by the operator in the control device 10. In addition, the temporary stop time of the robot 1 per trip can be set by the operator in the control device 10.

[0118] When the movement amount per one time of the robot 1 is a fixed amount M1, the control device 10 generates an operation command based on the movement amount per one time of the robot 1 set by the worker. When the movement time per one time is a fixed time, the control device 10 generates an operation command based on the movement time per one time of the robot 1 set by the worker. When the pause time per one time is a fixed time, the control device 10 generates an operation command based on the pause time per one time of the robot 1 set by the worker.

[0119] Since the amount of movement of the end effector 6 is a constant amount M1, when the end effector 6 is operated at high speed, the movement time of the end effector 6 becomes short, and when the end effector 6 is operated at low speed, the movement time of the end effector 6 becomes long.

[0120] Furthermore, when the movement time of the end effector 6 is a constant time, if the end effector 6 is operated at high speed, the movement amount of the end effector 6 becomes large, and if the end effector 6 is operated at low speed, the movement amount of the end effector 6 becomes small.

[0121] The control device 10 may change the speed of the end effector 6 depending on the magnitude of the force on the end effector 6, or may keep the speed of the end effector 6 constant regardless of the magnitude of the force when the magnitude of the force on the end effector 6 is equal to or greater than a specific amount. When the control device 10 controls the speed of the end effector 6 to be constant, the end effector 6 will repeatedly move only a predetermined small amount.

[0122] 10 shows a case where the operator starts to apply a continuous force to the end effector 6 at time T3. In this case, the control device 10 moves the end effector 6 for a period from time T3 until the end effector 6 moves a fixed amount M1 (the period from time T3 to time T4), and stops the end effector 6 at time T4 when the fixed amount M1 has been moved. The control device 10 temporarily stops the end effector 6 for a fixed period from time T4 (the period from time T4 to time T5), and releases the temporary stop at time T5.

[0123] Then, if the application of force to the end effector 6 continues, the control device 10 moves the end effector 6 for a period from time T5 until the end effector 6 moves a fixed amount M1 (the period from time T5 to time T6), and stops the end effector 6 at time T6 when the fixed amount M1 has been moved. The control device 10 temporarily stops the end effector 6 for a fixed period of time from time T6 (the same period of time as the period from time T3 to time T4), and then releases the temporary stop.

[0124] When the magnitude of the force applied to the end effector 6 is constant, the amount of movement of the end effector 6 from time T3 to time T4 and the amount of movement of the end effector 6 from time T5 to time T6 are a constant amount M1.

[0125] In this way, the control device 10 repeatedly moves and stops the end effector 6 even when a continuous force is applied to the end effector 6. Fig. 10 shows a case where the pause time and movement time are fixed. In this case, the movement and stop of the end effector 6 are repeated at a fixed period (specific period) Tx. The fixed period Tx is the time from time T3 to time T5.

[0126] By setting the amount of movement to a small value, the control device 10 can easily achieve fine position adjustment and minute attitude adjustment in units of the amount of movement.

[0127] Thus, according to the third embodiment, the control device 10 controls the movement of the end effector 6 so that minute movements and stops are repeated at a constant period Tx. This enables fine position adjustment in fixed amount increments without compromising the convenience of direct teach, in which the end effector 6 continues to move in the direction in which a force is applied.

[0128] Here, the hardware configuration of the control device 10 will be described. Fig. 11 is a diagram showing an example of a hardware configuration for realizing the control device according to the first to third embodiments. The control device 10 can be realized by an input device 300, a processor 100, a memory 200, and an output device 400. An example of the processor 100 is a CPU (Central Processing Unit, also called a central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, or DSP (Digital Signal Processor)) or a system LSI (Large Scale Integration). An example of the memory 200 is a RAM (Random Access Memory) or a ROM (Read Only Memory).

[0129] The control device 10 is realized by the processor 100 reading and executing a computer-executable control program for executing the operation of the control device 10 stored in the memory 200. The control program, which is a program for executing the operation of the control device 10, can also be said to cause a computer to execute the procedure or method of the control device 10.

[0130] The control program executed by the control device 10 has a modular configuration including an external force calculation unit 11, a control mode determination unit 12, an operation command generation unit 13, a setting unit 14, and an attitude calculation unit 17, and these components are loaded onto the main memory device and generated on the main memory device.

[0131] The input device 300 receives the force and moment detected by the force detection unit 5 from the force detection unit 5 and sends them to the processor 100. In addition, the input device 300 receives the position, orientation, velocity, and angular velocity detected by the position detection unit 4 from the position detection unit 4 and sends them to the processor 100.

[0132] The memory 200 stores a force judgment value V1, a speed judgment value V2, a speed limiter V3, etc. The memory 200 is also used as a temporary memory when the processor 100 executes various processes. The output device 400 outputs a control operation to the robot 1.

[0133] The control program may be provided as a computer program product in the form of an installable or executable file stored in a computer-readable storage medium. The control program may also be provided to the control device 10 via a network such as the Internet. Note that some of the functions of the control device 10 may be realized by dedicated hardware such as a dedicated circuit, and some may be realized by software or firmware.

[0134] Note that the hardware configuration of some of the components included in the control device 10 may be the hardware configuration shown in FIG.

[0135] The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies, or the embodiments may be combined with each other. Also, parts of the configurations may be omitted or modified without departing from the spirit of the invention. [Explanation of symbols]

[0136] 1 robot, 2 robot system, 3 actuator, 4 position detection unit, 5 force detection unit, 6 end effector, 7 robot control point, 10 control device, 11 external force calculation unit, 12 control mode determination unit, 13 motion command generation unit, 14 setting unit, 15 memory unit, 16 display unit, 17 attitude calculation unit, 21 to 24 position, 30 workpiece, 50X X-axis vector, 50Y Y-axis vector, 50Z Z-axis vector, 51 force vector, 60A A-axis vector, 60B B-axis vector, 60C C-axis vector, 61 moment vector, 100 processor, 200 memory, 300 input device, 400 output device, M1 constant amount, T1 to T6 time, Tx constant period, V1 force judgment value, V2 speed judgment value, V3 speed limiter.

Claims

1. an external force calculation unit that calculates force information, which is information on the force and moment applied to the robot by an operator, based on the force and moment applied to the robot by the operator and the position and posture of a robot control point, which is a control point on the robot by the operator; a control mode determination unit which determines whether to select a normal control mode in which the robot is controlled so that the robot moves faster as the force and moment of the force information are larger, or a detailed control mode in which the robot is controlled while restricting at least one of the motion speed and motion direction of the robot, based on velocity information which is information on the velocity or angular velocity of the robot and the force information, and which determines a control mode suitable for the estimated operation; an operation command generating unit that generates an operation command corresponding to the normal control mode when the normal control mode is selected and outputs the operation command to the robot, and that generates an operation command corresponding to the detailed control mode when the detailed control mode is selected and outputs the operation command to the robot; Equipped with A control device comprising:

2. When the detailed control mode is selected, the motion command generation unit generates the motion command to restrict the motion in one or two of an X-axis direction, a Y-axis direction, and a Z-axis direction on a predefined Cartesian coordinate system as the restriction on the motion direction. The control device according to claim 1 .

3. the motion command generation unit generates the motion command permitting motion in an axial direction closest to a direction of a force applied to the robot by the worker.

3. The control device according to claim 2.

4. When the detailed control mode is selected, the motion command generation unit generates the motion command to restrict, as the restriction of the motion direction, the motion in one or two of an A-axis direction, a B-axis direction, and a C-axis direction that rotate around an X-axis direction, a Y-axis direction, and a Z-axis direction on a predefined Cartesian coordinate system. The control device according to claim 1 .

5. the motion command generation unit generates the motion command permitting motion in an axial direction closest to a direction of a moment applied to the robot by the worker.

5. The control device according to claim 4.

6. The control device generates the operation command based on a Cartesian coordinate system set by the operator.

3. The control device according to claim 2.

7. the motion command generating unit generates the motion command for repeating movement and pausing of the robot when the detailed control mode is selected; 7. A control device according to claim 1, wherein the control device is a control unit.

8. The pause time is a fixed time when the detailed control mode is selected. The control device according to claim 7 .

9. the control device generates the operation command based on a duration of a single pause of the robot set by the worker. The control device according to claim 8 .

10. When the detailed control mode is selected, the time for each movement of the robot is a fixed time, the motion command generating unit generates the motion command for repeating movement and pausing of the robot at a specific cycle when the detailed control mode is selected; The control device according to claim 7 .

11. the control device generates the operation command based on a time period for one movement of the robot set by the worker. The control device according to claim 10 .

12. When the detailed control mode is selected, the amount of movement of the robot per one movement is a fixed amount. The control device according to claim 7 .

13. the control device generates the operation command based on a movement amount per one movement of the robot set by the worker. The control device according to claim 12 .

14. A robot and a control device that controls the robot; having The control device includes: an external force calculation unit that calculates force information, which is information on the force and moment applied to the robot by the worker, based on the force and moment applied to the robot by the worker and the position and posture of a robot control point, which is a control point on the robot by the worker; a control mode determination unit which determines whether to select a normal control mode in which the robot is controlled so that the robot moves faster as the force and moment of the force information are larger, or a detailed control mode in which the robot is controlled while restricting at least one of the motion speed and motion direction of the robot, based on velocity information which is information on the velocity or angular velocity of the robot and the force information, and which determines a control mode suitable for the estimated operation; an operation command generating unit that generates an operation command corresponding to the normal control mode when the normal control mode is selected and outputs the operation command to the robot, and that generates an operation command corresponding to the detailed control mode when the detailed control mode is selected and outputs the operation command to the robot; Equipped with A robot system comprising:

15. an external force calculation step in which a control device that controls a robot calculates force information that is information on the force and moment applied to the robot by the worker, based on the force and moment applied to the robot by the worker and the position and posture of a robot control point that is a control point on the robot by the worker; a control mode determination step in which the control device estimates the operator's intention to operate based on velocity information, which is information on the velocity or angular velocity of the robot, and the force information, to determine whether to select a normal control mode in which the control device controls the robot so that the robot operates faster as the force and moment of the force information become larger, or a detailed control mode in which the control device controls the robot while restricting at least one of the motion speed and motion direction of the robot, and determines a control mode suitable for the estimated operation; an operation command generating step in which, when the normal control mode is selected, the control device generates an operation command corresponding to the normal control mode and outputs the operation command to the robot, and, when the detailed control mode is selected, the control device generates an operation command corresponding to the detailed control mode and outputs the operation command to the robot; Including, A control method comprising: