ROBOT SYSTEM AND SENSING METHOD

The robot system addresses the challenge of utilizing sensor information by incorporating a sensor with a fixed position relative to the motor and correcting sensor data based on stored position information, resulting in improved operational efficiency and accuracy.

JP7681732B2Active Publication Date: 2025-05-22YASKAWA DENKI KK
View PDF 11 Cites 0 Cited by

Patent Information

Application Number
JP2023578284
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-02-03
Publication Date
2025-05-22
Estimated Expiration
2042-02-03

AI Technical Summary

Technical Problem

Existing robot systems face challenges in effectively utilizing sensor information due to unknown relative positions of sensors with respect to motors, which complicates the interpretation and application of sensor data.

Method used

A robot system that includes a first link, a first motor rotating the link, a first sensor with a fixed position relative to the motor, and a memory storing position information about the sensor's relative position. This system acquires sensor information and corrects it based on the stored position information and link state information.

Benefits of technology

The system enables effective utilization of sensor information by accurately determining the direction and orientation of sensor data, thereby improving the robot's operational efficiency and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007681732000001
    Figure 0007681732000001
  • Figure 0007681732000002
    Figure 0007681732000002
  • Figure 0007681732000003
    Figure 0007681732000003
Patent Text Reader

Abstract

A robot system 1 comprises: a first link which is one part of a robot arm 10; a first motor 40 that moves by the rotation of the first link; a first sensor 60 the relative position of which, with respect to the first motor 40, is fixed; and a memory for storing first position information indicating the relative position of the first sensor 60 with respect to a reference position related to the first motor 40.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a robot system and a sensing method. [Background technology]

[0002] Patent Document 1 discloses a robot in which sensors for detecting actuator drive conditions, such as position sensors, acceleration sensors, angular velocity sensors, and torque sensors, are built into each joint actuator device. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2004-188535 A Summary of the Invention [Problem to be solved by the invention]

[0004] The present disclosure provides a robot system that is effective for further utilizing sensor information in a robot. [Means for solving the problem]

[0005] A robot system according to one aspect of the present disclosure includes a first link that is part of a robot arm, a first motor that moves by rotating the first link, a first sensor whose position relative to the first motor is fixed, and a memory that stores first position information that represents the relative position of the first sensor with respect to a first reference position with respect to the first motor.

[0006] A sensing method according to another aspect of the present disclosure includes acquiring first sensor information from a first sensor whose position is fixed relative to a first motor that is displaced by rotation of a first link that is part of a robot arm, and correcting the first sensor information based on first position information representing the relative position of the first sensor with respect to the first motor and information related to a state of the first link. Effect of the Invention

[0007] The present disclosure provides a robot system that is effective for further utilizing sensor information in a robot. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 is a schematic diagram illustrating a configuration of a robot system. [Diagram 2] FIG. 2 is a schematic diagram illustrating a configuration of an encoder. [Diagram 3] FIG. 2 is a block diagram illustrating a configuration of a controller. [Figure 4] FIG. 2 is a block diagram illustrating a hardware configuration of a controller. [Diagram 5] 1 is a flow chart illustrating a calibration procedure. [Figure 6] 10 is a flowchart illustrating an installation state detection procedure. [Figure 7] 11 is a flowchart illustrating a vibration detection procedure. [Figure 8] 1 is a flow chart illustrating an interpolation procedure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Hereinafter, the embodiments will be described in detail with reference to the drawings. In the description, the same elements or elements having the same functions are denoted by the same reference numerals, and duplicated description will be omitted.

[0010] [Robot System] 1 is, for example, an industrial robot system that performs tasks such as transporting a workpiece, machining the workpiece, assembling the workpiece, etc. The robot system 1 includes, for example, a robot arm 10 and a controller 100.

[0011] The robot arm 10 is, for example, a 6-axis vertical articulated robot, and includes a robot base 11, an arm 12, an arm 13, a wrist 14, a tip 15, motors 41, 42, 43, 44, 45, 46, and encoders 51, 52, 53, 54, 55, 56. The robot base 11 is installed on the floor surface, wall surface, ceiling surface, etc. of the work space. The robot base 11 may be installed on a movable surface such as the upper surface of an automated guided vehicle.

[0012] The robot base 11 has a base 16 and a swivel part 17. The base 16 is fixed to the installation surface such as the floor surface, wall surface, ceiling surface, or the upper surface of the automated guided vehicle exemplified above. For example, in FIG. 1, the base 16 is fixed to a horizontal floor surface. In the following description, "up and down" means up and down when the base 16 is fixed to a horizontal floor surface.

[0013] The swivel part 17 is provided on the base 16 so as to be rotatable about a vertical axis 21 (axis 21 perpendicular to the installation surface). Thereby, a joint 31 is formed between the base 16 and the swivel part 17, and the base 16 rotatably supports the swivel part 17.

[0014] The arm 12 is connected to the swivel part 17 so as to be rotatable about an axis 22 that intersects (for example, is perpendicular to) the axis 21. The intersection includes a twisted relationship such as a so-called three-dimensional intersection. The same applies hereinafter. Thereby, a joint 32 is formed between the swivel part 17 and the arm 12, and the swivel part 17 rotatably supports the arm 12. The arm 12 extends so as to intersect (for example, be perpendicular to) the axis 22.

[0015] The arm 13 is connected to the end of the arm 12 so as to be rotatable about an axis 23 parallel to the axis 22. Thereby, a joint 33 is formed between the arm 13 and the arm 12, and the arm 12 rotatably supports the arm 13. Note that "support" includes indirect support in addition to direct support. For example, the arm 13 is also supported by the swivel part 17 via the arm 12. The arm 13 extends along an axis 24 that intersects (for example, is perpendicular to) the axis 23.

[0016] The arm 13 has an arm base 18 and an arm end 19. The arm base 18 is connected to the end of the arm 12 so as to be rotatable about an axis 23. The arm end 19 is connected to the end of the arm base 18 so as to be rotatable about an axis 24, and extends along the axis 24. As a result, a joint 34 is formed between the arm end 19 and the arm base 18, and the arm base 18 supports the arm end 19 so as to be rotatable.

[0017] The wrist 14 is connected to the end of the arm end 19 so as to be rotatable about an axis 25 that intersects (for example, perpendicular to) the axis 24. As a result, a joint 35 is formed between the wrist 14 and the arm end 19, and the arm end 19 rotatably supports the wrist 14. The wrist 14 extends along an axis 26 that intersects (for example, perpendicular to) the axis 25.

[0018] The tip portion 15 is connected to an end of the wrist portion 14 so as to be rotatable around an axis 26. As a result, a joint 36 is formed between the tip portion 15 and the wrist portion 14, and the wrist portion 14 rotatably supports the tip portion 15. A tool that acts on a workpiece is provided on the tip portion 15. Specific examples of the tool include a hand that grips the workpiece, a processing tool for the workpiece (e.g., a welding torch, a paint gun), an assembly tool (e.g., a screw tightening tool), etc.

[0019] The motors 41, 42, 43, 44, 45, and 46 drive the joints 31, 32, 33, 34, 35, and 36, respectively. The motor 41 is a “base motor” fixed to the robot base 11. As an example, the motor 41 is fixed to the rotating part 17. The motor 41 may be fixed to the base 16.

[0020] Motor 41 receives a supply of electric power and rotates rotating part 17 around axis 21. Motor 42 is fixed to rotating part 17 at joint 32 and moves due to the rotation of rotating part 17. In this relationship, rotating part 17 is a "first link", motor 41 is a "second motor" that rotates the "first link", and motor 42 is a "first motor" that moves due to the rotation of the "first link". Motor 42 may be fixed to arm 12.

[0021] Motor 42 receives power and rotates arm 12 around axis 22. Motor 43 is fixed to arm 12 at joint 33, and moves as arm 12 rotates. Motor 43 also moves as rotating portion 17. In this relationship, arm 12 is a "first link," and rotating portion 17 is a "second link" that rotatably supports "first link." Motor 42 is a "second motor" that rotates "first link," and motor 43 is a "first motor" that moves as "first link" rotates. Motor 43 may be fixed to arm base 18.

[0022] The motor 43 receives a supply of electric power and rotates the arm base 18 around the axis 23. The motor 44 is fixed to the arm base 18 and moves with the rotation of the arm base 18. The motor 44 also moves with the rotation of the swivel unit 17 and the rotation of the arm 12. In this relationship, the arm base 18 is the "first link" and the arm 12 is the "second link" that rotatably supports the "first link". The motor 43 is the "second motor" that rotates the "first link", and the motor 44 is the "first motor" that moves with the rotation of the "first link". The motor 44 may be fixed to the arm end 19.

[0023] The motor 44 receives power and rotates the arm end 19 around the axis 24. The motors 45 and 46 are fixed to the arm end 19 and move with the rotation of the arm end 19. The motors 45 and 46 also move with the rotation of the swivel unit 17, the arm 12, and the arm base 18. In this relationship, the arm end 19 is the "first link," and the arm base 18 is the "second link" that rotatably supports the "first link." The motor 44 is the "second motor" that rotates the "first link," and the motors 45 and 46 are the "first motor" that moves with the rotation of the "first link." The motor 45 receives power and rotates the wrist 14 around the axis 25. The motor 46 receives power and rotates the tip 15 around the axis 26.

[0024] The arrangement of the motors is merely an example and can be changed as appropriate. For example, the motor 46 may be fixed to the wrist 14. In this case, the motor 46 moves by the rotation of the wrist 14. The wrist 14 is the "first link", and the arm end 19 is the "second link" that rotatably supports the "first link". The motor 45 is the "second motor" that rotates the "first link", and the motor 46 is the "first motor" that moves by the rotation of the "first link". The motor 46 also moves by the rotation of the swivel unit 17, the rotation of the arm 12, the rotation of the arm base 18, and the rotation of the arm end 19 (second link).

[0025] Moreover, the motors 45, 46 may be fixed to the arm base 18. In this case, the motors 45, 46, like the motor 44, are moved by the rotation of the arm base 18 (first link).

[0026] Encoders 51, 52, 53, 54, 55, and 56 detect the rotation of motors 41, 42, 43, 44, 45, and 46, respectively. For example, encoder 51 is fixed to motor 41 and detects the rotation angle of motor 41 for rotating rotating part 17 around axis 21. For example, encoder 51 is fixed to the stator of motor 41 and detects the rotation angle of the rotor of motor 41. Encoder 51 is a "base encoder" fixed to the "base motor" and is also a "second encoder" fixed to the "second motor".

[0027] The encoder 52 is fixed to the motor 42 and detects the rotation angle of the motor 42 for rotating the arm 12 around the axis 22. For example, the encoder 52 is fixed to the stator of the motor 42 and detects the rotation angle of the rotor of the motor 42. The encoder 52 is a "first encoder" fixed to the "first motor" and is also a "second encoder" fixed to the "second motor".

[0028] The encoder 53 is fixed to the motor 43 and detects the rotation angle of the motor 43 for rotating the arm base 18 around the axis 23. For example, the encoder 53 is fixed to the stator of the motor 43 and detects the rotation angle of the rotor of the motor 43. The encoder 53 is a "first encoder" fixed to the "first motor" and is also a "second encoder" fixed to the "second motor".

[0029] The encoder 54 is fixed to the motor 44 and detects the rotation angle of the motor 44 for rotating the arm end 19 about the axis 24. For example, the encoder 54 is fixed to the stator of the motor 44 and detects the rotation angle of the rotor of the motor 44. The encoder 54 is a "first encoder" fixed to the "first motor" and is also a "second encoder" fixed to the "second motor".

[0030] Encoder 55 is fixed to the motor 45 and detects the rotation angle of the motor 45 for rotating the wrist part 14 around the axis 25. For example, the encoder 55 is fixed to the stator of the motor 45 and detects the rotation angle of the rotor of the motor 45. The encoder 55 is the "first encoder" fixed to the "first motor". When the motor 46 is fixed to the wrist part 14, the encoder 55 is also the "second encoder" fixed to the "second motor".

[0031] Encoder 56 is fixed to the motor 46 and detects the rotation angle of the motor 46 for rotating the tip part 15 around the axis 26. For example, the encoder 56 is fixed to the stator of the motor 46 and detects the rotation angle of the rotor of the motor 46. The encoder 56 is the "first encoder" fixed to the "first motor".

[0032] The robot arm 10 further includes sensors 61, 62, 63, 64, 65, 66 separately from the encoders 51, 52, 53, 54, 55, 56. The sensor 61 has a fixed relative position with respect to the motor 41. The sensor 61 is the "base sensor" with a fixed relative position with respect to the "base motor" and is also the "second sensor" with a fixed relative position with respect to the "second motor". For example, the sensor 61 is built into the encoder 51 and is fixed to the sensing position 51a in the encoder 51. The sensor 61 is an acceleration sensor and detects the acceleration at the sensing position 51a. The sensor 61 may be built into the motor 41.

[0033] The sensor 62 has a fixed relative position with respect to the motor 42. The sensor 62 is the "first sensor" with a fixed relative position with respect to the "first motor" and is also the "second sensor" with a fixed relative position with respect to the "second motor". For example, the sensor 62 is built into the encoder 52 and is fixed to the sensing position 52a in the encoder 52. The sensor 62 is an acceleration sensor and detects the acceleration at the sensing position 52a. The sensor 62 may be built into the motor 42.

[0034] The sensor 63 has a fixed position relative to the motor 43. The sensor 63 is a "first sensor" whose position is fixed relative to the "first motor" and is also a "second sensor" whose position is fixed relative to the "second motor". For example, the sensor 63 is built into the encoder 53 and is fixed to a sensing position 53a in the encoder 53. The sensor 63 is an acceleration sensor and detects the acceleration at the sensing position 53a. The sensor 63 may be built into the motor 43.

[0035] The sensor 64 has a fixed position relative to the motor 44. The sensor 64 is a "first sensor" whose position is fixed relative to the "first motor" and is also a "second sensor" whose position is fixed relative to the "second motor". For example, the sensor 64 is built into the encoder 54 and is fixed to a sensing position 54a in the encoder 54. The sensor 64 is an acceleration sensor and detects the acceleration at the sensing position 54a. The sensor 64 may be built into the motor 44.

[0036] The sensor 65 has a fixed position relative to the motor 45. The sensor 65 is a "first sensor" whose position is fixed relative to the "first motor". When the motor 46 is fixed to the wrist 14, the sensor 65 is also a "second sensor" whose position is fixed relative to the "second motor". For example, the sensor 65 is built into the encoder 55 and is fixed to a sensing position 55a in the encoder 55. The sensor 65 is an acceleration sensor and detects the acceleration at the sensing position 55a. The sensor 65 may be built into the motor 45.

[0037] The sensor 66 has a fixed position relative to the motor 46. The sensor 66 is a "first sensor" whose position relative to the "first motor" is fixed. For example, the sensor 66 is built into the encoder 56 and fixed to a sensing position 56a in the encoder 56. The sensor 66 is an acceleration sensor and detects the acceleration at the sensing position 56a. The sensor 66 may be built into the motor 46.

[0038] The robot arm 10 may further include sensors (other sensors) other than the encoders 51, 52, 53, 54, 55, 56 and the sensors 61, 62, 63, 64, 65, 66. For example, the robot arm 10 has a torque sensor 71, a torque sensor 72, and a contact sensor 73. The torque sensor 71 detects a torque acting between the rotating part 17 and the arm 12 at the joint 32. The torque sensor 72 detects a torque acting between the arm base part 18 and the arm 12 at the joint 33. The contact sensor 73 detects contact between the arm end part 19 and a surrounding object.

[0039] The configuration of the robot arm 10 shown in FIG. 1 is merely an example. The configuration of the robot arm 10 can be appropriately changed as long as it has one or more links (first links) and a motor (first motor) that moves by rotating the links. For example, the robot arm 10 may be a redundant multi-joint robot in which one or more joints are added to the above-mentioned six joints, or may be a so-called SCARA type multi-joint robot. The robot arm 10 may also be a parallel link type robot.

[0040] 2, the structures of the encoders 51, 52, 53, 54, 55, and 56 are illustrated in more detail. The illustrated contents are common to the encoders 51, 52, 53, 54, 55, and 56, so they will be referred to as the encoder 50 without distinction. The motors 41, 42, 43, 44, 45, and 46 to which the encoders 51, 52, 53, 54, 55, and 56 are respectively fixed will also be referred to as the motor 40 without distinction. The sensors 61, 62, 63, 64, 65, and 66 built into the encoders 51, 52, 53, 54, 55, and 56, respectively, will also be referred to as the sensor 60 without distinction.

[0041] As shown in Fig. 2, the encoder 50 includes a disk 81 and a circuit board 82. The disk 81 is fixed to the rotor of the motor 40 and rotates together with the rotor. The circuit board 82 includes a pulse generating unit 83 and an integrated circuit 84. The pulse generating unit 83 generates a pulse signal according to the rotation of the disk 81. The integrated circuit 84 calculates the rotation angle of the motor 40. For example, the integrated circuit 84 counts the pulse signals generated by the pulse generating unit 83 to calculate the rotation angle of the motor 40.

[0042] The sensor 60 may include a Micro Electro Mechanical System (MEMS) device formed in an integrated circuit 84. A MEMS device is a device in which an electric circuit and a mechanical structure are integrated on a single semiconductor substrate.

[0043] For example, the sensor 60 has a sensing unit 85 and an AD conversion circuit 86. The sensing unit 85 is a MEMS device and is formed at a sensing position 50a in an integrated circuit 84. The sensing unit 85 generates an analog electrical signal representing the acceleration at the sensing position 50a. The AD conversion circuit 86 is formed in the integrated circuit 84 together with the sensing unit 85, and converts the analog electrical signal generated by the sensing unit 85 into a digital signal.

[0044] For example, the sensing unit 85 generates an electrical signal that represents the acceleration at the sensing position 50a in a sensor coordinate system CS2 fixed to the sensing position 50a. For example, the sensor coordinate system CS2 is a three-dimensional Cartesian coordinate system having three coordinate axes that are mutually orthogonal. The sensing unit 85 generates three analog electrical signals that represent the acceleration at the sensing position 50a as a vector in the sensor coordinate system CS2. The AD conversion circuit 86 converts the three electrical signals generated by the sensing unit 85 into three digital signals.

[0045] The controller 100 operates the robot arm 10 according to a prepared operation program. As described above, the robot arm 10 includes the sensors 61, 62, 63, 64, 65, and 66 whose relative positions are fixed with respect to the motors 41, 42, 43, 44, 45, and 46, respectively. By using the sensors whose relative positions are fixed with respect to the motors, it is possible to simplify the wiring to the sensors by using a power supply system to the motors to supply power to the sensors and by acquiring information from the sensors using a communication system for controlling the motors, etc.

[0046] However, when the relative position of the first sensor with respect to the first motor is unknown, it is also unclear what direction the first sensor information acquired from the first sensor is related to, making it difficult to effectively utilize the first sensor information.

[0047] In response to this, the controller 100 has a memory that stores first position information that indicates the relative position of the first sensor with respect to the first reference position of the first motor. Since the first position information is stored in the memory, it is possible to easily identify what direction the first sensor information is based on the first position information.

[0048] For example, as shown in FIG. 3, the controller 100 has, as functional components (hereinafter referred to as "functional blocks"), a control unit 111, a sensor information acquisition unit 112, a position information memory 113, and a sensor information correction unit 114.

[0049] The control unit 111 operates the robot arm 10 according to a prepared operation program. The operation program includes a plurality of operation commands in a time series. Each of the plurality of operation commands includes, for example, a target position and a target posture of the tip portion 15. Each of the plurality of operation commands may further include a target speed for the movement to the target position and the target posture. For example, the control unit 111 repeatedly executes the following processing at a predetermined control period. Based on the operation command, the control unit 111 calculates the target position and target posture of the tip portion 15 for each control period. Based on the target position and target posture of the tip portion 15 for each control period, the control unit 111 calculates the target angles of the motors 41, 42, 43, 44, 45, and 46 by inverse kinematics calculation based on the target position and target posture of the tip portion 15 for each control period and model information of the robot arm 10. The control unit 111 obtains the current angles of the motors 41, 42, 43, 44, 45, and 46 detected by the encoders 51, 52, 53, 54, 55, and 56. The motors 41, 42, 43, 44, 45, and 46 are driven so that the current angle follows the target angle.

[0050] The sensor information acquisition unit 112 acquires first sensor information from a first sensor. The sensor information acquisition unit 112 may further acquire second sensor information from a second sensor. For example, the sensor information acquisition unit 112 acquires sensor information from the sensors 61, 62, 63, 64, 65, and 66. For example, the sensor information acquisition unit 112 acquires sensor information representing the detection result of the acceleration at the sensing position 51a from the sensor 61, acquires sensor information representing the detection result of the acceleration at the sensing position 52a from the sensor 62, acquires sensor information representing the detection result of the acceleration at the sensing position 53a from the sensor 63, acquires sensor information representing the detection result of the acceleration at the sensing position 54a from the sensor 64, acquires sensor information representing the detection result of the acceleration at the sensing position 55a from the sensor 65, and acquires sensor information representing the detection result of the acceleration at the sensing position 56a from the sensor 66.

[0051] The sensor information acquiring unit 112 may further acquire other sensor information from other sensors. For example, the sensor information acquiring unit 112 further acquires other sensor information from the torque sensors 71, 72 and the contact sensor 73. For example, the sensor information acquiring unit 112 acquires sensor information representing the torque detection results from the torque sensors 71, 72, and acquires sensor information representing the contact detection result from the contact sensor 73.

[0052] The position information memory 113 stores first position information representing a relative position of the first sensor with respect to a first reference position with respect to the first motor. The position information memory 113 may further store second position information representing a relative position of the second sensor with respect to a second reference position with respect to the second motor. For example, the position information memory 113 stores position information representing a relative position of the sensor 61 with respect to a reference position with respect to the motor 41, position information representing a relative position of the sensor 62 with respect to a reference position with respect to the motor 42, position information representing a relative position of the sensor 63 with respect to a reference position with respect to the motor 43, position information representing a relative position of the sensor 64 with respect to a reference position with respect to the motor 44, position information representing a relative position of the sensor 65 with respect to a reference position with respect to the motor 45, and position information representing a relative position of the sensor 66 with respect to a reference position with respect to the motor 46. The reference position with respect to the motor 41 is a position whose relative position with respect to the motor 41 is fixed. The reference position with respect to the motor 41 may be located inside the motor 41 or outside the motor 41. For example, the reference position for the motor 41 may be located at a part (for example, the robot base 11) fixed to the motor 41. The same applies to the reference positions for the other motors. In the following, the contents of the position information will be described as position information that indicates the relative position of the sensor 60 with respect to the reference position for the motor 40, without distinguishing between each piece of position information.

[0053] For example, the position information represents the relative position of the sensing position 50a of the sensor 60 with respect to a reference position regarding the motor 40, in terms of coordinates in a motor coordinate system CS3 fixed to the motor 40. Each piece of position information may further represent the relative orientation of the sensor 60 with respect to the motor 40. For example, each piece of position information may further represent the relative orientation of the sensor coordinate system CS2 with respect to the motor coordinate system CS3.

[0054] The motor coordinate system CS3 only needs to be fixed to at least the motor 40, and the origin (reference position) of the motor coordinate system CS3 may be located outside the motor 40. For example, the origin of the motor coordinate system CS3 may be located on the link to which the motor 40 is fixed. For example, the origin of the motor coordinate system CS3 of the motor 41 may be located on the rotating part 17, the origin of the motor coordinate system CS3 of the motor 42 may be located on the rotating part 17, the origin of the motor coordinate system CS3 of the motor 43 may be located on the arm 12, the origin of the motor coordinate system CS3 of the motor 44 may be located on the arm base part 18, and the origin of the motor coordinate system CS3 of the motors 45 and 46 may be located on the arm end part 19.

[0055] The sensor information correction unit 114 corrects the first sensor information acquired from the first sensor based on the first position information and information on the state of the first link. The sensor information correction unit 114 may correct the first sensor information acquired from the first sensor based on the first position information, information on the state of the first link, and information on the state of the second link. The sensor information correction unit 114 may correct the second sensor information acquired from the second sensor based on the second position information. Examples of the information on the state of the links include a rotation angle of the link, a rotation angular velocity, a rotation angular acceleration, a rotation angular jerk, a length of the link, a relative angle between the links, and a distance between the links.

[0056] For example, the sensor information correction unit 114 corrects the sensor information acquired from the sensor 62 based on information on the state of the swivel unit 17. For example, the sensor information correction unit 114 may correct the sensor information acquired from the sensor 62 to information independent of the attitude of the sensor 62 based on the rotation angle of the swivel unit 17. Information independent of the attitude of the sensor 62 means information from which the influence of the attitude of the sensor 62 is excluded. The same applies to the following description of the sensors 63, 64, 65, and 66. For example, the sensor information correction unit 114 corrects the sensor information expressed by a vector in the sensor coordinate system CS2 to sensor information expressed by a vector in the robot coordinate system CS1 based on the above-mentioned model information of the robot arm 10, the position information of the sensor 62, and the rotation angle of the swivel unit 17.

[0057] The sensor information correction unit 114 may correct the sensor information acquired from the sensor 62 to information that is not dependent on the rotational acceleration of the swivel unit 17, based on the position information of the sensor 62 and the rotational acceleration of the swivel unit 17. Information that is not dependent on the rotational acceleration of the swivel unit 17 means information from which the influence of the rotational acceleration of the swivel unit 17 is removed. For example, the sensor information correction unit 114 calculates the acceleration occurring at the sensing position 52a due to the rotational acceleration of the swivel unit 17, based on the model information of the robot arm 10, the rotational acceleration of the swivel unit 17, and the position information of the sensor 62, and removes the calculated acceleration from the acceleration detected by the sensor 62. According to the sensor information that has been corrected in this way, it is possible to detect acceleration caused by a factor other than the rotational acceleration of the swivel unit 17. Specific examples of the other factors include bending of the swivel unit 17, rattling of the swivel unit 17 relative to the base 16, rattling of the motor 42 relative to the swivel unit 17, and the like.

[0058] The sensor information correction unit 114 may correct the sensor information acquired from the sensor 62 to information independent of the rotation speed of the swivel unit 17 based on the position information of the sensor 62 and the rotation speed of the swivel unit 17. Information independent of the rotation speed of the swivel unit 17 means information from which the influence of the rotation speed of the swivel unit 17 is removed. For example, the sensor information correction unit 114 calculates the acceleration occurring at the sensing position 52a due to the rotation speed of the swivel unit 17 based on the model information of the robot arm 10, the rotation speed of the swivel unit 17, and the position information of the sensor 62, and removes the calculated acceleration from the acceleration detected by the sensor 62. According to the sensor information subjected to this correction, it is possible to detect the acceleration caused by a factor other than the rotation speed of the swivel unit 17. Specific examples of the other factors include bending of the swivel unit 17, rattling of the swivel unit 17 relative to the base 16, rattling of the motor 42 relative to the swivel unit 17, and the like.

[0059] The sensor information correction unit 114 may correct the sensor information acquired from the sensor 62 to information that is not dependent on the rotational acceleration and rotational speed of the swivel unit 17, based on the position information of the sensor 62 and the rotational acceleration and rotational speed of the swivel unit 17. The information that is not dependent on the rotational acceleration and rotational speed of the swivel unit 17 means information from which the influence of the rotational acceleration and rotational speed of the swivel unit 17 is removed. For example, the sensor information correction unit 114 calculates the acceleration occurring at the sensing position 52a due to the rotational acceleration and rotational speed of the swivel unit 17, based on the model information of the robot arm 10, the rotational acceleration and rotational speed of the swivel unit 17, and the position information of the sensor 62, and removes the calculated acceleration from the acceleration detected by the sensor 62. According to the sensor information that has been corrected in this way, it is possible to detect acceleration caused by factors other than the rotational acceleration and rotational speed of the swivel unit 17. Specific examples of other factors include bending of the swivel portion 17, rattling of the swivel portion 17 relative to the base 16, rattling of the motor 42 relative to the swivel portion 17, and the like.

[0060] The sensor information correction unit 114 corrects the sensor information acquired from the sensor 63 based on information on the state of the arm 12 and information on the state of the rotating unit 17. For example, the sensor information correction unit 114 may correct the sensor information acquired from the sensor 63 to information independent of the attitude of the sensor 63 based on the rotation angle of the arm 12 and the rotation angle of the rotating unit 17. For example, the sensor information correction unit 114 corrects the sensor information expressed by a vector in the sensor coordinate system CS2 to sensor information expressed by a vector in the robot coordinate system CS1 based on the model information of the robot arm 10, the position information of the sensor 63, the rotation angle of the arm 12, and the rotation angle of the rotating unit 17. As a result, the sensor information acquired from the sensor 62 and the sensor information acquired from the sensor 63 are corrected to information in the same coordinate system.

[0061] The sensor information correcting unit 114 may correct the sensor information acquired from the sensor 63 to information that is not dependent on gravity. Information that is not dependent on gravity means information from which the effects of gravity have been removed. For example, the sensor information correcting unit 114 corrects the sensor information acquired from the sensor 63 to sensor information expressed by a vector in the robot coordinate system CS1 as described above, and removes the gravitational acceleration vector in the robot coordinate system CS1 from the corrected sensor information.

[0062] The sensor information correction unit 114 may correct the sensor information acquired from the sensor 63 to information that is not dependent on the rotational acceleration of the arm 12 and the rotational acceleration of the rotating unit 17, based on the position information of the sensor 63, the rotational acceleration of the arm 12, and the rotational acceleration of the rotating unit 17. The information that is not dependent on the rotational acceleration of the arm 12 and the rotational acceleration of the rotating unit 17 means information from which the influence of the rotational acceleration of the arm 12 and the rotational acceleration of the rotating unit 17 is removed. For example, the sensor information correction unit 114 calculates the acceleration occurring at the sensing position 53a due to the rotational acceleration of the arm 12 and the rotational acceleration of the rotating unit 17, based on the model information of the robot arm 10, the rotational acceleration of the arm 12, the rotational acceleration of the rotating unit 17, and the position information of the sensor 63, and removes the calculated acceleration from the acceleration detected by the sensor 63. According to the sensor information subjected to this correction, it is possible to detect acceleration caused by a factor other than the rotational acceleration of the arm 12 and the rotational acceleration of the rotating unit 17. Specific examples of other factors include bending of the rotating part 17, rattling of the rotating part 17 relative to the base 16, bending of the arm 12, rattling of the arm 12 relative to the rotating part 17, rattling of the motor 43 relative to the arm 12, and the like.

[0063] The sensor information correction unit 114 may correct the sensor information acquired from the sensor 63 to information that is not dependent on the rotation speed of the arm 12 and the rotation speed of the rotating unit 17, based on the position information of the sensor 63, the rotation speed of the arm 12, and the rotation speed of the rotating unit 17. The information that is not dependent on the rotation speed of the arm 12 and the rotation speed of the rotating unit 17 means information from which the influence of the rotation speed of the arm 12 and the rotation speed of the rotating unit 17 is removed. For example, the sensor information correction unit 114 calculates the acceleration occurring at the sensing position 53a due to the rotation speed of the arm 12 and the rotation speed of the rotating unit 17, based on the model information of the robot arm 10, the rotation speed of the arm 12, the rotation speed of the rotating unit 17, and the position information of the sensor 63, and removes the calculated acceleration from the acceleration detected by the sensor 63. According to the sensor information subjected to this correction, it is possible to detect the acceleration occurring due to a factor other than the rotation speed of the arm 12 and the rotation speed of the rotating unit 17. Specific examples of other factors include bending of the rotating part 17, rattling of the rotating part 17 relative to the base 16, bending of the arm 12, rattling of the arm 12 relative to the rotating part 17, rattling of the motor 43 relative to the arm 12, and the like.

[0064] The sensor information correction unit 114 may correct the sensor information acquired from the sensor 63 to information independent of the rotational acceleration and rotational speed of the arm 12 and the rotational acceleration and rotational speed of the rotating unit 17, based on the position information of the sensor 63, the rotational acceleration and rotational speed of the arm 12, and the rotational acceleration and rotational speed of the rotating unit 17. The information independent of the rotational acceleration and rotational speed of the arm 12 and the rotational acceleration and rotational speed of the rotating unit 17 means information from which the influence of the rotational acceleration and rotational speed of the arm 12 and the influence of the rotational acceleration and rotational speed of the rotating unit 17 are excluded. For example, the sensor information correction unit 114 calculates the acceleration occurring at the sensing position 53a due to the rotational acceleration and rotational speed of the arm 12 and the rotational acceleration and rotational speed of the rotating unit 17, based on the model information of the robot arm 10, the rotational acceleration and rotational speed of the arm 12, the rotational acceleration and rotational speed of the rotating unit 17, and the position information of the sensor 63, and removes the calculated acceleration from the acceleration detected by the sensor 63. The corrected sensor information makes it possible to detect the rotational acceleration and rotational speed of arm 12, and acceleration caused by factors other than the rotational acceleration and rotational speed of revolving unit 17. Specific examples of the other factors include bending of revolving unit 17, rattling of revolving unit 17 relative to base 16, bending of arm 12, rattling of arm 12 relative to revolving unit 17, rattling of motor 43 relative to arm 12, etc.

[0065] The sensor information correction unit 114 corrects the sensor information acquired from the sensor 64 based on information on the state of the arm base 18, information on the state of the arm 12, and information on the state of the swivel unit 17. For example, the sensor information correction unit 114 may correct the sensor information acquired from the sensor 64 to information independent of the attitude of the sensor 64 based on the rotation angle of the arm base 18, the rotation angle of the arm 12, and the rotation angle of the swivel unit 17. For example, the sensor information correction unit 114 corrects the sensor information expressed by a vector in the sensor coordinate system CS2 to sensor information expressed by a vector in the robot coordinate system CS1 based on the model information of the robot arm 10, the position information of the sensor 64, the rotation angle of the arm base 18, the rotation angle of the arm 12, and the rotation angle of the swivel unit 17. As a result, the sensor information acquired from the sensor 62, the sensor information acquired from the sensor 63, and the sensor information acquired from the sensor 64 are corrected to information in the same coordinate system.

[0066] The sensor information correcting unit 114 may correct the sensor information acquired from the sensor 64 to information that is not dependent on gravitational acceleration. Information that is not dependent on gravitational acceleration includes information that is not dependent on gravity (mass × gravitational acceleration). For example, the sensor information correcting unit 114 corrects the sensor information acquired from the sensor 64 to sensor information expressed by a vector in the robot coordinate system CS1 as described above, and removes the gravitational acceleration vector in the robot coordinate system CS1 from the corrected sensor information.

[0067] The sensor information correction unit 114 may correct the sensor information acquired from the sensor 64 to information that is not dependent on the rotational acceleration of the arm base 18, the rotational acceleration of the arm 12, and the rotational acceleration of the rotating unit 17, based on the position information of the sensor 64, the rotational acceleration of the arm base 18, the rotational acceleration of the arm 12, and the rotational acceleration of the rotating unit 17. The information that is not dependent on the rotational acceleration of the arm base 18, the rotational acceleration of the arm 12, and the rotational acceleration of the rotating unit 17 means information from which the influence of the rotational acceleration of the arm base 18, the rotational acceleration of the arm 12, and the rotational acceleration of the rotating unit 17 has been removed. For example, the sensor information correction unit 114 calculates the acceleration occurring at the sensing position 54a due to the rotational acceleration of the arm base 18, the rotational acceleration of the arm 12, and the rotational acceleration of the rotating unit 17 based on the model information of the robot arm 10, the rotational acceleration of the arm base 18, the rotational acceleration of the arm 12, the rotational acceleration of the rotating unit 17, and the position information of the sensor 64, and removes the calculated acceleration from the acceleration detected by the sensor 64. According to the sensor information subjected to this correction, it becomes possible to detect acceleration caused by a factor other than the rotational acceleration of the arm base 18, the rotational acceleration of the arm 12, and the rotational acceleration of the rotating unit 17. Specific examples of the other factors include bending of the rotating unit 17, rattling of the rotating unit 17 relative to the base 16, bending of the arm 12, rattling of the arm 12 relative to the rotating unit 17, bending of the arm base 18, rattling of the arm base 18 relative to the arm 12, rattling of the motor 44 relative to the arm base 18, etc.

[0068] The sensor information correction unit 114 may correct the sensor information acquired from the sensor 64 to information independent of the rotation speed of the arm base 18, the rotation speed of the arm 12, and the rotation speed of the rotating unit 17, based on the position information of the sensor 64, the rotation speed of the arm base 18, the rotation speed of the arm 12, and the rotation speed of the rotating unit 17. The information independent of the rotation speed of the arm base 18, the rotation speed of the arm 12, and the rotation speed of the rotating unit 17 means information from which the influence of the rotation speed of the arm base 18, the rotation speed of the arm 12, and the rotation speed of the rotating unit 17 has been removed. For example, the sensor information correction unit 114 calculates the acceleration occurring at the sensing position 54a due to the rotation speed of the arm base 18, the rotation speed of the arm 12, and the rotation speed of the rotating unit 17 based on the model information of the robot arm 10, the rotation speed of the arm base 18, the rotation speed of the arm 12, the rotation speed of the rotating unit 17, and the position information of the sensor 64, and removes the calculated acceleration from the acceleration detected by the sensor 64. According to the sensor information subjected to this correction, it is possible to detect acceleration caused by a factor other than the rotation speed of the arm base 18, the rotation speed of the arm 12, and the rotation speed of the rotating unit 17. Specific examples of the other factors include bending of the rotating unit 17, rattling of the rotating unit 17 relative to the base 16, bending of the arm 12, rattling of the arm 12 relative to the rotating unit 17, bending of the arm base 18, rattling of the arm base 18 relative to the arm 12, rattling of the motor 44 relative to the arm base 18, etc.

[0069] The sensor information correction unit 114 may correct the sensor information acquired from the sensor 64 to information independent of the rotational acceleration and rotational speed of the arm base 18, the rotational acceleration and rotational speed of the arm 12, and the rotational acceleration and rotational speed of the rotating unit 17, based on the position information of the sensor 64, the rotational acceleration and rotational speed of the arm base 18, the rotational acceleration and rotational speed of the arm 12, and the rotational acceleration and rotational speed of the rotating unit 17. The information independent of the rotational acceleration and rotational speed of the arm base 18, the rotational acceleration and rotational speed of the arm 12, and the rotational acceleration and rotational speed of the rotating unit 17 means information from which the influences of the rotational acceleration and rotational speed of the arm base 18, the rotational acceleration and rotational speed of the arm 12, and the rotational acceleration and rotational speed of the rotating unit 17 are excluded. For example, the sensor information correction unit 114 calculates the acceleration occurring at the sensing position 54a due to the rotational acceleration and rotational speed of the arm base 18, the rotational acceleration and rotational speed of the arm 12, and the rotational acceleration and rotational speed of the rotating unit 17, based on the model information of the robot arm 10, the rotational acceleration and rotational speed of the arm base 18, the rotational acceleration and rotational speed of the arm 12, and the rotational acceleration and rotational speed of the rotating unit 17, and removes the calculated acceleration from the acceleration detected by the sensor 64. According to the sensor information subjected to this correction, it is possible to detect acceleration occurring due to factors other than the rotational acceleration and rotational speed of the arm base 18, the rotational acceleration and rotational speed of the arm 12, and the rotational acceleration and rotational speed of the rotating unit 17. Specific examples of other factors include bending of the swivel part 17, rattling of the swivel part 17 relative to the base 16, bending of the arm 12, rattling of the arm 12 relative to the swivel part 17, bending of the arm base 18, rattling of the arm base 18 relative to the arm 12, rattling of the motor 44 relative to the arm base 18, etc.

[0070] The sensor information correction unit 114 corrects the sensor information acquired from the sensors 65, 66 based on information on the state of the arm end 19, information on the state of the arm base 18, information on the state of the arm 12, and information on the state of the swivel unit 17. For example, the sensor information correction unit 114 may correct the sensor information acquired from the sensors 65, 66 to information that does not depend on the posture of the sensors 65, 66 based on the rotation angle of the arm end 19, the rotation angle of the arm base 18, the rotation angle of the arm 12, and the rotation angle of the swivel unit 17. For example, the sensor information correction unit 114 corrects the sensor information expressed by a vector in the sensor coordinate system CS2 to sensor information expressed by a vector in the robot coordinate system CS1 based on the model information of the robot arm 10, the position information of the sensors 65, 66, the rotation angle of the arm end 19, the rotation angle of the arm base 18, the rotation angle of the arm 12, and the rotation angle of the swivel unit 17. As a result, the sensor information acquired from the sensor 62, the sensor information acquired from the sensor 63, the sensor information acquired from the sensor 64, and the sensor information acquired from the sensors 65 and 66 are corrected to information in the same coordinate system.

[0071] The sensor information correcting unit 114 may correct the sensor information acquired from the sensors 65, 66 to information that does not depend on gravity. For example, the sensor information correcting unit 114 corrects the sensor information acquired from the sensors 65, 66 to sensor information expressed by vectors in the robot coordinate system CS1 as described above, and removes the gravitational acceleration vector in the robot coordinate system CS1 from the corrected sensor information.

[0072] The sensor information correction unit 114 may correct the sensor information acquired from the sensors 65, 66 based on the position information of the sensors 65, 66, the rotational acceleration of the arm end 19, the rotational acceleration of the arm base 18, the rotational acceleration of the arm 12, and the rotational acceleration of the rotating unit 17 to information that is not dependent on the rotational acceleration of the arm end 19, the rotational acceleration of the arm base 18, the rotational acceleration of the arm 12, and the rotational acceleration of the rotating unit 17. The information that is not dependent on the rotational acceleration of the arm end 19, the rotational acceleration of the arm base 18, the rotational acceleration of the arm 12, and the rotational acceleration of the rotating unit 17 means information from which the influence of the rotational acceleration of the arm end 19, the rotational acceleration of the arm base 18, the rotational acceleration of the arm 12, and the rotational acceleration of the rotating unit 17 has been removed. For example, the sensor information correction unit 114 calculates the acceleration occurring at the sensing position 55a due to the rotational acceleration of the arm end 19, the rotational acceleration of the arm base 18, the rotational acceleration of the arm 12, and the rotational acceleration of the rotating unit 17 based on the model information of the robot arm 10, the rotational acceleration of the arm end 19, the rotational acceleration of the arm base 18, the rotational acceleration of the arm 12, and the rotational acceleration of the rotating unit 17, and position information of the sensors 65 and 66, and removes the calculated acceleration from the acceleration detected by the sensors 65 and 66. According to the sensor information subjected to this correction, it becomes possible to detect acceleration occurring due to factors other than the rotational acceleration of the arm end 19, the rotational acceleration of the arm base 18, the rotational acceleration of the arm 12, and the rotational acceleration of the rotating unit 17. Specific examples of other factors include bending of the swivel part 17, rattling of the swivel part 17 relative to the base 16, bending of the arm 12, rattling of the arm 12 relative to the swivel part 17, bending of the arm base 18, rattling of the arm base 18 relative to the arm 12, bending of the arm end 19, rattling of the arm end 19 relative to the arm base 18, rattling of the motors 45, 46 relative to the arm end 19, etc.

[0073] The sensor information correction unit 114 may correct the sensor information acquired from the sensors 65, 66 to information independent of the rotational speed of the arm end 19, the rotational speed of the arm base 18, the rotational speed of the arm 12, and the rotational speed of the rotating unit 17, based on the position information of the sensors 65, 66, the rotational speed of the arm end 19, the rotational speed of the arm base 18, the rotational speed of the arm 12, and the rotational speed of the rotating unit 17. The information independent of the rotational speed of the arm end 19, the rotational speed of the arm base 18, the rotational speed of the arm 12, and the rotational speed of the rotating unit 17 means information from which the influence of the rotational speed of the arm end 19, the rotational speed of the arm base 18, the rotational speed of the arm 12, and the rotational speed of the rotating unit 17 has been removed. For example, the sensor information correction unit 114 calculates the acceleration occurring at the sensing position 55a due to the rotation speed of the arm end 19, the rotation speed of the arm base 18, the rotation speed of the arm 12, and the rotation speed of the rotating unit 17 based on the model information of the robot arm 10, the rotation speed of the arm end 19, the rotation speed of the arm base 18, the rotation speed of the arm 12, the rotation speed of the rotating unit 17, and position information of the sensors 65 and 66, and removes the calculated acceleration from the acceleration detected by the sensors 65 and 66. According to the sensor information subjected to this correction, it becomes possible to detect acceleration occurring due to factors other than the rotation speed of the arm end 19, the rotation speed of the arm base 18, the rotation speed of the arm 12, and the rotation speed of the rotating unit 17. Specific examples of other factors include bending of the swivel part 17, rattling of the swivel part 17 relative to the base 16, bending of the arm 12, rattling of the arm 12 relative to the swivel part 17, bending of the arm base 18, rattling of the arm base 18 relative to the arm 12, bending of the arm end 19, rattling of the arm end 19 relative to the arm base 18, rattling of the motors 45, 46 relative to the arm end 19, etc.

[0074] The sensor information correction unit 114 may correct the sensor information acquired from the sensors 65, 66 to information independent of the rotational acceleration and rotational speed of the arm end 19, the rotational acceleration and rotational speed of the arm base 18, the rotational acceleration and rotational speed of the arm 12, and the rotational acceleration and rotational speed of the rotating unit 17, based on the position information of the sensors 65, 66, the rotational acceleration and rotational speed of the arm end 19, the rotational acceleration and rotational speed of the arm base 18, the rotational acceleration and rotational speed of the arm 12, and the rotational acceleration and rotational speed of the rotating unit 17. The information independent of the rotational acceleration and rotational speed of the arm end 19, the rotational acceleration and rotational speed of the arm base 18, the rotational acceleration and rotational speed of the arm 12, and the rotational acceleration and rotational speed of the rotating unit 17 means information from which the influences of the rotational acceleration and rotational speed of the arm base 18, the rotational acceleration and rotational speed of the arm 12, and the rotational acceleration and rotational speed of the rotating unit 17 are excluded. For example, the sensor information correction unit 114 calculates the acceleration occurring at the sensing position 55a due to the rotational acceleration and rotational speed of the arm end 19, the rotational acceleration and rotational speed of the arm base 18, the rotational acceleration and rotational speed of the arm 12, and the rotational acceleration and rotational speed of the rotating unit 17, based on the model information of the robot arm 10, the rotational acceleration and rotational speed of the arm end 19, the rotational acceleration and rotational speed of the arm base 18, the rotational acceleration and rotational speed of the arm 12, and the rotational acceleration and rotational speed of the rotating unit 17, and removes the calculated acceleration from the acceleration detected by the sensors 65 and 66. According to the sensor information corrected in this way, it is possible to detect acceleration occurring due to factors other than the rotational acceleration and rotational speed of the arm end 19, the rotational acceleration and rotational speed of the arm base 18, the rotational acceleration and rotational speed of the arm 12, and the rotational acceleration and rotational speed of the rotating unit 17. Specific examples of other factors include bending of the swivel part 17, rattling of the swivel part 17 relative to the base 16, bending of the arm 12, rattling of the arm 12 relative to the swivel part 17, bending of the arm base 18, rattling of the arm base 18 relative to the arm 12, bending of the arm end 19, rattling of the arm end 19 relative to the arm base 18, rattling of the motors 45, 46 relative to the arm end 19, etc.

[0075] For example, the sensor information correction unit 114 may correct the sensor information acquired from the sensor 61 based on information on the state of the swivel unit 17. For example, the sensor information correction unit 114 may correct the sensor information acquired from the sensor 61 to information that does not depend on the attitude of the sensor 61 based on the rotation angle of the swivel unit 17. Information that does not depend on the attitude of the sensor 61 means information from which the influence of the attitude of the sensor 61 is excluded. For example, the sensor information correction unit 114 corrects the sensor information expressed by a vector in the sensor coordinate system CS2 to sensor information expressed by a vector in the robot coordinate system CS1 based on the above-mentioned model information of the robot arm 10, position information of the sensor 61, and the rotation angle of the swivel unit 17.

[0076] The controller 100 may further include a relative information calculation unit 115. Based on the first sensor information corrected by the sensor information correction unit 114 and the second sensor information corrected by the sensor information correction unit 114, the relative information calculation unit 115 calculates relative sensor information by removing a component corresponding to the second sensor information from the first sensor information. For example, based on the sensor information of the sensor 63 corrected by the sensor information correction unit 114 and the corrected sensor information of the sensor 62, the relative information calculation unit 115 calculates relative sensor information by removing a component corresponding to the sensor information of the sensor 62 from the sensor information of the sensor 63. For example, the relative information calculation unit 115 calculates, as the relative sensor information, a relative acceleration by removing the acceleration represented by the corrected sensor information of the sensor 62 from the acceleration represented by the corrected sensor information of the sensor 63. For example, the relative information calculation unit 115 calculates the relative acceleration of the sensing position 53a by subtracting the acceleration of the sensing position 52a represented by a vector in the robot coordinate system CS1 from the acceleration of the sensing position 53a represented by a vector in the robot coordinate system CS1.

[0077] In addition, the "second motor" to which the relative position of the "second sensor" that detects the "second sensor information" in the calculation of the relative sensor information is fixed does not necessarily have to be a motor that rotates the "first link", but may be a motor that rotates at least a part of the robot arm 10. For example, the relative information calculation unit 115 may calculate relative sensor information by removing a component corresponding to the sensor information of the sensor 61 from the sensor information of the sensor 63 based on the sensor information of the sensor 63 corrected by the sensor information correction unit 114 and the corrected sensor information of the sensor 61. For example, the relative information calculation unit 115 may calculate, as the relative sensor information, a relative acceleration by removing the acceleration represented by the corrected sensor information of the sensor 61 from the acceleration represented by the corrected sensor information of the sensor 63. For example, the relative information calculation unit 115 may calculate the relative acceleration of the sensing position 53a by removing the acceleration of the sensing position 51a represented by a vector in the robot coordinate system CS1 from the acceleration of the sensing position 53a represented by a vector in the robot coordinate system CS1.

[0078] The relative information calculation unit 115 may calculate a relative vibration by removing a vibration component corresponding to the vibration represented by the corrected sensor information of the sensor 62 from the vibration represented by the corrected sensor information of the sensor 63. For example, the relative information calculation unit 115 detects the vibration of the sensing position 52a in the robot coordinate system CS1 based on the acceleration represented by the corrected sensor information of the sensor 62, and detects the vibration of the sensing position 53a in the robot coordinate system CS1 based on the acceleration represented by the corrected sensor information of the sensor 63. The relative information calculation unit 115 calculates the relative vibration of the sensing position 53a by removing the vibration of the sensing position 52a in the robot coordinate system CS1 from the vibration of the sensing position 53a in the robot coordinate system CS1. The relative information calculation unit 115 may calculate the relative vibration of the sensing position 53a based on the relative acceleration.

[0079] The relative information calculation unit 115 may calculate, as the relative vibration, a main relative vibration of the sensing position 53a along the moving direction of the motor 43 by the motor 42. For example, the relative information calculation unit 115 calculates the relative vibration expressed by a vector in the robot coordinate system CS1, and calculates, from the calculated relative vibration, a component along the moving direction of the motor 43 by the motor 42 as the main relative vibration of the sensing position 53a. The relative information calculation unit 115 may calculate, as the relative vibration, a sub-relative vibration of the sensing position 53a along a direction intersecting (for example, perpendicular to) the moving direction of the motor 43 by the motor 42. For example, the relative information calculation unit 115 calculates the relative vibration expressed by a vector in the robot coordinate system CS1, and calculates, from the calculated relative vibration, a component along a direction intersecting the moving direction of the motor 43 by the motor 42 as the sub-relative vibration of the sensing position 53a. The relative information calculation unit 115 may calculate both the main relative vibration and the sub-relative vibration.

[0080] In this case, the control unit 111 may control the robot arm 10 so as to reduce the relative vibration at the sensing position 53a. For example, the control unit 111 controls the motor 42 so as to reduce the main relative vibration at the sensing position 53a. For example, the control unit 111 controls the motor 42 so as to generate a torque that cancels out the main relative vibration at the sensing position 53a.

[0081] The control unit 111 may control a motor (for example, the motor 41) different from the motor 42 so as to reduce the secondary relative vibration at the sensing position 53a. For example, the control unit 111 controls the motor 41 so as to generate a torque that cancels out the secondary relative vibration at the sensing position 53a.

[0082] Similarly, the relative information calculation unit 115 may calculate relative sensor information by removing a component corresponding to the sensor information of the sensor 63 from the sensor information of the sensor 64, based on the sensor information of the sensor 64 corrected by the sensor information correction unit 114 and the corrected sensor information of the sensor 63. For example, the relative information calculation unit 115 calculates a relative acceleration of the sensing position 54a by removing the acceleration represented by the corrected sensor information of the sensor 63 from the acceleration represented by the corrected sensor information of the sensor 64. The relative information calculation unit 115 may calculate a relative vibration of the sensing position 54a by removing a vibration component corresponding to the vibration represented by the corrected sensor information of the sensor 63 from the vibration represented by the corrected sensor information of the sensor 64. The relative information calculation unit 115 may calculate a main relative vibration of the sensing position 54a along the movement direction of the motor 44 by the motor 43 as the relative vibration. The relative information calculation unit 115 may calculate, as the relative vibration, the sub relative vibration of the sensing position 54a along a direction intersecting (for example, perpendicular to) the direction of movement of the motor 44 by the motor 43. The relative information calculation unit 115 may calculate both the main relative vibration and the sub relative vibration.

[0083] The control unit 111 may control the robot arm 10 so as to reduce the relative vibration at the sensing position 54a. For example, the control unit 111 controls the motor 43 so as to reduce the main relative vibration at the sensing position 54a. The control unit 111 may control a motor (e.g., motors 41, 42) different from the motor 43 so as to reduce the secondary relative vibration at the sensing position 54a.

[0084] Similarly, the relative information calculation unit 115 may calculate relative sensor information by removing a component corresponding to the sensor information of the sensor 64 from the sensor information of the sensors 65 and 66 based on the sensor information of the sensors 65 and 66 corrected by the sensor information correction unit 114 and the corrected sensor information of the sensor 64. For example, the relative information calculation unit 115 calculates the relative acceleration of the sensing positions 55a and 56a by removing the acceleration represented by the corrected sensor information of the sensor 64 from the acceleration represented by the corrected sensor information of the sensors 65 and 66. The relative information calculation unit 115 may calculate the relative vibration of the sensing positions 55a and 56a by removing the vibration component corresponding to the vibration represented by the corrected sensor information of the sensor 64 from the vibration represented by the corrected sensor information of the sensors 65 and 66. The relative information calculation unit 115 may calculate the main relative vibration of the sensing positions 55a and 56a along the movement direction of the motors 45 and 46 by the motor 44 as the relative vibration. The relative information calculation unit 115 may calculate, as the relative vibration, the sub relative vibration of the sensing positions 55a, 56a along a direction intersecting (for example, perpendicular to) the direction of movement of the motors 45, 46 by the motor 44. The relative information calculation unit 115 may calculate both the main relative vibration and the sub relative vibration.

[0085] The control unit 111 may control the robot arm 10 so as to reduce the relative vibration at the sensing positions 55a and 56a. For example, the control unit 111 controls the motor 44 so as to reduce the main relative vibration at the sensing positions 55a and 56a. The control unit 111 may control a motor (e.g., motors 41, 42, and 43) different from the motor 44 so as to reduce the secondary relative vibration at the sensing positions 55a and 56a.

[0086] The controller 100 may further include a twist detection unit 116. The twist detection unit 116 detects a twist of the first link based on the first sensor information corrected by the sensor information correction unit 114 and the second sensor information corrected by the sensor information correction unit 114. When the twist detection unit 116 detects a twist, the twist detection unit 116 may display the detection of the twist on a display device 197 (described later) or the like. For example, the twist detection unit 116 calculates the above-mentioned relative acceleration based on the corrected sensor information of the sensor 63 and the corrected sensor information of the sensor 62, and calculates the rotational acceleration of the arm 12 based on the above-mentioned relative acceleration. Hereinafter, the calculation result is referred to as the "rotational acceleration of the arm 12 based on the relative acceleration". The twist detection unit 116 calculates the rotational acceleration of the arm 12 based on the model information of the robot arm 10, the rotational acceleration of the motor 41, and the rotational acceleration of the motor 42. Hereinafter, the calculation result is referred to as the "rotational acceleration of the arm 12 based on the model information". The twist detection unit 116 detects the twist of the arm 12 based on the deviation between the rotational acceleration of the arm 12 based on the relative acceleration and the rotational acceleration of the arm 12 based on the model information.

[0087] The controller 100 may further include an interpolation unit 117. The interpolation unit 117 interpolates other sensor information acquired from another sensor based on the first sensor information corrected by the sensor information correction unit 114. For example, the interpolation unit 117 interpolates the torque represented by the sensor information of the torque sensor 71 based on the acceleration represented by the corrected sensor information of the sensor 63. For example, the interpolation unit 117 calculates a high-frequency component of the torque acting on the joint 32 based on the acceleration, and adds the calculated high-frequency component to the torque represented by the sensor information of the torque sensor 71.

[0088] The interpolation unit 117 may interpolate the torque represented by the sensor information of the torque sensor 72 based on the acceleration represented by the corrected sensor information of the sensor 64. For example, the interpolation unit 117 calculates a high-frequency component of the torque acting on the joint 33 based on the acceleration, and adds the calculated high-frequency component to the torque represented by the sensor information of the torque sensor 72.

[0089] When the contact sensor 73 detects contact with a surrounding object, the interpolation unit 117 may add the direction of action of the reaction force from the surrounding object to the sensor information of the contact sensor 73 based on the acceleration represented by the corrected sensor information of the sensors 65, 66.

[0090] The controller 100 may further include an installation state detection unit 118. The installation state detection unit 118 detects the installation state of the robot base 11 based on sensor information (base sensor information) acquired from the sensor 61. The installation state detection unit 118 may detect the installation state of the robot base 11 based on the sensor information of the sensor 61 corrected by the sensor information correction unit 114.

[0091] For example, the installation state detection unit 118 may detect the installation posture of the robot base 11 based on the sensor information of the sensor 61. For example, the installation state detection unit 118 recognizes the acting direction of the gravitational acceleration in the robot coordinate system CS1 based on the acceleration represented by the corrected sensor information of the sensor 61, and detects the installation posture of the robot base 11 based on the acting direction of the gravitational acceleration. For example, the installation state detection unit 118 detects whether the robot base 11 is installed on the floor surface so that the swivel unit 17 is located above the base 16, whether the robot base 11 is installed on the ceiling surface so that the swivel unit 17 is located below the base 16, or whether the robot base 11 is installed on the wall surface so that the swivel unit 17 is located next to the base 16.

[0092] The installation state detection unit 118 sets control parameters based on the installation posture of the robot base 11. For example, the installation state detection unit 118 sets the acting direction of gravitational acceleration in the robot coordinate system CS1 based on the installation posture of the robot base 11. The control unit 111 may cause the motors 41, 42, 43, 44, 45, and 46 to generate torque for gravity compensation based on the acting direction of the gravitational acceleration that has been set.

[0093] The installation state detection unit 118 may detect wobbling of the robot base 11 based on sensor information from the sensor 61. When the installation state detection unit 118 detects wobbling, it may display the detection of wobbling on a display device 197 (described later) or the like. For example, the installation state detection unit 118 detects vibration at the sensing position 51a based on the acceleration represented by the sensor information from the sensor 61, and detects wobbling of the robot base 11 based on the vibration detection result.

[0094] The calibration unit 119 calibrates the first position information based on a comparison between information about the state of the first link and first sensor information acquired from the first sensor. For example, the calibration unit 119 estimates the acceleration of the sensing position 52a based on model information of the robot arm 10, the rotational acceleration of the motor 41, and position information of the sensor 62, and calculates the difference between the acceleration, the estimated result, and the sensor information acquired from the sensor 62. The calibration unit 119 calibrates the position information of the sensor 62 so as to reduce the difference, and stores the calibration result in the position information memory 113.

[0095] The calibration unit 119 estimates the acceleration of the sensing position 53a based on the model information of the robot arm 10, the rotational acceleration of the motor 41, the rotational acceleration of the motor 42, and the position information of the sensor 63, and calculates the difference between the acceleration and the estimated result and the sensor information acquired from the sensor 63. The calibration unit 119 calibrates the position information of the sensor 63 so as to reduce the difference, and stores the calibration result in the position information memory 113.

[0096] The calibration unit 119 estimates the acceleration of the sensing position 54a based on the model information of the robot arm 10, the rotational accelerations of the motors 41, 42, and 43, and position information of the sensor 64, and calculates the difference between the acceleration and the estimated result and the sensor information acquired from the sensor 64. The calibration unit 119 calibrates the position information of the sensor 64 so as to reduce the difference, and stores the calibration result in the position information memory 113.

[0097] The calibration unit 119 estimates the accelerations of the sensing positions 55a, 56a based on model information of the robot arm 10, the rotational accelerations of the motors 41, 42, 43, and 44, and position information of the sensors 65, 66, and calculates the difference between the accelerations and the estimated results and the sensor information acquired from the sensors 65, 66. The calibration unit 119 calibrates the position information of the sensors 65, 66 so as to reduce the difference, and stores the calibration results in the position information memory 113.

[0098] Fig. 4 is a block diagram illustrating a hardware configuration of the controller 100. As shown in Fig. 4, the controller 100 includes a circuit 190. The circuit 190 includes one or more processors 191, one or more temporary memories 192, one or more storages 193, and a servo drive. circuit 194 , a communication port 195 , an input device 196 , and a display device 197 .

[0099] The one or more storages 193 store a program for causing the controller 100 to acquire first sensor information from the first sensor and correct the first sensor information based on the first position information and information on the state of the first link. For example, the one or more storages 193 store a program for causing the controller 100 to configure each of the above-mentioned functional blocks.

[0100] The one or more temporary memories 192 temporarily store programs loaded from the one or more storages 193. The one or more processors 191 execute the programs loaded into the one or more temporary memories 192 to configure the above-mentioned functional blocks in the controller 100. Results of calculations by the one or more processors 191 are stored in the one or more temporary memories 192 or the one or more storages 193 as appropriate.

[0101] The servo drive corridor 194 acquires information on the rotation angle of the motor 40 from the encoder 50 based on commands from the one or more processors 191, and outputs drive power to the motor 40. The communication port 195 acquires sensor information from the sensor 60, the torque sensors 71 and 72, and the contact sensor 73 based on commands from the one or more processors 191.

[0102] The input device 196 acquires an operation input by a user based on a command from the one or more processors 191. Specific examples of the input device 196 include a keyboard, a mouse, a keypad, and the like. The display device 197 displays notification content to the user based on a command from the one or more processors 191. Specific examples of the display device 197 include a liquid crystal monitor, an organic EL (Electro-Luminescence) monitor, and the like. The input device 196 may be integrated into the display device 197 as a so-called touch panel.

[0103] [Sensing method] As an example of the sensing method, a sensing procedure executed by the controller 100 using the sensors 61, 62, 63, 64, 65, 66, the torque sensors 71, 72, and the contact sensor 73 is specifically illustrated. This procedure includes acquiring first sensor information from the first sensor, and correcting the first sensor information based on first position information and information related to the state of the first link. This procedure may include a calibration procedure, an installation state detection procedure, a vibration detection procedure, and an interpolation procedure. Each procedure will be illustrated in detail below.

[0104] (Calibration Procedure) This procedure is a procedure for calibrating the position information of the sensors 61, 62, 63, 64, 65, and 66 stored in the position information memory 113. As shown in FIG. 5, the controller 100 executes steps S01, S02, and S03. In step S01, the calibration unit 119 requests the control unit 111 to execute a calibration operation. The control unit 111 starts driving the motors 41, 42, 43, 44, 45, and 46 so as to cause the robot arm 10 to start a predetermined calibration operation. In step S02, the calibration unit 119 acquires the detection results of the rotation angles by the encoders 51, 52, 53, 54, 55, and 56 and the sensor information from the sensors 61, 62, 63, 64, 65, and 66. In step S03, the calibration unit 119 checks whether the calibration operation is completed or not.

[0105] If it is determined in step S03 that the calibration operation is not completed, the controller 100 returns the process to step S02. If it is determined in step S03 that the calibration operation is completed, the controller 100 executes step S04. In step S04, the calibration unit 119 calibrates the position information of the sensors 61, 62, 63, 64, 65, and 66 based on the data accumulated in steps S02 and S03.

[0106] For example, the calibration unit 119 estimates the acceleration of the sensing position 52a based on the model information of the robot arm 10, the rotational acceleration of the motor 41, and the positional information of the sensor 62, and calibrates the positional information of the sensor 62 based on the acceleration, the estimation result, and the sensor information acquired from the sensor 62. The calibration unit 119 estimates the acceleration of the sensing position 53a based on the model information of the robot arm 10, the rotational acceleration of the motor 41, the rotational acceleration of the motor 42, and the positional information of the sensor 63, and calibrates the positional information of the sensor 63 based on the acceleration, the estimation result, and the sensor information acquired from the sensor 63. The calibration unit 119 estimates the acceleration of the sensing position 54a based on the model information of the robot arm 10, the rotational acceleration of the motor 41, the rotational acceleration of the motor 42, the rotational acceleration of the motor 43, and the positional information of the sensor 64, and calibrates the positional information of the sensor 64 based on the acceleration, the estimation result, and the sensor information acquired from the sensor 64. The calibration unit 119 estimates the accelerations of the sensing positions 55a and 56a based on the model information of the robot arm 10, the rotational accelerations of the motors 41, 42, 43, and 44, and the positional information of the sensors 65 and 66, and calibrates the positional information of the sensors 65 and 66 based on the accelerations, the estimation results, and the sensor information acquired from the sensors 65 and 66. The calibration unit 119 stores the calibration results of the positional information of the sensors 61, 62, 63, 64, 65, and 66 in the positional information memory 113. This completes the calibration procedure.

[0107] (Installation status detection procedure) This procedure is a procedure for detecting the installation posture of the robot base 11 as an example of the installation state of the robot base 11. As shown in Fig. 6, the controller 100 executes steps S11, S12, and S13. In step S11, the installation state detection unit 118 acquires sensor information from the sensor 61. The installation state detection unit 118 may acquire the sensor information of the sensor 61 corrected by the sensor information correction unit 114.

[0108] In step S12, the installation state detection unit 118 may detect the installation posture of the robot base 11 based on the sensor information of the sensor 61. For example, the installation state detection unit 118 recognizes the acting direction of gravitational acceleration in the robot coordinate system CS1 based on the acceleration represented by the corrected sensor information of the sensor 61, and detects the installation posture of the robot base 11 based on the acting direction of the gravitational acceleration.

[0109] In step S13, the installation state detection unit 118 sets control parameters based on the installation posture of the robot base 11. For example, the installation state detection unit 118 sets the acting direction of the gravitational acceleration in the robot coordinate system CS1 based on the installation posture of the robot base 11. This completes the installation state detection procedure.

[0110] (Vibration detection procedure) This procedure is a procedure for detecting the above-mentioned relative vibration and controlling the robot arm 10 so as to suppress the detected relative vibration. As shown in Fig. 7, the controller 100 executes steps S21 and S22. In step S21, the sensor information acquisition unit 112 acquires sensor information from the sensors 61, 62, 63, 64, 65, and 66. In step S22, the sensor information correction unit 114 corrects the sensor information of the sensors 61, 62, 63, 64, 65, and 66 as described above.

[0111] For example, the sensor information correcting unit 114 corrects the sensor information acquired from the sensor 62 to information independent of the attitude of the sensor 62 (for example, sensor information represented by a vector in the robot coordinate system CS1) based on the rotation angle of the swivel unit 17. The sensor information correcting unit 114 corrects the sensor information acquired from the sensor 63 to information independent of the attitude of the sensor 63 (for example, sensor information represented by a vector in the robot coordinate system CS1) based on the rotation angle of the arm 12 and the rotation angle of the swivel unit 17. The sensor information correcting unit 114 corrects the sensor information acquired from the sensor 64 to information independent of the attitude of the sensor 64 (for example, sensor information represented by a vector in the robot coordinate system CS1) based on the rotation angle of the arm base 18, the rotation angle of the arm 12, and the rotation angle of the swivel unit 17. The sensor information correction unit 114 corrects the sensor information acquired from the sensors 65, 66 based on the rotation angle of the arm end 19, the rotation angle of the arm base 18, the rotation angle of the arm 12, and the rotation angle of the swivel unit 17 to information that is independent of the posture of the sensors 65, 66 (for example, sensor information expressed as a vector in the robot coordinate system CS1).

[0112] Next, controller 100 executes step S23. In step S23, twist detection unit 116 checks whether or not there is a twist in arm 12 based on the corrected sensor information of sensor 63 and the corrected sensor information of sensor 62. If it is determined in step S23 that there is a twist in arm 12, controller 100 executes step S24. In step S24, twist detection unit 116 causes display device 197 or the like to display the fact that a twist has been detected.

[0113] Next, the controller 100 executes step S25. If it is determined in step S23 that there is no twist in the arm 12, the controller 100 executes step S25 without executing step S24. In step S25, the twist detection unit 116 checks whether or not there is wobbling in the robot base 11 based on the sensor information of the sensor 61. If it is determined in step S25 that there is wobbling in the robot base 11, the controller 100 executes step S26. In step S26, the twist detection unit 116 causes the display device 197 or the like to display that it has detected wobbling in the robot base 11.

[0114] Next, the controller 100 executes step S27. If it is determined in step S25 that there is no rattling in the robot base 11, the controller 100 executes step S27 without executing step S26. In step S27, the relative information calculation unit 115 calculates the relative sensor information.

[0115] For example, the relative information calculation unit 115 calculates the relative vibration of the sensing position 53a by removing the vibration component corresponding to the vibration represented by the corrected sensor information of the sensor 62 from the vibration represented by the corrected sensor information of the sensor 63. For example, the relative information calculation unit 115 calculates the main relative vibration of the sensing position 53a and the sub-relative vibration of the sensing position 53a. The relative information calculation unit 115 calculates the relative vibration of the sensing position 54a by removing the vibration component corresponding to the vibration represented by the corrected sensor information of the sensor 63 from the vibration represented by the corrected sensor information of the sensor 64. For example, the relative information calculation unit 115 calculates the main relative vibration of the sensing position 54a and the sub-relative vibration of the sensing position 54a. The relative information calculation unit 115 calculates the relative vibration of the sensing positions 55a and 56a by removing the vibration component corresponding to the vibration represented by the corrected sensor information of the sensor 64 from the vibration represented by the corrected sensor information of the sensors 65 and 66. For example, the relative information calculation unit 115 calculates the main relative vibration of the sensing positions 55a and 56a and the secondary relative vibration of the sensing positions 55a and 56a.

[0116] Next, the controller 100 executes step S28. In step S28, the control unit 111 controls the robot arm 10 so as to reduce the relative vibration. For example, the control unit 111 controls the motor 42 so as to reduce the main relative vibration of the sensing position 53a, and controls a motor (e.g., motor 41) other than the motor 42 so as to reduce the secondary relative vibration of the sensing position 53a. The control unit 111 controls the motor 43 so as to reduce the main relative vibration of the sensing position 54a, and controls a motor (e.g., motors 41 and 42) other than the motor 43 so as to reduce the secondary relative vibration of the sensing position 54a. The control unit 111 controls the motor 44 so as to reduce the main relative vibration of the sensing positions 55a and 56a, and controls a motor (e.g., motors 41, 42 and 43) other than the motor 44 so as to reduce the secondary relative vibration of the sensing positions 55a and 56a. The controller 100 repeats the above procedure.

[0117] (Interpolation procedure) This procedure involves calculating other sensor information based on the sensor information corrected by the sensor information correction unit 114. interpolation 8, the controller 100 executes steps S31 and S32. In step S31, the interpolation unit 117 waits for the sensor information correction unit 114 to correct the sensor information (for example, the correction of the sensor information in step S22). In step S32, the interpolation unit 117 acquires other sensor information from the torque sensors 71 and 72 and the contact sensor 73.

[0118] Next, the controller 100 executes steps S33 and S34. In step S33, the interpolation unit 117 calculates information for interpolating other sensor information. For example, the interpolation unit 117 calculates a high-frequency component of the torque acting on the joint 32 based on the acceleration represented by the corrected sensor information of the sensor 63. The interpolation unit 117 calculates a high-frequency component of the torque acting on the joint 33 based on the acceleration represented by the corrected sensor information of the sensor 64. The interpolation unit 117 calculates the acting direction of the reaction force from the surrounding object based on the acceleration represented by the corrected sensor information of the sensors 65 and 66. In step S34, the interpolation unit 117 interpolates other sensor information. For example, the interpolation unit 117 adds the calculation result of the high-frequency component of the torque acting on the joint 32 to the torque represented by the sensor information of the torque sensor 71. The interpolation unit 117 adds the calculation result of the high-frequency component of the torque acting on the joint 33 to the torque represented by the sensor information of the torque sensor 72. The interpolation unit 117 adds the calculation result of the acting direction of the reaction force from the surrounding object to the sensor information of the contact sensor 73.

[0119] [Effects of the embodiment] As described above, the robot system 1 includes a first link that is part of the robot arm 10, a first motor 40 that moves by rotating the first link, a first sensor 60 whose position is fixed relative to a reference position for the first motor 40, and a memory that stores first position information that indicates the relative position of the first sensor 60 with respect to the reference position for the first motor 40.

[0120] When the relative position of the first sensor 60 with respect to the first motor 40 is unknown, it is also unclear what direction the first sensor information acquired from the first sensor 60 is related to, making it difficult to effectively utilize the first sensor information. In contrast, according to the present robot system 1, the first position information is stored in memory, so it is possible to easily identify what direction the first sensor information is related to based on the first position information. This is therefore effective in further utilizing sensor information in the robot.

[0121] The robot system 1 may further include a sensor information correction unit 114 that corrects the first sensor information acquired from the first sensor 60 based on the first position information and information related to the state of the first link. By basing the first sensor information on the first position information and the state of the first link, the first sensor information can be used more effectively.

[0122] The robot system 1 may further include a second link that rotatably supports the first link, and the sensor information correcting unit 114 may correct the first sensor information acquired from the first sensor 60 based on the first position information, information on the state of the first link, and information on the state of the second link. By correcting the first sensor information based on the first position information, the state of the first link, and the state of the second link, the first sensor information can be used more effectively.

[0123] The robot system 1 further includes a second motor 40 that rotates the first link, and a second sensor 60 whose relative position is fixed with respect to a reference position related to the second motor 40, and the memory further stores second position information representing the relative position of the second sensor 60 with respect to the second motor 40, and the sensor information correction unit 114 may correct the second sensor information acquired from the second sensor 60 based on the second position information. By correcting both the first sensor information and the second sensor information, the first sensor information and the second sensor information can be appropriately combined and utilized.

[0124] The sensor information correction unit 114 may correct the first sensor information and the second sensor information to information in the same coordinate system. By correcting the first sensor information and the second sensor information to information in the same coordinate system, the first sensor information and the second sensor information can be more appropriately combined and utilized.

[0125] The robot system 1 may further include a relative information calculation unit 115 that calculates relative sensor information by removing a component corresponding to the second sensor information from the first sensor information based on the first sensor information corrected by the sensor information correction unit 114 and the second sensor information corrected by the sensor information correction unit 114. Specific examples of the relative sensor information include a relative acceleration of the fixed position of the first sensor 60 with respect to the fixed position of the second sensor 60, and a relative vibration of the fixed position of the first sensor 60 with respect to the fixed position of the second sensor 60. Such relative sensor information can be used for detecting a phenomenon occurring between the first sensor 60 and the second sensor 60, controlling a portion between the first sensor 60 and the second sensor 60, and the like.

[0126] The relative information calculation unit 115 calculates, as the relative sensor information, a relative vibration obtained by subtracting a vibration component corresponding to the vibration represented by the second sensor information from the vibration represented by the first sensor information, and the robot system 1 may further include a control unit 111 that controls the robot arm 10 so as to reduce the relative vibration. The detection result of the relative vibration can be utilized to reduce the vibration.

[0127] The relative information calculation unit 115 may calculate, as the relative vibration, the main relative vibration along the movement direction of the first sensor 60 by the second motor 40, and the control unit 111 may control the second motor 40 so as to reduce the main relative vibration. The detection result of the relative vibration can be utilized for control of the second motor 40 to reduce the vibration.

[0128] The relative information calculation unit 115 calculates the sub relative vibration along a direction intersecting the direction of movement of the first sensor 60 by the second motor 40 as the relative vibration, and the control unit 111 may control a motor 40 different from the second motor 40 so as to reduce the sub relative vibration. The detection result of the relative vibration can be further utilized for suppressing the sub relative vibration that cannot be reduced by the second motor 40.

[0129] The vehicle may further include a twist detector 116 that detects a twist of the first link based on the first sensor information corrected by the sensor information corrector 114 and the second sensor information corrected by the sensor information corrector 114. 1 It can be used to detect twisting of links.

[0130] The sensor information correcting unit 114 may correct the first sensor information to information that does not depend on the attitude of the first sensor 60, based on the first position information and the rotation angle of the first link. The first sensor information can be used to detect phenomena other than changes in the attitude of the first sensor 60.

[0131] The first sensor 60 is an acceleration sensor, and the sensor information correcting unit 114 may correct the first sensor information to information that does not depend on gravity. The acceleration at the fixed position of the first sensor 60 can be detected with higher reliability.

[0132] The sensor information correcting unit 114 may correct the first sensor information to information that does not depend on the rotational acceleration of the first link based on the first position information and the rotational acceleration of the first link. The first sensor information can be used to detect a phenomenon different from the rotation of the first link, such as bending of the first link.

[0133] The sensor information correcting unit 114 may correct the first sensor information to information that is not dependent on the rotation speed of the first link based on the first position information and the rotation speed of the first link. The first sensor information can be used to detect a phenomenon different from the rotation of the first link, such as bending of the first link.

[0134] The system may further include an interpolation unit 117 that interpolates other sensor information acquired from other sensors based on the first sensor information corrected by the sensor information correction unit 114. The first sensor information corrected by the sensor information correction unit 114 can be used to interpolate the other sensor information.

[0135] The first sensor 60 is an acceleration sensor, the other sensors are torque sensors, and the interpolation unit 117 may interpolate the torque represented by the other sensor information based on the acceleration represented by the first sensor information corrected by the sensor information correction unit 114. The acceleration sensor tends to be able to respond to changes at a higher frequency compared to the torque sensor. Utilizing this property, the torque represented by the other sensor information can be interpolated based on the acceleration represented by the first sensor information corrected by the sensor information correction unit 114.

[0136] The first sensor 60 is an acceleration sensor, the other sensors are contact sensors that detect contact with surrounding objects, and the interpolation unit 117 may add the acting direction of the reaction force from the surrounding object to the other sensor information based on the acceleration represented by the first sensor information corrected by the sensor information correction unit 114. According to the contact sensor 60, although contact with the surrounding object can be detected, the acting direction of the reaction force from the surrounding object may not be detected in some cases. On the other hand, according to the acceleration sensor 60, although it can be detected that some acceleration is occurring, it cannot be detected that it is caused by contact with the surrounding object. In contrast, by combining the contact with the surrounding object indicated by the other sensor information and the acceleration indicated by the sensor information, the acting direction of the reaction force from the surrounding object can be easily added to the other sensor information.

[0137] A robot base 11 that supports the first link, a base motor 40 fixed to the robot base 11, a base sensor 60 whose relative position is fixed with respect to the reference position regarding the base motor 40, and an installation state detection unit 118 that detects the installation state of the robot base 11 based on the base sensor information obtained from the base sensor 60 may be further provided. The base sensor information can be utilized for detecting the installation state of the robot base 11.

[0138] The base sensor 60 is an acceleration sensor, and the installation state detection unit 118 may detect the installation posture of the robot base 11 based on the base sensor information. The base sensor information can be effectively utilized for detecting the installation posture of the robot base 11.

[0139] The installation state detection unit 118 may detect wobbling of the robot base 11 based on the base sensor information. The base sensor information can be effectively used to detect wobbling of the robot base 11.

[0140] The robot system 1 may further include a calibration unit 119 that calibrates the first position information based on a comparison between information about the state of the first link and first sensor information acquired from the first sensor 60. The reliability of the first position information can be improved by the calibration. This allows the first sensor information to be used more effectively.

[0141] The robot arm 10 may further include a first encoder 50 fixed to the first motor 40 and detecting the rotation of the first motor 40, and the first sensor 60 may be built into the first encoder 50. The first sensor 60 can be easily installed in the robot arm 10.

[0142] The first encoder 50 has an integrated circuit 84 that calculates the rotation angle of the first motor 40, and the first sensor 60 may be included in the integrated circuit 84. By including the first sensor 60 in the integrated circuit 84, the transmission distance of the first sensor information can be shortened and the noise resistance of the first sensor information can be improved. Note that when the first sensor 60 is included in the integrated circuit 84 of the encoder 50, the first sensor 60 moves together with the encoder 50, but the effect of the movement can be reduced by the sensor information correction unit 114. Therefore, it is possible to achieve both the noise resistance of the first sensor information and the utilization of the first sensor information.

[0143] The first sensor 60 may include a MEMS device formed on the integrated circuit 84. A variety of first sensors 60 may be included on the integrated circuit 84.

[0144] The first sensor 60 may have a sensing unit 85 that converts a sensing target into an analog signal, and an AD conversion circuit 86 that converts the analog signal into a digital signal. Since the integrated circuit 84 can perform everything from detection of the first sensor information to digital signal conversion, noise resistance can be further improved.

[0145] Although the embodiments have been described above, the present disclosure is not necessarily limited to the above-described embodiments, and various modifications are possible without departing from the gist of the present disclosure. [Explanation of symbols]

[0146] 1...robot system, 10...robot arm, 11...robot base, 40...motor, 50...encoder, 84...integrated circuit, 60...sensor, 85...sensing unit, 86...AD conversion circuit, 111...control unit, 113...position information memory, 114...sensor information correction unit, 115...relative information calculation unit, 116...torsion detection unit, 117...interpolation unit, 118...installation state detection unit, 119...calibration unit.

Claims

1. a first link that is a part of the robot arm; a first motor that moves due to rotation of the first link; a first sensor whose relative position is fixed with respect to the first motor; A memory that stores first position information representing a relative position of the first sensor with respect to a first reference position for the first motor.

2. The robot system according to claim 1 , further comprising a sensor information correction unit that corrects first sensor information acquired from the first sensor based on the first position information and information relating to a state of the first link.

3. A second link is further provided to rotatably support the first link, The robot system according to claim 2 , wherein the sensor information correction unit corrects the first sensor information acquired from the first sensor based on the first position information, information regarding the state of the first link, and information regarding the state of the second link.

4. A second motor that rotates the first link; A second sensor whose relative position is fixed with respect to the second motor, the memory further stores second position information representative of a relative position of the second sensor with respect to a second reference position with respect to the second motor; The robot system according to claim 2 , wherein the sensor information correcting unit corrects the second sensor information acquired from the second sensor based on the second position information.

5. The robot system according to claim 4 , wherein the sensor information correcting unit corrects the first sensor information and the second sensor information to information in the same coordinate system.

6. 6. The robot system according to claim 4, further comprising a relative information calculation unit that calculates relative sensor information by removing a component corresponding to the second sensor information from the first sensor information based on the first sensor information corrected by the sensor information correction unit and the second sensor information corrected by the sensor information correction unit.

7. A second motor that is a part of the robot arm and rotates a portion other than the first link; a second sensor whose relative position is fixed with respect to a second reference position with respect to the second motor; the memory further stores second position information representing a relative position of the second sensor with respect to the second motor; 6. The robot system according to claim 4, further comprising a relative information calculation unit that calculates relative sensor information by removing a component corresponding to the second sensor information from the first sensor information based on the first sensor information corrected by the sensor information correction unit and the second sensor information corrected by the sensor information correction unit.

8. the relative information calculation unit calculates, as the relative sensor information, a relative vibration obtained by removing a vibration component corresponding to the vibration represented by the second sensor information from the vibration represented by the first sensor information; The robot system includes: A control unit that controls the robot arm so as to reduce the relative vibration. The robot system according to claim 6 or 7.

9. the relative information calculation unit calculates, as the relative vibration, a main relative vibration along a movement direction of the first sensor caused by the second motor; The robot system according to claim 8 , wherein the control unit controls the second motor so as to reduce the main relative vibration.

10. the relative information calculation unit calculates, as the relative vibration, a sub relative vibration along a direction intersecting a moving direction of the first sensor by the second motor; The robot system according to claim 9 , wherein the control unit controls a motor different from the second motor so as to reduce the secondary relative vibration.

11. The robot system according to any one of claims 4 to 10, further comprising a torsion detection unit that detects a torsion of the first link based on the first sensor information corrected by the sensor information correction unit and the second sensor information corrected by the sensor information correction unit.

12. The robot system according to any one of claims 2 to 11, wherein the sensor information correction unit corrects the first sensor information to information that is not dependent on the posture of the first sensor based on the first position information and the rotation angle of the first link.

13. The robot system according to claim 12 , wherein the first sensor is an acceleration sensor, and the sensor information correcting unit corrects the first sensor information to information that is not dependent on gravitational acceleration.

14. the sensor information correcting unit corrects the first sensor information to information that is not dependent on the rotational acceleration of the first link, based on the first position information and the rotational acceleration of the first link. The robot system according to any one of claims 2 to 13.

15. The robot system according to any one of claims 2 to 14, wherein the sensor information correction unit corrects the first sensor information to information independent of the rotational speed of the first link based on the first position information and the rotational speed of the first link.

16. The robot system according to any one of claims 2 to 15, further comprising an interpolation unit that interpolates other sensor information acquired from other sensors based on the first sensor information corrected by the sensor information correction unit.

17. the first sensor is an acceleration sensor; the other sensor is a torque sensor, The robot system according to claim 16 , wherein the interpolation unit interpolates the torque represented by the other sensor information based on the acceleration represented by the first sensor information corrected by the sensor information correction unit.

18. the first sensor is an acceleration sensor; the other sensor is a contact sensor that detects contact with a surrounding object, The robot system according to claim 16 , wherein the interpolation unit adds an acting direction of a reaction force from the peripheral object to the other sensor information based on the acceleration represented by the first sensor information corrected by the sensor information correction unit.

19. a robot base supporting the first link; a base motor fixed to the robot base; A base sensor whose position is fixed relative to the base motor; The robot system according to any one of claims 1 to 18, further comprising an installation state detection unit that detects the installation state of the robot base based on base sensor information acquired from the base sensor.

20. the base sensor is an acceleration sensor; The robot system according to claim 19 , wherein the installation state detection unit detects an installation attitude of the robot base based on the base sensor information.

21. The robot system according to claim 19 or 20, wherein the installation state detection unit detects wobbling of the robot base based on the base sensor information.

22. information regarding a state of the first link; The robot system according to any one of claims 2 to 18, further comprising a calibration unit that calibrates the first position information based on a comparison with the first sensor information acquired from the first sensor.

23. a first encoder fixed to the first motor and configured to detect rotation of the first motor; The robot system according to any one of claims 1 to 22, wherein the first sensor is built into the first encoder.

24. the first encoder has an integrated circuit that calculates a rotation angle of the first motor; 24. The robotic system of claim 23, wherein the first sensor is included in the integrated circuit.

25. 25. The robotic system of claim 24, wherein the first sensor comprises a MEMS device formed on the integrated circuit.

26. The first sensor includes a sensing unit that converts a sensing target into an analog signal; 26. The robot system according to claim 24, further comprising: an AD conversion circuit for converting the analog signal into a digital signal.

27. acquiring first sensor information from a first sensor whose relative position is fixed with respect to a first reference position related to a first motor that moves due to rotation of a first link that is a part of the robot arm; and correcting the first sensor information based on first position information representing a relative position of the first sensor with respect to the first motor and information regarding a state of the first link.

Citation Information

Patent Citations

  • Control system and method for inhibiting vibration of parallel-connection platform based on acceleration sensor

    CN105252539A

  • High integration level electromechanically controlled integrated robot joint module

    CN109366480A

  • Mobile unit device

    JP2004148499A

  • Legged mobile robot, and actuator device applied as joint axis for legged mobile robot

    JP2004188535A

  • Control device and its control method

    JP2005316937A