Control device
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Filing Date
- 2025-12-05
- Publication Date
- 2026-04-27
AI Technical Summary
Force control in robots using force sensors is prone to noise interference, leading to false detections and unnecessary corrections during tasks like screw tightening, potentially causing cycle time delays and equipment failure.
A control device connected to a robot and force detection unit that determines whether to execute noise reduction processing on force detection signals based on signal magnitude, using noise reduction processing units to filter out noise components before applying force control, and selectively choosing between force control and position control modes based on signal thresholds.
This approach reduces noise interference, preventing malfunctions and delays by only applying noise reduction when necessary, thereby enhancing the accuracy and reliability of robot operations.
Abstract
Description
Control device
[0001] The present disclosure relates to a control device for controlling a robot.
[0002] Force control is known, which controls the movement of a robot based on the output of a force detection unit such as a force sensor that can detect forces acting on the robot. Force control is a method of controlling the movement of a robot so that the output value of the force detection unit becomes a target value set in advance by a user, and is a technique used for, for example, surface matching, precision fitting, screw tightening, etc. Known types of force control include impedance control, damping control, and hybrid control.
[0003] For example, in a screw tightening operation using a robot equipped with a nut runner as a tool (end effector), force control is performed on the robot based on the output of the force detection unit. During the screw tightening operation, if the position and posture of the screw held in the socket of the nut runner deviate from the starting position and posture of the screw tightening, the robot corrects the position and posture using force control, and the screw is tightened into the screw hole by the nut runner.
[0004] When performing screw tightening operations using force control, erroneous force detection can occur due to noise generated by the force detection unit itself, such as a force sensor, which can result in unnecessary position and posture correction operations and increase the cycle time of the screw tightening operation. Furthermore, erroneous force detection due to noise from the force detection unit can lead to failure of the screw tightening operation, damage to the nut runner, dangerous robot operation, etc. Thus, various technologies have been proposed to reduce the effects of noise in control based on sensor output (for example, see Patent Document 1).
[0005] Japanese Patent Application Laid-Open No. 2007-089023
[0006] In controlling the motion of a robot based on the output of a force detection unit such as a force sensor, it is desirable to propose a technique for suppressing the influence of noise from the force detection unit.
[0007] A control device according to the present disclosure is connected to a robot and a force detection unit that detects a force acting on the robot. The control device includes a determination unit that repeatedly determines whether or not to perform noise reduction processing to reduce noise components included in the force detection signal based on the magnitude of the force detection signal generated by the force detection unit, a noise reduction processing unit that performs noise reduction processing on the force detection signal for which the determination unit determines that noise reduction processing should be performed, and a force control unit that performs force control on the robot based on the force detection signal that has undergone noise component reduction processing or the force detection signal that has not undergone noise component reduction processing.
[0008] FIG. 1 is a diagram showing a robot system including a control device according to a first embodiment. FIG. 2 is a hardware configuration diagram of the control device of FIG. 1. FIG. 3 is a functional block diagram of the control device of FIG. 1. FIG. 4 is a flowchart showing an example of a control procedure for a robot by the control device of FIG. 1. FIG. 5 is a diagram showing a specific example of a work process for a predetermined work performed by the robot of FIG. 4. FIG. 6 is a diagram showing an example of a force detection signal for each work process of FIG. 5. FIG. 7 is a functional block diagram of a control device according to a second embodiment. FIG. 8 is a flowchart showing an example of a control procedure for a robot by the control device of FIG. 7. FIG. 9 is a diagram showing a force detection signal input to the control device of FIG. 7.
[0009] Hereinafter, control devices according to the first and second embodiments will be described with reference to the drawings. In the following description, components having substantially the same functions and configurations are designated by the same reference numerals, and redundant description will be given only when necessary.
[0010] One feature of the control device according to the first embodiment is that it determines whether or not to perform noise reduction processing to reduce noise components contained in the force detection signal based on the magnitude of the force detection signal detected by the force sensor, in order to control the robot arm mechanism by force control based on the force detection signal detected by the force sensor.
[0011] One feature of the control device according to the second embodiment is that it selects force control or position control based on the magnitude of the force detection signal detected by the force sensor, and controls the robot arm mechanism based on the selected force control or position control.
[0012] The terms used in the first and second embodiments are defined as follows: Force sensor: An example of a force detection unit that detects a force acting on the robot. The force sensor generates multiple force detection signals corresponding to multiple axes. In the first embodiment, the multiple force detection signals represent the time change of a force acting in the multiple axial directions. The force detection unit is not limited to a force sensor and may be realized, for example, by a torque sensor provided at each of the multiple joints of a robot arm mechanism that constitutes the robot. Encoder: An example of a position detection unit that detects the current position of the robot (hand reference point). The encoder detects the rotational angle position of the rotation shaft of the motor that drives the joints of the robot arm mechanism and generates a position detection signal representing the time change of the rotational angle position. The current position of the robot can be detected based on multiple position detection signals corresponding to the multiple encoders provided in the robot arm mechanism. Of course, the position detection unit is not limited to an encoder and may be realized, for example, by an external vision system. Force component: A signal component included in the force detection signal detected by the force sensor and representing the true value of the force acting on the robot. For example, a force component is a force that a robot receives when it comes into contact with a work object. A force component corresponds to a signal component obtained after a noise component removal process is performed on a force detection signal detected by a force sensor. Noise component: A signal component obtained by removing the force component from a force detection signal detected by a force sensor. Typically, noise components include white noise components generated by the force sensor itself, regardless of the robot's operation, and signal components of forces that unintentionally act on the robot, regardless of the operation specified in the operation program, such as forces acting due to vibrations generated by the robot's acceleration and deceleration. A signal that represents the change in noise component over time is called a noise signal.
[0013] A control device according to the first embodiment will be described below with reference to Figures 1 to 6. As shown in Figure 1, a robot 4, which is an object to be controlled by the control device 1 according to the first embodiment, has a nut runner 5 for screw tightening work, and a robot arm mechanism 7 for changing the position and posture of the nut runner 5. The nut runner 5 is mounted on the tip of the robot arm mechanism 7. A force sensor 9 is interposed between the robot arm mechanism 7 and the nut runner 5. The control device 1 is connected to the robot 4 and the force sensor 9. The force sensor 9 may be an external device independent of the robot 4, or may be one of the elements constituting the robot 4.
[0014] The robot arm mechanism 7 has multiple joints. Each joint is equipped with a motor 75 for driving the joint and an encoder 77 for detecting the rotational angle position of the motor 75. The nut runner 5 has a shaft 51, a socket 53 connected to the tip of the shaft 51, and the motor 55 for driving the rotation of the shaft 51. The socket 53 is configured as a substantially cylindrical body with a recess at its tip into which a screw head can be fitted. The force sensor 9 detects forces acting on the nut runner 5 in the X-, Y-, and Z-axis directions, as well as moments around the X-, Y-, and Z-axes. Here, the Z-axis is defined as an axis parallel to the rotation axis of the shaft 51, the Y-axis is defined as an axis perpendicular to the Z-axis and parallel to a line connecting the tip of the robot arm mechanism 7 to the tip of the shaft 51, and the X-axis is defined as an axis perpendicular to the Y- and Z-axes. In the first embodiment, the force sensor 9 generates three types of force detection signals that respectively represent changes over time in forces in the three axial directions acting on the nut runner 5. The force detection signal that represents changes over time in a force acting in the X-axis direction is called a force detection signal (X-axis), the force detection signal that represents changes over time in a force acting in the Y-axis direction is called a force detection signal (Y-axis), and the force detection signal that represents changes over time in a force acting in the Z-axis direction is called a force detection signal (Z-axis). When there is no need to distinguish between them, they will simply be called force detection signals.
[0015] Fig. 2 is a hardware configuration diagram of the control device 1. As shown in Fig. 2, a RAM 12, a ROM 13, a storage device 14, a robot driver 15, an encoder I / F 16, a nut runner driver 17, a sensor I / F 18, an input controller 19, and a display controller 20 are connected to a processor 11 via a data / control bus 10.
[0016] A motor 75 equipped to the robot arm mechanism 7 is connected to the robot driver 15. The robot driver 15 generates a drive current in response to an operation command from the processor 11. The drive current generated by the robot driver 15 is supplied to the motor 75 of the robot arm mechanism 7. This rotates the motor 75 of the robot arm mechanism 7, making it possible to change the position and posture of the nut runner 5 equipped to the robot arm mechanism 7.
[0017] An encoder 77 provided on the robot arm mechanism 7 is connected to the encoder I / F 16. A position detection signal detected by the encoder 77 is input to the control device 1 via the encoder I / F 16.
[0018] The motor 55 equipped in the nut runner 5 is connected to the nut runner driver 17. The nut runner driver 17 generates a drive current in response to a rotation command from the processor 11. The drive current generated by the nut runner driver 17 is supplied to the motor 55 of the nut runner 5. This rotates the motor 55 of the nut runner 5, and rotates the screw held in the socket 53 of the nut runner 5 together with the shaft 51.
[0019] The force sensor 9 is connected to the sensor I / F 18. A plurality of force detection signals generated by the force sensor 9 are input to the control device 1 via the sensor I / F 18.
[0020] An arbitrary input device 21 such as a keyboard, a mouse, or operation buttons is connected to the input controller 19. User operations are input to the control device 1 via the input controller 19.
[0021] An arbitrary display device 22 such as an organic EL display is connected to the display controller 20. A display signal is sent from the control device 1 to the display device 22 via the display controller 20. As a result, various screens such as a threshold setting screen configured by the control device 1 are displayed on the display device 22.
[0022] The processor 11 is realized by a CPU, a GPU, etc. The RAM 12 functions as the main memory, work area, etc. of the processor 11. The ROM 13 stores the BIOS, the OS, etc. The storage device 14 stores a force control program. In the force control program, operation commands for the robot arm mechanism 7, rotation commands for the nut runner 5, etc. are written in accordance with procedures.
[0023] 3 is a functional block diagram of the control device 1 according to the first embodiment. When the force control program loaded from the storage device 14 to the RAM 12 is executed by the processor 11, the control device 1 functions as a reception unit 30, a data receiving unit 31, a storage unit 32, a screen creation unit 33, a display signal generation unit 34, a setting unit 35, a calculation unit 36, a determination unit 37, a noise reduction processing unit 38, a force control unit 39, and a nut runner control unit 40.
[0024] The reception unit 30 receives user operations via the input device 21. For example, the reception unit 30 receives an instruction to start the robot 4, an instruction to set a threshold value, etc. The data receiving unit 31 receives multiple force detection signals from the force sensor 9. The memory unit 32 stores data on multiple noise signals used in the calculation process of the calculation unit 36 (described later). Typically, the multiple noise signals (noise signal (X-axis), noise signal (Y-axis), and noise signal (Z-axis)) correspond to multiple axes, respectively. Of course, the multiple noise signals may be the same signal. Alternatively, the noise signals may be stored as numerical data representing the magnitude of the noise signal. For example, the noise signals can be obtained by performing noise removal processing, such as applying a band-pass filter that passes through the frequency band of the noise, on the force detection signals detected by the force sensor 9 when the robot arm mechanism 7 is actually operated in accordance with the operation program. Of course, the noise signals may be signals that exhibit a constant value throughout the entire process, or signals that exhibit a constant value for each process.
[0025] The screen creation unit 33 creates a threshold setting screen for accepting threshold settings from a user according to a predetermined format. For example, the threshold setting screen is configured to accept thresholds related to the X-axis direction (X-axis), the Y-axis direction (Y-axis), and the Z-axis direction (Z-axis) that are common to a series of tasks. Typically, the thresholds are given as ratios. Typically, the ratios are given as relative ratios of the amplitude value of the noise signal to the amplitude value of the force detection signal. For example, the smaller the threshold ratio, the easier it is to execute noise reduction processing, thereby improving the robot's operating accuracy through force control. Therefore, the user sets an appropriate threshold taking into consideration both the required accuracy of force control and calculation delay. Note that the ratios may be given as absolute amplitude values. Of course, the threshold setting screen may be configured to allow thresholds to be set for each task, or to allow common thresholds to be set for three orthogonal axes.
[0026] The display signal generating unit 34 generates a display signal for displaying the threshold setting screen created by the screen creating unit 33 on the display device 22 .
[0027] The setting unit 35 sets multiple thresholds input on the threshold setting screen. The calculation unit 36 calculates ratios for multiple axes individually as index values representing how large the noise components contained in the force detection signals are relative to the force components, based on the multiple force detection signals detected by the force sensor 9. A larger ratio value indicates a larger noise component. For example, the ratio (X-axis), representing the magnitude of the noise component (X-axis) contained in the force detection signal (X-axis) relative to the force component (X-axis), is calculated by dividing the amplitude value of the noise signal (X-axis) by the amplitude value of the force detection signal (X-axis). The calculation unit 36 calculates the ratios (Y-axis) and (Z-axis), representing the magnitude of the noise component (Y-axis) contained in the force detection signal (Y-axis) and (Z-axis) relative to the force components (Y-axis) and (Z-axis), respectively, using a calculation process similar to that for the ratio (X-axis). Note that the method for calculating the index values is not limited to the above, as long as the magnitude of the noise component contained in the force detection signal can be determined. For example, the index value may be calculated by performing a Fourier transform on the force detection signal and dividing the spectral intensity value of the frequency corresponding to the noise component by the spectral intensity value of the frequency corresponding to the force component.
[0028] The determination unit 37 determines whether to perform noise reduction processing for reducing noise components contained in each of the force detection signals for each of the multiple axes based on the magnitude of each of the multiple force detection signals. Specifically, the determination unit 37 determines whether to perform noise reduction processing for the force detection signals for each of the multiple axes by comparing the ratios calculated for each of the multiple axes with thresholds set individually for each of the multiple axes. For example, the determination unit 37 determines not to perform noise reduction processing for the force detection signals (X axis) when the ratio (X axis) is less than the threshold (X axis), i.e., when the force acting in the X axis direction is sufficiently large compared to the noise. The determination unit 37 determines to perform noise reduction processing for the force detection signals (X axis) when the ratio (X axis) is equal to or greater than the threshold (X axis), i.e., when the force acting in the X axis direction is not sufficiently large compared to the noise.
[0029] The noise reduction processing unit 38 performs noise reduction processing on the force detection signal for which the determination unit 37 has determined that noise reduction processing should be performed. The noise reduction processing on the force detection signal can employ various techniques already known in the signal processing field, such as smoothing processing and filtering processing. For example, noise reduction processing can employ clamping, which sets a measurement value outside a predetermined range to a predetermined value such as the lower or upper limit of the range, smoothing processing using a moving average, or smoothing processing using a weighted moving average. Of course, the noise reduction processing method can be changed depending on the magnitude of the force component relative to the noise component. For example, when the magnitude of the noise component relative to the force component is less than F1, clamping is employed as a simple noise reduction processing with a short calculation processing time. When the magnitude of the noise component relative to the force component is between F1 and F2, smoothing processing using a moving average is employed, which has a greater noise reduction effect than clamping processing and requires a longer calculation processing time. When the magnitude of the noise component relative to the force component is F2 or greater, smoothing processing using a weighted moving average is employed, which has a greater noise reduction effect than clamping processing and requires a longer calculation processing time. In this way, by changing the noise reduction processing method depending on the magnitude of the noise component relative to the force component, it is possible to sufficiently reduce the noise component while minimizing the time required for the calculation processing, which contributes to suppressing malfunctions of the robot arm mechanism 7 and also suppressing control delays.
[0030] The force control unit 39 controls the robot arm mechanism 7 by force control based on the plurality of force detection signals detected by the force sensor 9. Specifically, the force control unit 39 creates, for each of the plurality of axes, an operation command for causing the force detection value indicated by the force detection signal that has undergone noise reduction processing or the force detection signal that has not undergone noise reduction processing to follow the force target value defined in the operation program, and generates a motor drive current according to the operation command.
[0031] The nut runner control unit 40 generates a rotation command for the nut runner 5 according to the procedure defined in the operation program, and generates a drive current for the nut runner 5 according to the generated rotation command.
[0032] 4, the operation control of the robot arm mechanism 7 by the control device 1 according to the first embodiment will be described. Before the operation control is started, the control device 1 sets a threshold value for determining whether or not to execute noise reduction processing in accordance with a user operation (S11). Upon receiving a user instruction to start the operation (S12), the control device 1 drives the robot 4 and receives a plurality of force detection signals from the force sensor 9 (S13).
[0033] The control device 1 calculates the ratio (X-axis) of the force detection signal (X-axis) to the noise signal (X-axis) of the force sensor 9 (S14a). If the calculated ratio (X-axis) is equal to or greater than the threshold (X-axis) (S15a: Yes), the control device 1 determines whether to perform noise reduction processing on the force detection signal (X-axis) (S16a). If the calculated ratio (X-axis) is less than the threshold (X-axis) (S15a: No), the control device 1 determines whether to perform noise reduction processing on the force detection signal (X-axis) (S17a). The control device 1 performs the same processes as S14a to S17a for the Y-axis direction (S14b to S17b) and also for the Z-axis direction (S14c to S17c).
[0034] The control device 1 then executes force control on the robot 4 for each of the multiple axes based on the force detection signal that has undergone noise component reduction processing or the force detection signal that has not undergone noise component reduction processing (S18). The processes of steps S13 to S18 are repeatedly executed until all steps defined in the operation program have been completed, that is, until the robot 4 has completed the specified task (S19: No). The control device 1 then ends the operation control of the robot 4 when all steps defined in the operation program have been completed (S19: Yes).
[0035] Specific examples of the operation control of the robot 4 by the control device 1 described with reference to Fig. 4 will be described below with reference to Figs. 5 and 6. Figs. 5 and 6 explain the force control of the robot arm mechanism 7 when the robot 4 is made to perform a screw tightening operation. Fig. 5 shows five steps in the screw tightening operation. Fig. 6 shows the force detection signals detected in each step of Fig. 5.
[0036] FIG. 5A shows the first step of adjusting the rotational position of the socket 53 of the nut runner 5 so that the head of the screw 100 fits into the socket 53 of the nut runner 5. Section (a) of FIG. 6 shows the force detection signal detected during the first step. In the first step, the socket 53 of the nut runner 5 is rotated little by little together with the shaft 51 of the nut runner 5, and each time, the socket 53 of the nut runner 5 is raised and lowered along the Z-axis by the operation of the robot arm mechanism 7. These operations are repeated until the leading edge of the socket 53 no longer contacts the head of the screw 100. In the first step, almost no force acts on the nut runner 5 in the X-axis and Y-axis directions, but a large force acts in the Z-axis direction. Therefore, as shown in section (a) of FIG. 6, the force detection signals (X-axis) and force detection signals (Y-axis) detected by the force sensor 9 during the first step are small, and the force detection signal (Z-axis) is large. Therefore, during the first step, noise reduction processing is performed on the force detection signal (X-axis) and the force detection signal (Y-axis), but noise reduction processing is not performed on the force detection signal (Z-axis). In other words, during the first step, the control device 1 performs force control on the robot arm mechanism 7 using the force detection signal (X-axis) and the force detection signal (Y-axis) that have been subjected to noise reduction processing, and the force detection signal (Z-axis) that has not been subjected to noise reduction processing.
[0037] FIG. 5B shows the second step of fitting the head of the screw 100 into the socket 53 of the nut runner 5. Section (b) of FIG. 6 shows the force detection signal detected during the second step. In the second step, the socket 53 of the nut runner 5 is press-fitted onto the head of the screw 100, and the head of the screw 100 is fitted into the socket 53. During the second step, forces act on the nut runner 5 in the X-axis, Y-axis, and Z-axis directions. Therefore, as shown in section (b) of FIG. 6 , the force detection signals (X-axis), (Y-axis), and (Z-axis) detected by the force sensor 9 during the second step are large. Therefore, noise reduction processing is not performed on the force detection signals (X-axis), (Y-axis), and (Z-axis) during the second step. In other words, during the second step, the control device 1 performs force control on the robot arm mechanism 7 using the force detection signal (X-axis), force detection signal (Y-axis), and force detection signal (Z-axis) that have not been subjected to noise reduction processing.
[0038] FIG. 5C shows a third step in which the position and posture of the socket 53 of the nut runner 5 are adjusted so that the screw 100 fitted in the socket 53 can be inserted into the screw hole. Section (c) of FIG. 6 shows the force detection signal detected during the third step. In the third step, the robot arm mechanism 7 translates the screw 100 held in the socket 53 of the nut runner 5 in the X-axis and Y-axis directions so that the position P1 of the center line CL1 of the screw 100 coincides with the position P0 of the center line CL0 of the screw hole, and the posture of the screw 100 is changed so that the inclination of the central axis CL1 of the screw 100 coincides with the inclination of the central axis CL0 of the screw hole. In the third step, forces act on the nut runner 5 in the X-axis and Y-axis directions, but almost no force acts in the Z-axis direction. Therefore, as shown in section (c) of FIG. 6, the force detection signals (X-axis) and (Y-axis) detected by the force sensor 9 during the third step are large, and the force detection signal (Z-axis) is small. Therefore, during the third step, the noise reduction process is not performed on the force detection signal (X-axis) and the force detection signal (Y-axis), but the noise reduction process is performed on the force detection signal (Z-axis). In other words, during the third step, the control device 1 performs force control on the robot arm mechanism 7 using the force detection signal (X-axis) and the force detection signal (Y-axis) that have not been subjected to the noise reduction process, and the force detection signal (Z-axis) that has been subjected to the noise reduction process.
[0039] FIG. 5(d) shows the fourth step in which the screw 100 fitted in the socket 53 is inserted into the screw hole and temporarily tightened. Section (d) of FIG. 6 shows the force detection signal detected during the fourth step. In the fourth step, the robot arm mechanism 7 operates to insert the screw 100 held in the socket 53 of the nut runner 5 into the screw hole, and the shaft 51 of the nut runner 5 rotates to lightly tighten the screw held in the socket 53 of the nut runner 5 into the screw hole. In the fourth step, almost no force acts on the nut runner 5 in the X-axis and Y-axis directions, but only a force acts in the Z-axis direction. Therefore, as shown in section (d) of FIG. 6, the force detection signals (X-axis) and (Y-axis) detected by the force sensor 9 during the fourth step are small, and the force detection signal (Z-axis) is large. Therefore, during the fourth step, noise reduction processing is performed on the force detection signals (X-axis) and (Y-axis), but not on the force detection signal (Z-axis). In other words, during the fourth step, the control device 1 performs force control on the robot arm mechanism 7 using the force detection signal (X-axis) and force detection signal (Y-axis) that have undergone noise reduction processing, and the force detection signal (Z-axis) that has not undergone noise reduction processing.
[0040] FIG. 5( e) shows the fifth step of fully tightening the screw 100 fitted into the socket 53 into the screw hole. Section (e) of FIG. 6 shows the force detection signal detected during the fifth step. In the fifth step, the screw 100 held in the socket 53 of the nut runner 5 is fully tightened into the screw hole by the rotation of the shaft 51 of the nut runner 5. A large rotational torque is applied during the final tightening. Therefore, in the fifth step, large forces act on the nut runner 5 in the X-axis, Y-axis, and Z-axis directions. As shown in section (e) of FIG. 6, the force detection signals (X-axis), (Y-axis), and (Z-axis) detected by the force sensor 9 during the fifth step are large. Therefore, noise reduction processing is not performed on the force detection signals (X-axis), (Y-axis), and (Z-axis) during the fifth step. In other words, during the fifth step, the control device 1 performs force control on the robot arm mechanism 7 using the force detection signal (X-axis), force detection signal (Y-axis), and force detection signal (Z-axis) that have not been subjected to noise reduction processing.
[0041] By performing noise reduction processing on the force detection signal used for force control and performing force control using the noise-reduced force detection signal, the force component can be increased relative to the noise component, thereby preventing the noise component from being erroneously detected as a force component and causing the robot arm mechanism 7 to malfunction. Therefore, from the perspective of preventing malfunction of the robot arm mechanism 7, noise reduction processing should always be performed on the force detection signal. However, noise reduction processing can cause control delays due to the characteristics of the method for reducing noise contained in the force detection signal or the increased calculation time required for noise reduction. For example, noise reduction processing by smoothing the force detection signal using a moving average inevitably causes control delays because the specific measurement point is determined to be the average value of multiple measurement points within a certain period of time centered on a specific measurement point. Furthermore, noise reduction processing using an FFT filter to remove noise components of specific frequencies from the force control signal requires a large amount of calculation, increasing the calculation time and resulting in control delays. Therefore, constantly performing noise reduction processing on the force detection signal can cause control delays and increase the cycle time.
[0042] The control device 1 according to the first embodiment can determine whether or not to perform noise reduction processing on the force control signal used for force control based on the magnitude of the force control signal. That is, if the force component included in the force control signal is sufficiently larger than the noise component, and the robot arm mechanism 7 will not malfunction even without noise reduction processing, the noise reduction processing is not performed. On the other hand, if the force component included in the force control signal is not sufficiently larger than the noise component, and the robot arm mechanism 7 may malfunction without noise reduction processing, the noise reduction processing is performed. This reduces the occurrence of control delays by shortening the processing period for noise reduction processing, which is a cause of control delays, while suppressing malfunctions of the robot arm mechanism 7. The force control signal here may be one of three force detection signals corresponding to the three axes, or a signal obtained by combining the three force detection signals.
[0043] Furthermore, the control device 1 according to the first embodiment can individually determine whether to perform noise reduction processing for a plurality of force control signals corresponding to a plurality of axial directions, thereby shortening the period subject to noise reduction processing, which is a cause of control delay, and further suppressing control delays by reducing the number of axes subject to noise reduction processing.
[0044] The control device 1 according to the first embodiment can repeatedly determine whether to perform noise reduction processing during a predetermined task, and can repeatedly switch between performing noise reduction processing on and off for a force detection signal during the predetermined task, thereby further shortening the total period during which noise reduction processing, which is a cause of control delays, is performed, and further suppressing the occurrence of control delays.
[0045] In the first embodiment, it is assumed that the robot arm mechanism 7 is controlled by force control, and whether or not to perform processing to reduce noise components in the force detection signal is determined based on the magnitude of the force detection signal. However, it is also possible to select a mode in which force control is performed (force control mode) or a mode in which position control is performed (position control mode) based on the magnitude of the force detection signal, and control the robot arm mechanism 7 based on the selected control mode.
[0046] A control device 1' according to the second embodiment will be described below with reference to Figures 7 to 9. The control device 1' according to the second embodiment has the same system configuration (see Figure 1) and hardware configuration (see Figure 2) as the control device 1 according to the first embodiment, and therefore description thereof will be omitted.
[0047] The functions of the control device 1' according to the second embodiment will be described below with reference to Fig. 7. As shown in Fig. 7, the control device 1' according to the second embodiment has functions similar to some of the functions of the control device 1 according to the first embodiment, as well as functions related to a selection unit 41 and a position control unit 42.
[0048] The selection unit 41 selects the force control mode or the position control mode for each of the multiple axes based on the magnitudes of the multiple force detection signals corresponding to the multiple axes. Specifically, the determination unit 37 individually selects the force control mode or the position control mode for each of the multiple axes by comparing the ratios calculated for each of the multiple axes with thresholds individually set for each of the multiple axes. For example, the determination unit 37 selects the force control mode when the ratio (X-axis) is less than the threshold (X-axis), i.e., when the force acting in the X-axis direction is sufficiently large compared to noise. The determination unit 37 selects the position control mode when the ratio (X-axis) is equal to or greater than the threshold (X-axis), i.e., when the force acting in the X-axis direction is not sufficiently large compared to noise.
[0049] The force control unit 39 controls the movement of the robot arm mechanism 7 in the axial direction for which the force control mode is selected, based on the force detection signal detected by the force sensor 9, by force control.
[0050] The position control unit 42 controls the operation of the robot arm mechanism 7 in the axial direction for which the position control mode is selected by position control, based on the position detection signal detected by the encoder 77. Specifically, for the axial direction for which the position control mode is selected, the position control unit 42 updates the next command position based on the command position defined in the operation program and the detected position detected by the encoder 77, creates an operation command so that the detected position detected by the encoder 77 follows the updated command position, and generates a motor drive current according to the operation command.
[0051] 8, the operation control of the robot arm mechanism 7 by the control device 1' according to the second embodiment will be described below. Before the operation control is started, the control device 1' sets, in accordance with a user operation, a threshold value used to select the force control mode or the position control mode, an initial control mode for each of the multiple axes, and a pressing direction for a predetermined task (S21). Here, it is assumed that the initial control mode is set to the force control mode and the pressing direction is set to the Z axis. Upon receiving a user instruction to start the operation (S22), the control device 1' drives the robot 4 and receives multiple force detection signals from the force sensor 9 (S23).
[0052] The control device 1' calculates the ratio (X-axis) of the force detection signal (X-axis) to the noise signal (X-axis) of the force sensor 9 (S24a). If the calculated ratio (X-axis) is equal to or greater than the threshold (X-axis) (S25a: Yes), the control device 1' selects the position control mode (S26a). If the calculated ratio (X-axis) is less than the threshold (X-axis) (S25a: No), the control device 1' selects the force control mode (S27a). The control device 1' also executes the same processes as S24a to S27a for the Y-axis direction (S24b to S27b). Meanwhile, the control mode for the Z-axis direction remains the force control mode (S24c).
[0053] The control device 1' then controls the robot arm mechanism 7 in the force control mode or position control mode individually selected for each of the multiple axes (S28). The processes of steps S23 to S28 are repeatedly executed until all steps defined in the operation program are completed, that is, until the predetermined task by the robot 4 is completed (S29: No). The control device 1' then terminates the operation control of the robot 4 when all steps defined in the operation program are completed (S29: Yes).
[0054] Specific examples of the operation control of the robot 4 by the control device 1' described with reference to Fig. 8 will be described below with reference to Figs. 5 and 9. Here, it is assumed that the pressing direction is not set. Figs. 5 and 9 explain the control mode of the robot arm mechanism 7 when the robot 4 is performing a screw tightening operation. Fig. 9 shows force detection signals detected in each process of Fig. 5.
[0055] Section (a) of Fig. 9 shows the force detection signal detected during the first step. During the first step, almost no force acts on the nut runner 5 in the X-axis and Y-axis directions, but a force acts in the Z-axis direction. Therefore, as shown in section (a) of Fig. 9, the force detection signal (X-axis) and force detection signal (Y-axis) detected by the force sensor 9 during the first step are small, and the force detection signal (Z-axis) is large. Therefore, during the first step, the control device 1' controls the movement of the robot arm mechanism 7 in the X-axis and Y-axis directions in the position control mode, and controls the movement of the robot arm mechanism 7 in the Z-axis direction in the force control mode.
[0056] Section (b) of Figure 9 shows the force detection signal detected during the second step. In the second step, the socket 53 of the nut runner 5 is press-fitted onto the head of the screw, and the head of the screw is fitted into the socket 53. In the second step, forces in the X-axis, Y-axis, and Z-axis directions act on the nut runner 5. Therefore, as shown in section (b) of Figure 9, the force detection signals (X-axis), (Y-axis), and (Z-axis) detected by the force sensor 9 during the second step are large. Therefore, during the second step, the control device 1' controls the movement of the robot arm mechanism 7 in the X-axis, Y-axis, and Z-axis directions in the force control mode.
[0057] Section (c) of Fig. 9 shows the force detection signal detected during the third step. During the third step, large forces act on the nut runner 5 in the X-axis and Y-axis directions, but almost no force acts in the Z-axis direction. Therefore, as shown in section (c) of Fig. 9, the force detection signal (X-axis) and force detection signal (Y-axis) detected by the force sensor 9 during the third step are large, and the force detection signal (Z-axis) is small. Therefore, during the third step, the control device 1' controls the movement of the robot arm mechanism 7 in the X-axis and Y-axis directions in the force control mode, and controls the movement of the robot arm mechanism 7 in the Z-axis direction in the position control mode.
[0058] Section (d) of Fig. 9 shows the force detection signal detected during the fourth step. During the fourth step, almost no force acts on the nut runner 5 in the X-axis and Y-axis directions, but a large force acts on the nut runner 5 in the Z-axis direction. Therefore, as shown in section (d) of Fig. 9, the force detection signal (X-axis) and force detection signal (Y-axis) detected by the force sensor 9 during the fourth step are small, and the force detection signal (Z-axis) is large. Therefore, during the fourth step, the control device 1' controls the movement of the robot arm mechanism 7 in the X-axis and Y-axis directions in the position control mode, and controls the movement of the robot arm mechanism 7 in the Z-axis direction in the force control mode.
[0059] Section (e) of Fig. 9 shows the force detection signals detected during the fifth step. In the fifth step, large forces act on the nut runner 5 in the X-axis, Y-axis, and Z-axis directions, and therefore, as shown in section (e) of Fig. 9, the force detection signals (X-axis), Y-axis, and Z-axis detected by the force sensor 9 during the fifth step are large. Therefore, during the fifth step, the control device 1' controls the movements of the robot arm mechanism 7 in the X-axis, Y-axis, and Z-axis directions in the force control mode.
[0060] In tasks such as screw tightening, polishing, stamping, and fitting, in which the robot arm mechanism 7 or an end effector connected to the robot arm mechanism 7 is brought into contact with an object while the robot arm mechanism 7 is operated, the force detection signal detected by the force sensor 9 is large, and control of the robot arm mechanism 7 by force control is more effective than control of the robot arm mechanism 7 by position control. However, if the robot arm mechanism 7 is always controlled by force control throughout a series of tasks, the force detection signal detected by the force sensor 9 will be small, which could cause malfunctions of the robot arm mechanism 7 if the force detection signal is not subjected to noise reduction processing, and could cause control delays if the force detection signal is subjected to noise reduction processing.
[0061] The control device 1′ according to the second embodiment can select between a force control mode and a position control mode based on the magnitude of the force control signal. When the force component included in the force control signal is sufficiently larger than the noise component and the robot arm mechanism 7 will not malfunction, the robot arm mechanism 7 is controlled in the force control mode based on a force detection signal that has not been subjected to noise reduction processing. When the force component included in the force control signal is not sufficiently larger than the noise component and the robot arm mechanism 7 may malfunction without noise reduction processing, the robot arm mechanism 7 is controlled in the position control mode that does not use the force detection signal. In other words, when noise reduction processing is required, the robot arm mechanism 7 is controlled in the position control mode rather than the force control mode. This eliminates the need for noise reduction processing, which can cause control delays, and reduces the possibility of control delays due to the execution of noise reduction processing and the possibility of malfunctions of the robot arm mechanism 7 due to not executing noise reduction processing.
[0062] Furthermore, the control device 1' according to the second embodiment can individually select a control mode for each of a plurality of axial directions. This allows the robot arm mechanism 7 to be controlled by force control for axial directions in which the force detection signal detected by the force sensor 9 is large, and the robot arm mechanism 7 to be controlled by position control for axial directions in which the force detection signal detected by the force sensor 9 is small. In addition to the above-mentioned effects, this also has the effect of suppressing a decline in work quality due to the frequent use of position control.
[0063] Furthermore, according to the control device 1' according to the second embodiment, by setting an axial direction that is the pressing direction, it is possible to fix the control mode for that axial direction to the force control mode. Since force control is more effective for the axial direction that is the pressing direction than position control, fixing the control mode for the axial direction that is the pressing direction to the force control mode can suppress deterioration in the work quality of the robot arm mechanism 7 compared to when the position control mode is also used.
[0064] Furthermore, the control device 1' according to the second embodiment can automatically switch between the position control mode and the force control mode simply by setting a threshold value. This eliminates the need to set conditions that trigger switching between position control and force control, as in the past, and allows even inexperienced users to easily learn how to do this.
[0065] In the first embodiment, whether to perform noise reduction processing is determined based on the magnitude of the force detection signal, which indicates the time change of the force acting in each of the multiple axial directions detected by the force sensor 9, and in the second embodiment, the force control mode or the position control mode is selected. However, the determination processing in the first embodiment and the selection processing in the second embodiment can achieve the same effect even if they are performed based on other parameters corresponding to the magnitude of the force acting in the axial direction. For example, the other parameters can be moment, velocity, etc.
[0066] In the first and second embodiments, the force sensor 9 equipped on the robot 4 can detect moments around the X-axis, Y-axis, and Z-axis. The force sensor 9 generates moment detection signals that represent changes in the moments over time. The control devices 1 and 1′ according to the first and second embodiments individually determine whether to perform noise reduction processing for multiple axes based on the magnitudes of the multiple moment detection signals (first embodiment) and can also individually select force control mode or position control mode for multiple axes (second embodiment). Specifically, the control device 1 according to the first embodiment determines not to perform noise reduction processing when the moment detection signal is larger than a threshold value, i.e., when the force component included in the force detection signal of the force sensor 9 is sufficiently larger than the noise component, and determines to perform noise reduction processing when the moment detection signal is smaller than the threshold value, i.e., when the force component included in the force detection signal of the force sensor 9 is not sufficiently larger than the noise component. Similarly, the control device 1 according to the second embodiment selects the force control mode when the moment detection signal is larger than the threshold value, that is, when the force component contained in the force detection signal of the force sensor 9 is sufficiently larger than the noise component, and selects the position control mode when the moment detection signal is smaller than the threshold value, that is, when the force component contained in the force detection signal of the force sensor 9 is not sufficiently larger than the noise component.
[0067] In the first and second embodiments, the velocity can be calculated from the positional displacement per unit time in the position control signal detected by the encoder 77 equipped in the robot arm mechanism 7. In other words, the encoder 77 functions as a velocity detection unit. Of course, a velocity sensor may be equipped as the velocity detection unit to directly acquire velocity data. Based on the magnitude of the calculated velocity, a determination is made as to whether to perform noise reduction processing (first embodiment), and a selection is made between force control mode and position control mode (second embodiment). Specifically, the control device 1 according to the first embodiment determines not to perform noise reduction processing when the velocity is faster than the threshold value, i.e., when the noise component is sufficiently large relative to the force component included in the force detection signal of the force sensor 9, and determines to perform noise reduction processing when the velocity is slower than the threshold value, i.e., when the noise component is not sufficiently large relative to the force component included in the force detection signal of the force sensor 9. Similarly, the control device 1 according to the second embodiment selects the force control mode when the speed is fast relative to the threshold value, that is, when the noise components are sufficiently large relative to the force components contained in the force detection signal of the force sensor 9, and selects the position control mode when the speed is slow relative to the threshold value, that is, when the noise components are not sufficiently large relative to the force components contained in the force detection signal of the force sensor 9.
[0068] The first and second embodiments will describe an example in which a screw tightening operation is performed by the robot arm mechanism 7 under the control of the control device 1. Of course, the operation that the robot arm mechanism 7 is caused to perform is not limited to a screw tightening operation, and the control device 1 according to the first and second embodiments can also be applied when causing the robot arm mechanism 7 to perform various operations such as a polishing operation, a stamping operation, and a fitting operation.
[0069] The following supplementary notes are further disclosed regarding this embodiment and the modified examples. (Supplementary Note 1) The control device 1 is connected to the robot 4 and a force detection unit 9 that detects a force acting on the robot 4, and includes a determination unit 37 that repeatedly determines whether or not to perform noise reduction processing to reduce noise components included in the force detection signal based on the magnitude of the force detection signal generated by the force detection unit 9, a noise reduction processing unit 38 that performs noise reduction processing on the force detection signal for which it has been determined by the determination unit 37 that the noise reduction processing should be performed, and a force control unit 39 that performs force control on the robot 4 based on the force detection signal that has undergone noise component reduction processing or the force detection signal that has not undergone noise component reduction processing. (Supplementary Note 2) In the control device 1 described in Supplementary Note 1, the judgment unit 37 repeatedly judges whether or not to perform noise reduction processing while the robot 4 is performing a predetermined task. (Supplementary Note 3) In the control device 1 described in Supplementary Note 1 or Supplementary Note 2, the force detection unit 9 generates a plurality of force detection signals respectively corresponding to a plurality of axes, the judgment unit 37 judges individually for each of the plurality of axes based on the magnitude of each of the plurality of force detection signals whether or not to perform noise reduction processing that reduces the noise components contained in each of the plurality of force detection signals, the noise reduction processing unit 38 performs noise reduction processing on the force detection signals for which the judgment unit 37 has individually judged that noise reduction processing should be performed, and the force detection unit 9 performs force control on the robot 4 based on the force detection signals that have undergone noise component reduction processing or force detection signals that have not undergone noise component reduction processing, for each of the plurality of axes. (Supplementary Note 4) The control device 1 described in Supplementary Note 3 further includes a calculation unit 36 that calculates, for each of a plurality of axes, a ratio of the magnitude of noise to the magnitude of each force detection signal, and a determination unit 37 that determines, for each of the plurality of axes, whether to perform noise reduction processing to reduce the noise components contained in each of the plurality of force detection signals, based on the magnitude of the ratio calculated for each of the plurality of axes to a threshold value that is set for each of the plurality of axes. (Supplementary Note 5) In the control device 1 described in any of Supplementary Notes 1 to 4, the noise reduction processing unit 38 performs noise reduction processing using at least one of a plurality of types of noise reduction processing methods that differ in at least one of the degree of noise component reduction and the processing time.(Supplementary Note 6) In the control device 1 described in Supplementary Note 5, the noise reduction processing unit 38 executes noise reduction processing using a noise reduction processing method selected from a plurality of types of noise reduction processing methods according to the magnitude of the force detection signal for which execution of noise reduction processing has been determined by the determination unit 37. (Supplementary Note 7) The control device 1 includes a selection unit 41 connected to the robot 4 and a force detection unit 9 that detects a force acting on the robot 4, and that repeatedly selects either the position control mode or the force control mode based on the magnitude of the force detection signal generated by the force detection unit 9, and control units 39, 42 that control the robot 4 based on the position control mode or the force control mode selected by the selection unit 41. (Supplementary Note 8) In the control device 1 described in Supplementary Note 7, the selection unit 41 repeatedly selects either the position control mode or the force control mode during a predetermined task performed by the robot 4. (Supplementary Note 9) In the control device 1 described in Supplementary Note 7 or Supplementary Note 8, the force detection unit 9 generates a plurality of force detection signals corresponding to the plurality of axes, the selection unit 41 selects either the position control mode or the force control mode for each of the plurality of axes based on the magnitude of each of the plurality of force detection signals, and the control units 39, 42 control the robot 4 based on the position control mode or the force control mode selected for each of the plurality of axes. (Supplementary Note 10) The control device 1 described in Supplementary Note 9 further includes a calculation unit 36 that calculates, for each of the plurality of axes, a ratio of the magnitude of noise to the magnitude of each of the plurality of force detection signals, and the selection unit 41 selects either the position control mode or the force control mode for each of the plurality of axes based on the magnitude of the ratio calculated for each of the plurality of axes to a threshold value set for each of the plurality of axes. (Supplementary Note 11) In the control device 1 described in any of Supplements 3 to 4 and Supplements 9 to 10, each of the plurality of force detection signals represents a time change in moment about each of the plurality of axes. (Supplementary Note 12) In the control device 1 described in any of Supplementary Notes 3 to 4, Supplementary Notes 9 to 10, each of the plurality of force detection signals represents a change over time in a force acting in the direction of each of the plurality of axes. (Supplementary Note 13) The control device 1 is connected to the robot 4, a force detection unit 9 that detects a force acting on the robot 4, and a speed detection unit 77 that detects the speed of the robot 4.The control device 1 includes a determination unit 37 that repeatedly determines whether to perform noise reduction processing for reducing noise components included in the force detection signal generated by the force detection unit 9 based on the magnitude of the velocity detection signal based on the output of the velocity detection unit 77, a noise reduction processing unit 38 that performs noise reduction processing on the force detection signal for which the determination unit 37 has determined that noise reduction processing should be performed, and a force control unit 39 that performs force control on the robot 4 based on the force detection signal that has undergone noise component reduction processing or the force detection signal that has not undergone noise component reduction processing. (Supplementary Note 14) The control device 1 is connected to the robot 4, the force detection unit 9 that detects a force acting on the robot 4, and the velocity detection unit 77 that detects the velocity of the robot 4. The control device 1 includes a selection unit 41 that repeatedly selects either a position control mode or a force control mode based on the magnitude of the velocity detection signal based on the output of the velocity detection unit 77, and control units 39, 42 that control the robot 4 based on the position control mode or the force control mode selected by the selection unit 41. Although the embodiments of the present disclosure have been described in detail, the present disclosure is not limited to the individual embodiments described above. These embodiments can be variously added, replaced, modified, partially deleted, etc., without departing from the gist of the invention or the idea and intent of the present invention derived from the content described in the claims and their equivalents. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values or mathematical expressions are used in the description of the above-described embodiments.
[0070] 1...control device, 4...robot, 5...nutrunner, 7...robot arm mechanism, 9...force sensor, 10...data / control bus, 11...processor, 12...RAM, 13...ROM, 14...storage device, 15...robot driver, 16...encoder I / F, 17...nutrunner driver, 18...sensor I / F, 19...input controller, 20...display controller, 30...reception unit, 31...data receiving unit, 32...storage unit, 33...screen creation unit, 34...display signal generation unit, 35...setting unit, 36...calculation unit, 37...determination unit, 38...noise reduction processing unit, 39...force control unit, 40...nutrunner control unit, 41...selection unit, 42...position control unit, 51...shaft, 53...socket, 55...motor, 75...motor, 77...encoder, 100...screw.
Claims
1. A control device connected to a robot and a force detection unit that detects the force acting on the robot, A determination unit repeatedly determines whether or not to perform noise reduction processing to reduce noise components included in the force detection signal, based on the magnitude of the force detection signal generated by the force detection unit. A noise reduction processing unit that performs the noise reduction process on the force detection signal for which the determination unit has determined that the noise reduction process should be performed, A force control unit that performs force control on the robot based on the force detection signal that has undergone the noise component reduction process or the force detection signal that has not undergone the noise component reduction process, A control device equipped with the following.
2. The determination unit repeatedly determines whether or not to perform the noise reduction process during a predetermined operation performed by the robot. The control device according to claim 1.
3. The force detection unit generates multiple force detection signals corresponding to each of the multiple axes, The determination unit individually determines, for each of the multiple axes, whether to perform or not perform noise reduction processing to reduce the noise components contained in each of the multiple force detection signals, based on the magnitude of each of the multiple force detection signals. The noise reduction processing unit performs the noise reduction process on the force detection signal for which the execution of the noise reduction process has been individually determined by the determination unit. The force detection unit performs force control on the robot for each of the plurality of axes based on the force detection signal that has undergone noise component reduction processing or the force detection signal that has not undergone noise component reduction processing. The control device according to claim 1 or claim 2.
4. The system further includes a calculation unit that individually calculates the ratio of the magnitude of noise to the magnitude of each of the force detection signals for each of the multiple axes. The control device according to claim 3, wherein the determination unit individually determines for each of the multiple axes whether to perform or not to perform noise reduction processing to reduce noise components contained in each of the multiple force detection signals, based on the magnitude of the ratio calculated individually for each of the multiple axes to a threshold set individually for each of the multiple axes.
5. The control device according to claim 1 or 2, wherein the noise reduction processing unit performs the noise reduction processing using at least one noise reduction processing method from a plurality of types of noise reduction processing methods in which at least one of the degree of noise component reduction and processing time differs.
6. The control device according to claim 5, wherein the noise reduction processing unit performs the noise reduction processing using a noise reduction processing method from among the plurality of types of noise reduction processing methods, according to the magnitude of the force detection signal for which the determination unit has determined to perform the noise reduction processing.
7. A control device connected to a robot and a force detection unit that detects the force acting on the robot, A selection unit repeatedly selects either a position control mode or a force control mode based on the magnitude of the force detection signal generated by the force detection unit, The system comprises a control unit that controls the robot based on the position control mode or force control mode selected by the selection unit, Control device.
8. The selection unit repeatedly selects either the position control mode or the force control mode during a predetermined operation performed by the robot. The control device according to claim 7.
9. The force detection unit generates multiple force detection signals corresponding to each of the multiple axes, The selection unit individually selects either the position control mode or the force control mode for each of the multiple axes based on the magnitude of each of the multiple force detection signals. The control unit controls the robot based on the position control mode or force control mode individually selected for each of the multiple axes. The control device according to claim 7 or claim 8.
10. The system further includes a calculation unit that individually calculates the ratio of the magnitude of noise to the magnitude of each of the multiple force detection signals for each of the multiple axes. The control device according to claim 9, wherein the selection unit individually selects either the position control mode or the force control mode for each of the multiple axes based on the magnitude of the ratio calculated individually for each of the multiple axes to a threshold individually set for each of the multiple axes.
11. Each of the aforementioned multiple force detection signals represents the time change of the moment around each of the aforementioned multiple axes. The control device according to claim 3.
12. Each of the aforementioned multiple force detection signals represents the time change of the force acting in the direction of each of the aforementioned multiple axes. The control device according to claim 3.
13. A control device connected to a robot, a force detection unit for detecting forces acting on the robot, and a speed detection unit for detecting the speed of the robot, A determination unit repeatedly determines whether or not to perform noise reduction processing to reduce noise components contained in the force detection signal generated by the force detection unit, based on the magnitude of the speed detection signal generated by the speed detection unit. A noise reduction processing unit that performs the noise reduction process on the force detection signal for which the determination unit has determined that the noise reduction process should be performed, A force control unit that performs force control on the robot based on the force detection signal that has undergone the noise component reduction process or the force detection signal that has not undergone the noise component reduction process, A control device equipped with the following.
14. A control device connected to a robot, a force detection unit for detecting forces acting on the robot, and a speed detection unit for detecting the speed of the robot, A selection unit repeatedly selects either a position control mode or a force control mode based on the magnitude of the speed detection signal generated by the speed detection unit, The system comprises a control unit that controls the robot based on the position control mode or force control mode selected by the selection unit, Control device.