Control device, robot system and control method
The control device addresses the challenge of inaccurate mode switching in robot teaching by using force and velocity information to automatically adjust between normal and precise modes, ensuring accurate and intended control.
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- MITSUBISHI ELECTRIC CORP
- Filing Date
- 2023-06-27
- Publication Date
- 2026-05-21
AI Technical Summary
Existing robot control systems face challenges in quickly and accurately switching between control modes based on operator intent, leading to inaccurate teaching due to unintended mode changes, especially when force magnitude decreases momentarily.
A control device that includes a computation unit to calculate force and moment information, a control mode determination unit to switch between normal and precise control modes based on velocity and force information, and a motion command generation unit to generate appropriate commands for the robot, allowing automatic mode switching aligned with operator intent.
Enables highly accurate teaching by automatically adjusting control modes to match operator intent, preventing unintended mode switches and ensuring precise position adjustments.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Area
[0001] The present disclosure relates to a control device, a robot system and a control method for controlling the movement of a robot. background
[0002] There is a technique for generating a control program to control the movement of a robot, in which an operator controls the robot and determines the position and orientation of a control point on the robot relative to a workpiece. This work performed by the operator is called teaching work. A method called direct teaching is known as a function designed to simplify robot operation during teaching work. In direct teaching, an operator directly touches a robot arm and applies a force in the direction in which the operator wants the robot to move. The operator thus causes the robot to move in the direction in which the force was applied and causes the robot to move to the position to be taught. This direct teaching allows an operator to control the robot intuitively.Therefore, direct teaching is widely used for the operation of a cooperative robot or similar device.
[0003] With direct teaching, an operator can intuitively control a robot, but highly precise position adjustment is difficult. For example, if an operator wants to move an end effector by approximately 0.1 mm in the Z-axis direction only, to fine-tune the height of the end effector mounted at the end of the robot, the operator must apply a slight force only in the Z-axis direction, without generating any force in the X- or Y-axis directions. The operator is thus forced to precisely control both the direction and magnitude of the force.
[0004] A control device described in patent literature 1 proposes a high-precision position setting method which allows the automation of switching between control modes by providing a first control mode in which normal control is performed and a second control mode in which precise position setting is performed, wherein the second control mode is selected in a case in which the duration of a force of a magnitude equal to or greater than a force threshold is less than a duration threshold, and wherein the first control mode is selected in a case in which the duration of the force is equal to or greater than the duration threshold. List of patent literature
[0005] Patent literature 1: Published Japanese patent application no. 2019 - 202 364 Overview of the invention Problem to be solved by the invention
[0006] However, in the technique described above in patent literature 1, the control modes cannot be switched quickly at a time intended by the operator. Furthermore, the control modes are switched even if the magnitude of the force only decreases momentarily. Therefore, the technique described in patent literature 1 has a problem in that the control device switches to a control mode at a time not intended by the operator, and highly accurate teaching cannot be easily achieved at that time.
[0007] The present disclosure was made in consideration of the above statements, and one objective of the present disclosure is to obtain a control device that makes highly accurate teaching easily achievable. Means to solve the problem
[0008] To solve the problems described above and to achieve the objective, a control device according to the present disclosure comprises: a computation unit for an external force to calculate force information based on a force and moment exerted on a robot by an operator and a position and orientation of a robot control point, wherein the force information is information about the force and moment exerted on the robot by the operator, and wherein the robot control point is a control point with respect to the control of the robot to be performed by the operator.The control device according to the present disclosure further comprises: a control mode determination unit for determining, based on velocity information and force information, whether to select a normal control mode or an exact control mode, wherein the normal control mode is a mode for controlling the robot such that the robot moves faster the greater the force and torque specified by the force information, wherein the exact control mode is a mode for controlling the robot by limiting a speed and / or direction of movement of the robot, wherein the velocity information is information about a speed or angular velocity of the robot.The control device according to the present disclosure further comprises: a motion command generation unit to generate a motion command corresponding to the normal control mode and to output the motion command to the robot when the normal control mode is selected, and to generate a motion command corresponding to the exact control mode and to output the motion command to the robot when the exact control mode is selected. Effects of the invention
[0009] The control device according to the present disclosure has an effect such that highly accurate teaching is easily achieved. Brief description of the characters Fig. Figure 1 is a diagram showing a configuration of a control device according to a first embodiment. Fig. Figure 2 is a diagram showing a configuration of a robot system that includes the control device according to the first embodiment. Fig. Figure 3 is a diagram to describe the movement of an end effector that is performed when the control device according to the first embodiment provides a normal control mode. Fig. Figure 4 is a diagram describing the movement of the end effector that is executed when the control device according to the first embodiment provides an accurate control mode. Fig. Figure 5 is a flowchart showing a processing procedure for a processing operation to be performed by the control device according to the first embodiment in a direct teaching control mode. Fig. Figure 6 is a diagram describing an example of a control mode to be selected by the control device according to the first embodiment for a first example of force information and velocity information. Fig. Figure 7 is a diagram describing an example of a control mode to be selected by the control device according to the first embodiment for a second example of force information and velocity information. Fig. Figure 8 is a diagram for describing a direction of motion to be selected by a control device according to a second embodiment, based on the direction of a force vector detected by a force detection unit during an accurate control mode. Fig. Figure 9 is a diagram for describing a direction of motion to be selected by a control device according to a second embodiment, based on the direction of a moment vector detected by a force detection unit during an accurate control mode. Fig. Figure 10 is a diagram for describing a quantity of the movement of an end effector during a precise control mode, which is to be controlled by a control device according to a third embodiment. Fig. Figure 11 is a diagram showing an exemplary hardware configuration for implementing the control devices according to the first to third embodiments. Description of embodiments
[0010] A control device, a robot system and a control method according to embodiments of the present disclosure are described in detail below with reference to the drawings. First embodiment
[0011] Fig. Figure 1 is a diagram showing a configuration of a control device according to a first embodiment. A control device 10 is a device that controls the movement of a robot (the robot 1 described below). The control device 10 controls an actuator 3, which is described below, to cause the robot 1 to perform a desired movement.
[0012] The control device 10 controls the robot 1 in a position control mode or a direct teaching control mode. The position control mode is a control mode for controlling the robot 1 in accordance with a position command. The direct teaching control mode is a control mode in which an operator manually acts on the robot 1 by directly applying an external force to an end effector 6, as described below, or to something equivalent that the robot 1 comprises. The operator applies the force to a movable part of the robot 1.
[0013] It should be noted that a control point (the robot control point 7 described below), which is a position where the operator applies the external force, is not limited to the end effector 6 and can be located at any position, such as on an arm area of a robot arm or a joint area of the robot arm.
[0014] The direct teaching control mode further comprises a normal control mode, which is described below, and a precise control mode, which is also described below. The operator can teach the control device 10 a position at which the robot 1 works, in which direct teaching is performed.
[0015] The following description mainly describes the direct teaching control mode. In the direct teaching control mode, the control device 10 of the first embodiment automatically switches between the normal control mode and the precise control mode, in accordance with the intention of the operator.
[0016] In direct teaching control mode, the control device 10 generates a motion command to move the robot 1 to a position to which the operator has moved the robot 1 based on the operator's manual actuation of the robot 1. The motion command generated by the control device 10 is a command to control the movement of the robot 1. After generating a motion command, the control device 10 controls the position of the robot 1 in accordance with the motion command. As described above, the control device 10 controls the robot 1 using the motion command generated in direct teaching control mode.
[0017] The control device 10 is connected to a force detection unit 5 and a position detection unit 4. The control device 10 comprises a calculation unit for an external force 11, a control mode determination unit 12, a motion command generation unit 13, a setting unit 14, a storage unit 15, a display unit 16, and a position calculation unit 17.
[0018] The force detection unit 5 is, for example, arranged between one end of a robot arm of the robot 1 and the end effector 6. The force detection unit 5 is a sensor that measures the force and torque exerted on the end effector 6. The force detection unit 5 transmits the measured force and torque to the control device 10. In this way, the force detection unit 5 detects the external force exerted on the end effector 6 and transmits the external force to the control device 10.
[0019] It should be noted that the force detection unit 5 can directly measure the force and torque acting on the end effector 6 using a six-axis force sensor that measures force and torque, or it can measure the force and torque in another way. The force detection unit 15 can measure the force and torque by calculating a force acting on the end of the robot 1's arm, for example, using torque sensors attached to all of the robot 1's joints.
[0020] The position detection unit 4 is, for example, arranged on a joint area of the robot arm of the robot 1. The position detection unit 4 is a sensor that detects a rotation angle of the actuator 3, as described below, and is attached to a joint area. The rotation angle detected by the position detection unit 4 is used for feedback control of the actuator 3 and is sent to the control device 10.
[0021] The position calculation unit 17 calculates the position and orientation of the robot control point 7, which is a point of operation for the robot, by performing a calculation using forward kinematics of the rotation angles detected by the position detection unit 4. The robot control point 7 is a point that must be moved by the operator during direct teaching. The control device 10 generates a control program based on the position of the robot control point 7 taught by the operator.
[0022] The position calculation unit 17 can additionally calculate the velocity and angular velocity of the robot control point 7 based on the information (difference information) about a change in the calculated position and orientation of the robot control point 7.
[0023] In this way, the position calculation unit 17 calculates the position and orientation based on the calculated rotation angle and calculates a velocity, an angular velocity, an acceleration and an angular acceleration based on the information about the change in the calculated position and orientation.
[0024] The calculation unit for an external force 11 removes the influence of gravity, inertial force, centrifugal force, Coriolis force, and the like from the robot arm and calculates a force (external force) and a moment exerted by the operator on the end of the robot 1. This means that the calculation unit for an external force 11 calculates an operating force exerted by the operator based on the measured operating force.
[0025] A dynamic model used to calculate gravity, inertial force, centrifugal force, Coriolis force, and the like is stored in memory unit 15. The external force calculation unit 11 calculates the actuating force exerted by the operator using the dynamic model read from memory unit 15. Specifically, the external force calculation unit 11 calculates the force and torque exerted on the end of the robot 1 by applying the force and torque detected by force detection unit 15, the position, orientation, velocity, and angular velocity calculated by position calculation unit 17, and the acceleration and angular acceleration calculated by the external force calculation unit 11 to the dynamic model.
[0026] In a case where the operator does not exert any force on robot 1, a force and moment detectable based on the robot 1's movement (orientation, torque, and the like) are presumably essentially equivalent to a force and moment detected using a sensor. Therefore, if the force and moment detectable based on the robot 1's movement differ from the force and moment detected using the sensor, the difference is assumed to be the actuating force exerted by the operator.Therefore, the calculation unit for an external force 11 can calculate the actuating force exerted by the operator, based on the difference between the force and the moment to be detected based on the movement of the robot 1 and the force and the moment detected using the sensor.
[0027] Note that in the following description, the force and torque detected by the force detection unit 5 can be referred to as a detection force and a detection torque, respectively. The calculation unit for an external force 11 transmits the calculated actuation force (force and torque exerted by the operator) to the control mode detection unit 12 and the motion command generation unit 13.
[0028] The control mode determination unit 12 determines a control mode in the direct teaching control mode based on the rate of change of the information detected by the position detection unit 4 and the actuation force (force information), which is assumed to be the force and torque calculated by the external force calculation unit 11. For example, velocity data indicating the speed of actuation of the actuator 3 serves as the rate of change information detected by the position detection unit 4. It should be noted that angular velocity data indicating the angular velocity of actuation of the actuator 3 can also serve as rate of change information. The velocity data corresponds to the rate of change of the position of the robot control point 7, and each element of the velocity data corresponds to the rate of change of the orientation of the robot control point 7.A control mode used by the control device 10 of the first embodiment in the direct teaching control mode is either the normal control mode or the exact control mode.
[0029] The normal control mode and the precise control mode will now be described. The normal control mode is a control mode for standard direct teaching control, intended for coarse adjustments to the position of robot 1. In the normal control mode, a feedback control system (force feedback control system and torque feedback control system) is established, which uses the force and torque exerted on robot 1 by the operator. In the normal control mode, robot 1 moves in the direction of the force and torque exerted on it, with a movement speed that increases as the force and torque increase.
[0030] The precise control mode is a control mode for direct teaching, intended for precise adjustments to the position of robot 1. In precise control mode, the speed and / or direction of movement of robot 1 are limited during direct teaching to enable precise position adjustments. This means that in precise control mode, an upper limit for the speed and / or an achievable axial direction is set for the control system in normal control mode. Thus, the speed is limited to a predetermined value, or the direction of movement is restricted to a predetermined direction.
[0031] The control mode determination unit 12 determines whether the normal control mode or the precise control mode is to be used. If it is determined that the robot 1 is to be controlled in the precise control mode, the control mode determination unit 12 determines an axis (hereinafter referred to as an actuable axis) to be actuated. The actuable axis is, for example, an axial direction in which the end effector 6 is moved. The actuable axis is, for example, an axial direction that allows the movement of the end effector 6. The control mode determination unit 12 transmits the result of the determination of an operating mode and the actuable axis to the motion command generation unit 13.
[0032] The motion command generation unit 13 generates a motion command (robot motion command) to be issued to the robot, based on the actuation force calculated by the external force calculation unit 11, and the control mode and the actuated axis determined by the control mode determination unit 12. In the control device 10, a force control system is implemented such that the robot 1 moves in a direction in which the actuation force cancels out.
[0033] In the normal control mode, which allows coarse adjustments to the position of the robot 1, the motion command generation unit 13 generates a motion command in such a way that the robot 1 moves faster the greater the force and torque exerted by the operator.
[0034] In the precise control mode, which allows precise adjustments of the position of the robot 1, the command generation unit 13 also generates a movement command in such a way that the movement speed and the operable axis direction are limited, regardless of the magnitude of the force and the torque exerted by the operator.
[0035] The operator can preset the upper limit of the movement speed and the actuable axis (actuable direction) in precise control mode. These upper limits are registered in memory unit 15 via setting unit 14. The motion command generation unit 13 generates a motion command in precise control mode based on the upper limit of the movement speed and / or the actuable axis registered in memory unit 15. As a result, the robot 1's movement speed and direction are restricted in precise control mode.
[0036] The axial direction operable in precise control mode is one direction, or two directions, selected from an X-axis, a Y-axis, and a Z-axis. For example, if the X-axis is an axis operable in precise control mode, the control device 10 causes the robot 1 to move only in a direction parallel to the X-axis and does not allow the robot 1 to move in the Y-axis or Z-axis direction, even if a force applied to the robot 1 includes a force in the Y-axis direction and a force in the Z-axis direction. This means that when the X-axis is the axis operable in precise control mode, the control device 10 extracts only a force in the X-axis direction from the force applied to the robot 1 and causes the robot 1 to move in the X-axis direction.
[0037] Furthermore, if the X-axis direction and the Y-axis direction are the two axis directions that can be actuated in the exact control mode, the control device 10 causes the robot 1 to move in a plane parallel to the XY plane, and it does not allow the robot 1 to move in the Z-axis direction, even if the force exerted on the robot 1 includes a force in the Z-axis direction.
[0038] It should be noted that a Cartesian coordinate system (orthogonal coordinate system), defined by the X-axis, Y-axis, and Z-axis directions, can be defined in a desired manner. The operator can pre-set the Cartesian coordinate system to be a world coordinate system, a tool coordinate system attached to a robot arm, a workpiece coordinate system linked to a target workpiece (workpiece 30, described below), or similar. The tool coordinate system is a coordinate system in which the position of a tool attached to the end of the robot arm is defined as the origin. The workpiece coordinate system is a coordinate system in which the position of the placed workpiece is defined as the origin.
[0039] In precise control mode, the control device 10 causes the end effector 6 to move only in an axial direction preset by the operator within a coordinate system preset by the operator. As described above, when restricting the direction of movement in precise control mode, the control device 10 limits the actuable direction to a direction parallel to the X-axis, the Y-axis, and / or the Z-axis in a predefined Cartesian coordinate system.
[0040] It should be noted that the control device 10 can cause the end effector 6 to move only in a preset axial direction, which is an axial direction selected from an A-axis direction around the X-axis direction, a B-axis direction around the Y-axis direction, and a C-axis direction around the Z-axis direction as the Cartesian coordinate system. The control device 10 can cause the end effector 6 to move only in a direction parallel to one or two axes selected from the A-axis direction, the B-axis direction, and the C-axis direction. This means that the control device 10 can restrict the direction of movement to, for example, a rotational direction around the X-axis direction, the Y-axis direction, or the Z-axis direction in the predetermined Cartesian coordinate system.
[0041] In precise control mode, the motion command generation unit 13 reads the upper limit of the movement speed and the actuable axis (which is the actuable axial direction) from the memory unit 15. In precise control mode, the motion command generation unit 13 then generates a motion command to move the robot control point 7 in an axial direction of the actuable axis at a movement speed lower than the upper limit of the movement speed read from the memory unit 15.
[0042] The setting unit 14 receives various control settings, which are used for the control system, sent from, for example, an external terminal device, and sets these control settings as information for the control system. For example, the setting unit 14 receives control settings from an external terminal device or the like, which were entered into the external terminal device or the like by the operator, and sets these control settings as information for the control system. The setting unit 14 receives the control settings from the external terminal device or the like whenever the information for the control system has changed. The setting unit 14 stores the information for the control system in the memory unit 15 or the like.
[0043] The memory unit 15 stores physical information relating to the dynamic model of the robot 1 and various types of information (control settings and the like) to be used for control. Examples of the information stored in the memory unit 15 include information on a coordinate system to be used by the control device 10, and information on the upper limit of the movement speed and the actuable axis in the precise control mode.
[0044] The display unit 16 shows information that is to be used by the control device 10. It should be noted that the display unit 16 need not be included in the constituent elements of the control device 10. In this case, the display unit 16 is arranged outside the control device 10 and connected to it.
[0045] As described above, the control device 10 according to the first embodiment switches between the normal control mode and the precise control mode on the basis of the force information (force and moment as calculated by the computation unit for an external force 11), which is the actuating force exerted by the operator, and the rate of change (velocity data or angular velocity data) with respect to the position or orientation of the robot control point 7.
[0046] Fig. Figure 2 is a diagram showing a configuration of a robot system that includes the control device according to the first embodiment. A robot system 2 comprises the robot 1 and the control device 10. In the robot system 2, the control device 10 is connected to the robot 1, and the control device 10 controls the robot 1.
[0047] Robot 1 has several joints. Robot 1 includes actuator 3 and position detection unit 4, which is provided at each joint. The control device 10 controls the position of robot 1 by actuating actuator 3 based on a position, orientation, velocity, and angular velocity detected by position detection unit 4. Robot 1 also includes force detection unit 5 at the end of the robot arm. Furthermore, robot 1 includes end effector 6, such as a hand, located at the end of force detection unit 5. Robot control point 7 is located at, for example, any position on the end effector 6. The robot control point 7 can be changed by the operator as desired. The control device 10 controls robot 1 into direct teaching mode based on the robot control point 7 set by the operator.
[0048] When the robot 1 is controlled in the direct teaching control mode, the control device 10 switches the control mode to the normal control mode or the exact control mode by using the force information (detection force and detection torque) as detected by the force detection unit 5 and the rate of change information (velocity and angular velocity) as detected by the position detection unit 4.
[0049] Now, the movement of end effector 6 to be performed when the normal control mode is set, and the movement of end effector 6 to be performed when the precise control mode is set, will be described. Fig. Figure 3 is a diagram describing the movement of the end effector to be performed when the control device according to the first embodiment provides the normal control mode.
[0050] The normal control mode is used when making rough adjustments to the position of robot 1. When teaching the position of the end effector 6, the operator may, in some cases, move the end effector 6 with considerable force or at high speed. Fig. Figure 3 shows a case where the operator moves the end effector 6 with a large force or at a high speed from position 21 to position 22, which is a position close to a position where the workpiece 30 is located.
[0051] Fig. Figure 4 is a diagram describing the movement of the end effector to be executed when the control device according to the first embodiment provides the exact control mode. Fig. 4 is the X-axis direction as a direction perpendicular to a plane of Fig. 4 is defined, and the Y-axis direction and the Z-axis direction are defined as two directions that lie in the plane of the Fig. 4 are perpendicular to each other. The precise control mode is a control mode to be used when the position of robot 1 is precisely set.
[0052] When teaching the position of the end effector 6, the operator may in some cases move the end effector 6 with a small force and at a low speed. Fig. Figure 4 shows a case in which the operator moves the end effector 6 from position 23 to position 24 with a small force and a small speed, where the workpiece 30 is located.
[0053] The teaching task to be performed by robot 1 can be roughly divided into a task to move the end effector 6 to the vicinity of a teaching position (hereinafter referred to as a large-scale movement task), as in Fig. 3 shown, and a job for making small adjustments to the exact position of the end effector 6 (hereinafter referred to as small movement work), as in Fig. Figure 4 shows the operation can be divided into two modes. When the operator performs large-movement work, the end effector 6 is moved with a large force or at a high speed, so the control device 10 selects the normal control mode. Conversely, when the operator performs small-movement work, the end effector 6 is moved with a small force at a small speed, so the control device 10 selects the precise control mode.
[0054] The control device 10 uses the normal control mode when the force information exerted on the end effector 6 by the operator is greater than a certain value (force determination value to be described below), or when the velocity information for the end effector 6 moved by the operator is greater than a certain value (velocity determination value to be described below). In this case, the control device 10 causes the end effector 6 to move in the direction of the force exerted on the end effector 6 at a velocity or angular velocity corresponding to the magnitude of the force.
[0055] The control device 10 uses the precise control mode when the force information applied by the operator to the end effector 6 is equal to or less than the force determination value, and the velocity information for the end effector 6 being moved by the operator is equal to or less than the velocity determination value. In this case, the control device 10 limits the speed and / or direction of movement of the end effector 6.
[0056] The force and torque exerted by the operator on the end effector 6 serve as the force information to be used when the control device 10 determines whether to use the normal control mode or the precise control mode. Therefore, the force determination value includes information on a reference value for force and information on a reference value for torque.
[0057] The control device 10 determines that the force information is greater than the force determination value if at least one of the following conditions is met: the force exerted by the operator on the end effector 6 is greater than the reference value of the force, and the moment exerted by the operator on the end effector 6 is greater than the reference value of the moment.
[0058] Furthermore, the control device 10 determines that the force information is equal to or less than the force determination value if the force exerted by the operator on the end effector 6 is equal to or less than the reference value of the force, and the moment exerted by the operator on the end effector 6 is equal to or less than the reference value of the moment.
[0059] The velocity and angular velocity of the end effector 6, which is moved by the operator, serve as velocity information to be used when the control device 10 determines whether to use the normal control mode or the precise control mode. Therefore, the velocity determination value includes information on a reference value for velocity and information on a reference value for angular velocity.
[0060] The control device 10 determines that the speed information is greater than the speed determination value if at least one of the following conditions is met: the speed of the end effector 6, which is moved by the operator, is greater than the reference value of the speed, and the angular velocity of the end effector 6, which is moved by the operator, is greater than the reference value of the angular velocity.
[0061] Furthermore, the control device 10 determines that the speed information is equal to or less than the speed determination value if the speed of the end effector 6, which is moved by the operator, is equal to or less than the reference value of the speed information and the angular velocity of the end effector 6, which is moved by the operator, is equal to or less than the reference value of the angular velocity.
[0062] As described above, the control device 10 uses the normal control mode when any of the following conditions C1 to C4 are met. (C1) the force exerted on the end effector 6 is greater than the reference value of the force (C2) the moment exerted on the end effector 6 is greater than the reference value of the moment (C3) the velocity of the end effector 6 is greater than the reference value of the velocity (C4) the angular velocity of the end effector 6 is greater than the reference value of the angular velocity
[0063] The control device 10, on the other hand, uses the exact control mode when all of the following conditions C5 to C8 are met. (C5) the force exerted on the end effector 6 is equal to or less than the reference value of the force (C6) the moment exerted on the end effector 6 is equal to or less than the reference value of the moment (C7) the velocity of the end effector is equal to or less than the reference value of the velocity (C8) the angular velocity of the end effector 6 is equal to or less than the reference value of the angular velocity
[0064] Fig. Figure 5 is a flowchart showing a processing procedure for a process to be performed by the control device according to the first embodiment in direct teaching control mode. A selection process is now described by which the control device determines whether the normal control mode or the exact control mode is selected in direct teaching control mode.
[0065] The calculation unit for an external force 11 of the control device 10 receives a detection force and a detection torque from the force detection unit 5, which are detected by the force detection unit 5. In addition, the calculation unit for an external force 11 receives a position, an orientation, a velocity, and an angular velocity from the position detection unit 4, which are detected by the position detection unit 4.
[0066] The external force calculation unit 11 calculates a force and moment exerted by the operator on the end effector 6, based on the force and moment measured by the detection unit 5, the position, orientation, velocity, and angular velocity detected by the position detection unit 4, and a dynamic model. The external force calculation unit 11 sends force information (actuating force), specifying the calculated force and moment, to the control mode determination unit 12. Additionally, the external force calculation unit 11 sends velocity information, specifying the velocity and angular velocity, to the control mode determination unit 12.
[0067] The control mode determination unit 12 determines whether the velocity information is greater than the velocity determination value (step S10). This means that the control mode determination unit 12 determines whether the velocity of the end effector 6, which is moved by the operator, is greater than the reference value of the velocity, or whether the angular velocity of the end effector 6, which is moved by the operator, is greater than the reference value of the angular velocity.
[0068] If it is determined that the velocity information is greater than the velocity determination value (step S10, yes), the control mode determination unit 12 selects the normal control mode as the control mode (step S20). The control mode determination unit 12 notifies the motion command generation unit 13 that the normal control mode has been selected. As a result, the motion command generation unit 13 executes the control in accordance with the normal control mode. This means that the motion command generation unit 13 generates a motion command such that the robot 1 moves faster the greater the force and torque exerted by the operator.
[0069] While the motion command generation unit 13 executes the control in accordance with the normal control mode, the control mode determination unit 12 determines whether the velocity information is greater than the velocity determination value (step S10). If it is determined that the velocity information is equal to or less than the velocity determination value (step S10, no), the control mode determination unit 12 determines whether the force information is greater than the force determination value (step S30). This means that the control mode determination unit 12 determines whether the force exerted by the operator on the end effector 6 is greater than the reference value of the force, or whether the torque exerted by the operator on the end effector 6 is greater than the reference value of the torque.
[0070] If it is determined that the force information is greater than the force determination value (step S30, yes), the control mode determination unit 12 selects the normal control mode as the control mode (step S20). The control mode determination unit 12 notifies the motion command generation unit 13 that the normal control mode has been selected. As a result, the motion command generation unit 13 performs the control in accordance with the normal control mode.
[0071] If, however, it is determined that the force information is equal to or less than the force determination value (step S30, no), the control mode determination unit 12 selects the exact control mode as the control mode (step S40). The control mode determination unit 12 notifies the motion command generation unit 13 that the exact control mode has been selected. As a result, the motion command generation unit 13 executes the control in accordance with the exact control mode. This means that the motion command generation unit 13 controls the movement of the end effector 6, with the upper limit of the movement speed and the actuable axial direction being limited. The control device 10 repeats the processing of steps S10 to S40.
[0072] As described above, the control device 10 automatically switches from direct teaching control mode to either normal control mode or precise control mode based on speed and force information. Thus, the control device 10 can automatically change the control mode in accordance with the operator's intent. Therefore, the operator does not need to switch the control mode manually.
[0073] Now, an example of the force information and the velocity information to be used in the case of large-scale work is described, as well as an example of the force information and the velocity information to be used in the case of small-scale work. Fig. Figure 6 is a diagram describing an example of a control mode to be selected by the control device according to the first embodiment for a first example of force information and velocity information. Fig. Figure 6 shows an example of changes in force information and changes in velocity information in a case where the end effector 6 is stationary and begins to move in response to an actuation applied by the operator, and then stops moving. The horizontal axis represents time in the lower graph and the upper graph, which are shown in Fig. 6 are shown. Furthermore, the vertical axis of the upper graph, which is shown in Fig. Figure 6 shows the force information, and the vertical axis of the lower graph, which is in Fig. Figure 6 represents the speed information.
[0074] Fig. Figure 6 shows a relationship between the force information, which corresponds to the force exerted on the robot 1 by the operator, the velocity information, which corresponds to the velocity of the robot control point 7, and a control mode to be selected during large-scale operations. When large-scale operations are performed, the operator must move the robot 1 significantly, so the operator wants to move the end effector 6 at a moderately high velocity. As a result, the force exerted on the end effector 6 inevitably increases. Although the control device 10 selects the precise control mode immediately after the start of the operation, the mode is therefore immediately switched to the normal control mode. This allows for stress-free movement.
[0075] This means that before and immediately after the large-scale movement work begins, the force information is equal to or less than a force determination value V1, and the velocity information is equal to or less than a velocity determination value V2. Thus, the control device 10 selects the appropriate control mode. If, after the large-scale movement work has begun, the force information exceeds the force determination value V1, or the velocity information exceeds the velocity determination value V2, the control device 10 then switches to the normal control mode. Fig. 6 represents the time T1, the time when the force information exceeds the force determination value V1 and the velocity information exceeds the velocity determination value V2.
[0076] Furthermore, it is also conceivable that the force exerted during operation in large-scale motion work only decreases momentarily, but since the velocity information follows changes in the force information and changes slowly relative to the changes in the force information, the control mode is not switched lightly.
[0077] When the operator then attempts to stop the end effector 6, the force information becomes equal to or less than the force determination value V1, and the velocity information becomes equal to or less than the velocity determination value V2. Fig. 6 represents time T2, the time at which the velocity information becomes equal to or less than the velocity determination value V2, after the force information becomes equal to or less than the force determination value V1. In this way, the control device 10 switches to the precise control mode when the force information becomes equal to or less than the force determination value V1 and the velocity information becomes equal to or less than the velocity determination value V2.
[0078] Fig. Figure 7 is a diagram describing an example of a control mode to be selected by the control device according to the first embodiment for a second example of force information and velocity information. Fig. Figure 7 shows an example of changes in force information and changes in velocity information in the precise control mode. The horizontal axis represents time in the upper and lower graphs. Fig. Figure 7 shows. Furthermore, the vertical axis of the upper graph, which is shown in Fig. Figure 7 shows the force information, and the vertical axis of the lower graph, which is in Fig. Figure 7 represents the speed information.
[0079] Fig. Figure 7 shows a relationship between the force information, which corresponds to the force exerted on the robot 1 by the operator, the velocity information, which corresponds to the velocity of the robot control point 7, and the precise control mode to be selected for small-movement work. When small-movement work is performed, the operator makes small adjustments to the position of the robot 1, meaning the operator wants to move the robot 1 slowly. As a result, the force to be exerted on the end effector 6 inevitably decreases. Therefore, the control device 10 selects the precise control mode in the case of small-movement work.
[0080] Fig. Figure 7 shows a state in which the force information is equal to or less than the force determination value V1, the velocity information is equal to or less than the velocity determination value V2, and the precise control mode has been selected. The control device 10 sets an upper limit for the movement speed while the precise control mode is selected. Fig. Figure 7 shows a case in which the control device 10 provides a speed limiter V3, which is the upper limit of the movement speed during the precise control mode. The speed limiter V3 is a value equal to or less than the speed determination value V2.
[0081] The control device 10 can be used for a direct teaching control system capable of adjusting the motion sensitivity to the force input. Since a force control system is implemented in the direct teaching control, the response sensitivity changes significantly depending on the force feedback gain. The external force multiplied by the gain (the value obtained by multiplying the external force by the gain) is then proportional to the velocity. Therefore, increasing the gain also increases the velocity even with a small force. In such a case, it is conceivable that the velocity could increase even though the actuation is performed with a small force; however, since the control device 10 sets an upper limit for the motion speed during the precise control mode, it is possible to prevent the control modes from being switched carelessly.
[0082] When the end effector 6 is moved to the target's teaching position by a rough movement, the operator, as described above, wants to move the end effector 6 with a relatively large force, so that the movement speed of the end effector 6 also increases. Conversely, when small position adjustments are made, the operator wants to move the end effector 6 with a relatively small force, so that the movement speed of the end effector 6 also decreases.
[0083] The control device 10 can therefore automatically switch the control mode to a control mode that corresponds to the operator's intention by switching the control mode based on the following exemplary control mode switching conditions. By using both the force information and the speed information, the control device 10 can also prevent the control mode from being switched carelessly, even if the force changes only momentarily during normal control mode. As a result, it is possible to prevent erroneous mode switching decisions. <Beispielhafte Steuermodusumschaltbedingungen>
[0084] Normal control mode: (F>3 Nm) or (V> 10 mm / s) more precisely control mode: (V≤10 mm / s) and (F≤3 Nm) It should be noted that here F denotes a force exerted by the operator, and V denotes a velocity of the robot control point 7.
[0085] With the configuration and operation of the control device 10 described above, it is possible to provide a user interface that allows the operator to select a control mode as intended.
[0086] As in Fig. As shown in Figure 6, force information can change rapidly. If the control modes are switched without considering the velocity information, the control modes will switch even if the force changes suddenly, leading to unstable control. Therefore, it is necessary to measure the force over a longer period to correctly determine the control mode switching, without considering the velocity information. In this case, there is a time delay between the application of a force and the switching of the control mode. As a result, the control cannot be executed in a suitable control mode corresponding to the magnitude of the force. This means that if the velocity information is not taken into account, it is necessary to use force change information over several cycles to stabilize the determination with regard to switching the control modes.Therefore, a time delay occurs when switching between control modes, and the control mode is not immediately switched to a control mode intended by the operator.
[0087] Since the control device 10 of the first embodiment sets the control mode to either the exact control mode or the normal control mode taking into account the speed information together with the force information, the robot 1 can, on the other hand, be controlled in a suitable control mode in accordance with the magnitude of the force.
[0088] As a result, the control device 10 can achieve highly accurate gauging even in direct gauging mode, and it can automatically switch to a control mode intended by the operator, thus improving operability. Furthermore, when the control device 10 is used, the operator does not need to switch control modes during direct gauging. This simplifies the operation of direct gauging and allows any operator to perform the operation intuitively.
[0089] Since the control device 10 of the first embodiment sets the normal control mode or the exact control mode based on the speed information and the force information, it is possible, as described above, to easily achieve highly accurate teaching. Second embodiment.
[0090] Now a second embodiment is described with reference to the Fig. 8 and Fig. 9 described. In the second embodiment, the control device 10 restricts a direction of movement during the precise control mode based on a direction of a detection force or detection torque as detected by the force detection unit 5.
[0091] Fig. Figure 8 is a diagram for describing a direction of motion to be determined by a control device according to the second embodiment on the basis of the direction of a force vector measured by a force detection unit during the precise control mode. Fig. 8 is an X-axis direction, defined as a direction perpendicular to a plane of Fig. 8 defined, and a Y-axis direction and a Z-axis direction are defined as two mutually perpendicular directions in the plane of the Fig. 8 defined. Fig. Figure 8 shows an image of a force applied to the end effector 6 in a Cartesian coordinate system during the precise control mode.
[0092] The control device 10 calculates an axial direction (X-axis direction, Y-axis direction, or Z-axis direction) of the Cartesian coordinate system in which an operator intends to move the robot control point 7, based on the direction of a detection force detected by the force detection unit 5. The control device 10 allows the end effector 6 to move only in the axial direction in which the operator wants to move the robot control point 7. This means that the control device 10 determines which direction from the X-axis, Y-axis, and Z-axis directions corresponds to the direction in which the operator wants to move the end effector, based on the direction of the detection force detected by the force detection unit 5 during precise control mode. The control device 10 then allows the end effector 6 to move only in the specified direction.
[0093] Fig. Figure 8 shows a case where the operator intends to move the end effector 6 in the Z-axis direction of a tool coordinate system. In this case, a force vector 51 that actually acts on the end effector 6 includes a small X-axis direction component and a small Y-axis direction component in the tool coordinate system.
[0094] The control device 10 determines an axial direction in which the operator wishes to move the end effector 6 by comparing the inner product of the force vector 51, which is a vector of the detection force determined by the force detection unit 5, with an axial vector (X-axis vector 50X, Y-axis vector 50Y, and Z-axis vector 50Z) of the Cartesian coordinate system. In particular, the control device 10 allows the movement of the end effector 6 only in the direction of an axial vector whose inner product is the largest of the inner products of the force vector 51 and the axial vector of the Cartesian coordinate system. As described above, the control device 10 can easily determine an axial direction in which the operator wishes to move the end effector 6 by comparing the inner products.
[0095] Since in the Fig. In the example shown in Figure 8, if an inner product of the force vector 51 and the Z-axis vector 50Z is larger than the other inner products, the control device 10 can easily determine that the operator wants to move the end effector 6 in the Z-axis direction. In this case, the control device 10 restricts the movement of the end effector 6 such that it does not move in the X-axis or Y-axis direction. As a result, the control device 10 can ensure that the end effector 6 moves in only one axial direction in accordance with the operator's input, thus enabling precise control in the precise control mode.
[0096] Note that the Cartesian coordinate system can be defined in a desired manner. The operator can select a world coordinate system, a tool coordinate system set for a robot hand, a workpiece coordinate system used for a target workpiece, or the like as the Cartesian coordinate system. The control device 10 determines an axial direction in which the operator wishes to initiate the movement of the end effector 6, based on a coordinate system defined by the operator.
[0097] Note that the axial direction in which the control device 10 causes the end effector 6 to move during precise control mode is not limited to a single direction; it can be two directions. This means that the control device 10 can cause the end effector 6 to move in the XY, YZ, and / or ZX plane during precise control mode. In other words, the control device 10 restricts movement in one or two directions from the X-axis, Y-axis, and Z-axis directions during precise control mode.
[0098] For example, the control device 10 determines whether the movement of the end effector 6 is to be effected in the XY plane, the YZ plane or the ZX plane, or whether the movement of the end effector is to be effected in the X-axis direction, the Y-axis direction or the Z-axis direction, based on the magnitude of a detection force in each axial direction as detected by the force detection unit 5.
[0099] For example, the X-axis, Y-axis, and Z-axis directions are defined as follows: a first axial direction is defined as the axial direction in which the greatest force is exerted, a second axial direction as the axial direction in which the second greatest force is exerted, and a third axial direction as the axial direction in which the least force is exerted. If the difference between the force exerted in the first axial direction and the force exerted in the second axial direction is equal to or less than a first threshold value, the control device 10, in this case, causes the end effector 6 to move only within a plane containing the first and second axial directions, and it does not cause the end effector 6 to move in other directions.If the difference between the force exerted in the first axial direction and the force exerted in the second axial direction is greater than the first threshold, the control device 10 in this case causes the end effector 6 to move only in the first axial direction, and it does not cause the end effector to move in other directions.
[0100] The control device 10 can further be configured such that, when the difference between the force exerted in the second axial direction and the force exerted in the third axial direction is equal to or greater than a second threshold, the control device 10 causes the end effector 6 to move only in the plane containing the first and second axial directions, and does not cause the end effector to move in other directions. If the difference between the force exerted in the second axial direction and the force exerted in the third axial direction is less than the second threshold, the control device 10, in this case, causes the end effector 6 to move only in the first axial direction, and does not cause the end effector 6 to move in other directions.
[0101] When restricting the direction of movement in the precise control mode, the control device 10, as described above, limits the actuable direction to a direction parallel to the X-axis, Y-axis, or Z-axis in a predefined Cartesian coordinate system. The control device 10 controls the robot such that the direction of movement of the end effector 6 is an axial direction that most closely corresponds to the direction of a force detected by the force detection unit 5.
[0102] Note that in the second embodiment, instead of the X-axis, Y-axis, and Z-axis directions in the Cartesian coordinate system, the control device 10 can use an A-axis direction (rotation about the X-axis), a B-axis direction (rotation about the Y-axis), and a C-axis direction (rotation about the Z-axis). Even when the axis directions are used around the axes, the control device 10 restricts the movement of the end effector 10 to movement in only one specific direction by performing the same processing as for the processing performed in the Cartesian coordinate system.
[0103] Fig. Figure 9 is a diagram for describing a direction of motion to be determined by the control device according to the second embodiment on the basis of the direction of a moment vector detected by the force detection unit during the precise control mode. Fig. 9 is the A-axis direction as a rotation axis direction in a direction perpendicular to a plane of the Fig. 9 defined, and the B-axis direction and the C-axis direction are defined as rotation axis directions in two directions that lie in the plane of the Fig. 9 are perpendicular to each other. Fig. Figure 9 shows an image of a moment exerted on the end effector 6 in the Cartesian coordinate system during the exact control mode.
[0104] The control device 10 calculates an axial direction (A-axis direction, B-axis direction, or C-axis direction) of the Cartesian coordinate system in which the operator intends to move the robot control point 7, based on the direction of a detection torque detected by the force detection unit 5. The control device 10 then causes the end effector 6 to move only in the axis direction in which the operator intends to move the robot control point 7. The control device 10 then allows the end effector 6 to move only in that specified direction.
[0105] Fig. Figure 9 shows a case where the operator intends to cause the end effector 6 to rotate in the C-axis direction (rotation about the Z-axis) of the tool coordinate system. In this case, a moment vector 61 that actually acts on the end effector 6 contains a small A-axis direction rotation component (rotation about the X-axis) and a small B-axis direction rotation component (rotation about the Y-axis of the tool coordinate system).
[0106] The control device 10 determines an axial direction in which the operator moves the motion of the end effector 6 by comparing the inner product of the moment vector 61, which is a vector of the detection moment detected by the force detection unit 5, with each axial vector (A-axis vector 60A, B-axis vector 60B and C-axis vector 60C) of the Cartesian coordinate system.
[0107] Since an inner product of the moment vector 61 with the C-axis vector 60C is larger than the other inner products, it can be in the Fig. In the example shown in Figure 9, the control device 10 can easily determine that the operator intends to initiate the movement of the end effector 6 in the C-axis direction. In this case, the control device 10 restricts the movement of the end effector 6 such that a movement performed with the A-axis direction as the axis of rotation is prevented, and a movement performed with the B-axis direction as the axis of rotation is prevented.
[0108] As described above, when restricting the direction of movement to the precise control mode, the control device 10 limits the actuating direction to a rotational direction about an axis that is the X-axis, Y-axis, and Z-axis direction in a predefined Cartesian coordinate system. The control device 10 controls the robot 1 such that the direction of rotation of the end effector 6 is a direction that is closest to the direction of the torque detected by the force detection unit 5.
[0109] Since the control device 10 switches between the control modes based on the force information and the speed information in the precise control mode, it is possible, as described above, according to the second embodiment to obtain an effect similar to that of the first embodiment.
[0110] Since the control device 10 controls the robot 1 in such a way that the direction of movement of the end effector 6 lies in the axial direction that is closest to the direction of the force detected by the force detection unit 5, it is also possible to implement the control in such a way that the robot 1 does not move in a direction in which the operator does not want the robot 1 to move when the operator makes small adjustments, which leads to improved work capability.
[0111] Since the control device 10 controls the robot 1 in such a way that the direction of rotation of the end effector 6 is a direction of rotation that is closest to the direction of a moment force detected by the force detection unit 5, it is also possible to carry out the control in such a way that the robot 1 does not rotate in a direction in which the operator does not want the movement of the robot 1 when the operator makes small position adjustments, which leads to an improvement in work capability. Third embodiment.
[0112] Now, with reference to Fig. 10 describes a third embodiment. In the third embodiment, the control device 10 performs a control such that the operation in the exact control mode is not carried out continuously, but a predetermined slight movement and a stop are repeated at a specific period.
[0113] Fig. Figure 10 is a diagram for describing the magnitude of the movement of an end effector during the precise control mode under the control of a control device according to a third embodiment. In the Fig. In the graphs shown, the horizontal axis represents time, and the vertical axis represents the magnitude of the movement of the end effector 6.
[0114] The control device 10 of the third embodiment controls the movement of the end effector 6 such that a temporary stop and subsequent movement of the end effector 6 are repeated, even if an operator continuously exerts a force on the end effector 6. In this case, the duration of the temporary stop is constant, and the magnitude of each movement of the robot 1 is a constant quantity M1. Therefore, if the operator exerts a constant force on the end effector 6, a stop for a certain duration and a movement at a constant speed (speed with the constant quantity M1) are repeated.
[0115] It should be noted that the duration of each temporary stop and the duration of each movement can be constant. Even in this case, a stop for a specific duration and a movement at a constant speed (movement of constant quantity M1) are repeated if the operator applies a constant force to the end effector 6.
[0116] The operator can set the constant value M1, which is the magnitude of each movement of the robot 1, in the control device 10. Furthermore, the operator can set the duration of each movement of the robot 1 in the control device 10. The operator can also set the duration of each temporary stop of the robot 1 in the control device 10.
[0117] If the magnitude of each movement of robot 1 is the constant value M1, the control device 10 generates a movement command based on the magnitude of each movement of robot 1 as set by the operator. If the duration of each movement is constant, the control device 10 also generates a movement command based on the duration of each movement of robot 1 as set by the operator. If the duration of each temporary pause is constant, the control device 10 further generates a movement command based on the duration of each temporary pause of robot 1 as set by the operator.
[0118] Since the magnitude of the movement of the end effector 6 is the constant quantity M1, the duration of the movement of the end effector 6 decreases when the end effector 6 is actuated at high speed, and the duration of the movement of the end effector 6 increases when the end effector 6 is actuated at low speed.
[0119] It should be noted that if the duration of the movement of the end effector 6 is constant, the magnitude of the movement of the end effector 6 increases when the end effector 6 is actuated at a high speed, and the magnitude of the movement of the end effector 6 decreases when the end effector 6 is actuated at a low speed.
[0120] The control device 10 can change the speed of the end effector 6 in accordance with the magnitude of a force exerted on the end effector 6, or it can maintain the speed of the end effector 6 at a constant value, regardless of the magnitude of the force exerted on the end effector 6, provided the magnitude of the force is equal to or greater than a certain value. In a case where the control device 10 controls the speed of the end effector 6 in such a way as to maintain the speed of the end effector 6 at a constant value, the end effector 6 repeats a predetermined slight movement.
[0121] Fig. Figure 10 shows a case in which the operator begins to apply a continuous force to the end effector at time T3. In this case, the control device 10 causes the end effector 6 to move for a duration (time between time T3 and time T4) from time T3 until the end effector 6 has moved by the constant quantity M1, and stops the end effector 6 at time T4, when it has completed the movement by the constant quantity M1. The control device 10 also temporarily stops the end effector 6 for a specific duration (time between time T4 and time T5) starting at time T4 and ends the temporary stop at time T5.
[0122] In a case where the force applied to the end effector 6 continues, the control device 10 then causes the end effector 6 to move for a duration (the time between time T5 and time T6) from time T5 until the end effector 6 has moved by the constant quantity M1, and stops the end effector 6 at time T6, at which point the end effector 6 has completed the movement by the constant quantity M1. The control device 10 also temporarily stops the end effector 6 for a specific duration (a duration equal to the time between time T3 and time T4) from time T6 and then ends the temporary stop.
[0123] If the magnitude of the force to be exerted on the end effector 6 is constant, then the magnitude by which the end effector 6 moves between time T3 and time T4, and the magnitude by which the end effector 6 moves between time T5 and time T6, are equal to the constant magnitude M1.
[0124] As described above, the control device 10 repeatedly causes the end effector 6 to move and stop, even when a force is continuously applied to the end effector 6. Fig. Figure 10 shows a case where the duration of each temporary stop and the duration of each movement are constant. In this case, the movement and stopping of the end effector 6 are repeated with a constant period (specific period) Tx. One time period of the constant period Tx corresponds to a time period between time T3 and time T5.
[0125] The control device 10 can easily implement fine position adjustments and fine orientation adjustments in units of motion quantities by setting the motion quantity to a small value.
[0126] Since the control device 10 controls the movement of the end effector 6 in such a way that the end effector 6 is repeatedly caused to move slightly with the constant period Tx, it is possible, as described above, according to the third embodiment, to make fine position adjustments in units of magnitude without compromising the convenience of direct teaching, in which the movement of the end effector 6 continues in a direction in which a force is applied.
[0127] Now, a hardware configuration of the control device 10 will be described. Fig. Figure 11 is a diagram showing an exemplary hardware configuration for implementing the control devices according to embodiments 1 to 3. The control device 10 can be implemented by an input device 300, a processor 100, a memory 200, and an output device 400. Examples of the processor 100 include a central processing unit (CPU) (also referred to as a processing device, arithmetic device, microprocessor, microcomputer, or digital signal processor (DSP)) and a low-level integration (LSI) system. Examples of the memory 200 include random-access memory (RAM) and read-only memory (ROM).
[0128] The control device 10 is implemented by the processor 100, which reads and executes a computer-executable control program to initiate the operation of the control device 10, the program being stored in the memory 200. In other words, the control program, which is a program that causes the control device 10 to operate, instructs a computer to execute a procedure or method for the control device 10.
[0129] The control program to be executed by the control device 10 has a modular configuration comprising the calculation unit for an external force 11, the control mode determination unit 12, the motion command generation unit 13, the setting unit 14 and the position calculation unit 17, and these constituent elements are loaded into and generated in a main memory device.
[0130] The input device 300 receives a force and a torque detected by the force detection unit 5 and sends the received force and torque to the processor 100. The input device 300 also receives a position, an orientation, a velocity, and an angular velocity detected by the position detection unit 4 and sends the position, orientation, velocity, and angular velocity to the processor 100.
[0131] Memory 200 stores the force setting value V1, the velocity setting value V2, the velocity limiter V3, and similar values. Memory 200 is also used as temporary memory when processor 100 performs different types of processing. Output device 400 sends a control action to robot 1.
[0132] The control program can be stored as a file in an installable or executable format on a computer-readable storage medium and provided as a computer program product. Alternatively, the control program of the control device 10 can be provided via a network, such as the Internet. It should be noted that some of the functions of the control device 10 may be implemented by dedicated hardware, such as a dedicated circuit, and some of its other functions may be implemented by software or firmware.
[0133] It should be noted that a hardware configuration of some constituent elements contained in the control device 10 may be hardware configurations such as those found in Fig. 11 are shown.
[0134] The configurations set forth in the above embodiments show examples, and it is possible to combine the configurations with other known techniques or to combine the embodiments with one another, and it is also possible to partially omit or modify the configurations without departing from the scope of the present disclosure. Reference symbol list 1 robot; 2 robot systems; 3 actuator; 4 Position detection unit; 5 force detection unit; 6 End effector; 7 Robot control point; 10 Control device; 11 Unit of calculation for an external force; 12 Control mode determination unit; 13 Motion command generation unit; 14 Setting unit; 15 storage units; 16 Display unit; 17 Position calculation unit; Positions 21 to 24; 30 workpieces; 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 processors; 200 storage spaces; 300 Input device; 400 output device; M1 constant size; T1 to T6 time; Tx constant period; V1 force determination value; V2 speed determination value; V3 speed limiter. QUOTES INCLUDED IN THE DESCRIPTION
[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature
[0000] JP 2019 - 202 364
[0005]
Claims
Control device comprising: a computation unit for an external force to calculate force information based on a force and moment exerted on a robot by an operator and a position and orientation of a robot control point, wherein the force information is information about the force and moment exerted on the robot by the operator, and wherein the robot control point is a control point with respect to the control of the robot to be performed by the operator;a control mode determination unit to determine, based on velocity information and force information, whether to select a normal control mode or an exact control mode, wherein the normal control mode is a mode for controlling the robot such that the robot moves faster the greater the force and torque specified by the force information, wherein the exact control mode is a mode for controlling the robot by limiting a speed and / or direction of movement of the robot, wherein the velocity information is information about a speed or angular velocity of the robot;and a motion command generation unit to generate a motion command corresponding to the normal control mode and to output the motion command to the robot when the normal control mode is selected, and to generate a motion command corresponding to the exact control mode and to output the motion command to the robot when the exact control mode is selected. Control device according to claim 1, wherein, when the exact control mode is selected, the motion command generation unit generates the motion command as a restriction of the direction of motion to restrict a movement in one or in two axis directions from an X-axis direction, a Y-axis direction, and a Z-axis direction in a predefined Cartesian coordinate system. Control device according to claim 2, wherein the motion command generation unit generates the motion command to allow movement in an axis direction that is closest to a direction of force exerted on the robot by the operator. Control device according to claim 1, wherein, when the exact control mode is selected, the motion command generation unit generates the motion command as a restriction of the direction of motion to restrict a movement in one or in two axis directions from an A-axis direction, a B-axis direction and a C-axis direction, wherein the A-axis direction, the B-axis direction and the C-axis direction rotate about axes of an X-axis direction, a Y-axis direction and a Z-axis direction respectively in a predetermined Cartesian coordinate system. Control device according to claim 4, wherein the motion command generation unit generates the motion command to enable movement in an axis direction that is closest to a direction of the moment exerted on the robot by the operator. Control device according to one of claims 2 to 5, wherein the control device generates the movement command based on a Cartesian coordinate system set by the operator. Control device according to one of claims 1 to 6, wherein, when the exact control mode is selected, the motion command generation unit generates the motion command to repeat a movement and a temporary stop of the robot. Control device according to claim 7, wherein, when the exact control mode is selected, the duration of the temporary stop is constant. Control device according to claim 8, wherein the control device generates the movement command based on the duration of each temporary stop of the robot, which is set by the operator. Control device according to one of claims 7 to 9, wherein, when the exact control mode is selected, the duration of each movement of the robot is constant, and wherein, when the exact control mode is selected, the motion command generation unit generates the motion command to repeat a movement and a temporary stop of the robot at a specified period. Control device according to claim 10, wherein the control device generates the movement command based on the duration of each movement of the robot, which is set by the operator. Control device according to one of claims 7 to 9, wherein, when the exact control mode is selected, a magnitude of each movement of the robot is constant. Control device according to claim 12, wherein the control device generates the movement command based on a magnitude of each movement of the robot that is set by the operator. Robot system comprising: a robot; and a control device for controlling the robot, wherein the control device comprises: an external force computation unit for calculating force information based on a force and moment exerted on the robot by an operator and the position and orientation of a robot control point, wherein the force information is information about the force and moment exerted on the robot by the operator, and wherein the robot control point is a control point with respect to the control of the robot to be performed by the operator;a control mode determination unit to determine, based on velocity information and force information, whether to select a normal control mode or an exact control mode, wherein the normal control mode is a mode for controlling the robot such that the robot moves faster the greater the force and torque specified by the force information, wherein the exact control mode is a mode for controlling the robot by limiting a speed and / or direction of movement of the robot, wherein the velocity information is information about a speed or angular velocity of the robot;and a motion command generation unit to generate a motion command corresponding to the normal control mode and to output the motion command to the robot when the normal control mode is selected, and to generate a motion command corresponding to the exact control mode and to output the motion command to the robot when the exact control mode is selected. Control method comprising: a computation step for an external force to cause a control device controlling a robot to calculate force information based on a force and moment exerted on the robot by an operator and a position and orientation of a robot control point, wherein the force information is information about the force and moment exerted on the robot by the operator, and wherein the robot control point is a control point with respect to the control of the robot to be performed by the operator;a control mode determination step to cause the control device to determine, based on velocity information and force information, whether to select a normal control mode or an exact control mode, wherein the normal control mode is a mode for controlling the robot such that the robot moves faster the greater the force and torque specified by the force information, and wherein the exact control mode is a mode for controlling the robot by limiting a speed and / or direction of movement of the robot, and wherein the velocity information is information about a speed or angular velocity of the robot;and a motion command generation unit to cause the control device to generate a motion command corresponding to the normal control mode and to output the motion command to the robot when the normal control mode is selected, and to generate a motion command corresponding to the exact control mode and to output the motion command to the robot when the exact control mode is selected.