Robot system, and robot system manufacturing method
The robot system addresses the challenge of structural arm errors by using a controller that adjusts operation commands based on stored factor information, enhancing the accuracy of operation teaching and reducing errors.
Patent Information
- Application Number
- JP2023201032
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-28
- Publication Date
- 2025-06-09
AI Technical Summary
Existing robot systems face challenges in accurately teaching operations due to structural errors in the robot arm, leading to operation errors when executing taught positions.
A robot system with a controller that stores factor information representing structural error factors of the arm, allowing the controller to adjust operation commands to reduce errors based on teaching positions and stored factor information.
The system effectively improves the workability of operation teaching by reducing operation errors caused by structural arm factors, enabling accurate control of the robot even with teaching positions generated without considering these errors.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a robot system and a method for manufacturing a robot system.
Background Art
[0002] Patent Document 1 discloses a control system including a controller and an operation device. The operation device acquires an operation input by an operator, generates a command based on the operation input, and outputs the command to the controller. The controller controls the robot according to the command from the operation device.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] The present disclosure provides a system effective for improving the workability of operation teaching for a robot.
Means for Solving the Problems
[0005] A robot system according to an aspect of the present disclosure includes a robot having an arm whose hand position can be changed, and a robot controller that controls the robot. The robot controller includes a factor storage unit that stores factor information representing an error factor of an operation caused by the structure of the arm, and a robot control unit that controls the robot so that an operation error caused by the error factor is reduced based on a teaching position representing the operation of the robot and the factor information.
[0006] A method for manufacturing a robot system according to another aspect of the present disclosure is a method for manufacturing a robot system including a robot having an arm whose tip position can be changed and a robot controller for controlling the robot, the method including operating the robot by the robot controller in a predetermined operation pattern, generating factor information representing an error factor of an operation caused by the structure of the arm based on the operation pattern and the operation result of the robot, and storing the factor information in a storage unit of the robot system.
Effect of the Invention
[0007] According to the present disclosure, a system effective in improving the workability of operation teaching for a robot can be provided.
Brief Description of the Drawings
[0008]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Embodiments for Carrying Out the Invention
[0009] Hereinafter, embodiments will be described in detail with reference to the drawings. In the description, the same reference numerals are assigned to the same elements or elements having the same function, and redundant descriptions are omitted.
[0010] 〔Robot System〕 The robot system 1 shown in FIG. 1 is a system for causing the robot 2 to execute work. Examples of work include work such as workpiece transfer, machining of workpieces, and assembly of workpieces. Examples of machining of workpieces include grinding of workpieces, polishing of workpieces, etc. Examples of assembly of workpieces include fastening of a plurality of parts (parts of workpieces) to each other by bolt fastening, joining of a plurality of parts to each other by welding, etc.
[0011] The robot system 1 includes a robot 2 and a control system 3. The robot 2 is, for example, an industrial vertical articulated robot and has an arm 10 whose tip position can be changed. The tip is, for example, the tip portion of an end effector 19 that acts on a workpiece. The arm 10 may be able to change the position and posture of the tip.
[0012] The control system 3 has a robot controller 100 that controls the robot 2. The robot controller 100 operates the robot 2 according to one or more teaching positions. Each of the one or more teaching positions represents the operation of the robot 2. For example, each of the one or more teaching positions includes information specifying the target position and target posture of the tip. The teaching position may include information directly specifying the target position and target posture of the tip itself, or may include information indirectly specifying the target position and target posture of the tip. Examples of information indirectly specifying the target position and target posture of the tip include information on the target angles of the respective joints of the arm 10.
[0013] The above teaching positions may be a plurality of teaching positions included in a pre-generated and stored operation program (operation path) in time series. The above teaching positions may be teaching positions of the robot system 1 temporarily generated based on manual operations by the user.
[0014] The control system 3 may further include a simulation device 200 and a teaching terminal 300. The simulation device 200 and the teaching terminal 300 can communicate with the robot controller 100. The teaching terminal 300 is, for example, a programming pendant, and accepts manual operations by the user for operation teaching and the like for the robot 2.
[0015] The operation teaching means, for example, the work of storing the operation to be executed by the robot 2 as an operation program. The operation teaching includes offline teaching performed by the simulation device 200 in a state where the robot 2 is not operating, and online teaching performed while operating the robot 2 by input to the teaching terminal 300. The operation teaching also includes correcting the operation program generated by the offline teaching by the online teaching.
[0016] For example, the arm 10 has a base 11, a swivel part 12, a first arm 13, a second arm 14, a third arm 17, a tip part 18, and one or more motors 40. The base 11 is installed, for example, on the floor surface of the work area. The base 11 may be installed on a moving body such as an automated guided vehicle that moves within the work area.
[0017] The swivel part 12 is provided on the base 11 so as to swivel around a vertical axis 21. The first arm 13 is connected to the base 11 so as to swing around an axis 22 that intersects (for example, is orthogonal to) the axis 21, and extends in a direction away from the axis 22. The intersection includes, for example, a state of being twisted with respect to each other like a three-dimensional intersection. The same applies hereinafter.
[0018] The second arm 14 is connected to the end of the swivel part 12 so as to swing about an axis 23 parallel to the axis 22. The second arm 14 has an arm base 15 and an arm end 16. The arm base 15 extends in a direction away from the axis 23. The second arm 14 is connected to the end of the arm base 15 so as to swivel about an axis 24 along the central axis of the arm base 15, and further extends from the arm base 15 along the axis 24.
[0019] The third arm 17 is connected to the end of the arm end 16 so as to swing about an axis 25 intersecting (for example, orthogonal to) the axis 24, and extends in a direction away from the axis 25. The tip 18 is connected to the third arm 17 so as to swivel about an axis 26 along the central axis of the third arm 17.
[0020] In this way, the arm 10 has a joint 31 that enables the swivel part 12 to swivel about the axis 21 with respect to the base 11, a joint 32 that enables the first arm 13 to swing about the axis 22 with respect to the swivel part 12, a joint 33 that enables the arm base 15 to swing about the axis 23 with respect to the first arm 13, a joint 34 that enables the arm end 16 to swivel about the axis 24 with respect to the arm base 15, a joint 35 that enables the third arm 17 to swing about the axis 25 with respect to the arm end 16, and a joint 36 that enables the tip 18 to swivel about the axis 26 with respect to the third arm 17.
[0021] The above-described end effector 19 is attached to the tip 18. Examples of the end effector 19 include a suction nozzle for holding a workpiece, a hand for gripping a workpiece, a grinding tool for grinding a workpiece, a polishing tool for polishing a workpiece, a screw tightening tool (for example, a driver or a wrench) for screw tightening (for example, tightening a bolt), a welding gun for spot welding, a welding torch for arc welding, a painting gun for painting, etc., but are not limited to these examples. The arm 10 changes the position and orientation of the tip 18 of the end effector 19 by changing the position and orientation of the tip 18 through the operations of the joints 31, 32, 33, 34, 35, 36.
[0022] One or more motors 40 move the arm 10. For example, the arm 10 has a plurality of motors 41, 42, 43, 44, 45, 46 as one or more motors 40. The motors 41, 42, 43, 44, 45, 46 operate the six-axis joints 31, 32, 33, 34, 35, 36 respectively to change the position and posture of the tip portion 18. Thereby, the position and posture of the control system 3 are changed together with the position and posture of the tip portion 18.
[0023] For example, the motor 41 drives the joint 31 so as to turn the turning part 12 around the axis 21. The motor 42 drives the joint 32 so as to swing the first arm 13 around the axis 22. The motor 43 drives the joint 33 so as to swing the arm base 15 around the axis 23. The motor 44 drives the joint 34 so as to turn the arm end 16 around the axis 24. The motor 45 drives the joint 35 so as to swing the third arm 17 around the axis 25. The motor 46 drives the joint 36 so as to turn the tip portion 18 around the axis 26.
[0024] Each of the motors 41, 42, 43, 44, 45, 46 is, for example, an electric motor. Each of the motors 41, 42, 43, 44, 45, 46 may directly drive the drive target, or may drive via a transmission element such as a speed reducer.
[0025] The configuration of the arm 10 illustrated above is merely an example, and can be changed as long as the position and posture of the control system 3 can be changed. For example, the arm 10 may be a redundant robot in which one or more redundant axes are added to the six-axis joint described above. Further, the arm 10 may be a scalar robot or a parallel link robot.
[0026] The robot 2 configured as described above includes factors causing operation errors due to the structure of the arm 10 and the like. Therefore, if the robot 2 is operated based on the taught position generated without considering the error factors, the position and orientation of the end effector may deviate from the taught position. Hereinafter, such a deviation is referred to as an operation error. When the operation error is not allowed, the robot 2 cannot be operated at the taught position generated without considering the operation error, and it is necessary to actually operate the robot 2 including the error factors to regenerate the taught position. Moreover, since there are individual differences among the plurality of robots 2 in the error factors, it is necessary to actually operate each of the plurality of robots 2 to regenerate the taught position.
[0027] Therefore, the robot controller 100 is configured to execute storing factor information representing error factors of operations caused by the structure of the arm 10, and controlling the robot 2 based on the taught position representing the operation of the robot 2 and the factor information so that the operation error caused by the error factors is reduced.
[0028] According to the robot controller 100, control based on the taught position is performed without including the error factors in the taught position, and the operation error caused by the error factors is reduced. Therefore, even if the taught position is generated without considering the error factors, control for reducing the operation error with respect to the taught position is executed. Therefore, the robot controller 100 is effective in improving the workability of operation teaching. According to the robot controller 100, the robot 2 can be controlled with high accuracy in the real space even by the taught position generated by offline teaching in the virtual space without error factors. Also, the teaching result can be applied to a plurality of robots 2 with individual differences.
[0029] For example, as shown in FIG. 2, the robot controller 100 includes, as functional components (hereinafter referred to as "function blocks"), a parameter storage unit 111, a factor storage unit 112, and a robot control unit 113. The parameter storage unit 111 includes the kinematic parameters of the robot 2. The kinematic parameters are, for example, DH parameters and include link lengths and joint positions. The link lengths include, for example, the lengths of a plurality of links (e.g., base 11, swivel unit 12, first arm 13, arm base 15, arm end 16, third arm 17, and tip 18) connected by a plurality of joints (e.g., joints 31, 32, 33, 34, 35, 36). The joint positions include the connection order of the plurality of joints and the plurality of links. The parameter storage unit 111 may further include the dynamic parameters of the robot 2. The dynamic parameters further include the weight information of each part of the robot 2.
[0030] The factor storage unit 112 stores factor information representing error factors. The error factors may include the compliance of the arm 10. The compliance represents the ease (or difficulty) of bending of the arm 10. The error factors may include the dimensional error of the arm 10. Examples of the dimensional error include errors in link lengths, misalignments between links, and angular errors at the origin position.
[0031] The causal information may include the compliance of joints 31, 32, 33, 34, 35, and 36 as information representing the compliance of the arm 10. The compliance of joint 31 represents, for example, the ease of deflection (the ease of displacement due to deflection) of the end portion (e.g., joint 32) of the swivel portion 12 with respect to joint 31. The compliance of joint 32 represents, for example, the ease of deflection of the end portion (e.g., joint 33) of the first arm 13 with respect to joint 32. The compliance of joint 33 represents, for example, the ease of deflection of the end portion (e.g., joint 35) of the second arm 14 with respect to joint 33. The compliance of joint 34 represents, for example, the ease of deflection of the end portion (e.g., joint 35) of the arm end 16 with respect to joint 34. The compliance of joint 35 represents, for example, the ease of deflection of the end portion (e.g., joint 36) of the third arm 17 with respect to joint 35. The compliance of joint 36 represents, for example, the ease of deflection of the end portion of the end effector 19 with respect to joint 36.
[0032] The causal information may include errors in the lengths of the base 11, the swivel portion 12, the first arm 13, the arm base 15, the arm end 16, the third arm 17, the tip portion 18, and the end effector 19 as information representing dimensional errors of the arm 10. Further, the causal information may include misalignments of the swivel portion 12 with respect to the base 11, the first arm 13 with respect to the swivel portion 12, the arm base 15 with respect to the first arm 13, the arm end 16 with respect to the arm base 15, the third arm 17 with respect to the arm end 16, the tip portion 18 with respect to the third arm 17, and the end effector 19 with respect to the tip portion 18.
[0033] The operation error caused by the error factor is, for example, the difference that occurs between the target position and target posture of the hand tip (the tip portion of the end effector 19) and the actual position and posture of the hand tip due to the accumulation of the error factors.
[0034] The robot control unit 113 controls the robot 2 so that the operation error is reduced based on the teaching position representing the operation of the robot 2 and the factor information. For example, the robot control unit 113 generates a position command obtained by adding a component that cancels the operation error to the teaching position, and controls the robot 2 to follow the position command.
[0035] For example, the robot control unit 113 includes a command generation unit 114 and an operation control unit 115. The command generation unit 114 sequentially generates a position command representing the path position of the robot 2 to the teaching position based on the teaching position and the factor information.
[0036] The position command represents the path position and path posture of the hand tip. The position command wave may directly represent the path position and path posture of the hand tip, or may indirectly represent the path position and path posture of the hand tip. For example, the position command may indirectly represent the path position and path posture of the hand tip by the respective angles of the joints 31, 32, 33, 34, 35, 36.
[0037] Based on the teaching position and the factor information, a position command representing the path position of the robot 2 to the teaching position is sequentially generated so that the operation error is reduced. The path position includes the position passed through until reaching the teaching position and the teaching position itself. The operation control unit 115 controls the robot 2 with the sequentially generated position commands. For example, the command generation unit 114 and the operation control unit 115 repeat the generation of the position command and the control of the robot 2 by the position command at a predetermined control cycle (for example, 10 ms or less). The operation error can also be reduced in the intermediate path to the teaching position.
[0038] Referring to FIG. 3, the generation of the position command by the command generation unit 114 will be exemplified. In each cycle repeated at the control period, the command generation unit 114 generates a provisional position command based on the taught position. For example, the command generation unit 114 generates a provisional position command PC1 including the cycle target position and cycle target posture of the end effector based on the current position and current posture of the end effector, the target position and target posture of the end effector specified by the taught position, and a predetermined interpolation method. The interpolation method may be stored in association with the taught position. The cycle target position and cycle target posture are the target position and target posture of the end effector at the time of cycle completion.
[0039] The command generation unit 114 calculates the deflection FA1 of the arm 10 based on the provisional position command PC1, the compliance of the arm 10 included in the factor information, and the kinematic parameters and dynamic parameters of the robot 2 stored in the parameter storage unit 111. For example, the command generation unit 114 calculates the moment acting on each of the joints 31, 32, 33, 34, 35, 36 based on the provisional position command PC1, the kinematic parameters, and the dynamic parameters, and calculates the deflection generated in each of the joints 31, 32, 33, 34, 35, 36 based on the calculated moment and the compliance of each of the joints 31, 32, 33, 34, 35, 36. Further, the command generation unit 114 calculates the displacement vector of the end effector due to the deflection as the operation error ME1 of the deflection FA1 based on the deflection generated in each of the joints 31, 32, 33, 34, 35, 36 and the kinematic parameters.
[0040] The command generation unit 114 generates a position command PC2 based on the operation error ME1 and the provisional position command PC1. For example, the command generation unit 114 generates the position command PC2 so as to reduce the operation error ME1. For example, the command generation unit 114 adds a vector in the opposite direction to the operation error ME1 and having the same magnitude as the operation error ME1 to the provisional position command PC1 to generate the position command PC2 so as to cancel the deflection FA1. The operation error caused by the deflection can be reduced with high accuracy.
[0041] The command generation unit 114 may generate a position command PC2 based on the provisional position command PC1, the dimensional error DE1, and the deflection FA1. For example, the command generation unit 114 calculates, as the dimensional error DE1, a displacement vector of the end effector caused by the dimensional error based on the kinematic parameters and the dimensional error. The displacement vector here is a vector from the end effector when there is no dimensional error to the end effector when there is a dimensional error. The command generation unit 114 adds a vector having the same magnitude as the operation error ME1 and in the opposite direction to the operation error ME1 to the provisional position command PC1 so that the operation error ME1 obtained by synthesizing the deflection FA1 and the dimensional error DE1 is reduced, thereby generating the position command PC2. For example, the command generation unit 114 adds a vector in the opposite direction to the operation error ME1 obtained by synthesizing the deflection FA1 and the dimensional error DE1 to the provisional position command PC1, thereby generating the position command PC2 so as to cancel out the operation error ME1.
[0042] The command generation unit 114 may reflect the dimensional error in the deflection FA1. For example, the command generation unit 114 may calculate the deflection FA1 based on the provisional position command PC1, the kinematic parameters and the dynamic parameters, and further based on the dimensional error. By reflecting the dimensional error in the deflection FA1, the deflection FA1 can be calculated with higher accuracy. When reflecting the dimensional error in the deflection FA1, in actual calculations, the deflection FA1 and the dimensional error DE1 are not necessarily calculated separately as shown in the figure. For example, the deflection and the dimensional error for each link are accumulated, and the operation error ME1 is calculated without going through the calculation of the deflection FA1 and the dimensional error DE1.
[0043] The dimensional error may be reflected in the kinematic parameters in advance. In this case, the parameter storage unit 111 will constitute a part of the factor storage unit 112.
[0044] Returning to FIG. 2, the motion control unit 115 calculates the respective target angles of the joints 31, 32, 33, 34, 35, 36 corresponding to the position command (the position command generated by the command generation unit 114) by performing inverse kinematics calculation based on the kinematic parameters, and controls the motors 41, 42, 43, 44, 45, 46 so that the respective angles of the joints 31, 32, 33, 34, 35, 36 follow the target angles.
[0045] The robot controller 100 may further include a history storage unit 116. The history storage unit 116 stores the operation history of the robot 2 in association with at least one of the position command and the provisional position command. By comparing the operation history with the position command or the provisional position command, the presence of external factors such as collisions can be easily verified retrospectively. For example, the history storage unit 116 sequentially stores, for each control cycle, an operation record including the operation results (operation angles) of the joints 31, 32, 33, 34, 35, 36 corresponding to the position command, in association with the time and at least one of the position command and the provisional position command. Thereby, the operation history represented by a plurality of operation records arranged in time series is stored in the history storage unit 116. The history storage unit 116 may store the position command and not store the provisional position command, may store the provisional position command and not store the position command, or may store both the position command and the provisional position command.
[0046] The robot controller 100 may further include a manual control unit 121, a teaching position registration unit 122, and a teaching position storage unit 123. The manual control unit 121 generates a teaching position based on a manual operation by the user, and controls the robot 2 so that the operation error is reduced based on the generated teaching position and the factor information. For example, the manual control unit 121 may generate a teaching position based on a manual operation on the teaching terminal 300. Examples of the manual operation include a jog operation for instructing a movement of one pitch in a specified direction, and a position specifying operation for specifying a desired position.
[0047] For example, the manual control unit 121 generates a teaching position based on a manual operation, and sequentially generates a position command representing the path position of the robot 2 to the teaching position based on the generated teaching position and the factor information so as to reduce the operation error. For example, the manual control unit 121 generates a position command in the same manner as the generation of the position command by the command generation unit 114, and controls the robot 2 to be controlled by the motion control unit 115 based on the generated position command. Since the manual control unit 121 generates a position command in the same manner as the command generation unit 114, the state in which the motion error of the robot 2 with respect to the teaching position j is reduced is maintained.
[0048] When the operation of the robot 2 to the teaching position is completed, the manual control unit 121 stops the robot 2 and waits for the next manual operation. Even while waiting for the manual operation, the manual control unit 121 continues to control the robot 2. For example, the manual control unit 121 repeatedly controls the motion control unit 115 to control the robot 2 based on the same position command at a control cycle. Thereby, the robot 2 is maintained at the teaching position.
[0049] When a registration operation is performed by the user while the robot 2 is maintained at the teaching position, the teaching position registration unit 122 causes the teaching position storage unit 123 to store the teaching position. For example, when a registration operation is performed on the teaching terminal 300, the teaching position registration unit 122 causes the teaching position storage unit 123 to store the teaching position. The teaching position storage unit 123 stores a plurality of teaching positions registered by a plurality of registration operations in time series.
[0050] For the teaching position based on the manual operation, it is possible to visually confirm the state in which the operation error is reduced based on the factor information and register the teaching position. Since the teaching position is registered with the value before reflecting the error factor, the error factor can be excluded from the teaching position. Therefore, a teaching position that does not consider the error factor can be easily registered in an actual machine with an error factor.
[0051] The robot control unit 113 controls the robot 2 so as to reduce the operation error based on the taught position stored in the taught position storage unit 123 and the factor information. For example, the robot control unit 113 may sequentially read out the taught positions stored in the taught position storage unit 123 and control the robot 2 so as to reduce the operation error based on the read taught positions and the factor information. For example, the robot control unit 113 may sequentially execute, for each of the read taught positions, the operation of moving the robot 2 to the taught position by repeating the generation of the position command by the command generation unit 114 and the control of the robot 2 by the motion control unit 115. Thereby, the operation represented by the plurality of taught positions stored in the taught position storage unit 123 is played back by the robot 2.
[0052] The robot controller 100 may further include a switching unit 124. The switching unit 124 switches, for example, whether or not to reflect the factor information by the manual control unit 121 according to a switching operation made by the user on the teaching terminal 300. When the reflection of the factor information is enabled, the manual control unit 121 controls the robot 2 based on the taught position based on the manual operation and the factor information. When the reflection of the factor information is disabled, the manual control unit 121 controls the robot 2 based on the taught position based on the manual operation without relying on the factor information.
[0053] For example, when the reflection of the factor information is enabled, the manual control unit 121 generates a position command in the same manner as the command generation unit 114. When the reflection of the factor information is disabled, the manual control unit 121 generates a provisional position command in the same manner as the command generation unit 114 and then uses the provisional position command in which the operation error is not reflected as the position command as it is.
[0054] The teaching position registration unit 122 stores, as reflection information, whether or not factor information is reflected in the teaching position based on manual operation, and stores it in the teaching position storage unit 123 in association with the teaching position based on manual operation. For example, when the teaching position registration unit 122 stores the teaching position in the teaching position storage unit 123 in response to a registration operation to the teaching terminal 300, it stores the reflection information in the teaching position storage unit 123 in association with the teaching position. The teaching position storage unit 123 stores the teaching position and the reflection information in association with each other.
[0055] When the reflection information corresponding to the teaching position indicates that factor information is reflected, the robot control unit 113 controls the robot 2 based on the teaching position and the factor information. For example, as described above, the command generation unit 114 generates a position command so as to reduce the operation error based on the provisional position command and the factor information. When the reflection information indicates that factor information is not reflected, the robot control unit 113 controls the robot 2 based on the teaching position without relying on the factor information. For example, after the command generation unit 114 generates a provisional position command, it uses the provisional position command in which the operation error is not reflected as the position command as it is. By making the presence or absence of reduction of the operation error match at the time of registration of the teaching position and at the time of playback of the registered teaching position, unexpected operations of the robot can be prevented.
[0056] When the reflection information is not associated with the teaching position stored in the teaching position storage unit 123, the robot control unit 113 may control the robot 2 based on the teaching position without relying on the factor information. It is possible to prevent unexpected operations of the robot 2 caused by applying the operation error reduction function to a teaching position that does not assume the operation error reduction function. For example, in a conventional robot system before the configuration according to the present disclosure is applied, reflection information is not associated with the teaching position. An example of a case where the reflection information is not associated with the teaching position includes a case where the teaching position stored in the conventional robot system is diverted.
[0057] The robot controller 100 may further include a peripheral information acquisition unit 125. The peripheral information acquisition unit 125 acquires the position information of a peripheral object based on the relative position of the end effector with respect to the peripheral object and the taught position where the end effector reaches the relative position. For example, when the user notifies that the end effector is placed at a location where the relative position with respect to the peripheral object is known, the peripheral information acquisition unit 125 acquires the position information of the peripheral object based on the known relative position and the taught position where the end effector reaches the relative position. The location where the relative position with respect to the peripheral object is known may be a specific location on the surface of the peripheral object.
[0058] For example, when the manual control unit 121 stops the end effector of the robot 2 at the specific location in response to a manual operation, the peripheral information acquisition unit 125 acquires the position information of the peripheral object in the robot coordinate system with respect to the base 11 based on the relative position of the peripheral object with respect to the specific location and the taught position generated by the manual control unit 121 immediately before. The peripheral information acquisition unit 125 may further acquire the position information including the posture of the peripheral object based on the position information of a plurality of locations where the relative position with respect to the peripheral object is known. For example, the peripheral information acquisition unit 125 may acquire the relationship between the peripheral coordinate system with respect to the peripheral object and the robot coordinate system.
[0059] Due to the reduction of the operation error, the difference between the position of the end effector and the taught position is minimized. Therefore, based on the taught position, the position information of the peripheral object can be easily acquired with high accuracy.
[0060] The relative position of the end effector with respect to the peripheral object does not necessarily have to be a known relative position. For example, it may be a relative position detected by a camera or a laser sensor mounted on the tip 18. In this case, without placing the end effector at a location where the relative position is known, the position information of the peripheral object can be acquired by placing the end effector so that the peripheral object enters the detectable range by the camera or the laser sensor.
[0061] The configuration of the robot controller 100 shown above is an example and can be changed. For example, the factor storage unit 112 described above may store a plurality of pieces of factor information corresponding to each of the plurality of robots 2. The robot control unit 113 may select any one of the plurality of pieces of factor information according to the robot 2 to be controlled, and control the robot 2 based on the selected factor information.
[0062] For example, the factor storage unit 112 may store each of the plurality of pieces of factor information in association with the ID of the corresponding robot 2. The command generation unit 114 may acquire the ID of the robot 2, select the factor information associated with the acquired ID from the plurality of pieces of factor information, and generate a position command based on the selected factor information. For example, the robot 2 may further include an ID holding unit 52 that stores an ID, and the command generation unit 114 may acquire the ID of the robot 2 from the ID holding unit 52. The ID holding unit 52 is mounted on, for example, a circuit board built into the robot 2. The ID of the robot 2 may be any information as long as it can identify the robot 2. For example, the MAC address of the above circuit board, the MAC address of the sensor that the robot 2 has, etc. can also be used as the ID of the robot 2.
[0063] When the factor information corresponding to the ID of the robot 2 is among the plurality of pieces of factor information, the robot control unit 113 controls the robot 2 based on the factor information. When the factor information corresponding to the ID of the robot 2 is not among the plurality of pieces of factor information (when the command generation unit 114 cannot select the factor information), an error may be displayed on the teaching terminal 300 or the like without controlling the robot 2.
[0064] When the factor storage unit 112 stores a single piece of factor information, it may store the factor information in association with the ID of the robot 2. When the ID of the robot 2 to be controlled matches the ID corresponding to the factor information, the robot control unit 113 controls the robot 2 based on the factor information. When the ID of the robot 2 does not match the ID corresponding to the factor information, an error may be displayed on the teaching terminal 300 or the like without controlling the robot 2.
[0065] The cause information may be stored in the robot 2. For example, the robot 2 may further include a cause information holding unit 51. The cause information holding unit 51 stores the cause information of the robot 2. For example, the cause information holding unit 51 is built into the robot 2 and mounted on the circuit board or the like.
[0066] The robot controller 100 may further include a cause information registration unit 131. The cause information registration unit 131 acquires the cause information from the cause information holding unit 51 of the robot 2 and stores it in the cause storage unit 112. The cause information registration unit 131 may acquire the cause information from the cause information holding unit 51 of the robot 2, acquire the ID of the robot 2 from the ID holding unit 52 of the robot 2, associate the cause information with the ID, and store it in the cause storage unit 112. By adopting a configuration in which the cause information is acquired from the robot 2, it is possible to easily prevent a mismatch between the cause information and the robot 2.
[0067] The robot controller 100 may further include a verification unit 132. The verification unit 132 verifies the cause information stored in the robot 2 and the cause information stored in the cause storage unit 112. It is possible to further prevent a mismatch between the cause information and the robot.
[0068] Note that verification means checking whether they match when compared. For example, the verification unit 132 acquires the ID of the robot 2 from the ID holding unit 52, and when the acquired ID matches the ID associated with the cause information in the cause storage unit 112, it is determined that the cause information stored in the robot 2 (cause information holding unit 51) and the cause information stored in the cause storage unit 112 match. Conversely, when the ID acquired from the ID holding unit 52 does not match the ID associated with the cause information in the cause storage unit 112, the verification unit 132 determines that the cause information stored in the robot 2 and the cause information stored in the cause storage unit 112 do not match.
[0069] As described above, the simulation device 200 executes a simulation of the operation of the robot 2. The simulation of the operation of the robot 2 means calculating, as simulation data, the transition of the posture of the robot 2 and the transition of the positional relationship between the robot 2 and surrounding objects when the robot 2 is operated without actually operating the robot 2. Calculating the simulation data corresponds to operating the robot 2 in a virtual space.
[0070] The simulation of the operation of the robot 2 includes reproducing the operation of the robot 2 in the real space in a virtual space based on the operation history stored in the history storage unit 116. As described above, the operation history stored in the history storage unit 116 includes the actual operation results (operation angles) of the joints 31, 32, 33, 34, 35, and 36. This operation result is for the position command in which factor information is reflected (for example, a vector in the opposite direction to the operation error is added).
[0071] In the real space including error factors, due to the reflection of the factor information, the operation error is canceled, and the end effector is arranged at a position corresponding to the teaching position (for example, the above-mentioned provisional position command PC1). On the other hand, in the virtual space not including error factors, due to the reflection of the factor information, the end effector is arranged at a position where a vector in the opposite direction to the operation error is added to the position corresponding to the teaching position (for example, the position corresponding to the above-mentioned position command PC2). Therefore, a difference occurs between the operation of the robot 2 in the virtual space and the operation of the robot 2 in the real space. Not including error factors means that deflection due to compliance and positional deviation due to dimensional errors are not calculated in the simulation.
[0072] On the other hand, if error factors are also included in the simulation, it is necessary to reconstruct the simulation individually for a plurality of robots 2 with different error factors. In addition, the amount of calculation becomes enormous, making it very difficult to reproduce the actual operation.
[0073] Therefore, the simulation device 200 may be configured to convert the operation history of the robot 2 into an operation history when the operation history is not reduced, and reproduce the operation of the robot 2 in the virtual space based on the model of the robot 2 without error factors and the converted operation history. It is possible to easily reproduce the operation of the robot in the real space with error factors in the virtual space without error factors.
[0074] A line is drawn stating that reality includes error factors while simulation does not. When operating the robot 2, the error factors are corrected, and when reproducing in simulation, the error factors are restored. Therefore, the way the error factors are reflected is intuitively easy for the user to understand, and system construction and operation can be facilitated.
[0075] For example, as shown in FIG. 4, the simulation device 200 includes, as functional blocks, a model storage unit 211, a factor replication unit 212, a second factor storage unit 213, a history conversion unit 214, a second history storage unit 215, and a simulator 216. The model storage unit 211 stores models of the robot 2 and surrounding objects. The models are numerical data representing shape, structure, dimensions, etc. The model of the robot 2 includes information on the surface shape of each link in addition to the above-described kinematic parameters.
[0076] The factor replication unit 212 acquires factor information from the factor storage unit 112 of the robot 2 and stores it in the second factor storage unit 213 outside the robot 2. By storing the factor information in a factor replication unit 212 separate from the factor storage unit 112, it is possible to perform conversion of the operation history and reproduction of the operation of the robot 2 in the virtual space even when the robot controller 100 is not activated. The simulation device 200 may be configured to compare the factor information stored in the second factor storage unit 213 with the factor information stored in the factor storage unit 112, and display an error when the factor information stored in the factor replication unit 212 and the factor information stored in the factor storage unit 112 do not match.
[0077] The history conversion unit 214 converts the operation history stored in the history storage unit 116 into an operation history when the operation error has not been reduced, based on the factor information stored in the second factor storage unit 213, and stores it in the second history storage unit 215. For example, the history conversion unit 214 calculates an operation error in the same manner as the command generation unit 114, based on the operation history, the kinematic parameters, and the dynamic parameters. The history conversion unit 214 corrects the operation angles of the joints 31, 32, 33, 34, 35, 36 in the operation record so as to displace the hand tip corresponding to the operation error, based on the kinematic parameters and the operation error.
[0078] The simulator 216 reproduces the operation of the robot 2 in the virtual space, based on the model of the robot 2 that does not include error factors and the converted operation history (the operation history stored in the second history storage unit 215). For example, the simulator 216 reproduces the operation of the robot 2 in the virtual space by performing forward kinematic calculations based on the angles of the joints 31, 32, 33, 34, 35, 36 included in the converted operation history and the model of the robot 2 stored in the parameter storage unit 111.
[0079] The simulation device 200 may further include a model calibrator 217. As described above, the model calibrator 217 corrects the position of the model of the surrounding object in the virtual space, based on the position information of the surrounding object acquired by the surrounding information acquisition unit 125. For example, the model calibrator 217 acquires the relationship between the above-described surrounding coordinate system and the robot coordinate system from the surrounding information acquisition unit 125, and corrects the position and orientation of the model of the surrounding object in the virtual space so as to match the acquired relationship. By using the virtual space in which the position information of the surrounding object acquired with high accuracy is reflected in the model, the relationship between the operation of the robot 2 and the surrounding object can be simulated with high accuracy. By using the position information of the surrounding object acquired in the real space with the operation error with respect to the teaching position reduced and the operation history adjusted to the virtual space that does not include error factors, a highly reliable simulation can be easily executed.
[0080] The simulation device 200 may further include an offline teaching unit 221. The offline teaching unit 221 generates teaching positions based on the operation of the robot 2 in the virtual space and stores them in the teaching position storage unit 222. For example, the offline teaching unit 221 generates teaching positions based on manual operations by the user, and operates the robot 2 in the virtual space so as to place the end effector at the generated teaching positions. When a registration operation is performed by the user while the robot 2 is maintained at the teaching position in the virtual space, the offline teaching unit 221 stores the teaching position in the teaching position storage unit 222.
[0081] When the start point (teaching position representing the start position of the operation path) and the end point (teaching position representing the end position of the operation path) of the operation path are specified, the offline teaching unit 221 may automatically generate a plurality of teaching positions representing the operation path from the start point to the end point by simulation. The simulation includes operating the robot 2 in the virtual space. For example, the offline teaching unit 221 repeatedly executes the following Process 1 and Process 2 until it is confirmed that there is no interference (collision) between the robot 2 and the surrounding objects throughout the entire operation path. Process 1) Add a teaching position that can avoid interference between the robot 2 and the surrounding objects between the start point and the end point. Process 2) Check by simulation whether interference between the robot 2 and the surrounding objects is avoided in the operation path including the added teaching position. The offline teaching unit 221 stores the plurality of teaching positions generated as described above in the teaching position storage unit 222.
[0082] The teaching position registration unit 223 causes the plurality of teaching positions stored in the teaching position storage unit 222 to be stored in the teaching position storage unit 123 of the robot controller 100. The teaching position registration unit 223 may associate reflection information indicating the presence of reflection of factor information with each of the plurality of teaching positions stored in the teaching position storage unit 222 and store the same in the teaching position storage unit 123. Although factor information is not reflected in the teaching positions generated by the offline teaching unit 221, factor information is reflected by the robot control unit 113. As a result, the operation of the robot 2 in the real space including the error factor is brought closer to the teaching position in the virtual space not including the error factor, so that the teaching positions generated by the offline teaching unit 221 can be directly used for controlling the robot 2 in the real space. Therefore, the labor of operation teaching in the real space can be significantly reduced.
[0083] FIG. 5 is a block diagram illustrating the hardware configuration of the control system 3. As shown in FIG. 5, the robot controller 100 has a circuit 190. The circuit 190 includes a processor 191, a memory 192, a storage 193, a communication port 194, and a servo circuit 195.
[0084] The storage 193 stores factor information representing error factors of operations caused by the structure of the arm 10, and causes the robot controller 100 to control the robot 2 so that operation errors caused by the error factors are reduced based on the teaching positions representing the operations of the robot 2 and the factor information. For example, the storage 193 stores a program for causing the robot controller 100 to configure each of the above-described functional blocks. The storage 193 is composed of one or more non-volatile storage devices. Examples of the storage device include a hard disk drive or a flash memory.
[0085] The memory 192 temporarily stores the program loaded from the storage 193. The memory 192 is composed of one or more volatile memory devices. Examples of the memory device include a random access memory.
[0086] The processor 191 configures each of the above-described functional blocks in the robot controller 100 by executing a program loaded into the memory 192. The data generated by the processor 191 is temporarily stored in the memory 192 as necessary. The processor 191 is composed of one or more processing devices. Examples of the processing device include a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit).
[0087] The communication port 194 communicates with the simulation device 200 and the teaching terminal 300 via the network NW in response to a request from the processor 191. The communication port 194 is composed of one or more network adapters. Examples of the network adapter include an Ethernet adapter.
[0088] The servo circuit 195 supplies drive power to the motors 41, 42, 43, 44, 45, 46 in response to a request from the processor 191. The servo circuit 195 includes one or more power conversion circuits.
[0089] The communication port 196 communicates with the robot 2 in response to a request from the processor 191. Examples of the communication port 196 include an industrial Ethernet adapter, a fieldbus adapter, etc.
[0090] The simulation device 200 has a circuit 290. The circuit 290 has a processor 291, a memory 292, a storage 293, a communication port 294, and a user interface 295. The storage 293 stores a program for configuring each of the above-described functional blocks in the simulation device 200. The storage 293 is composed of one or more non-volatile storage devices. Examples of the storage device include a hard disk drive or a flash memory.
[0091] Memory 292 temporarily stores the program loaded from storage 293. Memory 292 is composed of one or more volatile memory devices. Examples of memory devices include random access memory and the like.
[0092] By executing the program loaded in memory 292, processor 291 causes robot controller 100 to configure each of the above-described functional blocks. The data generated by processor 291 is temporarily stored in memory 292 as necessary. Processor 291 is composed of one or more processing devices. Examples of processing devices include a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit) and the like.
[0093] In response to a request from processor 291, communication port 294 communicates with simulation device 200 and teaching terminal 300 via network NW. Communication port 294 is composed of one or more network adapters. Examples of network adapters include an Ethernet adapter and the like.
[0094] In response to a request from processor 291, user interface 295 acquires input from a human user and outputs (e.g., displays) information to the user. User interface 295 includes one or more input devices and one or more output devices. Examples of input devices include a keyboard, a mouse, a touch pad, or a numeric keypad and the like. Examples of output devices include a liquid crystal monitor or an organic EL (Electro-Luminescence) monitor and the like. The input device may be integrated with the output device as a so-called touch panel.
[0095] The configurations of the robot controller 100 and the simulation device 200 illustrated above are examples. At least a part of the simulation device 200 may be incorporated into the robot controller 100. Also, it is not necessary for all of the functions of the robot controller 100 and the simulation device 200 to be executed by the execution of a program, and at least some of the functions may be configured by a dedicated logic circuit such as an ASIC (Application-Specific Integrated Circuit).
[0096] 〔Manufacturing Procedure of Robot System〕 Subsequently, as an example of the manufacturing method, the manufacturing procedure of the control system 3 will be exemplified by preparing the robot 2 and the robot controller 100. This procedure includes operating the robot 2 with a predetermined operation command by the robot controller 100, generating factor information representing error factors based on the operation command and the operation result of the robot 2, and storing the factor information in the storage unit of the control system 3, and is executed at a factory or the like different from the actual use environment of the robot 2.
[0097] Storing the factor information in the storage unit of the control system 3 may include storing the factor information in the factor storage unit 112 of the robot controller 100, and storing the factor information may include storing the factor information in the factor information holding unit 51 of the robot 2.
[0098] For example, as shown in FIG. 6, the manufacturing procedure includes S01, S02, and S03. In S01, the robot controller 100 operates the robot 2 in a predetermined operation pattern while holding a weight of a known weight with the end effector 19, and captures the operation of the robot 2 by an image sensor or a three-dimensional sensor or the like. The robot controller 100 may operate the robot 2 a plurality of times in the same operation pattern while changing the weight of the weight.
[0099] In S02, factor information representing error factors is generated based on the operation pattern and the operation result of the captured robot 2. For example, in S02, based on the difference between the operation pattern and the operation result, the deflection of the arm 10 and the dimensional error not related to the deflection are detected, the compliance of the arm 10 is detected based on the deflection and the weight of the weight, and factor information including the dimensional error and the compliance is generated.
[0100] In S03, the factor information is written into the factor information holding unit 51 or the factor storage unit 112. In S03, the factor information may be written into both the factor information holding unit 51 and the factor storage unit 112. Thus, the manufacturing procedure of the control system 3 is completed.
[0101] 〔Control Procedure〕 As an example of the control method, the control procedure executed by the robot controller 100 is illustrated. The control procedure includes storing factor information representing the error factors of the operation due to the structure of the arm 10, and based on the teaching position representing the operation of the robot 2 and the factor information, controlling the robot 2 so that the operation error caused by the error factors is reduced. The control procedure may include a factor information acquisition procedure, an online teaching procedure, a playback control procedure, and a peripheral information acquisition procedure. Hereinafter, each procedure will be illustrated.
[0102] (Factor Information Acquisition Procedure) This procedure is the procedure executed by the robot controller 100 when the robot 2 has the factor information holding unit 51. As shown in FIG. 7, the robot controller 100 first executes steps S11 and S12. In step S11, the factor information registration unit 131 waits for the robot controller 100 to be connected to the robot 2. In step S12, the factor information registration unit 131 checks whether the factor information is stored in the collation unit 132.
[0103] In step S12, if it is determined that the cause information is not stored in the collation unit 132, the robot controller 100 executes step S13. In step S13, the cause information registration unit 131 reads the cause information from the cause information holding unit 51 and stores it in the cause storage unit 112.
[0104] In step S12, if it is determined that the cause information is stored in the collation unit 132, the robot controller 100 executes steps S14 and S15. In step S14, the collation unit 132 acquires the ID of robot 2 from the ID holding unit 52. In step S15, the collation unit 132 checks whether the cause information associated with the ID of robot 2 is stored in the cause storage unit 112.
[0105] In step S15, if it is determined that the cause information associated with the ID of robot 2 is not stored in the cause storage unit 112, the robot controller 100 executes step S13 described above. In step S15, if it is determined that the cause information associated with the ID of robot 2 is stored in the cause storage unit 112, the robot controller 100 executes step S16. In step S16, the command generation unit 114 selects the cause information associated with the ID of robot 2 from the cause storage unit 112. Thus, the procedure for acquiring the cause information is completed.
[0106] (Online teaching procedure) This procedure is for registering the teaching position while operating robot 2 by the user's manual operation. As shown in FIG. 8, the robot controller 100 first executes step S21. In step S21, the manual control unit 121 checks whether a manual operation by the user is being performed on the teaching terminal 300.
[0107] In step S21, when it is determined that a manual operation is being performed, the robot controller 100 executes steps S22, S23, and S24. In step S22, the manual control unit 121 generates a teaching position based on the manual operation by the user. In step S23, the manual control unit 121 generates the above-mentioned provisional position command based on the generated teaching position. In step S24, the manual control unit 121 checks whether the factor information is reflected. In step S24, when it is determined that the reflection is present, the robot controller 100 executes step S25. In step S25, the manual control unit 121 calculates an operation error based on the provisional position command and the factor information.
[0108] Next, the robot controller 100 executes step S26. In step S24, when it is determined that there is no reflection, the robot controller 100 executes step S26 without executing step S25. In step S26, the manual control unit 121 generates a position command based on the provisional position command and the operation error. For example, the manual control unit 121 generates a position command by adding a vector in the opposite direction to the operation error and having the same magnitude as the operation error to the provisional position command. When step S25 is not executed, the manual control unit 121 uses the provisional position command as the position command as it is.
[0109] Next, the robot controller 100 executes steps S27, S28, and S29. In step S27, the motion control unit 115 calculates the respective target angles of the joints 31, 32, 33, 34, 35, and 36 corresponding to the position command by performing an inverse kinematics calculation based on the kinematic parameters.
[0110] Note that the above procedure shows an example in which the position command is calculated based on the provisional position command and the motion error, and then the target angles of the joints 31, 32, 33, 34, 35, and 36 are calculated by inverse kinematics calculation, but it is not necessarily limited to this. After calculating the target angles of the joints 31, 32, 33, 34, 35, and 36 by inverse kinematics calculation for the provisional position command, the calculation of the motion error based on the target angles and the correction of the target angles may be repeated so as to reduce the motion error. In this case, the corrected joints 31, 32, 33, 34, 35, and 36 become the position command that indirectly represents the passing position and passing posture of the hand tip.
[0111] In step S28, the motion control unit 115 controls the motors 41, 42, 43, 44, 45, and 46 so that the respective angles of the joints 31, 32, 33, 34, 35, and 36 follow the target angles. In step S29, the manual control unit 121 waits for the elapse of the control cycle.
[0112] Next, the robot controller 100 executes step S31. In step S31, the manual control unit 121 checks whether or not the hand tip of the robot 2 has reached the teaching position. In step S31, if it is determined that the hand tip of the robot 2 has not reached the teaching position, the robot controller 100 returns the process to step S23. Thereafter, until the hand tip of the robot 2 reaches the teaching position, the generation of the position command and the control of the motors 41, 42, 43, 44, 45, and 46 by the position command are repeated in the control cycle.
[0113] In step S31, if it is determined that the hand tip of the robot 2 has reached the teaching position, the robot controller 100 returns the process to step S21. In step S21, if it is determined that no manual operation is being performed, the robot controller 100 executes step S32. In step S32, the switching unit 124 checks whether or not a switching operation by the user has been performed on the teaching terminal 300.
[0114] In step S32, when it is determined that a switching operation is being performed, the robot controller 100 executes step S33. In step S33, the switching unit 124 switches whether or not the factor information is reflected. For example, if it was reflected before the switching, the switching unit 124 switches from being reflected to not being reflected. If it was not reflected before the switching, the switching unit 124 switches from not being reflected to being reflected.
[0115] Next, the robot controller 100 executes step S34. In step S32, when it is determined that the switching operation is not being performed, the robot controller 100 executes step S34 without executing step S33. In step S34, the teaching position registration unit 122 checks whether or not a registration operation by the user is being performed on the teaching terminal 300. In step S34, when it is determined that the registration operation is being performed, the robot controller 100 executes step S35. In step S35, the teaching position registration unit 122 associates the teaching position with reflection information indicating whether or not the factor information for the teaching position is reflected, and stores it in the teaching position storage unit 123.
[0116] Next, the robot controller 100 executes step S36. In step S34, when it is determined that the registration operation is not being performed, the robot controller 100 executes step S36 without executing step S35. In step S36, the manual control unit 121 checks whether or not a completion operation by the user is being performed on the teaching terminal 300. In step S36, when it is determined that the completion operation is not being performed, the robot controller 100 executes step S27. Thereby, even while waiting for the manual operation, the control of the motors 41, 42, 43, 44, 45, 46 by the generated position command is repeated at the control cycle. In step S36, when it is determined that the completion operation is being performed, the robot controller 100 completes the online teaching procedure.
[0117] (Playback control procedure) This procedure is a procedure for operating the robot 2 based on a plurality of taught positions registered in the taught position storage unit 123 by the above-described online control procedure or the like. As shown in FIG. 9, the robot controller 100 executes steps S41, S42, and S43. In step S41, the command generation unit 114 reads the next taught position from the taught position storage unit 123. In step S42, the command generation unit 114 calculates the above-described provisional position command based on the taught position. In step S43, the command generation unit 114 checks whether reflection information is associated with the taught position.
[0118] In step S43, if it is determined that reflection information is associated with the taught position, the robot controller 100 executes step S44. In step S44, the command generation unit 114 checks whether the reflection information indicates reflection present. In step S44, if it is determined that the reflection information indicates reflection present, the robot controller 100 executes step S45. In step S45, the parameter storage unit 111 calculates an operation error based on the provisional position command and the factor information.
[0119] Next, the robot controller 100 executes step S46. In step S43, if it is determined that reflection information is not associated with the taught position, or in step S44, if it is determined that the reflection information indicates reflection absent, the robot controller 100 executes step S46 without executing step S45. In step S46, the parameter storage unit 111 generates a position command based on the provisional position command and the operation error. For example, the command generation unit 114 generates a position command by adding a vector in the opposite direction to the operation error and having the same magnitude as the operation error to the provisional position command. If step S45 is not executed, the command generation unit 114 uses the provisional position command as the position command as it is.
[0120] Next, the robot controller 100 executes steps S47, S48, and S49. In step S47, the motion control unit 115 calculates the respective target angles of the joints 31, 32, 33, 34, 35, and 36 corresponding to the position command by performing an inverse kinematics calculation based on the kinematic parameters.
[0121] Note that the above procedure shows an example in which, after calculating the position command based on the provisional position command and the motion error, the respective target angles of the joints 31, 32, 33, 34, 35, and 36 are calculated by performing an inverse kinematics calculation, but it is not necessarily limited to this. After calculating the respective target angles of the joints 31, 32, 33, 34, 35, and 36 by performing an inverse kinematics calculation for the provisional position command, the calculation of the motion error based on the target angles and the correction of the target angles may be repeated so as to reduce the motion error. In this case, the corrected joints 31, 32, 33, 34, 35, and 36 become the position command that indirectly represents the via position and the via posture of the hand tip.
[0122] In step S48, the motion control unit 115 controls the motors 41, 42, 43, 44, 45, and 46 so that the respective angles of the joints 31, 32, 33, 34, 35, and 36 follow the target angles. In step S49, the motion control unit 115 stores the motion record in the history storage unit 116 in association with the time and at least one of the position command and the provisional position command.
[0123] Next, the robot controller 100 executes steps S51 and S52. In step S51, the command generation unit 114 waits for the elapse of the control cycle. In step S52, the command generation unit 114 checks whether or not the hand tip of the robot 2 has reached the teaching position. If it is determined in step S52 that the hand tip of the robot 2 has not reached the teaching position, the robot controller 100 returns the process to step S42. Thereafter, until the hand tip of the robot 2 reaches the teaching position, the generation of the position command and the control of the motors 41, 42, 43, 44, 45, and 46 by the position command are repeated in the control cycle.
[0124] In step S52, when it is determined that the end effector of the robot 2 has reached the teaching position, the robot controller 100 executes step S53. In step S53, the command generation unit 114 checks whether the reached teaching position is the last (the last in time series) teaching position.
[0125] In step S53, when it is determined that the teaching position is not the last teaching position, the robot controller 100 returns the process to step S41. Thereafter, until the robot 2 reaches the last teaching position, the reading of the teaching position and the movement of the end effector of the robot 2 to the read teaching position are repeated.
[0126] In step S52, when it is determined that the teaching position is the last teaching position, the robot controller 100 completes the control of the robot 2.
[0127] (Peripheral information acquisition procedure) This procedure is a procedure for acquiring the position information of peripheral objects based on the teaching position while operating the robot 2 by the manual operation of the user. The procedure shown in FIG. 10 includes steps S61 to S63 similar to steps S21 to S23 for operating the robot 2 by manual operation in the above-described online teaching procedure, and steps S65 to S71 similar to steps S25 to S31. In step S61, when it is determined that no manual operation is being performed, the robot controller 100 executes step S72. In step S72, the peripheral information acquisition unit 125 checks whether a peripheral information acquisition operation by the user is being performed on the teaching terminal 300.
[0128] In step S72, when it is determined that the peripheral information acquisition operation is being performed, the robot controller 100 executes steps S73 and S74. In step S73, the peripheral information acquisition unit 125 acquires the position information of the peripheral object based on the relative position of the end effector with respect to the peripheral object and the taught position where the end effector has reached the relative position. In step S74, the peripheral information acquisition unit 125 checks whether a plurality of pieces of position information for obtaining the relationship between the peripheral coordinate system and the robot coordinate system have been collected.
[0129] In step S74, when it is determined that a plurality of pieces of position information have been collected, the robot controller 100 executes step S75. In step S75, the peripheral information acquisition unit 125 acquires the relationship between the peripheral coordinate system and the robot coordinate system based on the plurality of pieces of position information.
[0130] Next, the robot controller 100 executes step S76. In step S74, when it is determined that a plurality of pieces of position information have not been collected, the robot controller 100 executes step S76 without executing step S75. In step S72, when it is determined that the peripheral information acquisition operation is not being performed, the robot controller 100 executes step S76 without executing steps S73, S74, and S75. In step S76, the manual control unit 121 checks whether a completion operation by the user has been performed on the teaching terminal 300.
[0131] In step S76, when it is determined that the completion operation has not been performed, the robot controller 100 executes step S67. Thereby, even while waiting for the manual operation, the control of the motors 41, 42, 43, 44, 45, and 46 based on the generated position command is repeated at the control cycle. In step S76, when it is determined that the completion operation has been performed, the robot controller 100 completes the online teaching procedure.
[0132] 〔Simulation Procedure〕 Next, as an example of the simulation method, the simulation procedure executed by the simulation device 200 will be exemplified. This procedure may include an operation reproduction procedure and an offline teaching procedure. Each procedure will be exemplified below.
[0133] (Operation Reproduction Procedure) This procedure is a procedure for reproducing the operation of the robot 2 in the real space in the virtual space based on the operation history of the robot 2 stored in the history storage unit 116. As shown in FIG. 11, the simulation device 200 executes steps S81, S82, S83, and S84. In step S81, the model calibrator 217 acquires the position information of the surrounding objects from the surrounding information acquisition unit 125. In step S82, the model calibrator 217 corrects the positions of the models of the surrounding objects stored in the model storage unit 211 based on the position information of the surrounding objects. In step S83, the factor replication unit 212 acquires factor information from the factor storage unit 112 of the robot 2 and stores it in the second factor storage unit 213. In step S84, the history conversion unit 214 converts the operation history stored in the history storage unit 116 into an operation history when the operation error is not reduced based on the factor information stored in the second factor storage unit 213, and stores it in the second history storage unit 215.
[0134] Next, the simulation device 200 executes steps S85, S86, S87, and S88. In step S85, the simulator 216 reads the next operation record from the operation history stored in the second history storage unit 215. In step S86, the simulator 216 reproduces the posture of the robot 2 in the virtual space based on the model of the robot 2 stored in the model storage unit 211 and the operation record read by the simulator 216. In step S87, the simulator 216 updates the simulation image showing the virtual space based on the posture of the robot 2. The simulation image is displayed on, for example, the above-described user interface 295. In step S88, the simulator 216 checks whether all the operation histories stored in the second history storage unit 215 have been read. If it is determined in step S88 that the reading of the operation history is not complete, the simulation device 200 returns the process to step S85. Thereafter, until the reading of the operation history is complete, the reading of the next operation record and the update of the simulation image based on the read operation record are repeated. If it is determined in step S88 that the reading of the operation history is complete, the simulation device 200 completes the operation reproduction procedure.
[0135] Note that in the above, after converting the entire operation history in step S84, the procedure of repeating steps S85 to S88 based on the converted operation history is exemplified, but it is not limited to this. Instead of converting the entire operation history in step S84, each time an operation record is read in step S85, if the operation error is not reduced, the read operation record is converted into an operation record when the operation error is not reduced, and steps S86 to S88 may be executed based on the converted operation record.
[0136] (Offline teaching procedure) This procedure is for automatically generating teaching positions by simulation. As shown in FIG. 12, the simulation device 200 executes steps S91, S92, and S93. In step S91, the offline teaching unit 221 acquires the partial online teaching result stored in the teaching position storage unit 123. The partial online teaching result includes a predetermined section where the motion path is defined by a plurality of teaching positions and an undetermined section where the motion path is not defined. In step S92, the offline teaching unit 221 specifies one or more undetermined sections as teaching target sections. In step S93, the offline teaching unit 221 selects any one of the one or more undetermined sections. Thereby, the starting point and the ending point are determined.
[0137] Next, the simulation device 200 executes steps S94, S95, and S96. In step S94, the offline teaching unit 221 adds teaching positions that can avoid interference between the robot 2 and the surrounding objects between the starting point and the ending point. In step S95, the robot 2 is operated in the virtual space along the motion path including the added teaching positions. In step S96, it is confirmed whether there is any interference between the operating robot 2 and the surrounding objects in the virtual space. If it is determined in step S96 that there is interference, the simulation device 200 returns the process to step S94. Thereafter, the addition of teaching positions and the simulation are repeated until it is determined that there is no interference. Thereby, the motion path is defined for the undetermined section.
[0138] If it is determined in step S96 that there is no interference, the simulation device 200 executes steps S97 and S98. In step S97, the offline teaching unit 221 stores a plurality of teaching positions for the selected undetermined section in the teaching position storage unit 222. In step S98, it is confirmed whether the motion path has been defined for all of the one or more undetermined sections.
[0139] In step S98, if it is determined that there is a remaining section where the motion path is not defined, the robot controller 100 returns the process to step S93. In step S98, if it is determined that the motion path has been defined for all of the one or more undefined sections, the simulation device 200 executes step S99. In step S99, the teaching position registration unit 223 causes the teaching position storage unit 123 to store a plurality of teaching positions generated by the offline teaching unit 221 for each of the one or more undefined sections. The offline teaching procedure is completed here.
[0140] 〔Summary〕 The embodiments exemplified above include the following configurations. (1) A robot 2 having an arm 10 whose end - effector position can be changed, and a robot controller that controls the robot 2. The robot controller includes a factor storage unit 112 that stores factor information representing error factors of motions caused by the structure of the arm 10, a teaching position representing the motion of the robot 2, and based on the teaching position and the factor information, a robot control unit 113 that controls the robot 2 so as to reduce motion errors caused by the error factors. When performing control based on the teaching position without including the error factors, the motion errors caused by the error factors are reduced. For this reason, even if the teaching position is generated without considering the error factors, control for reducing the motion errors with respect to the teaching position is executed. Therefore, it is possible to provide a system effective for improving the workability of motion teaching. According to such a system, the robot 2 can be controlled with high accuracy in the real space even by the teaching positions generated by offline teaching in a virtual space without error factors. Also, the teaching results can be applied to a plurality of robots 2 with individual differences.
[0141] (2) The robot control unit 113 of the robot system 1 described in (1) includes a command generation unit 114 that sequentially generates a position command representing the path position of the robot 2 to the teaching position based on the teaching position and the factor information, and a motion control unit 115 that controls the robot 2 according to the sequentially generated position commands. Operation errors can also be reduced during the intermediate path to the teaching position.
[0142] (3) The error factor includes the compliance of the arm 10. The command generation unit 114 generates a provisional position command based on the teaching position, calculates the deflection of the arm 10 based on the provisional position command and the compliance, and generates a position command based on the deflection and the provisional position command. The robot system 1 described in (2). Operation errors caused by deflection can be reduced with high precision.
[0143] (4) The error factor further includes the dimensional error of the arm 10. The command generation unit 114 calculates the deflection of the arm 10 based on the provisional position command and the compliance, and generates a position command based on the provisional position command, the dimensional error, and the deflection. The robot system 1 described in (3). By being based on both the dimensional error and the deflection, operation errors can be further reduced. Note that the dimensional error may be used when calculating the deflection. In this case, for each posture of the robot 2, the component of the dimensional error in the deflection can be included in the calculation, and the accuracy can be further improved. Note that the dimensional error can also be reflected in the parameters of the robot 2 itself (the dimensions of the robot 2 used during operation calculation), but it can also be held as an error amount separately from the parameters and reflected in the dimensional error during each calculation. The ideal dimensions and the actual error can be separated and handled.
[0144] (5) Further comprising a history conversion unit 214 that converts the operation history of the robot 2 into the operation history when the operation error has not been reduced based on the factor information, a model of the robot 2 that does not include the error factor, and a simulator 216 that reproduces the operation of the robot 2 in the virtual space based on the converted operation history. The robot system 1 according to any one of (2) to (4). The operation of robot 2 in the real space with error factors can be easily reproduced in the virtual space without error factors. Therefore, the influence of error factors in simulation can be removed, and the actual operation can be reproduced. In addition, in the virtual space with error factors, it is also possible to perform simulation using the operation history before conversion. However, in that case, it is necessary to reconstruct the simulation for each error factor of each unit, and in addition, the amount of calculation becomes enormous, making it very difficult to reproduce the actual operation. In this robot system 1, a line is drawn such that the reality includes error factors and the simulation does not include error factors. The error factors are corrected during operation and restored by conversion when reproduced in simulation. Therefore, the way error factors are reflected can be intuitively understood by the user, and system construction and operation can be facilitated.
[0145] (6) The robot system 1 according to (5), further comprising a factor duplication unit 212 that acquires factor information from a factor storage unit 112 of the robot 2 controller and stores it in a second factor storage unit 213 outside the robot 2 controller, and the history conversion unit 214 converts the operation history into an operation history when the operation error is not reduced based on the factor information stored in the second factor storage unit 213. By storing factor information in a second factor storage unit 213 separate from the factor storage unit 112 of the robot 2 controller, it is possible to execute the conversion of the operation history and the reproduction of the operation of robot 2 in the virtual space even when the robot 2 controller is not activated.
[0146] (7) The robot system 1 according to (3) or (4), further comprising a history storage unit 116 that stores the operation history of robot 2 in association with at least one of a position command and a provisional position command, a history conversion unit 214 that converts the operation history of robot 2 into an operation history when the operation error is not reduced based on the factor information, a model of robot 2 that does not include error factors, and a simulator 216 that reproduces the operation of robot 2 in the virtual space based on the converted operation history. The presence of external factors such as collisions can be easily verified retrospectively by comparing the operation history with the position command or the provisional position command.
[0147] (8) A manual control unit 121 that generates a teaching position based on a manual operation by the user and controls the robot 2 so that the operation error is reduced based on the generated teaching position and the factor information, and a teaching position registration unit 122 that stores the teaching position based on the manual operation in the teaching position storage unit 123 in response to a registration request by the user. The robot control unit 113 controls the robot 2 so that the operation error is reduced based on the teaching position stored in the teaching position storage unit 123 and the factor information. The robot system 1 according to any one of (1) to (7). For the teaching position based on the manual operation, it is possible to visually confirm the state in which the operation error is reduced based on the factor information and register the teaching position. Since the teaching position is registered with the value before reflecting the error factor, the error factor can be excluded from the teaching position. Therefore, it is possible to easily register the teaching position that does not consider the error factor in the actual machine with the error factor.
[0148] (9) Further provided with a switching unit 124 that switches the presence or absence of reflection of the factor information by the manual control unit 121. When there is reflection of the factor information, the manual control unit 121 controls the robot 2 based on the teaching position based on the manual operation and the factor information. When there is no reflection of the factor information, the manual control unit 121 controls the robot 2 based on the teaching position based on the manual operation without relying on the factor information. The teaching position registration unit 122 stores, in the teaching position storage unit 123, in association with the teaching position based on the manual operation, the presence or absence of reflection of the factor information for the teaching position based on the manual operation as reflection information. When the reflection information corresponding to the teaching position indicates the presence of reflection of the factor information, the robot control unit 113 controls the robot 2 based on the teaching position and the factor information. When the reflection information corresponding to the teaching position indicates the absence of reflection of the factor information, the robot control unit 113 controls the robot 2 based on the teaching position without relying on the factor information. The robot system 1 according to (8). By matching the presence or absence of reduction of operation error during registration of the teaching position and during playback of the registered teaching position, it is possible to prevent unexpected operations of the robot 2.
[0149] (10) The robot system 1 according to any one of (1) to (9), further comprising a teaching position storage unit 123 that stores the teaching position in association with reflection information indicating the presence or absence of reflection of factor information by the robot control unit 113, wherein when the reflection information corresponding to the teaching position indicates the presence of reflection of factor information, the robot control unit 113 controls the robot 2 based on the teaching position and the factor information, and when the reflection information corresponding to the teaching position indicates the absence of reflection of factor information, the robot control unit 113 controls the robot 2 based on the teaching position without relying on the factor information. By switching whether to reduce the operation error based on the necessity information associated with the teaching position in advance, it is possible to prevent unexpected operations of the robot 2 due to a mismatch between the teaching position and whether to reduce the operation error.
[0150] (11) The robot system 1 according to (10), wherein when the reflection information is not associated with the teaching position stored in the teaching position storage unit 123, the robot control unit 113 controls the robot 2 based on the teaching position without relying on the factor information. It is possible to prevent unexpected operations of the robot 2 caused by applying the operation error reduction function to a teaching position that does not assume the operation error reduction function.
[0151] (12) The robot system 1 according to any one of (1) to (11), further comprising a peripheral information acquisition unit 125 that acquires position information of a peripheral object based on the relative position of the hand tip with respect to the peripheral object and the teaching position at which the hand tip has reached the relative position. Due to the reduction of the operation error, the difference between the position of the hand tip and the teaching position is minimized. Therefore, based on the teaching position, it is possible to easily acquire the position information of the peripheral object with high accuracy.
[0152] (13) The robot system 1 according to (12), further comprising a model calibrator 217 that corrects the position of the model of the surrounding object in the virtual space based on the acquired position information of the surrounding object, and a simulator 216 that operates the robot 2 in the virtual space. The relationship between the operation of the robot 2 and the surrounding object can be simulated with high accuracy by the virtual space in which the position information of the surrounding object acquired with high accuracy is reflected in the model.
[0153] (14) The robot system 1 according to (13), further comprising an offline teaching unit 221 that generates a teaching position based on the operation of the robot 2 in the virtual space. Since the reduction of the operation error is performed by the robot 2 controller, a teaching position that can be easily applied to the real space can be generated based on the operation of the robot 2 in the virtual space where there is no error factor of the robot 2 and the position of the surrounding object is corrected.
[0154] (15) The factor storage unit 112 stores a plurality of factor information respectively corresponding to a plurality of robots 2, and the robot control unit 113 selects any one of the plurality of factor information according to the robot 2 to be controlled, and controls the robot 2 based on the selected factor information. The robot system 1 according to any one of (1) to (14). A plurality of robots 2 with individual differences can be controlled with high accuracy at the same teaching position.
[0155] (16) The factor storage unit 112 stores the ID of the robot 2 corresponding to the factor information, and the robot control unit 113 controls the robot 2 based on the factor information when the ID of the robot 2 to be controlled matches the ID corresponding to the factor information. The robot system 1 according to any one of (1) to (15). A mismatch between the factor information and the robot 2 can be easily prevented.
[0156] (17) The robot 2 further has a factor information holding unit 51 that stores factor information, and the robot 2 controller further has a factor information registration unit 131 that acquires factor information from the factor information holding unit 51 of the robot 2 and stores it in the factor storage unit 112. The robot system 1 according to any one of (1) to (16). The mismatch between the factor information and the robot 2 can be easily prevented.
[0157] (18) The robot 2 controller further has a collation unit 132 that collates the factor information stored in the robot 2 with the factor information stored in the factor storage unit 112. The robot system 1 according to (17). The mismatch between the factor information and the robot 2 can be further prevented.
[0158] (19) A method for manufacturing a robot system 1 including a robot 2 having an arm 10 whose hand position can be changed and a robot 2 controller that controls the robot 2, the method including operating the robot 2 by the robot 2 controller in a predetermined operation pattern, generating factor information representing an error factor of an operation caused by the structure of the arm 10 based on the operation pattern and the operation result of the robot 2, and storing the factor information in a storage unit of the robot system 1. A method for manufacturing the robot system 1. In a unified environment within the manufacturing line, factor information is generated by a dedicated device, and the generated factor information is preset in the robot system 1. Therefore, a highly reliable and user-friendly robot system 1 can be manufactured.
[0159] (20) Storing the factor information in the storage unit of the robot system 1 includes storing the factor information in the storage unit of the robot 2. The method for manufacturing the robot system 1 according to (19).
Explanation of Reference Numerals
[0160] 1... Robot system, 2... Robot, 10... Arm, 112... Factor memory unit, 113... Robot control unit, 114... Command generation unit, 115... Motion control unit, 116... History memory unit, 121... Manual control unit, 123... Taught position memory unit, 122... Taught position registration unit, 124... Switching unit, 125... Peripheral information acquisition unit, 51... Factor information holding unit, 131... Factor information registration unit, 132... Verification unit, 213... Second factor memory unit, 212... Factor duplication unit, 214... History conversion unit, 216... Simulator, 217... Model calibrator, 221... Offline teaching unit.
Claims
1. A robot having an arm whose hand position can be changed, A robot controller for controlling the robot, Comprising, The robot controller, A factor storage unit that stores factor information representing an error factor of an operation caused by the structure of the arm, Based on the teaching position representing the operation of the robot and the factor information, a robot control unit that controls the robot so that an operation error caused by the error factor is reduced, Having, Robot system.
2. The robot control unit, A command generation unit that sequentially generates a position command representing a path position of the robot to the teaching position based on the teaching position and the factor information, An operation control unit that controls the robot according to the sequentially generated position commands, Having, The robot system according to claim 1.
3. The error factor includes the compliance of the arm, The command generation unit, Generates a temporary position command based on the teaching position, Calculates the deflection of the arm based on the temporary position command and the compliance, Generates the position command based on the deflection and the temporary position command, The robot system according to claim 2.
4. The error factor further includes a dimensional error of the arm, The command generation unit, Calculates the deflection of the arm based on the temporary position command and the compliance, Generates the position command based on the temporary position command, the dimensional error, and the deflection, The robot system according to claim 3.
5. A history conversion unit that converts the operation history of the robot into the operation history when the operation error is not reduced based on the factor information, A simulator that reproduces the operation of the robot in a virtual space based on the model of the robot that does not include the error factor and the converted operation history, Further comprising, The robot system according to any one of claims 2 to 4. 。
6. A factor replication unit that acquires the factor information from the factor storage unit of the robot controller and stores it in a second factor storage unit outside the robot controller Further comprising, The history conversion unit converts the operation history into the operation history when the operation error is not reduced based on the factor information stored in the second factor storage unit, The robot system according to claim 5.
7. A history storage unit that stores the operation history of the robot in association with at least one of the position command and the provisional position command; A history conversion unit that converts the operation history of the robot into the operation history when the operation error is not reduced based on the factor information; A simulator that reproduces the operation of the robot in a virtual space based on the model of the robot without the error factor and the converted operation history; Further comprising The robot system according to claim 3 or 4.
8. A manual control unit that generates the teaching position based on a manual operation by the user and controls the robot so that the operation error is reduced based on the generated teaching position and the factor information; A teaching position registration unit that stores the teaching position based on the manual operation in a teaching position storage unit in response to a registration request by the user; Further comprising The robot control unit controls the robot so that the operation error is reduced based on the teaching position stored in the teaching position storage unit and the factor information. The robot system according to any one of claims 1 to 4.
9. Further comprising a switching unit that switches whether or not to reflect the factor information by the manual control unit, The manual control unit When the factor information is reflected, controls the robot based on the teaching position based on the manual operation and the factor information; When the factor information is not reflected, controls the robot based on the teaching position based on the manual operation without relying on the factor information; The teaching position registration unit stores, in the teaching position storage unit, in association with the teaching position based on the manual operation, the presence or absence of reflection of the factor information with respect to the teaching position based on the manual operation as reflection information; The robot control unit When the reflection information corresponding to the teaching position indicates that the factor information is reflected, controls the robot based on the teaching position and the factor information; When the reflection information corresponding to the teaching position indicates that the factor information is not reflected, controls the robot based on the teaching position without relying on the factor information. The robot system according to claim 8.
10. Further comprising a teaching position storage unit that stores the teaching position in association with reflection information indicating whether or not the factor information is reflected by the robot control unit; The robot control unit When the reflection information corresponding to the teaching position indicates the presence of the reflection of the factor information, the robot is controlled based on the teaching position and the factor information. When the reflection information corresponding to the teaching position indicates the absence of the reflection of the factor information, the robot is controlled based on the teaching position without relying on the factor information. The robot system according to any one of claims 1 to 4.
11. When the reflection information is not associated with the teaching position stored in the teaching position storage unit, the robot control unit controls the robot based on the teaching position without relying on the factor information. The robot system according to claim 10.
12. The robot system further includes a peripheral information acquisition unit that acquires position information of a peripheral object based on the relative position of the hand tip with respect to the peripheral object and the teaching position at which the hand tip has reached the relative position. The robot system according to any one of claims 1 to 4.
13. A model calibrator that corrects the position of the model of the peripheral object in the virtual space based on the acquired position information of the peripheral object, and A simulator that operates the robot in the virtual space. The robot system further includes: The robot system according to claim 12.
14. The robot system further includes an offline teaching unit that generates the teaching position based on the operation of the robot in the virtual space. The robot system according to claim 13.
15. The factor storage unit stores a plurality of factor information respectively corresponding to a plurality of the robots. The robot control unit selects any one of the plurality of factor information according to the robot to be controlled, and controls the robot based on the selected factor information. The robot system according to any one of claims 1 to 4.
16. The factor storage unit stores the ID of the robot corresponding to the factor information. When the ID of the robot to be controlled matches the ID corresponding to the factor information, the robot control unit controls the robot based on the factor information. The robot system according to any one of claims 1 to 4.
17. The robot further has a factor information holding unit that stores the factor information. The robot controller further has a factor information registration unit that acquires the factor information from the factor information holding unit of the robot and stores it in the factor storage unit. The robot system according to any one of claims 1 to 4.
18. The robot controller further includes a collating unit that collates the factor information stored by the robot with the factor information stored by the factor storage unit. The robot system according to claim 17.
19. A method for manufacturing a robot system including a robot having an arm whose end effector position can be changed and a robot controller for controlling the robot, operating the robot in a predetermined operation pattern by the robot controller; generating factor information representing an error factor of the operation due to the structure of the arm based on the operation pattern and the operation result of the robot; causing a storage unit of the robot system to store the factor information; A method for manufacturing a robot system including the above steps.
20. Causing the storage unit of the robot system to store the factor information includes causing the storage unit of the robot to store the factor information. The method for manufacturing a robot system according to claim 19.
Citation Information
Patent Citations
Device for operation, control system, control method and program
JP2019198925A