Robot control device
Patent Information
- Application Number
- JP2024551060
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Priority Date
- 2022-10-17
- Filing Date
- 2022-10-17
- Publication Date
- 2025-06-26
AI Technical Summary
Existing robot control systems face challenges in appropriately setting force control parameters for force-controlled tasks, particularly in detecting contact with the external environment, which affects the robot's sensitivity and performance in tasks like fitting and teaching operations.
A robot control device that includes a force control unit, a contact detection unit, and a parameter adjustment unit, which automatically adjusts force control parameters by detecting external forces and adjusting robot sensitivity, allowing for optimal force control parameter settings through multiple iterations of force-controlled movements.
Enables efficient and safe execution of force-controlled tasks by automatically adjusting force control parameters and sensitivity, improving the robot's performance and reducing operator workload by eliminating the need for manual sensitivity adjustments.
Abstract
Description
Robot control device
[0001] The present disclosure relates to a robot control device.
[0002] A known robot teaching method is lead-through teaching, in which an operator teaches a robot arm by directly pushing it with his or her hand (see, for example, Patent Document 1). In lead-through teaching, the robot arm is controlled to move in response to an external force applied to the robot arm by the operator.
[0003] Force control is known as one type of robot control method. By applying force control, a robot can be made to perform advanced tasks such as fitting a workpiece held by a hand at the tip of a robot arm with a counterpart workpiece, surface matching, and search (see, for example, Patent Documents 2 to 4). To properly perform tasks using force control with a robot, it is necessary to properly set force control parameters that define the relationship between the force applied to the workpiece and the behavior of the robot. Patent Document 2 describes an example of a method for automatically setting a force control gain, which is one of the force control parameters.
[0004] JP 2015-199174 A JP 2007-237312 A JP 2016-043457 A JP 2019-141937 A
[0005] Robots that support direct teaching, such as lead-through teaching, are generally configured to detect contact between the robot and the external environment for safety reasons. Even with such robots, it is desirable to set force control parameters appropriately in order to properly perform tasks using force control.
[0006] There is a demand for a robot control device that can suitably adjust force control parameters for a robot that can detect contact between the robot and the external environment.
[0007] One aspect of the present disclosure is a robot control device comprising: a force control unit that performs force control based on a detected value of an external force and a predetermined force control parameter; a contact detection unit that is configured to detect contact between a robot and an external environment and that performs predetermined control on the robot when the contact is detected; and a force control parameter adjustment unit that adjusts the predetermined force control parameter by performing the movement of the robot multiple times using the force control, wherein the force control parameter adjustment unit adjusts the predetermined force control parameter while adjusting the sensitivity of contact detection by the contact detection unit.
[0008] These and other objects, features and advantages of the present invention will become more apparent from the detailed description of exemplary embodiments of the invention illustrated in the accompanying drawings.
[0009] 6A . FIG. 6B is a diagram showing the equipment configuration of a robot system according to an embodiment. FIG. 6C is a diagram showing a functional block diagram of a robot control device. FIG. 6D is a flowchart showing the overall flow of a parameter adjustment process. FIG. 6E is a flowchart showing a force control parameter automatic adjustment process. FIG. 6F is a side view showing an attitude error between a workpiece and a target object during automatic adjustment of force control parameters. FIG. 6G is a plan view showing an attitude error between the workpiece and target object shown in FIG. 5. FIG. 6H is a plan view showing a workpiece and a target object in which the attitude error direction is shifted by 90 degrees with respect to FIG. 6A. FIG. 6H is a plan view showing a workpiece and a target object in which the attitude error direction is shifted by 180 degrees with respect to FIG. 6A. FIG. 6I is a plan view showing a workpiece and a target object in which the attitude error direction is shifted by 270 degrees with respect to FIG. 6A. FIG. 6I is a diagram showing a state in which a notification screen indicating that the force control parameter automatic setting process is being executed is displayed together with a setting screen for setting force control parameters. FIG. 6J is a diagram showing a robot sensitivity adjustment screen. FIG. 6J is a diagram showing a state in which a notification screen indicating that the force control parameter automatic adjustment process has been completed is displayed. FIG. 6J is a diagram showing a state in which an indicator indicating the adjusted robot sensitivity is displayed on the setting screen. FIG. 6J is a diagram for explaining the display state of a sensitivity indicator for robot sensitivity.
[0010] Next, embodiments of the present disclosure will be described with reference to the drawings. In the drawings, like components or functional parts are designated by like reference numerals. The scales of these drawings have been changed appropriately to facilitate understanding. Furthermore, the embodiment shown in the drawings is one example for implementing the present invention, and the present invention is not limited to the illustrated embodiment.
[0011] FIG. 1 is a diagram showing the equipment configuration of a robot system 100 according to one embodiment. The robot system 100 is configured to be able to perform various tasks using force control. As shown in FIG. 1, the robot system 100 includes a robot 10, a robot controller 20 that controls the robot 10, a teaching pendant 40 connected to the robot controller 20, and a hand 30. Also, as shown in FIG. 1, the robot system 100 may include a display device 50 that displays various information related to the execution of an operation program. FIG. 1 illustrates, as an example, a case in which the robot 10 performs a fitting operation in which a workpiece W1 is fitted into a fitting hole MH of a workpiece W2 on a workbench 1.
[0012] In this example, the robot 10 is a vertical articulated robot. However, a parallel link robot or other types of robots may also be used as the robot 10. The robot 10 has a base 11 and a robot arm 12 composed of multiple link members. The multiple drive axes of the robot arm 12 are equipped with actuators 13 (see FIG. 2) including servo motors.
[0013] A hand 30 is attached to the tip of the arm of the robot 10. The hand 30 is driven and controlled by the robot control device 20 and grips the workpiece W1. In the fitting operation, the workpieces include the workpiece W1 gripped by the hand 30 and a workpiece W2 on the workbench. The workpiece W1 has, for example, a cylindrical shape. The workpiece W2 is a target object into which the workpiece W1 is fitted by the operation of the robot 10. The workpiece W2 has a fitting hole MH into which the workpiece W1 is fitted. The workpiece W2 is placed on the workbench 1 with the fitting hole MH facing upward.
[0014] The robot 10 is equipped with an external force detector 15 that detects external forces (FIG. 2). The external force detector 15 may be composed of a force sensor mounted on the robot 10, or may be composed of torque sensors provided on each axis of the robot 10. FIG. 1 shows an example in which a force sensor 15a functioning as the external force detector 15 is disposed at the base of the hand 30. The force sensor 15a is, for example, a six-axis force sensor that can detect forces in the X-, Y-, and Z-axis directions and moments around these axes. The detected values of the external force detector 15 are output to the robot control device 20.
[0015] In this way, the robot 10 is equipped with the external force detector 15, and is configured to be able to perform work (such as fitting work) using force control, and also to be able to handle direct teaching such as lead-through teaching.
[0016] For reference, a typical robot equipped with a force control function and capable of direct teaching will be described below. Robots capable of direct teaching, such as lead-through teaching, are generally configured to detect contact between the robot and the external environment to ensure the safety of workers during direct teaching. When contact is detected, the robot is stopped. Contact between the robot and the external environment can be detected, for example, by setting a threshold for external forces acting on the robot and determining that contact has occurred when the external force exceeds the threshold. Because the robot's response varies depending on the threshold, the threshold setting is also referred to as robot sensitivity. The higher the robot sensitivity (i.e., the lower the threshold), the more sensitive the robot is to external forces and attempt to stop (the robot will attempt to stop even with a small external force). The lower the robot sensitivity (i.e., the higher the threshold), the slower the robot's response to external forces (the robot will not stop unless a large external force is applied).
[0017] In direct teaching, the threshold value is usually set to a value greater than the force applied to the robot, but it is generally considered preferable to set the robot sensitivity high from the viewpoint of safety.
[0018] Consider performing force control in a robot that is capable of detecting contact with the external environment as described above. As described above, in order to properly perform force control, it is necessary to properly set force control parameters. Adjusting the force control parameters is an advanced and difficult task, so adopting a configuration that can automatically adjust the force control parameters is beneficial to the user. When automatically adjusting the force control parameters, it is common to have the robot try out force control operations to obtain adjustment values. On the other hand, it is also necessary to consider that the robot sensitivity can affect the robot's behavior, as described above.
[0019] In view of the above circumstances, the robot control device 20 according to this embodiment is configured to be able to adjust the force control parameters while adjusting the robot sensitivity, as will be described in detail below.
[0020] The robot control device 20 controls the operation of the robot 10 in accordance with an operation program or commands from the teaching pendant 40. The robot control device 20 may have a hardware configuration as a general computer having a processor 21 (FIG. 2), memory (ROM, RAM, non-volatile memory, etc.), a storage device, an operation unit, an input / output interface, a network interface, etc.
[0021] The teaching pendant 40 is used as an operation terminal for teaching the robot 10 and performing various settings. A teaching device configured with a tablet terminal or the like may be used as the teaching pendant 40. The teaching pendant 40 may have a hardware configuration as a general computer having a processor, memory (ROM, RAM, non-volatile memory, etc.), a storage device, an operation unit, a display unit 41 ( FIG. 2 ), an input / output interface, a network interface, etc.
[0022] The display device 50 provides a function of displaying various information related to the execution of an operating program. An information processing device such as a personal computer can be used as the display device 50. The display device 50 may have a hardware configuration as a general computer having a processor, memory (ROM, RAM, non-volatile memory, etc.), a storage device, an operation unit, a display unit 51 ( FIG. 2 ), an input / output interface, a network interface, etc.
[0023] Although Figure 1 shows a configuration in which the display device 50 and the teaching operation panel 40 are provided as separate devices in the robot system 100, the function of the display device 50 may be integrated into the teaching operation panel 40.
[0024] Fig. 2 shows a functional block diagram of the robot control device 20. As shown in Fig. 2, the robot control device 20 has a movement control unit 121, a force control unit 122, a contact detection unit 123, an automatic parameter adjustment unit 124, a robot sensitivity adjustment unit 125, and a storage unit 126. Note that the functional blocks of the movement control unit 121, the force control unit 122, the contact detection unit 123, the automatic parameter adjustment unit 124, and the robot sensitivity adjustment unit 125 may be realized by the processor 21 executing software.
[0025] An external force detector 15 provided on the robot 10 detects an external force acting on the robot 10 and provides the detected value to a force control unit 122 and a contact detection unit 123. The robot 10 is provided with a sensitivity indicator 16 that displays the robot sensitivity. The function of the sensitivity indicator 16 will be described later. Each joint axis of the robot 10 is provided with an actuator 13.
[0026] The teaching pendant 40 includes a display unit 41. The display unit 41 includes, for example, a liquid crystal display. The display unit 41 displays, for example, various pieces of information related to teaching the robot 10.
[0027] The display device 50 includes a display unit 51. The display unit 51 includes, for example, a liquid crystal display. The display unit 51 displays, for example, various information related to the execution of the operation program.
[0028] The force control unit 122 provides a function of performing an operation by force control by sending a command to the operation control unit 121 based on the external force detected by the external force detector 15 and the force control parameters. The force control parameters are stored in the memory unit 126, for example.
[0029] The movement control unit 121 controls the movement of the robot 10 in accordance with commands from the force control unit 122, the contact detection unit 123, etc. The movement control unit 121 generates commands for the actuators 13 of each joint axis by kinematic calculation and executes control.
[0030] The automatic parameter adjustment unit 124 provides a function of automatically adjusting force control parameters by executing force-controlled robot movement multiple times. The force control parameters include a force control gain, a velocity command value, a force command value, etc. The force control unit 122 executes force control in accordance with these force control parameters.
[0031] The contact detection unit 123 detects contact between the robot 10 and the external environment (such as a human), and executes predetermined control on the robot 10 when contact is detected. Here, as an example, the contact detection unit 123 determines that contact has occurred between the robot 10 and the external environment (such as a human) when the magnitude of the force or moment detected by the external force detector 15 exceeds a threshold. Because the reaction of the robot 10 changes depending on the level of the threshold, the setting state of the threshold represents the sensitivity of contact detection by the contact detection unit 123. As described above, this contact detection sensitivity (setting state of the threshold) is also referred to as robot sensitivity. The predetermined control may be stopping the robot 10, causing the robot 10 to move at a sufficiently slow speed, or the like. In the following, the predetermined control is assumed to be stopping the robot 10.
[0032] The robot sensitivity adjustment unit 125 provides a function to change the threshold (i.e., robot sensitivity) used by the contact detection unit 123 to detect contact between the robot 10 and the external environment. Lowering the threshold corresponds to increasing the robot sensitivity. Note that if the robot sensitivity is high, the robot will react sensitively to external forces and will stop with a relatively small force (external force). Increasing the threshold corresponds to decreasing the robot sensitivity. Note that if the robot sensitivity is low, the robot will react slowly to external forces and will not stop unless a relatively large force is applied.
[0033] With the above configuration, in both cases where a task using force control (such as a fitting task) is performed and where lead-through teaching is performed in which the operator applies force directly to the arm or the like of the robot 10 to teach it, the robot 10 can be stopped to ensure safety if contact between the robot 10 and the external environment is detected. Note that in lead-through teaching, the force control unit 122 generates an operation command to move the robot 10 in the direction of the external force detected by the external force detector 15 (the direction of the force applied by the operator to the robot 10).
[0034] The storage unit 126 stores operation programs, force control parameters, robot sensitivity, various setting information, etc. The storage unit 126 may be configured by a non-volatile memory, a storage device, etc.
[0035] The automatic adjustment of the force control parameters may be affected by the robot sensitivity. For example, if the robot sensitivity is high (i.e., if the threshold value is low), the external force may easily exceed the limit value (the threshold value), causing the robot to react sensitively to the external force, which may result in unstable robot operation. In this case, the robot may not be able to handle force control that requires a large pressing force. In consideration of the above-described influence of the robot sensitivity on the adjustment of the force control parameters, the automatic parameter adjustment unit 124 is configured to check the robot sensitivity, adjust the robot sensitivity, and then adjust the parameters again if the parameter adjustment fails. This enables appropriate automatic adjustment of the force control parameters and enables the robot sensitivity for the force control parameters to be set to an optimal state.
[0036] 3 is a flowchart showing the overall flow of the parameter adjustment process according to this embodiment. The automatic parameter adjustment unit 124 functions as a force control parameter adjustment unit that manages this parameter adjustment process. First, the operator instructs the necessary force control parameters (step S1). Here, for example, the operator inputs the force control parameters via a setting screen (user interface). The force control parameters input by the operator are stored in the storage unit 126.
[0037] 7 shows an example of a setting screen 200 for setting force control parameters. The setting screen 200 includes input fields 201 for inputting force control parameters. The operator can teach the force control parameters by inputting values in these input fields 201. The automatic parameter adjustment unit 124 may have a function for presenting such a setting screen. Such a setting screen may be displayed on the display unit 51 of the display device 50, or on the display unit 41 of the teaching pendant 40.
[0038] Next, the force control parameter automatic adjustment process is executed by the parameter automatic adjustment unit 124 (step S2). The setting screen 200 may be provided with a field 210 for starting the force control parameter automatic adjustment process. In this case, the operator can start the force control parameter automatic adjustment process by pressing an execute button 211. When the force control parameter automatic adjustment process is started, a notification screen 300 may be presented, indicating that the force control parameter automatic adjustment process is being performed. In this example, the notification screen 300 includes an indicator 311 that indicates the progress of the force control parameter automatic adjustment process in the form of a bar graph, and an interrupt instruction button 312.
[0039] FIG. 4 is a flowchart illustrating the automatic adjustment process of force control parameters. The automatic adjustment process of force control parameters by the automatic parameter adjustment unit 124 will be described with reference to the flowchart shown in FIG. 4, as well as FIGS. 5 and 6A-6D. The automatic adjustment of force control parameters is performed, for example, when the robot system is started up, when the type of workpiece is changed, or when the hand is replaced. Here, an example will be described in which a fitting operation is performed to fit the workpiece W1 held by the hand 30 into the fitting hole of the workpiece W2. This automatic parameter adjustment process is performed by the force control unit 122 and the operation control unit 121 executing control under instructions from the automatic parameter adjustment unit 124.
[0040] When this process is started, first, the automatic parameter adjustment unit 124 reads out the initial parameters for force control from the storage unit 126. The force control unit 122 issues a command to the robot 10 based on the initial parameters, and executes a first operation to operate the robot 10 so as to fit the workpiece W1 grasped by the hand 30 into the fitting hole MH of the workpiece W2 (step S101).
[0041] FIG. 5 is a side view showing the state immediately before the workpiece W1 held by the hand 30 is fitted into the fitting hole MH of the workpiece W2 by force control of the robot 10 based on the initial parameters. FIG. 6A is a plan view thereof. As shown in FIGS. 5 and 6A, when the robot 10 is force-controlled based on the initial parameters, the robot 10 shows a posture in which the workpiece W1 is placed at an angle with respect to the fitting hole MH. Specifically, the axis W1a of the workpiece W1 is inclined by an angle E1 in the −X-axis direction around the Y-axis (leftward in FIGS. 5 and 6A ) with respect to the axis W2a of the fitting hole MH of the workpiece W2.
[0042] In order to properly fit the workpiece W1 into the fitting hole MH, the robot 10 must be in a position where the axis W1a of the workpiece W1 and the axis W2a of the fitting hole MH are aligned. Therefore, angle E1 represents the position error that the robot 10 must correct at the start of fitting. This angle E1 is the amount of change in the position of the robot 10 required to properly fit the workpiece W1 into the fitting hole MH, i.e., the amount of position error correction (E).
[0043] Here, if the rotation matrix representing the robot posture at the start of mating is TA and the rotation matrix representing the robot posture after mating is TB, then inv(TB)×TA is the rotation matrix representing the correction amount (E) of the posture error at the start. inv is the inverse matrix. The automatic parameter adjustment unit 124 calculates this correction amount (E) of the posture error and stores it in the memory unit 126 (step S102).
[0044] It should be noted that a threshold value for the amount of correction for the attitude error is preset in the automatic parameter adjustment unit 124. If the absolute value of the amount of correction for the attitude error (E) calculated in step S102 is equal to or less than the threshold value, the automatic parameter adjustment unit 124 sets the amount of correction for the attitude error (E) to a predetermined value. This is to intentionally add an attitude error when there is no attitude error or when the attitude error is too small. The predetermined value is, for example, a threshold value. That is, if the threshold value is set to 0.5 degrees and the amount of correction for the attitude error calculated in step S102 is equal to or less than 0.5 degrees, the amount of correction for the attitude error (E) is set to 0.5 degrees.
[0045] Next, the force control unit 122 performs a second mating operation by changing the direction of the posture error at the same position and with the same absolute value as the correction amount (E) of the posture error of the robot 10 when the first mating operation was performed (step S103).
[0046] In step S103, the automatic parameter adjustment unit 124 performs fitting from a posture indicated by a rotation matrix of TB × T(90) × inv(TB) × TA. T(90) is a matrix that rotates the workpiece W1 by 90 degrees around the fitting direction (around the axis W2a of the fitting hole MH) for the first fitting operation. As a result, as shown in FIG. 6B , the robot 10 performs fitting from a position where the axis W1a of the workpiece W1 is tilted by an angle E1 in the +Y-axis direction around the X-axis (downward in FIG. 6B ) with respect to the axis W2a of the fitting hole MH of the workpiece W2.
[0047] Next, the force control unit 122 changes the direction of the posture error again and performs a third mating operation at the same position and with the same absolute value as the correction amount (E) of the posture error of the robot 10 when the second mating operation was performed (step S104).
[0048] In step S104, the automatic parameter adjustment unit 124 performs fitting from a posture indicated by a rotation matrix of TB × T(180) × inv(TB) × TA. T(180) is a matrix that rotates the workpiece W1 by 180 degrees around the fitting direction (around the axis W2a of the fitting hole MH) for the first fitting operation. As a result, as shown in FIG. 6C , the robot 10 performs fitting from a position where the axis W1a of the workpiece W1 is tilted by an angle E1 in the +X-axis direction around the Y-axis (to the right in FIG. 6C ) with respect to the axis W2a of the fitting hole MH of the workpiece W2.
[0049] Next, the force control unit 122 changes the direction of the posture error again and performs a fourth mating operation at the same position and with the same absolute value as the correction amount (E) of the posture error of the robot 10 when the third mating operation was performed (step S105).
[0050] In step S105, the automatic parameter adjustment unit 124 performs fitting from a posture indicated by a rotation matrix of TB x T(270) x inv(TB) x TA. T(270) is a matrix that rotates the workpiece W1 by 270 degrees around the fitting direction (around the axis W2a of the fitting hole MH) for the first fitting operation. As a result, as shown in FIG. 6D , the robot 10 performs fitting from a position where the axis W1a of the workpiece W1 is tilted by an angle E1 in the -Y axis direction around the X axis (upward in FIG. 6D ) with respect to the axis W2a of the fitting hole MH of the workpiece W2.
[0051] In each of the first to fourth mating operations, the automatic parameter adjustment unit 124 records the detection values output from the external force detector 15 via the force control unit 122. After the mating operations in the four directions (four postures) are completed, the automatic parameter adjustment unit 124 calculates the amount of vibration from the detection values of the external force detector 15 during each mating operation, and selects the direction (posture) in which the detection value data is the most vibratory (step S106).
[0052] One method for determining the vibration amount is to perform a Fourier transform on the detected value of the external force detector 15 and determine the amplitude of a specific frequency based on the result. Alternatively, the vibration amount may be determined by determining the maximum or average value of the change in the detected value of the external force detector 15.
[0053] In step S106, automatic parameter adjustment unit 124 selects the direction (posture) in which the data of the detection value from external force detector 15 is most vibratory, and then determines force control parameters 1 to N adjusted based only on the posture error in that direction (posture) (step S107), and changes each force control parameter to improve performance (step S108). N is the number of types of force control parameters. The types of force control parameters include force control gain, velocity command value, and force command value. The force control parameters may be adjusted one by one, or multiple types of parameters may be adjusted simultaneously.
[0054] After changing the force control parameters in this manner in step S108, the force control unit 122 operates the robot 10 to again fit the workpiece W1 into the fitting hole MH of the workpiece W2 based on the posture error in the direction (posture) that was the most vibratory among the four directions (four postures) of the fitting operation (step S109).
[0055] Changing the force control parameters too much to improve force control performance can easily lead to instability of the robot 10, such as increased vibration. For example, increasing the force control gain speeds up the response to the generated force, thereby speeding up correction of posture errors during mating and shortening the time required for mating. On the other hand, increasing the force control gain too much can amplify noise and cause the robot 10 to oscillate. Therefore, after performing the mating operation in step S109, the parameter automatic adjustment unit 124 calculates the vibration amount from the detection value of the external force detector 15 using the above-described method and determines whether the robot 10 is oscillating (step S110). Whether the robot 10 is oscillating can be determined by, for example, whether the vibration amount is larger than the vibration amount at the time of the previous parameter automatic adjustment or whether it exceeds a preset vibration amount threshold.
[0056] If it is determined in step S110 that the robot 10 is not oscillating (step S110: NO), the automatic parameter adjustment unit 124 returns to the process from step S108. That is, the automatic parameter adjustment unit 124 changes the force control parameters so that the performance of the force control parameters is further improved, and then performs the fitting operation again with the posture error that caused the most vibration. Thereafter, in step S110, it is determined again whether the robot 10 is oscillating. The processes of steps S108 and S109 are repeated until it is determined in step S110 that the robot 10 is oscillating.
[0057] On the other hand, if it is determined in step S110 that the robot 10 is oscillating (step S110: YES), the parameter automatic adjustment unit 124 returns the changed force control parameter to the previous value (step S111).
[0058] As a result, the force control parameters are set to limit values that do not cause oscillation in the robot 10. The parameter automatic adjustment unit 124 outputs the set force control parameters to the storage unit 126, overwrites and saves them, and then terminates the force control parameter automatic adjustment process.
[0059] Although an example has been described in which the force control parameters are automatically adjusted by moving the workpiece W1 from a plurality of orientation error directions, the force control parameters may also be automatically adjusted by moving the workpiece W1 from a plurality of position error directions and orientation error directions.
[0060] If the force control parameter automatic adjustment process proceeds normally from steps S101 to S111 and ends, parameter automatic adjustment unit 124 determines that the automatic adjustment was successful. On the other hand, if the force control parameter automatic adjustment process does not end normally from steps S101 to S111 and an automatically adjusted value of the force control parameter is not obtained, parameter automatic adjustment unit 124 determines that the automatic adjustment failed and interrupts and ends the force control parameter automatic adjustment process.
[0061] Returning to the description of FIG. 3, next, the automatic parameter adjustment unit 124 checks whether the automatic adjustment has failed (step S3).
[0062] If the parameter automatic adjustment unit 124 determines that the automatic adjustment has failed (S3: YES), the process proceeds to step S4. In step S4, the parameter automatic adjustment unit 124 checks the robot sensitivity.
[0063] If the robot sensitivity is not the lowest (S5: NO), the parameter automatic adjustment unit 124 lowers the robot sensitivity and executes the force control parameter automatic adjustment process again (step S6). When automatically adjusting the robot sensitivity, the parameter automatic adjustment unit 124 may display a sensitivity adjustment screen 310 such as that shown in FIG. 8 via the robot sensitivity adjustment unit 125. In this case, the operator can check how the robot sensitivity is being adjusted. The sensitivity adjustment screen 310 illustrated in FIG. 8 indicates the setting status of the robot sensitivity by the length of a bar 321 (the position of a button 322). Note that this sensitivity adjustment screen 310 may be displayed on the display screen together with the setting screen 200 such as that shown in FIG. 7.
[0064] When the second automatic adjustment of the force control parameters is completed, the process returns to step S3.
[0065] If the robot sensitivity is at its lowest (S5: YES), the operator checks the alarm content that is output when the force control parameter automatic adjustment process ends in failure, makes the necessary adjustments, and executes the process from step S2 (step S7).
[0066] If the force control parameter automatic adjustment process is successful (S3: NO), the process proceeds to step S8. At this time, a notification screen 301 indicating that the force control parameter automatic adjustment process has been completed may be displayed on the display screen, as shown in Fig. 9. In step S8, automatic parameter adjustment unit 124 records the adjusted robot sensitivity in storage unit 126, for example (step S8).
[0067] At this time, the automatic parameter adjustment unit 124 may display an image indicating the adjusted robot sensitivity. Fig. 10 shows an example in which an indicator 220 indicating the adjusted robot sensitivity is displayed on the setting screen 200. This allows the operator to visually and instantly grasp how the robot sensitivity has changed as a result of the automatic adjustment.
[0068] If the robot sensitivity set in the automatic adjustment differs from the robot sensitivity before the automatic adjustment was performed, the parameter automatic adjustment unit 124 returns the robot sensitivity to the robot sensitivity before the automatic adjustment (step S9).
[0069] According to the parameter adjustment process described above, it is possible to automatically adjust the force control parameters to appropriate values while setting the robot sensitivity to appropriate values. Therefore, it is possible to efficiently obtain force control parameters that bring about high performance. Furthermore, according to the above configuration, it is possible to set the robot sensitivity to a high value within a range in which the automatic adjustment of the force control parameters is successful. Therefore, it is possible to set the robot sensitivity while taking safety into consideration in the automatic adjustment of the force control parameters. In other words, according to the above configuration, it is possible to efficiently set the force control parameters and robot sensitivity to appropriate values, thereby enabling efficient startup of the robot system.
[0070] The robot sensitivity recorded in step S8 is used when performing the force control task that was the subject of parameter adjustment (the fitting task in the above example). That is, when the force control task that was the subject of parameter adjustment (the fitting task in the above example) is performed at a later stage, the force control unit 122 changes the robot sensitivity to the recorded robot sensitivity and performs force control. Then, when the task using force control is completed, the robot sensitivity is returned to its original state before the task using force control was performed. This eliminates the need for the operator to manually adjust the robot sensitivity, thereby reducing the operator's workload.
[0071] 10 may be configured so that the robot sensitivity can be adjusted by operating the button 221 of the indicator 220. For example, if an operator desires to further shorten the cycle time, he or she can set the robot sensitivity to a lower value and execute the force control parameter automatic adjustment process again.
[0072] The robot sensitivity adjustment unit 125 may be configured to display the current robot sensitivity on a sensitivity indicator 16 arranged on the robot 10. The sensitivity indicator 16 may be, for example, an LED lamp. In this case, the robot sensitivity adjustment unit 125 may control the brightness of the LED lamp so that the higher the robot sensitivity, as shown in FIG. 11 . The sensitivity indicator 16 may be arranged in a position that is easily visible to an operator, such as the base 11 of the robot 10. Because the operator operating the robot 10 can instantly grasp the robot sensitivity from the sensitivity indicator 16, displaying the robot sensitivity on the sensitivity indicator 16 can contribute to improving work safety.
[0073] The display of the robot sensitivity by the sensitivity indicator 16 may be performed during the adjustment process of the force control parameters, or may be performed constantly while the robot 10 is in operation. The sensitivity indicator 16 may use a display format other than brightness to display the sensitivity.
[0074] The functional layout in the functional block diagram shown in Fig. 2 is an example, and various modifications are possible regarding the layout of the functional blocks. For example, some of the functional blocks arranged in the robot control device in the functional block diagram of Fig. 2 may be mounted on a teaching pendant or a display device.
[0075] The functional blocks of the robot control device shown in FIG. 2 may be realized by the processor of the robot control device executing various software stored in a storage device, or may be realized by a configuration mainly based on hardware such as an ASIC (Application Specific Integrated Circuit).
[0076] The programs that execute various processes such as the parameter adjustment process (FIG. 2) and the automatic parameter adjustment process (FIG. 3) in the above-described embodiments can be recorded on various computer-readable recording media (for example, semiconductor memories such as ROM, EEPROM, and flash memory, magnetic recording media, and optical disks such as CD-ROM and DVD-ROM).
[0077] As described above, according to this embodiment, it is possible to adjust the force control parameters to appropriate values and also to adjust the robot sensitivity appropriately.
[0078] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the spirit of the present disclosure derived from the content of the claims and their equivalents. These embodiments can also be implemented in combination. 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.
[0079] The following supplementary notes are provided regarding the above-described embodiment and modified examples. (Supplementary Note 1) A robot control device comprising: a force control unit that performs force control based on a detected value of an external force and a predetermined force control parameter; a contact detection unit that is configured to detect contact between a robot and an external environment and that performs predetermined control on the robot when the contact is detected; and a force control parameter adjustment unit that adjusts the predetermined force control parameter by moving the robot multiple times using the force control, wherein the force control parameter adjustment unit adjusts the predetermined force control parameter while adjusting the sensitivity of contact detection by the contact detection unit. (Supplementary Note 2) The robot control device according to Supplementary Note 1, wherein if adjustment of the force control parameter fails, the force control parameter adjustment unit reduces the sensitivity of the contact detection and repeats the operation of adjusting the force control parameter again until adjustment of the force control parameter is successful. (Supplementary Note 3) The robot control device according to Supplementary Note 1 or 2, wherein the force control parameter adjustment unit records the sensitivity of contact detection when adjustment of the force control parameter is successful. (Supplementary Note 4) The robot control device according to any one of Supplementary Notes 1 to 3, wherein, after successful adjustment of the force control parameter, the force control parameter adjustment unit returns the contact detection sensitivity to an original state before adjustment of the force control parameter is performed. (Supplementary Note 5) The robot control device according to Supplementary Note 3, wherein, when executing the force control, the force control unit changes the contact detection sensitivity to the recorded contact detection sensitivity. (Supplementary Note 6) The robot control device according to Supplementary Note 5, wherein, after executing the force control, the force control unit returns the sensitivity of the robot to the state before execution of the force control. (Supplementary Note 7) The robot control device according to any one of Supplementary Notes 1 to 6, wherein the force control parameter adjustment unit displays a user interface screen for displaying the contact detection sensitivity when adjustment of the force control parameter is successful. (Supplementary Note 8) The robot control device according to Supplementary Note 7, wherein the user interface screen is configured to accept a user operation to adjust the contact detection sensitivity and an instruction to cause the force control parameter adjustment unit to adjust the force control parameter again with the contact detection sensitivity adjusted by the user operation.(Supplementary Note 9) The robot control device according to any one of Supplementary Notes 1 to 8, wherein the force control parameter adjustment unit sends a signal to adjust the brightness of a sensitivity indicator provided on the robot in accordance with the contact detection sensitivity currently applied to the robot.
[0080] REFERENCE SIGNS LIST 10 Robot 11 Base 12 Robot arm 13 Actuator 15 External force detector 16 Sensitivity display 20 Robot control device 21 Processor 30 Hand 40 Teaching operation panel 41 Display unit 50 Display device 51 Display unit 100 Robot system 121 Operation control unit 122 Force control unit 123 Contact detection unit 124 Automatic parameter adjustment unit 200 Setting screen 220 Indicator 300, 301 Notification screen 310 Sensitivity adjustment screen
Claims
1. A force control unit that executes force control based on a detected value of an external force and a predetermined force control parameter; A contact detection unit configured to be able to detect contact between the robot and the external environment, and to execute predetermined control on the robot when the contact is detected; A force control parameter adjustment unit that adjusts the predetermined force control parameter by executing the movement of the robot by the force control a plurality of times, and The force control parameter adjustment unit adjusts the predetermined force control parameter while adjusting the sensitivity of contact detection by the contact detection unit. A robot control device.
2. When the force control parameter adjustment unit fails to adjust the force control parameter, the sensitivity of the contact detection is decreased, and the operation of adjusting the force control parameter again is repeated until the adjustment of the force control parameter is successful. The robot control device according to claim 1.
3. The force control parameter adjustment unit records the sensitivity of the contact detection at the time of successful adjustment of the force control parameter. The robot control device according to claim 1.
4. After the force control parameter adjustment unit successfully adjusts the force control parameter, the sensitivity of the contact detection is returned to the original state before the execution of the adjustment of the force control parameter. The robot control device according to any one of claims 1 to 3.
5. When the force control unit executes the force control, the force control unit changes the sensitivity of the contact detection to the recorded sensitivity of the contact detection. The robot control device according to claim 3.
6. After the force control unit executes the force control, the force control unit returns the sensitivity of the robot to the state before the execution of the force control. The robot control device according to claim 5.
7. The force control parameter adjustment unit displays a user interface screen for displaying the sensitivity of the contact detection at the time of successful adjustment of the force control parameter. The robot control device according to any one of claims 1 to 3.
8. The user interface screen is configured to receive a user operation for adjusting the sensitivity of the contact detection and an instruction to execute the adjustment of the force control parameter by the force control parameter adjustment unit again with the sensitivity of the contact detection adjusted by the user operation. The robot control device according to claim 7.
9. The robot control device according to any one of claims 1 to 3, wherein the force control parameter adjustment unit transmits a signal for adjusting the brightness of a sensitivity display provided on the robot according to the sensitivity of the contact detection currently applied to the robot.