Operation method, robot system, control device, teaching method, and program

The described operation method for a robot arm, utilizing a flexible drive mechanism and precise positioning within a tolerance range, addresses the challenge of achieving high-precision object fitting by simplifying parameter settings and enhancing positioning accuracy.

JP7692417B2Active Publication Date: 2025-06-13SUMITOMO HEAVY IND LTD
View PDF 16 Cites 0 Cited by

Patent Information

Application Number
JP2022533824
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-07-03
Filing Date
2021-06-16
Publication Date
2025-06-13
Estimated Expiration
2041-06-16

AI Technical Summary

Technical Problem

Existing methods for achieving precise positioning of objects by robot arms require complex parameter settings for contact pressure across six axes, and increasing arm rigidity is insufficient to achieve the necessary high-precision positioning for fitting objects with diameters of 10 mm to 50 mm into targets with clearance of several μm to several tens of μm.

Method used

The operation method involves acquiring information for a target position and a tolerance range, using a robot arm with a drive mechanism that has flexibility, such as a series elastic actuator, to hold and move the object, and causing the object to follow the assembly site within the tolerance range based on the target position.

Benefits of technology

This method allows for easy realization of object contact with a target object and improves positioning accuracy by utilizing a flexible drive mechanism, enabling precise fitting operations even with tight clearance requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007692417000001
    Figure 0007692417000001
  • Figure 0007692417000002
    Figure 0007692417000002
  • Figure 0007692417000003
    Figure 0007692417000003
Patent Text Reader

Abstract

Provided are an operation method, a robot system, a control device, a teaching method, and a program capable of easily achieving operation involving a contact of a subject with a target. The operation method comprises: a step of acquiring information indicating a target position; a step of acquiring information indicating an allowable range; a step of using a robot arm 20 including a drive mechanism 20D having flexibility to hold a subject; a step of using the robot arm 20 to move the subject so that the subject is close to an assembly destination portion; and a step of aligning the subject with the assembly destination portion so that the robot arm 20 reaches the allowable range having the target position as a reference.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an operation method, a robot system, a control device, a teaching method, and a program.

Background Art

[0002] In recent years, attempts have been made to hold an object such as a part using a robot arm and assemble it at a predetermined position of a target object. For example, attempts have been made to hold a fitting using a robot arm and fit it to a target object.

[0003] As an example of such an attempt, Patent Document 1 describes a method for correcting positional deviation when fitting a fitting to a target object using a robot arm. Specifically, a contact pressure in a predetermined direction is acquired using a force sensor attached to the tip of the robot arm, and when the contact pressure exceeds a threshold value, a position correction is performed in that direction to correct the positional deviation. The same document describes, as a conventional technique, adding a spring to the wrist of the robot hand to provide compliance, thereby giving a margin to the position setting of the robot hand.

[0004] Patent Document 2 describes a teaching device for a robot used when inserting and fitting a fitting into a hole. Specifically, it describes teaching the operation of the robot arm by adjusting the pressing amount while displaying the deviation between the command value and the actual value of the movement amount of the robot arm and the contact pressure acquired by a force sensor attached to the tip of the robot arm. FIG. 2 of the same document describes acquiring the position correction amount of the robot arm by performing feedback control on the contact pressure acquired by the force sensor.

[0005] Furthermore, Patent Document 3 describes a fitting method in which when fitting an object having a plurality of fitting legs to a target object, the amount of deformation within the elastic range of each fitting leg is calculated, and based on this, the insertion order of the plurality of fitting legs is set. Then, the contact pressure acquired by a force sensor attached to the tip of a robot arm is fed back to the command value for position control to perform the fitting.

Prior Art Documents

Patent Documents

[0006]

Patent Document 1

Patent Document 2

Patent Document 3

Summary of the Invention

Problems to be Solved by the Invention

[0007] However, as described in Patent Documents 1 to 3, in order to realize the operation of bringing an object into contact with a target object, it is necessary to measure the contact pressure with a force sensor mounted at the tip of a robot arm, and based on this, for the six axes of the translational axes (X, Y, Z) and the rotational axes (Rx, Ry, Rz), complex parameter settings regarding the contact pressure are required.

[0008] Also, it is conceivable to improve the positioning accuracy of the hand by using an arm with high rigidity. However, for example, in order to insert and fit an object having a diameter of 10 mm to 50 mm into a 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 realistic to achieve such high-precision positioning only by increasing the rigidity of the arm.

[0009] Therefore, an object of the present invention is to provide an operation method, a robot system, a control device, a teaching method, and a program that can easily realize an operation involving contact of an object with a target object.

Means for Solving the Problems

[0010] The present disclosure provides an operation method for a robot arm. This operation method includes steps of acquiring information indicating a target position, acquiring information indicating a tolerance range, holding an object using a robot arm having a drive mechanism with flexibility, moving the object using the robot arm to approach an assembly site, and causing the object to follow the assembly site so that the robot arm reaches within the tolerance range based on the target position.

[0011] Here, "having flexibility" means having elasticity, viscosity, or both elasticity and viscosity. Elasticity refers to the property of deforming when a stress is applied and returning to its original state when the stress is removed, and may be expressed by the term flexibility indicating the ease of elastic deformation. Viscosity refers to the property of generating a stress that equalizes the flow velocity of a fluid. The drive mechanism with flexibility may include at least one of, for example, magnetic fluid, a mechanical spring, an air spring, a magnetic spring, and a vane motor for imparting flexibility.

[0012] Also, "causing the object to follow the assembly site" means relatively moving the object with respect to the assembly site while bringing the object into contact with the assembly site. Relatively moving does not limit to translational movement and includes relatively rotating the object with respect to the assembly site.

[0013] "Information indicating a target position" refers to information indicating the position that a part of a robotic arm (hereinafter referred to as the "reference position") aims at. The reference position of the robotic arm may be a link constituting the robotic arm. The reference position of the robotic arm may be the tip position of the robotic arm (for example, the center point of the end effector). When the reference position of the robotic arm is a link constituting the robotic arm, "information indicating a target position" can be expressed, for example, as angular information. When the reference position of the robotic arm is the center point of the end effector, "information indicating a target position" can be expressed, for example, as three-dimensional position information.

[0014] When the reference position of the robotic arm is a link constituting the robotic arm, "information indicating an allowable range" can be expressed as angular information within a predetermined range including the target position (angle) when the link reaches the target position (angle). For example, when the angle of the link is expressed as α when it reaches the target position, "information indicating an allowable range" may be expressed as α±β. When the reference position of the robotic arm is the center point of the end effector, "information indicating an allowable range" can be expressed as position information within a predetermined range including the target position when the center point of the end effector reaches the target position. Specifically, as a result of the displacement of the flexible drive mechanism based on elasticity or viscosity, it can be expressed as position information indicating the region where the center point of the downstream end effector fluctuates from the target position. Note that the reference position of the robotic arm is not limited to the center point of the end effector.

[0015] "Causing the object to follow the assembly part so that the robotic arm reaches within the allowable range based on the target position" includes causing the object to follow the assembly part so that the reference position of the robotic arm reaches within the allowable range including the target position.

[0016] The "target position" is not limited to the position at the completion of the operation when the robotic arm executes a series of operations, but includes positions in the middle of a series of operations. Also, there may be multiple "target positions". The "drive mechanism with flexibility" may be a series elastic actuator. A series elastic actuator, for example, includes a motor and an elastic body such as a spring. The torque output from the motor is transmitted to a rigid link via the elastic body. Therefore, it becomes possible to easily realize making the object contacted and imitated by the robotic arm at the assembly site. It is preferable to make the object imitate the assembly site so that the elastic body included in the series elastic actuator elastically deforms.

[0017] Furthermore, this operation method further includes a step of obtaining a path for moving the robotic arm so that the object interferes with the assembly site, and a step of obtaining information indicating a second allowable range. The step of making the object imitate the assembly site may be to make the object imitate the assembly site while moving the robotic arm within the second allowable range based on the path where the object interferes with the assembly site.

[0018] The "path for moving the robotic arm" may be a path through which the reference position of the robotic arm passes. "Moving the robotic arm within the second allowable range based on the path" includes the case of moving the robotic arm so that the reference position of the robotic arm exists in the area within the second allowable range from the path.

[0019] Note that the "allowable range based on the target position" and the "second allowable range based on the path" may be the same. When both are the same, obtaining one piece of information will also result in obtaining the other piece of information. Alternatively, by configuring such that the latter is larger than the former, the positioning accuracy for the allowable range based on the target position may be improved, or conversely, the latter may be configured to be larger than the former. Further, when there are a plurality of target positions, the "allowable range based on the target position" may be different for each target position.

[0020] In addition, in the step of causing the object to follow the assembly part, when the robot arm moves outside the second allowable range based on the path, the moving speed of the robot arm may be decreased. Furthermore, this operation method may further include a step of releasing the holding of the object by the robot arm when the robot arm reaches within the allowable range based on the target position. In addition, the drive mechanism having flexibility may be configured to be subjected to compliance control based on information indicating flexibility.

[0021] The present disclosure provides a robot system. This robot system includes a robot arm having a drive mechanism with flexibility and a holding mechanism capable of holding an object, and a control device for controlling the robot arm, the control device including means for obtaining information indicating a target position and means for obtaining information indicating an allowable range, and is configured to be capable of executing a step of moving the object using the robot arm and approaching the assembly part, and a step of causing the object to follow the assembly part so that the robot arm reaches within the allowable range based on the target position.

[0022] The present disclosure provides a control device. The control device controls a robotic arm including a drive mechanism having flexibility and a holding mechanism capable of holding an object. The control device includes means for acquiring information indicating a target position and means for acquiring information indicating an allowable range, and is configured to execute steps of moving the object using the robotic arm to approach an assembly site and causing the object to follow the assembly site so that the robotic arm reaches within the allowable range based on the target position.

[0023] The present disclosure provides a teaching method. The teaching method performs operation teaching on a robotic system including a robotic arm having a drive mechanism having flexibility and a holding mechanism capable of holding an object, and a control device for controlling the robotic arm. The method includes steps of causing the robotic system to acquire information indicating a target position, causing the robotic system to acquire information indicating an allowable range, causing the robotic system to hold the object using the robotic arm, causing the robotic system to move the object using the robotic arm to approach an assembly site, and causing the object to follow the assembly site so that the robotic arm reaches within the allowable range based on the target position.

[0024] The teaching can be executed by a method such as online teaching or offline teaching. This teaching method may include a step of teaching a target position where the object held by the robotic arm interferes with the assembly site.

[0025] The present disclosure provides a computer program. This computer program includes instructions for causing a computer to execute steps of acquiring information indicating a target position and acquiring information indicating a tolerance range. Further, it includes instructions for causing the computer to generate control instructions for causing a robot arm having a flexible drive mechanism to hold an object, move the object using the robot arm to approach an assembly site, and cause the object to follow the assembly site so that the robot arm reaches within the tolerance range based on the target position.

Brief Description of the Drawings

[0026]

Figure 1

Figure 2A

Figure 2B

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Mode for Carrying Out the Invention

[0027] Hereinafter, embodiments of the present invention will be described with reference to the drawings. The following embodiments are examples for explaining the present invention and are not intended to limit the present invention only to these embodiments.

[0028] FIG. 1 shows a functional block diagram of a robot system 100. 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 the present embodiment holds an insert part W, which is an example of a fitting object (an example of a "target object"), and performs a fitting operation of assembling this fitting object to an assembling site of a mold M, which is an example of a fitting target object (an example of a "target object"). However, the present invention can be generally applied to operations including an operation of bringing a target object into contact with a target object.

[0029] The robot arm 20 performs operations including an operation of holding a target object and bringing it into contact with a target object. The robot arm 20 is, for example, a vertically articulated robot, and includes a base, a plurality of links 20L, joints 20J that connect the respective links 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 vertically articulated robot, and may be, for example, a horizontally articulated robot device or a parallel link type robot device.

[0030] The link 20L is composed of a member having rigidity, and includes, for example, a link 20L corresponding to a body portion rotatably attached to the base, a link 20L corresponding to a lower arm portion rotatably attached to the body portion, a link 20L corresponding to an upper arm portion rotatably attached to the lower arm portion, and a link 20L corresponding to a wrist portion rotatably attached to the upper arm portion.

[0031] The end effector 20E (an example of a "holding mechanism") has a function of holding an object. The end effector 20E is attached to the tip of a link 20L corresponding to the wrist part, and is configured to be able to hold the object by sandwiching it with movable plates 20E1 and 20E2 that are opened and closed by an actuator, for example. However, the end effector 20E is not limited to this, and for example, it may include a plurality of suction pads for holding the surface of the object and an actuator that generates a negative pressure in the suction pads based on a control signal transmitted from the control device 10, or it may hold the object by electromagnetic force. Note that the end effector 20E of the robot arm 20 shown in this embodiment is not provided with a sensor for acquiring the contact pressure or torque for six axes.

[0032] 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. The series elastic actuator 20D (an example of a "driving mechanism with flexibility") is composed of, for example, a driving part 20DA and an elastic body 20DE connected to the driving part 20DA. The driving part 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 driving part 20DA is transmitted to the link 20L on the output side via the elastic body 20DE and rotates it. Further, the series elastic actuator 20D according to this embodiment includes a sensor for acquiring the displacement amount of the mechanical spring.

[0033] Under the configuration as described above, a motion equation is established with the inertia, mass, and length of the part driven by the series elastic actuator 20D corresponding to the driving mechanism with flexibility, the external force, and the spring constant of the mechanical spring that is the elastic body 20DE as parameters. Therefore, the control device 10 is configured to perform mechanical compliance control for controlling the impedance based on the spring constant and displacement amount of the mechanical spring.

[0034] Note that the series elastic actuator 20D may be provided with a gear that is connected to the drive shaft of the servo motor which is the drive unit 20DA and transmits power to the mechanical spring. Further, the series elastic actuator 20D may be provided with a damper mechanism that mitigates impact based on viscosity and a clutch mechanism for switching the transmission of power. When imparting a viscous body such as a damper mechanism having viscosity, a viscosity constant is added as a parameter to the equation of motion. For example, an equation of motion is established in which a value obtained by multiplying the viscosity constant by the time change of the link angle is considered as torque.

[0035] Links 20L other than the link 20L driven by the series elastic actuator 20D are driven by, for example, a drive unit 20A composed of a servo motor. The drive unit 20A rotates the output-side link 20L around the drive shaft. The drive unit 20A may be built into the link 20L. With the configuration as described above, since it becomes possible to rotate a plurality of links 20L, it becomes possible to change the position and orientation of the end effector 20E corresponding to the tip of the link 20L. Note that information indicating a position in the present disclosure may include information indicating an orientation when it is considered reasonably necessary.

[0036] The control device 10 includes a start position acquisition unit 10A that acquires the start position of the position serving as a reference for the robot arm 20 (for example, the center point of the end effector 20E corresponding to the hand tip position; hereinafter referred to as the "reference position") and the orientation at that time, a target position acquisition unit 10B that acquires the target position and the orientation at that time, an allowable range acquisition unit 10C that uses the target position as a reference, a path acquisition unit 10D that acquires a path connecting the start position acquired by the start position acquisition unit 10A and one or a plurality of target positions acquired by the target position acquisition unit 10B, and a control command acquisition unit 10E that acquires a control command for controlling the servo motors corresponding to the respective drive units 20A of the robot arm 20 and the servo motor of the series elastic actuator 20D according to the path acquired by the path acquisition unit 10D.

[0037] The start position acquisition unit 10A acquires, for example, the start position and the posture at that time input from a teaching device 50 connected to the control device 10. The teaching device 50 may be an online teaching device 50 that actually moves the robot arm 20 at the site and teaches the reference position and the posture at that time as the start position, or a text type, simulator type, emulator type, or automatic teaching type that teaches the position and the posture of the reference position as the start position by a computer program. It may also be an offline teaching device 50 that follows offline teaching.

[0038] The target position acquisition unit 10B acquires, for example, the target position and the posture at that time input from the teaching device 50 in the same manner as the start position. The target position acquisition unit 10B can acquire a plurality of target positions and the postures at that time.

[0039] The allowable range acquisition unit 10C acquires information indicating an allowable range in which the reference position of the robot arm 20 can be separated from the target position with the target position as a reference. Further, the allowable range acquisition unit 10C acquires information indicating an allowable range (an example of the "second allowable range") in which the reference position of the robot arm 20 can be separated from the path with the path as a reference.

[0040] For example, when the angle of the link 20L driven by the series elastic actuator 20D is α at the time when the reference position of the robot arm 20 reaches a certain target position, the information indicating the allowable range of the link 20L is acquired, for example, as angle information of α±β. β is information in an angular unit that can be preset as an elastically deformable range based on the spring constant of the elastic body 20DE of the series elastic actuator 20D. In order to have flexibility in a plurality of directions, when the robot arm 20 includes a plurality of series elastic actuators 20D, the allowable range acquisition unit 10C can acquire information indicating the allowable range for each of the plurality of links 20L driven by the series elastic actuator 20D.

[0041] Further, when a plurality of target positions are set, the tolerance range acquisition unit 10C can acquire different tolerance ranges for each target position. For example, for a target position that requires precise operation, it may be configured to acquire a tolerance range of α ± γ (where γ < β). Further, the upper limit width and the lower limit width based on the target position may be different values.

[0042] Note that the information indicating the tolerance range may be position information indicating a predetermined area where a reference position, which is another part of the robot arm 20, can be obtained as a result of the variation of the angle of the link 20L. That is, when the angle of the predetermined link 20L is α + β, the tip of the link 20L is displaced by a distance obtained by multiplying β by the length of the link 20L, and accordingly, the part of the downstream robot arm 20 is also displaced. Therefore, the tolerance range acquisition unit 10C may use another part of the robot arm 20 as the reference position and acquire it as position information indicating a predetermined area where this reference position can be obtained. Hereinafter, the case where the center point of the end effector 20E is used as the reference position will be mainly described. The tolerance range is preferably configured to allow at least ±5 mm or more from the path and the target position at the reference position of the robot arm 20.

[0043] The information indicating the tolerance range can be determined in advance as a constant based on the elasticity or viscosity of the drive mechanism in a computer program stored in a non-volatile memory element described later. Therefore, the arithmetic element of the control device 10 may be configured to acquire the information indicating the tolerance range by reading the computer program. Alternatively, the control device 10 may acquire the information indicating the tolerance range from the teaching device 50.

[0044] The path acquisition unit 10D acquires a path (planned trajectory) connecting the start position and the target position by arithmetic processing or the like. As will be described later, the path acquisition unit 10D according to the present embodiment can acquire a path such that the object held by the robot arm 20 interferes with the target object.

[0045] The control command acquisition unit 10E acquires control commands for controlling each servo motor to move the reference position along the path through arithmetic processing or the like. For example, the control command acquisition unit 10E can calculate the rotation angles of each servo motor for the reference position to be located on the path by inverse kinematics, generate control commands based on this, and store them in the non-volatile memory element.

[0046] Regarding the hardware configuration, the control device 10 can be composed of a computer including an arithmetic element such as a CPU (Central Processing Unit) or a GPU (Graphical Processing Unit), a volatile memory element such as an SRAM (Static Random Access Memory) or a DRAM (Dynamic Random Access Memory), a non-volatile memory element such as a NOR flash memory, a NAND flash memory, or an HDD (Hard Disc Drive), and a communication means such as a bus for connecting these. The non-volatile memory element stores, for example, a computer program (including data such as information indicating an allowable range) for executing each process shown in the present embodiment. The volatile memory element temporarily stores at least a part of these computer programs and arithmetic processing results or the like. However, at least a part of these arithmetic elements, non-volatile memory elements, etc. may be installed at a remote location connected to a communication network such as the Internet. For example, the arithmetic element may be configured to acquire a computer program or necessary data via the communication network.

[0047] The control device 10 and the robot arm 20 are configured to be able to transmit and receive information by wireless or wired communication means.

[0048] The control device 10 may be connected to a teaching device 50 for teaching operations to the robot system 100. The teaching device 50 includes, for example, a portable teaching pendant for performing online teaching. Similar to the control device 10, the teaching device 50 includes an arithmetic element, a volatile memory element, and a non-volatile memory element, and further includes a display means having a display, a plurality of operation keys, and an input means having a lever. The input means may be composed of a touch panel type input means for performing input by pressing the display.

[0049] Hereinafter, as an example of the operation method of the robot arm 20 according to the present embodiment, a method of fitting an insert part W (an example of an "object") into a mold M (an example of an "assembly part" or "target object") in which a cylindrical recess is formed will be described.

[0050] FIGS. 2A and 2B are schematic views showing, in side view and top view, how the object, which is the insert part W, is fitted into the target object, which is the mold M, by the robot arm 20. As shown in these drawings, the robot arm 20 includes a link 20L corresponding to a lower arm portion rotatably attached to the body portion, a link 20L corresponding to an upper arm portion rotatably attached to the lower arm portion, a link 20L corresponding to a wrist portion rotatably attached to the upper arm portion, an end effector 20E capable of holding the object by sandwiching it between movable plates 20E1 and 20E2, and joints 20J connecting the respective links 20L. For example, a series elastic actuator 20D for driving the link 20L corresponding to the lower arm portion is mounted on the joint 20J between the link 20L corresponding to the upper arm portion and the link 20L corresponding to the lower arm portion.

[0051] The insert part W is formed, for example, in a disc shape. The cylindrical recess formed in the mold M is formed, for example, slightly larger (e.g., 50 μm larger) than the diameter of the insert part W.

[0052] Conventionally, it has been difficult to perform such fitting of an object by the robot arm 20. When holding the side surface of the object by sandwiching it with the end effector 20E, after moving the disk-shaped object directly above the recess so that the end effector 20E does not interfere with the object, it is necessary to release the holding and drop the object. However, when the gap between the object and the recess is small, even if the object is tilted only slightly, the object cannot be inserted into the recess.

[0053] However, the fitting method disclosed herein makes it possible to increase the possibility of assembling the object. A specific process will be described below. As shown in FIG. 2A, the end effector 20E of the robot arm 20 holds the object in an inclined state by sandwiching the upper surface and the side surface of the object. Next, the robot arm 20 moves the object closer to the target object. Then, as shown in FIG. 3A, the robot arm 20 brings the end of the object into contact with the surface of the target object. Next, the robot arm 20 moves the object relative to the target object while maintaining the state where the end of the object is in contact with the surface of the target object, so that the object follows the target object. As shown in FIG. 3B, when the end of the object reaches the recess, the robot arm 20 causes the side surface of the object to contact the corner of the recess by inserting the end into the recess. Then, the robot arm 20 rotates the object relative to the target object by using the side surface of the object in contact with the corner of the recess as a fulcrum, so that the object follows the target object. As shown in FIG. 3C, the robot arm 20 rotates the object until it becomes horizontal. At this time, since the side surface of the object is brought into contact with the recess and rotated, it is possible to suppress the possibility that the object protrudes outside the recess when the object becomes horizontal. As shown in FIG. 3D, the robot arm 20 may press the surface of the object to fit the object into the fitting object.

[0054] As described above, by using the robot arm 20 having a drive mechanism with flexibility, it becomes possible to move the object relative to the assembly site while bringing the object into contact with the assembly site. As a result, it becomes possible to easily realize the operation of bringing the object held by the robot arm 20 into contact with the target object. Further, by using the robot arm 20 having a drive mechanism with flexibility, it becomes possible to suppress damage to the surface of the object even when the surface of the object is pressed.

[0055] Hereinafter, a process for performing operation teaching on the robot system 100 will be described. FIG. 4 is a flowchart showing a process for performing operation teaching on the robot system 100. As shown in the figure, the operator teaches the start position to the robot system 100 by moving the end effector 20E manually or by using the input means of the teaching device 50 (step S41). For example, the position where the end effector 20E starts holding the object may be set as the start position. The control device 10 acquires the position and posture of the end effector 20E when it is at the start position, the angles of the respective links 20L, etc., and stores them in the non-volatile memory element in association with the start position (step S42).

[0056] Furthermore, the operator teaches an operation for causing the end effector 20E to hold the object (step S43), and the control device 10 stores the operation for holding the object in the non-volatile memory element (step S44).

[0057] Next, the operator moves the end effector 20E a plurality of times manually or by using the input means of the teaching device 50, and causes the control device 10 to acquire the position etc. of the end effector 20E at that time, thereby teaching a plurality of target positions to the robot system 100 (step S45). Here, regarding the scene where the object comes into contact with the target object, the position of the end effector 20E where the object interferes with the target object is taught as the target position. This point will be described with reference to the drawings.

[0058] FIG. 5 is a schematic diagram for explaining the difference between the target position and the actual position in a scene where the end of the object (insert part W) shown in FIG. 3A contacts the surface of the target object (mold M). In this figure, the end effector 20E and the object held thereby when the reference position is at the target position are shown by dashed lines. On the other hand, the actual end effector 20E and the object held thereby when the reference position is separated from the target position are shown by solid lines. As shown by the dashed lines, at the target position, the object held by the end effector 20E interferes with the target object. In reality, due to the presence of the target object, the end of the object contacts the surface of the target object. The displacement amount D1 corresponds to the amount by which the elastic body 20DE of the series elastic actuator 20D is elastically deformed. At this time, a force based on the displacement amount and the spring constant acts on the object from the target object. FIG. 6 is a schematic diagram showing the target position in a scene where the side surface of the object shown in FIG. 3B contacts the surface of the target object. Also in this figure, the end effector 20E and the object held thereby at the target position are shown by dashed lines, and the actual end effector 20E and the object held thereby are shown by solid lines. As shown by the dashed lines, at the target position, the object (insert part W) held by the end effector 20E interferes with the target object (mold M). However, in reality, due to the presence of the target object, the side surface of the object contacts the surface of the target object. The displacement amount D2 corresponds to the amount by which the elastic body 20DE of the series elastic actuator 20D is elastically deformed. At this time, a force based on the displacement amount and the spring constant acts on the object from the target object. Note that by determining the target position such that the displacement amount D2 > the displacement amount D1, the force acting on the object from the target object can be increased, and the stability of the object can be enhanced.

[0059] The control device 10 acquires the position and orientation of the end effector 20E and the angles of the respective links 20L when they exist at each target position, and stores them in the storage element in association with each target position (step S46).

[0060] Next, the control device 10 acquires information indicating the allowable range (step S47). As the information indicating the allowable range, for example, the control device 10 acquires position information indicating that the reference position of the robot arm 20 can be away from the target position. The information indicating the allowable range may be stored in advance in the non-volatile memory element based on, for example, the spring constant of the elastic body 20DE of the series elastic actuator 20D.

[0061] The control device 10 acquires a path connecting the start position and the plurality of target positions by an operation according to a path generation algorithm. For a path from the target position in the scene of FIG. 3A to the target position in the scene of FIG. 3B, which is a region where the object follows the target object, the control device 10 acquires, by an operation, a path such that the object interferes with the target object. By acquiring the path in this way, it becomes possible to make the object follow the target object.

[0062] However, if the displacement amount is too large, there is a possibility of exceeding the elastic deformation range. Also, even within the elastic deformation range, if the displacement amount is too large, the force with which the object presses against the target object becomes too large, making smooth movement difficult or possibly damaging the target object or the object. For this reason, the control device 10 calculates the path so that the distance between the path and the target object surface is within the allowable range (step S48). Note that the allowable range on the path may be the same value as the allowable range at the adjacent target positions.

[0063] Even when the object is rotated and made to follow the target object in a state where the side surface of the object as shown in FIG. 6 is in contact with the surface of the target object, the control device 10 acquires, by an operation, a path such that the object interferes with the target object. By acquiring the path in this way, it becomes possible to rotate the object in a state where the object is pressed against the target object and stabilized.

[0064] Subsequently, the control device 10 may store the acquired path in the non-volatile memory element. Specifically, the control instruction acquisition unit 10E of the control device 10 may obtain, by calculation, control instructions 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 position and path, and store them in the non-volatile memory element.

[0065] Subsequently, an operation method of the robot system 100 will be described. FIG. 7 is a flowchart showing the operation method of the robot system 100. First, the start position acquisition unit 10A and the target position acquisition unit 10B of the control device 10 respectively acquire information indicating the start position and information indicating the target position (step S71). The control device 10 may acquire these pieces of information by reading them from the non-volatile memory element. The control device 10 may also acquire these pieces of information from the teaching device 50.

[0066] In addition, the allowable range acquisition unit 10C of the control device 10 acquires information indicating the allowable range and the like (step S72). The control device 10 may acquire these pieces of information by reading them from the non-volatile memory element. Alternatively, when the control device 10 acquires a path by calculation based on the information indicating the start position and the information indicating the target position, the control device 10 may read out a path generation algorithm such that the distance between the object surface and the reference position is within the allowable range, and acquire the information indicating the allowable range by acquiring a path based on this algorithm.

[0067] The path acquisition unit 10D of the control device 10 reads out a path generation algorithm such that the distance between the object surface and the reference position is within the allowable range from the non-volatile memory element, and acquires, by calculation, a path connecting the start position and a plurality of target positions based on this algorithm (step S73). The control instruction acquisition unit 10E acquires, by calculation, control instructions 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 position and path and the like (step S74).

[0068] In addition, when control commands for controlling actuators such as a drive unit and an end effector 20E for realizing a series of operations are stored in a non-volatile memory element, the control device 10 may acquire these pieces of information by reading out the control commands in which start position information and the like are reflected.

[0069] 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 the object (step S75).

[0070] Thereafter, the robot arm 20 moves the object closer to the target object (step S76). Then, the robot arm 20 brings the end of the object into contact with the surface of the target object (step S77). While maintaining the state in which the end of the object is in contact with the surface of the target object, the robot arm 20 moves the object relative to the target object to make the object follow the target object (step S78). Specifically, from the target position indicated by the broken line in FIG. 5 (more precisely, the position of the end effector 20E when the reference position exists at the target position; the same applies hereinafter), toward the next target position indicated by the broken line in FIG. 6, actually, from the position indicated by the solid line in FIG. 5, toward the position indicated by the solid line in FIG. 6, the object is moved while being in contact with the target object. The center position (reference position) of the end effector 20E indicated by the solid line in FIG. 6 exists within an allowable range based on the center position (reference position) of the end effector 20E indicated by the broken line in FIG. 6. At this time, the elastic body 20DE of the series elastic actuator 20D elastically deforms according to the displacement amount.

[0071] While performing the following operation involving translational movement, the control device 10 periodically determines whether a displacement exceeding the allowable range has occurred (step S79). If it is determined that a displacement exceeding the allowable range has occurred (YES), the control device 10 generates a control command to decelerate the moving speed and sends it to the drive unit of the robot arm 20 (step S80). FIG. 8 is a graph for explaining a deceleration operation when the allowable range is exceeded during the mimicking operation. This figure is a graph with the horizontal axis representing time and the vertical axis representing the angle of link 20L driven by series elastic actuator 20D. In this graph, the target link 20L has a planned trajectory P in which the angle at time t11 is set as the starting position S (or the first target position), the angle at time t2 is set as the target position G (or the second target position), and the angle increases linearly with time. Also, the allowable ranges both with respect to the target position and the path of this link 20L are ±β1 centered on the angle of link 20L. Further, in this graph, the actual angle change is indicated by the solid line A.

[0072] As shown in this graph, at time t11, when the angle is outside the allowable range with respect to the path, as described above, the robot arm 20 reduces the rotational speed of link 20L and the moving speed of the object, and is controlled so that the angle of link 20L falls within the allowable range. On the other hand, between time t11 and time t2, since the angle of link 20L is within the allowable range, the control device 10 does not perform control to bring the solid line A closer to the planned trajectory P. Then, at time t2, when the angle of link 20L is within the allowable range (angle α2 ± β1) of the target position which is the angle α2, it shifts to the next operation.

[0073] When the control device 10 determines that the reference position of the robot arm 20 has reached within the allowable range of the target position set near the concave portion (step S81), the control device 10 operates the robot arm 20 toward the next target position. Specifically, the robot arm 20 causes the object to mimic the target object by relatively rotating the object with respect to the target object with the side surface of the object in contact with the corner of the concave portion as a fulcrum while slightly inserting the end portion of the object into the concave portion (step S82). The robot arm 20 rotates the object until the object becomes horizontal and then releases the holding of the object (step S83). Thereafter, the surface of the object may be pushed down using the end effector 20E to securely fit the object to the target object.

[0074] As described above, according to the operation method according to the present embodiment, by simply setting the start position and the target position, it becomes possible to realize a series of operations including an operation involving contact of the object with the target object. Further, by providing a sensor at the hand position, it becomes possible to realize an operation involving contact of the object with the target object without using the force sense parameter acquired from this sensor. However, when an excessive force is detected by a sensor provided in the series elastic actuator 20D or the like, control may be performed to stop the operation of the robot arm 20. Also, various position coordinates may be expressed by any coordinate system such as a rectangular coordinate system or an indirect coordinate system. Further, the mode of the imitation operation is not particularly limited. As shown in the present embodiment, the robot arm can execute an imitation operation involving rotational movement and an imitation operation involving translational movement respectively.

[0075] In addition to the fitting operation, the present invention holds a flange (an example of an "object") in which a through hole is formed, and causes the wall surface of the through hole to follow the surface of a shaft (an example of a "target object" and an "assembly site") so that the shaft penetrates the through hole, and assembles the flange to the shaft. It can also be applied to various uses such as holding a printed wiring board (an example of an "object") to be inspected, and inspecting the inner diameter of a through hole formed in the printed wiring board by causing the wall surface of the through hole to follow the surface of a rod-shaped inspection instrument (an example of a "target object" and an "assembly site") so that the rod-shaped inspection instrument penetrates the through hole, and assembling an optical component (an example of an "object") such as a lens module to a precision instrument (an example of a "target object" and an "assembly site"). The "assembly site" is not limited to only a member to which an object is attached and fixed, but includes a member having a temporary engagement relationship with the object. For example, as in the above-described example, after the robot arm performs an inspection by causing a printed wiring board, which is an object, to follow the surface of an inspection instrument, which is an assembly site, the robot arm may release the engagement with the inspection instrument while holding the printed wiring board and move to another position. As a driving mechanism having flexibility, various driving mechanisms can be used in addition to the series elastic actuator. In order to impart viscosity and elasticity, magnetic fluid, mechanical springs (leaf springs, torsion coil springs), air springs, magnetic springs, vane motors, variable dampers using electrorheological fluids whose viscosity can be adjusted according to the applied voltage, etc. may be used.

[0076] Furthermore, the present invention can be variously modified without departing from its gist. For example, within the scope of the ordinary creative ability of those skilled in the art, some components in one embodiment can be added to other embodiments. Also, some components in one embodiment can be replaced with corresponding components in other embodiments.

Description of Reference Numerals

[0077] 10 Control device 10A Start position acquisition unit 10B Target position acquisition unit 10C Allowable range acquisition unit 10D Path acquisition unit 10E Control Command Acquisition Unit 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 20J Joint 20L Link 50 Teaching Device 100 Robot System

Claims

1. A step of obtaining information indicating a target position; A step of obtaining information indicating a tolerance range; A step of holding an object using a robot arm having a flexible drive mechanism; A step of moving the object using the robot arm and approaching it to an assembly site; A step of causing the object to follow the assembly site so that the robot arm reaches within the tolerance range based on the target position; An operation method including the above.

2. The drive mechanism with flexibility includes a series elastic actuator. The operation method according to Claim 1.

3. The step of causing the object to follow the assembly site causes the object to follow the assembly site while elastically deforming an elastic body included in the series elastic actuator. The operation method according to Claim 2.

4. A step of obtaining a path for moving the robot arm so that the object interferes with the assembly site; and A step of obtaining information indicating a second tolerance range are further included, The step of causing the object to follow the assembly site causes the object to follow the assembly site while moving the robot arm within the second tolerance range based on the path where the object interferes with the assembly site. The operation method according to any one of Claims 1 to 3.

5. The step of causing the object to follow the assembly site reduces the moving speed of the robot arm when the robot arm moves outside the second tolerance range based on the path. The operation method according to Claim 4.

6. A step of further releasing the holding of the object by the robot arm when the robot arm reaches within the tolerance range based on the target position is further included. The operation method according to any one of Claims 1 to 5.

7. The drive mechanism includes at least one of magnetic fluid, mechanical spring, air spring, magnetic spring, and vane motor for imparting the flexibility. The operation method according to any one of Claims 1 to 6.

8. The drive mechanism is configured to be subjected to compliance control based on information indicating the flexibility. The operation method according to any one of Claims 1 to 7.

9. A robot arm including a drive mechanism with flexibility and a holding mechanism capable of holding an object; A control device for controlling the robot arm, comprising: means for acquiring information indicating a target position; means for acquiring information indicating a tolerance range; moving the object using the robot arm and approaching it to the assembly site; causing the object to follow the assembly site so that the robot arm reaches within the tolerance range based on the target position; a control device configured to be executable; A robot system comprising the same.

10. A control device for controlling a robot arm comprising a drive mechanism having flexibility and a holding mechanism capable of holding an object, comprising: means for acquiring information indicating a target position; means for acquiring information indicating a tolerance range; moving the object using the robot arm and approaching it to the assembly site; causing the object to follow the assembly site so that the robot arm reaches within the tolerance range based on the target position; a control device configured to be executable.

11. A teaching method for operating a robot system comprising a robot arm having a drive mechanism with flexibility and a holding mechanism capable of holding an object, and a control device for controlling the robot arm, the method comprising: causing the robot system to execute instructions for: acquiring information indicating a target position; acquiring information indicating a tolerance range; holding the object using the robot arm; moving the object using the robot arm and approaching it to the assembly site; causing the object to follow the assembly site so that the robot arm reaches within the tolerance range based on the target position. A teaching method.

12. A computer program for causing a computer to: acquire information indicating a target position; acquire information indicating a tolerance range; hold an object using a robot arm having a drive mechanism with flexibility; move the object using the robot arm and approach it to the assembly site; cause the object to follow the assembly site so that the robot arm reaches within the tolerance range based on the target position; generate a control command for operating the robot arm. A computer program.

Citation Information

Patent Citations

  • Control method for assembling operation by robot

    JP1987145305A

  • JP1988151291U

  • Robot hand device

    JP1992193494A

  • Compliance mechanism

    JP1994039775A

  • Robot dislocation compensating method and device

    JP1994126665A