Route control method, device, unmanned ship and storage medium based on vector propulsion system
Through the route control method based on vector propulsion system, local routes are generated and curvature and target parameters of pre-purpose points are calculated, which solves the problem of poor performance of traditional ship propulsion systems in precise control tasks, and achieves higher degree of automation and route control accuracy.
Patent Information
- Application Number
- CN202411511477.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-28
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2044-10-28
AI Technical Summary
Traditional ship propulsion systems perform poorly in narrow waters or tasks requiring highly precise control and cannot fully meet the needs of precise control in specific tasks and environments.
The route control method based on the vector propulsion system is adopted, and the local route is generated through the pre-marked global route and the current position of the unmanned ship, the pre-sight point and the corresponding curvature, target line speed and target angle are calculated, and the position of the unmanned ship is adjusted to achieve the target attitude.
Improve the degree of automation and route control accuracy of ships, and enhance the handling capabilities of ships in narrow waters and tasks that require precise control.
Smart Images

Figure CN119024856B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of ship automatic control, and in particular to a route control method, device, unmanned ship and storage medium based on a vector propulsion system. Background Art
[0002] Common ship propulsion systems achieve rotation mainly through a single-thruster full turn or a dual-thruster differential. The single-thruster full turn has too high lateral and longitudinal coupling, that is, when the ship moves laterally, the propeller will cause the hull to move longitudinally at the same time, and vice versa. The dual-thruster differential turning is not as fast as the single-thruster full turn. Since the torque generated by the two propellers is small, the response speed of the system may be limited. Therefore, both have certain limitations. They perform poorly in narrow waters or tasks that require highly precise control, and their ability to adjust the direction and speed of the ship is limited. These limitations result in the inability of traditional ship propulsion systems to fully meet the needs of precise control in specific tasks and environments.
[0003] In order to address the limitations of traditional propulsion systems, a power configuration of multiple vector thrusters is now available at the rear of the ship, enabling the ship to generate thrust in multiple directions, thereby providing the ship with more flexible and precise heading adjustment and speed control capabilities. However, the current autonomous control methods for such ships are not yet perfect, and the corresponding degree of automation is low. Summary of the invention
[0004] The purpose of the embodiments of the present application is to propose a route control method, device, unmanned ship and storage medium based on a vector propulsion system to improve the control method of the ship and enhance the degree of automation of the ship.
[0005] In order to solve the above technical problems, an embodiment of the present application provides a route control method based on a vector propulsion system, comprising:
[0006] Generate a local route of a preset length based on a pre-marked global route and the current position of the unmanned vessel;
[0007] Acquire the linear speed of the unmanned ship, calculate the preview distance according to the linear speed, and calculate the preview point according to the current position, the preview distance and the local route;
[0008] Calculate the curvature, target linear velocity and target angle corresponding to the preview point based on the local route;
[0009] Determining a current execution result of the unmanned ship based on the curvature, wherein the current execution result includes route control and on-site turning;
[0010] If the current execution result is the route control, then calculating a first deviation to the preview point based on the target linear velocity, the target angle, and the current linear velocity and the current angle of the unmanned ship;
[0011] If the current execution result is the turn in place, calculating a second deviation of the turn in place according to the target angle and the current linear speed and current angle of the unmanned ship;
[0012] According to the current execution result, a controller calculates a corresponding control parameter based on the first deviation or the second deviation, and inputs the control parameter into an actuator to adjust the posture of the unmanned ship to obtain an initial posture;
[0013] Determine whether the initial posture reaches the target posture. If not, return to re-execute the steps of obtaining the linear velocity of the unmanned ship, calculating the preview distance according to the linear velocity, and calculating the preview point according to the current position and the local route to obtain a new posture until the new posture reaches the target posture, and travel along the local route based on the target posture.
[0014] In order to solve the above technical problems, an embodiment of the present application provides a route control device based on a vector propulsion system, comprising:
[0015] A local route construction unit, used for generating a local route of a preset length according to a pre-marked global route and the current position of the unmanned vessel;
[0016] A preview point calculation unit, used to obtain the linear speed of the unmanned ship, calculate the preview distance according to the linear speed, and calculate the preview point according to the current position, the preview distance and the local route;
[0017] A target parameter calculation unit, used for calculating the curvature, target linear velocity and target angle corresponding to the preview point based on the local route;
[0018] a current execution result judging unit, configured to judge the current execution result of the unmanned ship based on the curvature, wherein the current execution result includes route control and turning in place;
[0019] A first deviation calculation unit, configured to calculate a first deviation to the preview point based on the target linear velocity, the target angle, and the current linear velocity and the current angle of the unmanned ship if the current execution result is the route control;
[0020] A second deviation calculation unit, configured to calculate a second deviation of the on-site turn according to the target angle and the current linear speed and current angle of the unmanned ship if the current execution result is the on-site turn;
[0021] an initial posture generating unit, configured to calculate a corresponding control parameter based on the first deviation or the second deviation through a controller according to the current execution result, and input the control parameter into an actuator to adjust the posture of the unmanned ship to obtain an initial posture;
[0022] The target posture generating unit is used to determine whether the initial posture reaches the target posture. If not, it returns to re-execute the preview point calculating unit to obtain a new posture until the new posture reaches the target posture, and travels along the local route based on the target posture.
[0023] In order to solve the above technical problems, a technical solution adopted by the present invention is: to provide an unmanned ship, including one or more processors; a memory for storing one or more programs, so that the one or more processors can implement any one of the above-mentioned route control methods based on the vector propulsion system.
[0024] In order to solve the above technical problems, a technical solution adopted by the present invention is: a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, it implements any one of the above-mentioned route control methods based on the vector propulsion system.
[0025] The embodiment of the present invention provides a route control method, device, unmanned ship and storage medium based on a vector propulsion system. The method includes: generating a local route of preset length according to a pre-marked global route and the current position of the unmanned ship; obtaining the linear speed of the unmanned ship, calculating the preview distance according to the linear speed, and calculating the preview point according to the current position, the preview distance and the local route; calculating the curvature, target linear speed and target angle corresponding to the preview point based on the local route; judging the current execution result of the unmanned ship based on the curvature, wherein the current execution result includes route control and turning in place; if the current execution result is the route control, then calculating the first deviation to the preview point based on the target linear speed, target angle and the current linear speed and current angle of the unmanned ship; if the current execution result is the route control, If the unmanned ship makes the turn on the spot, the second deviation of the turn on the spot is calculated according to the target angle and the current linear speed and current angle of the unmanned ship; according to the current execution result, the controller calculates the corresponding control parameters based on the first deviation or the second deviation, and inputs the control parameters into the actuator to adjust the posture of the unmanned ship to obtain the initial posture; it is determined whether the initial posture reaches the target posture, if not, it returns to re-execute the steps of obtaining the linear speed of the unmanned ship, calculating the preview distance according to the linear speed, and calculating the preview point according to the current position and the local route to obtain a new posture, until the new posture reaches the target posture, and travels along the local route based on the target posture. The embodiment of the present invention adjusts the posture of the unmanned ship multiple times so that it can travel according to the target posture, thereby improving the control method of the ship, which is beneficial to improving the automation level of the ship, and thus is beneficial to improving the accuracy of the route control of the ship. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] In order to more clearly illustrate the scheme in the present application, a brief introduction is given below to the drawings required for use in the description of the embodiments of the present application. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0027] Figure 1 is a flow chart of the implementation of the route control method based on the vector propulsion system provided in the embodiment of the present application;
[0028] Figure 2 is a flowchart for implementing the first sub-process in the route control method based on the vector propulsion system provided in an embodiment of the present application;
[0029] Figure 3 is a flowchart for implementing the second sub-process in the route control method based on the vector propulsion system provided in an embodiment of the present application;
[0030] Figure 4 is a schematic diagram of target angle composition provided in an embodiment of the present application;
[0031] Figure 5 is a flowchart for implementing the third sub-process in the route control method based on the vector propulsion system provided in an embodiment of the present application;
[0032] Figure 6 is a flowchart for implementing the fourth sub-process in the route control method based on the vector propulsion system provided in an embodiment of the present application;
[0033] Figure 7 is a flowchart for implementing the fifth sub-process in the route control method based on the vector propulsion system provided in an embodiment of the present application;
[0034] Figure 8 is a flowchart for implementing the sixth sub-process in the route control method based on the vector propulsion system provided in an embodiment of the present application;
[0035] Fig. 9 is a schematic diagram of a route control device based on a vector propulsion system provided in an embodiment of the present application;
[0036] Fig.10 It is a schematic diagram of an unmanned boat provided in an embodiment of the present application. DETAILED DESCRIPTION
[0037] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by technicians in the technical field of the present application; the terms used in the specification of the application herein are only for the purpose of describing specific embodiments and are not intended to limit the present application; the terms "including" and "having" and any variations thereof in the specification and claims of the present application and the above-mentioned drawings are intended to cover non-exclusive inclusions. The terms "first", "second", etc. in the specification and claims of the present application or the above-mentioned drawings are used to distinguish different objects, not to describe a specific order.
[0038] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0039] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the accompanying drawings.
[0040] The present invention is described in detail below with reference to the accompanying drawings and embodiments.
[0041] It should be noted that the route control method based on the vector propulsion system provided in the embodiment of the present application is generally executed by an unmanned ship, and accordingly, the route control device based on the vector propulsion system is generally configured in the unmanned ship.
[0042] See also Figure 1 , Figure 1 A specific implementation of a route control method based on a vector propulsion system is shown.
[0043] It should be noted that if there are substantially the same results, the method of the present invention is not limited to Figure 1 The process sequence shown is limited to the following steps:
[0044] S1: Generate a local route of preset length based on the pre-marked global route and the current position of the unmanned vessel.
[0045] Specifically, the global route is a pre-marked route, and the local route is generated based on the global route. The length of the local route is set according to actual conditions and cannot exceed the length of the global route.
[0046] See also Figure 2 , Figure 2 A specific implementation of step S1 is shown, which is described in detail as follows:
[0047] S11: Acquire the pre-marked global route and the current position of the unmanned ship;
[0048] S12: identifying a route point closest to the current position from the global route as a cut-off point;
[0049] S13: starting from the interception starting point, calculating the distance between every two route points in the subsequent global route to obtain an initial distance;
[0050] S14: acquiring target path points in sequence based on the initial distance, and accumulating the initial distance until the accumulated initial distance reaches or exceeds the preset length, and determining an interception end point;
[0051] S15: Generate the local route based on the interception starting point and the interception end point.
[0052] In the embodiment of the present application, the pre-marked global route and the current position of the unmanned ship are first obtained, and then the route point closest to the current position of the unmanned ship is identified from the global route to determine the interception starting point P; then, the distance between each subsequent two points from the interception starting point P is calculated. According to this distance, the path points are selected in sequence, and the distance between each two points is accumulated until the accumulated distance reaches or exceeds the preset length L. In this way, the local route L between the starting point and the end point is intercepted from the global route.
[0053] S2: Acquire the linear speed of the unmanned ship, calculate the preview distance according to the linear speed, and calculate the preview point according to the current position, the preview distance and the local route.
[0054] Specifically, if the preview distance is constant, the effect may be very good at low speed, but at high speed, too small a preview distance causes the unmanned boat to be too aggressive and oscillate. Therefore, in order to solve the above problem, the embodiment of the present application makes the preview distance proportional to the linear speed. . And prevent the ship speed Very small, preview distance Too small plus a constant bias The specific calculation method is as follows:
[0055] ;
[0056] in, is a constant, is a constant bias, Linear speed of the unmanned vessel.
[0057] Specifically, the preview point may fall between two reference points in a short local route L at the latest time, so it is necessary to traverse the reference points at the latest time until the first When the distance between the first reference point and the center of the unmanned ship is just greater than the preview distance, the first The points are approximate preview points, that is, the preview points in the embodiment of the present application are obtained.
[0058] S3: Calculate the curvature, target linear velocity and target angle corresponding to the preview point based on the local route.
[0059] Specifically, in the embodiment of the present application, it is necessary to calculate the curvature corresponding to the preview point, the target linear velocity and the target angle.
[0060] See also Figure 3 and Figure 4 , Figure 3 A specific implementation of step S3 is shown. Figure 4 This is a schematic diagram of the target angle composition provided by the embodiment of the present application; the details are as follows:
[0061] S31: calculating an angle difference between tangent angles of adjacent route points and a route point distance based on the local route, and calculating a curvature corresponding to the preview point based on the angle difference and the route point distance.
[0062] See also Figure 5 , Figure 5 A specific implementation of step S31 is shown, which is described in detail as follows:
[0063] S311: Acquire position information corresponding to adjacent route points in the local route, and calculate the tangent angle of each route point based on the position information;
[0064] S312: Calculating the angle difference based on the tangent angles corresponding to the adjacent route points;
[0065] S313: Calculate the Euclidean distance between adjacent route points in the local route to obtain the route point distance;
[0066] S314: Calculate the curvature corresponding to the preview point based on the angle difference and the route point distance.
[0067] Specifically, obtain the location information corresponding to the adjacent route points in the local route , , and then calculate the tangent angle of each route point based on the position information , which is calculated as follows:
[0068] ;
[0069] in, is the tangent angle of the route point; , is the coordinate of route point P; , is the coordinate of route point P+1.
[0070] Then calculate the angle difference between the tangent angles of adjacent route points (denoted as ), and then calculate the Euclidean distance between adjacent route points in the local route to get the route point distance , which is calculated as follows:
[0071] ;
[0072] Finally, the angle difference Distance to the corresponding route point Divide to get the curvature of the route point , .
[0073] S32: Determine the steering acceleration of the unmanned ship based on the curvature, and calculate the target linear velocity based on the steering acceleration and the curvature.
[0074] Specifically, the turning acceleration a of the unmanned ship is determined according to the curvature point on the path. When the unmanned ship moves along the curve, each small displacement can be regarded as an approximate circular motion, from which the required information can be derived:
[0075] , where a is the steering acceleration, is the curvature of the route point, is the target linear speed of the route point;
[0076] S33: Calculate the angle between the heading of the unmanned ship and the tangent direction of the path point to obtain a first angle;
[0077] S34: Obtaining the distance from the center of the unmanned ship to the nearest route point of the local route to obtain the target distance, and calculating the second angle based on the target distance and the preview distance;
[0078] S35: Calculate the target angle based on the first angle and the second angle.
[0079] like Figure 4 As shown, the target angle include and , part of which is the turning angle caused by the heading error, that is, the angle between the current bow direction and the tangent direction of the nearest point of the local route L The other part is the turning angle caused by the lateral error, that is, the angle formed by the lateral distance from the center of the unmanned ship to the nearest point of the local route L. Without considering the lateral tracking error, the turning angle of the unmanned ship should be consistent with the tangent direction of the given local route L. In the absence of any lateral error, the direction of the unmanned ship should be the same as the direction of the path point, so the turning angle to eliminate the heading error is:
[0080] ;
[0081] Without considering the heading tracking deviation, the larger the lateral tracking error, the larger the steering angle of the unmanned ship. Assuming that the expected trajectory of the unmanned ship is at the preview distance Intersecting with the tangent line of the nearest point on the reference path, the following nonlinear proportional function is obtained based on the geometric relationship:
[0082] ;
[0083] Therefore, the target angle is:
[0084] ;
[0085] in, is the weight value.
[0086] S4: Determine the current execution result of the unmanned ship based on the curvature, wherein the current execution result includes route control and on-site turning.
[0087] Specifically, in the embodiment of the present application, it is necessary to judge the current execution result of the unmanned ship according to the curvature corresponding to the preview point, which includes route control and on-the-spot turning.
[0088] See also Figure 6 , Figure 6 A specific implementation of step S4 is shown, which is described in detail as follows:
[0089] S41: Obtaining a preset preview point curvature threshold;
[0090] S42: comparing the preview point curvature threshold with the curvature;
[0091] S43: If the preview point curvature threshold is greater than the curvature, the current execution result is the on-the-spot turn;
[0092] S44: If the preview point curvature threshold is less than or equal to the curvature, the current execution result is the route control.
[0093] Specifically, in the embodiment of the present application, the curvature threshold of the preview point is pre-set. , if the curvature of the current preview point Greater than , it means that the curvature of the preview point is large, and the unmanned ship should perform an on-site turn. This measure is intended to determine the most suitable ship control method based on the specific value of the preview point curvature, so as to perform navigation operations more effectively. Less than , then route control is performed. It should be noted that the preview point curvature threshold is set according to actual conditions and is not limited here.
[0094] S5: If the current execution result is the route control, a first deviation to the preview point is calculated based on the target linear velocity, the target angle, and the current linear velocity and the current angle of the unmanned ship.
[0095] Specifically, the first deviation includes a first speed deviation and a first angle deviation, and the first speed deviation is calculated as follows:
[0096] ;
[0097] in, is the target linear velocity, is the current linear velocity, is the first speed deviation.
[0098] The first angle deviation is calculated as follows:
[0099] ;
[0100] in, is the target angle, is the current angle, is the first angle deviation.
[0101] S6: If the current execution result is the turn in place, a second deviation of the turn in place is calculated according to the target angle and the current linear speed and current angle of the unmanned ship.
[0102] The second deviation includes a second speed deviation and a second angle deviation, and the second speed deviation is calculated as follows:
[0103] ;
[0104] Among them, the target linear speed at this time is zero, is the second speed deviation.
[0105] The second angle deviation is calculated as follows:
[0106] ;
[0107] in, is the second angle deviation, is the current angle, is the target angle.
[0108] S7: According to the current execution result, a controller calculates a corresponding control parameter based on the first deviation or the second deviation, and inputs the control parameter into an actuator to adjust the posture of the unmanned ship to obtain an initial posture.
[0109] See also Figure 7 , Figure 7 A specific implementation of step S7 is shown, which is described in detail as follows:
[0110] S71: inputting the first deviation or the second deviation into the controller;
[0111] S72: If the current execution result is the route control, calculating, by the controller, a first throttle value of a vector thruster corresponding to longitudinal control based on the first speed deviation;
[0112] S73: calculating, by the controller, a first rotation angle of a vector thruster corresponding to lateral control based on the first angle deviation;
[0113] S74: Inputting the first throttle value and the first rotation angle into the actuator to adjust the posture of the unmanned ship to obtain the initial posture.
[0114] Specifically, in the embodiment of the present application, the controller is a PID controller. If the current execution result is route control, the first speed deviation is used as the input of the longitudinal PID controller of the unmanned ship to calculate the throttle values of the four thrusters and output them to the actuator to ensure that the unmanned ship travels according to the target linear speed on the local route.
[0115] At the same time, the first angle deviation is used as the input of the lateral PID controller of the unmanned ship, and the rotation angle that the vector thruster needs to adjust is calculated. Subsequently, these calculated angles are output to the actuator to ensure that the unmanned ship can quickly eliminate the angle deviation, achieve the best fit with the local route, and maintain the stability and accuracy of navigation.
[0116] Furthermore, the throttle value of the longitudinal control is calculated as follows:
[0117] ;
[0118] in, The PID controller calculates the throttle values of the four thrusters. .
[0119] Furthermore, the rotation angle of the lateral control is calculated as follows:
[0120] ;
[0121] in, The PID controller calculates the rotation angle that the vector thruster needs to adjust. .
[0122] S75: If the current execution result is the in-place turn, a second throttle value and a second rotation angle are calculated based on the second speed deviation and the second angle deviation, and the second throttle value and the second rotation angle are input into the actuator to adjust the posture of the unmanned ship to obtain the initial posture.
[0123] See also Figure 8 , Figure 8 A specific implementation of step S75 is shown, which is described in detail as follows:
[0124] S751: If the current execution result is the in-place turn, the vector thruster is turned to a maximum angle value based on the positive or negative value of the second angle deviation;
[0125] S752: Calculating, by the controller, a second rotation angle of a vector thruster corresponding to lateral control based on the second angle deviation;
[0126] S753: calculating, by the controller, a second throttle value for longitudinally controlling a corresponding vector thruster based on the second speed deviation;
[0127] S754: Input the second throttle value and the second rotation angle into the actuator to adjust the posture of the unmanned ship to obtain the initial posture.
[0128] Specifically, if the current execution result is a turn in place, the vector thruster will be turned to the maximum angle value based on the positive and negative values of the second angle deviation, and then the second angle deviation will be used as the input of the unmanned ship's lateral PID controller to calculate the rotation angle that the vector thruster needs to adjust. Subsequently, these calculated angles are output to the actuator to ensure that the unmanned ship can quickly eliminate the angle deviation.
[0129] The second speed deviation is then used as the input of the unmanned ship's longitudinal PID controller to calculate the throttle values of the four thrusters and output them to the actuators, ensuring that the unmanned ship can offset the speed changes that may be caused by external interference and the vector thrusters, maintain the unmanned ship in place, and complete the turn in place.
[0130] Furthermore, the throttle value of the longitudinal control is calculated as follows:
[0131] ;
[0132] in, The PID controller calculates the throttle values of the four thrusters. .
[0133] Furthermore, the rotation angle of the lateral control is calculated as follows:
[0134] ;
[0135] in, The PID controller calculates the rotation angle that the vector thruster needs to adjust. .
[0136] S8: Determine whether the initial posture reaches the target posture. If not, return to re-execute step S2 to obtain a new posture, until the new posture reaches the target posture, and travel along the local route based on the target posture.
[0137] Specifically, determine whether the initial posture reaches the target posture. If not, return to re-execute steps S2 to S7 to obtain a new posture until the new posture reaches the target posture, and travel along the local route based on the target posture. Among them, when steps S2 to S7 are repeatedly executed, the unmanned ship will gradually adjust its direction and posture to sail to the target point in the best way. In this process, the unmanned ship will continuously calculate and adjust the navigation direction and navigation speed according to the speed deviation and angle deviation of the preview route point until the target posture is reached on the local route L. Such continuous iterations will ensure that the unmanned ship sails smoothly along the required path and reaches the expected target position and posture.
[0138] In an embodiment of the present application, a local route of a preset length is generated based on a pre-marked global route and the current position of the unmanned ship; the linear speed of the unmanned ship is obtained, the preview distance is calculated based on the linear speed, and the preview point is calculated based on the current position, the preview distance and the local route; the curvature, target linear speed and target angle corresponding to the preview point are calculated based on the local route; the current execution result of the unmanned ship is judged based on the curvature, wherein the current execution result includes route control and on-the-spot turning; if the current execution result is the route control, the first deviation to the preview point is calculated based on the target linear speed, target angle and the current linear speed and current angle of the unmanned ship; if the current execution result is the route control, If the unmanned ship makes the turn on the spot, the second deviation of the turn on the spot is calculated according to the target angle and the current linear speed and current angle of the unmanned ship; according to the current execution result, the controller calculates the corresponding control parameters based on the first deviation or the second deviation, and inputs the control parameters into the actuator to adjust the posture of the unmanned ship to obtain the initial posture; it is determined whether the initial posture reaches the target posture, if not, it returns to re-execute the steps of obtaining the linear speed of the unmanned ship, calculating the preview distance according to the linear speed, and calculating the preview point according to the current position and the local route to obtain a new posture, until the new posture reaches the target posture, and travels along the local route based on the target posture. The embodiment of the present invention adjusts the posture of the unmanned ship multiple times so that it can travel according to the target posture, thereby improving the control method of the ship, which is beneficial to improving the automation level of the ship, and thus is beneficial to improving the accuracy of the route control of the ship.
[0139] Please refer to Fig. 9 , as a response to the above Figure 1 The present application provides an embodiment of a route control device based on a vector propulsion system. Figure 1 Corresponding to the method embodiment shown, the device can be specifically applied to various unmanned ships.
[0140] like Fig. 9 As shown, the route control device based on the vector propulsion system of this embodiment includes: a local route construction unit 91, a preview point calculation unit 92, a target parameter calculation unit 93, a current execution result judgment unit 94, a first deviation calculation unit 95, a second deviation calculation unit 96, an initial posture generation unit 97 and a target posture generation unit 98, wherein:
[0141] A local route construction unit 91, configured to generate a local route of a preset length according to a pre-marked global route and the current position of the unmanned vessel;
[0142] A preview point calculation unit 92, used to obtain the linear speed of the unmanned ship, calculate the preview distance according to the linear speed, and calculate the preview point according to the current position, the preview distance and the local route;
[0143] A target parameter calculation unit 93, configured to calculate the curvature, target linear velocity and target angle corresponding to the preview point based on the local route;
[0144] A current execution result judging unit 94, configured to judge the current execution result of the unmanned ship based on the curvature, wherein the current execution result includes route control and turning in place;
[0145] A first deviation calculation unit 95, configured to calculate a first deviation to the preview point based on the target linear velocity, the target angle, and the current linear velocity and the current angle of the unmanned ship if the current execution result is the route control;
[0146] A second deviation calculation unit 96, configured to calculate a second deviation of the on-site turn according to the target angle and the current linear speed and current angle of the unmanned ship if the current execution result is the on-site turn;
[0147] An initial posture generating unit 97, configured to calculate corresponding control parameters based on the first deviation or the second deviation through a controller according to the current execution result, and input the control parameters into an actuator to adjust the posture of the unmanned ship to obtain an initial posture;
[0148] The target posture generating unit 98 is used to determine whether the initial posture reaches the target posture. If not, it returns to re-execute the preview point calculation unit to obtain a new posture until the new posture reaches the target posture, and travels along the local route based on the target posture.
[0149] Further, the initial posture generating unit 97 includes:
[0150] a deviation input unit, configured to input the first deviation or the second deviation into the controller, wherein the first deviation includes a first speed deviation and a first angle deviation, and the second deviation includes a second speed deviation and a second angle deviation;
[0151] a first throttle value calculation unit, configured to calculate, by the controller, a first throttle value of a vector thruster corresponding to longitudinal control based on the first speed deviation if the current execution result is the route control;
[0152] A first rotation angle calculation unit, configured to calculate a first rotation angle of a vector thruster corresponding to lateral control based on the first angle deviation through the controller;
[0153] a first initial posture generating unit, configured to input the first throttle value and the first rotation angle into the actuator to adjust the posture of the unmanned vessel to obtain the initial posture;
[0154] A second initial posture generating unit is used to calculate a second throttle value and a second rotation angle based on the second speed deviation and the second angle deviation if the current execution result is the in-situ turn, and input the second throttle value and the second rotation angle into the actuator to adjust the posture of the unmanned ship to obtain the initial posture.
[0155] Further, the second initial posture generating unit includes:
[0156] A vector thruster control unit, configured to, if the current execution result is the in-situ turn, turn the vector thruster to a maximum angle value based on the positive or negative value of the second angle deviation;
[0157] A second rotation angle calculation unit, configured to calculate a second rotation angle of a vector thruster corresponding to lateral control based on the second angle deviation through the controller;
[0158] A second throttle value calculation unit, configured to calculate, by the controller, a second throttle value for longitudinally controlling a corresponding vector thruster based on the second speed deviation;
[0159] The posture adjustment unit is used to input the second throttle value and the second rotation angle into the actuator to adjust the posture of the unmanned ship to obtain the initial posture.
[0160] Furthermore, the local route construction unit 91 includes:
[0161] A current position acquisition unit, used to acquire the pre-marked global route and the current position of the unmanned ship;
[0162] an interception starting point determining unit, configured to identify a route point closest to the current position from the global route as an interception starting point;
[0163] An initial distance calculation unit, used to calculate the distance between every two route points in the subsequent global route from the interception starting point to obtain an initial distance;
[0164] An interception endpoint determination unit, configured to sequentially acquire target path points based on the initial distance, and accumulate the initial distance until the accumulated initial distance reaches or exceeds the preset length, thereby determining an interception endpoint;
[0165] A local route generating unit is used to generate the local route based on the interception starting point and the interception end point.
[0166] Further, the target parameter calculation unit 93 includes:
[0167] a curvature calculation unit, configured to calculate an angle difference between tangent angles of adjacent route points and a route point distance based on the local route, and calculate a curvature corresponding to the preview point based on the angle difference and the route point distance;
[0168] a target linear velocity calculation unit, configured to determine a steering acceleration of the unmanned vessel based on the curvature, and calculate the target linear velocity based on the steering acceleration and the curvature;
[0169] A first angle calculation unit, used to calculate the angle between the heading of the unmanned ship and the tangent direction of the path point to obtain a first angle;
[0170] A second angle calculation unit is used to obtain the distance from the center of the unmanned ship to the nearest route point of the local route, obtain the target distance, and calculate the second angle based on the target distance and the preview distance;
[0171] A target angle calculation unit is used to calculate the target angle based on the first angle and the second angle.
[0172] Furthermore, the curvature calculation unit includes:
[0173] a tangent unit calculation unit, configured to obtain position information corresponding to adjacent route points in the local route, and calculate a tangent angle of each route point based on the position information;
[0174] An angle difference calculation unit, used to calculate the angle difference based on the tangent angles corresponding to the adjacent route points;
[0175] a route point distance calculation unit, used to calculate the Euclidean distance between adjacent route points in the local route to obtain the route point distance;
[0176] A curvature generating unit is used to calculate the curvature corresponding to the preview point based on the angle difference and the route point distance.
[0177] Furthermore, the current execution result judgment unit 94 includes:
[0178] A preview point curvature threshold acquisition unit, used to acquire a preset preview point curvature threshold;
[0179] a curvature comparison unit, used to compare the preview point curvature threshold with the curvature;
[0180] A first result unit, configured to determine that if the preview point curvature threshold is greater than the curvature, the current execution result is the in-situ turn;
[0181] The second result unit is used for, if the preview point curvature threshold is less than or equal to the curvature, the current execution result is the route control.
[0182] In order to solve the above technical problems, the present application embodiment also provides an unmanned ship. Fig.10 , Fig.10 This is a basic structural block diagram of the unmanned boat in this embodiment.
[0183] The unmanned ship 101 includes a memory 102, a processor 103, and a network interface 104 which are interconnected through a system bus. It should be noted that: Fig.10 Only an unmanned boat 101 having three components, a memory 102, a processor 103, and a network interface 104, is shown, but it should be understood that it is not required to implement all the components shown, and more or fewer components may be implemented instead. Among them, those skilled in the art can understand that the unmanned boat here is a device that can automatically perform numerical calculations and / or information processing according to pre-set or stored instructions, and its hardware includes but is not limited to microprocessors, application specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), digital signal processors (DSP), embedded devices, etc.
[0184] The memory 102 includes at least one type of readable storage medium, and the readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, disk, optical disk, etc. In some embodiments, the memory 102 can be an internal storage unit of the unmanned ship 101, such as a hard disk or memory of the unmanned ship 101. In other embodiments, the memory 102 can also be an external storage device of the unmanned ship 101, such as a plug-in hard disk equipped on the unmanned ship 101, a smart memory card (Smart MediaCard, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. Of course, the memory 102 can also include both the internal storage unit of the unmanned ship 101 and its external storage device. In this embodiment, the memory 102 is generally used to store the operating system and various application software installed on the unmanned ship 101, such as the program code of the route control method based on the vector propulsion system. In addition, the memory 102 can also be used to temporarily store various types of data that have been output or are to be output.
[0185] In some embodiments, the processor 103 may be a central processing unit (CPU), a controller, a microcontroller, a microprocessor, or other data processing chips. The processor 103 is generally used to control the overall operation of the unmanned ship 101. In this embodiment, the processor 103 is used to run the program code stored in the memory 102 or process data, such as running the program code of the route control method based on the vector propulsion system to implement various embodiments of the route control method based on the vector propulsion system.
[0186] The network interface 104 may include a wireless network interface or a wired network interface, and the network interface 104 is generally used to establish a communication connection between the unmanned ship 101 and other electronic devices.
[0187] The present application also provides another embodiment, namely, providing a computer-readable storage medium, which stores a computer program, and the computer program can be executed by at least one processor to enable the at least one processor to perform the steps of a route control method based on a vector propulsion system as described above.
[0188] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a disk, or an optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods of each embodiment of the present application.
[0189] Obviously, the embodiments described above are only some embodiments of the present application, rather than all embodiments. The preferred embodiments of the present application are given in the accompanying drawings, but they do not limit the patent scope of the present application. The present application can be implemented in many different forms. On the contrary, the purpose of providing these embodiments is to make the understanding of the disclosure of the present application more thorough and comprehensive. Although the present application is described in detail with reference to the aforementioned embodiments, for those skilled in the art, it is still possible to modify the technical solutions recorded in the aforementioned specific implementation methods, or to perform equivalent replacement of some of the technical features therein. Any equivalent structure made using the contents of the specification and drawings of this application, directly or indirectly used in other related technical fields, is similarly within the scope of patent protection of this application.
Claims
1. A route control method based on a vector propulsion system, characterized in that: include: Generate a local route of a preset length based on a pre-marked global route and the current position of the unmanned vessel; Acquire the linear speed of the unmanned ship, calculate the preview distance according to the linear speed, and calculate the preview point according to the current position, the preview distance and the local route; Calculate the curvature, target linear velocity and target angle corresponding to the preview point based on the local route; Determining a current execution result of the unmanned ship based on the curvature, wherein the current execution result includes route control and on-site turning; If the current execution result is the route control, then calculating a first deviation to the preview point based on the target linear velocity, the target angle, and the current linear velocity and the current angle of the unmanned ship; If the current execution result is the turn in place, calculating a second deviation of the turn in place according to the target angle and the current linear speed and current angle of the unmanned ship; According to the current execution result, a controller calculates a corresponding control parameter based on the first deviation or the second deviation, and inputs the control parameter into an actuator to adjust the posture of the unmanned ship to obtain an initial posture; Determine whether the initial posture reaches the target posture. If not, return to re-execute the steps of obtaining the linear velocity of the unmanned ship, calculating the preview distance according to the linear velocity, and calculating the preview point according to the current position and the local route to obtain a new posture until the new posture reaches the target posture, and travel along the local route based on the target posture.
2. The route control method based on the vector propulsion system according to claim 1, characterized in that: The method further comprises: calculating a corresponding control parameter based on the first deviation or the second deviation by a controller according to the current execution result, and inputting the control parameter into an actuator to adjust the posture of the unmanned ship to obtain an initial posture, including: Inputting the first deviation or the second deviation into the controller, wherein the first deviation includes a first speed deviation and a first angle deviation, and the second deviation includes a second speed deviation and a second angle deviation; If the current execution result is the route control, calculating, by the controller, a first throttle value of a vector thruster corresponding to longitudinal control based on the first speed deviation; Calculating, by the controller, a first rotation angle of a vector thruster corresponding to lateral control based on the first angle deviation; Inputting the first throttle value and the first rotation angle into the actuator to adjust the posture of the unmanned ship to obtain the initial posture; If the current execution result is the in-place turn, a second throttle value and a second rotation angle are calculated based on the second speed deviation and the second angle deviation, and the second throttle value and the second rotation angle are input into the actuator to adjust the posture of the unmanned ship to obtain the initial posture.
3. The route control method based on the vector propulsion system according to claim 2 is characterized in that: If the current execution result is the in-situ turn, a second throttle value and a second rotation angle are calculated based on the second speed deviation and the second angle deviation, and the second throttle value and the second rotation angle are input into the actuator to adjust the posture of the unmanned ship to obtain the initial posture, including: If the current execution result is the in-situ turn, the vector thruster is turned to a maximum angle value based on the positive or negative value of the second angle deviation; Calculating, by the controller, a second rotation angle of a vector thruster corresponding to lateral control based on the second angle deviation; Calculating, by the controller, a second throttle value for longitudinally controlling a corresponding vector thruster based on the second speed deviation; The second throttle value and the second rotation angle are input into the actuator to adjust the posture of the unmanned ship to obtain the initial posture.
4. The route control method based on the vector propulsion system according to claim 1, characterized in that: The generating of a local route of a preset length according to the pre-marked global route and the current position of the unmanned ship comprises: Acquiring the pre-marked global route and the current position of the unmanned vessel; Identifying a route point closest to the current position from the global route as an interception starting point; Starting from the interception starting point, calculating the distance between every two route points in the subsequent global route to obtain an initial distance; sequentially acquiring target path points based on the initial distance, and accumulating the initial distance until the accumulated initial distance reaches or exceeds the preset length, and determining an interception end point; The local route is generated based on the interception start point and the interception end point.
5. The route control method based on the vector propulsion system according to claim 1, characterized in that: The calculating the curvature, the target linear velocity and the target angle corresponding to the preview point based on the local route includes: Calculating an angle difference between tangent angles of adjacent route points and a route point distance based on the local route, and calculating a curvature corresponding to the preview point based on the angle difference and the route point distance; determining a steering acceleration of the unmanned ship based on the curvature, and calculating the target linear velocity based on the steering acceleration and the curvature; Calculating the angle between the heading of the unmanned ship and the tangent direction of the path point to obtain a first angle; Obtaining a distance from the center of the unmanned ship to the nearest route point of the local route to obtain a target distance, and calculating a second angle based on the target distance and the preview distance; The target angle is calculated based on the first angle and the second angle.
6. The route control method based on the vector propulsion system according to claim 5, characterized in that: The step of calculating the angle difference between the tangent angles of adjacent route points and the route point distance based on the local route, and calculating the curvature corresponding to the preview point based on the angle difference and the route point distance, includes: Obtaining position information corresponding to adjacent route points in the local route, and calculating a tangent angle of each route point based on the position information; Calculating the angle difference based on the tangent angles corresponding to the adjacent route points; Calculating the Euclidean distance between adjacent route points in the local route to obtain the route point distance; The curvature corresponding to the preview point is calculated based on the angle difference and the route point distance.
7. The route control method based on the vector propulsion system according to any one of claims 1 to 6, characterized in that: The determining the current execution result of the unmanned ship based on the curvature includes: Obtaining a preset preview point curvature threshold; comparing the preview point curvature threshold with the curvature; If the preview point curvature threshold is greater than the curvature, the current execution result is the on-site turn; If the preview point curvature threshold is less than or equal to the curvature, the current execution result is the route control.
8. A route control device based on a vector propulsion system, characterized in that: include: A local route construction unit, used for generating a local route of a preset length according to a pre-marked global route and the current position of the unmanned vessel; A preview point calculation unit, used to obtain the linear speed of the unmanned ship, calculate the preview distance according to the linear speed, and calculate the preview point according to the current position, the preview distance and the local route; A target parameter calculation unit, used for calculating the curvature, target linear velocity and target angle corresponding to the preview point based on the local route; a current execution result judging unit, configured to judge the current execution result of the unmanned ship based on the curvature, wherein the current execution result includes route control and turning in place; A first deviation calculation unit, configured to calculate a first deviation to the preview point based on the target linear velocity, the target angle, and the current linear velocity and the current angle of the unmanned ship if the current execution result is the route control; A second deviation calculation unit, configured to calculate a second deviation of the on-site turn according to the target angle and the current linear speed and current angle of the unmanned ship if the current execution result is the on-site turn; an initial posture generating unit, configured to calculate a corresponding control parameter based on the first deviation or the second deviation through a controller according to the current execution result, and input the control parameter into an actuator to adjust the posture of the unmanned ship to obtain an initial posture; The target posture generating unit is used to determine whether the initial posture reaches the target posture. If not, it returns to re-execute the preview point calculating unit to obtain a new posture until the new posture reaches the target posture, and travels along the local route based on the target posture.
9. An unmanned ship, characterized in that: The method comprises a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, a route control method based on a vector propulsion system as claimed in any one of claims 1 to 7 is implemented.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the route control method based on the vector propulsion system according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Unmanned ship control method and system based on neural network
CN112346454A
Track control method, device and equipment based on vector propulsion unmanned ship and medium
CN117742352A