Motion control method, apparatus, system, and medium

CN116408787BActive Publication Date: 2026-09-29MACCURA MEDICAL INSTR CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111667196.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-31
Publication Date
2026-09-29
Estimated Expiration
2041-12-31

AI Technical Summary

Technical Problem

[0004]本申请实施例的目的是提供一种运动控制方法、装置、系统及介质,能够解决相关技术中抓取部件由起点至终点的移动时间较长的问题

Benefits of technology

[0010]本申请提供一种运动控制方法、装置、系统及介质,用于控制包括第一驱动臂和第二驱动臂的驱动结构,其中,驱动结构与抓取部件连接,第一驱动臂用于带动抓取部件在第一方向上运动,第二驱动臂用于带动抓取部件在第二方向上运动。本申请可以在第一时间段内控制第一驱动臂和第二驱动臂同时运动,驱动抓取部件由第一位置移动至第二位置。如此,在抓取部件的整个移动过程中,即第一时间段内,第一方向与第二方向上的驱动步骤可以同时进行,减少了抓取部件的运行时间。或者,本申请可以先在第二时间段内控制第一驱动臂运动,再在第三时间段内控制第二驱动臂运动,驱动抓取部件由第一位置移动至第二位置。由于第二时间段和第三时间段均包括第四时间段,因此在第四时间段内,第一驱动臂和第二驱动臂可以同时运动,即第一方向与第二方向上的驱动步骤可以同时进行,同样可以减少抓取部件的运行时间。并且,抓取部件在抓取反应杯移动时,还能够提升反应杯的转运效率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116408787B_ABST
    Figure CN116408787B_ABST
Patent Text Reader

Abstract

The application discloses a motion control method, device, system and medium, which are used for controlling a driving structure including a first driving arm and a second driving arm, the driving structure being connected with a grabbing component, the first driving arm being used for driving the grabbing component to move in a first direction, and the second driving arm being used for driving the grabbing component to move in a second direction, the method including: acquiring a first position, a second position and a running parameter of the driving structure; controlling the first driving arm and the second driving arm to move simultaneously in a first time period, and driving the grabbing component to move from the first position to the second position; or, first controlling the first driving arm to move in a second time period, then controlling the second driving arm to move in a third time period, and driving the grabbing component to move from the first position to the second position, wherein the second time period and the third time period both include a fourth time period, and the first driving arm and the second driving arm move simultaneously in the fourth time period.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of biotechnology, and in particular relates to a motion control method, device, system and medium. Background Technology

[0002] In the biomedical field, various experiments are frequently required, and modern testing laboratories are becoming increasingly automated. During experiments, reaction vessel transport systems can use gripping components to grasp reaction vessels and move them by driving the gripping components, thus automating the transport of reaction vessels between different modules, such as transferring reaction vessels from the detection module to the reaction module.

[0003] In related technologies, when controlling the gripping component to move from the starting point to the end point in a reaction cup transfer system, it is necessary to first drive the gripping component to move from the starting point to the transfer point along a first direction (e.g., the x-axis direction), and then control the gripping component to move from the transfer point to the end point along a second direction completely different from the first direction (e.g., the y-axis direction). The driving steps in the two directions cannot be performed simultaneously, resulting in a longer movement time for the gripping component from the starting point to the end point, which reduces the efficiency of reaction cup transfer. Summary of the Invention

[0004] The purpose of this application is to provide a motion control method, device, system, and medium that can solve the problem of long movement time of the gripping component from the starting point to the ending point in related technologies.

[0005] In a first aspect, embodiments of this application provide a motion control method for controlling a drive structure including a first drive arm and a second drive arm. The drive structure is connected to a gripping component. The first drive arm is used to drive the gripping component to move in a first direction, and the second drive arm is used to drive the gripping component to move in a second direction. The method includes: acquiring a first position, a second position, and operating parameters of the drive structure; controlling the first drive arm and the second drive arm to move simultaneously within a first time period, driving the gripping component to move from the first position to the second position; or, first controlling the first drive arm to move within a second time period, and then controlling the second drive arm to move within a third time period, driving the gripping component to move from the first position to the second position, wherein both the second and third time periods include a fourth time period, and the first and second drive arms move simultaneously within the fourth time period.

[0006] Secondly, embodiments of this application provide a motion control device for controlling a drive structure including a first drive arm and a second drive arm. The drive structure is connected to a gripping component. The first drive arm drives the gripping component to move in a first direction, and the second drive arm drives the gripping component to move in a second direction. The device includes: an acquisition module for acquiring a first position, a second position, and operating parameters of the drive structure; and a control module for controlling the first and second drive arms to move simultaneously within a first time period, driving the gripping component to move from the first position to the second position; or, the control module for first controlling the first drive arm to move within a second time period, and then controlling the second drive arm to move within a third time period, driving the gripping component to move from the first position to the second position, wherein both the second and third time periods include a fourth time period, and the first and second drive arms move simultaneously within the fourth time period.

[0007] Thirdly, embodiments of this application provide a motion control system, including the motion control device of the second aspect.

[0008] Fifthly, embodiments of this application provide a computer-readable storage medium storing computer program instructions, which, when executed by a processor, implement the steps of the motion control method of the first aspect.

[0009] In a sixth aspect, embodiments of this application provide a computer program product stored in a non-volatile storage medium, the program product being executed by at least one processor to implement the steps of the motion control method as described in the first aspect.

[0010] This application provides a motion control method, apparatus, system, and medium for controlling a drive structure including a first drive arm and a second drive arm. The drive structure is connected to a gripping component. The first drive arm drives the gripping component to move in a first direction, and the second drive arm drives the gripping component to move in a second direction. This application can control the first and second drive arms to move simultaneously within a first time period, driving the gripping component from a first position to a second position. Thus, during the entire movement of the gripping component, i.e., within the first time period, the driving steps in the first and second directions can be performed simultaneously, reducing the operating time of the gripping component. Alternatively, this application can first control the movement of the first drive arm within a second time period, and then control the movement of the second drive arm within a third time period, driving the gripping component from the first position to the second position. Since both the second and third time periods include a fourth time period, the first and second drive arms can move simultaneously within the fourth time period, meaning the driving steps in the first and second directions can be performed simultaneously, similarly reducing the operating time of the gripping component. Furthermore, when the gripping component grasps and moves the reaction vessel, it can also improve the transfer efficiency of the reaction vessel. Attached Figure Description

[0011] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0012] Figure 1 This is a schematic diagram of a motion control scenario in related technologies;

[0013] Figure 2 This is one of the flowcharts illustrating the motion control method provided in the embodiments of this application;

[0014] Figure 3 This is a second schematic flowchart of the motion control method provided in the embodiments of this application;

[0015] Figure 4 This is a schematic diagram of one of the application scenarios of the motion control method provided in the embodiments of this application;

[0016] Figure 5 This is a second schematic diagram illustrating an application scenario of the motion control method provided in this application embodiment;

[0017] Figure 6 This is the third flowchart illustrating the motion control method provided in the embodiments of this application;

[0018] Figure 7 This is the fourth flowchart illustrating the motion control method provided in the embodiments of this application;

[0019] Figure 8 This is a schematic diagram illustrating an example of the motion curve of the first target drive arm provided in an embodiment of this application;

[0020] Figure 9 This is a schematic diagram illustrating an example of the motion curve of the second target drive arm provided in an embodiment of this application;

[0021] Figure 10 This is a schematic diagram illustrating a first example of the interpolation effect provided in the embodiments of this application;

[0022] Figure 11 This is a schematic diagram of another example of the motion curve of the second target drive arm provided in the embodiments of this application;

[0023] Figure 12 This is a schematic diagram illustrating a second example of the interpolation effect provided in the embodiments of this application;

[0024] Figure 13 This is the fifth flowchart illustrating the motion control method provided in the embodiments of this application;

[0025] Figure 14 This is the sixth flowchart illustrating the motion control method provided in the embodiments of this application;

[0026] Figure 15 This is a schematic diagram illustrating the relationship between the speed and time of the first and second drive arms provided in the embodiments of this application;

[0027] Figure 16 This is a schematic diagram showing the relationship between the displacement and time of the first and second drive arms provided in the embodiments of this application;

[0028] Figure 17 This is a schematic diagram of an example of a motion control device provided in an embodiment of this application;

[0029] Figure 18 This is a schematic diagram of the hardware structure of a motion control device provided in an embodiment of this application. Detailed Implementation

[0030] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.

[0031] As in the background art, in the process of controlling the gripping component to move from the starting point to the ending point in a reaction vessel transfer system, it is necessary to first drive the gripping component to move along a first direction from the starting point to the transfer point, and then control the gripping component to move along a second direction completely different from the first direction from the transfer point to the ending point. The driving steps in the two directions cannot be performed simultaneously. Figure 1 As shown, the starting point is position A, and the ending point is position Q. The reaction cup transfer system first needs to control the drive arm 1 to move along the X-axis, thereby moving the gripping component from the starting point A to the transfer point W along the X-axis. Then, the drive arm 2 needs to be controlled to move along the Y-axis, thereby moving the gripping component from the transfer point O to the ending point Q along the Y-axis. Thus, in related technologies, drive arms 1 and 2 cannot move simultaneously, resulting in a longer movement time for the gripping component from the starting point A to the ending point Q. This reduces the transfer efficiency of the reaction cup when the gripping component grasps and transfers the cup.

[0032] To address the problems in related technologies, embodiments of this application provide a motion control method for controlling a drive structure including a first drive arm and a second drive arm. The drive structure is connected to a gripping component. The first drive arm drives the gripping component to move in a first direction, and the second drive arm drives the gripping component to move in a second direction. This application can control the first and second drive arms to move simultaneously within a first time period, driving the gripping component from a first position to a second position. Thus, during the entire movement of the gripping component, i.e., within the first time period, the driving steps in the first and second directions can be performed simultaneously, reducing the operating time of the gripping component. Alternatively, this application can first control the movement of the first drive arm within a second time period, and then control the movement of the second drive arm within a third time period, driving the gripping component from the first position to the second position. Since both the second and third time periods include a fourth time period, the first and second drive arms can move simultaneously within the fourth time period, meaning the driving steps in the first and second directions can be performed simultaneously, similarly reducing the operating time of the gripping component. Furthermore, after gripping the reaction cup, the gripping component can improve the transfer efficiency of the reaction cup, solving the problem of long movement time of the gripping component from the starting point to the end point in related technologies.

[0033] The motion control method provided in this application will be described in detail below with reference to the accompanying drawings, through specific embodiments and application scenarios.

[0034] Figure 2 This is a flowchart illustrating a motion control method provided in an embodiment of this application. The execution subject of the motion control method can be a motion control system, which can control a drive structure including a first drive arm and a second drive arm. The drive structure is connected to a gripping component. The first drive arm is used to drive the gripping component to move in a first direction, and the second drive arm is used to drive the gripping component to move in a second direction.

[0035] It should be noted that the aforementioned implementing entities do not constitute a limitation on this application.

[0036] like Figure 2 As shown, the motion control method provided in this application embodiment may include steps 210 and 220, or steps 210 and 230.

[0037] The motion control methods for steps 210 and 220 are described below:

[0038] Step 210: Obtain the operating parameters of the first position, the second position, and the driving structure.

[0039] The first position is the starting point, and the second position is the ending point.

[0040] For example, the first position can be Figure 1 Position A is shown, and the second position can be... Figure 1 The position Q is shown. Here, position A can be the location of the target reaction cup in the reaction cup tray, and position Q can be the location in the reaction module used to place the target reaction cup and cause the liquid in the target reaction cup to react.

[0041] Step 220: Control the first drive arm and the second drive arm to move simultaneously during the first time period, and drive the gripping component to move from the first position to the second position.

[0042] Specifically, the motion control system can control the first drive arm to move along the first direction within a first time period, and simultaneously control the second drive arm to move along the second direction, driving the gripping component to move from the first position to the second position. The movement trajectory of the gripping component can be the line connecting the first position and the second position.

[0043] Referring to the example above, by controlling the simultaneous movement of the first and second drive arms within a first time period, the gripping component can be driven to move from position A to position Q within the first time period. The movement trajectory of the gripping component can be approximated as... Figure 1 The line L(AQ) is shown.

[0044] The motion control method provided in this application embodiment allows the driving steps in the first direction and the second direction to be performed simultaneously during the entire movement process of the gripping component, i.e., within the first time period. This reduces the running time of the gripping component, effectively utilizes the first and second driving arms for the transfer of the reaction cup, and improves the transfer efficiency.

[0045] The motion control methods for steps 210 and 230 are described below:

[0046] Step 210: Obtain the operating parameters of the first position, the second position, and the driving structure.

[0047] Step 230: First, control the movement of the first drive arm during the second time period, and then control the movement of the second drive arm during the third time period to drive the gripping component to move from the first position to the second position. The second and third time periods both include a fourth time period, during which the first and second drive arms move simultaneously.

[0048] Specifically, the motion control system can control the first drive arm to move along the first direction during the fourth time period, and simultaneously control the second drive arm to move along the second direction. The movement trajectory of the gripping component can be an arc-shaped trajectory.

[0049] The motion control method provided in this application embodiment can first control the movement of the first drive arm during a second time period, and then control the movement of the second drive arm during a third time period, driving the gripping component to move from the first position to the second position. Since both the second and third time periods include a fourth time period, the first and second drive arms can move simultaneously during the fourth time period; that is, the driving steps in the first and second directions can be performed concurrently, which also reduces the operating time of the gripping component. Furthermore, the gripping component can improve the transfer efficiency of the reaction cup when gripping and moving it.

[0050] The motion control method provided in this application will be described in detail below with reference to specific embodiments:

[0051] In some embodiments of this application, before the gripping component moves from the first position to the second position, it can be determined in advance whether there is an obstacle between the first position and the second position, and different motion control methods can be adopted based on different scenarios.

[0052] Figure 3 This is a flowchart illustrating another motion control method provided in an embodiment of this application, as shown below. Figure 3 As shown, steps 310-340 may be included after step 210, wherein step 220 may include step 330, and step 230 may include step 340.

[0053] Step 310: Obtain the position parameters of the obstacle.

[0054] The position parameters can include obstacle coordinates and obstacle radius, where obstacle coordinates are the coordinates of the obstacle's center.

[0055] Step 320: Based on the first position, the second position, and the position parameters, determine whether there are obstacles on the first straight path from the first position to the second position.

[0056] The first straight path can be a straight line connecting the first position and the second position.

[0057] For example, the first straight path can be Figure 1 The line L(AQ) connecting position A and position Q is shown.

[0058] In one embodiment, step 320 may specifically include the following steps: determining a first straight path based on the first position coordinates and the second position coordinates; determining a first distance between the obstacle coordinates and the first straight path; if the first distance is greater than the obstacle radius, determining that there is no obstacle on the first straight path; or, if the first distance is less than or equal to the obstacle radius, determining that there is an obstacle on the first straight path.

[0059] Wherein, the first position coordinates are the coordinates corresponding to the first position, and the second position coordinates are the coordinates corresponding to the second position.

[0060] In one example, such as Figure 4 As shown, the first position is A, the second position is Q, the center of obstacle 401 is O, and the radius is R. The motion control system can obtain the first position coordinates (x1, y1), the second position coordinates (x2, y2), the obstacle coordinates (x0, y0), and the obstacle radius R. Based on the first position coordinates (x1, y1) and the second position coordinates (x2, y2), the equation of the first straight path, L(AQ), can be determined as y = k1x + b1. The first distance L1 is obtained based on this equation and the obstacle coordinates (x0, y0). By judging the relationship between L1 and R, it can be determined whether there is an obstacle on the first straight path L(AQ). Specifically, as... Figure 4 As shown, when L1 is greater than R, obstacle 401 is separate from L(AQ), therefore there is no obstacle on the first straight path, and the gripping component moves along the first straight path without touching obstacle 401; when L1 equals R, obstacle 401 is tangent to L(AQ), as shown... Figure 5 As shown, when L1 is less than R, obstacle 401 intersects with L(AQ). In both scenarios, there is an obstacle on the first straight path. Therefore, if the grabbing component moves along the first straight path, it will definitely touch obstacle 401.

[0061] Step 330: If there are no obstacles on the first straight path, control the first drive arm and the second drive arm to move simultaneously during the first time period; or, Step 340: If there are obstacles on the first straight path, control the first drive arm to move during the second time period first, and then control the second drive arm to move during the third time period.

[0062] In one example, such as Figure 4 As shown, when there are no obstacles on the first straight path L(AQ), the motion control system can drive the gripping component to move from position A to position Q within the first time period by controlling the first drive arm to move along the X-axis direction and the second drive arm to move along the Y-axis direction. The movement trajectory of the gripping component can be approximated as a straight line L(AQ).

[0063] In another example, such as Figure 5As shown, when there is an obstacle on the first straight path L(AQ), the motion control system can first control the first drive arm to move along the X-axis, driving the gripping component to move from position A to position B along the X-axis. Then, during the fourth time period, while the first drive arm is moving, the second drive arm is controlled to move along the Y-axis, driving the gripping component to move from position B to position P along the arc trajectory l1. Finally, only the second drive arm is controlled to move, driving the gripping component to move from position P to position Q along the Y-axis.

[0064] In this embodiment, when an obstacle exists on the first straight path, the first drive arm is controlled to move during a second time period, and the second drive arm is controlled to move during a third time period. Since the second and third time periods overlap into a fourth time period, compared to a method where the first and second drive arms operate completely separately, this application can effectively reduce operating time while avoiding obstacles, thus preventing the instrument throughput from being affected. Simultaneously, when the first drive arm moves from the beginning of the second time period to the beginning of the fourth time period, the second drive arm begins to move; when the first drive arm stops moving at the end of the third time period, the second drive arm continues to move. Therefore, the gripping component does not pause during the entire movement process, thus avoiding the two significant pauses that would occur if the first and second drive arms operated completely separately. This avoids vibration problems caused by pauses, ensuring smooth operation of the gripping component. When the gripping component grips the reaction vessel, it prevents liquid oscillation within the reaction vessel, ensuring that performance indicators and reaction results are not affected.

[0065] The motion control method provided in this application embodiment will be described in detail below in the scenario where there are no obstacles on the first straight path.

[0066] In some embodiments of this application, the first time period can be from a first start time to a first end time. In the case that there are no obstacles on the first straight path, in order to determine the end time of the operation of the first and second drive arms, Figure 6 This is a flowchart illustrating another motion control method provided in this application embodiment. Before step 330, the method may further include... Figure 6 Steps 610-640 are shown.

[0067] Step 610: When the drive gripping component moves from the first position to the second position, determine the distance to be moved corresponding to the first drive arm and the second drive arm respectively.

[0068] Specifically, the distances to be moved for the first and second drive arms can be determined based on the first and second position coordinates, respectively.

[0069] For example, the first direction is the X-axis, and the second direction is the Y-axis. Figure 4 As shown, the first position coordinates are (x1, y1) and the second position coordinates are (x2, y2). The distance to be moved by the first drive arm is x2-x1, and the distance to be moved by the second drive arm is y2-y1.

[0070] Step 620: Calculate the time to move for the first drive arm and the second drive arm respectively, based on the distance to be moved and the operating parameters of the drive structure.

[0071] Specifically, the operating parameters of the drive structure may include initial velocity, maximum velocity, acceleration, and jerk, wherein the initial velocity, maximum velocity, acceleration, and jerk of the first drive arm and the second drive arm are the same. The motion control system can calculate the waiting time of the first drive arm based on the operating parameters and the waiting distance of the first drive arm, and calculate the waiting time of the second drive arm based on the operating parameters and the waiting distance of the second drive arm.

[0072] Step 630: Determine the first target drive arm and the second target drive arm in the first drive arm and the second drive arm.

[0073] Among them, the first target drive arm is the drive arm with the longest waiting time among the first drive arm and the second drive arm, and the second target drive arm is the drive arm other than the first target drive arm. The waiting time of the first target drive arm is greater than the waiting time of the second target drive arm.

[0074] For example, the first drive arm is drive arm 1, and the second drive arm is drive arm 2. If the duration of motion to be performed corresponding to drive arm 1 is greater than the duration of motion to be performed corresponding to drive arm 2, then drive arm 1 is the first target drive arm, and drive arm 2 is the second target drive arm; conversely, if the duration of motion to be performed corresponding to drive arm 1 is less than the duration of motion to be performed corresponding to drive arm 2, then drive arm 2 is the first target drive arm, and drive arm 1 is the second target drive arm.

[0075] Step 640: Determine the first end time based on the target waiting time and the first start time corresponding to the first target drive arm, wherein the target waiting time is the interval between the first start time and the first end time.

[0076] The target waiting time is the waiting time of the first target drive arm, which is also the common running time of the first drive arm and the second drive arm.

[0077] Specifically, given the first start time, the first end time can be determined based on the first start time and the target motion duration. Therefore, the motion control system can control the first and second drive arms to start simultaneously at the first start time and stop simultaneously at the first end time.

[0078] Referring to the example above, the first start time is 8:00, the first drive arm is drive arm 1, and the second drive arm is drive arm 2. The waiting time for drive arm 1 is 60 seconds, and the waiting time for drive arm 2 is 40 seconds. Therefore, the target waiting time is 60 seconds. Thus, the motion control system can control drive arm 1 and drive arm 2 to start simultaneously at the first start time of 8:00 and stop simultaneously at the first end time of 8:01, that is, adjust the running time of drive arm 2 to be consistent with that of drive arm 1.

[0079] In this embodiment of the application, by controlling the first drive arm and the second drive arm to start simultaneously at the first start time and stop simultaneously at the first end time, the movement displacement of the gripping component from the starting point to the end point can be minimized, resulting in a straight-line trajectory, thereby reducing the movement distance and movement time of the gripping component to the greatest extent.

[0080] In some embodiments of this application, when the distances to be moved corresponding to the first drive arm and the second drive arm are different, in order to achieve simultaneous start-up of the first drive arm and the second drive arm at the first start-up moment, and simultaneous stop of the first drive arm and the second drive arm at the first end-up moment, Figure 7 This is a flowchart illustrating another motion control method provided in an embodiment of this application.

[0081] like Figure 7 As shown, after step 610, the method may further include steps 710-730.

[0082] Step 710: Determine the operating mode of the drive structure based on the distance to be moved of the first drive arm and the second drive arm, as well as the operating parameters of the drive structure.

[0083] The operating parameters of the drive structure include a first speed value and a first jerk value. The first speed value is the maximum speed corresponding to the first drive arm and the second drive arm, and the first jerk value is the jerk corresponding to the first drive arm and the second drive arm.

[0084] It should be noted that before the operating parameters of the first and second drive arms are adjusted, the initial speed, maximum speed and jerk of the first and second drive arms are the same. The initial speed can be zero or non-zero.

[0085] The operating modes of the driving structure provided in the embodiments of this application will be described in detail below:

[0086] The operating modes of the drive structure can include a first target model and a second target model. The first target model can be a 4S model, in which the speed-time variation curves of the first and second drive arms are 4-segment S-shaped curves. The second target model can be a 5S model, in which the speed-time variation curves of the first and second drive arms are 5-segment S-shaped curves.

[0087] It should be noted that, before the operating parameters of the first and second drive arms are adjusted, the initial speed, maximum speed and jerk of the first and second drive arms are the same. Therefore, the speed-time curves and jerk-time curves of the first and second drive arms are also exactly the same.

[0088] In 4S mode, the drive arm (either the first drive arm or the second drive arm) accelerates from its initial velocity with constant jerk, and after the acceleration phase (0-t) c ) and deceleration phase (t c -2t c After reaching its maximum speed, it decelerates with constant acceleration, undergoing an acceleration / deceleration phase (2t). c -3t c ) and deceleration phase (3t) c -4t c Decelerate to 0, complete the set total displacement, and finish the entire motion process.

[0089] In 5S mode, the drive arm accelerates from the initial speed with constant jerk, goes through acceleration and deceleration phases, reaches the maximum speed and then enters the constant speed phase to maintain constant speed motion. Then it decelerates with constant jerk, goes through acceleration and deceleration phases to decelerate to 0, completes the set total displacement, and completes the entire motion process.

[0090] The difference between 4S mode and 5S mode is that in 4S mode, the drive arm does not have a constant speed movement phase.

[0091] In one embodiment, in 4S mode, if the set total displacement s total Just enough to accelerate the S-curve to the set maximum speed v s Then, initially the velocity v0 = 0, and the acceleration a acc When k = , the expressions for the relationship between acceleration a, velocity v, displacement s and time t in each motion stage of the 4S mode are as follows:

[0092] Formulas (1)-(3) correspond to the acceleration phase:

[0093] a(t)=kt (1)

[0094]

[0095]

[0096] Point a corresponds to time point t. c The displacement corresponding to point a speed acceleration a(t) c )=kt c =a max a max This represents the maximum acceleration.

[0097] Formulas (4)-(6) correspond to the deceleration and acceleration phases:

[0098] a(t) = -kt + 2kt c (4)

[0099]

[0100]

[0101] Point b corresponds to time 2t. c The displacement corresponding to point b is s(2t). c )=kt c 3 , velocity v(2t) c )=kt c 2 acceleration a(2t) c ) = 0;

[0102] Formulas (7)-(9) correspond to the acceleration and deceleration phases:

[0103] a(t) = -kt + 2kt c (7)

[0104]

[0105]

[0106] Point c corresponds to time 3t. c The displacement corresponding to point c speed acceleration a(3t) c )=-kt c ;

[0107] Formulas (10)-(12) correspond to the deceleration phase:

[0108] a(t) = kt - 4kt c (10)

[0109]

[0110]

[0111] Point d corresponds to time 4t. c The displacement s(4t) corresponding to point d c )=2kt c 3 =s total Speed ​​v(4t) c =0, acceleration a(4t) c ) = 0.

[0112] Step 720: When the operating mode is the first target mode, adjust the jerk of the second target moving arm from the first jerk value to the second jerk value so that the ratio of the first jerk value to the second jerk value is the first ratio.

[0113] The first ratio is the ratio of the distance to be moved between the first target drive arm and the second target drive arm.

[0114] Specifically, in the above 4S mode, by s(4t c )=2kt c 3 Therefore, tc = (s / 2k) 1 / 3 , t 总 =4t c =4*(s / 2k)¹ / ³ = (32s / k) 1 / 3 ; by v(2t) c )=kt c 2 Therefore, Vmax = k * (s / 2k) 2 / 3 Therefore, when both the first and second target drive arms operate on a 4S curve and have the same jerk value, the larger the displacement, the longer the operating time. If it is desired that the first and second target drive arms have different displacements within the same operating time, this can be achieved by changing the jerk value of the second target drive arm.

[0115] For example, the first jerk value is kx, the second jerk value is ky, the distance to be moved corresponding to the first target drive arm is sx, the distance to be moved corresponding to the second target drive arm is sy, and the running time of both arms is t. c , then t 总 4t c (sx / 2kx) 1 / 3 =(sy / 2ky) 1 / 3Therefore, sx / kx = sy / ky, sx / sy = kx / ky. The first ratio is sx / sy, then the second acceleration value ky = kx*sy / sx. Since sx, sy, and kx are all known quantities, ky can be calculated based on these known quantities.

[0116] In one embodiment, controlling the first drive arm and the second drive arm to move simultaneously during a first time period may specifically include: when the operating mode is the first target mode, from the first start time to the first end time, controlling the first target drive arm to move based on a first speed value and a first jerk value, and controlling the second target drive arm to move based on the first speed value and the second jerk value.

[0117] For example, the first start time is 8:00, the first end time is 8:01, the first target drive arm is drive arm 1, the second target drive arm is drive arm 2, and the first speed value is Vmaxx. Then, in the 4S mode of the drive structure, the motion control system can control drive arm 1 to start at 8:00, moving with a first acceleration value kx and a first speed value Vmaxx, and stop at 8:01, with a displacement of sx within 60 seconds. Simultaneously, the motion control system can control drive arm 2 to start at 8:00, moving with a second acceleration value kx*sy / sx and a first speed value Vmaxx, and stop at 8:01, with a displacement of sy within 60 seconds.

[0118] In this embodiment, when the driving structure operates in the first target mode, by adjusting the jerk of the second target driving arm based on the operating parameters of the first target driving arm, the two driving arms can have different displacements within the same operating time. Therefore, even if the two arms correspond to different distances to be moved, each arm can complete the corresponding distance to be moved within the first time period, and the gripping component can be successfully driven to reach the endpoint from the starting point along the first straight path within the first time period, achieving a linear interpolation effect.

[0119] In some embodiments of this application, step 720 may specifically include: when the operating mode is the first target mode and the initial speeds of the first target drive arm and the second target drive arm are both zero, adjusting the jerk of the second target moving arm from the first jerk value to the second jerk value, so that the ratio of the first jerk value to the second jerk value is the first ratio.

[0120] In some other embodiments of this application, the operating parameters of the drive structure may further include a third speed value, which is the initial speed corresponding to the first drive arm and the second drive arm. Step 720 may specifically include: when the operating mode is the first target mode and the initial speeds of the first target drive arm and the second target drive arm are not zero, adjusting the jerk of the second target moving arm from the first jerk value to the second jerk value so that the ratio of the first jerk value to the second jerk value is the first ratio, and adjusting the initial speed of the second target drive arm from the third speed value to the fourth speed value so that the ratio of the third speed value to the fourth speed value is the first ratio.

[0121] Step 730: When the operating mode is the second target mode, adjust the jerk of the second target moving arm from the first jerk value to the second jerk value so that the ratio of the first jerk value to the second jerk value is the first ratio value, and adjust the maximum speed of the second target moving arm from the first speed value to the second speed value so that the ratio of the first speed value to the second speed value is the first ratio value.

[0122] For example, if the distance to be moved corresponding to the first target drive arm is sx and the distance to be moved corresponding to the second target drive arm is sy, then the first ratio is sx / sy. If the first jerk value is kx, then the second jerk value ky = kx*sy / sx, such that kx / ky = sx / sy; if the first velocity value is Vmaxx, then the second velocity value Vmaxy = Vmaxx*sy / sx, such that Vmaxx / Vmaxy = sx / sy.

[0123] In one embodiment, controlling the first drive arm and the second drive arm to move simultaneously during a first time period may specifically include: when the operating mode is the second target mode, from the first start time to the first end time, controlling the first target drive arm to move based on a first speed value and a first jerk value, and controlling the second target drive arm to move based on a second speed value and a second jerk value.

[0124] For example, the first start time is 8:00, the first end time is 8:01, the first target drive arm is drive arm 1, the second target drive arm is drive arm 2, and the first speed value is Vmaxx. Then, in the 4S mode of the drive structure, the motion control system can control drive arm 1 to start at 8:00, moving with a first acceleration value kx and a first speed value Vmaxx, and stop at 8:01, with a displacement of sx within 60 seconds. Simultaneously, the motion control system can control drive arm 2 to start at 8:00, moving with a second acceleration value kx*sy / sx and a second speed value Vmaxx*sy / sx, and stop at 8:01, with a displacement of sy within 60 seconds.

[0125] In this embodiment, when the driving structure operates in the second target mode, by adjusting the jerk and maximum speed of the second target driving arm based on the operating parameters of the first target driving arm, the two driving arms can have different displacements within the same operating time. Therefore, even if the two arms correspond to different distances to be moved, each arm can complete the corresponding distance to be moved within the first time period, and the driving gripping component can successfully reach the endpoint from the starting point along the first straight path within the first time period, achieving a linear interpolation effect.

[0126] In related technologies, if both the first and second drive arms run on an S-shaped curve (a curve showing the change in speed over time), the speed values ​​during the acceleration / deceleration phases of the theoretical S-shaped curve can be sampled at equal intervals to obtain a series of speed values. These speed values ​​are then used to create a microcontroller timer constant table. When the stepper motor is running, the constant table is output to the timer at equal time intervals to output the pulse signal at that speed. An interpolation algorithm is used to assist in controlling the pulse movement sequence of the first and second drive arms, so that the first and second drive arms can start and stop simultaneously, achieving the interpolation effect.

[0127] However, in the process of realizing this application, the inventors discovered the following problems with the related technology: the continuity of the S-curve depends on the number of sampling points on the curve. If there are few sampling points, a very obvious step-like S-curve speed map will be formed. If there are many sampling points, more memory resources will be consumed. If the running stroke is small, the running time will also be small, and the speed curve will not form a complete S-curve, failing to achieve the effect of smooth start and stop. Once the speedometer is fixed, the motor running speed cannot be adjusted at any time. Only by updating the microcontroller program can its speed curve be changed, which is not conducive to debugging and testing. Interpolation will interfere with the operation of the S-curve, causing deviations in the S-curve fitting, and the two cannot be performed simultaneously.

[0128] The motion control method provided in this application embodiment can achieve linear interpolation effect without adding extra interpolation algorithm interference, so that the first drive arm and the second drive arm can move on two axes or simultaneously without interfering with each other. The speed and time change curves of the first drive arm and the second drive arm are both standard S-shaped curves, which have low resource consumption, simple implementation principle and smooth curves.

[0129] The following is combined with Figures 8-12 Taking the operating mode of the drive structure as the first target mode (4S mode), the movement direction of the first target drive arm as the X-axis, and the movement direction of the second target drive arm as the Y-axis as an example, the linear interpolation effect achieved by the motion control method provided in this application embodiment will be described in detail:

[0130] Figure 8This is a schematic diagram of an example of the motion curve of the first target drive arm provided in an embodiment of this application, wherein 801 is the curve of velocity versus time and 802 is the curve of displacement versus time; Figure 9 This is a schematic diagram of an example of the motion curve of the second target drive arm provided in an embodiment of this application, wherein 901 is the curve of velocity versus time and 902 is the curve of displacement versus time; Figure 10 This is a schematic diagram illustrating a first example of the interpolation effect provided in the embodiments of this application; Figure 11 This is a schematic diagram of another example of the motion curve of the second target drive arm provided in the embodiments of this application, wherein 1101 is the curve of velocity versus time and 1102 is the curve of displacement versus time; Figure 12 This is a schematic diagram of a second example of the interpolation effect provided in the embodiments of this application.

[0131] like Figure 8 and Figure 9 As shown, the displacement of the first target drive arm on the X-axis (hereinafter referred to as X-axis displacement) is 96 pulses, and the displacement of the second target drive arm on the Y-axis (hereinafter referred to as Y-axis displacement) is 84 pulses. If the motion control system controls both the first and second target drive arms to move at a first acceleration value of 1,000,000 steps / s... 2 The time required for the first target drive arm to complete 96 pulses is 133698 seconds, and the time required for the second target drive arm to complete 96 pulses is 127595 seconds. Since the horizontal axis time unit in the graph represents 0.000001 seconds per grid, the corresponding times are 0.133698 seconds and 0.127595 seconds, respectively. Therefore, when the target drive arms for the first and second targets have different distances to move, if they move with the same jerk, their time will differ significantly. Figure 10 As shown, because the second target drive arm moves faster and for a shorter time, the Y-axis displacement is always faster than the X-axis displacement. This causes the actual displacement curve 1001 to always be above the line 1002 connecting the start and end points (i.e., the ideal path). At most, it deviates from the ideal path by 5 pulses. When the displacement is larger, it may deviate even more, failing to achieve the effect of linear interpolation.

[0132] To ensure consistent running times on both axes, this application allows adjustment of the jerk of the two axes based on the ratio of their displacements. For example, when the jerk of the X and Y axes is the same but their displacements are different, the jerk of the Y axis is changed using the X axis as a reference. The calculation process is as follows: Second jerk value ky = kx / (sx / sy) = kx*sy / sx = 875000 steps / s 2 Change the Y-axis accelerometer to 875000 steps / s. 2 Then, its velocity-time curve is as follows: Figure 11 As shown in Figure 1101, its displacement-time curve is shown in Figure 1102. After adjustment of the Y-axis jerk, the running time corresponding to a displacement of 84 pulses is 133295. Figure 8 and Figure 11 In comparison, the end times of the X and Y axis velocity curves are 133698 and 133295 respectively, with a time difference of 403 seconds (0.000403s). This small difference allows for the simultaneous opening and closing of the first and second target drive arms, maximizing the effect of driving the gripping component to move along a linear trajectory. Figure 12 As shown, the first target drive arm is controlled to move at a first acceleration value of 1,000,000 steps / s², and the second target drive arm is controlled to move at a second acceleration value of 875,000 steps / s². 2 The actual displacement curve fluctuates around the line connecting the starting point and the ending point, between curve 1201 (the curve corresponding to an error of +1 pulse) and curve 1202 (the curve corresponding to an error of -1 pulse). Therefore, the error does not exceed ±1 pulse, which can achieve the effect of linear interpolation.

[0133] Because the stepper motor's operating pulses are discrete data with a minimum interval of 1 step, the actual operating effect is a stepped effect and it cannot run a standard straight line. This is determined by the characteristics of the stepper motor. However, in this embodiment, when the jerk of the second target drive arm is changed so that the running time of the two drive arms is the same, the ratio of the displacement of the two axes is equal to the ratio of the total displacement, and the error between the running trajectory and the actual curve will not exceed ±1 pulse. This makes the actual curve approach the ideal trajectory (i.e., the first straight path), driving the gripping component to run a straight line and meeting the interpolation accuracy requirements.

[0134] It should be noted that this method does not require additional interpolation algorithms. It only needs to utilize the resources of the original S-curve to achieve the effect of S-curve + interpolation. The two axes run simultaneously without interfering with each other, and there will be no phenomenon where one axis waits for the other axis to complete its movement before it begins. Furthermore, this method can be extended to 5S mode. When both axes run 5S curves in 5S mode, the 5S curve will have an additional uniform motion phase compared to the 4S curve. This involves a maximum speed parameter. When the maximum speed is also proportional to the distance to be moved, i.e., Vmaxx / Vmaxy=kx / ky=sx / sy, then the displacement during the uniform motion phase is also proportional to the distance to be moved. This ensures that the displacement curves of both axes coincide with the starting-end point line throughout the entire operation. The specific derivation process is similar to that of the 4S curve and will not be repeated here.

[0135] Meanwhile, in this embodiment, the operation of the two drive arms does not interfere with or affect each other. Therefore, when the dimension of the drive arm (or motor) in the drive structure is 3 or higher, this motion control method is also applicable. Specifically, by selecting the drive arm with the longest running time as the reference drive arm and appropriately adjusting the jerk or maximum speed of the other drive arms, three or more axes can move and stop simultaneously, and in a standard straight line in space without deviating from the track.

[0136] In one embodiment, the operating parameters of the drive structure may further include a first speed value, a third speed value, and a first acceleration value. The first speed value is the maximum speed corresponding to the first and second drive arms, the third speed value is the initial speed corresponding to the first and second drive arms, and the first acceleration value is the acceleration corresponding to the first and second drive arms. When both the first and second drive arms operate on a trapezoidal curve (a speed-time curve), the method may further include: adjusting the maximum speed of the second target moving arm from the first speed value to the second speed value, such that the ratio of the first speed value to the second speed value is a first ratio; adjusting the acceleration of the second target moving arm from the first acceleration value to the second acceleration value, such that the ratio of the first acceleration value to the second acceleration value is a first ratio; and adjusting the initial speed of the second target drive arm from the third speed value to a fourth speed value, such that the ratio of the third speed value to the fourth speed value is a first ratio. Wherein, the first ratio is the ratio of the distance to be moved by the first target drive arm to the distance to be moved by the second target drive arm.

[0137] The motion control method provided in this application embodiment will be described in detail below in the scenario where there are obstacles in the first straight path.

[0138] In some embodiments of this application, before step 340, the method may further include: determining a second time period and a third time period based on the first position coordinates, the second position coordinates, and the operating parameters of the driving structure.

[0139] The operating parameters of the drive structure may include the initial speed, acceleration and maximum speed of the first drive arm and the second drive arm. The second time period is from the second start time to the second end time of the first drive arm. The third time period is from the third start time to the third end time of the second drive arm. The third start time is before the second end time.

[0140] In order to determine the second and third time periods, Figure 13 This is a flowchart illustrating another motion control method provided in this application embodiment. The step of determining the second and third time periods based on the first position coordinates, the second position coordinates, and the operating parameters of the drive structure can specifically include: Figure 13 Steps 1310-1340 are shown.

[0141] Step 1310: Determine the target delay duration, third position coordinate, and fourth position coordinate based on the first position coordinate, the second position coordinate, and the operating parameters of the drive structure.

[0142] The third position coordinate is the position coordinate of the gripping component at the third start time, the fourth position coordinate is the position coordinate of the gripping component at the second end time, and the second distance between the second straight path from the third position coordinate to the fourth position coordinate and the obstacle coordinate is equal to the obstacle radius.

[0143] For example, such as Figure 5 As shown, the first position coordinates are point A (x1, y1), the second position coordinates are point Q (x2, y2), the third position coordinates are point B (x3, y1), and the fourth position coordinates are point P (x2, y4). The second straight path from the third position coordinates to the fourth position coordinates can be the equation of a straight line L(BP), where L(BP) is tangent to the obstacle circle.

[0144] The operating parameters of the drive structure may include the initial velocity Vo, maximum velocity Vmax, acceleration a, and maximum acceleration Amax of the first and second drive arms. It should be noted that the above operating parameters are the same for both the first and second drive arms.

[0145] In one embodiment, step 1510 may specifically include the following steps:

[0146] Step 1: Calculate the maximum displacement based on the initial velocity Vo, the maximum velocity Vmax, and the maximum acceleration Amax.

[0147] Specifically, the maximum displacement Smax can be calculated using formula (13):

[0148] Smax=(Vmax 2 -V0 2 ) / Amax (13)

[0149] Step 2: Determine the first running time corresponding to the first drive arm and the second drive arm based on the maximum displacement and the target displacement, wherein the target displacement is the sum of the distances to be moved corresponding to the first drive arm and the second drive arm.

[0150] For example, the first direction is the X-axis, and the second direction is the Y-axis. Figure 5 As shown, the first position coordinates are the coordinates of point A (x1, y1), the second position coordinates are the coordinates of point Q (x2, y2), then the distance to be moved by the first drive arm is x2-x1, the distance to be moved by the second drive arm is y2-y1, and the target displacement S is x2-x1+y2-y1.

[0151] Specifically, if the target displacement S≤Smax, the first running time is calculated by formula (14); if the target displacement S>Smax, the first running time is calculated by formula (15).

[0152]

[0153]

[0154] Where Trun is the first runtime.

[0155] Step 3, assume the target delay duration is t. d Then at t d When the first drive arm is at t ≤ 1 / 2 * Trun d The first displacement within the space is S1 = V0t d +1 / 2at d 2 Then at t d When the value is greater than 1 / 2 * Trun, the first drive arm at t d The first displacement within the range is S1 = 1 / 2 * S2 + (t) d -1 / 2*Trun)*(2V0+a*Trun-a*(t d -1 / 2*Trun)) / 2=V0 t d +a*t d *Trun-1 / 4*a*Trun 2 -1 / 2*a*t d 2 S2 is the distance to be moved corresponding to the first drive arm. The distance between the first position coordinate and the third position coordinate is S1. If the first position coordinate is (x1, y1), then the third position coordinate is (x1+S1, y1).

[0156] Step 4: Determine the runtime of the second drive arm moving from the third position coordinate to the fourth position coordinate as Trun-t. d That is, the time interval between the third start time and the second end time is Trun-t. d Then at t d When the second drive arm is ≤1 / 2*Trun, the second drive arm is at Trun-t d The second displacement within the range is S3 = V0(Trun - td) + 1 / 2a(Trun - td). 2 ; in Trun-t d When the value is greater than 1 / 2 * Trun, the second drive arm is at Trun-t dThe second displacement within the range is S3 = 1 / 2 * S4 + ((Trun - td) - 1 / 2 * Trun) * (2V0 + a * Trun - a * ((Trun - td) - 1 / 2 * Trun)) / 2. S4 is the distance to be moved corresponding to the first drive arm. If the third position coordinate is (x1 + S1, y1) and the second position coordinate is (x2, y4), then the fourth position coordinate is (x2, y1 + S3).

[0157] Step 5: Based on the fact that the second straight path from the third position coordinate to the fourth position coordinate and the second distance between the obstacle coordinates are equal to the obstacle radius, determine formula (16).

[0158]

[0159] Where k2 is the slope of the straight line equation y = k2x + b2 corresponding to the second straight path, b2 is its intercept, (x0, y0) are the coordinates of the obstacle, and R is the radius of the obstacle.

[0160] Step 6: Substitute the coordinates of the third position (x1+S1, y1) into the equation of the line y=k2x+b2 to obtain formula (17); Substitute the coordinates of the fourth position (x2, y1+S3) into the equation of the line y=k2x+b2 to obtain formula (18).

[0161] y1=k2(x1+S1)+b2 (17)

[0162] y1+S3=k2x2+b2 (18)

[0163] Step 7: Substitute formulas (14), (15), (17), and (18), as well as the formulas corresponding to S1 and S3, into formula (16) to obtain t. d The value of t, i.e., the target delay duration; based on t d The values ​​can be used to obtain S1 and S3, and thus the coordinates of the third and fourth positions.

[0164] For example, such as Figure 5 As shown, the first position coordinates are point A (x1, y1), and the third position coordinates are point B (x3, y1). The delay time t of the first drive arm at the target is obtained. d After the first displacement S1 within the range, the coordinates of the third position (x3 = x1 + S1, y1) can be determined based on the coordinates of point A (x1, y1) and S1.

[0165] In some embodiments of this application, when the first drive arm accelerates and then decelerates between the second and third start times, and the second drive arm accelerates between the second and fourth end times, the slope of the straight line equation corresponding to the second straight path is 1, i.e., k2 = 1. In this case, it can be determined that... And by obtaining formula (19), the target delay duration t can be calculated based on formula (19). d .

[0166]

[0167] Where S2 is the distance to be moved corresponding to the first drive arm, (x1, y1) is the first position coordinate, V0 is the initial velocity, and a is the acceleration.

[0168] In one example, V0 = 700, a = 60000, Vmax = 40000. Figure 5 The coordinates of point A are (2300, 5250), the coordinates of point Q are (5110, 14010), the coordinates of the obstacle center are (4000, 6000), and the radius R is 500. Therefore, the expected movement distance of the first drive arm is S2 = 4880, b2 = 1293, the first movement displacement is S1 = 3727, and the target delay time is td = 0.3628s. After this target delay time, the first drive arm moves from point A to point B (3957, 5250). The running time of the second drive arm from point B to point P (the fourth time interval) is the total running time Trun of the first drive arm minus the target delay time td, i.e., 0.5475 - 0.3628 = 0.1847s. Therefore, the second movement displacement of the second drive arm is S3 = 1153, and the fourth position coordinates of point P are (5110, 6403). (5110-230)-3727=1153, therefore, from the third start time to the second end time, the displacement of the first and second drive arms is consistent, both being 1153. Simultaneously, the slope of L(BP) is (6403-5250) / (5110-3957)=1153 / 1153=1, b=6403-5110=5250-3957=1293, consistent with expectations. The second distance from the obstacle center to L(BP) is 500, equal to the obstacle radius. The time saved in this example is: 0.5475-0.3628=0.1847s, which is the fourth time period. The time saving ratio is: 0.1847 / 1.293=0.143=14.3%.

[0169] In one example, if the first and third position coordinates are close, the second and fourth position coordinates are close, and the first and second drive arms have the same displacement during the fourth time interval, then the target delay is close to 0, and the running time of the two axes is basically the same. In this case, the total running time is half the time required for the first and second drive arms to run completely out of sync, representing the most time-efficient scenario, saving approximately 50% of the total running time.

[0170] Step 1320: Determine the third start time based on the target delay duration and the second start time.

[0171] The second start time is the start time of the first drive arm, the third start time is the start time of the second drive arm, and the target delay time is the interval between the second start time and the third start time, that is, the start interval between the first drive arm and the second drive arm.

[0172] For example, the second start time is T1, and the target delay duration is t. d Then the third start time T2 is T1+t d The second ending time is the time when the first drive arm stops operating.

[0173] Step 1330: Determine the second end time based on the second start time, operating parameters, and fourth position coordinates.

[0174] Specifically, the distance to be moved by the first drive arm can be determined based on the first position coordinates and the fourth position coordinates. Since the displacement of the first drive arm between the second start time and the second end time is the distance to be moved, the second end time can be determined based on the distance to be moved, the second start time, and the operating parameters of the first drive arm.

[0175] For example, the second start time is T1, and the second end time is T3, such as... Figure 5 As shown, the first position coordinates are the coordinates of point A (x1, y1), and the fourth position coordinates are the coordinates of point P (x2, y4). Therefore, the displacement of the first driving arm within T1-T3, i.e., the distance S2 to be moved, is x2-x1. Since x2-x1, T1, the initial velocity Vo, and the acceleration a are all known quantities, the second ending time T3 can be determined based on these known quantities.

[0176] Step 1340: Determine the third end time based on the third start time, operating parameters, and the distance to be moved by the second drive arm.

[0177] The third ending moment is the moment when the second drive arm stops running, and the distance to be moved is obtained based on the first position coordinates and the second position coordinates.

[0178] Specifically, the distance to be moved by the second drive arm can be determined based on the first position coordinates and the second position coordinates. Since the displacement of the second drive arm between the third start time and the third end time is the distance to be moved, the fourth end time can be determined based on the distance to be moved, the third start time, and the operating parameters of the second drive arm.

[0179] For example, the third start time is T2, and the third end time is T4, such as... Figure 5 As shown, the first position coordinates are point A (x1, y1), and the second position coordinates are point Q (x2, y2). Therefore, the displacement of the second driving arm within the range T2-T4, i.e., the distance S3 to be moved, is y2-y1. Since y2-y1, T2, the initial velocity Vo, and the acceleration a are all known quantities, the third ending time T4 can be determined based on these known quantities.

[0180] In some embodiments of this application, Figure 14 This is a flowchart illustrating another motion control method provided in an embodiment of this application. Step 340 may specifically include... Figure 14 Steps 1410-1430 are shown.

[0181] Step 1410: Control the movement of the first drive arm from the second start time to the third start time, and drive the gripping component to move from the first position coordinate along the first direction to the third position coordinate;

[0182] Step 1420: From the third start time to the second end time, control the first drive arm and the second drive arm to move simultaneously, and drive the gripping component to move from the third position coordinate to the fourth position coordinate along an arc trajectory.

[0183] Step 1430: Control the movement of the second drive arm from the second end time to the third end time, and drive the gripping component to move from the fourth position coordinate to the second position coordinate along the second direction.

[0184] Referring to the example above, the second start time is T1, the third start time is T2, the second end time is T3, and the third end time is T4. The first drive arm is drive arm 1, the second drive arm is drive arm 2, the gripping component is a gripper, the first direction is the x-axis direction, and the second direction is the y-axis direction. At T1, the motion control system only controls drive arm 1 to start running; from T1 to T2, drive arm 1 is controlled to move along the x-axis direction, driving the gripper from point A to point B along the x-axis direction; at T2, drive arm 2 is controlled to start running; from T2 to T3, drive arms 1 and 2 are controlled to move simultaneously, driving the gripper from point B to point P along the arc trajectory l1; at T3, drive arm 1 stops running; from T3 to T4, only drive arm 2 is controlled to move along the y-axis direction, driving the gripper from point P to point Q along the y-axis direction. Thus, by controlling drive arms 1 and 2, the gripper is driven to move from the starting point A to the ending point Q, completing the entire movement process.

[0185] In one embodiment, Figure 15 This is a schematic diagram illustrating the relationship between the speed and time of the first and second drive arms provided in an embodiment of this application. Figure 16 This is a schematic diagram illustrating the displacement versus time relationship of the first and second drive arms provided in an embodiment of this application. Figure 15 and 16 As shown, the motion control system controls the speed of the first drive arm based on curve 1501, so that the displacement of the first drive arm is as shown in curve 1601; the motion control system controls the speed of the second drive arm based on curve 1502, so that the displacement of the second drive arm is as shown in curve 1602.

[0186] In this embodiment, when obstacles exist between the starting and ending points, by staggering the start times of the first and second drive arms by a certain period (target delay time), obstacles such as the detection system or magnetic separation system can be completely avoided. Simultaneously, compared to a motion control method where the first and second drive arms operate completely separately, controlling the first and second drive arms to operate simultaneously effectively saves running time. Since the gripping component does not stop moving between the second start time and the third end time, it does not pause during the entire movement process. This avoids the two significant pauses that would occur if the first and second drive arms operated completely separately, thus preventing vibration problems caused by pauses and ensuring smooth operation of the gripping component. When the gripping component grips the reaction cup, it prevents liquid oscillation within the reaction cup, ensuring that performance indicators and reaction results are not affected.

[0187] In some embodiments of this application, in order to improve the transfer efficiency of the reaction cup, the method may further include: controlling the gripping component to grip a first target object at a first position and to place the first target object at a second position; or, controlling the gripping component to place a second target object at a first position and to grip a third target object at a second position.

[0188] The first target object, the second target object, and the third target object can be reaction vessels such as reaction cups and reaction tubes.

[0189] In one example, the grasping component is a gripper, the first target object is reaction cup 1, and the motion control system can... Figure 5 Position A is shown to control the gripper to grasp reaction cup 1, and position Q is shown to control the gripper to release reaction cup 1.

[0190] In another example, the grasping component is a gripper, the first target object is reaction cup 2, the second target object is reaction cup 3, and the motion control system can... Figure 5 Position A is indicated by controlling the gripper to drop reaction cup 2, and position Q is indicated by controlling the gripper to grab reaction cup 3.

[0191] In this embodiment, by controlling the first and second drive arms to operate according to the motion control method provided in this application, the gripping component is driven to move. The gripping component is controlled to grip a first target object at a first position and release the first target object at a second position, or to release a second target object at a first position and grip a third target object at a second position. This effectively improves the transfer efficiency of the reaction vessel. Simultaneously, since the gripping component can avoid pauses throughout the movement process, it avoids two significant pauses in the gripping component caused by the first and second drive arms operating completely separately. This avoids vibration problems caused by pauses, ensuring smooth operation of the gripping component. When the gripping component grips the reaction vessel, it prevents liquid oscillation within the reaction vessel, ensuring that performance indicators and reaction results are not affected.

[0192] In some embodiments of this application, the drive structure may further include a third drive arm, which is used to drive the gripping component to move in a third direction. The method may further include: during the process of driving the gripper component to move from the first position to the second position, controlling the third drive arm to move in a third direction, driving the gripping component to move to the target height.

[0193] Optionally, in one embodiment, the target height can be the sum of the reaction vessel height and a preset height. The preset height can be set according to specific needs, and this application does not impose any specific limitations on it.

[0194] In this way, by driving the gripping component to move to the target height, the gripping component can be positioned just above the reaction vessel, making it convenient to directly descend and grip the reaction vessel, while avoiding contact with other reaction vessels.

[0195] For example, the first direction is the x-axis, the second direction is the y-axis, and the third direction is the z-axis. The height of the gripping component at the starting point can be h1, and the target height h2 can be the sum of the height of the reaction cup and the thickness of the gripping component. The motion control system can control the first drive arm, the second drive arm, and the third drive arm to move along the x-axis, y-axis, and z-axis directions, respectively. During the process of driving the gripping component to move from the starting point to the ending point, the gripping component is simultaneously driven to descend from h1 to the target height h2, so that the gripping component reaches the height h2 at the ending point, that is, it is just above the reaction cup.

[0196] In this embodiment, while controlling the movement of the first and second drive arms, the third drive arm can also be controlled to move simultaneously, so that the gripping component's height is adjusted accordingly as it moves in the plane. This way, when the gripping component reaches its endpoint, its height can be adjusted to the target height, facilitating subsequent actions of gripping or dropping the reaction cup, thus improving the gripping and dropping efficiency of the reaction cup.

[0197] In another embodiment, the target height is smaller than the height of the reaction vessel.

[0198] In this way, by driving the gripping component to move to the target height, the reaction container can be positioned exactly between the two grippers of the gripping component, which facilitates the direct gripping of the reaction container without the need to perform a descent action, thereby further improving the gripping efficiency of the reaction container.

[0199] In one embodiment, the method may further include: controlling the gripping component to perform an opening action while driving the gripping component to move to the target height; and controlling the gripping component to grip the fourth target object at the second position.

[0200] The fourth target object can be a reaction vessel such as a reaction cup or reaction tube.

[0201] In one example, the motion control system can control the first, second, and third drive arms to move along the x, y, and z axes, respectively. While driving the gripping component from the starting point to the ending point, it simultaneously lowers the gripping component from height h1 to the target height h2. During the descent from h1 to h2, the gripping component can be controlled to perform an opening action, ensuring that the gripper is open when it reaches the ending point and is at height h2. If h2 is greater than the height of the reaction cup, the subsequent descent and gripping actions can be performed directly to grasp the reaction cup at the ending point, eliminating the need to perform the opening action after reaching h2, thus saving time. If h2 is less than the height of the reaction cup, the subsequent gripping actions can be performed directly to grasp the reaction cup at the ending point, again saving time.

[0202] In this embodiment, while driving the gripping component to move to the target height, the gripping component can be simultaneously controlled to perform an opening action. This eliminates the need to perform the opening action after reaching the endpoint, saving gripping time for the reaction cup and improving gripping efficiency.

[0203] It should be noted that the motion control method provided in the first aspect of this application can be executed by a motion control system or a control module in a motion control device. The motion control device will now be described in detail.

[0204] Figure 17 This is a schematic diagram of a motion control device provided in an embodiment of this application. The motion control device is used to control a drive structure including a first drive arm and a second drive arm. The drive structure is connected to a gripping component. The first drive arm drives the gripping component to move in a first direction, and the second drive arm drives the gripping component to move in a second direction. Figure 17 As shown, the motion control device 1700 may include: an acquisition module 1710 and a control module 1720.

[0205] The acquisition module 1710 is used to acquire the first position, the second position, and the operating parameters of the drive structure; the control module 1720 is used to control the first drive arm and the second drive arm to move simultaneously within a first time period, driving the gripping component to move from the first position to the second position; or, the control module 1720 is used to first control the first drive arm to move within a second time period, and then control the second drive arm to move within a third time period, driving the gripping component to move from the first position to the second position, wherein both the second and third time periods include a fourth time period, and the first and second drive arms move simultaneously within the fourth time period.

[0206] The motion control device provided in this application embodiment can control the simultaneous movement of the first and second drive arms within a first time period, driving the gripping component to move from a first position to a second position. Thus, during the entire movement of the gripping component, i.e., within the first time period, the driving steps in the first and second directions can be performed simultaneously, reducing the operating time of the gripping component. Alternatively, this application can first control the movement of the first drive arm within a second time period, and then control the movement of the second drive arm within a third time period, driving the gripping component to move from the first position to the second position. Since both the second and third time periods include a fourth time period, the first and second drive arms can move simultaneously within the fourth time period, meaning the driving steps in the first and second directions can be performed simultaneously, similarly reducing the operating time of the gripping component. Furthermore, the gripping component can also improve the transfer efficiency of the reaction cup when gripping and moving it.

[0207] In some embodiments of this application, the device further includes: an acquisition module, which is further configured to acquire position parameters of an obstacle before driving the gripping component to move from the first position to the second position; and a judgment module, which is configured to determine whether there is an obstacle on the first straight path from the first position to the second position based on the first position, the second position, and the position parameters.

[0208] In some embodiments of this application, the position parameters include obstacle coordinates and obstacle radius. Based on the first position, the second position, and the position parameters, the determination module includes: a determining unit, configured to determine a first straight path based on the first position coordinates and the second position coordinates; the determining unit is further configured to determine a first distance between the obstacle coordinates and the first straight path; the determining unit is further configured to determine that there is no obstacle on the first straight path when the first distance is greater than the obstacle radius, or to determine that there is an obstacle on the first straight path when the first distance is less than or equal to the obstacle radius.

[0209] In some embodiments of this application, the control module 1720 is specifically used to: control the first drive arm and the second drive arm to move simultaneously during a first time period when there are no obstacles on the first straight path; or, when there are obstacles on the first straight path, control the first drive arm to move during a second time period and then control the second drive arm to move during a third time period.

[0210] In some embodiments of this application, the first time period is from the first start time to the first end time. The device further includes: a determining module, configured to determine the expected movement distances corresponding to the first and second driving arms respectively, before controlling the first and second driving arms to move simultaneously within the first time period, when the driving gripping component moves from the first position to the second position; a calculating module, configured to calculate the expected movement durations corresponding to the first and second driving arms respectively based on the expected movement distances and the operating parameters of the driving structure; the determining module is further configured to determine the first target driving arm and the second target driving arm among the first and second driving arms, wherein the expected movement duration corresponding to the first target driving arm is greater than the expected movement duration corresponding to the second target driving arm; the determining module is further configured to determine the first end time based on the target expected movement duration corresponding to the first target driving arm and the first start time, wherein the target expected movement duration is the interval between the first start time and the first end time.

[0211] In some embodiments of this application, the device further includes: a determining module, configured to, after determining the distance to be moved of the first driving arm and the second driving arm, determine the operating mode of the driving structure based on the distance to be moved of the first driving arm and the second driving arm and the operating parameters of the driving structure, wherein the operating parameters of the driving structure include a first speed value and a first jerk value, the first speed value being the maximum speed corresponding to the first driving arm and the second driving arm, and the first jerk value being the jerk corresponding to the first driving arm and the second driving arm; and an adjusting module, configured to, when the operating mode is the first target mode, adjust the jerk of the second target moving arm from... The first accelerometer value is adjusted to a second accelerometer value so that the ratio of the first accelerometer value to the second accelerometer value is a first ratio. The adjustment module is also used to adjust the accelerometer of the second target moving arm from the first accelerometer value to the second accelerometer value when the operating mode is the second target mode, so that the ratio of the first accelerometer value to the second accelerometer value is a first ratio, and to adjust the maximum speed of the second target moving arm from the first speed value to the second speed value, so that the ratio of the first speed value to the second speed value is a first ratio. Wherein, the first ratio is the ratio of the distance to be moved of the first target driving arm to the distance to be moved of the second target driving arm.

[0212] In some embodiments of this application, the control module 1720 is specifically configured to: when the operating mode is the first target mode, from the first start time to the first end time, control the first target drive arm to move based on the first speed value and the first acceleration value, and control the second target drive arm to move based on the first speed value and the second acceleration value; when the operating mode is the second target mode, from the first start time to the first end time, control the first target drive arm to move based on the first speed value and the first acceleration value, and control the second target drive arm to move based on the second speed value and the second acceleration value.

[0213] In some embodiments of this application, the apparatus further includes: a determining module, configured to determine the second time period and the third time period based on the first position coordinates, the second position coordinates, and the operating parameters of the driving structure, before controlling the movement of the first driving arm in the second time period and then controlling the movement of the second driving arm in the third time period, in the case of an obstacle on the first straight path. The operating parameters of the driving structure include the initial speed, acceleration, and maximum speed of the first and second driving arms. The second time period is from the second start time to the second end time of the first driving arm, and the third time period is from the third start time to the third end time of the second driving arm, with the third start time being before the second end time.

[0214] In some embodiments of this application, the position parameters include obstacle coordinates and obstacle radius. The determining module is specifically used to: determine the target delay duration, the third position coordinate, and the fourth position coordinate based on the first position coordinate, the second position coordinate, and the operating parameters of the driving structure, wherein the third position coordinate is the position coordinate corresponding to the grasping component at the third start time, the fourth position coordinate is the position coordinate corresponding to the grasping component at the second end time, and the second distance between the second straight-line path from the third position coordinate to the fourth position coordinate and the obstacle coordinate is equal to the obstacle radius; determine the third start time based on the target delay duration and the second start time, wherein the target delay duration is the interval duration between the second start time and the third start time; determine the second end time based on the second start time, the operating parameters, and the fourth position coordinate; and determine the third end time based on the third start time, the operating parameters, and the distance to be moved of the second driving arm, wherein the distance to be moved is obtained based on the first position coordinate and the second position coordinate.

[0215] In some embodiments of this application, the control module 1720 is specifically configured to: control the movement of the first drive arm from the second start time to the third start time, driving the gripping component to move from the first position coordinate along the first direction to the third position coordinate; control the simultaneous movement of the first drive arm and the second drive arm from the third start time to the second end time, driving the gripping component to move from the third position coordinate along an arc trajectory to the fourth position coordinate; and control the movement of the second drive arm from the second end time to the third end time, driving the gripping component to move from the fourth position coordinate along the second direction to the second position coordinate.

[0216] In some embodiments of this application, the control module 1720 is further configured to control the gripping component to grip a first target object at a first position and place the first target object at a second position; or, to control the gripping component to place a second target object at a first position and grip a third target object at a second position.

[0217] In some embodiments of this application, the drive structure further includes a third drive arm, which is used to drive the gripping component to move in a third direction. The control module 1720 is also used to control the third drive arm to move in a third direction during the process of driving the gripper component to move from the first position to the second position, thereby driving the gripping component to move to the target height.

[0218] In some embodiments of this application, the control module 1720 is further configured to: control the gripping component to perform an opening action during the process of driving the gripping component to move to the target height; and control the gripping component to grip the fourth target object at the second position.

[0219] The motion control device provided in this application embodiment can achieve Figures 1-16 The various processes implemented by the motion control device in the method embodiment can achieve the same technical effect, and will not be described again here to avoid repetition.

[0220] Figure 18 This is a schematic diagram of the hardware structure of a motion control device provided in an embodiment of this application.

[0221] like Figure 18 As shown, the motion control device 1800 in this embodiment may include a processor 1801 and a memory 1802 storing computer program instructions.

[0222] Specifically, the processor 1801 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0223] Memory 1802 may include mass storage for data or instructions. For example, and not limitingly, memory 1802 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 1802 may include removable or non-removable (or fixed) media. Where appropriate, memory 1802 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 1802 is non-volatile solid-state memory. Memory may include read-only memory (ROM), random access memory (RAM), disk storage media devices, optical storage media devices, flash memory devices, electrical, optical, or other physical / tangible memory storage devices. Therefore, typically, a memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform operations described with reference to the methods according to embodiments of this application.

[0224] The processor 1801 implements any of the motion control methods described in the above embodiments by reading and executing computer program instructions stored in the memory 1802.

[0225] In one example, the motion control device 1800 may also include a communication interface 1803 and a bus 1810. For example, Figure 18 As shown, the processor 1801, memory 1802, and communication interface 1803 are connected through bus 1810 and complete communication with each other.

[0226] The communication interface 1803 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0227] Bus 1810 includes hardware, software, or both, that couples components of an online data traffic metering device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 1810 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.

[0228] The motion control device provided in this application embodiment is capable of achieving Figures 1-16 The various processes implemented by the motion control device in the method embodiment can achieve the same technical effect, and will not be described again here to avoid repetition.

[0229] In conjunction with the motion control methods described in the above embodiments, this application provides a motion control system, which includes the motion control device or motion control equipment described in the above embodiments. For details regarding the motion control device or motion control equipment, please refer to the relevant descriptions in the above embodiments, which will not be repeated here.

[0230] Furthermore, in conjunction with the motion control methods described in the above embodiments, this application embodiment can provide a computer storage medium for implementation. This computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement the steps of any of the motion control methods described in the above embodiments.

[0231] In conjunction with the motion control methods described in the above embodiments, this application can provide a computer program product for implementation. This (computer) program product is stored in a non-volatile storage medium, and when executed by at least one processor, it implements the steps of any of the motion control methods described in the above embodiments.

[0232] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0233] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0234] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0235] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.

[0236] The above description is merely a specific implementation of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.

Claims

1. A motion control method for controlling a drive structure including a first drive arm and a second drive arm, the drive structure being connected to a gripping component, the first drive arm driving the gripping component to move in a first direction, and the second drive arm driving the gripping component to move in a second direction, characterized in that... The method includes: Obtain the first position, the second position, and the operating parameters of the drive structure; Obtain the position parameters of the obstacle; based on the first position, the second position, and the position parameters, determine whether the obstacle exists on the first straight path from the first position to the second position; the position parameters include the obstacle coordinates and the obstacle radius; If there is no obstacle on the first straight path, control the first drive arm and the second drive arm to move simultaneously within a first time period, and drive the gripping component to move from the first position to the second position; When the obstacle exists on the first straight path First, the first drive arm is controlled to move during the second time period, and then the second drive arm is controlled to move during the third time period, driving the gripping component to move from the first position to the second position. The second time period and the third time period both include a fourth time period, during which the first drive arm and the second drive arm move simultaneously. Before controlling the movement of the first drive arm during the second time period and then controlling the movement of the second drive arm during the third time period, the method further includes: Based on the first position coordinates, the second position coordinates, and the operating parameters of the driving structure, the target delay duration, the third position coordinates, and the fourth position coordinates are determined. The third position coordinates are the position coordinates of the grasping component at the third start time, the fourth position coordinates are the position coordinates of the grasping component at the second end time, and the second distance between the second straight-line path from the third position coordinates to the fourth position coordinates and the obstacle coordinates is equal to the obstacle radius. The third start time is determined based on the target delay duration and the second start time, wherein the target delay duration is the interval duration between the second start time and the third start time; The second end time is determined based on the second start time, the operating parameters, and the fourth position coordinates; The third end time is determined based on the third start time, the operating parameters, and the distance to be moved by the second drive arm; The distance to be moved is obtained based on the first position coordinates and the second position coordinates; The operating parameters of the drive structure include the initial speed, acceleration and maximum speed of the first drive arm and the second drive arm, the second time period is from the second start time to the second end time of the first drive arm, and the third time period is from the third start time to the third end time of the second drive arm, wherein the third start time is before the second end time.

2. The method according to claim 1, characterized in that, The step of determining whether an obstacle exists on the first straight path from the first position to the second position based on the first position, the second position, and the position parameters includes: The first straight path is determined based on the first and second position coordinates; Determine the first distance between the coordinates of the obstacle and the first straight path; If the first distance is greater than the radius of the obstacle, it is determined that there is no obstacle on the first straight path; or... If the first distance is less than or equal to the radius of the obstacle, it is determined that the obstacle exists on the first straight path.

3. The method according to claim 1, characterized in that, The first time period is from the first start time to the first end time. Before controlling the first drive arm and the second drive arm to move simultaneously during the first time period, the method further includes: When the gripping component is driven to move from the first position to the second position, the distance to be moved corresponding to the first drive arm and the second drive arm is determined respectively; Based on the distance to be moved and the operating parameters of the drive structure, the time to be moved for the first drive arm and the second drive arm are calculated respectively. Determine the first target drive arm and the second target drive arm in the first drive arm and the second drive arm, wherein the time to be moved corresponding to the first target drive arm is greater than the time to be moved corresponding to the second target drive arm; The first end time is determined based on the target waiting time corresponding to the first target drive arm and the first start time, wherein the target waiting time is the interval between the first start time and the first end time.

4. The method according to claim 3, characterized in that, After determining the distance to be moved for the first drive arm and the second drive arm, the method further includes: Based on the distance to be moved of the first drive arm and the second drive arm, and the operating parameters of the drive structure, the operating mode of the drive structure is determined. The operating parameters of the drive structure include a first speed value and a first jerk value. The first speed value is the maximum speed corresponding to the first drive arm and the second drive arm, and the first jerk value is the jerk corresponding to the first drive arm and the second drive arm. When the operating mode is the first target mode, the jerk of the second target drive arm is adjusted from the first jerk value to the second jerk value so that the ratio of the first jerk value to the second jerk value is the first ratio; the first target mode is the 4S mode, and in the 4S mode, the speed-time change curves of the first drive arm and the second drive arm are 4-segment S-shaped curves; When the operating mode is the second target mode, the jerk of the second target drive arm is adjusted from the first jerk value to the second jerk value so that the ratio of the first jerk value to the second jerk value is the first ratio. The maximum speed of the second target drive arm is also adjusted from the first speed value to the second speed value so that the ratio of the first speed value to the second speed value is the first ratio. The second target mode is the 5S mode, and in the 5S mode, the speed-time change curves of the first and second drive arms are 5-segment S-shaped curves. Wherein, the first ratio is the ratio of the distance to be moved of the first target drive arm to the distance to be moved of the second target drive arm.

5. The method according to claim 4, characterized in that, The step of controlling the first drive arm and the second drive arm to move simultaneously during the first time period includes: When the operating mode is the first target mode, from the first start time to the first end time, the first target drive arm is controlled to move based on the first speed value and the first jerk value, and the second target drive arm is controlled to move based on the first speed value and the second jerk value; When the operating mode is the second target mode, from the first start time to the first end time, the first target drive arm is controlled to move based on the first speed value and the first jerk value, and the second target drive arm is controlled to move based on the second speed value and the second jerk value.

6. The method according to claim 1, characterized in that, The step of controlling the movement of the first drive arm during the second time period and controlling the movement of the second drive arm during the third time period includes: During the second start time to the third start time, the first drive arm is controlled to move, driving the gripping component to move from the first position coordinate along the first direction to the third position coordinate; From the third start time to the second end time, the first drive arm and the second drive arm are controlled to move simultaneously, driving the gripping component to move from the third position coordinate to the fourth position coordinate along an arc trajectory. The second drive arm is controlled to move from the second end time to the third end time, driving the gripping component to move from the fourth position coordinate to the second position coordinate along the second direction.

7. The method according to claim 1, characterized in that, The method further includes: The grasping component is controlled to grasp the first target object at the first position and release the first target object at the second position; Alternatively, the grasping component can be controlled to place a second target object at the first position and grasp a third target object at the second position.

8. The method according to claim 1, characterized in that, The drive structure further includes a third drive arm, which is used to drive the gripping component to move upward in a third direction. The method further includes: During the process of driving the gripping component to move from the first position to the second position, the third drive arm is controlled to move along the third direction, driving the gripping component to move to the target height.

9. The method according to claim 8, characterized in that, The method further includes: During the process of driving the gripping component to move to the target height, the gripping component is controlled to perform an opening action; The gripping component is controlled to grip the fourth target object at the second position.

10. A motion control device for controlling a drive structure including a first drive arm and a second drive arm, the drive structure being connected to a gripping component, the first drive arm being used to drive the gripping component to move in a first direction, and the second drive arm being used to drive the gripping component to move in a second direction, characterized in that... The device includes: The acquisition module is used to acquire the first position, the second position, and the operating parameters of the driving structure; The acquisition module is also used to acquire the position parameters of the obstacle before the driving gripping component moves from the first position to the second position; The judgment module is used to determine whether there is an obstacle on the first straight path from the first position to the second position based on the first position, the second position, and position parameters; the position parameters include the obstacle coordinates and the obstacle radius. The control module is used to control the first drive arm and the second drive arm to move simultaneously during a first time period when there is no obstacle on the first straight path, and to drive the gripping component to move from the first position to the second position. The control module is used to control the first drive arm to move during a second time period when there is an obstacle on the first straight path, and then control the second drive arm to move during a third time period, driving the gripping component to move from the first position to the second position. The second time period and the third time period both include a fourth time period, during which the first drive arm and the second drive arm move simultaneously. The determining module is used to determine the target delay duration, the third position coordinate, and the fourth position coordinate based on the first position coordinate, the second position coordinate, and the operating parameters of the driving structure before controlling the movement of the first driving arm in the second time period and then controlling the movement of the second driving arm in the third time period. The third position coordinate is the position coordinate of the grasping component at the third start time, the fourth position coordinate is the position coordinate of the grasping component at the second end time, and the second distance between the second straight line path from the third position coordinate to the fourth position coordinate and the obstacle coordinate is equal to the obstacle radius. The third start time is determined based on the target delay duration and the second start time, wherein the target delay duration is the interval duration between the second start time and the third start time; The second end time is determined based on the second start time, the operating parameters, and the fourth position coordinates; The third end time is determined based on the third start time, the operating parameters, and the distance to be moved by the second drive arm; The distance to be moved is obtained based on the first position coordinates and the second position coordinates; The operating parameters of the drive structure include the initial speed, acceleration and maximum speed of the first drive arm and the second drive arm, the second time period is from the second start time to the second end time of the first drive arm, and the third time period is from the third start time to the third end time of the second drive arm, wherein the third start time is before the second end time.

11. A motion control system, characterized in that, Includes the motion control device as described in claim 10.

12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer program instructions, which, when executed by a processor, implement the motion control method as described in any one of claims 1-9.

Citation Information

Patent Citations

  • Multi-axis time synchronization method in S-shaped acceleration and deceleration trajectory planning

    CN109814496A

  • Driving method of mechanical arm

    CN113715006A