Method, apparatus, electronic device and storage medium for simulating movement of a robotic arm
By drawing a virtual robotic arm on the front-end display interface of the semiconductor device and simulating the movement process of the real robotic arm, the problem of the robotic arm being unable to be monitored in real time is solved, and real-time monitoring and optimization of the real robotic arm is achieved.
Patent Information
- Application Number
- CN202411148985.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-20
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2044-08-20
AI Technical Summary
In semiconductor equipment, the movement of the robotic arm cannot be monitored in real time, resulting in the inability to automatically adjust and optimize according to the wafer transfer situation.
A virtual robotic arm corresponding to the real robotic arm is drawn on the display interface of the front-end device. By obtaining the robotic arm control instructions, the virtual target position is determined, and the movement of the virtual robotic arm is controlled according to the overall motion parameters and component motion parameters to simulate the movement process of the real robotic arm.
Real-time monitoring of the movement process of the real robotic arm is achieved. By observing the movement process of the virtual robotic arm, the movements of the real robotic arm can be understood, thereby improving production efficiency and transmission accuracy.
Smart Images

Figure CN118752490B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of semiconductor technology, and in particular to a method, device, electronic device and storage medium for simulating the movement of a robotic arm. Background Art
[0002] To improve production efficiency, transfer accuracy, and control performance, semiconductor equipment currently uses robotic arms to transfer wafers. These arms utilize suction cups to hold the wafers in place and then perform movements such as retraction, rotation, and lifting to transfer the wafers across the semiconductor equipment platform.
[0003] In this context, the role of robotic arms is particularly crucial. However, because the robotic arms are sealed within the semiconductor equipment platform and cannot be directly seen, their movements cannot be monitored in real time. This prevents operators from automatically adjusting and optimizing the system based on wafer transfer conditions within the semiconductor equipment. Therefore, the real-time monitoring of the robotic arm's movements has become a pressing technical challenge. Summary of the Invention
[0004] The present invention provides a method, device, electronic equipment and storage medium for simulating the movement of a robotic arm.
[0005] According to another aspect of the present invention, a method for simulating the movement of a robotic arm is provided, which is applied to a front-end device, wherein a display interface of the front-end device includes at least one virtual robotic arm, each virtual robotic arm corresponding to a real robotic arm on a wafer transfer platform. The method comprises:
[0006] In response to a controller of the semiconductor device sending a robotic arm control instruction to a real robotic arm on a wafer transfer platform, the robotic arm control instruction is obtained; wherein the robotic arm control instruction includes a target position to which the real robotic arm is to move when picking up or placing a wafer;
[0007] Determining a virtual target position corresponding to the target position in a display interface of the front-end device;
[0008] determining, based on the current position of the virtual robotic arm in the display interface and the virtual target position, overall motion parameters of the virtual robotic arm when it moves from the current position to the virtual target position and motion parameters of each virtual component constituting the virtual robotic arm;
[0009] The virtual robotic arm is controlled to move to the virtual target position according to the overall motion parameters and the motion parameters of the virtual components constituting the virtual robotic arm.
[0010] According to another aspect of the present invention, a device for simulating the movement of a robotic arm is provided, which is configured in a front-end device. The display interface of the front-end device includes at least one virtual robotic arm, each virtual robotic arm corresponding to a real robotic arm on a wafer transfer platform. The device includes:
[0011] an instruction acquisition module, configured to send a robotic arm control instruction to a real robotic arm on a wafer transfer platform in response to a controller of the semiconductor device, and acquire the robotic arm control instruction; wherein the robotic arm control instruction includes a target position to which the real robotic arm is to move when picking up or placing a wafer;
[0012] a position determination module, configured to determine a virtual target position corresponding to the target position in a display interface of the front-end device;
[0013] a parameter determination module, configured to determine, based on the current position of the virtual robotic arm in the display interface and the virtual target position, overall motion parameters of the virtual robotic arm when it moves from the current position to the virtual target position, and motion parameters of each virtual component constituting the virtual robotic arm;
[0014] The motion control module is used to control the virtual robotic arm to move to the virtual target position according to the overall motion parameters and the motion parameters of the virtual components constituting the virtual robotic arm.
[0015] According to another aspect of the present invention, an electronic device is provided, comprising:
[0016] at least one processor; and
[0017] a memory communicatively connected to the at least one processor; wherein,
[0018] The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can perform the method for simulating the movement of a robotic arm described in an embodiment of the present invention.
[0019] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the method for simulating the movement of a robotic arm according to an embodiment of the present invention when executed.
[0020] The technical solution of the embodiment of the present invention can make the movement process of the virtual robotic arm in the front-end display interface consistent with that of the real robotic arm. In this way, by observing the movement process of the virtual robotic arm in the front-end device, the movement process of the real robotic arm can be understood, thereby realizing the monitoring of the movement process of the real robotic arm.
[0021] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present invention, nor is it intended to limit the scope of the present invention. Other features of the present invention will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0023] Figure 1a Schematic diagram of a virtual robotic arm Robot in a front-end display interface provided according to an embodiment of the present invention;
[0024] Figure 1b is a flow chart of a method for simulating the movement of a robotic arm provided according to an embodiment of the present invention;
[0025] Figure 2 is a flow chart of another method for simulating the movement of a robotic arm provided according to an embodiment of the present invention;
[0026] Figure 3 is a flow chart of another method for simulating the movement of a robotic arm provided according to an embodiment of the present invention;
[0027] Figure 4 is a flow chart of another method for simulating the movement of a robotic arm provided according to an embodiment of the present invention;
[0028] Figure 5 1 is a schematic structural diagram of a device for simulating the movement of a robotic arm according to an embodiment of the present invention;
[0029] Figure 6 It is a structural diagram of an electronic device for implementing the method for simulating the movement of a robotic arm according to an embodiment of the present invention. DETAILED DESCRIPTION
[0030] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.
[0031] In order to monitor the movement of the real robot arm on the wafer transfer platform, the present invention pre-draws a virtual robot arm corresponding to the real robot arm in the display interface of the front-end device. The virtual robot arm can be a two-dimensional model or a three-dimensional model, which is not specifically limited here. For example, see Figure 1a , which shows a schematic diagram of a virtual robotic arm, Robot, in the front-end display interface. The virtual robotic arm consists of three virtual components: a first virtual component, Root; a second virtual component, Arm; and a third virtual component, Hand. Root is connected to Arm, and Arm is connected to Hand. Each virtual component can move relative to the other. For example, Hand moves relative to Arm, Arm moves relative to Root, and Root moves relative to a fixed point on the virtual robotic arm. Based on this, the method flow for simulating the motion of a real robotic arm can be found in the following example.
[0032] Example 1
[0033] Figure 1b A flowchart of a method for simulating the movement of a robotic arm is provided in an embodiment of the present invention. This embodiment is applicable to the scenario of monitoring the actual movement process of a robotic arm in a wafer transfer platform. The method can be executed by a device for simulating the movement of a robotic arm. The device for simulating the movement of a robotic arm can be implemented in the form of hardware and / or software. The device for simulating the movement of a robotic arm can be configured in an electronic device, such as a computer device or a mobile terminal.
[0034] like Figure 1b As shown, the method for simulating the movement of a robotic arm includes:
[0035] S101 , in response to a controller of a semiconductor device sending a robotic arm control instruction to a real robotic arm on a wafer transfer platform, obtaining the robotic arm control instruction.
[0036] In the embodiment of the present application, the semiconductor device can be an etching device, and the wafer transfer platform can be a component of the etching device, responsible for taking the wafer out of the carrier and transferring it to the corresponding process cavity. In the semiconductor production process, the controller of the semiconductor device can send a robot control instruction to the real robot arm on the wafer transfer platform to instruct the real robot arm to complete the picking or placing of the wafer; wherein the robot control instruction includes the target position to be moved to when the real robot arm picks or places the wafer.
[0037] In the embodiment of the present application, the wafer transfer platform includes two types of robot arms, one is the robot arm of the TM module (transfer module), and the other is the robot arm of the EFEM module (front-end equipment module). For the robot arm of the TM module (transfer module), the robot control instruction can include: Extend (extend the arm), Retract (arm retract), Pick (pick up the wafer), Place (place the wafer); wherein Pick specifically includes: Extend+WaitWafer (pick up the wafer and wait)+Retract; Place specifically includes: Extend+WaitWafer (place the wafer and wait)+Retract. For the robot arm of the EFEM module, the robot control instruction can include: HorizontalMoving: horizontal movement of X pixels; Moving: rotating to a specified position at the current horizontal position; Extending: the instruction combines Extend+WaitWafer+Retract action.
[0038] In the embodiment of the present application, when the controller of the semiconductor device issues a robot control instruction to the real robot arm of the wafer transfer platform, the front-end device can synchronously acquire the robot control instruction, so that the front-end device controls the virtual robot arm in the display interface of the front-end device to move synchronously according to the acquired robot control instruction, the purpose is to ensure that the movement process of the virtual robot arm is consistent with the movement process of the real robot arm. The specific movement process can be referred to the subsequent steps S102-S104.
[0039] S102, in the display interface of the front-end device, a virtual target position corresponding to the target position is determined.
[0040] In an embodiment of the present invention, the obtained robotic arm control instructions include the target position to which the real robotic arm is to move when picking up or placing a wafer. In order to control the movement process of the virtual robotic arm to be consistent with the movement process of the real robotic arm, it is necessary to determine the virtual target position to which the virtual robotic arm is to move from the display interface of the front-end device. During implementation, a plurality of corresponding virtual positions can be pre-defined in the display interface of the front-end device based on the multiple positions to which the real robotic arm may move. In this way, after determining the target position to which the real robotic arm is to move, the virtual target position can be determined from the display interface of the front-end device based on the corresponding relationship, that is, the position to which the virtual robotic arm in the display interface is to be moved.
[0041] S103. Determine, based on the current position of the virtual robotic arm in the display interface and the virtual target position, overall motion parameters of the virtual robotic arm when it moves from the current position to the virtual target position and motion parameters of each virtual component constituting the virtual robotic arm.
[0042] In an embodiment of the present invention, to control the movement of a virtual robotic arm to a virtual target position, the current position of the virtual robotic arm must first be determined. Then, based on the current position and the virtual target position, the motion parameters of the virtual robotic arm are determined. These parameters primarily include the overall motion parameters of the virtual robotic arm as it moves from the current position to the virtual target position, as well as the motion parameters of the virtual components that comprise the virtual robotic arm. The overall motion parameters may optionally be the overall rotation angle of the virtual robotic arm or the overall translation distance of the virtual robotic arm; the motion parameters of each virtual component may optionally be the rotation angle of each virtual component.
[0043] S104 : Control the virtual robotic arm to move to the virtual target position according to the overall motion parameters and the motion parameters of the virtual components constituting the virtual robotic arm.
[0044] In an embodiment of the present invention, the virtual robotic arm can be controlled to move as a whole based on the overall motion parameters determined in step S103. After the overall motion is completed, the virtual components of the virtual robotic arm can be controlled to move based on their motion parameters, for example, by controlling each virtual component to rotate, so that after each virtual component completes its motion, the end of the virtual robotic arm (i.e., the Hand virtual component) moves exactly to the virtual target position. In this way, the motion process of the virtual robotic arm is consistent with that of the real robotic arm, and the motion process of the real robotic arm can be monitored by observing the motion process of the virtual robotic arm.
[0045] In an embodiment of the present invention, the virtual robotic arm in the front-end display interface is controlled to move synchronously according to the control instructions of the real robotic arm, so that the movement process of the virtual robotic arm is consistent with that of the real robotic arm. In this way, the movement process of the real robotic arm can be understood by observing the movement process of the virtual robotic arm in the front-end device, thereby realizing the monitoring of the movement process of the real robotic arm.
[0046] Example 2
[0047] Figure 2 The present invention provides a flowchart of a method for simulating the movement of a robotic arm. Figure 2 , the method comprises the following steps:
[0048] S201 , in response to a controller of a semiconductor device sending a robotic arm control instruction to a real robotic arm on a wafer transfer platform, obtaining the robotic arm control instruction.
[0049] The robotic arm control instruction includes a target position to which the real robotic arm moves when picking up a wafer or placing a wafer.
[0050] S202. Determine, in the display interface of the front-end device, a virtual target position corresponding to the target position and a current position of the virtual robotic arm.
[0051] In the embodiment of the present invention, in addition to determining the virtual target position corresponding to the target position in the display interface of the front-end device, it is also necessary to determine the current position of the virtual robotic arm in the display interface.
[0052] S203: Acquire location attributes associated with the virtual target location and location attributes associated with the current location.
[0053] In an embodiment of the present invention, the position attributes associated with the virtual target position and the position attributes associated with the current position include the same parameter types, except that the specific values of the parameters are different. Specifically, the position attributes include the overall position parameters of the virtual robotic arm in the display interface, the angular orientation parameters of each virtual component when the virtual robotic arm is in a default state (e.g., a retracted state), and the angular orientation parameters of each virtual component when the end of the virtual robotic arm touches the virtual target position or the current position. Optionally, if the virtual robotic arm corresponds to a real robotic arm in a wafer transfer platform transmission module (i.e., a TM module), the overall position parameters in the position attributes are the overall angular orientation of the virtual robotic arm relative to a reference direction (which can be pre-set); if the virtual robotic arm corresponds to a real robotic arm in a device front-end module (i.e., an EFEM module) of a wafer transfer platform, the overall position parameters in the position attributes are the horizontal distance of the virtual robotic arm relative to a preset reference point.
[0054] For example, if the virtual robotic arm corresponds to a real robotic arm in the wafer transfer platform transfer module (i.e., TM module), the position attributes of the virtual target position are as follows: Start Position: X = 180, Root1 = 90, Arm1 = 170, Hand1 = 80; End Position: Root1 = 49, Arm1 = 176, Hand1 = 44. Here, StartPosition represents the position parameters of the virtual robotic arm at the virtual target position and in the default state; X = 180 indicates that the overall orientation angle of the virtual robotic arm relative to the reference direction is 180 degrees; "Root1 = 90, Arm1 = 170, Hand1 = 80" respectively represent the orientation angle values of each virtual component of the virtual robotic arm in the default state; and "End Position: Root1 = 49, Arm1 = 176, Hand1 = 44" represents the orientation angle values of each virtual component when the virtual robotic arm is extended and the end touches the virtual target position.
[0055] S204. Determine, based on the current position of the virtual robotic arm in the display interface and the virtual target position, overall motion parameters of the virtual robotic arm when it moves from the current position to the virtual target position and motion parameters of each virtual component constituting the virtual robotic arm.
[0056] In an optional implementation, the overall motion parameters of the virtual robotic arm when it moves from the current position to the virtual target position are determined based on the overall position parameters in the position attributes associated with the current position and the overall position parameters in the position attributes associated with the virtual target position; for example, the difference between the overall position parameters of the current position and the overall position parameters of the virtual target position is used as the overall motion parameters of the virtual robotic arm when it moves from the current position to the virtual target position. The motion parameters of the virtual components that make up the virtual robotic arm are determined based on the directional angle parameters of the virtual components included in the position attributes associated with the virtual target position when the virtual robotic arm is in a default state and the directional angle parameters of the virtual components when the end of the virtual robotic arm reaches the virtual target position.
[0057] For example, if the virtual robotic arm corresponds to a real robotic arm in the wafer transfer platform's transfer module, the current position's attributes are as follows: Start Position: X1 = 90, Root1 = 90, Arm1 = 170, Hand1 = 80; End Position: Root1 = 56, Arm1 = 174, Hand1 = 50. The virtual target position's attributes are as follows: Start Position: X2 = 180, Root1 = 90, Arm1 = 170, Hand1 = 80; End Position: Root1 = 49, Arm1 = 176, Hand1 = 44.
[0058] Thus, the overall motion parameter when moving from the current position to the virtual target position is the overall rotation angle, with a value of 90 (i.e., X2-X1); the motion parameter of Root1 is the rotation angle, with a value of -41 (i.e., the result of 49-90); the motion parameter of Arm1 is the rotation angle, with a value of 6 (i.e., 176-170); and the motion parameter of Hand1 is the rotation angle, with a value of -36 (i.e., the result of 44-80). It can be understood that the overall rotation angle and the rotation angle of each virtual component are in degrees; its positive value indicates clockwise rotation, and negative value indicates counterclockwise rotation.
[0059] S205 : Control the virtual robotic arm to move to the virtual target position according to the overall motion parameters and the motion parameters of the virtual components constituting the virtual robotic arm.
[0060] Optionally, the virtual robotic arm is controlled to translate or rotate as a whole according to the overall motion parameters; in response to the completion of the overall motion of the virtual robotic arm, each virtual component of the virtual robotic arm is controlled to move according to the motion parameters of each virtual component, so that the virtual robotic arm reaches the virtual target position after the motion is completed.
[0061] In an embodiment of the present invention, the overall motion parameters of the virtual robotic arm and the motion parameters of each virtual component can be accurately calculated based on the position attributes of the current position and the virtual target position. After the movement of the virtual robotic arm is controlled based on the overall motion parameters and the motion parameters of each virtual component, the movement process of the virtual robotic arm is consistent with the movement process of the real robotic arm. In this way, the movement process of the real robotic arm can be monitored by observing the movement process of the virtual robotic arm.
[0062] Example 3
[0063] Figure 3 The present invention provides a flowchart of a method for simulating the movement of a robotic arm. Figure 3 , the method comprises the following steps:
[0064] S301, in response to the controller of the semiconductor device sending a robot control instruction to a real robot arm on a wafer transfer platform, obtaining the robot control instruction.
[0065] The robot control instruction includes a target position to which the real robot arm is to be moved when picking up or placing a wafer.
[0066] S302, in the display interface of the front-end device, determining a virtual target position corresponding to the target position and a current position of a virtual robot arm.
[0067] S303, obtaining a position attribute associated with the virtual target position and a position attribute associated with the current position.
[0068] S304, according to the overall position parameter in the position attribute associated with the current position and the overall position parameter in the position attribute associated with the virtual target position, determining an overall motion parameter of the virtual robot arm when moving from the current position to the virtual target position.
[0069] In an optional implementation, if the virtual robot arm corresponds to a real robot arm in a wafer transfer platform transfer module, the overall position parameter in the position attribute is an overall direction angle of the virtual robot arm relative to a reference direction, and the overall motion parameter includes an overall rotation angle of the virtual robot arm. Correspondingly, the process of determining the overall motion parameter includes: determining the difference between the overall direction angle in the position attribute associated with the current position and the overall direction angle in the position attribute associated with the virtual target position; if the absolute value of the difference is greater than 180 degrees and the difference is greater than 0 degrees, the overall rotation angle is equal to the difference minus 360 degrees; if the absolute value of the difference is greater than 180 degrees and the difference is less than 0 degrees, the overall rotation angle is equal to the difference plus 360 degrees; if the absolute value of the difference is less than or equal to 180 degrees, the difference is directly taken as the overall rotation angle. It should be noted that through the above condition judgment, the best overall rotation angle can be found, and the determined overall rotation angle can be avoided to be inconsistent with the actual rotation of the virtual robot arm.
[0070] In another optional implementation, if the virtual manipulator corresponds to a real manipulator in the front-end module (i.e., EFEM module) of the wafer transfer platform equipment, the overall position parameter in the position attribute is the horizontal distance of the virtual manipulator relative to a preset reference point, and the overall motion parameter includes the translation distance and translation direction of the virtual manipulator. Accordingly, the process of determining the overall motion parameter includes: determining the difference between the horizontal distance in the position attribute associated with the current position and the horizontal distance in the position attribute associated with the virtual target position, and using the difference as the translation distance; if the difference is greater than 0, determining the translation direction to be rightward; if the difference is less than 0, determining the translation direction to be leftward. If the difference is equal to 0, it means that no translation is required.
[0071] S305. Determine the motion parameters of the virtual components that make up the virtual robotic arm based on the directional angle parameters of the virtual components when the virtual robotic arm is in a default state and the directional angle parameters of the virtual components when the end of the virtual robotic arm reaches the virtual target position, included in the position attributes associated with the virtual target position.
[0072] The specific determination process can be found in the description of the above embodiment and will not be repeated here.
[0073] S306 : Control the virtual robotic arm to move to the virtual target position according to the overall motion parameter and the motion parameters of the virtual components constituting the virtual robotic arm.
[0074] In the embodiment of the present invention, the optimal overall motion parameters can be determined to avoid the problem that the determined overall motion parameters do not conform to the actual motion conditions of the virtual robotic arm.
[0075] Example 4
[0076] Figure 4 The present invention provides a flowchart of a method for simulating the movement of a robotic arm. Figure 4 , the method comprises the following steps:
[0077] S401 , in response to a controller of a semiconductor device sending a robotic arm control instruction to a real robotic arm on a wafer transfer platform, obtaining the robotic arm control instruction.
[0078] The robotic arm control instruction includes a target position to which the real robotic arm moves when picking up a wafer or placing a wafer.
[0079] S402: Determine, in the display interface of the front-end device, a virtual target position corresponding to the target position and a current position of the virtual robotic arm.
[0080] S403: Acquire location attributes associated with the virtual target location and location attributes associated with the current location.
[0081] In this embodiment of the present invention, the position attributes associated with the virtual target position and the position attributes associated with the current position include the same parameter types, but differ in their specific values. Specifically, the position attributes include the overall position parameters of the virtual robotic arm in the display interface, the angular orientation parameters of each virtual component when the virtual robotic arm is in a default state (e.g., a retracted state), and the angular orientation parameters of each virtual component when the virtual robotic arm reaches the virtual target position or the current position.
[0082] S404: Determine overall motion parameters of the virtual robotic arm when it moves from the current position to the virtual target position according to overall position parameters in the position attributes associated with the current position and overall position parameters in the position attributes associated with the virtual target position.
[0083] S405. Determine the motion parameters of the virtual components that make up the virtual robotic arm based on the directional angle parameters of the virtual components when the virtual robotic arm is in a default state and the directional angle parameters of the virtual components when the end of the virtual robotic arm reaches the virtual target position, included in the position attributes associated with the virtual target position.
[0084] The specific implementation process of steps S401-S405 can be found in the above embodiment and will not be repeated here.
[0085] S406 : Control the virtual robotic arm to move to the virtual target position according to the overall motion parameter and the motion parameters of the virtual components constituting the virtual robotic arm.
[0086] In an optional implementation, a pre-set first time parameter is obtained; wherein the first time parameter is used to limit the time for the virtual robotic arm to move from the current position to the virtual target position, and the first time parameter can be determined in advance based on the movement process of the real robotic arm; according to the first time parameter and the overall motion parameter, the virtual robotic arm is controlled to translate or rotate as a whole; in response to the completion of the overall movement of the virtual robotic arm, according to the motion parameters of each virtual component of the virtual robotic arm, each virtual component is controlled to move, so that the virtual robotic arm reaches the virtual target position after the movement is completed.
[0087] It is understandable that the time parameter is introduced in the process of controlling the movement of the virtual robotic arm to ensure the movement rate of the virtual robotic arm and prevent the movement of the virtual robotic arm from being faster or slower than that of the real robotic arm.
[0088] S407 : In response to the message that the real robotic arm has successfully picked up the wafer or successfully put down the wafer, determine the motion parameters of each virtual component when the virtual robotic arm returns to a default state.
[0089] S408: Control the virtual manipulator to enter a default state according to the motion parameters of each virtual component.
[0090] In an embodiment of the present invention, after the virtual robotic arm moves to the virtual target position, if a message is received that the real robotic arm has successfully picked up the wafer or successfully put down the wafer, it indicates that the real robotic arm will enter the default scaling state. At this time, in order to ensure that the movement process of the virtual robotic arm and the real robotic arm is consistent, the virtual robotic arm also needs to be restored to the default state. In order for the virtual robotic arm to be restored to the default state, it is necessary to determine the motion parameters of each virtual component when the virtual robotic arm is restored to the default state. The calculation process of the motion parameters is as follows: using the direction angle of the virtual component under the default conditions, minus the current direction angle of the virtual component, the motion parameters (i.e., the rotation angle) of each virtual component can be obtained. Then, each virtual component is controlled to rotate according to the obtained motion parameters, so that the virtual robotic arm is restored to the default state. In this way, a new robotic arm control instruction can be obtained again, and the virtual robotic arm can be continued to be controlled according to the above process.
[0091] In the embodiment of the present invention, a time parameter is introduced in the process of controlling the movement of the virtual robotic arm, which can ensure the movement rate of the virtual robotic arm and prevent the movement process of the virtual robotic arm from being faster or slower than the movement process of the real robotic arm.
[0092] Example 5
[0093] Figure 5 This is a schematic diagram of the structure of a device for simulating the movement of a robotic arm provided by an embodiment of the present invention. This embodiment is applicable to scenarios where the movement of a real robotic arm in a wafer transfer platform is monitored, and the device is configured in a front-end device, wherein the display interface of the front-end device includes at least one virtual robotic arm, each of which corresponds to a real robotic arm on the wafer transfer platform, such as Figure 5 As shown, the device includes:
[0094] An instruction acquisition module 501 is configured to send a robotic arm control instruction to a real robotic arm on a wafer transfer platform in response to a controller of a semiconductor device, and acquire the robotic arm control instruction; wherein the robotic arm control instruction includes a target position to which the real robotic arm is to move when picking up or placing a wafer;
[0095] A position determination module 502 is configured to determine a virtual target position corresponding to the target position in the display interface of the front-end device;
[0096] a parameter determination module 503 for determining, based on the current position of the virtual robotic arm in the display interface and the virtual target position, overall motion parameters of the virtual robotic arm when it moves from the current position to the virtual target position, as well as motion parameters of each virtual component constituting the virtual robotic arm;
[0097] The motion control module 504 is configured to control the virtual robotic arm to move to the virtual target position according to the overall motion parameters and the motion parameters of the virtual components constituting the virtual robotic arm.
[0098] In some embodiments, the apparatus further comprises:
[0099] An attribute acquisition module is used to obtain position attributes associated with the virtual target position and position attributes associated with the current position; wherein the position attributes include the overall position parameters of the virtual robotic arm in the display interface, the directional angle parameters of each virtual component when the virtual robotic arm is in a default state, and the directional angle parameters of each virtual component when the end of the virtual robotic arm touches the virtual target position or the current position.
[0100] In some embodiments, the parameter determination module 503 includes:
[0101] a first parameter determination unit, configured to determine overall motion parameters of the virtual robotic arm when it moves from the current position to the virtual target position based on overall position parameters in the position attributes associated with the current position and overall position parameters in the position attributes associated with the virtual target position;
[0102] The second parameter determination unit is used to determine the motion parameters of each virtual component that constitutes the virtual robotic arm based on the directional angle parameters of each virtual component when the virtual robotic arm is in a default state and the directional angle parameters of each virtual component when the end of the virtual robotic arm touches the virtual target position, included in the position attributes associated with the virtual target position.
[0103] In some embodiments, if the virtual robotic arm corresponds to a real robotic arm in a transfer module of a wafer transfer platform, the overall position parameter in the position attribute is the overall direction angle of the virtual robotic arm relative to the reference direction, and the overall motion parameter includes the overall rotation angle of the virtual robotic arm;
[0104] Accordingly, the first parameter determination unit is further configured to:
[0105] Determine a difference between an overall direction angle in a position attribute associated with the current position and an overall direction angle in a position attribute associated with the virtual target position;
[0106] If the absolute value of the difference is greater than 180 degrees and the difference is greater than 0 degrees, the overall rotation angle is equal to the difference minus 360 degrees;
[0107] If the absolute value of the difference is greater than 180 degrees and the difference is less than 0 degrees, the overall rotation angle is equal to the difference plus 360 degrees;
[0108] If the absolute value of the difference is less than or equal to 180 degrees, the difference is directly used as the overall rotation angle.
[0109] In some embodiments, if the virtual manipulator corresponds to a real manipulator in a front-end module of a wafer transfer platform device, the overall position parameter in the position attribute is the horizontal distance of the virtual manipulator relative to a preset reference point, and the overall motion parameter includes the translation distance and translation direction of the virtual manipulator;
[0110] Accordingly, the first parameter determination unit is further configured to:
[0111] Determine a difference between a horizontal distance in a position attribute associated with the current position and a horizontal distance in a position attribute associated with the virtual target position, and use the difference as the translation distance;
[0112] If the difference is greater than 0, the translation direction is determined to be rightward;
[0113] If the difference is less than 0, it is determined that the translation direction is leftward.
[0114] In some embodiments, the motion control module 504 is further configured to:
[0115] Acquire a preset first time parameter; wherein the first time parameter is used to limit the time for the virtual robotic arm to move from the current position to the virtual target position;
[0116] Controlling the virtual robotic arm to translate or rotate as a whole according to the first time parameter and the overall motion parameter;
[0117] In response to the completion of the overall movement of the virtual robotic arm, each virtual component of the virtual robotic arm is controlled to move according to the movement parameters of each virtual component, so that the virtual robotic arm reaches the virtual target position after the movement is completed.
[0118] In some embodiments, the device further comprises a contraction control module for:
[0119] After the virtual robotic arm moves to the virtual target position, in response to a message that the real robotic arm has successfully picked up a wafer or successfully put down a wafer, determining motion parameters of each virtual component when the virtual robotic arm returns to a default state;
[0120] According to the motion parameters of the virtual components, the virtual manipulator is controlled to enter a default state.
[0121] The device for simulating the movement of a robotic arm provided in an embodiment of the present invention can execute the method for simulating the movement of a robotic arm provided in any embodiment of the present invention, and has functional modules and beneficial effects corresponding to the execution method.
[0122] Example 6
[0123] Figure 6 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or claimed herein.
[0124] like Figure 6 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., which is communicatively connected to the at least one processor 11. The memory stores a computer program that can be executed by the at least one processor. The processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 into the random access memory (RAM) 13. Various programs and data required for the operation of the electronic device 10 can also be stored in the RAM 13. The processor 11, ROM 12, and RAM 13 are connected to each other via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0125] A plurality of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a magnetic disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network, such as the Internet, and / or various telecommunication networks.
[0126] The processor 11 can be various general and / or special purpose processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 performs various methods and processes described above, such as the method of simulating the motion of a robotic arm.
[0127] In some embodiments, the method of simulating the motion of a robotic arm can be implemented as a computer program tangibly embodied in a computer readable storage medium, such as the storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded onto the RAM 13 and executed by the processor 11, one or more steps of the method of simulating the motion of a robotic arm described above can be performed. Alternatively, in other embodiments, the processor 11 can be configured to perform the method of simulating the motion of a robotic arm by any other appropriate means, such as by means of firmware.
[0128] Various implementations of the systems and techniques described above can be realized in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a complex programmable logic device (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0129] Computer programs for implementing the methods of the present invention can be written in any combination of one or more programming languages. These computer programs can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable device for simulating the motion of a robotic arm, so that when executed by the processor, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The computer programs can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0130] In the context of the present invention, computer-readable storage media can be tangible media that can contain or store a computer program for use with an instruction execution system, device or equipment or used in combination with an instruction execution system, device or equipment. Computer-readable storage media can include but are not limited to electronic, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, computer-readable storage media can be machine-readable signal media. More specific examples of machine-readable storage media can include electrical connections based on one or more lines, portable computer disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), optical fibers, portable compact disk read-only memories (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0131] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0132] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0133] A computing system may include clients and servers. The clients and servers are typically remote from each other and typically interact via a communication network. This client-server relationship arises through computer programs running on the respective computers, creating a client-server relationship. The server may be a cloud server, also known as a cloud computing server or cloud host. This server is a hosting product within the cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosting and VPS services.
[0134] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in the present invention can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved. This is not limited herein.
[0135] The above specific embodiments do not limit the scope of protection of the present invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention are intended to be included within the scope of protection of the present invention.
Claims
1. A method for simulating the movement of a robotic arm, characterized in that: Applied to a front-end device, the display interface of the front-end device includes at least one virtual robotic arm, each virtual robotic arm corresponds to a real robotic arm on a wafer transfer platform, and the method includes: In response to a controller of the semiconductor device sending a robotic arm control instruction to a real robotic arm on a wafer transfer platform, the robotic arm control instruction is obtained; wherein the robotic arm control instruction includes a target position to which the real robotic arm is to move when picking up or placing a wafer; Determining a virtual target position corresponding to the target position in a display interface of the front-end device; Obtaining position attributes associated with the virtual target position and position attributes associated with the current position of the virtual robotic arm in the display interface; wherein the position attributes include overall position parameters of the virtual robotic arm in the display interface, angular orientation parameters of each virtual component when the virtual robotic arm is in a default state, and angular orientation parameters of each virtual component when the end of the virtual robotic arm touches the virtual target position or the current position; the overall position parameter is the overall angular orientation of the virtual robotic arm relative to a reference direction or the horizontal distance of the virtual robotic arm relative to a preset reference point; determining, according to the overall position parameters in the position attributes associated with the current position and the overall position parameters in the position attributes associated with the virtual target position, overall motion parameters of the virtual robotic arm when it moves from the current position to the virtual target position; determining motion parameters of the virtual components constituting the virtual robotic arm based on the direction angle parameters of the virtual components when the virtual robotic arm is in a default state and the direction angle parameters of the virtual components when the end of the virtual robotic arm touches the virtual target position, included in the position attributes associated with the virtual target position; controlling the virtual robotic arm to move to the virtual target position according to the overall motion parameters and the motion parameters of the virtual components constituting the virtual robotic arm; The step of controlling the virtual manipulator to move to the virtual target position according to the overall motion parameters and the motion parameters of the virtual components constituting the virtual manipulator comprises: Obtaining a preset first time parameter; wherein the first time parameter is used to limit the time for the virtual robotic arm to move from the current position to the virtual target position, and the first time parameter is predetermined based on the movement process of the real robotic arm; Controlling the virtual robotic arm to translate or rotate as a whole according to the first time parameter and the overall motion parameter; In response to the completion of the overall movement of the virtual robotic arm, controlling each virtual component of the virtual robotic arm to move according to the motion parameters of each virtual component, so that the virtual robotic arm reaches the virtual target position after the movement is completed; Wherein, if the virtual robotic arm corresponds to a real robotic arm in a wafer transfer platform transfer module, the overall position parameter in the position attribute is the overall direction angle of the virtual robotic arm relative to the reference direction, and the overall motion parameter includes the overall rotation angle of the virtual robotic arm; Accordingly, determining the overall motion parameters of the virtual robotic arm when it moves from the current position to the virtual target position based on the overall position parameters in the position attributes associated with the current position and the overall position parameters in the position attributes associated with the virtual target position includes: Determine a difference between an overall direction angle in a position attribute associated with the current position and an overall direction angle in a position attribute associated with the virtual target position; If the absolute value of the difference is greater than 180 degrees and the difference is greater than 0 degrees, the overall rotation angle is equal to the difference minus 360 degrees; If the absolute value of the difference is greater than 180 degrees and the difference is less than 0 degrees, the overall rotation angle is equal to the difference plus 360 degrees; If the absolute value of the difference is less than or equal to 180 degrees, the difference is directly used as the overall rotation angle; If the virtual manipulator corresponds to a real manipulator in the front-end module of the wafer transfer platform device, the overall position parameter in the position attribute is the horizontal distance of the virtual manipulator relative to a preset reference point, and the overall motion parameter includes the translation distance and translation direction of the virtual manipulator; Accordingly, determining the overall motion parameters of the virtual robotic arm when it moves from the current position to the virtual target position based on the overall position parameters in the position attributes associated with the current position and the overall position parameters in the position attributes associated with the virtual target position includes: Determine a difference between a horizontal distance in a position attribute associated with the current position and a horizontal distance in a position attribute associated with the virtual target position, and use the difference as the translation distance; If the difference is greater than 0, the translation direction is determined to be rightward; If the difference is less than 0, it is determined that the translation direction is leftward.
2. The method according to claim 1, characterized in that After the virtual robotic arm moves to the virtual target position, the method further includes: In response to a message that the real robotic arm has successfully picked up a wafer or successfully put down a wafer, determining motion parameters of each virtual component when the virtual robotic arm returns to a default state; According to the motion parameters of the virtual components, the virtual manipulator is controlled to enter a default state.
3. A device for simulating the movement of a robotic arm, characterized in that: The device is configured on a front-end device, wherein the display interface of the front-end device includes at least one virtual robotic arm, each virtual robotic arm corresponding to a real robotic arm on a wafer transfer platform, and the device includes: an instruction acquisition module, configured to send a robotic arm control instruction to a real robotic arm on a wafer transfer platform in response to a controller of the semiconductor device, and acquire the robotic arm control instruction; wherein the robotic arm control instruction includes a target position to which the real robotic arm is to move when picking up or placing a wafer; a position determination module, configured to determine a virtual target position corresponding to the target position in a display interface of the front-end device; a parameter determination module, configured to determine, based on the current position of the virtual robotic arm in the display interface and the virtual target position, overall motion parameters of the virtual robotic arm when it moves from the current position to the virtual target position, and motion parameters of each virtual component constituting the virtual robotic arm; a motion control module, configured to control the virtual robotic arm to move to the virtual target position according to the overall motion parameters and the motion parameters of the virtual components constituting the virtual robotic arm; an attribute acquisition module, configured to acquire position attributes associated with the virtual target position and position attributes associated with the current position; wherein the position attributes include overall position parameters of the virtual robotic arm in the display interface, angular orientation parameters of each virtual component when the virtual robotic arm is in a default state, and angular orientation parameters of each virtual component when the end of the virtual robotic arm touches the virtual target position or the current position; the overall position parameter is the overall angular orientation of the virtual robotic arm relative to a reference direction or the horizontal distance of the virtual robotic arm relative to a preset reference point; The parameter determination module includes: a first parameter determination unit, configured to determine overall motion parameters of the virtual robotic arm when it moves from the current position to the virtual target position based on overall position parameters in the position attributes associated with the current position and overall position parameters in the position attributes associated with the virtual target position; a second parameter determination unit, configured to determine motion parameters of the virtual components constituting the virtual robotic arm based on the direction angle parameters of the virtual components when the virtual robotic arm is in a default state and the direction angle parameters of the virtual components when the end of the virtual robotic arm reaches the virtual target position, included in the position attributes associated with the virtual target position; The motion control module is also used to: Obtaining a preset first time parameter; wherein the first time parameter is used to limit the time for the virtual robotic arm to move from the current position to the virtual target position, and the first time parameter is predetermined based on the movement process of the real robotic arm; Controlling the virtual robotic arm to translate or rotate as a whole according to the first time parameter and the overall motion parameter; In response to the completion of the overall movement of the virtual robotic arm, controlling each virtual component of the virtual robotic arm to move according to the motion parameters of each virtual component, so that the virtual robotic arm reaches the virtual target position after the movement is completed; If the virtual robotic arm corresponds to a real robotic arm in a transfer module of a wafer transfer platform, the overall position parameter in the position attribute is the overall direction angle of the virtual robotic arm relative to the reference direction, and the overall motion parameter includes the overall rotation angle of the virtual robotic arm; Accordingly, the first parameter determination unit is further configured to: Determine a difference between an overall direction angle in a position attribute associated with the current position and an overall direction angle in a position attribute associated with the virtual target position; If the absolute value of the difference is greater than 180 degrees and the difference is greater than 0 degrees, the overall rotation angle is equal to the difference minus 360 degrees; If the absolute value of the difference is greater than 180 degrees and the difference is less than 0 degrees, the overall rotation angle is equal to the difference plus 360 degrees; If the absolute value of the difference is less than or equal to 180 degrees, the difference is directly used as the overall rotation angle; If the virtual manipulator corresponds to a real manipulator in the front-end module of the wafer transfer platform device, the overall position parameter in the position attribute is the horizontal distance of the virtual manipulator relative to a preset reference point, and the overall motion parameter includes the translation distance and translation direction of the virtual manipulator; Accordingly, the first parameter determination unit is further configured to: Determine a difference between a horizontal distance in a position attribute associated with the current position and a horizontal distance in a position attribute associated with the virtual target position, and use the difference as the translation distance; If the difference is greater than 0, the translation direction is determined to be rightward; If the difference is less than 0, it is determined that the translation direction is leftward.
4. An electronic device, characterized in that: include: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor. The computer program is executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 2.
5. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the method according to any one of claims 1 to 2 when executed.
Citation Information
Patent Citations
Method and system for avoiding collision of mechanical arms, robot and storage medium
CN113478492A