Engagement method, robot system, control device and computer program
Patent Information
- Application Number
- JP2022538663
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-07-21
- Filing Date
- 2021-06-30
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2041-06-30
Smart Images

Figure 0007641969000001 
Figure 0007641969000002 
Figure 0007641969000003
Abstract
Description
[Technical field]
[0001] The present invention relates to an engagement method, a robot system, a control device, and a computer program. [Background technology]
[0002] In recent years, robot arms have been used to hold objects such as parts and engage them with the target object. For example, attempts have been made to hold a fitting object using a robot arm and fit it into the target object. However, in order to insert and fit a fitting object having a diameter of 10 mm to 50 mm into the target object with a clearance of several μm to several tens of μm, a positioning accuracy of several μm or less is required. It is not easy to achieve such high-precision positioning using a robot arm.
[0003] As an example of an attempt at fitting using a robot arm, Patent Document 1 describes a fitting method that can change the posture of a fitting object when a jam occurs between the fitting object and the fitted object. Specifically, the method detects the force and moment at the center of the bottom surface of a cylindrical fitting object, judges whether a jam occurs between the fitting object and the fitted object, and if a jam occurs, returns upward by a value smaller than the distance it has penetrated into the fitting hole, and presses the outer peripheral surface of the fitting object against the inner peripheral surface of the fitted object, thereby performing force control based on the moment around the center of the bottom surface of the fitting object to correct the posture of the fitting object. [Prior art documents] [Patent documents]
[0004] Patent Document 1: JP-A 2010-058218 Publication number Summary of the Invention [Problem to be solved by the invention]
[0005] However, as described in Patent Document 1, the method of correcting the inclination of the fitting object relative to the fitted object by pressing the fitting object against the fitted object may damage the fitting object or the fitting object.
[0006] Therefore, an object of the present invention is to provide an engagement method, a robot system, a control device, and a computer program that can reduce the possibility of damage when engaging an object such as a fitting object with a target object such as a mating object. [Means for solving the problem]
[0007] The present disclosure provides an engagement method, which includes the steps of holding an object using a robot arm, moving the object using the robot arm so as to engage with the object, and switching the robot arm to a compensation operation mode in which the robot arm compensates for its own weight based on occurrence of galling between the object and the object.
[0008] "Scuffing" refers to adhesion that occurs locally. It occurs when two parts come into contact and a protrusion (real contact point) formed on the surface of one of the parts adheres to the other side due to contact with the other part. Between materials that are prone to adhesion, galling can occur even at room temperature. Galling can occur due to variations in the shape precision of the object or target product, differences in surface roughness or shape, uneven contact caused by these, poor lubrication, the inclusion of foreign matter, etc. Galling is also known as biting or catching.
[0009] "Occurrence of galling" includes not only the actual occurrence of galling, but also the state immediately before galling occurs. For example, it includes a state in which galling has not actually occurred, but the contact pressure between two members exceeds a threshold value and galling will occur if it continues.
[0010] The "compensation operation mode" is an operation mode in which the robot arm operates to compensate for its own weight. The compensation for the own weight can be realized, for example, by obtaining a torque acting on one or more joints due to the robot arm's own weight, and using an actuator to generate a torque in the opposite direction to cancel or compensate for this torque. A mechanism for compensating for the own weight may also be used.
[0011] The compensated operating mode is typically a mode of operation in which the robot arm compensates for its own weight and displaces to follow disturbances without a restoring force.
[0012] A "disturbance" refers to an external action that disturbs the state of a control system. A disturbance is generally an external action whose timing and magnitude are difficult to predict. For example, an external force acting from an object to an object due to a disturbance in the shape of the object's surface, a load fluctuation that is difficult to predict, and a voltage fluctuation to an actuator are examples of disturbances.
[0013] "Following a disturbance" means that the robot arm is displaced in accordance with the disturbance, rather than being controlled so as to cancel or compensate for the effect of the disturbance.
[0014] "Following a disturbance without a restoring force" means that the robot arm displaces according to the disturbance without applying a restoring force for returning the robot arm to its original position when the disturbance is removed. Therefore, the robot arm maintains its position when the disturbance is no longer applied. Note that the position is interpreted to include the attitude when it is reasonable for a person skilled in the art to interpret it that way.
[0015] This type of "compensated operation mode" can also be used when performing direct teaching, in which a human moves the robot arm to teach the robot an operation. In this case, the external force acting on the robot arm from the human corresponds to an external disturbance. The robot arm displaces according to the external force acting on it from the human. Also, when the external disturbance is no longer acting, that is, when the human releases his / her hand, the robot arm maintains its position.
[0016] Therefore, this engagement method includes a step of teaching the robot arm to move by displacing the robot arm to follow an external disturbance without a restoring force in a compensation operation mode in which the robot arm compensates for its own weight, and after performing the step of teaching the operation, a step of holding an object may be performed.
[0017] The method of engagement may also include switching from the compensation operation mode to a normal control mode in which the robot arm is not displaced to follow the disturbance.
[0018] In the normal control mode, the robot arm is controlled to assume a position and orientation according to a control signal.
[0019] The engagement method may further include a step of obtaining a path for moving the object using the robot arm to engage the object based on a position of the robot arm after performing the step of switching to a compensation operation mode.
[0020] In addition, the method includes a step of outputting an alarm after performing the step of switching to the compensation operation mode and the step of switching to the normal control mode a predetermined number of times. too good.
[0021] The robot arm may be provided with a flexible drive mechanism.
[0022] Here, "flexibility" refers to having elasticity, viscosity, or both elasticity and viscosity. Elasticity refers to the property of being deformed when stress is applied and returning to the original shape when the stress is removed, and is sometimes expressed as the term "flexibility" which indicates the ease of elastic deformation. Viscosity refers to the property of generating stress that makes the flow speed of a fluid uniform. A drive mechanism with flexibility may include at least one of, for example, a magnetic fluid, a mechanical spring, an air spring, a magnetic spring, and a vane motor to impart flexibility.
[0023] The "flexible drive mechanism" may be a series elastic actuator. The series elastic actuator includes, for example, a motor and an elastic body such as a spring. Torque output from the motor is transmitted to a rigid link via the elastic body. This makes it easy to bring an object into contact with a target object using a robot arm so that the object conforms to the target object. It becomes possible to make the object conform to the target object so that the elastic body included in the series elastic actuator elastically deforms.
[0024] In addition, the term "moving the object relative to the target object" means moving the object relative to the target object while keeping the object in contact with the target object. The relative movement is not limited to translational movement, but also includes rotational movement of the object relative to the target object.
[0025] The present disclosure provides a robot system including a robot arm and a control device for controlling the robot arm to execute the steps of holding an object using the robot arm, moving the object using the robot arm so as to engage with the object, and switching the robot arm to a compensation operation mode in which the robot arm compensates for its own weight based on the occurrence of scuffing between the object and the other object.
[0026] The present disclosure provides a control device for controlling a robot arm, the control device being configured to be capable of performing the steps of holding an object using the robot arm, moving the object using the robot arm so as to engage with the object, and switching to a compensation operation mode in which the robot arm compensates for its own weight based on the occurrence of clashing between the object and the other object.
[0027] The present disclosure further provides a computer program that generates control instructions for causing a computer to execute the steps of holding an object using a robot arm, moving the object using the robot arm so as to engage with the object, and switching the robot arm to a compensation operation mode in which the robot arm compensates for its own weight based on the occurrence of galling between the object and the object. [Brief description of the drawings]
[0028] [Figure 1] Functional block diagram of the robot system 100 [Figure 2A] FIG. 1 is a schematic side view showing how an insert part W is fitted into a target object M, which is a die, by a robot arm 20. [Figure 2B] FIG. 2 is a schematic diagram showing, from a top view, how an insert part W is fitted into a target object M, which is a die, by a robot arm 20. [Diagram 3] 1 is a flowchart showing a method for teaching an operation to the robot system 100. [Figure 4] 1 is a flow chart illustrating a method of operation of the robotic system 100. [Diagram 5] 1 is a flow chart illustrating an engagement method by the robotic system 100. [Figure 6] FIG. 1 is a schematic diagram showing how an insert part is fitted into a mold using a robot arm 20. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0029] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described with reference to the drawings. The following embodiments are merely examples for explaining the present invention, and are not intended to limit the present invention to the embodiments. Fig. 1 shows a functional block diagram of a robot system 100. Fig. 2A and Fig. 2B are schematic diagrams showing, from a side view and a top view, how an object, which is an insert part W, is fitted into an object, which is a die M, by a robot arm 20.
[0030] The robot system 100 includes a robot arm 20 and a control device 10 that controls the robot arm 20. The robot system 100 according to this embodiment holds an insert part W, which is a fitting object (an example of an "object"), and executes a fitting operation of assembling the fitting object to an assembly portion of a die M, which is a fitting object (an example of an "object"). However, the present invention can be applied to general operations in which galling may occur when an object is engaged with another object.
[0031] 2A and 2B, the robot arm 20 holds an object and performs a series of operations including an operation of engaging the object with a target object. The robot arm 20 is, for example, a vertical articulated robot, and includes a base, a plurality of links 20L, a joint 20J connecting each link 20L, an end effector 20E, one or more drive units 20A, and one or more series elastic actuators 20D. However, the robot arm 20 is not limited to a vertical articulated robot, and may be, for example, a horizontal articulated robot device or a parallel link robot device.
[0032] Link 20L is made of a rigid member and includes, for example, link 20L corresponding to a torso rotatably attached to the base, link 20L corresponding to a lower arm rotatably attached to the torso, link 20L corresponding to an upper arm rotatably attached to the lower arm, and link 20L corresponding to a wrist rotatably attached to the upper arm.
[0033] The end effector 20E has a function of holding an object. The end effector 20E is attached to the tip of a link 20L that corresponds to a wrist, and is configured to be able to hold an object by sandwiching it between movable plates 20E1 and 20E2 that open and close by an actuator. However, the end effector 20E is not limited to this, and may be, for example, a holding mechanism including a plurality of suction pads for holding the surface of the object and an actuator that generates negative pressure on the suction pads based on a control signal transmitted from the control device 10, or a holding mechanism that holds the object by electromagnetic force.
[0034] The robot arm 20 according to this embodiment includes a series elastic actuator 20D provided in at least one joint 20J that connects the links 20L to each other. As shown in FIG. 1, the series elastic actuator 20D (one example of a "flexible drive mechanism") is composed of, for example, a drive unit 20DA, an elastic body 20DE connected to the drive unit 20DA, and a sensor 20DS for detecting galling. The drive unit 20DA is composed of, for example, a servo motor. The elastic body 20DE is composed of, for example, a mechanical spring. In the series elastic actuator 20D, the power output from the drive unit 20DA is transmitted to the output side link 20L via the elastic body 20DE, causing it to rotate. The sensor 20DS acquires information for detecting galling. For example, in the case of detecting galling based on torque, the sensor 20DS is composed of a displacement sensor for acquiring the amount of displacement of the mechanical spring as information indicating the torque when the target object is brought into contact with the object by the robot arm 20.
[0035] With the above configuration, an equation of motion is established with parameters including the inertia, mass, and length of the part driven by the series elastic actuator 20D, which corresponds to a flexible driving mechanism, external force, and the spring constant of the mechanical spring, which is the elastic body 20DE. Therefore, the control device 10 is configured to be able to execute mechanical compliance control that controls impedance based on the spring constant and displacement of the mechanical spring.
[0036] The series elastic actuator 20D may include a gear connected to the drive shaft of a servo motor, which is the drive unit 20DA, and transmits power to a mechanical spring. The series elastic actuator 20D may further include a damper mechanism that absorbs impacts based on viscosity, and a clutch mechanism for switching the transmission of power. When a viscous body, such as a damper mechanism having viscosity, is added, a viscosity constant is added as a parameter to the equation of motion. For example, an equation of motion is established in which the viscosity constant multiplied by the change in link angle over time is considered as the torque.
[0037] The links 20L other than the link 20L driven by the series elastic actuator 20D are driven by a drive unit 20A consisting of, for example, a servo motor. The drive unit 20A rotates the output link 20L around a drive shaft. The drive unit 20A may be built into the link 20L. With the above configuration, it is possible to rotate multiple links 20L, and therefore it is possible to change the position and posture of the end effector 20E corresponding to the tip of the link 20L. Note that the information indicating the position in this disclosure may include information indicating the posture if it is considered reasonably necessary.
[0038] As shown in FIG. 1, the control device 10 includes a start position acquisition unit 10A that acquires a start position of a reference position of the robot arm 20 (for example, a center point of an end effector 20E corresponding to a hand position; hereinafter referred to as a "reference position") and its posture at that time, a target position acquisition unit 10B that acquires a target position and its posture at that time, a galling detection unit 10C that detects galling, a path acquisition unit 10D that acquires a path connecting the start position acquired by the start position acquisition unit 10A and one or more target positions acquired by the target position acquisition unit 10B, a control command acquisition unit 10E that acquires control commands for controlling the servo motors corresponding to each drive unit 20A of the robot arm 20 and the servo motor of the series elastic actuator 20D in each of a normal control mode and a compensation operation mode described later, and an operation mode setting unit 10F that switches between the normal control mode and the compensation operation mode.
[0039] The start position acquisition unit 10A acquires, for example, a start position and a posture at that time input from a teaching device 50 connected to the control device 10. The teaching device 50 may be a teaching device 50 according to online teaching in which the robot arm 20 is actually moved on-site to teach the reference position and posture at that time as the start position, or a teaching device 50 according to offline teaching such as a text type, simulator type, emulator type, or automatic teaching type in which the position and posture of the reference position are taught as the start position by a computer program. As will be described later, the start position acquisition unit 10A is configured to be able to acquire, as the start position, the reference position and posture after displacement when the robot arm is displaced following a disturbance after switching from the normal control mode to the compensation operation mode.
[0040] The target position acquisition unit 10B acquires, for example, a target position and a posture at that time input from the teaching device 50, similar to the start position. The target position acquisition unit 10B can acquire a plurality of target positions and postures at that time.
[0041] The galling detection unit 10C determines whether or not galling has occurred based on information obtained from the sensor 20DS. For example, the galling detection unit 10C is configured to obtain information indicating the amount of displacement of the elastic body 20DE of the series elastic actuator 20D from the sensor 20DS, and detect galling when the rotational torque obtained based on the information exceeds a predetermined threshold.
[0042] However, the method of detecting galling is not limited to this. For example, a force sensor may be installed in the end effector 20E, and the galling detection unit 10C may be configured to obtain information indicating the magnitude of the contact pressure that the target object receives from the object from the force sensor, and detect galling when the contact pressure obtained based on this exceeds a predetermined threshold. Also, the galling detection unit may be configured to detect galling based on position information of the robot arm 20, for example, based on the difference between a command value and an actual value. The path acquisition unit 10D acquires a path (planned trajectory) connecting the start position and the target position (when a plurality of target positions are acquired, the start position and the target position and between the target positions) by calculation processing or the like.
[0043] The control command acquisition unit 10E acquires control commands for driving each of the driving units 20A of the robot arm 20 (including the driving unit 20DA of the series elastic actuator 20D) by arithmetic processing or the like.
[0044] In the normal control mode, the control command acquisition unit 10E acquires control commands for controlling the servo motors of the driving units 20A of the robot arm 20 by arithmetic processing or the like in order to move the reference position along the path acquired by the path acquisition unit 10D. The control command acquisition unit 10E can calculate the rotation angle of each servo motor for positioning the reference position on the path by inverse kinematics calculation, and generate control commands based on this. The generated control commands can be stored in the non-volatile memory element of the control device 10.
[0045] In the normal control mode, the control command acquisition unit 10E performs control to compensate for the influence of disturbances such as external forces. For example, the control command acquisition unit 10E estimates the influence of disturbances based on the difference between an actual position (for example, the actual angle of the predetermined link 20L) and a command value in a control command (the angle of the predetermined link 20L), acquires a position correction amount based on this, and adds the amount to the command value to generate a control command to compensate for the influence of disturbances. On the other hand, in the compensation operation mode, the control command acquisition unit 10E acquires a control command for compensating for the weight of the robot arm 20 (including the weight of an object when the robot arm 20 holds an object) by arithmetic processing or the like. Specifically, the control command acquisition unit 10E acquires the torque acting on each joint 20J due to the weight of the robot arm 20 by arithmetic processing or the like, and acquires, by arithmetic processing or the like, a control command for the drive unit 20A and the drive unit 20DA for generating a torque in the opposite direction to offset this torque at each joint 20J.
[0046] In the compensation operation mode, the control command acquisition unit 10E does not perform control to compensate for the influence of disturbances such as external forces, but performs control to make the robot arm 20 follow the disturbances. Specifically, as described above, the drive unit 20A and the drive unit 20DA generate torque to compensate for the weight of the robot arm 20, and even if a disturbance occurs, a control command to generate torque to compensate for the influence of the disturbance is not generated. Furthermore, if the position and posture of the robot arm 20 change as a result of the robot arm 20 following the disturbance, the control command acquisition unit 10E again acquires, by calculation processing or the like, control commands for the drive unit 20A and the drive unit 20DA to generate torque to compensate for the weight in each joint 20J based on the position and posture of the robot arm 20 at that time.
[0047] The operation mode setting unit 10F sets the normal control mode or the compensation operation mode as the operation mode of the control device 10 of the robot arm 20. In this embodiment, if the galling detection unit 10C detects galling while the robot arm 20 is operating in the normal control mode, the operation mode setting unit 10F switches the operation mode from the normal control mode to the compensation operation mode based on the occurrence of galling. After the robot arm 20 follows the disturbance, the operation mode setting unit 10F switches the operation mode from the compensation operation mode to the normal control mode.
[0048] Regarding the hardware configuration, the control device 10 can be configured from a computer including a processor such as a central processing unit (CPU) or a graphical processing unit (GPU), a volatile storage element such as a static random access memory (SRAM) or a dynamic random access memory (DRAM), a non-volatile storage element such as a NOR flash memory, a NAND flash memory, or a hard disk drive (HDD), and a communication means such as a bus connecting these elements. The non-volatile storage element stores, for example, a computer program (including data such as information indicating an allowable range) for executing each process shown in this embodiment. The volatile storage element temporarily stores at least a part of these computer programs and the results of the calculation process. However, at least a part of these calculation elements, non-volatile storage elements, etc. may be installed in a remote location connected to a communication network such as the Internet. For example, the calculation element may be configured to acquire the computer program or necessary data via the communication network. The control device 10 and the robot arm 20 are configured to be able to transmit and receive information via wireless or wired communication means.
[0049] A teaching device 50 for teaching the robot system 100 to perform an operation may be connected to the control device 10. The teaching device 50 includes, for example, a portable teaching pendant for performing online teaching such as direct teaching. Like the control device 10, the teaching device 50 includes a calculation element, a volatile memory element, and a non-volatile memory element, and further includes a display means having a display and an input means having a plurality of operation keys and a lever. The input means may be configured as a touch panel type input means for inputting by pressing the display.
[0050] (Teaching Method) In the following, a method for teaching an operation to the robot system 100 by direct teaching will be described first. Fig. 3 is a flowchart showing a process for teaching the robot system 100 an operation.
[0051] As shown in the figure, an operator selects a teaching operation mode, for example, using the teaching device 50 (step S31). When the operation mode setting unit 10F of the control device 10 receives the selection of the teaching operation mode from the teaching device 50, it sets the operation mode to the compensation operation mode (step S32). Based on the compensation operation mode being set, the robot system 100 starts the compensation operation mode for compensating for the robot arm's own weight (step S33). The control command acquisition unit 10E of the control device 10 acquires a control command for compensating for the robot arm's own weight by calculation processing or the like, and the control device 10 transmits the control command acquired by the control command acquisition unit 10E to the drive unit 20A and the drive unit 20DA. The drive unit 20A and the drive unit 20DA compensate for the robot arm's own weight based on the received control command. In the absence of external disturbance, the robot arm 20 maintains its position and posture.
[0052] Next, the operator manually moves the robot arm 20 to determine the start position. The teaching device 50 teaches the reference position of the robot arm 20 at that time as the start position (step S34). For example, the operator may teach the position where the end effector 20E starts holding the object as the start position. While the operator manually moves the robot arm 20, the control device 10 controls the robot arm 20 to follow the disturbance, i.e., the external force applied by the operator. Specifically, the control device 10 repeatedly obtains control commands for the drive units 20A and 20DA in a short period to generate torques in each joint 20J that compensate only for the self-weight of the robot arm 20, which continuously changes due to the external force, and transmits the control commands to the robot arm 20 to compensate for the self-weight of the robot arm 20, regardless of the changing position and posture.
[0053] The control device 10 acquires the position and posture of the end effector 20E when it is at the start position, the angles of each link 20L, and the like, and stores them in a non-volatile memory element in association with the start position (step S35). Furthermore, the operator teaches the end effector 20E an action for holding the object (step S36), and the control device 10 stores the action for holding the object in the non-volatile memory element (step S37).
[0054] Next, the operator manually moves the robot arm 20 multiple times and causes the control device 10 to acquire the positions of the end effector 20E and the like at that time, thereby teaching the robot system 100 multiple target positions (step S38). The control device 10 acquires the position and posture of the end effector 20E and the angle of each link 20L when the end effector 20E is at each target position, and stores them in a storage element in association with each target position (step S39).
[0055] The control device 10 acquires a route connecting a start position and a plurality of target positions by calculation according to a route generation algorithm ( Steps S40). Thereafter, the control device 10 may store the acquired path in a non-volatile memory element. Furthermore, the control command acquisition unit 10E of the control device 10 may acquire, by calculation, control commands for controlling each driving unit of the robot arm 20 and the driving unit of the series elastic actuator 20D based on the acquired target position and path, and store the control commands in a non-volatile memory element.
[0056] (Engagement method) Next, a description will be given of an engagement method using the robot system 100. As an example of the engagement method according to the present embodiment, a method will be described in which an insert part W (an example of an "object") is fitted into a die M (an example of an "assembly site" or "object") having a cylindrical recess formed therein.
[0057] Fig. 4 is a flowchart showing an operation method of the robot system 100. Fig. 5 is a flowchart showing an engagement method when fitting an object to a target object in the operation method. Fig. 6 is a schematic diagram showing a state in which an insert part is fitted into a die using the robot arm 20.
[0058] 2A and 2B, the robot arm 20 includes a link 20L corresponding to a lower arm rotatably attached to a torso, a link 20L corresponding to an upper arm rotatably attached to the lower arm, a link 20L corresponding to a wrist rotatably attached to the upper arm, an end effector 20E capable of holding an object by sandwiching it between movable plates 20E1 and 20E2, and a joint 20J connecting the links 20L. For example, a series elastic actuator 20D for driving the link 20L corresponding to the lower arm is mounted on the joint 20J between the link 20L corresponding to the upper arm and the link 20L corresponding to the lower arm.
[0059] The insert part W is formed, for example, in a disk shape. The cylindrical recess formed in the die M is formed, for example, to be slightly larger (for example, 50 μm larger) than the diameter of the insert part W.
[0060] Conventionally, it has been difficult to fit such objects using a robot arm 20. If the gap between the object and the recess is small, even a slight tilt of the object can cause galling between the object and the target object. When galling occurs, it becomes difficult to insert the object into the recess. In addition, there is a possibility that the object or the target object may be damaged.
[0061] However, the engagement method disclosed in the present disclosure makes it possible to increase the likelihood that the object can be engaged with the target object even if galling (including a state similar to galling) occurs. 4, first, the start position acquisition unit 10A and the target position acquisition unit 10B of the control device 10 acquire information indicating the start position and information indicating the target position, respectively (step S41). The control device 10 may acquire this information by reading it from a non-volatile storage element. The control device 10 may acquire this information from the teaching device 50. Note that the operation mode setting unit 10F sets the operation mode to the normal control mode.
[0062] The path acquisition unit 10D of the control device 10 reads out the path generation algorithm from the non-volatile memory element, and based on this, acquires by calculation a path connecting the start position and multiple target positions (step S42), and the control command acquisition unit 10E acquires by calculation control commands for controlling each drive unit of the robot arm 20 and the drive unit of the series elastic actuator 20D based on the acquired target positions and path, etc. (step S43).
[0063] In addition, when control commands for controlling the drive unit and the actuator of the end effector 20E for realizing a series of operations are stored in a non-volatile memory element, the control device 10 may acquire this information by reading out the control command that reflects the starting position information, etc.
[0064] Next, the robot arm 20 drives each link 20L based on the control command received from the control device 10. First, at the start position, the end effector 20E of the robot arm 20 holds an object (step S44).
[0065] Thereafter, the robot arm 20 moves the object to approach the target object (step S45). Then, the robot arm 20 brings the end of the object into contact with the surface of the target object (step S46, FIG. 6A). The robot arm 20 moves the object relatively to the object while keeping the end of the object in contact with the surface of the object, thereby making the object conform to the object (step S47, FIG. 6B). At this time, the elastic body 20DE of the series elastic actuator 20D elastically deforms according to the amount of displacement.
[0066] When the control device 10 determines that the reference position of the robot arm 20 has reached the vicinity of a target position set near the recess of the object, the control device 10 operates the robot arm 20 toward the next target position. Specifically, the robot arm 20 rotates the object relatively to the object, with the side of the object in contact with the corner of the recess as a fulcrum, while keeping the end of the object slightly inside the recess, thereby making the object conform to the object while suppressing the possibility of the object protruding outside the recess (step S48, FIG. 6C). After the robot arm 20 rotates the object until it is horizontal, a fitting method (an example of an "engagement method") is performed to fit the object to a target object.
[0067] As shown in FIG. 5, the control device 10 determines whether the object is in a horizontal position and is not engaged with the target object from a reference position. thing In step S51, the control device 10 starts the operation of the robot arm 20 toward the target position in a state where the robot arm 20 is fitted into the target position. Specifically, the control device 10 moves the robot arm 20 along a straight path from the current position to the next target position.
[0068] During the operation of the robot arm 20, the galling detection unit 10C determines the presence or absence of galling based on the information acquired from the sensor 20DS (step S52). If no galling is detected (NO), the object is fitted to the target object, and the operation is completed (step S62).
[0069] If galling is detected (YES), the control device 10 judges whether the re-operation count has reached a predetermined threshold value (step S53).
[0070] If the re-action count has not reached the predetermined threshold value (NO), the control device increments the re-action count by 1 (step S54). The initial value of the re-action count is zero. Therefore, when galling is detected for the first time, the re-action count becomes 1.
[0071] Then, the control device 10 stops the operation of the robot arm 20 (step S55). Next, the operation mode setting unit 10F of the control device 10 switches the operation mode of the robot arm 20 from the normal control mode to the compensation operation mode (step S56). The control command acquisition unit 10E of the control device 10 acquires a control command for compensating for the weight of the robot arm 20 by calculation processing or the like, and the control device 10 transmits the control command acquired by the control command acquisition unit 10E to the drive unit 20A and the drive unit 20DA. The drive unit 20A and the drive unit 20DA compensate for the weight of the robot arm 20 based on the received control command. Therefore, the robot arm 20 enters a standby state. The standby state lasts, for example, for 1 ms or less (step S57).
[0072] If there is no disturbance, the robot arm 20 maintains the position and posture immediately before switching to the compensation operation mode. However, since galling occurs when an object comes into contact with another object and a protrusion (real contact point) formed on one surface comes into contact with the other and adheres to the other side (or a state close to that), it corresponds to a disturbance that is an external action that disturbs the state of the control system. Note that a similar state occurs when galling occurs in a flexible robot arm. Therefore, the robot arm 20 and the object held by it are displaced following the disturbance received from the object. However, since the protrusion or the like that causes galling is minute (for example, 10 μm or less), the displacement of the position or posture of the robot arm 20 and the object held by it is also minute, for example, 10 μm or less. However, since the robot arm 20 and the object held by it are displaced so as to follow the protrusion or the like that caused the galling, there is a possibility that the position or posture of the robot arm 20 and the object held by it are displaced so as to follow the surface of the protrusion or the like that caused the galling. In this case, it is preferable not to apply a restoring force for returning the robot arm to its original position when the disturbance is removed. By configuring in this way, it becomes possible to suitably displace the robot arm to follow the disturbance.
[0073] Thereafter, the operation mode setting unit 10F of the control device 10 switches the operation mode of the robot arm 20 from the compensation operation mode to the normal control mode (step S58). Then, the path acquisition unit 10D sets the current position, that is, the current reference position of the robot arm 20, as a new start position, and thing Then, a path is obtained with the state where the motor is fitted in the motor as a target position (step S59).
[0074] The control device 10 attempts to move the robot arm 20 along a straight path from the current position to the target position (step S60).
[0075] During the operation of the robot arm 20, the galling detection unit 10C determines the presence or absence of galling based on the information acquired from the sensor 20DS (step S52). If no galling is detected (NO), the object is fitted to the target object, and the operation is completed (step S62).
[0076] If galling is detected again (YES), the control device 10 judges whether the re-operation count has reached a predetermined threshold value (step S53). At this time, if the re-action count is executed a predetermined number of times and reaches a predetermined threshold value (YES), the control device causes an output means (not shown) to output an alarm (step S61).
[0077] As described above, according to the engagement method of this embodiment, when galling is detected, the operation mode is switched to the compensation operation mode, which makes it possible to slightly displace the position or posture of the robot arm 20 and the object held by it so as to follow the disturbance that causes galling. Therefore, by switching to the normal control mode and restarting the operation after the displacement, it is more likely that the galling can be eliminated and the engagement can be completed. Therefore, it is possible to provide an engagement method, robot system, control device, and computer program that can suppress the possibility of damage when an object such as a fitting object is engaged with a target object such as a mating object.
[0078] Furthermore, when galling is detected, the operation mode is switched to a compensation operation mode, and after attempting to switch to the normal control mode a predetermined number of times, an alarm is output. This makes it possible to prevent serious trouble such as the object becoming stuck when an object is forcibly fitted into another object.
[0079] In addition, by using a robot arm having a flexible drive mechanism, it is possible to move the object relative to the assembly part while bringing the object into contact with the assembly part. This also makes it possible to prevent major problems such as damage to parts and stopping midway through the galling process, making it impossible to remove the object. However, the present invention can also be applied to a normal robot arm that does not have a flexible drive mechanism.
[0080] Furthermore, when teaching an operation by direct teaching, it is possible to use an existing robot system by using the same compensation operation mode for controlling the robot arm.
[0081] In addition, the present invention can be modified in various ways without departing from the spirit of the present invention. For example, the present invention can be applied to other engagements that require highly accurate positioning. In addition, some components in the embodiments can be replaced with other known components within the scope of the ordinary creative ability of a person skilled in the art. [Explanation of symbols]
[0082] 10 Control device 10A Start position acquisition part 10B Target position acquisition section 10C Galling detection unit 10D Route acquisition section 10E Control command acquisition unit 10F Operation mode setting section 20 Robot Arm 20A Drive Unit 20E End Effector 20E1 Movable plate 20E2 Movable plate 20D Series Elastic Actuator 20DA Drive Unit 20DE Elastic body 20DS Sensor 20J Joint 20L Link 50 Teaching device 100 Robot System
Claims
1. holding an object with a robotic arm; moving an object with the robotic arm to engage the object; a step of switching to a compensation operation mode in which the robot arm compensates for its own weight and displaces to follow a disturbance without a restoring force based on the occurrence of galling between the object and the target object; The method of engagement comprising:
2. switching from the compensation operation mode to a normal control mode in which the robot arm does not displace to follow a disturbance; The method of claim 1 , comprising:
3. a step of teaching an operation of the robot arm by displacing the robot arm so as to follow a disturbance without a restoring force in the compensation operation mode in which the robot arm compensates for its own weight, and after performing the step of teaching the motion, performing a step of holding the object.
3. The method of claim 1 or 2.
4. obtaining a path for moving the object using the robot arm to engage the object based on a position of the robot arm after performing the step of switching to a compensation operation mode; 4. A method according to any one of claims 1 to 3, comprising:
5. outputting an alarm after performing the step of switching to the compensation operation mode and the step of switching to the normal control mode a predetermined number of times; The method of claim 2 comprising:
6. The robot arm includes a flexible drive mechanism. A method according to any one of the preceding claims.
7. A robot arm; A control device for controlling the robot arm, holding an object with the robotic arm; moving an object with the robotic arm to engage the object; a step of switching to a compensation operation mode in which the robot arm compensates for its own weight and displaces to follow a disturbance without a restoring force based on the occurrence of galling between the object and the target object; A control device for executing the above-mentioned A robot system comprising:
8. A control device for controlling a robot arm, holding an object with the robotic arm; moving an object with the robotic arm to engage the object; a step of switching to a compensation operation mode in which the robot arm compensates for its own weight and displaces to follow an external disturbance without a restoring force based on the occurrence of galling between the object and the target object; A control device configured to be able to execute the above.
9. On the computer, holding an object with a robotic arm; moving an object with the robotic arm to engage the object; a step of switching to a compensation operation mode in which the robot arm compensates for its own weight and displaces to follow an external disturbance without a restoring force based on the occurrence of galling between the object and the target object; generating control instructions for executing the Computer program.
Citation Information
Patent Citations
Control device for robot
JP1995096427A
Robot control device
JP2003236785A
Fitting device for correcting clogging state of fitting
JP2010058218A