Robot system, program, and robot control method
The robot system addresses the issue of decreased positioning accuracy due to object mass by incorporating a mass measurement mode to adjust its movements, thereby maintaining precise object placement.
Patent Information
- Application Number
- JP2023205952
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-06
- Publication Date
- 2025-06-18
AI Technical Summary
Conventional robots experience a decrease in positioning accuracy when transporting objects due to the influence of the object's mass.
A robot system that includes an arm, a holding unit, and a driving unit, capable of moving the arm opposite to the holding unit to measure the object's mass and adjust its movement accordingly to maintain positioning accuracy.
The system effectively suppresses the decrease in positioning accuracy by using mass measurement information to control the robot's movements, ensuring precise object placement.
Smart Images

Figure 2025091010000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a robot system, a program, and a method for controlling a robot.
Background Art
[0002] Conventionally, a robot has been configured to hold an object at the tip of an arm and move the arm holding the object to transport the object to a predetermined position (see Patent Document 1).
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, in such a conventional robot, the positioning accuracy with respect to the transport position of the object may decrease due to the influence of the mass of the held object.
[0005] Therefore, the present invention provides a robot system, a program, and a method for controlling a robot that can suppress a decrease in positioning accuracy due to the influence of the mass of an object.
Means for Solving the Problems
[0006] The robot system according to the present invention includes an arm, a holding unit provided on the arm for holding an object, and a driving unit capable of moving the arm on the side opposite to the holding unit with respect to the arm. Then, this robot system has a mass measurement mode in which, while the holding unit holds the object, a predetermined movement is given to the arm to acquire information regarding the mass of the object, and a work mode in which the object is moved to a predetermined position by control using the information regarding the mass of the object.
[0007] In addition, the program of the present invention is for a computer that controls a robot having an arm, a holding unit provided on the arm for holding an object, and a driving unit capable of moving the arm on the side opposite to the holding unit from the arm, a function in a mass measurement mode of causing the arm to make a predetermined movement while the holding unit holds the object to obtain information regarding the mass of the object, and a function in a work mode of moving the object to a predetermined position by control using the information regarding the mass of the object are realized.
[0008] In addition, a method for controlling a robot according to the present invention is a method for controlling a robot having an arm, a holding unit provided on the arm for holding an object, and a driving unit capable of moving the arm on the side opposite to the holding unit from the arm, a mass measurement step of causing the arm to make a predetermined movement while the holding unit holds the object to obtain information regarding the mass of the object, and a work step of moving the object to a predetermined position by control using the information regarding the mass of the object are included.
Advantages of the Invention
[0009] According to the present invention, it is possible to suppress a decrease in positioning accuracy due to the influence of the mass of an object.
Brief Description of the Drawings
[0010]
Figure 1
Figure 2
Figure 3
Figure 4
Modes for Carrying Out the Invention
[0011] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0012] (Robot System) FIG. 1 is a diagram showing a robot system 1 according to the present embodiment. Note that FIG. 1(a) is a first state diagram of a robot 2 constituting the robot system 1, and shows the state of the robot 2 before holding the object 3. Further, FIG. 1(b) is a second state diagram of the robot 2 constituting the robot system 1, and shows the state of the robot 2 holding the object 3. Further, FIG. 1(c) is a third state diagram of the robot 2 constituting the robot system 1, and shows the vibration state of the arms (4, 5, 6) holding the object 3.
[0013] As shown in FIG. 1, the robot system 1 according to the present embodiment includes a robot 2 (manipulator), a controller 7, and a teach pendant 8.
[0014] The robot 2 includes a support arm 11 that is fixed to the base portion 10 and stands upright, a first arm 4 having one end connected to the tip of the support arm 11 via a first joint 12, a second arm 5 having one end connected to the other end of the first arm 4 via a second joint 13, a third arm 6 having one end connected to the other end of the second arm 5 via a third joint 14, and a holding portion 15 attached to the tip (the other end) of the third arm 6. Note that the third joint 14 is located on the side opposite to the holding portion side (the opposite side of the holding portion 15) with respect to the third arm 6.
[0015] The first arm 4 is capable of rotating around the central axis 12a of the first joint 12. Further, the second arm 5 is capable of rotating around the central axis 13a of the second joint 13. Further, the third arm 6 is capable of rotating around the central axis 14a of the third joint 14.
[0016] The holding part 15 is composed of a chuck for clamping the object 3, a suction pad for sucking the object 3, etc., and is detachably attached to the tip of the third arm 6 according to the shape of the object 3 and the like.
[0017] The controller 7 is a control device in which a servo amplifier, a substrate, etc. are housed, and is configured to comprehensively control the movement of the robot 2. The functions of this controller 7 will be described later with reference to FIG. 3.
[0018] The teach pendant 8 enables the operation settings of the robot 2 and the input of various programs.
[0019] (Robot joints) FIG. 2 is a structural diagram common to each joint (the first joint 12 to the third joint 14) of the robot 2 shown in FIG. 1. For the sake of simplicity of explanation, the second joint 13 will be exemplified and described.
[0020] The second joint 13 shown in this FIG. 2 has a substantially bottomed cylindrical joint case 16 integrally attached to the first arm 4, and a servo motor 17 is housed in the joint case 16. Further, in the space between the servo motor 17 in the joint case 16 and the case bottom surface 18, an encoder 20 attached to one end side of the output shaft of the servo motor 17 is housed so as to be rotatable with respect to the joint case 16. The rotation of the servo motor 17 is controlled by a control signal from the controller 7, the rotation of its output shaft is detected by the encoder 20, the detection value of the encoder 20 is fed back to the controller 7, and the torque value of the output shaft is adjusted based on the control signal from the controller 7.
[0021] A speed reducer 21 is attached to the other end side of the output shaft of the servo motor 17. The rotation of the output shaft of the servo motor 17 is transmitted to the output shaft of this speed reducer 21 in a state of being reduced according to the reduction ratio. And the output shaft of this speed reducer 21 is connected to the output flange 22 integral with the second arm 5 via an elastic member 23, and the rotation is transmitted to the output flange 22 via the elastic member 23.
[0022] The elastic member 23 is positioned in series between the servo motor 17 and the speed reducer 21 as power sources and the second arm 5 as a load, and constitutes a series elastic actuator (SEA) at the second joint 13. This elastic member 23 has, for example, an elastic deformation part (not shown) that extends in a substantially arc shape from an inner peripheral side mounting part (not shown) to an outer peripheral side mounting part (not shown). The inner peripheral side mounting part is fixed to the output shaft of the speed reducer 21, the outer peripheral side mounting part is fixed to the output flange 22, and the elastic deformation part connects the output shaft of the speed reducer 21 and the output flange 22 on the load (second arm 5) side in an elastically deformable state. Such a second joint 13 is known as a flexible joint, and even if a human collides with the second arm 5 of the robot 2, the elastic member 23 elastically deforms, so that the impact when the human contacts the second arm 5 can be absorbed, and the safety for humans during the cooperation between the robot 2 and humans is improved.
[0023] Also, in the second joint 13 shown in FIG. 2, the servo motor 17, the speed reducer 21, and the elastic member 23 constitute the second drive part 24B as a series elastic actuator for driving the second arm 5 as a load as described above. The robot 2 of this embodiment has a first joint 12 having a first drive part 24A and a first encoder 20A, a second joint 13 having a second drive part 24B and a second encoder 20B, and a third joint 14 having a third drive part 24C and a third encoder 20C (see FIGS. 1 to 3). Also, when the robot 2 has N joints exceeding the three joints (12, 13, 14), it has the Nth drive part 24N and the Nth encoder 20N equal in number to the number of joints (see FIG. 3). The joint angle of the first joint 12 is measured by the first encoder 20A, the joint angle of the second joint 13 is measured by the second encoder 20B, and the joint angle of the third joint 14 is measured by the third encoder 20C.
[0024] The elastic member 23 exerts an effect of being able to change the angle of the second arm 5 in the rotation direction of the second joint 13 in a state where the servo motor 17 of the second joint 13 has stopped. That is, the elastic member 23 exerts an effect of being able to deform the configuration combining the first arm 4 and the second arm 5 around the second joint 13 as a fulcrum in the above rotation direction. Note that the elastic member is not limited to an element that deforms the configuration in the rotation direction of the joint, and may be an element that deforms the configuration in a direction intersecting the rotation plane in which the joint rotates. The direction of deformation may be two directions or three or more directions in three dimensions.
[0025] (Functional Configuration of Robot System) FIG. 3 is a block diagram showing the functional configuration of the robot system 1 according to the present embodiment. The robot system 1 shown in FIG. 3 is configured to control the operation of the robot 2 by the controller 7.
[0026] The controller 7 is constituted by, for example, a CPU (Central Processing Unit) or the like, and is configured to control the operations of the respective parts of the robot 2, and is housed in a controller box 26 separate from the robot 2. The controller 7 starts operating based on an operation input by an operator or the like, performs calculations using various data recorded in the storage unit 27 and various programs previously stored in the storage unit 27, and executes various processes of the robot 2 based on the calculation results.
[0027] Specifically, when the operating state of the first drive unit 24A is detected by the first encoder 20A and the detection signal from the first encoder 20A is input, the controller 7 performs feedback control based on the detection signal from the first encoder 20A so that the first drive unit 24A assumes a preset operating state. Further, when the operating state of the second drive unit 24B is detected by the second encoder 20B and the detection signal from the second encoder 20B is input, the controller 7 performs feedback control based on the detection signal from the second encoder 20B so that the second drive unit 24B assumes a preset operating state. Also, when the operating state of the third drive unit 24C is detected by the third encoder 20C and the detection signal from the third encoder 20C is input, the controller 7 performs feedback control so that the third drive unit 24C assumes a preset operating state. Note that an auxiliary controller (not shown) that undertakes a partial function of the controller 7 may be installed in each joint (12, 13, 14), and the auxiliary controller may operate the drive units (24A, 24B, 24C) based on a control signal from the controller 7.
[0028] The storage unit 27 is a memory composed of, for example, a RAM (Random Access Memory) or a ROM (Read Only Memory), stores various programs and data, and also functions as a working area for the controller 7. The storage unit 27 of the present embodiment stores the compliance 28 (1 / k which is the reciprocal of the spring constant k) of the elastic members 23 (for example, metal) of each joint (12, 13, 14), a compliance characteristic calculation program 30 for calculating the compliance characteristic of the holding unit 15 from the compliance 28 of each joint (12, 13, 14), a mass calculation program 31 for calculating the mass of the object 3 held by the holding unit 15, and a control parameter adjustment program 32 for adjusting the control parameters of the drive units (24A, 24B, 24C). Note that the compliance characteristic of the holding unit 15 is obtained from a compliance matrix based on the compliance of each joint (12, 13, 14). Further, the reason for using the compliance characteristic instead of the compliance is that it is not limited to the spring constant (not limited to an elastic member of a solid (for example, metal)), and includes an elastic member of a gas such as an air spring.
[0029] (Workflow Chart of Robot System) FIG. 4 is a workflow chart of the robot system 1 according to an embodiment of the present invention. Note that the operation of the robot system 1 will be mainly described by classifying it into a mass measurement mode (mass measurement process) and an operation mode (operation process).
[0030] (Mass Measurement Mode) As shown in this FIG. 4, the controller 7 of the robot system 1 starts the operation (movement) of the robot 2 based on an operator's operation input or the like (such as turning on the start button by the operator) (step S1). Then, when the controller 7 moves the holding unit 15 to the picking position of the object 3, the controller 7 moves the holding unit 15 to pick up the object 3 (step S2). Subsequently, the controller 7 outputs an operation signal to the servo motors 17 of each joint (12, 13, 14) and moves the holding unit 15 (object 3) of the robot 2 toward the mass estimation position of the object 3 (step S3).
[0031] During the processing of steps S1 to S3, the controller 7 executes the control adjustment process of step S4 in parallel. That is, the controller 7 uses the control parameter adjustment program 32 stored in the storage unit 27 to calculate the deviation amount between the operating amount of the servo motor 17 of each joint (12, 13, 14) caused by the self-weight and inertia of each arm (4, 5, 6) and the holding unit 15 of the robot 2 and the measured value by the encoder 20 and the numerical value at the time of robot design, and based on the deviation amount, performs control adjustment (for example, gain adjustment, torque adjustment) of the servo motor 17 (actuator) of each joint (12, 13, 14) (step S4).
[0032] The result of step S4 also contributes to improving the mass measurement accuracy of the object 3 described later. Note that when the controller 7 can determine the self-weight and inertia of each arm (4, 5, 6) and the holding unit 15 of the robot 2 from the data at the time of robot design, the measurement values of the inertial sensors, etc., the controller 7 may perform the control adjustment of the servo motor 17 (actuator) of each joint (12, 13, 14) by simulation or the like without measuring the measured value by the encoder 20.
[0033] When the object 3 arrives at the mass estimation position, the controller 7 stops the servo motors 17 of the respective joints (12, 13, 14) (step S5). Due to this stop, each arm (4, 5, 6) and the holding unit 15 of the robot 2 vibrate. That is, step S5 corresponds to an example of an operation (vibration excitation process) of vibrating the second arm 5 and the holding unit 15. Note that the operation of vibrating each arm (4, 5, 6) and the holding unit 15 of the robot 2 may be performed by applying an external force to the holding unit 15 (for example, an operator moves the holding unit 15 from the mass estimation position and then releases it) without suddenly stopping the servo motors 17 of the respective joints (12, 13, 14). Further, the operation of vibrating each arm (4, 5, 6) and the holding unit 15 of the robot 2 includes a case where the drive units 24A, 24B, 24C are repeatedly operated to cause vibration, a case where the tip of the arm (4, 5, 6) is rotated, and the vibration is caused as a result by the centrifugal force generated by the rotational movement of the tip of the arm (4, 5, 6).
[0034] Next, the controller 7 estimates the mass of the object 3 using the mass calculation program 31 (step S6). The mass of the object 3 is obtained from the compliance characteristics of the holding unit 15 (compliance in the vibration direction of the object 3) calculated in advance and the vibration frequency of the holding unit 15 holding the object 3 by the calculation formula of the mass calculation program 31. The calculation formula for obtaining this mass is as follows: Let the mass of the object 3 be M, the vibration frequency of the holding unit 15 holding the object 3 be f, and the compliance in the vibration direction of the holding unit 15 be 1 / k. Then M = k / (2πf). 2 Note that the vibration frequency of the holding unit 15 can be obtained from the detection results of the encoder 20 related to the servo motors 17 of the respective joints (12, 13, 14).
[0035] When the mass estimation of the object 3 is completed, the controller 7 uses the control parameter adjustment program 32 to calculate the control parameters of the servo motors 17 (actuators) based on the self-weight, inertia, and object mass, and it becomes possible to adjust the control parameters (control gains, torque values, etc.) for operating the servo motors 17 with high precision.
[0036] The above is the mass measurement mode (mass measurement process) in which the holding unit 15 of the robot 2 holds the object 3 and causes the drive units 24A, 24B, 24C (servo motors 17) to perform a predetermined movement (sudden stop) to obtain information regarding the mass of the object 3.
[0037] (Working mode) Next, the controller 7 moves the object 3 to the next working position (step S7). In parallel with the process of step S7, the controller 7 performs control adjustment of the servo motor 17 (drive unit 14) based on its own weight, inertia, and the mass of the object (step S8). In the processes of step S7 and step S8, the controller 7 performs control by adding the information regarding the mass of the object 3 obtained in the mass measurement mode, adjusts the drive of the servo motor 17 (drive unit 24), and operates the servo motor 17 according to the adjusted control parameters. Thereby, the object 3 can be transported to the next working position with high precision.
[0038] Also, when there are a plurality of objects (objects 3, 3a, 3b,... etc.) of the same mass, after performing the process of the mass measurement mode using one object 3, the controller 7 may use the information on the mass of the object 3 measured in the process to execute the transport process (process of the working mode) of the other objects 3a, 3b,... That is, the process of the mass measurement mode for the other objects 3a, 3b,... may be omitted. By such a process, efficient transport of a plurality of objects can be realized.
[0039] Note that even if the object 3 and the other objects 3a, 3b,... have different masses, for example, when the masses of the objects 3a, 3b,... can be estimated from the mass of the object 3, such as being 1.2 times the mass of the object 3, the controller 7 can, in the same manner as above, use the information on the mass of the object 3 to execute the transport process (process of the working mode) of the other objects 3a, 3b,... Even with such control, it is possible to accurately position the objects 3, 3a, 3b,... at the target transport positions.
[0040] The above is an operation mode (operation process) of moving the object 3 to a predetermined position based on information regarding the mass of the object 3.
[0041] (Effects of the present embodiment) Since the robot system 1 of the present embodiment is configured to move the object 3 to a predetermined position based on information regarding the mass of the object 3, it is possible to suppress a decrease in positioning accuracy due to the influence of the weight of the object 3.
[0042] In addition, since the drive unit 24 (24A to 24C) of the robot 2 of the present embodiment has an elastically deformable portion with respect to an external force, the drive unit 24 (24A to 24C) can be protected against an external force.
[0043] In addition, since the drive unit 24 (24A to 24C) of the robot 2 of the present embodiment has an elastically deformable portion of the elastic member 23 that is deformable with respect to an external force, the elastically deformable portion may deform due to the influence of the gravity acting on the arms (4, 5, 6) or the mass of the object 3, and there is a risk that the positioning accuracy of the object 3 and the accuracy of the transport path of the object 3 during the transport of the object 3 may decrease. However, since the robot system 1 of the present embodiment measures the mass of the object 3 and controls the operation of the robot 2 based on the measurement result, it is possible to improve the positioning accuracy of the object 3 and the accuracy of the transport path of the object 3 during the transport of the object 3.
[0044] In addition, since the drive unit 24 (24A to 24C) of the robot 2 of the present embodiment has an elastically deformable portion of the elastic member 23 that is deformable with respect to an external force, the characteristics (for example, the deformed state) of the elastically deformable portion are different for objects 3 having different masses, and it is easy for the movement of each joint (12, 13, 14) to have characteristics for objects 3 having different masses. As a result, the mass measurement accuracy of the object 3 in the mass measurement mode is improved in the robot system 1 of the present embodiment.
[0045] In addition, in the robot system 1 of the present embodiment, since the flexible joints are configured by connecting the output shafts of the actuators (17, 21, 23) and the arms (4, 5, 6) with elastic deformation parts, when a human collides with the arms (4, 5, 6) of the robot 2 during the collaborative work between the human and the robot 2, the elastic deformation parts elastically deform, so that the impact when the human contacts the arms (4, 5, 6) can be absorbed, and the safety for the human during the collaboration between the robot 2 and the human is improved.
[0046] In addition, in the robot system 1 of the present embodiment, since the deformation of the elastic deformation parts constituting the drive unit 24 (24A to 24C) is measured by the encoders 20 (20A to 20C), the operation of the drive unit 24 (24A to 24C) can be controlled with high precision based on the deviation between the design value and the measured values of the encoders 20 (20A to 20C).
[0047] In addition, in the robot system 1 of the present embodiment, the mass measurement mode measures the mass of the object 3, and the operation mode adjusts the control parameters (for example, torque value) of the actuator (servo motor 17) according to the mass of the object 3 calculated in the mass measurement mode. Therefore, regardless of the magnitude of the mass of the object 3, the operation can be carried out with high precision.
[0048] In addition, in the robot system 1 of the present embodiment, the mass of the object 3 is calculated from the compliance characteristics and vibration frequency of the holding part 15 in the mass measurement mode, and the torque value of the actuator (servo motor 17) is adjusted according to the mass of the object 3 in the operation mode. Therefore, even if the mass of the object 3 fluctuates, by measuring the mass of the object 3 in the mass measurement mode, it becomes possible to position the object 3 at the target conveyance position with high precision.
[0049] (Program) The program of the present invention is configured to execute two modes: the mass measurement mode and the work mode described in the above embodiment. That is, the program of the present invention causes the drive unit 24 that drives the robot 2 to make a predetermined movement, and acquires information regarding the mass of the object 3 held by the robot 2, and based on the information regarding the mass of the object 3, moves the object 3 to a predetermined position. It is configured to execute two modes: the work mode.
[0050] (Robot control method) The control method of the robot 2 of the present invention includes the mass measurement step and the work step described in the above embodiment. That is, the control method of the robot 2 of the present invention causes the drive unit 24 that drives the robot 2 to make a predetermined movement, acquires information regarding the mass of the object 3 held by the robot 2, and based on the information regarding the mass of the object 3, moves the object 3 to a predetermined position. It has two steps: the work step.
[0051] (Other embodiments) Note that the robot system 1 of the present invention exemplifies a three-axis articulated robot in which the first arm 4 to the third arm 6 operate within the X-Z coordinate plane for the sake of simplicity of explanation as shown in FIG. 1, but is not limited thereto, and the first arm 4 may be rotated around the axis of the support arm 11. Further, the robot system 1 according to the present embodiment can also be applied to a generally known multi-axis vertical articulated robot having six or more axes. In addition, the details shown in the above embodiment can be appropriately changed without departing from the gist of the invention.
Explanation of reference numerals
[0052] 1 Robot system 2 Robot 3 Object 4 First arm (arm) 5 Second arm (arm) 6 Third arm (arm) 11 Support arm (arm) 12 First joint (joint) 13 Second joint (joint) 14 Third joint (joint) 15 Holding part 17 Servo motor (actuator) 20 Encoder 20A First encoder 20B Second encoder 20C Third encoder 21 Reducer (actuator) 23 Elastic member (actuator) 24 Driving part 24A First driving part 24B Second driving part 24C Third driving part 28 Compliance
Claims
1. An arm, A holding part provided on the arm for holding an object, A driving part capable of moving the arm on the side opposite to the holding part with respect to the arm, A robot system having: A mass measurement mode in which, while the holding part holds the object, a predetermined movement is given to the arm to obtain information regarding the mass of the object; An operation mode in which the object is moved to a predetermined position by control using the information regarding the mass of the object; A robot system having these.
2. The robot system according to claim 1, wherein the driving part has an elastically deformable part that can deform with respect to an external force.
3. The predetermined movement includes a movement in a direction that deforms the elastically deformable part. The robot system according to claim 2.
4. In the mass measurement mode, information regarding the mass of the object is obtained by vibrating the arm. In the operation mode, the control content of the driving part is changed based on the information regarding the mass. The robot system according to claim 1.
5. In the operation mode, after moving the object to a predetermined position, another object different from the object is moved to a predetermined position by control using the information regarding the mass of the object. The robot system according to claim 1.
6. In a computer that controls a robot having an arm, a holding part provided on the arm for holding an object, and a driving part capable of moving the arm on the side opposite to the holding part with respect to the arm, A function of a mass measurement mode in which, while the holding part holds the object, a predetermined movement is given to the arm to obtain information regarding the mass of the object; A function of an operation mode that moves the object to a predetermined position by control using information on the mass of the object, A program for realizing the same.
7. A control method for a robot having an arm, a holding unit provided on the arm for holding an object, and a driving unit capable of moving the arm on the side opposite to the holding unit with respect to the arm, A mass measurement step of obtaining information on the mass of the object by causing the arm to make a predetermined movement while the holding unit holds the object, An operation step of moving the object to a predetermined position by control using information on the mass of the object, A control method for a robot including the above.
Citation Information
Patent Citations
Planar flexure member and actuator using the same
JP2017026150A