Control device, mechanical system, method, and computer program for causing a plurality of mobile machines to move and perform prescribed work
Patent Information
- Application Number
- CN202180082844.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-12-17
- Filing Date
- 2021-12-10
- Publication Date
- 2026-10-23
- Estimated Expiration
- 2041-12-10
AI Technical Summary
[0012]根据本公开,处理器能够根据规定的指令,来在多个移动机械之间动态地切换被设为动作状态数据的获取对象的移动机械。
Smart Images

Figure CN116568466B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to a control device, mechanical system, method, and computer program for moving multiple mobile machines to perform prescribed operations. Background Technology
[0002] A system is known that can perform adaptive control by adjusting the output value of an end effector based on motion state data of a mobile machine (e.g., a vertical jointed robot) (e.g., Patent Document 1).
[0003] Existing technical documents
[0004] Patent documents
[0005] Patent Document 1: Japanese Patent Application Publication No. 2014-198373 Summary of the Invention
[0006] The problem the invention aims to solve
[0007] Previously, there was a need for a technology that could dynamically switch between the moving machines whose motion state data was acquired and perform adaptive control when an end effector was moved by multiple moving machines.
[0008] Solution for solving the problem
[0009] In one aspect of this disclosure, a control device for moving an end effector by means of multiple mobile machines and performing a prescribed operation on a workpiece by means of the end effector comprises: a mobile machine actuation unit that moves the end effector by actuating the multiple mobile machines; an actuation state data acquisition unit that acquires actuation state data representing the actuation state of the mobile machines actuated by the mobile machine actuation unit; an adaptive control execution unit that adjusts the output value of the end effector used for the operation based on the actuation state data acquired by the actuation state data acquisition unit; and an input switching unit that switches the mobile machine whose actuation state data is acquired by the actuation state data acquisition unit from a first mobile machine to a second mobile machine according to a prescribed instruction.
[0010] In other aspects of this disclosure, in a method of moving an end effector by means of multiple mobile machines and performing a specified operation on a workpiece by means of the end effector, the processor performs the following processes: moving the end effector by causing the multiple mobile machines to move; acquiring motion state data representing the motion state of the mobile machines; adjusting the output value of the end effector used for the operation based on the acquired motion state data; and switching the mobile machine for which the motion state data has been acquired from the first mobile machine to the second mobile machine according to a specified instruction.
[0011] The effects of the invention
[0012] According to this disclosure, the processor can dynamically switch between multiple mobile machines, with the mobile machine being the target for acquiring motion state data, according to specified instructions. Attached Figure Description
[0013] Figure 1 This is a schematic diagram of a mechanical system involved in one implementation method.
[0014] Figure 2 yes Figure 1 The diagram shows a block diagram of the mechanical system.
[0015] Figure 3 yes Figure 1 An enlarged view of the end effector shown.
[0016] Figure 4 This is a schematic diagram of the mechanical system involved in other embodiments.
[0017] Figure 5 yes Figure 4 The diagram shows a block diagram of the mechanical system.
[0018] Figure 6 This is a schematic diagram of a mechanical system involved in another embodiment.
[0019] Figure 7 yes Figure 6 The diagram shows a block diagram of the mechanical system. Detailed Implementation
[0020] The embodiments of this disclosure will now be described in detail with reference to the accompanying drawings. Furthermore, in the various embodiments described below, the same elements will be labeled with the same reference numerals, and repeated descriptions will be omitted. First, refer to... Figure 1 and Figure 2 To illustrate one embodiment, we will describe a mechanical system 10. The mechanical system 10 includes a working machine 12, an end effector 14, multiple moving machines 16 and 18, and a control device 20.
[0021] The working machine 12 supplies the element EM used in the operation to the end effector 14. As an example, the working machine 12 is a laser oscillator that generates a laser EM1 as the element EM used in the laser processing operation. In this case, the working machine 12 is a solid-state laser oscillator (e.g., a YAG laser oscillator or a fiber laser oscillator) or a gas laser oscillator (e.g., a carbon dioxide gas laser oscillator), etc., which generates the laser EM1 internally through optical resonance according to the command from the control device 20, and supplies the laser EM1 to the end effector 14.
[0022] As another example, the working machine 12 is a wire feeding device that supplies and feeds wire EM2 (welding wire or brazing material) to the end effector 14 as an element EM used in welding or brazing operations. In this case, the working machine 12 has an electric motor and a drum with wire wound on it, which the electric motor rotates according to instructions from the control device 20, thereby feeding the wire EM2.
[0023] As another example, the working machine 12 is a paint supply device that supplies paint EM3 to the end effector 14 as an element EM used in the coating operation. In this case, the working machine 12 has a tank for storing paint EM3 and an electric pump that feeds paint EM3 from the tank according to instructions from the control device 20.
[0024] The end effector 14 outputs the element EM supplied from the machine tool 12 along the output shaft A2, and uses the element EM to perform a specified operation on the workpiece (not shown). As an example, if the machine tool 12 is a laser oscillator, the end effector 14 is a laser processing head that performs laser processing operations (laser welding, laser cutting, etc.) on the workpiece.
[0025] In this case, the end effector 14 has a hollow head body, a hollow nozzle disposed at the front end of the head body, and an optical lens (not shown) housed inside the head body. The end effector 14 emits a laser EM1 supplied from the working machine 12 along the output shaft A2 according to the command from the control device 20, and uses the laser EM1 to perform laser processing on the workpiece.
[0026] As another example, when the machine tool 12 is a wire feed device, the end effector 14 is a welding device (welding torch, welding gun, etc.) that performs welding operations on the workpiece. In this case, the end effector 14 has electrodes that generate a discharge between itself and the workpiece. The end effector 14 generates a discharge by energizing the electrodes according to instructions from the control device 20. At the same time, the end effector 14 feeds the wire EM2 (welding wire) supplied from the machine tool 12 along the output shaft A2, and uses the wire EM2 to weld the workpiece.
[0027] Alternatively, the end effector 14 has a heating device (burner, laser processing head, etc.) for heating the wire EM2 (brazing material) supplied from the working machine 12, feeding the wire EM2 along the output shaft A2 according to instructions from the control device 20, and using the heating device to heat the wire EM2 to braze the workpiece.
[0028] As another example, when the working machine 12 is a paint supply device, the end effector 14 is a paint applicator that performs a coating operation on the workpiece. In this case, the end effector 14 has an electrically operated spraying device that sprays paint EM3 supplied from the working machine 12. The end effector 14 sprays the paint EM3 along the output shaft A2 to coat the workpiece according to the command from the control device 20.
[0029] Mobile mechanisms 16 and 18 are capable of moving the end effector 14. In this embodiment, mobile mechanism 16 is a vertical articulated robot, having a robot base 22, a rotating body 24, a forearm 26, an upper arm 28, and a wrist 30. The robot base 22 is fixed to the base plate of the work unit. The rotating body 24 is mounted on the robot base 22 in a manner that allows it to rotate about a vertical axis.
[0030] The forearm portion 26 is mounted on the rotating body 24 in a manner that allows it to rotate about a horizontal axis. The upper arm portion 28 is mounted on the front end of the forearm portion 26 in a manner that allows it to rotate about two mutually orthogonal axes. The wrist portion 30 has a wrist base 30a mounted on the front end of the upper arm portion 28 in a rotatable manner and a wrist flange 30b mounted on the wrist base 30a in a manner that allows it to rotate about a wrist axis A1.
[0031] The mobile machinery 16 also features multiple servo motors 32. Figure 2 The robot also includes multiple sensors 34, which are respectively mounted on multiple servo motors 32. The multiple servo motors 32 are respectively mounted on the robot base 22, the rotating body 24, the forearm 26, the upper arm 28, and the wrist 30.
[0032] These servo motors 32, according to instructions from the control unit 20, cause the movable elements of the mobile machinery 16 (rotating body 24, forearm 26, upper arm 28, wrist 30, wrist flange 30b) to rotate around the drive shaft. Thus, the mobile machinery 16 moves the mobile machinery 18 and the end effector 14. Each sensor 34, for example a rotation detection sensor (encoder, Hall element, etc.) that detects the rotation (rotational position or rotational angle) of the rotating shaft of the servo motor 32, supplies the detected rotation-related data to the control unit 20 as feedback FB1.
[0033] The mobile mechanism 18 is disposed on the wrist flange 30b of the mobile mechanism 16. Specifically, as follows: Figure 1 and Figure 3 As shown, the mobile machine 18 includes a housing 36, multiple servo motors 38, an adapter 40, a motion conversion mechanism 42, and multiple sensors 44. Figure 2 The housing 36 is detachably mounted to the wrist flange 30b. Each servo motor 38 is fixed to the housing 36.
[0034] An end effector 14 is detachably mounted on the adapter 40. A motion conversion mechanism 42 converts the rotational motion of each servo motor 38's axis into a translational motion of the adapter 40 in a direction orthogonal to the output axis A2 of the end effector 14. Thus, by rotating their respective axes according to commands from the control device 20, the servo motors 38 cause the adapter 40 and the end effector 14 to translate in a direction orthogonal to the output axis A2 via the motion conversion mechanism 42.
[0035] Sensors 44 are respectively installed on the servo motor 38. The sensors 44 are, for example, rotation detection sensors (encoders, Hall elements, etc.) that detect the rotation (rotation position or rotation angle) of the rotation shaft of the servo motor 38, and supply the detected rotation-related data as feedback FB2 to the control device 20.
[0036] like Figure 2 As shown, the control device 20 is a computer having a processor 50, a memory 52, and an I / O interface 54. The processor 50 is connected to the memory 52 and the I / O interface 54 via a bus 56 in a communicative manner, and performs arithmetic processing to implement various functions described later while communicating with these components.
[0037] The memory 52, including RAM or ROM, temporarily or permanently stores various data used in the computational processing performed by the processor 50 and various data generated during the computational processing. The I / O interface 54, for example, has an Ethernet port, USB port, fiber optic connector, or HDMI terminal, and communicates with external devices via wired or wireless means under instructions from the processor 50. The aforementioned working machine 12, end effector 14, moving machine 16 (servo motor 32 and sensor 34), and moving machine 18 (servo motor 38 and sensor 44) are connected to the I / O interface 54 in a communicative manner.
[0038] like Figure 1 As shown, a robot coordinate system C1 is set for the mobile machinery 16. The robot coordinate system C1 is a coordinate system used to automatically control the movement of each movable element of the mobile machinery 16. In this embodiment, the robot coordinate system C1 is fixed relative to the robot base 22 with its origin located at the center of the robot base 22 and its z-axis parallel to the vertical direction.
[0039] On the other hand, a tool coordinate system C2 is set for the end effector 14. The tool coordinate system C2 is a coordinate system used to define the position of the end effector 14 in the robot coordinate system C1. In this embodiment, the tool coordinate system C2 is set for the end effector 14 with its origin (i.e., the so-called TCP) located at the working point of the end effector 14 (e.g., the outlet of the laser EM1, the welding position of the wire EM2, or the spray nozzle of the paint EM3) and its z-axis is orthogonal to the wrist axis A1 (or consistent with the output axis A2).
[0040] When the end effector 14 is moved, the control device 20 sets a tool coordinate system C2 in the robot coordinate system C1 and generates motion commands OC (position commands, speed commands, torque commands, etc.) for each servo motor 32 of the mobile machinery 16 or each servo motor 38 of the mobile machinery 18, so as to position the end effector 14 at the position represented by the set tool coordinate system C2. In this way, the control device 20 causes the mobile machinery 16 and 18 to move, and can position the end effector 14 at any position in the robot coordinate system C1. In addition, in this document, "position" sometimes refers to position and posture.
[0041] Next, the operation flow of the mechanical system 10 will be described. The processor 50 executes workpiece-specific operations (laser processing, welding, brazing, coating, etc.) according to the pre-saved work program PG in the memory 52. The work program PG is a computer program that causes the processor 50 to perform the functions for the work described later. A table illustrating an example of the work program PG is shown below.
[0042] [Table 1]
[0043]
[0044] In the example shown in Table 1, the job procedure PG specifies the teaching point Pn (n = 1, 2, 3, 4, 5, 6) in the robot coordinate system C1 (i.e., the origin of the tool coordinate system: TCP) to be positioned, and the speed Vn at which the end effector 14 moves to the teaching point Pn. In other words, the command text "move teaching point [P1] speed [V1]" in the first line of the job procedure PG refers to the instruction to move the end effector 14 (TCP) to the teaching point P1 at a speed of V1.
[0045] In addition, the command text "End effector [start]" in the second line of the work procedure PG is used to make the work machine 12 operate to supply element EM (laser EM1, wire EM2 or paint EM3, etc.) to the end effector 14 and make the end effector 14 output the element EM with the output value OP.
[0046] As an example, when the end effector 14 is a laser processing head, the output value OP can be the laser power of the laser EM1 supplied by the machine tool 12 to the end effector 14. As another example, when the end effector 14 is a welding device, the output value OP can be the feed speed of the wire EM2 supplied by the machine tool 12 to the end effector 14. As yet another example, when the end effector 14 is a paint applicator, the output value OP can be the flow rate (or pressure) of the paint EM3 supplied by the machine tool 12 to the end effector 14.
[0047] The processor 50 analyzes the job program PG and performs operations on the workpiece by sequentially reading and executing the commands specified in the job program PG. In this embodiment, the processor 50 moves the end effector 14 toward the teach point TPn by causing multiple moving machines 16 and 18 to move sequentially.
[0048] Specifically, in the work procedure PG, when the end effector 14 is moved toward the teaching points P1, P2, P3 and P4, the processor 50 causes the moving machine 16 to move while the moving machine 18 is stopped, thereby moving the end effector 14 by only causing the moving machine 16 to move.
[0049] On the other hand, when the end effector 14 is moved toward the teaching points P5 and P6, the processor 50 actuates the moving mechanism 18 while the moving mechanism 16 is stopped, thereby moving the end effector 14 by actuating only the moving mechanism 18. Thus, in this embodiment, the processor 50 functions as a moving mechanism actuation unit 58 that moves the end effector 14 by actuating multiple moving mechanisms 16 and 18. Figure 2 To perform its function.
[0050] The following is a detailed description of the operation flow of the mechanical system 10 when executing the work program PG shown in Table 1. After the work program PG starts, the processor 50 first reads the command text in the first line, generates the action instructions OC1 (position instructions, speed instructions, torque instructions, etc.) for the servo motor 32 of the moving machine 16, and causes the end effector 14 to move towards the teaching point P1 at a speed V1 through the action of the moving machine 16.
[0051] At this time, the processor 50 obtains feedback FB1 from the sensor 34, calculates the position of the end effector 14 (TCP) in the robot coordinate system C1 based on the feedback FB1, and determines whether the end effector 14 (TCP) has reached the teaching point P1 based on the position.
[0052] When the end effector 14 reaches the teach point P1, the processor 50 reads the command text in the second line and sets the action of the end effector 14 to "on". Then, the processor 50 sends the output command OP to the working machine 12. C To cause the working machine 12 to move, so that the end effector 14 responds to the output command OP. C The corresponding output value OP is used to output the element EM.
[0053] In this way, the processor 50 starts the end effector 14 and uses the element EM to perform the operation on the workpiece. Then, the processor 50 reads the command text in line 3 and causes the moving machine 16 to move according to the action instruction OC1, so that the end effector 14 moves towards the teaching point P2 at a speed V2.
[0054] When the end effector 14 is moved to the teach point P2, the processor 50 reads the command message "Adaptive control start [moving machine 16]" from line 4. This command message issues an adaptive control start instruction AD1 to the processor 50. This adaptive control start instruction AD1 is used to execute the first adaptive control AC1, which adjusts the output value OP of the end effector 14 according to the motion state data OD1 of the moving machine 16. Here, the motion state data OD1 is data representing the motion state of the moving machine 16 that the processor 50 (moving machine motion unit 58) causes to perform the motion.
[0055] As an example, the motion state data OD1 includes the position P of the moving machine 16. A Speed V A acceleration α A The distance d up to the teaching point Pn A and the movement time t A Position P of mobile machinery 16 A For example, this includes the position (specifically, coordinates) of the end effector 14 (or the wrist flange 30b of the mobile mechanism 16) in the robot coordinate system C1. For instance, the processor 50 can obtain this position P based on the motion instruction OC1 (e.g., a position instruction) used to cause the mobile mechanism 16 to move. A Alternatively, the processor 50 can determine the position P based on the feedback FB1 from the sensor 34. A .
[0056] The speed V of the mobile machine 16 A For example, this includes the speed of the end effector 14 (TCP) moved by the moving mechanism 16. The processor 50 can obtain this speed V according to the action instruction OC1 (e.g., a speed instruction). A Alternatively, the processor 50 can determine the speed V based on the feedback FB1 from the sensor 34.A .
[0057] The acceleration α of the mobile machine 16 A For example, it includes the acceleration of the end effector 14 (TCP) that moves via the moving mechanism 16. The processor 50 can obtain this acceleration α based on the action instruction OC1 (e.g., the time derivative of the velocity instruction). A Alternatively, the processor 50 can determine the acceleration α based on the feedback FB1 from the sensor 34. A .
[0058] The distance d from the moving machine 16 to the teaching point Pn A For example, this includes the distance from the end effector 14 (TCP) moved by the moving mechanism 16 to the next teach point Pn where the end effector 14 should be positioned. The processor 50 can obtain this distance d based on the action instruction OC1 (e.g., a position instruction) and the position data of the teach point Pn. A Instead, the processor 50 can determine the position P based on the feedback FB1 from the sensor 34. A The distance d is obtained by using the location data of the teaching point Pn. A .
[0059] The movement time t of mobile machine 16 A For example, it includes the time elapsed since passing through the teaching point Pn when moving from the teaching point Pn to the teaching point Pn+1. The processor 50 can obtain the movement time t based on the action instruction OC1 (e.g., a position instruction) and the time measured by the timing unit (not shown) set in the control device 20. A Instead, the processor 50 can determine the position P based on the feedback FB1 from the sensor 34. A The movement time t is obtained by measuring the time from the timing unit. A .
[0060] As described above, the processor 50 acquires the motion state data OD1 (position P) of the mobile machine 16 based on the motion instruction OC1 for causing the mobile machine 16 to move, or the feedback FB1 supplied from the mobile machine 16 to the control device 20 when the mobile machine 16 moves. A Speed V A acceleration α A Distance d A Or the time t A Therefore, the processor 50 serves as the action state data acquisition unit 60 for acquiring action state data OD1. Figure 2 To perform its function.
[0061] When the adaptive control start instruction AD1 is received from the work procedure PG, the processor 50 switches the mobile machine whose motion status data OD is being acquired for adaptive control to the mobile machine 16 specified in the command message: "Adaptive control start [mobile machine 16]" and begins to acquire the motion status data OD1 of the mobile machine 16.
[0062] Then, the processor 50 begins the first adaptive control AC1 to adjust the output value OP based on the motion state data OD1. After the first adaptive control AC1 begins, the processor 50 starts a pre-generated adaptive control program, applies the acquired motion state data OD1 to the adaptive control program, and calculates the output value OP at any time.
[0063] During the period when the processor 50 moves the end effector 14 towards the teach points P3 and P4 using the moving mechanism 16 (as per the commands in lines 5 and 6 of the job program PG), the processor 50 executes the first adaptive control AC1. As an example, as the first adaptive control AC1, the processor 50 causes the output value OP to change with the speed V. A The way it increases depends on the velocity V. A To adjust the output value OP.
[0064] More specifically, the processor 50 may, for example, increase the output value OP to the output instruction OP corresponding to accelerating the end effector 14 to speed V4 when moving the end effector 14 from teach point P3 to teach point P4. C (or from the output command OP) C (Increase by the prescribed ratio).
[0065] As another example, as the first adaptive control AC1, until position P A After passing the teaching point Pn, the processor 50 advances the specified distance, and then proceeds according to the position P. A This increases the output value OP. Specifically, the processor 50 causes the output value OP to reach the output instruction OP when the end effector 14 reaches the position 10mm forward after passing the teach point P3. C According to position P A This will increase the output value OP.
[0066] Alternatively, it could be from position P A The position P is located at a specified distance from the next teaching point Pn. A Until the teaching point Pn is reached, processor 50 determines the position P based on the teaching point P. A This reduces the output value OP. Specifically, the processor 50 can also, during the movement of the end effector 14 from teach point P3 to teach point P4, after reaching a position 10mm away from teach point P4, adjust the position P according to the position P.A To make the output value OP from the output instruction OP C The number of steps decreases until the teaching point P4 is reached.
[0067] As another example, in the first adaptive control AC1, during the movement time t from the teaching point Pn... A Upon reaching the designated time, processor 50 determines the movement time t. A This increases the output value OP. Specifically, processor 50 increases the movement time t from the teaching point P3. A When 5 seconds have elapsed (that is, 5 seconds have passed since passing the teach point P3), the output value OP reaches the output instruction OP. C The method is based on the movement time t A This increases the output value OP.
[0068] As another example, it could also be that, as the first adaptive control AC1, the processor 50, with acceleration α... A Increase (or decrease) the output value OP to the output instruction OP. C Increase (or from the output instruction OP) C (To reduce). Thus, in this embodiment, the processor 50, in the first adaptive control AC1, according to the action state data OD1 (position P) A Speed V A acceleration α A Distance d A Or the time t A ), to output the OP instruction C The output value OP is adjusted based on the action state data OD1. Therefore, the processor 50 acts as an adaptive control execution unit 62 that adjusts the output value OP according to the action state data OD1. Figure 2 To perform its function.
[0069] When the end effector 14 is moved to the teach point P4, the processor 50 reads the command message "Adaptive control start [moving machine 18]" in line 7. This command message issues an adaptive control start instruction AD2 to the processor 50, which is used to execute a second adaptive control AC2 to adjust the output value OP according to the motion state data OD2 of the moving machine 18.
[0070] Here, motion state data OD2 represents the motion state of the mobile machine 18 that performs actions based on the processor 50. Similar to the motion state data OD1 mentioned above, it includes the position P of the mobile machine 18 (specifically, the end effector 14 or TCP that moves via the mobile machine 18). B Speed V B acceleration αB The distance d to the teaching point Pn B and the movement time t B .
[0071] The processor 50 functions as an action state data acquisition unit 60, and is able to acquire these positions P based on the action command OC2 for causing the moving machine 18 (servo motor 38) to move or the feedback FB2 from the sensor 44. B Speed V B acceleration α B Distance d B and the movement time t B .
[0072] Specifically, the processor 50 is able to obtain the position P based on the action instruction OC2 (position instruction) used to make the moving mechanism 18 move. B Alternatively, the position P can be determined based on feedback FB1 from sensor 34 and feedback FB2 from sensor 44. B Additionally, processor 50 is capable of operating at speed V as described above. A acceleration α A Distance d A and the movement time t A Similarly, the velocity V is obtained based on the action command OC2 or feedback FB1 and FB2. B acceleration α B Distance d B and the movement time t B .
[0073] When the adaptive control start instruction AD2 is received from the work procedure PG, the processor 50 switches the mobile machine for which motion status data OD is being acquired for adaptive control from mobile machine 16 to mobile machine 18 as specified in the command message: "Adaptive control start [mobile machine 18]", and begins acquiring motion status data OD2 of mobile machine 18. In this embodiment, the processor 50 functions as an input switching unit 64 that switches the mobile machine for which motion status data OD is being acquired from mobile machine 16 to mobile machine 18 according to the specified instruction (adaptive control start instruction AD2).
[0074] Then, during the period when the processor 50 moves the end effector 14 toward the teach points P5 and P6 by the action of the moving mechanism 18 (command text in lines 8 and 9 of the job program PG), similarly to the first adaptive control AC1 described above, it executes the operation based on the motion state data OD2 (position P). B Speed V B acceleration α B Distance d Band the movement time t B The second adaptive control AC2 is used to adjust the output value OP. Then, when the processor 50 receives the "end" command text shown in line 10 of the job program PG, it stops the operation of the working machine 12, the end effector 14, and the moving machine 18, thereby ending the job.
[0075] As described above, in this embodiment, the processor 50 functions as an input switching unit 64, dynamically switching between multiple mobile machines 16 and 18 according to the adaptive control command AD, targeting the mobile machine for acquiring motion state data OD. With this structure, a common work procedure PG can be used for the multiple mobile machines 16 and 18, and dynamic switching can be performed between the first adaptive control AC1 and the second adaptive control AC2 during the execution of the work procedure PG. This simplifies the work procedure PG.
[0076] Furthermore, in this embodiment, the processor 50 receives adaptive control start instructions AD1 and AD2 from the work program PG. According to this structure, the processor 50 can automatically switch between the moving machines 16 and 18 according to the instructions AD from the work program PG, thereby enabling automatic switching between the first adaptive control AC1 and the second adaptive control AC2.
[0077] In another example of this embodiment, the processor 50 acquires motion state data OD based on motion instructions OC for causing the mobile machines 16 and 18 to move. In this case, the processor 50 is able to acquire the motion instructions OC before causing the mobile machines 16 and 18 to move, and therefore can quickly execute adaptive control AC using the motion instructions OC.
[0078] Furthermore, when using motion state data OD obtained from motion command OC during adaptive control AC, processor 50 can also determine the status after a predetermined time t has elapsed since the motion command OC was sent to the mobile machinery 16, 18. D At that time, the motion state data OD is obtained according to the motion instruction OC, and adaptive control AC is executed according to the motion state data OD. The specified time t... D The time delay from the time the action command OC is sent until the actual movement of the end effector 14 of the moving machinery 16 and 18 begins can be considered in determining the time.
[0079] In other examples of this embodiment, the processor 50 acquires motion state data OD based on feedback FB supplied from the mobile machines 16, 18 (specifically, sensors 34, 44) to the control device 20 when the mobile machines 16, 18 are operated. According to this structure, the processor 50 can perform adaptive control AC using the motion state data OD that accurately represents the actual motion of the mobile machines 16, 18.
[0080] Furthermore, the functions of the aforementioned mobile mechanical action unit 58, action status data acquisition unit 60, adaptive control execution unit 62, and input switching unit 64 are functional modules implemented by a computer program (i.e., job program PG) executed by the processor 50. The computer program (job program PG) may also be provided in the form of a computer-readable recording medium such as a semiconductor memory, magnetic recording medium, or optical recording medium.
[0081] Next, refer to Figure 4 and Figure 5 The mechanical system 70 in other embodiments will now be described. The mechanical system 70 differs from the mechanical system 10 described above in that it also includes a teaching pendant 72. The teaching pendant 72 is, for example, a mobile computer such as a teach pendant or a tablet terminal device, and includes a display unit 74 (LCD, OLED display, etc.), an operation unit 76 (press buttons, touch sensors, etc.), a processor, and a memory (none shown). The teaching pendant 72 can be connected to the I / O interface 54 via wireless or wired communication.
[0082] The operator operates the control unit 76 while visually confirming the image displayed on the display unit 74, enabling the mobile machinery 16 and 18 to perform micro-motions. By using the teaching device 72 to perform micro-motions on the mobile machinery 16 and 18, the operator teaches the mobile machinery 16 and 18 a series of actions for the operation, thereby generating a work procedure PG.
[0083] For example, when generating the work procedure PG shown in Table 1, the operator operates the operation unit 76 to send a teaching instruction from the teaching device 72 to the control device 20 to cause the mobile machine 16 to perform a micro-motion. When doing so, the processor 50 of the control device 20 functions as the mobile machine action unit 58, generating an action instruction OC1 for the mobile machine 16 based on the teaching instruction, thereby causing the mobile machine 16 to perform a micro-motion. In this way, the operator can teach the teaching points P1, P2, P3, and P4 where the mobile machine 16 should position the end effector 14, thereby writing the command text shown in rows 1, 3, 5, and 6 of Table 1 to the work procedure PG.
[0084] Similarly, the operator operates the operation unit 76 to send a teaching instruction from the teaching device 72 to the control device 20 to cause the mobile machine 18 to perform a micro-motion. According to the teaching instruction, the processor 50 functions as the mobile machine action unit 58 and generates an action instruction OC2 for the mobile machine 18 to cause the mobile machine 18 to perform a micro-motion.
[0085] In this way, the operator can teach the operator to point P5 and P6, whereby the mobile machinery 18 should position the end effector 14, thereby writing the command text shown in rows 8 and 9 of Table 1 into the work procedure PG. Additionally, the operator can operate the operation unit 76 to write the command text shown in row 2 of Table 1 into the work procedure PG.
[0086] In this embodiment, the operation unit 76 has an operation unit 76a allocated for teaching the adaptive control AC. For example, after teaching the teaching point P2 shown in the third row of Table 1, when the operator operates the operation unit 76a to teach the first adaptive control AC1, the teaching device 72 sends an adaptive control start command AD1 to the control device 20.
[0087] When the adaptive control start command AD1 is received, the processor 50 functions as an input switching unit 64 to switch the moving machine to be acquired for motion state data OD to the moving machine 16. Then, the processor 50 functions as a motion state data acquisition unit 60 to begin acquiring motion state data OD1, and functions as an adaptive control execution unit 62 to begin the first adaptive control AC1. At the same time, the processor (or processor 50) of the teaching device 72 automatically writes the command "Adaptive control start [moving machine 16]" shown in row 4 of Table 1 to the work program PG.
[0088] Furthermore, after teaching point P4 shown in row 6 of Table 1, when the operator operates the operation unit 76a to teach the second adaptive control AC2, the teaching device 72 sends an adaptive control start command AD2 to the control device 20. When the adaptive control start command AD2 is received, the processor 50 functions as an input switching unit 64 to switch the moving machine that is to be set as the target for acquiring motion state data OD from the moving machine 16 to the moving machine 18.
[0089] Then, the processor 50 functions as the motion state data acquisition unit 60 to begin acquiring the motion state data OD2 after the switch, and functions as the adaptive control execution unit 62 to begin the second adaptive control AC2. At the same time, the processor (or processor 50) of the teaching device 72 automatically writes the command "Adaptive control start [moving machine 18]" shown in row 7 of Table 1 to the work program PG.
[0090] In this embodiment, the processor 50 receives adaptive control commands AC from the teaching device 72 for teaching actions to mobile machines 16 and 18, and switches between mobile machines 16 and 18 to obtain the mobile machine whose action state data OD is set as the target. According to this structure, the operator can teach the switching of the adaptive control AC through simple operations, and can easily generate a common work procedure PG between mobile machines 16 and 18.
[0091] Furthermore, the operation unit 76 of the teaching pendant 72 may also include an operation unit 76b allocated for switching the mobile machine that is set as the target for acquiring motion state data OD. In this case, when the operator operates the operation unit 76b, the processor 50 receives the mobile machine switching command from the teaching pendant 72 and functions as an input switching unit 64 to switch the mobile machine that is set as the target for acquiring motion state data OD from mobile machine 16 to mobile machine 18. Alternatively, in conjunction with the switching action of the mobile machine, the processor 50 may function as a motion state data acquisition unit 60 to automatically start acquiring the motion state data OD after the switch, and may also function as an adaptive control execution unit 62 to automatically start the second adaptive control AC2.
[0092] Furthermore, the mechanical system 10 or 70 may also include multiple operating machines 12. Figure 6 and Figure 7 This method is shown in the diagram. Figure 6 and Figure 7 The mechanical system 80 shown differs from the mechanical system 70 described above in that it includes multiple working machines 12A and 12B. For example, working machine 12A is a laser oscillator that supplies laser EM1 to the end effector 14, while working machine 12B is a wire feed device that supplies and feeds wire EM2, which is a brazing material, to the end effector 14.
[0093] In this case, the end effector 14 can be a laser processing head that uses the laser EM1 supplied from the working machine 12A to heat the wire EM2 supplied from the working machine 12B as a heating device. The end effector 14, according to instructions from the control device 20, outputs a value OP1 along the output axis A2. _1The laser EM1 supplied from the working machine 12A is output, and outputs at a value OP2 along the output axis A2. _2 Output wire EM2 supplied from the working machine 12B.
[0094] Then, in the adaptive control AC, the processor 50, based on the motion state data OD of the moving machines 16 and 18, outputs the command OP based on the output value OP1 of the end effector 14. C_1 The output value OP1 is adjusted based on the baseline, and the output instruction OP is used to output the value OP2. C_2 The output value OP2 is adjusted based on the action state data OD. In this way, the processor 50 can also adaptively control multiple different output values OP1 and OP2 based on the action state data OD.
[0095] Alternatively, the working machine 12B may be a gas supply device that supplies auxiliary gas to the end effector 14, and the end effector 14 may be a laser processing head that performs laser processing on the workpiece by blowing the auxiliary gas supplied from the working machine 12B onto the workpiece and using the laser EM1 supplied from the working machine 12A. Alternatively, the mechanical system 80 may also include a working machine 12C as a gas supply device in addition to the working machines 12A and 12B.
[0096] The work procedure PG shown in Table 1 above is an example. The text and number of lines (i.e., the number of operations) of the specified command can be arbitrarily determined by the operator according to the work being performed. For example, the same command "Adaptive control start [moving machine 16]" as in line 4 can be added to the line following the command in line 9 of Table 1.
[0097] In this case, after the processor 50 uses the mobile machine 18 to position the end effector 14 to the teaching point P6, it switches the mobile machine that is set as the object of acquiring motion state data OD from the mobile machine 18 to the mobile machine 16, starts to acquire the motion state data OD1 of the mobile machine 16, and starts the first adaptive control AC1.
[0098] Alternatively, the command message in row 4 of Table 1 can be specified as, for example, "Mobile machine switch [Mobile machine 16]", which is a command message used to send a switching instruction to the processor 50 to switch the acquisition object of the motion status data OD to the mobile machine 16. In this case, when the processor 50 receives the switching instruction from the command message, it can also execute the action of switching the acquisition object of the motion status data OD to the mobile machine 16, and start the first adaptive control AC1 in conjunction with the switching action.
[0099] Similarly, the command text in row 7 of Table 1 can also be defined as "Mobile machine switch [Mobile machine 18]", which is a switching instruction sent to the processor 50 to switch the acquisition object of the motion state data OD to the mobile machine 18. In this case, the processor 50 can also execute the action of switching the acquisition object of the motion state data OD to the mobile machine 18 according to the switching instruction, and start the second adaptive control AC2 in conjunction with the switching action.
[0100] Alternatively, sensor 34 or 44 may also be a torque sensor for detecting the load torque applied to the rotation shaft of servo motor 32 or 38, or a current sensor for detecting the drive current of servo motor 32 or 38, and supply the detected load torque or drive current as feedback FB1 or FB2 to control device 20. Then, processor 50 may also acquire motion state data OD1 or OD2 (e.g., acceleration) based on feedback FB1 or FB2.
[0101] Furthermore, the operations performed by mechanical systems 10, 70, and 80 are not limited to the aforementioned laser processing operations, welding operations, brazing operations, or coating operations, but can also be any other operations. The working machine 12 and the end effector 14 can also be any type of device used to perform the operation.
[0102] Furthermore, in the above embodiment, the case where the mobile mechanism 18 is disposed on and moved by the mobile mechanism 16 is described. However, it is not limited to this; for example, the mobile mechanism 18 may also be a vertically multi-jointed device disposed alongside the mobile mechanism 16. In this case, the mobile mechanisms 16 and 18 may also constitute a so-called dual-wrist robot, cooperating with each other to move an end effector 14.
[0103] Furthermore, the mobile machine 16 is not limited to a vertical multi-joint robot; for example, it can also be a horizontal multi-joint robot, a parallel robot, or a worktable device with multiple ball screw mechanisms. Additionally, the machining system 10, 70, or 80 can also have three or more mobile machines.
[0104] The present disclosure has been described above through embodiments, but the above embodiments are not intended to limit the invention covered by the claims.
[0105] Explanation of reference numerals in the attached figures
[0106] 10, 70, 80: Mechanical system; 12, 12A, 12B: Working machinery; 14: End effector; 16, 18: Mobile machinery; 20: Control device; 50: Processor; 58: Mobile machinery motion unit; 60: Motion status data acquisition unit; 62: Adaptive control execution unit; 64: Input switching unit.
Claims
1. A control device that moves an end effector via a plurality of moving mechanisms and performs a predetermined operation on a workpiece via the end effector, the control device comprising: The mobile mechanical actuation unit moves the end effector by actuating the first mobile machine while the second mobile machine is stopped, and then moves the end effector by stopping the first mobile machine and actuating the second mobile machine. An action state data acquisition unit acquires action state data representing the action states of the first mobile machine and the second mobile machine that perform actions based on the mobile mechanical action unit. An adaptive control execution unit, during the period when the end effector is moved by the action of the first mobile machinery, increases or decreases the output value of the end effector while outputting an element used in the operation based on the operation state data of the first mobile machinery acquired by the operation state data acquisition unit; and during the period when the end effector is moved by the action of the second mobile machinery, the adaptive control execution unit increases or decreases the output value of the end effector while outputting the element based on the operation state data of the second mobile machinery acquired by the operation state data acquisition unit. When the end effector is moved by the action of the second moving machine, the input switching unit switches the target of the action status data to be acquired by the action status data acquisition unit from the first moving machine to the second moving machine according to a predetermined instruction.
2. The control device according to claim 1, wherein, The input switching unit receives the prescribed instructions from the work program used to perform the operation or from the teaching device used to teach the mobile machinery.
3. The control device according to claim 1, wherein, The motion status data includes at least one of the following: the position, speed, acceleration, distance to the teaching point, and travel time of the moving machine.
4. The control device according to claim 2, wherein, The motion status data includes at least one of the following: the position, speed, acceleration, distance to the teaching point, and travel time of the moving machine.
5. The control device according to any one of claims 1 to 4, wherein, The motion status data acquisition unit acquires the motion status data based on the motion command used by the mobile machinery motion unit to cause the mobile machinery to move, or the feedback supplied from the mobile machinery to the control device when the mobile machinery motion unit causes the mobile machinery to move.
6. A mechanical system comprising: Multiple moving machines that move an end effector; and The control device according to any one of claims 1 to 5.
7. The mechanical system according to claim 6, wherein, The plurality of mobile machines have: The first mobile machine; and The second mobile machine is disposed on the first mobile machine, moves by means of the first mobile machine, and is equipped with the end effector.
8. A method for moving an end effector via a plurality of moving mechanisms and performing a prescribed operation on a workpiece via the end effector, wherein in the method, The processor performs the following processing: The end effector is moved by activating the first moving machine while the second moving machine is stopped, and then the end effector is moved by activating the second moving machine while the first moving machine is stopped. Acquire motion state data representing the motion states of the first mobile machinery and the second mobile machinery; During the movement of the end effector caused by the action of the first mobile machinery, the output value of the end effector is increased or decreased while outputting the element used in the operation based on the acquired operation status data of the first mobile machinery; during the movement of the end effector caused by the action of the second mobile machinery, the output value of the element is increased or decreased while outputting the element based on the acquired operation status data of the second mobile machinery. as well as When the end effector is moved by the action of the second mobile machine, the object for acquiring the action status data is switched from the first mobile machine to the second mobile machine according to a predetermined instruction.
9. A computer program product comprising a computer program for causing the processor of claim 8 to perform the method of claim 8.
Citation Information
Patent Citations
Laser brazing process or laser welding process adaptive control by robot
JP2014198373A
Small locus working unit
JP1993318347A
Robot controller
JP2000271888A
Laser working apparatus and method of controlling laser working apparatus
US20080035619A1