Robot, drive device, article manufacturing method, control method, control program, and recording medium

JP2025028137APending Publication Date: 2025-02-28CANON KK
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024216470
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-12-11
Publication Date
2025-02-28

AI Technical Summary

Benefits of technology

【0021】 本発明によれば、力センサに加わる他軸力の伝達経路を単純化することができる。このため、力センサに加わる他軸力の値を高精度に把握できるようになり、これにより他軸干渉で生じたセンサ検出値の誤差を高精度に修正できるようになるので、センサ検出値を高精度に補正できる。補正されたセンサ検出値を多関節ロボットの駆動制御に使用することで、高精度な駆動制御が可能となり、従来では多関節ロボットで実現が困難だった工程が、多関節ロボットで実現できるようになる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025028137000001_ABST
    Figure 2025028137000001_ABST
Patent Text Reader

Abstract

To correct a detection error of a sensor caused by other axis interference at a joint of a robot arm and accurately detect force acting around a drive shaft of the joint.SOLUTION: In a joint structure connecting links 210, 220 of a robot arm, a sensor 250 is provided to determine force acting between the links. A drive device 230 which generates the driving force for a joint includes first and second drive units 231, 232. A restraining unit 241 which restrains the joint so as to allow movement in a joint driving direction but not to allow movement in other directions includes first and second support parts 242, 243 that can be relatively displaced in the driving direction of the joint. The drive unit 231 of the drive device 230 is fixed to the link 210, and the support part 243 of the restraining unit 241 is fixed to the link 210. Additionally, the support part 242 of the restraining unit 241 is fixed to the drive unit 232 of the drive device. The sensor 250 is fixed in a manner that connects the support part 242 and the link 220.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a joint structure of a robot arm equipped with a force sensor that measures forces acting on connecting links, a measurement method for a robot device, and a control method for a robot device. [Background technology]

[0002] In recent years, articulated robots have come to be used in the production lines of various industrial products. However, there are many processes that are difficult to achieve with articulated robots. For example, in production lines for assembling automobile parts, articulated robots are widely used, particularly in processes where loads of several hundred grams to several kilograms are applied to the parts. In contrast, there are various difficulties in using articulated robots to achieve processes that require a load of only a few grams on the parts, such as the assembly of workpieces made of soft, lightweight, or low-strength materials, or processes that perform precision fitting.

[0003] In processes that are difficult to achieve with articulated robots, dedicated devices and jigs specific to the process are currently used instead of articulated robots. However, such dedicated devices and jigs are designed and manufactured specifically for a specific process or for the workpieces being handled, and there is a problem that it takes a lot of time and money to actually prepare such devices and jigs and get a production line up and running.

[0004] Therefore, it is desirable to realize a process for handling delicate workpieces such as those described above, which are soft, lightweight, or made of low-strength materials, using a general-purpose articulated robot without using dedicated equipment or tools.

[0005] When handling workpieces such as the above-mentioned soft objects, lightweight objects, or low-strength components, for example, it is not possible to apply a large force to these workpieces in order to prevent damage or deformation of the workpieces. Therefore, if this type of workpiece is to be operated by an articulated robot, it is necessary to control the force acting on the workpiece via the joints and links with high precision.

[0006] For example, a configuration has been known in which a force sensor is arranged together with an end effector such as a hand or gripper mounted on the tip of a multi-joint robot. The force acting on a workpiece can be controlled by feeding back the output value of this force sensor to the drive control of the end effector. It is also possible to measure the force acting on not only the end effector at the hand but also, for example, each link constituting the arm of the multi-joint robot and feed it back to the drive control of the multi-joint robot. In particular, among the forces acting on the links of the robot arm, the force that needs to be measured for high-precision drive control of the multi-joint robot is the torque acting around the drive axis.

[0007] As a means for detecting the torque acting on the links of such an arm, a configuration in which a torque sensor is mounted on the joint of the robot arm has been proposed (for example, Patent Document 1 listed below). [Prior art documents] [Patent documents]

[0008] [Patent Document 1] JP 2011-72186 A Summary of the Invention [Problem to be solved by the invention]

[0009] In the joints of a multi-joint robot arm, gravity, inertia, and Coriolis forces acting on the link itself, as well as forces from adjacent links, act according to the movement of the arm. For example, in an orthogonal coordinate system in which the drive axis of the joint is the z-axis, the forces acting on this joint include six-directional force components, consisting of translational forces in three coordinate axis directions and rotational forces around the three coordinate axes. Of these six directional forces, the forces acting in five directions excluding the direction around the drive axis of the joint are referred to below as other-axis forces.

[0010] On the other hand, in the drive control of an articulated robot arm, for example, the force acting on a link around the drive axis of the joint is detected and fed back to the drive of the joint. For this reason, it is desirable for the force sensor mounted on the joint to be able to accurately detect the force acting on the connected link around the drive axis of the joint.

[0011] However, when the above-mentioned other-axis force acts on the force sensor, the force sensor cannot accurately detect the force around the drive axis. For example, when a other-axis force acts on a force sensor that has a deformation part and determines the force by detecting the amount of deformation caused in the deformation part, the force sensor is also deformed around the drive axis of the joint due to the influence of the other-axis force.

[0012] Hereinafter, the influence of the other-axis force on this force sensor will be referred to as "other-axis interference." In other words, when the other-axis force acts on the force sensor and some deformation occurs in the force sensor, this deformation appears as a detection error of the force sensor that detects the force around the drive axis of the joint. In other words, the measurement error caused by the other-axis force in the force sensor provided on the drive axis of a specific joint is called other-axis interference. When such other-axis interference occurs, the force around the drive axis of the joint cannot be accurately detected by the force sensor.

[0013] Therefore, in order to accurately detect the force around the drive axis of the joint, it is necessary to correct the error in the sensor detection value caused by the interference from other axes by some method, for example. For this purpose, it is conceivable to detect the other axis force acting on the force sensor and correct the detection value of the force sensor.

[0014] However, in a conventional joint structure such as that described in Patent Document 1, a bearing is disposed between the force sensor and the link, and it is not so easy to detect the value of the other axis force.

[0015] When a mechanical element such as a bearing is present in a joint of a multi-joint robot arm as in the conventional configuration of Patent Document 1, it becomes difficult to detect the value of the other axis force for the following reasons.

[0016] For example, in this type of joint structure, a bearing such as a cross roller bearing is used as a constraint means (constraint section) that allows the joint to move in only one desired direction and restricts movement in other directions. This type of structure can result in a complex transmission path for other axial forces.

[0017] For example, depending on the joint structure, there may be a path for transmitting the joint drive force other than the joint axis connecting the two links. For example, in a structure such as that shown in Patent Document 1, the other-axis force acting on the drive link is transmitted via both the bearing as a joint restraint means and the force sensor. In such a configuration, it is difficult to accurately capture the value of the other-axis force transmitted to the force sensor.

[0018] In particular, the driving force of the link is transmitted to the force sensor with a loss equivalent to the frictional force of the bearing, which is the constraint part of the joint. Therefore, in order to accurately grasp the other-axis force acting on the force sensor, it is necessary to grasp the frictional force of the bearing arranged in the joint. However, since the frictional force of the bearing of the joint shows nonlinear characteristics with respect to various factors such as the force acting on the bearing, the driving speed of the joint, and individual differences of the bearing, it is difficult to accurately grasp the frictional force of the bearing.

[0019] In view of the above problems, an object of the present invention is to accurately detect other-axis forces acting on joints of a robot arm, correct detection errors of force sensors caused by other-axis interference, and make it possible to accurately detect forces acting on links connected to those joints. [Means for solving the problem]

[0020] One aspect of the present invention is a robot comprising a first joint that displaces a first link, a first sensor that acquires a load generated in a first drive direction in which the first joint is driven, and a control unit, wherein the control unit calculates a load generated in a direction other than the first drive direction that affects the load acquired by the first sensor based on static information about the first link and dynamic information about the first link, and corrects the load acquired by the first sensor based on the load generated in the direction other than the first drive direction. Effect of the Invention

[0021] According to the present invention, the transmission path of the other-axis force applied to the force sensor can be simplified. Therefore, the value of the other-axis force applied to the force sensor can be grasped with high accuracy, and the error in the sensor detection value caused by the other-axis interference can be corrected with high accuracy, so that the sensor detection value can be corrected with high accuracy. By using the corrected sensor detection value for the drive control of the articulated robot, high-precision drive control becomes possible, and processes that were previously difficult to achieve with articulated robots can now be achieved with the articulated robot.

[0022] Specifically, by using the corrected sensor detection value for driving control of the articulated robot, the force applied to parts by the end effector mounted on the tip of the articulated robot can be controlled with high precision. This makes it possible to use the articulated robot to automate processes that require the load applied to parts to be on the order of a few grams, such as the assembly process of soft objects or low-strength components. [Brief description of the drawings]

[0023] [Figure 1] FIG. 1 is an explanatory diagram illustrating a configuration of a robot system according to an embodiment of the present invention. [Diagram 2] FIG. 2 is an explanatory diagram showing a schematic structure of a joint of the robot arm of FIG. [Diagram 3] FIG. 2 is a block diagram showing the configuration of a control system of the robot system in FIG. [Figure 4] 4 is a flowchart showing the flow of measurement and drive control related to the drive force of a joint in the control system of FIG. 3. [Diagram 5] 4 is a flowchart showing a flow of different measurement and drive control related to the drive force of a joint in the control system of FIG. 3. [Figure 6] FIG. 11 is an explanatory diagram showing other-axis forces acting on a joint of a robot arm. [Figure 7] 2A to 2C are explanatory diagrams showing a schematic structure of different joints of the robot arm of FIG. 1. [Figure 8] FIG. 8 is an explanatory diagram showing a linear motion joint having a configuration equivalent to that of the joint in FIGS. 2 to 7. [Figure 9] 2 is an explanatory diagram showing the arrangement of joints in the hand tip of the robot arm in FIG. 1 and the forces acting on each part. FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0024] Hereinafter, a description will be given of an embodiment of the present invention with reference to the accompanying drawings. Note that the embodiment shown below is merely an example, and those skilled in the art can appropriately change the detailed configuration, for example, without departing from the spirit of the present invention. Also, the numerical values ​​used in the present embodiment are for reference only and do not limit the present invention.

[0025] In the embodiments described below, a sensor having a function of determining a force acting around a drive axis of a joint is referred to as a force sensor. <Example 1> (Basic configuration of an articulated robot system) Fig. 1 shows the basic configuration of a multi-joint robot system to which the present embodiment can be applied. The robot system in Fig. 1 includes a robot arm 1 configured as, for example, a multi-joint robot arm, and a robot control device 2 that controls the robot arm 1.

[0026] The robot arm 1 is a multi-joint robot arm having a vertical six-axis configuration. The robot arm 1 has first to sixth links 111 to 116 connected on a base 110 via first to sixth joints 121 to 126. The base 110 and the first link 111 of the robot arm 1 are connected by a joint 121 that rotates around a rotation axis in the Z-axis direction. The first link 111 and the second link 112 of the robot arm 1 are connected by a joint 122 that rotates around a rotation axis in the Y-axis direction. The second link 112 and the third link 113 of the robot arm 1 are connected by a joint 123 that rotates around a rotation axis in the Y-axis direction. The third link 113 and the fourth link 114 of the robot arm 1 are connected by a joint 124 that rotates around a rotation axis in the X-axis direction. The fourth link 114 and the fifth link 115 of the robot arm 1 are connected by a joint 125 that rotates around a rotation axis in the Y-axis direction. The fifth link 115 and the sixth link 116 of the robot arm 1 are connected by a joint 126 that rotates around a rotation axis in the X-axis direction.

[0027] An end effector 117 such as an electric hand or an air hand is connected to the tip of a sixth link 116 of the robot arm 1 for performing part assembly work and movement work on a production line.

[0028] The operation of the robot arm 1 is controlled by a robot control device 2. For example, the robot control device 2 controls the attitude of each joint of the robot arm 1 according to a preprogrammed robot control program, thereby controlling the attitude of the robot arm 1 or the position and attitude of a reference portion set near the end effector 117. In synchronization with this, the robot control device 2 controls the operation of the end effector 117, such as the opening and closing of the hand, thereby allowing the robot arm 1 to manipulate a workpiece.

[0029] In FIG. 1, three-dimensional coordinate axes relating to the entire robot arm 1 are shown in the lower left column. In addition, the robot arm 1 in FIG. 1 is illustrated in a posture in which the first joint 121 rotates the adjacent link about a rotation axis in the Z-axis direction, and the second joint 122, the third joint 123, and the fifth joint 125 rotate the adjacent link about a rotation axis in the Y-axis direction. In addition, the fourth joint 124 and the sixth joint 126 are configured to rotate the adjacent link about a rotation axis in the X-axis direction. However, the relationship between the rotation axis and the coordinate axis of each joint described above is applied in the posture of the robot arm 1 shown in FIG. 1. Therefore, for example, when the robot arm 1 is controlled by the robot control device 2 to a posture other than that in FIG. 1, it may be necessary to apply a different coordinate system.

[0030] (Basic structure of the joints in an articulated robot) FIG. 2 is a schematic diagram showing an example of the basic structure of a joint in the robot arm 1 of FIG.

[0031] Hereinafter, referring to FIG. 2, in order to more generally indicate the configuration of the robot arm 1 in FIG. 1, any joint among the first to sixth joints 121 to 126 may be referred to as the n-th joint. Also, as a more convenient notation, in order to indicate this "n-th (similarly for the joint or link)", a notation in which the suffix "n" is placed before the reference symbol in the figure may be used. Also, from the "n-th" joint, the joint adjacent to the arm's hand side may be expressed as "n+1", and the joint adjacent to the base side may be expressed as "n-1". In the arm configuration in FIG. 1, n corresponds to the number of the joint (or link) of the robot arm 1, and may be a number from 1 to 6. Also, in order to avoid complication, the notation of the letter n may be omitted in the figures.

[0032] Fig. 2 shows a joint structure of a robot arm that constitutes a joint that connects first and second links (210, 220) so that they can be displaced relative to each other. The joint structure of the robot arm in Fig. 2 includes a force sensor that measures the force acting on the first and second links (210, 220).

[0033] 2, the n-th joint connects the (n-1)th link 210 and the n-th link 220. This n-th joint is equipped with a drive unit n230 that drives the n-th joint, and a constraint unit n240 that restricts the movement of this n-th joint. In addition, this n-th joint is equipped with a force sensor that detects the force acting on the links connected at the n-th joint. n It has 250.

[0034] The (n-1)th link 210 and the nth link 220 are connected by this joint so as to be capable of relative displacement, and a driving means n Attitude control is performed by the driving force generated in 230.

[0035] Driving means for generating driving force for the joint n 2, the driving means 230 includes a fixed portion 231 and a driven portion 232 as a first driving portion and a second driving portion, respectively. n Although detailed illustration of the internal structure of 230 is omitted, the driving means of this type of robot joint is composed of, for example, an electric motor and a reduction gear. The rotation of the output shaft of the electric motor is input to the reduction gear, and the rotation of the output shaft of the electric motor is reduced by a predetermined reduction ratio and transmitted to the driven part 232. Driving means n The reducer 230 may be, for example, a strain wave gear mechanism.

[0036] Restraint part n The restraining section 240 has a function of restraining the relative displacement direction of the first and second links so that they can move in the drive direction of the joint and cannot move in the other direction. n 240 is the joint movement n Joint drive shaft n The robot can only move around 200 degrees, and cannot move in any other direction. n 240 can be composed of, for example, a cross roller bearing 241 and a connecting member 244 fixed to an inner ring 242 of the cross roller bearing 241. The inner ring 242 and the outer ring 243 of the cross roller bearing 241 are connected to a drive shaft n The restraint portion is arranged in a position that allows rotation around 200. nThe inner ring 242 and the outer ring 243 of the cross roller bearing 241 constituting the 240 are constrained portions. n These correspond to the first support portion and the second support portion of 240.

[0037] Force Sensors n 250 is, for example, the drive shaft of the joint that is joined to itself n It is composed of a torque sensor that detects the force around 200. In that case, the force sensor n 250 is composed of, for example, an inner ring portion 251, an outer ring portion 252, and a spring portion 253 that connects them. In this configuration, the force sensor n 250 Drive Shaft n When a force around 200 is applied, the spring portion 253 is deformed, so the force sensor n 250 can measure the driving force of the joint acting on the link via the deformation amount of the spring portion 253.

[0038] For example, a force sensor n The sensitivity matrix (n330: described later) that converts the deformation amount of 250 into force is prepared in advance in the form of a table memory or the like, and the measured deformation amount can be converted into a measured amount of force. n The displacement detection method of the force sensor that measures the deformation amount of 250 includes a strain gauge method, a capacitance method, a magnetic method, an optical encoder method, etc. For example, in the case of the optical encoder method, a configuration in which a scale and an optical sensor (not shown) of an optical rotary encoder are arranged to face the connecting member 244 and the outer ring portion 252, respectively, is considered.

[0039] Now, at the nth joint in Figure 2, the mechanical connection (linkage) relationship is configured as follows:

[0040] (A) Driving means of FIG. 2 n The fixed portion 231 (first driving portion) of the drive mechanism 230 is fixed to the (n-1)th link 210 (assumed to be the first link), and the driven portion 232 (second driving portion) is fixed to a connecting member 244. The connecting member 244 is a force sensor n 250 inner ring, restraint nThe inner ring 242 (second support portion) of 240 and the n-th link 220 (temporarily referred to as the second link) are fixedly connected to each other.

[0041] (a) The outer ring 243 (first support portion) of the cross roller bearing 241 (restraint portion) is fixed to the (n-1)th link 210 (first link).

[0042] (c) The connecting member 244 is a force sensor n 250. The inner ring portion 251 of the inner ring portion 250 is fixed thereto.

[0043] (D) Force sensor n An outer ring portion 252 (second support portion) of 250 is fixed to the n-th link 220 (second link).

[0044] A joint structure as shown in Figure 7 may be considered as a structure equivalent to the joint shown in Figure 2. In Figure 7, the same reference numerals are used to designate members having a positional (connected or coupled) relationship corresponding to those in Figure 2.

[0045] In the joint structure in Figure 7, force sensors are placed at different positions. n 250, the connection (joint) relationship of each part of the joint structure is the same as that of the joint in FIG. 2. However, in FIG. 7, the illustration of the links 210, 220 is switched so that they correspond to the first and second links in the connection (joint) relationship shown in (A) to (D) above. Similarly, in FIG. 7, the driving means n The positional relationship between a fixed portion 231 (first driving portion) and a driven portion 232 (second driving portion) of 230 is also reversed from that in FIG.

[0046] 7, the outer ring 243 of the cross roller bearing 241 (restraint portion) corresponds to the second support portion of the restraint portion in the above (A) to (D), and the inner ring 242 corresponds to the first support portion of the restraint portion in the above (A) to (D). Also, the connecting member 244 in the above (A) to (D) corresponds to the driving means in FIG. n 230 corresponds to, for example, a cylindrical housing part covering the force sensor. n The inner ring portion 251 of the force sensor 250 is fixed to the connecting member 244.n An outer ring portion 251 of 250 is fixed to a link 220 (second link).

[0047] The joint structure in Fig. 7 satisfies the coupling (connection) relationships shown in (A) to (D) above, similar to that in Fig. 2. Therefore, even with the structure in Fig. 7, the joint drive force measurement and joint drive control described below are similarly possible, and similar operational effects (described below) can be expected.

[0048] Also, while Fig. 2 shows a structure in which the links are relatively displaced in rotation, a structure as shown in Fig. 8 is conceivable for a linear joint in which the links are relatively displaced linearly. In Fig. 8, the same reference symbols are used for members having a positional relationship corresponding to that in Fig. 2 (through Fig. 7). The corresponding relationship between the reference symbols in Fig. 8 and Fig. 2 is the same as that in Fig. 7 above, so it will not be described again, but although the joint structure in Fig. 8 is a linear joint, the connection (coupling) relationship of each member is equivalent to that in Fig. 2 (Fig. 7) shown above in (A) through (D).

[0049] As shown in Figures 7 and 8, various configurations that satisfy the coupling (connection) relationships such as those described above in (a) to (d) are conceivable, and it goes without saying that those skilled in the art can make various design modifications to the joint structure of this embodiment as exemplified above.

[0050] (Robot arm control) 2 is controlled by a robot control device 2. The robot control device 2 controls the angles of the n-th joints (first to sixth joints 121 to 126), respectively, to allow the robot arm 1 to assume a desired posture.

[0051] At that time, the robot control device 2 can control the force applied to a workpiece (not shown) operated via, for example, the end effector 117. For example, the robot control device 2 inputs the measured values ​​of the force sensors arranged at each joint (n) of the robot arm 1, and controls the drive means of each joint. nThis enables feedback control, for example, to control the force applied to the workpiece to a desired magnitude, or to control so that a force greater than a predetermined value is not applied to the workpiece.

[0052] 3 is a functional block diagram showing the configuration of a control system for the n-th joint of the robot arm 1 of the robot control device 2. In the functional block of this control system, the main part is made up of a calculation unit 320 and a storage device 300.

[0053] Of these, the calculation unit 320 can be configured with a computer, for example, a CPU consisting of a general-purpose microprocessor. Examples of storage devices used in the storage device 300 include semiconductor memories such as ROM and RAM, and fixed (external) storage devices such as HDD and SSD. Also, the storage devices used in the storage device 300 may be configured using rewritable recording media such as various flash memories and optical (magnetic) disks. The storage device 300 can be configured by arbitrarily combining these storage devices.

[0054] The above-mentioned storage devices constituting the storage device 300 constitute a recording medium readable by the calculation unit 320 (computer). For example, the storage device 300 can store a program 301 describing a control procedure to be executed by the calculation unit 320 (computer) constituting the control device of the robot arm 1, which will be described later.

[0055] The storage device 300 can also store information necessary for causing the robot arm 1 to manipulate a workpiece and, for example, assemble and manufacture a specific industrial product, in the form of, for example, a robot control program. This robot control program is written, for example, in a format such as a so-called teaching point list that defines the position and posture of a reference portion of the tip of the robot arm 1, or in the format of an arbitrary robot program language. In particular, with regard to the n-th joint in FIG. 2, the robot control program includes a drive means for the joint, n The operation of 230 will be memorized.

[0056] The storage device 300 also includes a force sensor, which will be described later. n Sensitivity matrix for 250 n 330 can be stored in a format such as a table memory. n 330 can be stored in a file format in the HDD constituting the storage device 300, and is loaded into a specific area of ​​the RAM when a program described later is executed or when the system is initialized. n Sensitivity matrix for 250 n Reference can be made to 330.

[0057] 3, the operation commander 310 is composed of, for example, a control PC terminal arranged near the robot arm 1 or a control terminal such as a so-called teaching pendant (TP). An operator (user) can make the robot arm 1 perform any operation by operating the operation commander 310 in real time while checking, for example, the state of the robot arm 1. Also, the operator can trace-execute the above robot control program to check the operation of the robot arm 1 or to modify part of the robot control program.

[0058] In addition, in FIG. 3, the drive means of the joint n Drive control of 230 (for example, drive force control of a joint described later) is performed by the calculation unit 320 via a driver circuit (for example, a servo control circuit) not shown in detail. This controls the robot arm 1 to a posture required for a specific task. At this time, the calculation unit 320 controls the force sensor arranged as shown in FIG. n From 250, it is possible to obtain measured values ​​relating to the driving force of the joint in real time in synchronization with a system clock or the like.

[0059] 3, other functional blocks indicated with names such as "~ unit" and "~ device" are illustrated in the figure as if they were hardware blocks, but are actually realized by, for example, the calculation unit 320 (CPU) executing the program 301. However, these functional blocks indicated with names such as "~ unit" and "~ device" (330, 340, 350, 321, 322, 323, etc.) can also be actually realized as hardware blocks, and this embodiment does not prevent such implementation.

[0060] The operation of each functional block in FIG. 3 will now be outlined.

[0061] The calculation unit 320, which is a control device, controls the driving means based on, for example, an operation command from the operation command unit 310, or based on teaching data or a robot control program stored in the storage device 300. n 230 operation command is generated, and the driving means n Controls the operation of 230.

[0062] At this time, the calculation unit 320 detects the joint driving force of the n-th joint using the force sensor of the n-th joint. n Feedback control is performed using the detection value of 250. Force sensor n 250 is the driving means n The drive shaft 230 is driven by the nth joint and acts on the nth link on the arm tip side. n Outputs the force detection value around 200.

[0063] In this case, the other-axis force calculation unit 321 (other-axis force calculation step) calculates the other-axis force acting on this n-th joint. One of the inputs to the other-axis force calculation unit 321 is the dynamic force acting on the n-th link (driven by this joint) calculated by the calculation unit 340 with respect to the n-th joint. The other input to the other-axis force calculation unit 321 is the force of the force sensor of the (n+1)-th joint (already calculated). n+1 The calculation process of the other axis force calculation unit 321 is performed by the force sensor of this joint. nThis corresponds to a different-axis force calculation step for calculating a different-axis force acting on joint 250 in a direction other than the drive direction of this joint.

[0064] Further, the other-axis interference calculation unit 322 (other-axis interference calculation step) calculates the other-axis force in the direction other than the drive direction of the joint calculated by the other-axis force calculation unit 321 (other-axis force calculation step) and the force sensor of this joint. n 250 sensitivity matrices n 330 to calculate the other-axis interference. Here, the other-axis interference is, as described above, the force sensor of this joint. n This is an error caused by other-axis forces in directions other than the drive direction of this joint, which are included in the detection value of 250.

[0065] This sensitivity matrix n 330 includes, for example, the force sensor n 250, the force (torque) applied around at least two three-dimensional coordinate axes perpendicular to the drive axis of the joint, and the force sensor n The output value of 250 is included in the sensitivity matrix. n 330 is the force sensor n 250 is a force (torque) applied around the drive shaft of this joint to be detected, and a force sensor n 250 output value relationships may be included.

[0066] Thus, the sensitivity matrix n By configuring 330, for example, the other axis interference calculation unit 322 calculates the other axis force calculated by the other axis force calculation unit 321 and the sensitivity matrix n 330, a force sensor n The error of the other axis force and the magnitude of the other axis interference appearing in the output value of 250 can be calculated. Sensitivity matrix n 330 can be arranged in the storage device 300 in the form of, for example, a table memory.

[0067] Furthermore, the corrector 323 (correction process) is a force sensor n By subtracting the other-axis interference, which is the error calculated by the other-axis interference calculation unit 322, from the detection value of the force sensor 250, nCorrect the detection value of 250.

[0068] The controller 324 uses the current value of the driving force of the n-th joint corrected by the corrector 323 (correction step) (excluding interference with other axes) to control the driving means n The driving force of 230 can be controlled.

[0069] As mentioned above, the drive axis of the joint n A force from another axis acts around 200 as shown in FIG. 6. In FIG. 6, 10 is a force sensor. n 250 Detected Drive Shaft n This force acts around 200 degrees. n The force (10) detected by the force sensor 250 includes the other-axis force 40. The other-axis force 40 includes a moment component (20) and a translational force component (30). n Control is performed to remove the influence of the other axial force 40 from the detection value (10) of 250.

[0070] If we organize the information processing of the functional blocks in Figure 3 shown above with an emphasis on input / output relationships, it can be seen as follows:

[0071] The calculation unit 320 includes an other-axis force calculation unit 321, an other-axis interference calculation unit 322, a corrector 323, and a controller 324. The other-axis force calculation unit 321 calculates the dynamic force acting on the n-th link calculated by a dynamic force acting on the n-th link calculation unit 340, and calculates the dynamic force acting on the n-th link by the force sensor of the n+1-th joint. n+1 The detection value of 350 is input, and the force sensor of the nth joint n Output the other axial force acting on 250.

[0072] The other axis interference calculation unit 322 calculates the force sensor output from the other axis force calculation unit 321. n Other axial forces acting on 250 and force sensor n 250 sensitivity matrices n 330 is used as an input, and the force sensor generated by interference with other axes n The error of the detection value of 250 is output.

[0073] The corrector 323 calculates the force sensor output from the other axis interference calculation unit 322. n Error in detection value of 250 and force sensor n The detection value of 250 is used as input, and the force sensor n The 250 detected values ​​are corrected and output.

[0074] The controller 324 controls the drive means output from the operation command unit 310. n 230 operation command and the force sensor output from the corrector 323 n The detection value of 250 and the corrected value are input, and the driving means n An operation command of 230 is output.

[0075] In the above explanation, as expressed by the subscripts such as n and n+1, in the control configuration shown in Fig. 3, when processing the joint drive force of the nth joint, the joint drive force of the n+1th joint must have already been processed. For this reason, the above steps are executed in order starting from the joint on the tip side of the multi-jointed robot arm 1. Such joint drive force measurement processing can be expressed in the form of a flowchart in Fig. 4.

[0076] Hereinafter, with reference to the flowchart in FIG. 4, details of the processing by other axis force calculation section 321, other axis interference calculation section 322, corrector 323, and controller 324 of operation section 320 in FIG. 3 will be described.

[0077] The flowchart in FIG. 4 shows the force sensors of the first to sixth joints. n The interference of other axes is corrected from the force detected by 250, and the drive means of each joint is n 4 is configured so that it can be executed in real time during an operation in which the robot arm 1 handles a workpiece or the like.

[0078] For this reason, in the control of Fig. 4, a maximum time (times S to E) for joint control is determined (S400), and if joint control is not completed within this maximum time (S403), the joint control of Fig. 4 is stopped. However, this restriction on the time required for one set of joint control is not essential in this embodiment. However, by limiting the time for one set of joint control for all joints of the robot arm 1, it is possible to effectively use the computational resources of, for example, the CPU constituting the computing unit 320, and to reduce the possibility of stagnation or malfunction of the original position and orientation control, etc.

[0079] In step S400, the joint number (n) of the first processing target and the control of all joints are regarded as one set, and a variable of the time t required to control one or several sets is initialized to an initial value S (start time). Among these, the index of the joint number (n) can be implemented using an internal register of the CPU constituting the calculation means, a stack on the RAM, or a variable area allocated on a specific address. In addition, the time t required for one set of all joints can be measured using an RTC (real-time clock) (not shown) or the like.

[0080] In this embodiment, in step S400, 6 is substituted into n, which indicates the number of the joints and links of the robot arm 1, and control is first performed for the sixth joint 126 in Fig. 1. After that, while decrementing the value of n to 5, 4, 3, ... (S402), the entire loop shown in Fig. 4 is executed, and control is sequentially performed for the joints closer to the base side from the hand side.

[0081] In Fig. 4, the other-axis force calculation process (step S410) corresponds to the process of the other-axis force calculation unit 321 in Fig. 3. In this other-axis force calculation process (S410), the balance equation (the following equation (1)) of the force acting on the n-th link driven by the n-th joint is solved to calculate the force of the force sensor of the n-th joint. n Calculate the force acting on 250.

[0082]

number

[0083] In the above formula (1), the first term on the left side is the force sensor of the nth joint. n The first term on the right side is the dynamic force acting on the n-th link. The second term on the right side is the force acting on the n-th link by the force sensor of the n+1-th joint adjacent to the n-th joint on the tip side of the robot arm 1. n+1 350 (step S405). In the process of FIG. 4, the force acting on the (n+1)th joint in the second term on the right side is the force sensor n+1 The forces acting on 350 have already been calculated through the redefinition process (S460) described below.

[0084] In the multi-axis force calculation process (S410), the first term on the left side of the above equation (1) is solved to obtain the force sensor n By calculating the force acting on the force sensor in each direction, n The other axial force acting on 250 can be calculated.

[0085] In addition, when n=6, the robot arm 1 does not have a seventh joint, so the second term on the right side of equation (1) is zero. When n=5 or less, the force sensor n+1 Use a force acting on 350.

[0086] For example, Fig. 9 shows the hand portion of the robot arm 1 of the robot device in Fig. 1, i.e., the links connected by two joints 125 (J5) and 126 (J6). The forces Fj5 and Fj6 acting on these joints 125 (J5) and 126 (J6) are expressed by the following formula (2).

[0087]

number

[0088] This formula (2) is a special case of formula (1) where n=5. The first term on the left side is the force sensor of the joint 125 (J5). n The force acting on 250 consists of the forces Mxj5, Myj5, and Mzj5 around the three axes of the joint shown in Figure 9. The second term on the right side is the force of the force sensor 126 (J6). n+1The force acting on joint 350 consists of the forces Mzj5, Myj5, and Mxj5 rotating around the three axes of the joint shown in Figure 9. These forces are placed in positions in the matrix that correspond to the positional relationship of the joint axes as shown in Figure 9.

[0089] Moreover, the first term on the right side of formulas (1) and (2), the dynamic force acting on the n-th link, is calculated by the dynamic force calculation process (step S420) of FIG. 4. This dynamic force calculation process (S420) corresponds to the calculation unit 340 of FIG. 3, and calculates the dynamic force acting on the n-th link using static information and dynamic information related to the link. The static information used in the calculation of the dynamic force calculation process (step S420) includes information related to the shape, inertia, elasticity, and posture of the link, and the dynamic information includes information related to the speed and acceleration of the link. Of these, the static conditions such as the shape, inertia, and elasticity of the link are naturally known from the design information of the robot arm 1, and can be stored in the storage device 300 in advance. In addition, since the process in FIG. 4 is executed during position or posture control of a specific robot arm 1, the calculation unit 320 (CPU) can identify dynamic conditions such as the current joint posture, link speed, acceleration, etc. from the robot control program being executed.

[0090] In this embodiment, in the multi-axis force calculation process (S410), the force acting on the (n+1)th joint in particular is calculated using the force sensor that has already been corrected and redefined and coordinate-converted in steps S460 and S470 described later. n+1 In this case, the detection value of the dynamic force acting on the n-th link calculated by the dynamic force acting on the n-th link calculation unit 340 is used (S405). However, as will be described in the second embodiment, the other axis force calculation process (S410) may use only the calculated value of the dynamic force acting on the n-th link calculated by the dynamic force acting on the n-th link calculation unit 340. In this case, the other axis force acting on the n-th joint is calculated based on dynamic conditions such as the current posture of the robot arm, the link speed, and acceleration.

[0091] Here, the force acting on the joint n calculated by the dynamic force calculation process (S420) can be expressed, for example, by rearranging it as in the following equation (3).

[0092]

number

[0093] In the above equation (3), the first term on the right hand side is a term proportional to acceleration determined by the length and mass of the link supported by the joint, the second term on the right hand side is a term proportional to velocity determined by the speed at which the joint is rotated, etc. Also, the third term on the right hand side is a term proportional to position determined by the elasticity of the link supported by the joint, etc.

[0094] Following the above-mentioned other-axis force calculation process (S410), in the other-axis interference calculation process (step S430), the force sensor generated by the other-axis force calculated as above is n 3. Then, the error of the detection value of 250, that is, the other-axis interference is calculated. This other-axis interference calculation process (step S430) corresponds to the process of the other-axis interference calculation unit 322 in FIG.

[0095] In this other axis interference calculation process (step S430), the force sensor calculated in the other axis force calculation process (S410) is n Other axial forces acting on 250 and force sensor n 250 sensitivity matrices n By multiplying this by 330, the error in the sensor detection value caused by interference from other axes is calculated. n 330 is disposed in, for example, the storage device 300 as described above, and is a force sensor n The relationship between the other-axis force acting on 250 and the error in the sensor detection value caused by other-axis interference is stored.

[0096] Next, in the detection value correction process (step S440), the force sensor is adjusted using the other-axis interference value calculated in the other-axis interference calculation process (step S430). n 3. This detection value correction process (step S440) corresponds to the process of the corrector 323 in FIG. 3. In this detection value correction process (S440), n The error in the sensor detection value occurring in 250 is the force sensor n By subtracting 250 from the detection value, the force sensorn Correct the detection value of 250.

[0097] Next, in the operation command determination process (step S450), the corrected force sensor n Based on the detection value of 250, the driving means of the n-th joint n 3. This operation command determination process (step S450) corresponds to the process of the controller 324 in FIG. 3, and performs, for example, the following driving force control. For example, in the operation command determination process (step S450), in response to the operation command output from the operation command unit 310, n 230 is a drive shaft for the nth link n Calculate the force (target value) around 200. Also, compare this target value with the force sensor after correction obtained in the detection value correction process (step S440). n Then, for example, the deviation between the target value of the force around the drive axis n200 applied to the nth link based on the operation command and the actual value is reduced by the drive means. n The operation command of 230 is determined.

[0098] The control loop in FIG. 4 has two branch steps, S401 and S403. First, in step S401, it is determined whether or not the value of n is 1. If n=1, that is, if the processing starting from the sixth joint has been executed sequentially up to the first joint, the process proceeds to step S403, and if not, the process proceeds to step S460 and proceeds to processing of the next (n-1)th joint. When proceeding from step S401 to S403, it is the timing when one set of control of the sixth to first joints is completed. In step S403, it is determined whether or not the variable of the required time t initialized in S400 is equal to or greater than a predetermined end time E (time). If the result of this step S403 is YES, the predetermined maximum processing time (S to E) has been exceeded, and therefore the process relating to the measurement and joint drive force control in FIG. 4 is terminated.

[0099] On the other hand, if step S403 is negative, this is equivalent to recognizing that there is enough time to execute the next set of control of the sixth to first joints, and in this case, the process returns to step S400 via step S404. Here, step S404 increments the variable of the required time t. In the figure, a simplified notation such as "t+1" is used in step S404, but in step S404, a process of adding the real time measured by an RTC or the like may be performed. Alternatively, a process of adding the required time required for one set of control of the sixth to first joints that has been calculated in advance may be performed. In addition, the unit of these increments does not necessarily have to be a time unit such as ms or μs, and another unit may be appropriately adopted. In this case, it goes without saying that the definition of the end time E is determined so as to be consistent with the unit of increment in step S404.

[0100] On the other hand, if step S401 is negative, one set of processing up to the first joint has not been completed, so the process returns to the above step S410 via steps S460, S470, S402, and S405.

[0101] First, in the redefinition process of the force applied to the force sensor n in step S460, the force sensor n obtained by solving the equation (1) in the other axis force calculation process (S410) is n The force sensor 250 is corrected by the detection value correction process (S440) for the calculated force acting on the sensor. n This replacement process is of course done by the force sensor. n Only the component around the joint drive axis detected by 250 is detected.

[0102] In the coordinate conversion process of step S470, the force sensor n A coordinate conversion process is performed to convert the calculated value of the force acting on the joint 250 from the expression based on the reference coordinate axis of the n-th joint to the expression based on the reference coordinate axis of the adjacent (n-1)-th joint on the next base 110 side. In this coordinate conversion, the force sensor corrected in the redefinition process (S460) of the force acting on the force sensor is nThe calculation unit 320 converts the coordinate expression of the force (expressed as a vector or matrix) acting on the joint 250. At this time, the calculation unit 320 can calculate, for example, the position or orientation of the n-th joint and the joint axis of the n+1-th joint, which is the next processing target, based on an instruction from the motion command unit 310 or a robot control program. Here, it is sufficient to perform a coordinate system conversion such as converting from a coordinate system in which the joint axis of the n-th joint is taken on the Z-axis (for example) to a coordinate system in which the joint axis of the n+1-th joint is taken on the Z-axis (for example).

[0103] In step S402, the index n of the joint is decremented by 1 (n=n-1) to point to the next adjacent joint on the base side. As a result, the just-completed nth joint is referred to as the n+1th joint when processing the next joint.

[0104] That is, in step S405, the second term on the right side of the formula (1), the force sensor of the (n+1)-th joint adjacent to the n-th joint on the hand tip side, n+1 The forces acting on 350 are those that have been transformed and redefined in the previous steps S460, S470, and S402.

[0105] Thereafter, the processes from step S410 onwards are repeated for the next n-th joint. The processes relating to the measurement and joint driving force control in Fig. 4 are executed with the processes from the 6th to the 1st joints as one processing set. Also, the processes relating to the measurement and joint driving force control in Fig. 4 are executed one or several sets up to the maximum time (E).

[0106] (Effects of Example 1) 1 and 2, the path of the force transmitted between the two links connected to the joint of the robot arm is only one path that passes through the force sensor. Therefore, the force of the other axis acting on the n-th link 220 is transmitted to the force sensor of the n-th joint. n 250 is directly subjected to the force of the other axis acting on the n-th link 220. nIn the conventional joint configuration, the force transmitted through the joint is transmitted via mechanical elements such as a cross roller bearing and an oil seal, so the force transmission path between the two links connected to the joint exists in addition to the path passing through the force sensor. In contrast, in this embodiment, the only path that transmits force between the two links connected by the joint is the path that passes through the force sensor. For this reason, the force sensor n Therefore, by providing the other-axis force calculation unit 321 in the robot control device 2, the force sensor 250 can be easily grasped. n The other-axis force generated in 250 can be obtained with high accuracy, and the measurement control described below can also be performed more accurately.

[0107] Furthermore, in this embodiment, the other axis interference calculation unit 322 is provided in the robot control device 2. This allows the force sensor generated by the other axis interference to be calculated. n 250 can be corrected with high accuracy. This allows the force around the drive shaft to be measured accurately, and the measured force around the drive shaft can be used to control the drive of the robot arm 1, thereby enabling accurate and reliable control of the drive force of the robot arm 1. This makes it possible to control the force applied to the part (workpiece) by the end effector 117 at the tip of the robot arm 1 with high accuracy. This makes it possible to control the appropriate joint drive force even in a process that requires the load applied to the part to be on the order of a few grams, such as an assembly process of soft objects or low-strength members. This increases the possibility of automating the assembly process of soft objects or low-strength members, which was previously difficult, by using a robot device.

[0108] 4, the processing of all the joints constituting the robot arm 1 is considered as one set, and the processing of one or several sets is controlled so as not to exceed the maximum processing time (S to E). This makes it possible to effectively utilize the computational resources of the CPU constituting the calculation unit 320, for example, and reduces the possibility of stagnation or malfunction of the original position and orientation control, etc.

[0109] <Example 2> In the second embodiment, a modified example of the measurement of the driving force of the joint and the control based thereon shown in Fig. 4 is shown. The hardware configuration of the robot system and its control system may be the same as that of the first embodiment.

[0110] Fig. 5 is a flow chart showing a modified example of the measurement of the driving force of the joint shown in Fig. 4 and the control based thereon. In Fig. 5, the same step numbers are used for the steps equivalent to those in Fig. 4, and the detailed description thereof will be omitted below. Note that the relationship between Fig. 5 and the functional blocks in Fig. 3 is the same as that in Fig. 4, and therefore the illustration thereof is omitted.

[0111] The control in FIG. 5 differs from FIG. 4 in that in the drive control of the n-th joint of the robot arm 1, the force sensor of the (n+1)-th joint is used in the other axis force calculation process (S410 in FIG. 5). n+1 5, the detection value of the force sensor 350 of the nth joint is not used. In the other axis force calculation process (S410) of FIG. 5, only the calculation value of the dynamic force acting on the nth link calculated by the dynamic force calculation unit (340: FIG. 3) is used to calculate the force of the nth joint. n In this embodiment, in the other-axis force calculation process (S410 in FIG. 5), the other-axis force acting on the n-th joint, including the force acting on the (n+1)-th joint, is calculated based on dynamic conditions such as the posture of the robot arm at that time, the speed of the link, the acceleration, etc.

[0112] For this reason, in the control of Fig. 5, on the path to proceed to processing of the next joint, only the coordinate conversion process (S470) and the decrement of n (S402) which is an index indicating the joint are performed, and the redefinition process (S460 in Fig. 4) is not performed. Note that in the coordinate conversion process (S470) of Fig. 5, at least the process of changing the coordinate system used to express the force handled in the calculation from the coordinate system based on the nth joint of the current posture of the robot arm 1 to the coordinate system based on the (n-1)th joint is performed.

[0113] In addition, in the control of Fig. 5, the initialization of the processing time t in step S400 of Fig. 4, the determination of the required time in S403, and the increment of the processing time t in S404 are omitted. This is because it is expected that the processing speed can be increased by omitting the above-mentioned redefinition process (S460 in Fig. 4), for example, but it is also possible to perform processing to limit the maximum processing time for all joints as one set, as in the control of Fig. 4.

[0114] (Effects of Example 2) According to the control of the second embodiment, basically the same effect as that of the first embodiment can be expected. That is, by providing the other axis force calculation unit 321 (FIG. 3), n The force acting around the detection axis of 250 can be calculated with high accuracy. And the sensitivity matrix n 330 is used to measure the force caused by other axes. n 250 detection error (interference with other axes) can be corrected with high precision. This makes it possible to control the force acting on the workpiece via the end effector 117 at the tip of the robot arm 1 with high precision. This increases the possibility that the articulated robot arm can be used to automate processes that require the load applied to parts to be on the order of a few grams, such as the assembly process of soft objects or low-strength components.

[0115] In addition, according to the second embodiment, the force sensor of the processed joint n The redefinition process of the detection value of 250 (S460 in FIG. 4) is omitted, and only the calculated value of the dynamic force acting on the nth link is used to calculate the force sensor of the nth joint. n Therefore, for example, the computational resources of the CPU constituting the computing unit 320 can be effectively utilized, and the possibility of stagnation or malfunction of the original position and attitude control can be reduced.

[0116] (Variations, etc.) In the above description, a vertical six-axis multi-joint configuration has been exemplified as the configuration of the robot arm 1. However, the present invention is not limited by the number of joints or the joint configuration. For example, as long as the robot arm has two or more joints, the same measurements and joint control as described above can be performed, and the joint configurations shown in Figs. 1 and 2 can be implemented in any of the joints. Also, even if the robot arm has a horizontal multi-joint configuration or a parallel link configuration, the above-mentioned joint configuration and the same measurements and joint control as described above can be implemented, and similar effects can be expected.

[0117] In addition, although the above description mainly shows a rotary joint as the joint of the robot arm 1, the same measurement and joint control as described above can be performed with a linear joint as shown in FIG. 8, and similar effects can be expected. n Although an electric motor and a reducer are exemplified as 230, even if the driving means is constituted by a hydraulic actuator or the like, the same measurement and joint control as described above can be performed, and the same effect can be expected. n 240 is constructed using a cross roller bearing 241, but as a modified example, the restraint section can be constructed using various rolling bearings or linearly driven bearings, and the same measurements and joint control can be performed as described above, and similar effects can be expected.

[0118] The control by the robot control device 2 shown in Figures 3 to 5 can be executed by, for example, a CPU (Central Processing Unit). Therefore, a recording medium on which a program for realizing the above-mentioned functions is recorded may be supplied to the robot control device 2, and the computer (CPU or MPU) constituting the robot control device 2 may read and execute the program stored in the recording medium to achieve the above-mentioned functions. In this case, the program itself read from the recording medium will realize the functions of the above-mentioned embodiments, and the program itself and the recording medium on which the program is recorded constitute the present invention.

[0119] In addition, as a computer-readable recording medium on which a program for implementing the present invention is recorded, a storage device 300 such as a HDD is exemplified. However, as a computer-readable recording medium on which a program for implementing the present invention is recorded, any recording medium can be used, regardless of whether the storage (recording) medium is fixed or removable. The program for implementing the present invention may be recorded on any recording medium as long as it is a computer-readable recording medium. As this type of recording medium, a ROM (including an EEPROM, a flash memory, etc.), a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a non-volatile memory card, etc. can be used. In addition, the program in this embodiment may be downloaded via a network and expanded on a RAM, or written into an EEPROM, etc., and executed by a computer.

[0120] In addition, the functions of the present embodiment are not limited to being realized by a computer executing the program code read out by the computer, but also include cases where an operating system (OS) running on a computer performs part or all of the actual processing based on the instructions of the program code, and the functions of the above-mentioned embodiments are realized by the processing.

[0121] Furthermore, the program code read from the recording medium may be written into a memory provided on a function expansion board inserted into a computer or a function expansion unit connected to the computer. This also includes cases where a CPU provided on the function expansion board or function expansion unit performs part or all of the actual processing based on the instructions of the program code, and the functions of this embodiment are realized by this processing. The present invention can also be realized by a process in which a program that realizes one or more functions of the above-mentioned embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The control of the present invention can also be realized by a hardware circuit (e.g., ASIC) that realizes one or more functions. [Explanation of symbols]

[0122] Reference Signs List 1: robot arm, 2: robot control device, 210: (n-1)th link, 220: (n)th link, 230: driving means for (n)th joint, 240: restraint section for (n)th joint, 250: force sensor for (n)th joint.

Claims

1. A first joint that displaces a first link; A first sensor that acquires a load generated in a first drive direction in which the first joint is driven; A robot comprising: The control unit: Calculating a load that occurs in a direction other than the first driving direction and that affects the load acquired by the first sensor, based on static information regarding the first link and dynamic information regarding the first link; correcting the load acquired by the first sensor based on a load generated in a direction other than the first driving direction; A robot characterized by:

2. 2. The robot according to claim 1, the static information regarding the first link includes information regarding a shape of the first link; A robot characterized by:

3. The robot according to claim 1 or 2, The static information regarding the first link includes an inertia of the first link, an elasticity of the first link, and an attitude of the first link. A robot characterized by:

4. The robot according to any one of claims 1 to 3, The dynamic information regarding the first link includes a velocity of the first link and an acceleration of the first link. A robot characterized by:

5. The robot according to any one of claims 1 to 4, The load generated in a direction other than the first driving direction includes a moment component or a translational force component. A robot characterized by:

6. The robot according to any one of claims 1 to 5, The control unit is correcting the load acquired by the first sensor to improve accuracy of the load acquired by the first sensor; A robot characterized by:

7. The robot according to any one of claims 1 to 6, The control unit is acquiring an error included in the load acquired by the first sensor based on a sensitivity matrix of the first sensor and a load occurring in a direction other than the first driving direction; A robot characterized by:

8. The robot according to claim 7, The control unit is correcting the load acquired by the first sensor by subtracting the error from the load acquired by the first sensor; A robot characterized by:

9. The robot according to any one of claims 1 to 8, a second joint connected to the first link and displaced together with the first link by displacing the first link by the first joint; a second sensor that acquires a load generated in a second drive direction in which the second joint is driven, The control unit is and acquiring a load generated in the first driving direction due to a load generated in a direction other than the first driving direction based on the load acquired by the second sensor. A robot characterized by:

10. The robot according to claim 9, the load acquired by the first sensor is a torque generated by rotation of the first joint, The load acquired by the second sensor is a torque generated by rotation of the second joint. A robot characterized by:

11. The robot according to claim 9 or 10, The control unit is a load generated in the first driving direction due to a load generated in a direction other than the first driving direction is acquired based on the load acquired by the second sensor, static information regarding the first link, and dynamic information regarding the first link; A robot characterized by:

12. The robot according to any one of claims 9 to 11, a second link is connected to the second joint, and an end effector functioning as a hand of the robot is displaced via the second link; A robot characterized by:

13. The robot according to claim 12, The control unit is correcting the load acquired by the second sensor based on static information about the second link and dynamic information about the second link so that the load is corrected in order from a joint on a hand end side of the robot; Next, a correction of the load acquired by the first sensor is performed based on a load generated in a direction other than the first driving direction. A robot characterized by:

14. The robot according to any one of claims 9 to 13, The first sensor or the second sensor detects the load in the first driving direction or the second driving direction using at least one of a strain gauge type, a capacitance type, a magnetic type, and an optical encoder type. A robot characterized by:

15. A method for manufacturing an article, comprising the steps of: manufacturing an article by using the robot according to any one of claims 1 to 14;

16. A first joint that displaces a first link; A first sensor that acquires a load generated in a first drive direction in which the first joint is driven; A method for controlling a robot including a control unit, The control unit: Calculating a load that occurs in a direction other than the first driving direction and that affects the load acquired by the first sensor, based on static information regarding the first link and dynamic information regarding the first link; correcting information about the load acquired by the first sensor based on a load generated in a direction other than the first driving direction; A control method comprising:

17. A control program for causing a computer to execute the control method according to claim 16.

18. A computer-readable recording medium storing the control program according to claim 17.

Citation Information

Patent Citations

  • Robot and robot system

    JP2012152865A

  • Hollow drive module

    JP2013215081A

  • Rotary series elastic actuator

    JP2011072186A