Trajectory tracking method, device, equipment and computer readable storage medium
By combining PID and iterative learning controllers and optimizing the controller combination, the problems of low accuracy and poor stability in AGV trajectory tracking are solved, achieving efficient trajectory tracking and improved learning efficiency, and is applicable to various reference trajectories.
Patent Information
- Application Number
- CN202211274270.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-18
- Publication Date
- 2026-03-03
- Estimated Expiration
- 2042-10-18
AI Technical Summary
Existing trajectory tracking methods in AGVs suffer from low accuracy, poor stability, long learning time, and low efficiency, and are particularly difficult to apply effectively under non-repeatable reference trajectories.
By combining a proportional-integral-derivative (PID) controller and an iterative learning controller, the controller is selected based on the pose tracking error. First, a PID controller is used to ensure stability, and then an iterative learning controller is used to improve accuracy. A segmented learning strategy and historical learning results are adopted to optimize the combination of controllers.
It improves the trajectory tracking accuracy and stability of AGVs, shortens the learning time, is applicable to both repeatable and non-repeatable reference trajectories, and enhances the robustness and learning efficiency of the control system.
Smart Images

Figure CN115718486B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of intelligent industrial robot technology, and in particular to trajectory tracking methods, devices, equipment and computer-readable storage media. Background Technology
[0002] With the rapid popularization of AGVs (Automated Guided Vehicles), many methods have been developed to solve the trajectory tracking problem of mobile robots, such as iterative learning control technology and PID (Proportion Integration Differentiation) control technology.
[0003] However, PID control technology has low accuracy and is difficult to meet practical needs. While iterative learning control technology can significantly improve the trajectory tracking accuracy of robots, its application prospects are severely limited by the constraint of the reference trajectory—specifically, repeatable reference trajectories—and it is not suitable for non-repeatable reference trajectories. Furthermore, in the early stages of AGV iterative learning, due to the lack of effective historical information, AGVs often experience excessive tracking errors or even failures. In the initial learning phase, the stability of the mobile robot system cannot be guaranteed, and it may even lead to system instability, failing to meet the requirements of practical engineering applications; it also requires a long time for learning and training, resulting in low efficiency and poor real-time performance.
[0004] Therefore, there is a significant technical limitation in existing trajectory tracking methods.
[0005] The above content is only used to help understand the technical solution of this application and does not represent an admission that the above content is prior art. Summary of the Invention
[0006] The main objective of this application is to provide a trajectory tracking method, apparatus, device, and computer-readable storage medium, aiming to solve the technical problem that existing trajectory tracking methods are not flexible enough.
[0007] To achieve the above objectives, this application provides a trajectory tracking method, which includes the following steps:
[0008] When the automated guided vehicle is traveling on the path at the first moment, the first pose tracking error at the first moment is obtained. The first pose tracking error is the difference between the actual pose of the automated guided vehicle at the first moment and the reference trajectory pose.
[0009] Based on the first pose tracking error, a controller is selected. The controller includes a proportional-integral-derivative controller and / or an iterative learning controller. The first pose tracking error is input to the proportional-integral-derivative controller to output a first control quantity, and the first pose tracking error is input to the iterative learning controller to output a first correction control quantity.
[0010] Based on the first control quantity and the first corrected control quantity, a first final control quantity is output, and the automated guided vehicle is controlled to move based on the first final control quantity.
[0011] Optionally, the step of selecting a controller based on the first pose tracking error, wherein the controller includes a proportional-integral-derivative controller and / or an iterative learning controller, includes:
[0012] Based on the first pose tracking error, determine whether the first pose tracking error meets the first accuracy requirement;
[0013] If so, the controller is selected as the proportional-integral-derivative controller and the iterative learning controller;
[0014] If not, then the controller is selected as the proportional-integral-derivative controller.
[0015] Optionally, before the step of obtaining the first pose tracking error at the first moment when the automated guided vehicle is traveling on the path, wherein the first pose tracking error is the difference between the actual pose of the automated guided vehicle and the reference trajectory pose at the first moment, the following steps are included:
[0016] Obtain the path number of the current driving route of the automated guided vehicle, and determine whether the path number has historical learning results;
[0017] If so, then the historical learning outcomes will be invoked;
[0018] If not, then the step of obtaining the first pose tracking error at the first moment when the automated guided vehicle is traveling on the path, wherein the first pose tracking error is the difference between the actual pose of the automated guided vehicle and the reference trajectory pose at the first moment, is executed.
[0019] Optionally, if so, the step of calling the historical learning results includes:
[0020] Determine whether the historical learning results meet the second precision requirement, wherein the second precision requirement is higher than the first precision requirement;
[0021] If so, then based on the historical learning results, control the automated guided vehicle to travel on the path with the path number;
[0022] If not, then the step of obtaining the first pose tracking error at the first moment when the automated guided vehicle is traveling on the path, wherein the first pose tracking error is the difference between the actual pose of the automated guided vehicle and the reference trajectory pose at the first moment, is executed.
[0023] Optionally, the step of inputting the first pose tracking error to the iterative learning controller to output the first corrective control quantity includes:
[0024] The first pose tracking error is input to the iterative learning controller, wherein the iterative learning controller stores the first pose tracking error for the next iteration of learning, and the first pose tracking error includes a first lateral pose error, a first longitudinal pose error, and a first heading angle error;
[0025] The first heading angle error of the historical learning results is compared with the second heading angle error of the historical learning results, and the first correction control quantity is output.
[0026] Optionally, the step of selecting the controller as the proportional-integral-derivative controller after the step of "if not" includes:
[0027] The automated guided vehicle is controlled to move based on the first control quantity, and the second pose tracking error at the second moment is obtained, wherein the first moment and the second moment are sequentially connected, and the second moment is after the first moment;
[0028] Determine whether the second pose tracking error meets the first accuracy requirement;
[0029] If so, the second pose tracking error is input to the proportional-integral-derivative controller and the iterative learning controller, and the second control quantity and the second correction control quantity are output respectively;
[0030] Based on the second control quantity and the second corrected control quantity, a second final control quantity is output, and the automated guided vehicle is controlled to move based on the second final control quantity.
[0031] Optionally, the trajectory tracking method further includes:
[0032] Repeat the steps of obtaining the first pose tracking error at the first moment to outputting the second final control quantity based on the second control quantity and the second correction control quantity, and controlling the autonomous guided vehicle to drive based on the second final control quantity, until the autonomous guided vehicle completes the path driving of the path number.
[0033] The learning results of the path number are saved for use when the automated guided vehicle travels the path number again, or copied for use by other automated guided vehicles.
[0034] Furthermore, to achieve the above objectives, this application also provides a trajectory tracking device, the device comprising:
[0035] The acquisition module is used to acquire the first pose tracking error at the first moment when the automated guided vehicle is traveling on the path. The first pose tracking error is the difference between the actual pose of the automated guided vehicle and the pose of the reference trajectory at the first moment.
[0036] The judgment module is used to determine whether the first pose tracking error meets the first accuracy requirement;
[0037] The calculation module is used to input the first pose tracking error to the proportional-integral-derivative controller and output the first control quantity if the condition is met; and to input the first pose tracking error to the iterative learning controller and output the first correction control quantity.
[0038] The control module is used to output a first final control quantity based on the first control quantity and the first corrected control quantity, and to control the movement of the automated guided vehicle based on the first final control quantity.
[0039] In addition, to achieve the above objectives, this application also provides a trajectory tracking device, the device comprising: a memory, a processor, and a trajectory tracking program stored in the memory and executable on the processor, the trajectory tracking program being configured to implement the steps of the trajectory tracking method described above.
[0040] In addition, to achieve the above objectives, this application also provides a computer-readable storage medium storing a trajectory tracking program, which, when executed by a processor, implements the steps of the trajectory tracking method described above.
[0041] In this embodiment, compared with the prior art which has difficulty in simultaneously satisfying tracking accuracy and robustness, this application proposes to first use a PID controller to be responsible for "coarse adjustment" to ensure the stability of the AGV tracking control system. After the pose tracking error meets the first accuracy requirement, the iterative learning controller is called to be responsible for "fine adjustment" to further improve the tracking accuracy of the AGV. By selecting and combining the use of controllers, the shortcomings of unstable tracking and slow learning convergence speed in the early stage of AGV iterative learning are overcome. Among them, the PID controller is always in operation, and the PID controller ensures the robustness of AGV control. Attached Figure Description
[0042] Figure 1This is a schematic diagram of the structure of the trajectory tracking device in the hardware operating environment involved in the embodiments of this application;
[0043] Figure 2 This is a flowchart illustrating the first embodiment of the trajectory tracking method of this application;
[0044] Figure 3 This is a schematic diagram of the single-rudder AGV trajectory tracking algorithm in the first embodiment of the trajectory tracking method of this application;
[0045] Figure 4 This is a schematic diagram of the single-rudder AGV structure in the first embodiment of the trajectory tracking method of this application;
[0046] Figure 5 This is a schematic diagram of the master-slave path division in the second embodiment of the trajectory tracking method of this application;
[0047] Figure 6 This is a schematic diagram of the functional modules of the first embodiment of the trajectory tracking device of this application.
[0048] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0049] It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application.
[0050] Reference Figure 1 , Figure 1 This is a schematic diagram of the trajectory tracking device structure in the hardware operating environment involved in the embodiments of this application.
[0051] like Figure 1As shown, the trajectory tracking device may include: a processor 1001, such as a central processing unit (CPU), a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. The communication bus 1002 is used to enable communication between these components. The user interface 1003 may include a display screen or an input unit such as a keyboard; optionally, the user interface 1003 may also include a standard wired interface or a wireless interface. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface). The memory 1005 may be a high-speed random access memory (RAM) or a stable non-volatile memory (NVM), such as a disk drive. The memory 1005 may also optionally be a storage device independent of the aforementioned processor 1001.
[0052] Those skilled in the art will understand that Figure 1 The structure shown does not constitute a limitation on the trajectory tracking device and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0053] like Figure 1 As shown, the memory 1005, which serves as a storage medium, may include an operating system, a data storage module, a network communication module, a user interface module, and a trajectory tracking program.
[0054] exist Figure 1 In the trajectory tracking device shown, the network interface 1004 is mainly used for data communication with other devices; the user interface 1003 is mainly used for data interaction with the user; the processor 1001 and the memory 1005 in the trajectory tracking device of this application can be set in the trajectory tracking device. The trajectory tracking device calls the trajectory tracking program stored in the memory 1005 through the processor 1001 and executes the trajectory tracking method provided in the embodiment of this application.
[0055] This application provides a trajectory tracking method, referring to... Figure 2 , Figure 2 This is a flowchart illustrating a first embodiment of a trajectory tracking method according to this application.
[0056] In this embodiment, the trajectory tracking method includes:
[0057] Step S10: When the automated guided vehicle is traveling on the path at the first moment, the first pose tracking error at the first moment is obtained. The first pose tracking error is the difference between the actual pose of the automated guided vehicle at the first moment and the reference trajectory pose.
[0058] Specifically, to minimize the trajectory tracking error of the AGV, this application acquires the reference trajectory pose at the first moment when the AGV travels on a path with a specific path number. During path travel, various factors can cause deviations between the AGV's actual pose and the reference trajectory pose. These factors include: unreasonable design or accuracy errors in the AGV's drive unit mechanism; delays in navigation signal transmission by the navigation sensor; misreading of the magnetic field signal by the magnet inside the motor; poor fast response of the motor driver, resulting in the AGV's main controller not executing speed control commands promptly; problems with the motor's PI control; and environmental factors such as terrain and lighting conditions. Therefore, real-time detection of the AGV's actual pose is necessary. This requires a position detection device capable of sensing the AGV. The position detection device described in this embodiment is non-contact and includes, but is not limited to, video acquisition devices, optical imaging equipment, lidar, millimeter-wave radar, and inertial measurement equipment.
[0059] Optionally, when the position detection device is an optical imaging device, the optical imaging device can be a depth camera, which can detect the depth of field of the shooting space. By obtaining the distance of each point in the image from the camera through the depth camera, and adding the two-dimensional coordinates of that point in the 2D image, the three-dimensional spatial coordinates of each point in the image can be obtained.
[0060] Optionally, when the displacement detection device is a lidar, the lidar consists of a laser transmitter, an optical receiver, a turntable, and an information processing system. The laser converts electrical pulses into light pulses and transmits a detection signal to the target. Then, the received signal reflected back from the target (target echo) is compared with the transmitted signal. After appropriate processing by the processor, relevant information about the AGV can be obtained, such as the AGV's orientation, height, speed, attitude, and even shape parameters.
[0061] Step S20: Select a controller based on the first pose tracking error. The controller includes a proportional-integral-derivative controller and / or an iterative learning controller. The first pose tracking error is input to the proportional-integral-derivative controller to output a first control quantity, and the first pose tracking error is input to the iterative learning controller to output a first correction control quantity.
[0062] Further, step S20 includes:
[0063] Step S21: Based on the first pose tracking error, determine whether the first pose tracking error meets the first accuracy requirement;
[0064] Step S22: If yes, then select the controller as the proportional-integral-derivative controller and the iterative learning controller;
[0065] Step S23: If not, then select the controller as the proportional-integral-derivative controller.
[0066] Specifically, in the early stages of AGV iterative learning, due to the lack of effective historical information, AGVs often experience excessive tracking errors or even fail. To overcome this, this embodiment sets a relatively low initial accuracy requirement. Before the AGV's tracking error meets this requirement, a PID controller is used alone to control the error within a certain range, serving as a "coarse adjustment" to ensure the stability of the AGV tracking control system.
[0067] In this embodiment, a single-rudder AGV is selected, referring to... Figure 3 , Figure 3 This is a schematic diagram illustrating the trajectory tracking algorithm of a single-rudder AGV according to the first embodiment of the trajectory tracking method of this application. (Refer to...) Figure 4 , Figure 4 This is a schematic diagram of the single-rudder AGV structure in the first embodiment of the trajectory tracking device of this application. In this embodiment, a PID controller is designed. Let the first time point be time K, and define p... d (k)=[x d (k)y d (k) θ d (k)] T p r (k)=[x r (k) y r (k) θ r (k)] T Let e(k) represent the reference trajectory and the AGV's pose vector at time k, respectively. x (k) e y (k) e θ (k)] T For the reference trajectory pose p at time k d (k) and the actual pose of the AGV p r The tracking error between (k) is denoted as e. yθ (k)=e y (k)+e θ (k). u pid (k)=[ν pid (k) θ pid (k)] TLet represent the PID control output of the AGV at time k. Therefore, based on the AGV's trajectory tracking error, a PID controller of the following form is designed:
[0068]
[0069] Where, k ph >0, k ih >0, k dh >0 (h=1,2) are the control parameters of the PID controller.
[0070] In this embodiment, an iterative learning controller is designed. The single-rudder AGV control system belongs to a typical underactuated control system, that is: having x r y r θ r There are three controlled variables and two control variables, v and θ. The number of controlled variables is less than the number of control variables. v and θ are the speed control variable and steering angle control variable of the single-rudder AGV drive wheel, respectively, and their magnitudes determine the walking posture of the single-rudder AGV. The lateral posture y of the AGV is also considered. r and heading angle θ r The longitudinal control of the AGV is mainly related to the angle control variable θ, while the longitudinal control of the AGV is mainly related to the speed control variable v. Because y r and θ r Coupling relationship, using a traditional PID controller θ pid (k) It is difficult to simultaneously guarantee the tracking accuracy of the AGV's lateral pose and heading angle. To further improve the tracking accuracy of the AGV's lateral position and heading angle, the heading angle tracking error e is utilized. θ Design an iterative learning controller of the following form:
[0071]
[0072] Here, the subscript j represents the number of times the learning process is performed in the current iteration, and the subscript j-1 represents the previous iteration. This represents the control output of the current iteration of learning. Here, the coefficient matrix L is denoted as ξ. p ξ d Two adjustable learning parameters greater than 0.
[0073] The iterative learning controller can use the heading angle tracking error from the previous AGV iteration to adjust the control output of the current iteration in real time, thereby suppressing excessive tracking error in advance and gradually reducing the tracking error and improving tracking accuracy.
[0074] Step S40: Based on the first control quantity and the first corrected control quantity, output the first final control quantity, and control the movement of the automated guided vehicle based on the first final control quantity.
[0075] Specifically, define u all (k)=[ν all (k) θ all (k) T Let be the final control input of the single-rudder AGV at time k. The final control quantity of the single-rudder AGV is equal to the vector superposition of the control quantity output by the PID controller and the control quantity output by the iterative learning controller, that is:
[0076]
[0077] In the final control quantity u of AGV all In (k), the PID control quantity u pid (k) dominates, effectively ensuring the AGV's basic tracking capability of the reference trajectory, playing a "coarse adjustment" control role. When the tracking error e(k) increases, the PID control quantity u pid (k) It can promptly suppress the increase in tracking error and control it within a relatively stable range. Based on the stable tracking of the reference trajectory by the AGV, the control quantity is iteratively learned. Able to track based on the tracking error of the previous moment The learned control input is a corrected control quantity for the PID control output. This corrected control quantity supplements the PID control, providing fine-tuning. After multiple iterations, the control accuracy of the PID controller can be effectively improved. Furthermore, because iterative learning control is based on PID control, it significantly reduces the number of iterations and accelerates the learning convergence speed.
[0078] In this embodiment, compared with the prior art which has difficulty in simultaneously satisfying tracking accuracy and robustness, this application proposes to first use a PID controller to be responsible for "coarse adjustment" to ensure the stability of the AGV tracking control system. After the pose tracking error meets the first accuracy requirement, the iterative learning controller is called to be responsible for "fine adjustment" to further improve the tracking accuracy of the AGV. By selecting and combining the use of controllers, the shortcomings of unstable tracking and slow learning convergence speed in the early stage of AGV iterative learning are overcome. Among them, the PID controller is always in operation, and the PID controller ensures the robustness of AGV control.
[0079] Furthermore, based on the above embodiments, referring to Figure 5 A second embodiment of this application is provided, wherein the steps prior to step S10 include:
[0080] Step S00: Obtain the path number of the current driving route of the automated guided vehicle, and determine whether the path number has historical learning results;
[0081] Specifically, in intelligent logistics applications, AGVs' travel paths are relatively fixed. Therefore, in areas where goods are frequently moved, AGVs will be more active. Thus, only one AGV needs to iteratively learn the same path, and the learned results can be directly "copied" for other AGVs. Furthermore, although the trajectories of AGVs are generally not repetitive, we can designate frequently traveled paths as main roads and various pick-up and drop-off paths as sub-roads, thereby segmenting the AGV's travel paths and iteratively learning them individually. (Refer to...) Figure 5 The planned paths are divided into main roads and sub-roads based on the AGV's travel frequency, and each path is numbered. If path number ⑤ is a storage location line, and the AGV is about to perform a retrieval or placement operation at that location, then the AGV's path will consist of path number ① and path number ⑤. After the main and sub-roads are defined, the path traveled by the AGV for each task consists of multiple main and sub-roads. The AGV iteratively learns each path it travels and saves the learning results for use in the next trip. Therefore, with the segmented learning strategy, the reference trajectory during iterative learning can be non-repetitive, as long as the reference trajectory is within the planned path.
[0082] When an AGV enters another path, it first needs to determine the path number and check if there are any historical learning results. The source of historical learning results may be that the AGV itself has traveled this path before, or it may be that other AGVs have traveled this path and shared its learning results.
[0083] Step S01: If yes, then retrieve the historical learning results;
[0084] Furthermore, step S01 includes:
[0085] Step S03: Determine whether the historical learning results meet the second precision requirement, wherein the second precision requirement is higher than the first precision requirement;
[0086] Step S04: If so, then based on the historical learning results, control the automated guided vehicle to travel on the path with the path number.
[0087] Step S04: If not, then execute the step of obtaining the first pose tracking error at the first moment when the automated guided vehicle is traveling on the path, where the first pose tracking error is the difference between the actual pose of the automated guided vehicle and the reference trajectory pose at the first moment.
[0088] Specifically, if historical learning outcomes exist, it is determined whether the error of these outcomes meets the second accuracy requirement. The second accuracy requirement is higher than the first accuracy requirement. When the error range of the AGV trajectory tracking is stable and meets the second accuracy requirement, in this embodiment, there is no need to continue iterative learning to improve accuracy. The AGV is directly controlled to travel on the current road according to the historical learning outcomes. If the accuracy of the historical learning outcomes does not reach the second accuracy requirement, the AGV continues to reduce the tracking error and improve accuracy based on the historical learning outcomes. Step S10 is executed, and the specific execution method is the same as in the first embodiment of this application, which will not be described in detail here.
[0089] Step S02: If not, then execute the step of obtaining the first pose tracking error at the first moment when the automated guided vehicle is traveling on the path, where the first pose tracking error is the difference between the actual pose of the automated guided vehicle and the reference trajectory pose at the first moment.
[0090] Specifically, if it does not exist, the learning process restarts. Step S10 is executed, and the specific execution method is as described in the first embodiment of this application, which will not be repeated here.
[0091] In this embodiment, the pre-planned path is divided into primary and secondary roads and a "segmented learning" strategy is adopted, so that iterative learning control can also be applied to non-repetitive reference trajectories, thus relaxing the restrictions of iterative learning control technology on reference trajectories.
[0092] Furthermore, based on the above embodiments, a third embodiment of this application is provided, wherein the step of inputting the first pose tracking error to the iterative learning controller to output the first correction control quantity includes:
[0093] Step S31: Input the first pose tracking error to the iterative learning controller, wherein the iterative learning controller stores the first pose tracking error for the next iteration of learning, and the first pose tracking error includes a first lateral pose error, a first longitudinal pose error, and a first heading angle error;
[0094] Step S32: Compare the first heading angle error of the historical learning results with the second heading angle error of the historical learning results, and output the first correction control quantity.
[0095] Specifically, based on the stored past heading angle tracking errors and control values, the iterative learning controller is used to learn and update the control values at the current moment. The iterative learning controller stores the current attitude tracking error for the next iteration. The specific execution method is the same as step S30 in the first embodiment of this application, and will not be repeated here.
[0096] In this embodiment, the iterative learning controller can use the heading angle tracking error of the previous AGV iteration to adjust the control output of the current iteration in real time, thereby achieving the effect of suppressing excessive tracking error in advance, and gradually reducing the tracking error and improving the tracking accuracy.
[0097] Furthermore, based on the above embodiments, a fourth embodiment of this application is provided, wherein after step S22, the following is included:
[0098] Step S23: Control the automatic guided transport vehicle to drive based on the first control quantity, and obtain the second pose tracking error at the second time, wherein the first time and the second time are sequentially connected, and the second time is located after the first time;
[0099] Step S24: Determine whether the second pose tracking error meets the first accuracy requirement;
[0100] Step S25: If yes, input the second pose tracking error to the proportional-integral-derivative controller and the iterative learning controller, and output the second control quantity and the second correction control quantity respectively;
[0101] Step S26: Based on the second control quantity and the second corrected control quantity, output the second final control quantity, and control the movement of the automated guided vehicle based on the second final control quantity.
[0102] Furthermore, the trajectory tracking method also includes:
[0103] Step S27: Repeat the step of obtaining the first pose tracking error at the first moment to the step of outputting the second final control quantity based on the second control quantity and the second correction control quantity, and controlling the autonomous guided vehicle to drive based on the second final control quantity, until the autonomous guided vehicle completes the path driving of the path number.
[0104] Step S28: Save the learning results of the path number for use when the automated guided vehicle travels the path number again, or copy it for use by other automated guided vehicles.
[0105] Specifically, in this embodiment, adjusting the output control quantity based on the AGV's trajectory tracking error is a real-time process that flows with time. The execution steps are also a cyclical repetition process, and the specific execution method is described in the first embodiment of this application, which will not be repeated here. This process ends when the AGV completes path learning for the current path number, that is, when the trajectory tracking accuracy meets the second accuracy requirement on the current path number. Alternatively, the AGV may exit the current path number. The learning results for the path number are saved for use when the automated guided vehicle travels the path number again, or copied for use by other automated guided vehicles.
[0106] In this embodiment, path division allows overlapping travel paths for AGVs operating on different routes. The learning results of each path iteration are saved for use by all AGVs when they travel along the same path again. After multiple iterations, the control accuracy of the PID controller is effectively improved. Furthermore, because iterative learning control is based on PID control, the number of iterations is greatly reduced, accelerating the learning convergence speed.
[0107] Furthermore, embodiments of this application also propose a trajectory tracking device, referring to... Figure 6 , Figure 6 This is a functional module diagram of a first embodiment of the trajectory tracking device of this application. The trajectory tracking device includes:
[0108] The acquisition module 10 is used to acquire the first pose tracking error at the first moment when the automated guided vehicle is traveling on the path. The first pose tracking error is the difference between the actual pose of the automated guided vehicle and the reference trajectory pose at the first moment.
[0109] The selection module 20 is used to select a controller based on the first pose tracking error. The controller includes a proportional-integral-derivative controller and / or an iterative learning controller. The first pose tracking error is input to the proportional-integral-derivative controller to output a first control quantity, and the first pose tracking error is input to the iterative learning controller to output a first correction control quantity.
[0110] The control module 30 is used to output a first final control quantity based on the first control quantity and the first corrected control quantity, and to control the movement of the automated guided vehicle based on the first final control quantity.
[0111] Furthermore, embodiments of this application also propose a computer-readable storage medium.
[0112] The present application has a trajectory tracking program stored on a computer-readable storage medium, which, when executed by a processor, implements the steps of the trajectory tracking method described above.
[0113] The specific embodiments in which the trajectory tracking program stored in the computer-readable storage medium of this application is executed by the processor are basically the same as the embodiments of the trajectory tracking method described above, and will not be repeated here.
[0114] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or system. Unless otherwise specified, an element defined by the phrase "comprising a trajectory tracking" does not exclude the presence of other identical elements in the process, method, article, or system that includes that element.
[0115] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0116] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0117] The above are merely preferred embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
Claims
1. A trajectory tracking method characterized by, The trajectory tracking method comprises the following steps: When the first time automatic guided vehicle travels on the path, the first pose tracking error of the first time is obtained, the first pose tracking error is the difference between the actual pose of the automatic guided vehicle at the first time and the reference trajectory pose; According to the first pose tracking error, it is judged whether the first pose tracking error meets the first accuracy requirement; If the first pose tracking error is less than the first accuracy requirement, the selected controller is a proportional-integral-derivative controller and an iterative learning controller; If the first pose tracking error is greater than the first accuracy requirement, the selected controller is a proportional-integral-derivative controller; Wherein, the first pose tracking error is input to the proportional-integral-derivative controller to output the first control quantity, the first pose tracking error includes the first lateral pose error, the first longitudinal pose error and the first heading angle error, the first heading angle error is compared with the heading angle error corresponding to the previous time of the first time based on the iterative learning controller, and the first correction control quantity is output; Based on the first control quantity and the first correction control quantity, the first final control quantity is output, and the automatic guided vehicle is controlled to travel based on the first final control quantity.
2. The trajectory tracking method of claim 1, wherein, The step of obtaining the first pose tracking error of the first time when the first time automatic guided vehicle travels on the path, the first pose tracking error being the difference between the actual pose of the automatic guided vehicle at the first time and the reference trajectory pose, comprises the following steps: Obtain the path number of the current travel path of the automatic guided vehicle, and determine whether the path number has historical learning results; If yes, the historical learning results are called; If no, the step of obtaining the first pose tracking error of the first time when the first time automatic guided vehicle travels on the path, the first pose tracking error being the difference between the actual pose of the automatic guided vehicle at the first time and the reference trajectory pose, is executed.
3. The trajectory tracking method of claim 2, wherein, The step of calling the historical learning results if yes, comprises the following steps: Determine whether the historical learning results meet the second accuracy requirement, wherein the second accuracy requirement is higher than the first accuracy requirement; If yes, the automatic guided vehicle is controlled to travel on the path numbered path according to the historical learning results; If no, the step of obtaining the first pose tracking error of the first time when the first time automatic guided vehicle travels on the path, the first pose tracking error being the difference between the actual pose of the automatic guided vehicle at the first time and the reference trajectory pose, is executed.
4. The trajectory tracking method of claim 3, wherein, The step of comparing the first heading angle error with the heading angle error corresponding to the previous time of the first time based on the iterative learning controller to output the first correction control quantity, comprises the following steps: The first pose tracking error is input to the iterative learning controller, wherein the iterative learning controller stores the first pose tracking error for next iteration learning, and the first pose tracking error includes the first lateral pose error, the first longitudinal pose error and the first heading angle error; The first heading angle error of the historical learning result is compared with a second heading angle error of the historical learning result, and the first correction control amount is output.
5. The trajectory tracking method of claim 1, wherein, If the first pose tracking error is less than the first accuracy requirement, the step of selecting the controller as the proportional-integral-derivative controller and the iterative learning controller is followed by: The automatic guided vehicle is controlled to travel based on the first control amount, and a second pose tracking error at a second time is obtained, wherein the first time and the second time are sequentially connected, and the second time is after the first time; It is determined whether the second pose tracking error meets the first accuracy requirement; If the second pose tracking error is less than the first accuracy requirement, the second pose tracking error is input to the proportional-integral-derivative controller and the iterative learning controller, and a second control amount and a second correction control amount are respectively output; Based on the second control amount and the second correction control amount, a second final control amount is output, and the automatic guided vehicle is controlled to travel based on the second final control amount.
6. The trajectory tracking method of claim 5, wherein, The trajectory tracking method further includes: The steps of obtaining the first pose tracking error at the first time and controlling the automatic guided vehicle to travel based on the second control amount and the second correction control amount are repeated until the automatic guided vehicle completes path travel of the path number, and the learning result of the path number is saved for use by the automatic guided vehicle next time the path of the path number is traveled or is copied to other automatic guided vehicles for use. The device includes:
7. A trajectory tracking device, characterized by, An obtaining module is configured to obtain a first pose tracking error at a first time when an automatic guided vehicle travels on a path, the first pose tracking error being a difference between an actual pose of the automatic guided vehicle at the first time and a reference trajectory pose; A selecting module is configured to determine whether the first pose tracking error meets a first accuracy requirement according to the first pose tracking error, and select a controller as a proportional-integral-derivative controller and an iterative learning controller if the first pose tracking error is less than the first accuracy requirement, and select the controller as the proportional-integral-derivative controller if the first pose tracking error is greater than the first accuracy requirement; wherein the first pose tracking error is input to the proportional-integral-derivative controller to output a first control amount, the first pose tracking error includes a first lateral pose error, a first longitudinal pose error, and a first heading angle error, and the first heading angle error is compared with a heading angle error corresponding to a previous time of the first time based on the iterative learning controller to output a first correction control amount; A control module is configured to output a first final control amount based on the first control amount and the first correction control amount, and control the automatic guided vehicle to travel based on the first final control amount. The device includes a memory, a processor, and a trajectory tracking program stored on the memory and executable on the processor, the trajectory tracking program being configured to implement the steps of the trajectory tracking method according to any one of claims 1 to 6.
8. A trajectory tracking device, characterized by, 9. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a trajectory tracking program, and the trajectory tracking program, when executed by the processor, implements the steps of the trajectory tracking method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Trajectory tracking control algorithm for iterative learning self-optimization-approaching feedforward of repetitive operation type unmanned vehicle
CN114690754A