Multi-rotor cooperative control method and system for planar linear motor

By using an edge controller and a multi-mover cooperative control method, the problem of coordinated control of multiple stators and movers in a planar linear motor is solved, realizing multi-mover cooperative control and supporting independent control of no less than three movers, thereby improving transportation efficiency and safety.

CN121333174APending Publication Date: 2026-01-13HIWING TECH ACAD OF CASIC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410933660.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-07-12
Publication Date
2026-01-13

AI Technical Summary

Technical Problem

Existing control methods are insufficient to achieve coordinated control of multiple stators and multiple movers in a planar linear motor.

Method used

The edge controller performs EtherCAT communication checks and status readings, executes order allocation and route planning, and utilizes multi-motor MoverUnit collaborative control, combined with three-loop and two-loop control schemes, to achieve coordinated movement and obstacle avoidance of multiple motors, ensuring path planning and collision avoidance.

Benefits of technology

It realizes the coordinated control of multiple stators and multiple movers in a planar linear motor, supports the independent control of no less than 3 movers, and improves transportation efficiency and safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121333174A_ABST
    Figure CN121333174A_ABST
Patent Text Reader

Abstract

The invention provides a multi-rotor cooperative control method and system for a planar linear motor, and the method comprises the steps: completing the power-on self-inspection of an edge controller, carrying out the EtherCAT communication inspection and state reading of all stator Planar Units, and determining the working state of a whole planar motor system; multi-mover Mover Unit cooperative control is started, and order distribution and route planning are started to be executed; after the route planning is completed, judging whether a mover Unit reaches the unloading position or not, and if not, circularly executing the route planning until the mover Unit reaches the unloading position; and accumulating the number of the completed orders, judging whether all the order tasks are completed or not, and if not, repeating the steps until all the order tasks are completed, thereby completing the multi-rotor cooperative control of the planar linear motor. According to the technical scheme, the technical problem that cooperative control over the multiple stators and the multiple rotors is difficult to achieve through an existing control method is solved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of planar linear motor, and particularly relates to a multi-mover cooperative control method and system for planar linear motor. BACKGROUND

[0002] The planar linear motor is an electromagnetic device capable of two-dimensional planar motion, has the characteristics of high power density, low heat consumption and high precision, and has the advantages of fast response, high sensitivity, good follow-up, strong expandability and simple structure, etc. The planar linear motor can be widely applied to various conveying systems, including logistics warehouse, intelligent factory, airport freight, etc. Compared with existing technologies or systems such as forklift, conveyor belt, AGV, etc., the planar linear motor technology has higher efficiency and wider use, and its application will bring revolutionary changes to the operation mode of the conveying system, which can greatly reduce the floor space and operating cost.

[0003] The planar linear motor can control multiple movers to move cooperatively, which is reflected in two aspects. First, driving a mover requires multiple stators to work simultaneously, and each stator has two motors responsible for X-direction driving and two motors responsible for Y-direction driving. The traction forces of the four motors also need to be coordinated. Second, in order to meet the precise control requirements of the planar motor system on multiple movers, the motion paths, speeds and accelerations of multiple movers need to be controlled. The planar motor driving system is a modular distributed driving system, that is, each single-stator module is equipped with a relatively independent servo drive controller. Therefore, the planar linear motor system is required to have the cooperative control capability of multiple stators and multiple movers. However, the existing control method is difficult to realize the cooperative control of multiple stators and multiple movers. SUMMARY

[0004] The present application provides a multi-mover cooperative control method and system for planar linear motor, which can solve the technical problem that the existing control method is difficult to realize the cooperative control of multiple stators and multiple movers.

[0005] According to an aspect of the present application, a multi-mover cooperative control method for a planar linear motor is provided. The method comprises: an edge controller performing power-on self-test, EtherCAT communication checking and state reading on all stators PlanarUnit to determine the working state of the entire planar motor system; starting multi-mover MoverUnit cooperative control to execute order distribution and route planning; after completing route planning, determining whether a mover MoverUnit reaches a drop-off position, and if not, repeatedly executing route planning until a mover MoverUnit reaches the drop-off position; accumulating the number of completed orders to determine whether all order tasks are completed, and if not, repeating the above steps until all order tasks are completed, and the multi-mover cooperative control of the planar linear motor is completed.

[0006] Further, the order distribution specifically comprises: determining whether the number of idle movers Num is 0, if yes, putting the i-th transport task in a waiting state, waiting for the mover MoverUnit currently running to complete the transport task, and then assigning a new transport task to the idle mover MoverUnit; if not, reading the i-th task order information, calculating the number of movers A required according to the size and weight of the goods; if the number of idle movers Num is greater than or equal to the number of movers A, distributing the order; if not, exiting the order distribution and parking the newly added idle mover MoverUnit; after successfully distributing the order, determining whether the number of movers A used is greater than or equal to 2, if not, directly storing the coordinates of the goods in a register; if yes, creating a set of virtual coordinates according to the coordinates of the goods, assigning the virtual coordinates to the movers MoverUnit in the same row, and storing the virtual coordinates in the register RegA; generating a new number of idle movers Num, and entering the next cycle to read the i+1-th task order information and repeat the above process to distribute the i+1-th task order.

[0007] Further, the calculation of the number of movers A required according to the size and weight of the goods specifically comprises: if the length of a single mover is L MU , the width is D mu , the rated load is K, the length of the goods to be transported is L load , the width is D load , and the weight is M, R ound Up is a ceiling function, and Max is a maximum value function. From the size aspect, the number of movers required a can be calculated according to a = R ound Up(Lload / L MU )*R ound Up(D load / D MU ) is calculated; the number of movers required from the weight point of view is b, which can be calculated according to b = M / K; in order to ensure that both size and weight are met, the number of movers required A = Max(a, b).

[0008] Further, the execution of the line planning specifically includes: executing line planning of the mover MoverUnit from the current coordinates to the pickup coordinates, first planning the coordinates along the X-axis direction, and then planning the coordinates along the Y-axis direction; after completing the line planning, the state of the stator PlanarUnit is read, and it is determined whether there is a faulty stator PlanarUnit on the planned path; if yes, an obstacle avoidance program is executed, and the line planning is further calculated until there is no faulty stator PlanarUnit on the planned line; executing line planning from the pickup coordinates to the drop-off coordinates, first planning the coordinates along the X-axis direction, and then planning the coordinates along the Y-axis direction; after completing the line planning, the state of the stator PlanarUnit is read, and it is determined whether there is a faulty stator PlanarUnit on the planned path; if yes, an obstacle avoidance program is executed, and the line planning is further calculated until there is no faulty stator PlanarUnit on the planned line.

[0009] Further, if there is a faulty stator PlanarUnit on the planned path, the execution of the obstacle avoidance program specifically includes: when the faulty stator PlanarUnit is on the line planning path, it is determined whether the fault point is on the X-axis direction path or the Y-axis direction path, the bypass coordinates are calculated according to the shortest path method, and the subsequent line planning is continued from the bypass coordinates to complete the obstacle avoidance.

[0010] Further, when the fault point is on the X-axis direction path, the bypass coordinates are calculated according to the shortest path method, the mover MoverUnit bypasses from the Y-axis direction, and the subsequent line planning plans the Y-axis direction first and then plans the X-axis direction; when the fault point is on the Y-axis direction path, the bypass coordinates are calculated according to the shortest path method, the mover MoverUnit bypasses from the X-axis direction, and the subsequent line planning plans the X-axis direction first and then plans the Y-axis direction.

[0011] Further, in the execution of the line planning, the current coordinates and speeds of the plurality of Mover Units are read respectively, the braking distances D_step of the Mover Units under the friction at the speeds are calculated, and then the Planar Unit coordinates covered by the braking distances D_step of the Mover Units are calculated according to the planned path, to determine whether the predicted ranges of the Mover Units coincide. If yes, it indicates that there is a risk of collision in the continuous movement at the current speed, and it is necessary to determine which Mover Unit to pass according to the priorities of the plurality of Mover Units, and the other Mover Units to stop and avoid.

[0012] Further, when the motor moves along the x direction, the control of the single Mover Unit of the planar linear motor specifically includes: when the Mover Unit neither deflects along the axis nor deviates in the y direction, i.e. θ r = 0 and y t = 0, the motor only has a linear motion demand along the x direction without linear motion and rotation motion demands along the y direction, at this time, a three-closed-loop control scheme is adopted to control the coils distributed along the x direction to generate electromagnetic thrust to push the Mover Unit to run along the straight line; when the Mover Unit deflects along the axis, i.e. θ r ≠ 0, the motor has both linear motion demand along the x direction and rotation motion demand, at this time, the three-closed-loop control scheme is still adopted to control the coils distributed along the x direction, and a two-closed-loop control scheme is adopted to control the coils distributed along the y direction to generate electromagnetic torque to correct the Mover Unit to the normal position; this control mode is defined as mode 1; when the Mover Unit deviates in the y direction, i.e. y t ≠ 0, the motor has both linear motion demand along the x direction and linear motion demand along the y direction, at this time, the three-closed-loop control scheme is adopted to control the coils distributed along the x and y directions respectively to correct the Mover Unit to the normal position, and this control mode is defined as mode 2; when the Mover Unit deflects along the axis and deviates in the y direction, i.e. θ r ≠ 0 and y t ≠ 0, the deviation in the y direction is corrected by using mode 2 first, and then the deflection along the axis is corrected by using mode 1.

[0013] Further, when the motor moves along the y direction, the control of the single Mover Unit of the planar linear motor specifically includes: when the Mover Unit neither deflects along the axis nor deviates in the x direction, i.e. θ r = 0 and x tWhen θ r ≠ 0, the motor has both linear motion demand along y direction and rotation demand, at this time, the three closed-loop control scheme is still used to control the coils distributed along y direction, while for the coils distributed along x direction, the two closed-loop control scheme is used to control, to generate electromagnetic torque, to correct the Mover Unit to normal position; this control mode is defined as mode 1; when the Mover Unit has offset along x direction, i.e. x t ≠ 0, the motor has both linear motion demand along y direction and linear motion demand along x direction, at this time, the three closed-loop control scheme is used to control the coils distributed along x, y direction respectively, to correct the Mover Unit to normal position, this control mode is defined as mode 2; when the Mover Unit has both deflection along axis and offset along x direction, i.e. θ r ≠ 0 and x t ≠ 0, first, the mode 2 is used to correct the offset along x direction, then the mode 1 is used to correct the deflection along axis.

[0014] According to another aspect of the present application, there is provided a multi-mover cooperative control system for planar linear motor, which uses the multi-mover cooperative control method for planar linear motor as described above to perform multi-mover cooperative control.

[0015] The technical scheme of the application provides a multi-mover cooperative control method for a planar linear motor, in which an edge controller first completes power-on self-test, then performs EtherCAT communication inspection and state reading on a Planar Unit to determine the working state of the entire planar motor system. The multi-mover Mover Unit cooperative control is started, order distribution and route planning are started to be executed, after the route planning is completed, it is determined whether a Mover Unit reaches a goods delivery position, if not, the route planning program is cyclically executed until the condition is met. The number of completed orders is accumulated, and finally it is determined whether all order tasks are completed. After all tasks are completed, the Planar Unit is blocked and the main program is exited. This method can realize the multi-mover cooperative control of the planar linear motor, supports independent control of no less than three movers, and can be widely applied to scenes requiring simultaneous control of multiple servo motors, such as an automatic production line. Therefore, compared with the prior art, the multi-mover cooperative control method for the planar linear motor can realize the multi-mover cooperative control of the planar linear motor, and effectively solves the technical problem that the prior control method is difficult to realize the cooperative control of multiple stators and multiple movers. BRIEF DESCRIPTION OF DRAWINGS

[0016] The accompanying drawings, which are included to provide a further understanding of the embodiments of the application and constitute a part of the specification, illustrate the embodiments of the application and together with the text description serve to explain the principles of the application. Obviously, the drawings in the following description are only some embodiments of the application, and other drawings can be obtained by those skilled in the art without creative labor on the basis of these drawings.

[0017] Figure 1 A planar motor stator control principle block diagram provided by a specific embodiment of the application is shown;

[0018] Figure 2 A multi-mover cooperative control main program flowchart provided by a specific embodiment of the application is shown;

[0019] Figure 3 An order distribution program flowchart provided by a specific embodiment of the application is shown;

[0020] Figure 4 A route planning program flowchart provided by a specific embodiment of the application is shown;

[0021] Figure 5 An obstacle avoidance program flowchart provided by a specific embodiment of the application is shown;

[0022] Figure 6A motor-to-motor avoidance program flowchart is shown according to a specific embodiment of the present application;

[0023] Figure 7 A single-motor X, Y direction motor installation schematic diagram is shown according to a specific embodiment of the present application;

[0024] Figure 8 A single-motor X, Y direction motor installation schematic diagram is shown according to a specific embodiment of the present application. DETAILED DESCRIPTION

[0025] It should be noted that the embodiments and features of the embodiments in the present application can be combined with each other without conflict. The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings of the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments. The description of the at least one exemplary embodiment is actually only illustrative, but not intended to limit the present application and its application or use in any way. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative labor fall within the scope of the present application.

[0026] It should be noted that the terms used herein are only intended to describe specific embodiments, and are not intended to limit the exemplary embodiments according to the present application. As used herein, the singular form is intended to include the plural form unless the context clearly indicates otherwise, and it should also be understood that when the terms "comprise" and / or "include" are used in the specification, there is a presence of a feature, step, operation, device, component and / or combinations thereof.

[0027] Unless specifically stated otherwise, the relative arrangement of components and steps, numerical expressions, and numerical values set forth in the various embodiments described herein are not limiting. It should be understood that the various parts shown in the drawings are not necessarily drawn to scale in proportion. Techniques, methods, and devices known to those of ordinary skill in the relevant art can not be discussed in detail, but should be considered as part of the authorized description. In all examples shown and discussed herein, any specific value should be interpreted as merely exemplary, and not as a limitation. Therefore, other examples of exemplary embodiments can have different values. It should be noted that similar reference numbers and letters represent similar items in the following drawings, and therefore, once an item is defined in one drawing, it does not need to be further discussed in subsequent drawings.

[0028] As Figures 1 to 8As shown, the specific embodiment according to the present application provides a multi-mover cooperative control method for a planar linear motor, which comprises: an edge controller completes power-on self-test, performs EtherCAT communication inspection and state reading on all stators PlanarUnit, and determines the working state of the entire planar motor system; multi-mover Mover Unit cooperative control is started, and order distribution and route planning are started to be executed; after the route planning is completed, it is determined whether a mover Mover Unit reaches a drop-off position, and if not, the route planning is repeatedly executed until a mover Mover Unit reaches the drop-off position; the number of completed orders is accumulated, and it is determined whether all order tasks are completed, and if not, the above steps are repeated until all order tasks are completed, and the multi-mover cooperative control of the planar linear motor is completed.

[0029] By using this configuration, a multi-mover cooperative control method for a planar linear motor is provided, in which the edge controller first completes power-on self-test, then performs EtherCAT communication inspection and state reading on PlanarUnit, and determines the working state of the entire planar motor system. Multi-mover Mover Unit cooperative control is started, and order distribution and route planning are started to be executed. After the route planning is completed, it is determined whether a Mover Unit reaches a drop-off position, and if not, the route planning program is repeatedly executed until the condition is met. The number of completed orders is accumulated, and finally it is determined whether all order tasks are completed. After all tasks are completed, PlanarUnit is blocked, and the main program is exited. This method can realize multi-mover cooperative control of a planar linear motor, supports independent control of no less than three movers, and can be applied not only to planar linear motors but also to scenes requiring simultaneous control of multiple servo motors, such as automatic production lines. Therefore, compared with the prior art, the multi-mover cooperative control method for a planar linear motor provided by the present application can realize multi-mover cooperative control of a planar linear motor, and can effectively solve the technical problem that the prior control method is difficult to realize cooperative control of multiple stators and multiple movers.

[0030] Further, in the present application, the order allocation specifically comprises: judging whether the number of idle movers MoverUnit Num is 0, if yes, making the i th transportation task in a waiting state, waiting for the currently running mover MoverUnit to complete the transportation task, and then assigning a new transportation task to the idle mover MoverUnit; if no, reading the i th task order information, calculating the number A of movers MoverUnit required according to the size and weight of the goods; if the number of idle movers MoverUnit Num is greater than or equal to the number A of movers MoverUnit, the order is allocated; if no, exiting the order allocation, and opening the newly added idle mover MoverUnit to the parking position; after successfully allocating the order, judging whether the number A of movers MoverUnit used is greater than or equal to 2, if no, directly storing the coordinates of the goods into the register; if yes, creating a set of virtual coordinates according to the coordinates of the goods, assigning the virtual coordinates to the movers MoverUnit in the same line, and storing the virtual coordinates into the register RegA; generating a new number Num of idle movers MoverUnit, and entering the next cycle to read the i+1 th task order information, repeating the above process, and performing the task allocation of the i+1 th task order.

[0031] Wherein, the number A of movers MoverUnit required according to the size and weight of the goods specifically comprises: if the length of a single mover is L MU , the width is D mu , the rated load is K, the length of the goods to be transported is L load , the width is D load , the weight is M, R ound Up is a rounding up function, and Max is a maximum value function; from the size aspect, the number of movers required a can be calculated according to a = R ound Up(L load / L MU )*R ound Up(D load / D MU ); from the weight aspect, the number of movers required b can be calculated according to b = M / K; in order to ensure that both the size and the weight are met, the number A of movers required is A = Max(a, b).

[0032] Further, in the present application, the execution of the route planning specifically includes: executing route planning of the mover Mover Unit from the current coordinates to the boarding coordinates, first planning the coordinates along the X-axis direction, and then planning the coordinates along the Y-axis direction; after completing the route planning, reading the state of the stator Planar Unit, judging whether there is a malfunctioning stator Planar Unit on the planned path, if yes, executing the obstacle avoidance program, and further calculating the route planning until there is no malfunctioning stator Planar Unit on the planned route; executing route planning from the boarding coordinates to the alighting coordinates, first planning the coordinates along the X-axis direction, and then planning the coordinates along the Y-axis direction; after completing the route planning, reading the state of the stator Planar Unit, judging whether there is a malfunctioning stator Planar Unit on the planned path, if yes, executing the obstacle avoidance program, and further calculating the route planning until there is no malfunctioning stator Planar Unit on the planned route.

[0033] In the judgment of whether there is a malfunctioning stator Planar Unit on the planned path, if yes, the execution of the obstacle avoidance program specifically includes: when the malfunctioning stator Planar Unit is on the route planning path, it is necessary to judge whether the fault point is on the X-axis direction path or the Y-axis direction path, the bypass coordinates are calculated according to the shortest path method, and the subsequent route planning is continued from the bypass coordinates to complete the obstacle avoidance.

[0034] As a specific embodiment of the present application, as shown in Figure 5 when the fault point is on the X-axis direction path, the bypass coordinates are calculated according to the shortest path method, the mover Mover Unit bypasses from the Y-axis direction, the subsequent route planning first plans the Y-axis direction, and then plans the X-axis direction; when the fault point is on the Y-axis direction path, the bypass coordinates are calculated according to the shortest path method, the mover Mover Unit bypasses from the X-axis direction, the subsequent route planning first plans the X-axis direction, and then plans the Y-axis direction.

[0035] Further, in the present application, in order to avoid collision during the movement of the mover, as shown in Figure 6As shown, when performing the line planning, the current coordinates and speeds of the plurality of Mover Units are read respectively, the braking distances D_step of the plurality of Mover Units under the friction at the speeds are calculated, then the Planar Unit coordinates covered by the braking distances D_step of the plurality of Mover Units are calculated according to the planned path, and it is judged whether the prediction ranges of the plurality of Mover Units coincide. If yes, it is indicated that there is a risk of collision if the plurality of Mover Units continue to move at the current speeds, and it is necessary to determine which Mover Unit to pass according to the priorities of the plurality of Mover Units, and the other Mover Units to stop and avoid.

[0036] In the present application, the purpose of the multi-Mover cooperative control is to complete the path planning of each Mover according to the initial positions and target positions of the plurality of Movers, and to avoid collision of the Movers. The single-Mover control is to control the Mover to follow the position instruction movement, and the position instruction is the output result of the multi-Mover cooperative control. Therefore, the multi-Mover control can be understood as a commander, and the single-Mover control can be understood as an executor.

[0037] Specifically, when the motor moves along the x direction, the control of the single Mover of the planar linear motor specifically includes: when the Mover Unit neither deflects along the axis nor deviates in the y direction, i.e. θ r = 0 and y t = 0, the motor only has a linear motion demand along the x direction without a linear motion demand along the y direction and a rotation motion demand, at this time, a three-closed-loop control scheme is adopted to control the coils distributed along the x direction to generate electromagnetic thrust to push the Mover Unit to run along the straight line; when the Mover Unit deflects along the axis, i.e. θ r ≠ 0, the motor has both a linear motion demand along the x direction and a rotation motion demand, at this time, the three-closed-loop control scheme is still adopted to control the coils distributed along the x direction, and a two-closed-loop control scheme is adopted to control the coils distributed along the y direction to correct the Mover Unit to the normal position; this control mode is defined as mode 1; when the Mover Unit deviates in the y direction, i.e. y t ≠ 0, the motor has both a linear motion demand along the x direction and a linear motion demand along the y direction, at this time, a three-closed-loop control scheme is adopted to control the coils distributed along the x and y directions respectively to correct the Mover Unit to the normal position, and this control mode is defined as mode 2; when the Mover Unit deflects along the axis and deviates in the y direction, i.e. θ r ≠ 0 and y tWhen ≠0, first correct the offset in the y direction using mode 2, and then correct the deflection along the axis using mode 1.

[0038] When the motor moves in the y direction, the control of the single mover of the planar linear motor specifically includes: when the mover MoverUnit neither deflects along the axis nor offsets in the x direction, i.e., θ r =0 and x t =0, the motor only has a linear motion requirement in the y direction without a linear motion requirement in the x direction and a rotation motion requirement, at this time, a three-closed-loop control scheme is used to control the coils distributed in the y direction to generate electromagnetic thrust to push the MoverUnit to move linearly; when the mover MoverUnit deflects along the axis, i.e., θ r ≠0, the motor has both a linear motion requirement in the y direction and a rotation motion requirement, at this time, the three-closed-loop control scheme is still used to control the coils distributed in the y direction, and a two-closed-loop control scheme is used to control the coils distributed in the x direction to generate electromagnetic torque to correct the MoverUnit to the normal position; this control mode is defined as mode 1; when the mover MoverUnit offsets in the x direction, i.e., x t ≠0, the motor has both a linear motion requirement in the y direction and a linear motion requirement in the x direction, at this time, a three-closed-loop control scheme is used to control the coils distributed in the x and y directions to correct the MoverUnit to the normal position, and this control mode is defined as mode 2; when the MoverUnit deflects along the axis and offsets in the x direction, i.e., θ r ≠0 and x t ≠0, first correct the offset in the x direction using mode 2, and then correct the deflection along the axis using mode 1.

[0039] According to another aspect of the present application, a multi-mover cooperative control system for a planar linear motor is provided, which uses the multi-mover cooperative control method for a planar linear motor as described above to perform multi-mover cooperative control.

[0040] With the configuration, a multi-mover cooperative control system for a planar linear motor is provided, in which the edge controller first completes power-on self-test, then performs EtherCAT communication check and state reading on the PlanarUnit to determine the working state of the entire planar motor system. The multi-mover Mover Unit cooperative control is started, order distribution and route planning are executed, after the route planning is completed, it is determined whether a Mover Unit reaches a goods delivery position, if not, the route planning program is executed in a loop until the condition is met. The number of completed orders is accumulated, and finally it is determined whether all order tasks are completed. After all tasks are completed, the PlanarUnit is blocked and the main program is exited. This method can realize the cooperative control of multiple movers of the planar linear motor, and the system supports independent control of not less than three movers. The system can be used not only in the planar linear motor, but also widely applied to scenes requiring simultaneous control of multiple servo motors, such as automatic production lines. Therefore, compared with the prior art, the multi-mover cooperative control system for the planar linear motor can realize the cooperative control of multiple movers of the planar linear motor, and effectively solve the technical problem that the existing control method is difficult to realize the cooperative control of multiple stators and multiple movers.

[0041] In order to have a further understanding of the present application, the following Figures 1 to 8 The multi-mover cooperative control method for the planar linear motor provided by the present application is described in detail.

[0042] As Figures 1 to 8 shown, according to the embodiment of the present application, a multi-mover cooperative control method for a planar linear motor is provided, which is used for the cooperative control of multiple movers of the planar linear motor, and supports independent control of not less than three movers. The method can be used not only in the planar linear motor, but also widely applied to scenes requiring simultaneous control of multiple servo motors, such as automatic production lines.

[0043] 1. Control of a single mover

[0044] The planar linear motor has two planar degrees of freedom of linear motion along the X and Y directions and one rotational degree of freedom of rotation around the Z axis direction, and in actual application, only the mover is expected to move according to the specified X and Y directions without rotation. Therefore, the linear motion and rotational motion of the mover need to be controlled during control.

[0045] 1) Linear motion: It is the main motion mode of the motor, which can realize the goods carrying function of the planar linear motor, and the source power of the linear motion is provided by the electromagnetic thrust.

[0046] 2) Rotational motion: when the Mover Unit posture is deflected (deflected by a certain angle along the axis), it needs to be corrected to the normal position to ensure that the motor can run along the predetermined path in the future, and the source power of the rotational motion is the electromagnetic torque.

[0047] The electromagnetic torque of the planar linear motor is essentially generated by the electromagnetic thrust, which causes the two to be coupled, and in turn causes the two motion modes to be related. In order to accurately control the motion mode of the motor, a reasonable electromagnetic thrust and electromagnetic torque decoupling control scheme needs to be designed.

[0048] Figure 1 is a planar linear motor decoupling control scheme, x t , y t are the movement distances in the x direction and the y direction (unit: meters), θ x , θ y are the motor positions in the x direction and the y direction (unit: radians), x t_ref is the reference position in the x direction, v _ref is the reference running speed, v mx , v my are the movement speeds in the x direction and the y direction, i qref_r is the q-axis reference current generated by the rotational control (applied to the coil distributed in the y direction), i qref_y is the q-axis reference current generated by the y-direction linear control (applied to the coil distributed in the y direction), i qref_x is the q-axis reference current generated by the x-direction linear control (applied to the coil distributed in the x direction), and i dref is the d-axis reference current (applied to the coil distributed in the x direction). When the motor moves in the x direction, the control scheme is as follows.

[0049] 1.1 When the Mover Unit is neither deflected along the axis nor offset in the y direction, i.e. θ r = 0 and y t = 0, the motor only has linear motion demand in the x direction without linear motion and rotational motion demand in the y direction. At this time, a three-closed-loop control scheme is used to control the coil distributed in the x direction (the coil distributed in the y direction does not work), to generate electromagnetic thrust and push the Mover Unit to run in a straight line;

[0050] 1.2 When the Mover Unit is deflected along the axis, i.e. θ r ≠ 0 (θ rWhen the deflection angle of the mover (MoverUnit) around the Z-axis is reached, the motor has both linear motion and rotational motion requirements in the x-direction. At this time, a three-closed-loop control scheme is still used to control the coils distributed in the x-direction, while a two-closed-loop control scheme is used to control the coils distributed in the y-direction to generate electromagnetic torque and correct the mover to the normal position.

[0051] 1.3 When the Mover Unit shifts along the y-direction, i.e., y t When ≠0, the motor has both linear motion requirements along the x-direction and linear motion requirements along the y-direction. At this time, a three-closed-loop control scheme is used to control the coils distributed along the x and y directions respectively, and the MoverUnit is corrected to the normal position. This control mode is defined as mode 2.

[0052] 1.4 When the MoverUnit deflects along the axis and simultaneously shifts in the y-direction, i.e., θ r ≠0 and y t When the deviation is not equal to 0, mode 2 is used first to correct the offset along the y-direction, and then mode 1 is used to correct the deflection along the axis. There is a prerequisite here: the motor only needs linear motion along the X-direction; therefore, if an offset occurs in the Y-direction, i.e., y... t ≠0, y needs to be controlled first. t =0, i.e., normal position. Eliminate offset (Model2), then eliminate deflection (Model1).

[0053] 2. Multi-motor cooperative control

[0054] The role of multi-movement unit cooperative control is to transport goods from their initial position to their target position. For vividness and ease of understanding, this system is analogous to an autonomous ride-hailing app. Therefore, the initial position of the goods is defined as the boarding position, the target position as the alighting position, the real-time position of the MoverUnit as the current position, and the parking position of an idle Movie Unit as the parking position. In subsequent articles, we will consistently use the terms boarding position, alighting position, current position, and parking position for description. The key to multi-movement unit cooperative control lies in route planning, which is explained in this section using a flowchart.

[0055] Figure 2This is a flowchart of the main program for multi-motor cooperative control. The edge controller first completes a power-on self-test, then performs EtherCAT communication checks and status readings on the PlanarUnit to determine the working status of the entire planar motor system. Clicking the start button in the planar linear motor system application software initiates order allocation and route planning. After route planning is complete, it checks if any MoverUnit has arrived at the unloading position. If not, the route planning program is executed repeatedly until the conditions are met. The number of completed orders is accumulated, and finally, it checks whether all order tasks have been completed. After all tasks are completed, the PlanarUnit is locked, and the main program exits. In this invention, the edge controller is a hardware device on which the multi-motor cooperative control algorithm runs and distributes position commands to each stator (PlanarUnit).

[0056] Figure 3 This is the flowchart of the order allocation process. First, it checks if the number of idle MoverUnits, Num, is 0. If it is, the i-th transport task is put into a waiting state, waiting for the currently running MU to complete the current transport task, and then a new transport task is assigned to the idle MU. If not, the i-th task order information is read, including the size, weight, and loading and unloading coordinates of the goods (the loading coordinates correspond to the coordinates of the goods' current location, and the unloading coordinates are the target coordinates of the goods' transport. The size and weight of the goods are the same as the size and weight of the motor load). The required number of MoverUnits, A, is calculated based on the size and weight of the goods.

[0057] Assume the length of a single mover is L MU , width D mu The rated load capacity is K, and the transported goods are L. load , width D load Let M be the weight, RoundUp be the floor function, and Max be the maximum value function. Considering the dimensions, the required number of movers is a, and the calculation formula is:

[0058] a = RoundUp(L load / L MU )*RoundUp(D load / DMU)

[0059] From a weight perspective, the required number of movers is b, and the calculation formula is b = M / K;

[0060] To ensure that both size and weight are satisfied, the required number of movers is A = Max(a, b).

[0061] If Num >= A, then assign an order. If not, move the newly added idle MoverUnit to the parking position (the newly idle MU has just completed the previous transport task, but there are no new transport tasks, so it is moved to the parking position to avoid space occupation), exit the order assignment program, and return to the main program. If yes, the order is successfully assigned, and it is determined whether the number of MoverUnits used, A, is greater than or equal to 2. If yes, that is, A is greater than or equal to 2, then a set of virtual coordinates needs to be created based on the coordinates of the goods, assigned to the MoverUnits in the same row, and the data is stored in the register RegA. The reason for creating virtual coordinates is that the movement of each mover needs a target coordinate. When a goods needs to be transported by multiple movers, there is only one target address for the goods. This address needs to be created as the target coordinates of each mover based on the relative position relationship of multiple movers. This is called the sensing virtual coordinate. If the number of Mover Units used, A, is not greater than 2, that is, A is less than 2, the goods coordinates are directly stored in the register. A new number of idle Mover Units, Num, is generated, and the next loop is entered to read the (i+1)th task order information.

[0062] Figure 4 This is the flowchart of the route planning program. First, the program plans the route from the current coordinate to the boarding coordinate of the MoverUnit. After reaching the boarding coordinate, it plans the route from the boarding coordinate to the alighting coordinate. When planning the route between two locations, it first plans along the X-axis, then along the Y-axis. After completing the route planning, it reads the status of the PlanarUnit to determine if there are any faulty PlanarUnits along the planned path. If so, it executes an obstacle avoidance procedure to further calculate the route planning until there are no faulty PlanarUnits on the planned route. If not, it skips the obstacle avoidance procedure and continues execution. When the MoverUnit reaches the alighting coordinate, the program outputs the MoverUnit number and its count k, and returns to the main program.

[0063] Figure 5 This is the obstacle avoidance procedure flowchart. When a Planarunit malfunctions and is on the planned route, it needs to determine whether the malfunction point is on the X-axis or Y-axis path. Then, it calculates the detour coordinates using the shortest path method, continues subsequent route planning from the detour coordinates, and then returns to the route planning program. To improve operational efficiency and reduce the number of stops for the MoverUnit, when the malfunction point is on the X-axis path, the MoverUnit detours along the Y-axis, and subsequent route planning prioritizes the Y-axis direction before planning the X-axis direction. The reverse is also true.

[0064] Figure 6This is a flowchart of the mover avoidance procedure. First, it reads the current coordinates and speed of the MoverUnit, calculates the braking distance D_step of the MoverUnit under friction at that speed, and then calculates the coordinates of the PlanarUnit covered by D_step based on the planned path. It then determines whether the predicted ranges of multiple MoverUnits overlap. If so, it indicates that continuing at the current speed poses a collision risk. The priority of the MoverUnits is used to determine which MoverUnit should proceed, while the others stop to avoid the collision. The priority of the MoverUnits is manually set. The MoverUnits that need to avoid the collision determine whether to apply reverse current based on the relationship between their current speed and braking distance. When the speed is low, friction braking can be used; when the speed is high, a greater braking acceleration is required, necessitating the application of reverse current.

[0065] In this invention, the moving parts have automatic obstacle avoidance and yielding functions, and the cargo transportation tasks have automatic distribution and delivery functions. The number of moving parts coordinated and controlled is not less than 3.

[0066] In the description of this invention, it should be understood that the orientation or positional relationship indicated by directional terms such as "front, back, up, down, left, right", "horizontal, vertical, horizontal" and "top, bottom" is generally based on the orientation or positional relationship shown in the accompanying drawings, and is only for the convenience of describing this invention and simplifying the description. Unless otherwise stated, these directional terms do not indicate or imply that the device or element referred to must have a specific orientation or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation on the scope of protection of this invention; the directional terms "inner" and "outer" refer to the inner and outer contours relative to the outline of each component itself.

[0067] For ease of description, spatial relative terms such as "above," "on top of," "on the upper surface of," "above," etc., are used herein to describe the spatial positional relationship of a device or feature as shown in the figures to other devices or features. It should be understood that spatial relative terms are intended to encompass different orientations in use or operation beyond the orientation of the device as described in the figures. For example, if the device in the figures were inverted, a device described as "above" or "on top of" other devices or structures would subsequently be positioned as "below" or "under" other devices or structures. Thus, the exemplary term "above" can include both "above" and "below." The device may also be positioned in other different ways (rotated 90 degrees or in other orientations), and the spatial relative descriptions used herein will be interpreted accordingly.

[0068] Furthermore, it should be noted that the use of terms such as "first" and "second" to define components is merely for the purpose of distinguishing the corresponding components. Unless otherwise stated, the above terms have no special meaning and therefore should not be construed as limiting the scope of protection of this invention.

[0069] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. A method for multi-motor cooperative control of a planar linear motor, characterized in that, The multi-moving sub-cooperative control method for a planar linear motor includes: The edge controller completes power-on self-test, performs EtherCAT communication checks and status readings on all stator Planar Units, and determines the working status of the entire planar motor system. Initiate multi-motor Mover Unit collaborative control to begin order allocation and route planning. After completing the route planning, determine whether a mover unit has arrived at the unloading location. If not, repeat the route planning until a mover unit arrives at the unloading location. The number of completed orders is accumulated to determine whether all order tasks have been completed. If not, the above steps are repeated until all order tasks are completed, thus completing the multi-movement coordinated control of the planar linear motor.

2. The multi-moving submachine cooperative control method for a planar linear motor according to claim 1, characterized in that, The specific execution of order allocation includes: Determine if the number of idle Mover Units Num is 0. If it is 0, put the i-th transportation task in a waiting state, waiting for the currently running Mover Unit to complete the current transportation task, and then assign a new transportation task to the idle Mover Unit; if not, read the i-th task order information and calculate the required number of Mover Units A based on the size and weight of the goods. If the number of idle Mover Units Num is greater than or equal to the number of Mover Units A, then an order is assigned; otherwise, the order assignment is cancelled, and the newly added idle Mover Units are driven to the parking position. After successfully assigning an order, determine whether the number A of the movers used is greater than or equal to 2. If not, directly store the coordinates of the goods into the register. If yes, create a set of virtual coordinates based on the coordinates of the goods, assign the virtual coordinates to the movers in the same row, and store the virtual coordinates into the register RegA. Generate a new number of idle movers Num, and enter the next loop. Read the information of the (i+1)th task order, repeat the above process, and perform task allocation for the (i+1)th task order.

3. The multi-moving submachine cooperative control method for a planar linear motor according to claim 2, characterized in that, The required number of movers (MoverUnits) A is calculated based on the size and weight of the cargo. Specifically, this includes: if the length of a single mover is L... MU Width is D mu The rated load capacity is K, and the length of the transported goods is L. load Width is D load Weight is M, R ound Up is the floor function, and Max is the maximum value function. Considering the size, the required number of movers is 'a', which can be calculated using a = R. ound Up(L load / L MU )*R ound Up(D load / D MU The required number of movers is calculated from the perspective of weight, which can be obtained by calculating b based on b = M / K. In order to ensure that both size and weight are satisfied, the required number of movers is A = Max(a, b).

4. The multi-moving submachine cooperative control method for a planar linear motor according to claim 1, characterized in that, The specific implementation of route planning includes: The MoverUnit performs route planning from the current coordinates to the onboard coordinates. First, coordinate planning is performed along the X-axis, and then along the Y-axis. After the route planning is completed, the status of the Stator Planar Unit is read to determine whether there is a faulty Stator Planar Unit on the planned path. If so, the obstacle avoidance program is executed to further calculate the route planning until there is no faulty Stator Planar Unit on the planned path. The route planning is performed from the boarding coordinate to the alighting coordinate. First, coordinate planning is performed along the X-axis, and then along the Y-axis. After the route planning is completed, the status of the stator PlanarUnit is read to determine whether there is a faulty stator PlanarUnit on the planned path. If so, the obstacle avoidance program is executed to further calculate the route planning until there is no faulty stator PlanarUnit on the planned path.

5. The multi-moving submachine cooperative control method for a planar linear motor according to claim 4, characterized in that, If a faulty stator (PlanarUnit) is found on the planned path, the obstacle avoidance procedure is executed. Specifically, when the faulty stator (PlanarUnit) is on the planned path, it is necessary to determine whether the fault point is on the X-axis path or the Y-axis path, calculate the detour coordinates according to the shortest path method, and continue the subsequent route planning from the detour coordinates to complete the obstacle avoidance.

6. The multi-moving sub-control method for a planar linear motor according to claim 4, characterized in that, When the fault point is on the path along the X-axis, the detour coordinates are calculated using the shortest path method, and the mover unit detours along the Y-axis. Subsequent route planning first plans the Y-axis direction, and then plans the X-axis direction. When the fault point is on the path along the Y-axis, the detour coordinates are calculated using the shortest path method, and the mover unit detours along the X-axis. Subsequent route planning first plans the X-axis direction, and then plans the Y-axis direction.

7. The multi-moving sub-control method for a planar linear motor according to claim 6, characterized in that, When performing route planning, for multiple movers, the current coordinates and speed of each mover are read, and the braking distance D_step of each mover under friction at that speed is calculated. Then, based on the planned path, the coordinates of the PlanarUnit covered by the braking distance D_step of each mover are calculated, and it is determined whether the predicted ranges of each mover overlap. If they do, it means that continuing to move at the current speed will pose a risk of collision. It is necessary to determine which mover passes through based on the priority of multiple movers, while the other movers stop to avoid it.

8. The multi-moving sub-control method for a planar linear motor according to any one of claims 1 to 7, characterized in that, When the motor moves along the x-direction, the control of a single mover of the planar linear motor specifically includes: When the mover MoverUnit neither deflects along the axis nor shifts in the y-direction, i.e., θ r =0 and y t When = 0, the motor only requires linear motion along the x-direction and not linear or rotational motion along the y-direction. At this time, a three-closed-loop control scheme is used to control the coils distributed along the x-direction to generate electromagnetic thrust and drive the MoverUnit to run in a straight line. When the mover MoverUnit deflects along the axis, i.e. θ r When the x-axis is not equal to 0, the motor has both linear motion and rotational motion requirements along the x-axis. At this time, a three-loop control scheme is still used to control the coils distributed along the x-axis, while a two-loop control scheme is used to control the coils distributed along the y-axis to generate electromagnetic torque and correct the MoverUnit to the normal position. This control mode is defined as mode 1. When the mover MoverUnit shifts along the y-direction, i.e. y t When ≠0, the motor has both linear motion requirements along the x-direction and linear motion requirements along the y-direction. At this time, a three-closed-loop control scheme is used to control the coils distributed along the x and y directions respectively, and the MoverUnit is corrected to the normal position. This control mode is defined as mode 2. When the Mover Unit deflects along the axis and simultaneously shifts in the y-direction, i.e., θ r ≠0 and y t When ≠0, first use mode2 to correct the offset along the y direction, and then use mode1 to correct the deflection along the axis.

9. The multi-moving sub-control method for a planar linear motor according to any one of claims 1 to 7, characterized in that, When the motor moves along the y-direction, the control of a single mover of the planar linear motor specifically includes: When the mover MoverUnit neither deflects along the axis nor shifts in the x-direction, i.e. θ r =0 and x t When = 0, the motor only requires linear motion along the y direction and not linear or rotational motion along the x direction. At this time, a three-closed-loop control scheme is used to control the coils distributed along the y direction to generate electromagnetic thrust and drive the MoverUnit to run in a straight line. When the mover MoverUnit deflects along the axis, i.e. θ r When the value is not equal to 0, the motor has both linear motion and rotational motion requirements along the y-direction. At this time, a three-closed-loop control scheme is still used to control the coils distributed along the y-direction, while a two-closed-loop control scheme is used to control the coils distributed along the x-direction to generate electromagnetic torque and correct the MoverUnit to the normal position; this control mode is defined as mode 1. When the mover MoverUnit is offset along the x-direction, i.e. x t When MoverUnit is not equal to 0, the motor has both linear motion requirements along the y-direction and linear motion requirements along the x-direction. At this time, a three-closed-loop control scheme is used to control the coils distributed along the x and y directions respectively, and correct the MoverUnit to the normal position. This control mode is defined as mode 2. When the Mover Unit deflects along the axis and simultaneously shifts in the x-direction, i.e., θ r ≠0 and x t When ≠0, first use mode2 to correct the offset along the x-direction, and then use mode1 to correct the deflection along the axis.

10. A multi-motor cooperative control system for a planar linear motor, characterized in that, The multi-motor cooperative control system uses the multi-motor cooperative control method for planar linear motors as described in any one of claims 1 to 9 to perform multi-motor cooperative control.