Machine learning device and robot system
The machine learning device addresses the challenge of identifying force application positions on robots with changing postures by learning a model from acquired data, enhancing operation mode switching and reducing sensor costs.
Patent Information
- Application Number
- JP2022032082
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-03-02
- Publication Date
- 2025-09-24
- Estimated Expiration
- 2042-03-02
AI Technical Summary
Existing robot systems struggle to accurately identify the position where an external force acts on the robot, especially when the robot's posture changes arbitrarily, due to the complex relationship between the distance of the force application and the robot's posture.
A machine learning device that learns a model representing the relationship between external forces, angles, and torques acting on a robot with multiple links, using a data acquisition unit to gather training data and a learning unit to identify the position of force application, even with changing postures.
Enables accurate identification of the position where an external force acts on the robot, improving the robot's operation mode switching based on the force application point, reducing the need for complex condition setting and sensor costs.
Smart Images

Figure 0007742988000001 
Figure 0007742988000002 
Figure 0007742988000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a machine learning device applied to a robot system. [Background technology]
[0002] For example, in a robot system capable of performing direct teaching, it is desirable to enable the robot to move at high speed when moving a tool at the end of the robot's arm from one work location to another, and to enable the robot to move at low speed when aligning the tool with the workpiece. Therefore, the robot system described in Patent Document 1 switches to a different operation mode depending on the double-tapped position when the external force detected by the six-axis force sensor is a double tap caused by two external forces within a predetermined time. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 2019-18257 Summary of the Invention [Problem to be solved by the invention]
[0004] Incidentally, the robot system described in Patent Document 1 divides the moment Mz about the vertical first axis by the external force Fx in the horizontal X-axis direction to find the distance R from the first axis to the point of application of the external force F, and identifies the double-tap position based on the distance R. However, the relationship between the distance R and the double-tap position (the position where the external force acts) changes depending on the robot's posture. For this reason, if the robot's posture changes arbitrarily, the simple calculation method described in Patent Document 1 cannot identify the position where the external force acts.
[0005] The present invention has been made to solve these problems, and its main purpose is to make it possible to identify the position where an external force acts on a robot even if the robot's posture changes arbitrarily. [Means for solving the problem]
[0006] The first means for solving the above problem is: A machine learning device that learns a position where an external force acts on a robot having a plurality of links connected to be capable of relative rotation, a data acquisition unit that acquires, as a learning data set, data on external forces acting on the robot, data on angles between the connected links, data on torques acting between the connected links, and data on positions at which external forces act on the robot; a learning unit that learns a model that represents a relationship between the external force, the angle, the torque, and the position based on the learning data set acquired by the data acquisition unit; Equipped with.
[0007] According to the above configuration, the machine learning device learns the position where an external force acts on a robot having multiple links connected to each other so that they can rotate relative to each other. Here, if the position where the external force acts is known, it is easy to calculate the torque acting between the connected links based on the external force and the robot's posture. However, calculating the position where the external force acts from the detected external force, the detected robot's posture, and the detected torque between the links requires setting complex conditions, which is not easy.
[0008] In this regard, the data acquisition unit acquires, as a training data set, data on external forces acting on the robot, data on angles between the connected links, data on torques acting between the connected links, and data on positions at which external forces act on the robot. Such a training data set can be acquired for any posture of the robot.
[0009] The learning unit then learns a model representing the relationship between the external force, the angle, the torque, and the position based on the learning data set acquired by the data acquisition unit. Learning a model based on the learning data set does not require setting complex conditions, and a known learning algorithm can be employed. Therefore, even if the robot's posture changes arbitrarily, the position where the external force acts on the robot can be identified by inputting the detected external force, the detected angle between the links, and the detected torque between the links into the learned model.
[0010] The external force acting on the robot, the angle between the links, and the position where the external force acts on the robot can be set by a user based on experience, etc., by taking into account the robot's motion. In contrast, the torque between links is affected by links other than the adjacent links, and it is not easy for a user to set the torque based on experience, etc., even if the robot's motion is taken into account. However, the inventors of the present application have noticed that it is easy to calculate the torque between links based on the external force acting on the robot, the angle between the links, and the position where the external force acts.
[0011] Therefore, in the second means, the data acquisition unit acquires the torque data by calculation based on the external force data, the angle data, and the position data, thereby making it possible to easily acquire the torque data between links used in the learning data set.
[0012] In a third means, the position data includes a first portion of the robot and a second portion of the robot that is closer to the tip than the first portion. With this configuration, by inputting the detected external force, the detected angle between the links, and the detected torque between the links into a trained model, it is possible to identify whether the external force is acting on the first portion or the second portion of the robot. Furthermore, since the data on the positions where the external force is acting on the robot is only the first portion and the second portion, it is easy to have the data acquisition unit acquire the position data.
[0013] A fourth means is a robot system, The robot; The machine learning device according to any one of claims 1 to 3; an external force detection unit that detects an external force acting on the robot; an angle sensor for detecting an angle between the links connected to each other; a torque sensor that detects a torque acting between the links that are connected to each other; a position detection unit that inputs the external force detected by the external force detection unit, the angle detected by the angle sensor, and the torque detected by the torque sensor into the model learned by the learning unit, and detects a position on the robot at which the external force detected by the external force detection unit acts; Equipped with.
[0014] According to the above configuration, the robot system includes the machine learning device according to any one of the first to third means. The position detection unit inputs the external force detected by the external force detection unit, the angle detected by the angle sensor, and the torque detected by the torque sensor to the model trained by the learning unit, and detects a position on the robot where the external force detected by the external force detection unit acts. Therefore, in the robot system, the trained model can be used to detect a position on the robot where an external force acts, thereby improving the accuracy of detecting a position on the robot where an external force acts.
[0015] Furthermore, since robots are generally equipped with angle sensors and torque sensors, costs can be reduced compared to using a contact sensor to detect the position where an external force acts on the robot. [Brief explanation of the drawings]
[0016] [Figure 1] Schematic diagram of the robot. [Figure 2]FIG. 1 is a block diagram showing the configuration of a robot system. [Figure 3] FIG. 1 is a block diagram showing the configuration of a machine learning device. [Figure 4] A flowchart showing the steps in machine learning. [Figure 5] 10 is a flowchart showing a procedure for direct teaching. [Figure 6] Schematic diagram of a modified robot. [Figure 7] FIG. 10 is a block diagram showing the configuration of a modified example of the robot system. [Figure 8] FIG. 10 is a block diagram showing the configuration of another modified example of the robot system. [Figure 9] Schematic diagram of another modified example of the robot. DETAILED DESCRIPTION OF THE INVENTION
[0017] Hereinafter, an embodiment of a robot system capable of performing direct teaching will be described with reference to the drawings.
[0018] First, the configuration of a six-axis vertical articulated robot provided in the robot system will be described.
[0019] 1, the robot 20 includes a base B (base platform) fixed to the floor surface, a first link 21 supported to be rotatable about a first axis J1 perpendicular to the base B, a second link 22 supported to be swingable about a second axis J2 horizontal to the first link 21, a third link 23 supported at the tip of the second link 22 to be swingable about a third axis J3 parallel to the second axis J2, a fourth link 24 supported to be torsionally rotatable about a fourth axis J4 in the direction in which the third link 23 extends, a fifth link 25 (wrist) supported at the tip of the fourth link 24 to be swingable about a fifth axis J5 parallel to the second axis J2, and a sixth link 26 (flange) supported to be torsionally rotatable about a sixth axis J6 in the direction in which the fifth link 25 extends. The first link 21 to the sixth link 26 form an arm of the robot 20. That is, the arm has a first link 21 to a sixth link 26 that are connected so as to be capable of rotating relative to each other.
[0020] A six-axis force sensor 31 that detects forces and moments is disposed midway between the fourth link 24 (the third link from the tip, a predetermined link). The force sensor 31 can detect forces and moments applied to the arm on the tip side of the force sensor 31, i.e., the portion of the fourth link 24 (the third link from the tip) closer to the tip side than the force sensor 31, the fifth link 25, and the sixth link 26. Note that when the force sensor 31 is attached to the tip sixth link 26, the force sensor 31 can only detect forces and moments applied to the tip sixth link 26 or to a tool or the like further tip side than the tip sixth link 26. Furthermore, when the force sensor 31 is attached to a link closer to the base end, for example, the first link 21, the force sensor 31 is required to have high rigidity to withstand large forces and high detection accuracy to detect small external forces.
[0021] A torque sensor 32E is provided between the fourth link 24 and the fifth link 25 to detect the torque acting between the fourth link 24 and the fifth link 25. A torque sensor 32F (not shown) is provided between the fifth link 25 and the sixth link 26 to detect the torque acting between the fifth link 25 and the sixth link 26. The torque sensors 32E and 32F are collectively referred to as torque sensor 32. That is, the torque sensor 32 detects the torque acting between the links that are connected to each other.
[0022] 2, the robot system 10 includes a direct teaching control unit 50. The direct teaching control unit 50 (control unit) allows the user to select a direct teaching mode in which the robot 20 is manually moved by directly applying an external force to the robot 20. When the direct teaching mode is selected, the position information of each axis of the robot 20 is sequentially stored by a teaching operation at each position to which the robot 20 is manually moved, thereby easily teaching an operation program.
[0023] The direct teaching control unit 50 then switches the operating mode (movement pattern) depending on the part of the arm of the robot 20 to which the external force (hereinafter referred to as "external force for movement") applied by the user to move the arm during direct teaching is applied.
[0024] The robot 20 includes a joint angle sensor 33 , an external force detection unit 36 , and a contact area detection unit 37 .
[0025] The joint angle sensors 33 (angle sensors) include a joint angle sensor 33A that detects the angle (joint angle) between the base B and the first link 21, a joint angle sensor 33B that detects the angle between the first link 21 and the second link 22, a joint angle sensor 33C that detects the angle between the second link 22 and the third link 23, a joint angle sensor 33D that detects the angle between the third link 23 and the fourth link 24, a joint angle sensor 33E that detects the angle between the fourth link 24 and the fifth link 25, and a joint angle sensor 33F that detects the angle between the fifth link 25 and the sixth link 26. In other words, the joint angle sensors 33 detect angles between the links that are connected to each other.
[0026] The external force detection unit 36 detects the external force applied to the arm (external force acting on the robot 20) based on the force and moment detected by the force sensor 31. Note that the external force detection unit 36 may take into account the torque detected by the torque sensor 32 when detecting the external force applied to the arm.
[0027] The contact part detection unit 37 (part detection unit) detects whether the external force detected by the external force detection unit 36 is applied to a first part of the arm or a second part closer to the tip side than the first part. The first part is the fourth link 24 and the fifth link 25 (links other than the tip) among the first link 21 to the sixth link 26 (multiple links). The second part is the sixth link 26 (the tip link) among the first link 21 to the sixth link 26.
[0028] Specifically, the contact part detection unit 37 (position detection unit) inputs the external force detected by the external force detection unit 36, the joint angle detected by the joint angle sensor 33, and the torque detected by the torque sensor 32 into the trained AI model 37a, and detects whether the external force detected by the external force detection unit 36 was applied to the first part or the second part of the arm (the position where the external force acted on the robot 20). The contact part detection unit 37 outputs the detected part to the direct teaching control unit 50.
[0029] When performing direct teaching, the direct teaching control unit 50 moves the arm (robot 20) in a high-speed operation mode (first movement mode) based on the external force detected by the external force detection unit 36 when a first part is detected by the contact part detection unit 37, and moves the arm in a low-speed operation mode (second movement mode) that is slower than the high-speed operation mode based on the external force detected by the external force detection unit 36 when a second part is detected by the contact part detection unit 37. The high-speed operation mode is an operation mode (movement mode) in which the arm moves at a first speed V1. The low-speed operation mode is an operation mode (movement mode) in which the arm moves at a second speed V2 that is lower than the first speed V1. Note that the first speed V1 and the second speed V2 may be constant or may be changed according to the external force detected by the external force detection unit 36, but the second speed V2 is a speed lower than the first speed V1 (V2 <V1)。
[0030] Next, a machine learning device that generates the trained AI model 37a will be described. Figure 3 is a block diagram showing the configuration of the machine learning device 60. The machine learning device 60 includes a data acquisition unit 70 and a learning unit 80. Note that the machine learning device 60 may be provided separately from the robot 20 in the robot system 10, or may be mounted on the robot 20.
[0031] The machine learning device 60 is composed of a computer having a processor (CPU, GPU, etc.), a memory unit (ROM, RAM, etc.), and an input device (keyboard, mouse, touch panel, etc.), or software (program) such as a learning algorithm.
[0032] The data acquiring unit 70 generates, as random external force data, external forces within a range that can act on the robot 20. Specifically, external forces are generated randomly and comprehensively within a range that can be assumed as external forces that a user can apply to the robot 20 in direct teaching.
[0033] The data acquisition unit 70 generates, as random joint angle data, angles within a range that can be formed between the mutually connected links 21 to 26. Specifically, the data acquisition unit 70 randomly generates angles between the links (joint angles) comprehensively within a range that can be assumed as postures that the arm of the robot 20 can take in direct teaching.
[0034] The data acquisition unit 70 generates contact area data representing positions within a range where an external force can act on the robot 20. Specifically, the data acquisition unit 70 generates the first area and the second area as positions where a user applies an external force to the robot 20 in direct teaching.
[0035] The external force acting on the robot 20, the angle between the links, and the position at which the external force acts on the robot 20 can be generated as described above by taking into account the motion of the robot 20 in direct teaching. On the other hand, the torque between links is affected by links other than the adjacent links, and it is not easy to generate it directly even when the motion of the robot 20 is taken into account. On the other hand, the inventors of the present application have noticed that it is easy to calculate the torque between links based on the external force acting on the robot 20, the angle between the links, and the position at which the external force acts.
[0036] Therefore, the data acquisition unit 70 calculates joint torque data as torque acting on each axis of the robot 20 based on the generated random external force data, the generated random joint angle data, and the generated contact area data. This calculation can be easily performed using a known general method. More specifically, the random external force data, random joint angle data, and contact area data are combined, and joint torque data is calculated for each combination.
[0037] The data acquisition unit 70 performs preprocessing on the random external force data, random joint angle data, contact site data, and joint torque data. For example, the random external force data and joint torque data are each subjected to standardization processing to convert the scale of the data into values close to the range of -1 to +1. The random joint angle data is converted into a sine wave and a cosine wave to suppress discontinuous changes in the data and to align the scale of the data to the range of -1 to +1. The contact site data is subjected to one-hot vectorization, which represents the data as a vector in which only the component corresponding to each contact site is 1 and the remaining components are all 0.
[0038] Then, the data acquiring unit 70 acquires the random external force data, random joint angle data, joint torque data, and contact area data that have each been preprocessed as teacher data (learning data set). More specifically, the random external force data, random joint angle data, and joint torque data are example data (input data), and the contact area data is correct answer data (output data).
[0039] The learning unit 80 learns an AI model 80a that represents the relationship between external forces, joint angles, joint torques, and contact points based on training data. That is, the learning unit 80 generates a trained AI model 80a by performing supervised learning. For such supervised learning, algorithms such as deep learning, support vector machine (SVM), and Gaussian mixture model (GMM) can be used.
[0040] The robot 20 then introduces the AI model 80a (predetermined relationship acquired in advance) learned by the learning unit 80 as the trained AI model 37a of the contact area detection unit 37. The contact area detection unit 37 inputs the external force detection value, joint angle detection value, and joint torque detection value into the trained AI model 37a, thereby detecting (estimating) the area where the user made contact with the robot 20 (the position where the external force acted on the robot 20). Note that formulating a calculation formula for calculating the position where the external force acted from the external force detection value, joint angle detection value, and joint torque detection value is not easy, as it requires setting complex conditions.
[0041] 4 is a flowchart showing the steps of machine learning executed by the machine learning device 60. The details of each step are as described above.
[0042] The data acquisition unit 70 generates random external force data, random joint angle data, and contact area data (S10 to S12). The data acquisition unit 70 calculates joint torque data (S13). The data acquisition unit 70 performs preprocessing on the random external force data, random joint angle data, and contact area data (S14). The learning unit 80 trains the AI model 80a based on the preprocessed random external force data, random joint angle data, joint torque data, and contact area data (S15).
[0043] 5 is a flowchart showing the procedure of direct teaching. This series of processes is executed by the direct teaching control unit 50.
[0044] First, it is determined whether or not a force has been detected by the force sensor 31 (S20). In this determination, if it is determined that a force has not been detected by the force sensor 31 (S20: NO), the process of S20 is executed again.
[0045] On the other hand, if it is determined in the determination of S20 that a force has been detected by the force sensor 31 (S20: YES), it is determined whether the part of the robot 20 that the user has touched is the sixth link 26 (S21). If it is determined in this determination that the part of the robot 20 that the user has touched is the sixth link 26 (S21: YES), the arm of the robot 20 is moved in the low-speed operation mode (S22). On the other hand, if it is determined in the determination of S21 that the part of the robot 20 that the user has touched is not the sixth link 26 (S21: NO), the arm of the robot 20 is moved in the high-speed operation mode (S23).
[0046] Next, the position and posture of the arm of the robot 20 are taught in response to the user's operation (S24). It is determined whether the teaching operation by the user has ended (S25). If it is determined that the teaching operation by the user has not ended (S25: NO), the process is executed again from S20. On the other hand, if it is determined that the teaching operation by the user has ended (S25: YES), this series of processes is ended (END).
[0047] The present embodiment described above in detail has the following advantages.
[0048] The contact part detection unit 37 detects whether the external force detected by the external force detection unit 36 is applied to the first part of the arm or to a second part closer to the tip of the first part. When performing direct teaching, if the contact part detection unit 37 detects the first part, the direct teaching control unit 50 moves the arm in high-speed operation mode based on the external force detected by the external force detection unit 36. Therefore, when an external force applied by the user to move the arm during direct teaching (hereinafter referred to as a "moving external force") is applied to the first part, the direct teaching control unit 50 switches to high-speed operation mode and moves the arm based on the moving external force. In other words, the user does not need to apply a special type of external force different from the moving external force. By applying the moving external force to the first part, the arm can be moved in high-speed operation mode based on the moving external force.
[0049] When the second part is detected by the contact part detection unit 37, the direct teaching control unit 50 moves the arm in a low-speed operation mode that is more difficult to move than the high-speed operation mode based on the external force detected by the external force detection unit 36. Therefore, when a movement external force is applied to a second part closer to the tip end than the first part during direct teaching, the direct teaching control unit 50 switches to the low-speed operation mode that is more difficult to move than the high-speed operation mode and continues to move the arm based on the movement external force. In other words, the user does not need to apply a special type of external force different from the movement external force; by applying the movement external force to the second part, the arm can be moved in the low-speed operation mode based on the movement external force.
[0050] The user can move the arm in the desired operation mode by selecting either the first or second part and applying an external force for movement depending on the desired operation mode, without having to be aware of the current operation mode. Furthermore, the user can move the arm in the high-speed operation mode by applying an external force for movement to the first part, and can move the arm in the low-speed operation mode, which is more difficult to move than the high-speed operation mode, by applying an external force for movement to the second part, which is closer to the tip of the first part. Therefore, the user can intuitively switch between the high-speed operation mode and the low-speed operation mode in real time through natural operations during direct teaching.
[0051] When the user wishes to fine-tune the position of the sixth link 26, the user can intuitively move the arm in the low-speed operation mode by applying an external force for movement to the sixth link 26. When the user wishes to move the arm over a large distance, the user can intuitively move the arm in the high-speed operation mode by applying an external force for movement to the fifth link 25 or the fourth link 24.
[0052] The sixth link 26 is defined as the second portion, and the portion of the fourth link 24 closer to the tip than the force sensor 31 and the fifth link 25 are defined as the first portion, and the forces and moments applied to the first and second portions can be detected by the force sensor 31. Furthermore, because the force sensor 31 is provided on the fourth link 24 close to the tip, high rigidity is not required of the force sensor 31, and the force and moments applied to the first and second portions can be detected by the force sensor 31 with high detection accuracy.
[0053] The force sensor 31 can detect with high accuracy the forces and moments applied to the sixth link 26 or to a tool or the like further distal than the sixth link 26. Therefore, the force sensor 31 can be used as a sensor for detecting forces and moments acting on a tool or the like during automatic operation of the robot 20, not just during direct teaching.
[0054] When the user wishes to fine-tune the position of the second portion, the user can apply a movement external force to the second portion, thereby moving the arm at a second speed V2 that is lower than the first speed V1. When the user wishes to move the arm over a large distance, the user can apply a movement external force to the first portion, thereby moving the arm at the first speed V1 that is higher than the second speed V2. In this case, the user does not need to apply a special type of external force or be aware of the current operation mode, and can switch the arm movement speed with a natural operation during direct teaching.
[0055] The learning unit 80 learns an AI model 80a that represents the relationship between external forces, joint angles, joint torques, and contact positions based on the training data acquired by the data acquisition unit 70. Training the AI model 80a based on the training data does not require setting complex conditions, and a known learning algorithm can be employed. Therefore, even if the posture of the robot 20 changes arbitrarily, the position where the external force acts on the robot 20 can be identified by inputting the detected external forces, the detected angles between the links, and the detected torques between the links into the trained AI model 37a.
[0056] The data acquisition unit 70 acquires joint torque data by calculation based on the random external force data, random joint angle data, and contact area data. Therefore, data on torque between links to be used as training data can be easily acquired.
[0057] The contact area data includes a first area on the robot 20 and a second area on the tip side of the first area on the robot 20. With this configuration, by inputting the detected external force, the detected angle between the links, and the detected torque between the links into the trained AI model 37a, it is possible to identify whether the external force has acted on the first area or the second area on the robot 20. Furthermore, because the contact area data includes only the first area and the second area, it is easy to have the data acquisition unit 70 acquire the contact area data.
[0058] The robot system 10 includes a machine learning device 60. The contact area detection unit 37 inputs the external force detected by the external force detection unit 36, the joint angle detected by the joint angle sensor 33, and the torque detected by the torque sensor 32 to a trained AI model 37a (AI model 80a trained by the learning unit 80), and detects the position where the external force detected by the external force detection unit 36 acts on the robot 20. Therefore, in the robot system 10, the trained AI model 37a can be used to detect the position where the external force acts on the robot 20, thereby improving the accuracy of detecting the position where the external force acts on the robot 20.
[0059] Generally, robots are equipped with joint angle sensors and torque sensors, which reduces costs compared to using a contact sensor to detect the position where an external force acts on the robot 20.
[0060] The above embodiment can be modified as follows: The same parts as those in the above embodiment are denoted by the same reference numerals and the description thereof will be omitted.
[0061] The portion of the fourth link 24 closer to the tip end than the force sensor 31 may be defined as the first portion, and the fifth link 25 and the sixth link 26 may be defined as the second portion.
[0062] As shown in Fig. 6, the robot 120 does not need to be equipped with a force sensor 31. In this case, as shown in Fig. 7, the external force detection unit 36 detects the external force applied to the arm based on the torque detected by the torque sensors 32 (32A to 32E). According to the above configuration, by utilizing the torque sensors 32 included in the robot 120, the external force detection unit 36 can detect the external force applied to the arm based on the torque detected by the torque sensors 32.
[0063] 8, the robot 220 may not include the force sensor 31, but may include a contact sensor 34 that detects the contacted part of the arm. In this case, the contact part detection unit 37 detects whether the external force detected by the external force detection unit 36 has been applied to the first part or the second part of the arm, based on the part detected by the contact sensor 34. With the above configuration, it is possible to accurately detect whether the external force detected by the external force detection unit 36 has been applied to the first part or the second part, based on the part detected by the contact sensor 34.
[0064] 7 and 8, the fourth link 24 and the fifth link 25 may be the first part, and the sixth link 26 may be the second part. Alternatively, the third link 23 and the fourth link 24 may be the first part, and the fifth link 25 and the sixth link 26 may be the second part.
[0065] 9, in a robot 320, a portion of the arm closer to the base end than the force sensor 31 can be defined as a first portion, and a portion of the arm closer to the tip end than the force sensor 31 can be defined as a second portion. The contact portion detection unit 37 can also detect whether the external force detected by the external force detection unit 36 has been applied to the first portion or the second portion of the arm, based on the torque detected by the torque sensor 32 (32A to 32E), the force and moment detected by the force sensor 31, and a predetermined relationship between these detected in advance.
[0066] According to the above configuration, the force and moment applied to the second portion can be detected by the force sensor 31. On the other hand, the force and moment applied to the first portion are not detected by the force sensor 31. Therefore, when the torque sensor 32 detects a torque corresponding to the external force for movement but the force sensor 31 does not detect a force or moment, it can be assumed that the external force for movement has been applied to the first portion. Therefore, the contact portion detection unit 37 can detect whether the external force detected by the external force detection unit 36 has been applied to the first portion or the second portion of the arm, based on the torque detected by the torque sensor 32, the force and moment detected by the force sensor 31, and the predetermined relationship between them that has been acquired in advance.
[0067] As the high-speed operation mode (first movement mode), an operation mode in which the arm moves while generating a first movement resistance Rm1 can be adopted, and as the low-speed operation mode (second movement mode), an operation mode in which the arm moves while generating a second movement resistance Rm2 (>Rm1) higher than the first movement resistance Rm1 can be adopted.
[0068] As the high-speed operation mode (first movement mode), an operation mode in which the arm is accelerated at a first acceleration A1 when moving the arm can be adopted, and as the low-speed operation mode (second movement mode), an operation mode in which the arm is accelerated at a second acceleration A2 lower than the first acceleration A1 when moving the arm can be adopted. Note that the first acceleration A1 and the second acceleration A2 may be constant or may be changed according to the external force detected by the external force detection unit 36, but the second acceleration A2 is an acceleration lower than the first acceleration A1 (A2 <A1)。
[0069] The random external force data can be an external force detected by the force sensor 31 during direct teaching. The random joint angle data can be a joint angle detected by the joint angle sensor 33 during direct teaching. The joint torque data can be a torque detected by the torque sensor 32 during direct teaching. Furthermore, the random external force data can be an external force set by the user based on, for example, their experience with direct teaching. The random joint angle data can be a joint angle set by the user based on, for example, their experience with direct teaching.
[0070] The machine learning device 60 may be configured as a PC (Personal Computer), a server, or the like that is provided separately from the robot system 10.
[0071] The machine learning device 60 can learn the position where an external force acts on a master robot not only in the robot system 10 capable of executing direct teaching but also in a master-slave robot system in which a slave robot operates according to the operation of a master robot. The machine learning device 60 can also learn the position where a user collides with the robot 20, 120, 220, 320 while the robot 20, 120, 220, 320 is operating automatically.
[0072] The relationship between the external force detected by the external force detection unit 36, the torque detected by the torque sensor 32, and the joint angle detected by the joint angle sensor 33 can be registered in advance as a template (predetermined relationship) based on testing, etc., and the position where the external force acts on the robot 20, 120, 220, 320 can be detected by pattern matching with the template.
[0073] The robots 20, 120, 220, and 320 are not limited to six-axis vertical articulated robots, but may be five-axis vertical articulated robots or seven-axis vertical articulated robots.
[0074] <Inventions extracted from the above embodiments and modifications> The following describes the features of the inventions extracted from the above-described embodiments and modifications, highlighting their effects as needed.
[0075] (Feature 1) The machine learning device described in the second means, wherein the data acquisition unit acquires data on the external forces by generating external forces within a range that can act on the robot, acquires data on the angles by generating angles within a range that can be formed between the links that are connected to each other, and acquires data on the positions by generating positions within a range that can act on the robot with external forces.
[0076] According to the above configuration, the data acquisition unit acquires each piece of data by generating the range of external forces that can occur, the angles between the links, and the positions of the external forces, thereby eliminating the need for the user to actually measure each piece of data or to set it based on experience, etc.
[0077] (Feature 2) The machine learning device according to any one of the first to third means, wherein the position data consists of links other than the tip of the plurality of links and the tip of the plurality of links.
[0078] According to the above configuration, by inputting the detected external force, the detected angle between the links, and the detected torque between the links into a trained model, it is possible to identify whether the external force has acted on a link other than the tip or on the tip link of the robot.
[0079] (Feature 3) The robot system is capable of performing direct teaching, and includes a control unit that, when performing direct teaching, moves the robot in a first movement mode based on the external force detected by the external force detection unit when a first part of the robot is detected by the position detection unit, and moves the robot in a second movement mode that is less mobile than the first movement mode based on the external force detected by the external force detection unit when a second part of the robot that is more tip-side than the first part is detected by the position detection unit.
[0080] According to the above configuration, in a robot system capable of performing direct teaching, the position where an external force acts on the robot can be detected with high accuracy using a learned model, and the robot can be switched between a first movement mode and a second movement mode depending on the position where the external force acts. [Explanation of symbols]
[0081] 10...Robot system, 20...Robot, 21...First link, 22...Second link, 23...Third link, 24...Fourth link, 25...Fifth link, 26...Sixth link, 36...External force detection unit, 37...Contact area detection unit (area detection unit), 37a...Trained AI model, 50...Direct teaching control unit (control unit), 60...Machine learning device, 70...Data acquisition unit, 80...Learning unit, 80a...AI model, 120...Robot, 220...Robot, 320...Robot.
Claims
1. A machine learning device that learns a position where an external force acts on a robot having a plurality of links connected to be capable of relative rotation, a data acquisition unit that acquires, as a learning data set, data on external forces acting on the robot, data on angles between the connected links, data on torques acting between the connected links, and data on positions at which external forces act on the robot; a learning unit that learns a model that represents a relationship between the external force, the angle, the torque, and the position based on the learning data set acquired by the data acquisition unit; A machine learning device comprising:
2. The machine learning device according to claim 1 , wherein the data acquisition unit acquires the torque data by calculation based on the external force data, the angle data, and the position data.
3. The machine learning device according to claim 1 , wherein the position data includes a first portion of the robot and a second portion of the robot that is closer to a tip end than the first portion.
4. The robot; The machine learning device according to any one of claims 1 to 3; an external force detection unit that detects an external force acting on the robot; an angle sensor for detecting an angle between the links connected to each other; a torque sensor that detects a torque acting between the links that are connected to each other; a position detection unit that inputs the external force detected by the external force detection unit, the angle detected by the angle sensor, and the torque detected by the torque sensor into the model learned by the learning unit, and detects a position on the robot at which the external force detected by the external force detection unit acts; A robot system comprising:
Citation Information
Patent Citations
Control device and control method
JP2017177297A
Robot system and teaching method of robot
JP2019018257A
Information processing device, information processing system, and information processing method
JP2021049597A
Direct teaching device and direct teaching method
JP2021094659A
Robot system and operation method
US20200376666A1