A ship navigation control method and device, a storage medium and equipment
By introducing proportional-derivative adjustment during straight-line navigation and inserting curved segments during zigzag navigation, the alignment between the ship and the preset route is optimized, solving the problem of poor alignment capability in existing technologies and enabling the ship to quickly converge to the target route.
Patent Information
- Application Number
- CN202411879895.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-19
- Publication Date
- 2025-11-28
- Estimated Expiration
- 2044-12-19
AI Technical Summary
Existing ship navigation control methods suffer from poor ship navigation control capabilities, particularly poor ability to follow the ship's course, making it unable to effectively follow the preset course.
By introducing a proportional-derivative adjustment method to control rudder angle changes during straight-line navigation and inserting arc segments during zigzag navigation to turn with the minimum turning radius, the ship's fit with the preset route is optimized.
It improves the ship's alignment with the preset route when moving along different routes, ensuring that the ship can quickly and accurately follow the preset route when sailing in straight lines and zigzags.
Smart Images

Figure CN119690084B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application relates to a ship navigation control method, device, storage medium and equipment and belongs to the technical field of ship navigation control. BACKGROUND
[0002] The motion of a ship in the sea has the characteristics of nonlinearity and disturbance and is a typical uncertain nonlinear motion, and the following problems exist in the control of ship navigation, that is, automatic navigation according to a pre-specified navigation route: 1. S-shaped trajectory cannot be fitted to a straight navigation route when the ship navigates along the straight navigation route; 2. the ship cannot be well fitted to a navigation route turn at a turning point between two non-parallel navigation routes; in summary, the existing ship navigation control still has the problem of poor navigation route fitting capability of the ship. SUMMARY
[0003] The application aims to provide a ship navigation control method, device, storage medium and equipment to solve the problem of poor navigation route fitting capability of the ship in the prior art.
[0004] To achieve the above object, the application adopts the following technical scheme:
[0005] In a first aspect, the application provides a ship navigation control method, comprising:
[0006] obtaining a current position and a heading angle of the ship;
[0007] in response to detecting that the current navigation route segment of the ship is a straight line and the current position is not on the current navigation route segment, calculating a distance between the current position and the current navigation route segment, calculating a next-time deviation correction value according to a deviation between the heading angle and a target heading and the distance, the target heading being a direction of the current position pointing to a navigation target point on the current navigation route segment, calculating a next-time rudder angle control value according to the next-time deviation correction value, correcting the next-time rudder angle control value to obtain a next-time actual rudder angle control value, and performing navigation control on the ship according to the next-time actual rudder angle control value;
[0008] in response to detecting that the current navigation route segment of the ship is a polyline and the current position is on the current navigation route segment, calculating turning start point and turning end point coordinates on the current navigation route segment according to coordinates of the current navigation route segment and a minimum turning radius of the ship, controlling the ship to start to make an arc motion at the turning start point to the turning end point at the minimum turning radius, and then controlling the ship to continue to navigate along the current navigation route segment.
[0009] Further, the next-time deviation correction value is calculated according to the deviation between the heading angle and the target heading and the distance by the following formula:
[0010] ;
[0011] ;
[0012] wherein, is a deviation correction value at next time, is a heading correction value, is a unit circle arc length, wherein:
[0013] ;
[0014] ;
[0015] wherein, is a current heading angle of the ship, is a target heading, is a distance correction value, wherein:
[0016] ;
[0017] wherein, is a normalized value of an included angle between a first vector and a second vector, the first vector is a vector from a current track segment start point to a current position, the second vector is a vector from the current track segment start point to a current track segment end point, is a distance adjustment value, wherein:
[0018] ;
[0019] wherein, is a distance between the current position and the current track segment, is a preset speed proportional change coefficient, is a speed component of the ship in a direction perpendicular to the current track segment at a current time, is a preset constant parameter.
[0020] Further, the next time rudder angle control value is calculated according to the deviation correction value, by the following formula:
[0021] ;
[0022] wherein, is a next time rudder angle control value, K p is a preset proportional change coefficient, is a next time deviation correction value, K d is a preset differential change coefficient, is a difference between the next time deviation correction value and a current time deviation correction value.
[0023] Further, the next time rudder angle control value is corrected to obtain a next time actual rudder angle control value, comprising:
[0024] Firstly, the rudder angle control value at the next time is firstly corrected by the following formula, so that the rudder angle control value does not exceed the maximum value of the rudder angle control value:
[0025] ;
[0026] Then, the rudder angle control value at the next time is secondly corrected by the following formula to obtain the actual rudder angle control value at the next time, so that the difference between the rudder angle control value at the current time and the rudder angle control value at the next time is not greater than the rudder angle change rate:
[0027] ;
[0028] Wherein, is the rudder angle control value at the next time, is the actual rudder angle control value at the next time, is the rudder angle control value at the current time, is the maximum value of the preset rudder angle control value, is the rudder angle change rate, is the unit time step.
[0029] Further, during the process that the control ship starts to make an arc motion at the minimum turning radius at the turning starting point to the turning ending point, the rudder angle control value of the control ship is always the maximum value of the preset rudder angle control value.
[0030] Further, after the step of obtaining the current position and the heading angle of the ship, the method further comprises:
[0031] In response to detecting that the current route segment of the ship is a straight line and the current position is on the current route segment, the ship is controlled to continue sailing along the current route segment.
[0032] Further, after the step of obtaining the current position and the heading angle of the ship, the method further comprises:
[0033] In response to detecting that the current route segment of the ship is a polyline and the current position is not on the current route segment, the minimum distance between the current position and the current route segment is calculated, the deviation correction value at the next time is calculated according to the deviation between the heading angle and the target heading and the minimum distance, the target heading is the direction from the current position to the sailing target point on the current route segment, the rudder angle control value at the next time is calculated according to the deviation correction value at the next time, the rudder angle control value at the next time is corrected to obtain the actual rudder angle control value at the next time, and the ship is controlled to sail according to the actual rudder angle control value at the next time until the ship sails on the current route segment.
[0034] In a second aspect, the present application provides a ship sailing control device, comprising:
[0035] The navigation data acquisition module is configured to acquire the current position and the heading angle of the ship.
[0036] The straight-line navigation control module is configured to, in response to detecting that the current route segment of the ship is a straight line and that the current position is not on the current route segment, calculate a distance between the current position and the current route segment, calculate a next-time deviation correction value according to a deviation between the heading angle and a target heading and the distance, the target heading being a direction in which the current position points to a navigation target point on the current route segment, calculate a next-time rudder angle control value according to the next-time deviation correction value, correct the next-time rudder angle control value to obtain a next-time actual rudder angle control value, and perform navigation control on the ship according to the next-time actual rudder angle control value.
[0037] The curved-line navigation module is configured to, in response to detecting that the current route segment of the ship is a curved line and that the current position is on the current route segment, calculate coordinates of a turning start point and a turning end point on the current route segment according to coordinates of the current route segment and a minimum turning radius of the ship, control the ship to start to make an arc motion at the turning start point to the turning end point at the minimum turning radius, and then control the ship to continue to navigate along the current route segment.
[0038] In a third aspect, the present application provides a computer readable storage medium having stored thereon computer programs / instructions, which, when executed by a processor, implement the steps of the ship navigation control method according to any one of the first aspect.
[0039] In a third aspect, the present application provides a computer device, comprising:
[0040] A memory for storing computer programs / instructions;
[0041] A processor for executing the computer programs / instructions to implement the steps of the ship navigation control method according to any one of the first aspect.
[0042] Compared with the prior art, the present application has the following beneficial effects:
[0043] The ship navigation control method, device, storage medium and equipment provided by the present application introduce the proportional and differential adjustment method when navigating in a straight line, that is, the deviation correction value between the current heading angle and the target heading when the true north is 0 degrees is used to control and adjust the change of the rudder angle of the ship, so that the ship converges quickly to the target route; when navigating in a curved line, an arc segment is inserted, and a circular arc segment tangent to two straight line segments is inserted in the original curved line segment according to the minimum turning radius of the ship to facilitate the turning of the ship. Through the above two methods, the fitting degree of the ship to the preset route when moving along different routes is optimized. BRIEF DESCRIPTION OF DRAWINGS
[0044] Figure 1is a flow chart of a ship navigation control method corresponding to embodiment 1 of the present application;
[0045] Figure 2 is a flow chart of a ship navigation control method corresponding to embodiment 3 of the present application;
[0046] Figure 3 is a navigation route effect comparison chart under different control modes provided by the embodiment of the present application;
[0047] Figure 4 is a navigation compensation effect schematic diagram under discount navigation provided by the embodiment of the present application;
[0048] Figure 5 is a structural schematic diagram of a ship dynamic positioning system provided by the embodiment of the present application. DETAILED DESCRIPTION
[0049] The present application will be further described below in conjunction with the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solutions of the present application, and cannot be used to limit the protection scope of the present application.
[0050] Embodiment 1.
[0051] As shown in Figure 1 , the present application provides a ship navigation control method, comprising:
[0052] obtaining the current position and the heading angle of the ship;
[0053] in response to detecting that the current route segment of the ship is a straight line and the current position is not on the current route segment, calculating the distance between the current position and the current route segment, calculating a next-time deviation correction value according to the deviation between the heading angle and a target heading and the distance, the target heading being the direction of the current position pointing to the navigation target point on the current route segment, calculating a next-time rudder angle control value according to the next-time deviation correction value, correcting the next-time rudder angle control value to obtain a next-time actual rudder angle control value, and performing navigation control on the ship according to the next-time actual rudder angle control value;
[0054] in response to detecting that the current route segment of the ship is a polyline and the current position is on the current route segment, calculating the turning start point and the turning end point coordinates on the current route segment according to the coordinates of the current route segment and the minimum turning radius of the ship, controlling the ship to start making arc motion at the minimum turning radius at the turning start point to the turning end point, and then controlling the ship to continue navigating along the current route segment.
[0055] The application introduces the method of proportional derivative adjustment when sailing in a straight line, that is, the deviation correction value between the current heading angle and the target heading when the true north is 0 degrees controls the change of the rudder angle of the ship, so that the ship converges to the target course quickly; when sailing in a broken line, the method of inserting an arc sailing section is used, and according to the minimum turning radius of the ship, a circular arc sailing section tangent to the two straight line sailing sections is inserted in the original broken line sailing section to facilitate the turning of the ship. Through the above two ways, the fitting degree of the ship when moving along different sailing lines to the preset sailing line is optimized.
[0056] Embodiment 2.
[0057] The application provides a ship sailing control method, and the specific implementation includes the following steps S1 to S5.
[0058] Step S1: obtaining the current position and heading angle of the ship.
[0059] Step S2: in response to detecting that the current sailing section of the ship is a straight line and the current position is not on the current sailing section, calculating the distance between the current position and the current sailing section, calculating the deviation correction value at the next moment according to the deviation between the heading angle and the target heading and the distance, the target heading being the direction of the current position pointing to the sailing target point on the current sailing section, calculating the rudder angle control value at the next moment according to the deviation correction value at the next moment, correcting the rudder angle control value at the next moment to obtain the actual rudder angle control value at the next moment, and performing sailing control on the ship according to the actual rudder angle control value at the next moment.
[0060] In step S2, the deviation correction value at the next moment is calculated according to the deviation between the heading angle and the target heading and the distance, which is calculated by the following formula:
[0061] ;
[0062] ;
[0063] wherein, is the deviation correction value at the next moment, is the heading correction value, is the unit circular arc length, wherein:
[0064] ;
[0065] ;
[0066] wherein, is the current heading angle of the ship, is the target heading, is the distance correction value, wherein:
[0067] ;
[0068] wherein, is a normalized value of an angle between a first vector and a second vector, the first vector is a vector from a start point of a current route segment to a current position, the second vector is a vector from the start point of the current route segment to an end point of the current route segment, is a distance adjustment value, wherein:
[0069] ;
[0070] wherein, is a distance between the current position and the current route segment, is a preset speed proportional change coefficient, is a speed component of the ship in a direction perpendicular to the current route segment at a current time, is a preset constant parameter.
[0071] In step S2, a rudder angle control value at a next time is calculated according to the deviation correction value, and is calculated by the following formula:
[0072] ;
[0073] wherein, is the rudder angle control value at the next time, K p is a preset proportional change coefficient, is a deviation correction value at the next time, K d is a preset differential change coefficient, is a difference between the deviation correction value at the next time and the deviation correction value at a current time.
[0074] In step S2, the rudder angle control value at the next time is corrected to obtain an actual rudder angle control value at the next time, including:
[0075] Firstly, the rudder angle control value at the next time is corrected for the first time by the following formula, so that the rudder angle control value does not exceed a maximum value of the rudder angle control value:
[0076] ;
[0077] Then, the rudder angle control value at the next time is corrected for the second time by the following formula to obtain the actual rudder angle control value at the next time, so that a difference between the rudder angle control value at the current time and the rudder angle control value at the next time is not greater than a rudder angle change rate:
[0078] ;
[0079] wherein, is the rudder angle control value at the next time, is the actual rudder angle control value at the next time, is the rudder angle control value at the current time, is a preset maximum value of the rudder angle control value, is a rudder angle change rate, is a unit time step.
[0080] Step S3: In response to detecting that the current route segment of the ship is a straight line and the current position is on the current route segment, the ship is controlled to continue sailing along the current route segment.
[0081] Step S4: In response to detecting that the current route segment of the ship is a broken line and the current position is on the current route segment, the turning start point and the turning end point coordinates on the current route segment are calculated according to the coordinates of the current route segment and the minimum turning radius of the ship, the ship is controlled to start an arc motion at the turning start point with the minimum turning radius to the turning end point, and then the ship is controlled to continue sailing along the current route segment.
[0082] During the arc motion in step S4, the rudder angle control value of the ship is always the maximum value of the preset rudder angle control value, so that the arc motion with the minimum turning radius can be ensured.
[0083] Step S5: In response to detecting that the current route segment of the ship is a broken line and the current position is not on the current route segment, the minimum distance between the current position and the current route segment is calculated, the deviation correction value at the next time is calculated according to the deviation between the heading angle and the target heading and the minimum distance, the target heading is the direction from the current position to the sailing target point on the current route segment, the rudder angle control value at the next time is calculated according to the deviation correction value at the next time, the rudder angle control value at the next time is corrected to obtain the actual rudder angle control value at the next time, and the ship is controlled to sail according to the actual rudder angle control value at the next time until the ship sails to the current route segment.
[0084] During broken line sailing, since there are two distances between the current position and the current route segment, the minimum distance is taken, the ship is first sailed to the current route segment, and then the ship is controlled to make the arc motion described in step S4 from the turning start point to the turning end point.
[0085] Embodiment 3.
[0086] As Figure 2 shown, the present application provides a ship sailing control method, which is specifically implemented by first simulating the control of a model (a virtual model constructed according to an actual ship) in a ship dynamic positioning system to verify the effect, and then applying it to the actual ship sailing control.
[0087] Ship dynamic positioning technology is a high-tech gradually developed for ocean exploitation, and is more and more widely applied to ships and offshore platforms. The ship dynamic positioning system is a closed-loop control system, which can resist the external environmental disturbance by using the thrust generated by the propeller alone to keep the ship at the desired position and heading, or to make the ship move along the predetermined track. If described in detail, the ship dynamic positioning technology refers to not using anchoring technology, but using some precise and advanced instruments to measure the change of the ship position and heading caused by external disturbance, then processing the information and calculating the thrust and torque that the propeller should generate through the computer control system, and finally making the ship keep at the predetermined position and heading or move along the desired track through the propeller. The ship dynamic positioning system can work under any water depth condition, and does not need to rely on other equipment during positioning operation. The maneuverability of the system is excellent, and the positioning accuracy is also relatively high.
[0088] As shown in Figure 5 , the ship dynamic positioning system generally consists of a control system, a sensor system and a propeller system. The sensor system is generally used to measure the position, heading, attitude angle and some environmental quantities of the ship; the control system is the core of the dynamic positioning system, which can first filter the measured ship position and heading and estimate the ship's movement speed, then calculate the force on the ship according to the external environmental conditions, and finally calculate the required force to keep the ship position, i.e. the resultant force generated by the propeller system, according to the force and the estimated ship position and speed; the propeller system is used to generate thrust to realize positioning operation. Generally, a ship is equipped with multiple propellers.
[0089] The motion of the ship in the ocean has the characteristics of nonlinearity, model parameter uncertainty and disturbance, and is a typical uncertain nonlinear motion. Therefore, in order to ensure that the ship dynamic positioning system continuously and stably operates according to the test requirements under the continuously changing ocean environment, a reliable control strategy is needed.
[0090] Model motion relies on a previously set route, which consists of a group of coordinate points on a map. When the model moves, it navigates to each coordinate point in turn according to the order of the previously set coordinate points. The line segment connected by two adjacent coordinate points can be called a route segment, and all route segments connected in turn can form a group of continuous routes. The route is entirely composed of straight line segments.
[0091] In this embodiment, the straight sailing is optimized first: when sailing straight, the motion of the model can be regarded as a process of moving from the point where the model is located to the next target point. The model runs in the same way as the actual ship sailing on water, and there is a certain deviation between the bow angle of the model and the actual motion angle due to the effect of water flow and wind force. The actual feedback of the change angle of the model due to inertia also has a certain lag.
[0092] Generally, the model is not on the course at the beginning of the motion, and needs to be controlled to turn and gradually approach the course by controlling the rudder angle of the model. In the ideal state without considering external factors, the model should gradually approach the course in a suitable linear change in the direction perpendicular to the course until the angle between the heading and the direction of the model motion is 0, and then sail straight to the target point. During the motion process, the feedback adjustment direction of the rudder angle is opposite to the heading direction, and the change relationship is as follows:
[0093] ;
[0094] wherein, is the current rudder angle control value, is a preset proportional change coefficient, which is set to 10 in this embodiment, is the current deviation correction value.
[0095] The deviation correction value is calculated by the following method: the distance between the current position and the current course segment is calculated, and the deviation correction value at the next time is calculated according to the deviation between the heading angle and the target heading and the distance. The target heading is the direction from the current position to the target point on the current course segment.
[0096] The specific calculation formula of the deviation correction value at the next time is as follows:
[0097] ;
[0098] ;
[0099] wherein, is the deviation correction value at the next time, is the heading correction value, is the unit circular arc length, wherein:
[0100] ;
[0101] ;
[0102] wherein, is the current bow angle of the ship, is the target heading, is the distance correction value, wherein:
[0103] ;
[0104] wherein, is a normalized value of the angle between the first vector and the second vector, the first vector is a vector from the start point of the current route segment to the current position, and the second vector is a vector from the start point of the current route segment to the end point of the current route segment, is a distance adjustment value, wherein:
[0105] ;
[0106] wherein, is the distance between the current position and the current route segment, is a preset speed ratio change coefficient, which can be set to 1 in the embodiment, is the speed component of the ship in the direction perpendicular to the current route segment at the current time, is a preset constant parameter, which can be set to 90 in the embodiment.
[0107] In an ideal state without considering external factors, the model will move along a straight line to the target point (such as A2 in FIG. 1) on the current route segment. Figure 3
[0108] When actually moving, due to inertia and resistance, the model movement will become a curve, the direct control value in the direction of the model is the rudder angle, and the final control value is the bow direction. Influenced by external conditions, the control amount and the final change amount cannot be accurately determined. The PID control method is suitable for this control scene. Compared with the proportional control effect, the differential control produces a control effect according to the change trend of the deviation, so it has the property of "pre-control". Therefore, in order to achieve the adjustment effect that the model motion position converges quickly to the route, the present application adopts proportional differential correction control to shorten the required time for the route to converge to the target route, and the change relationship is as follows:
[0109] ;
[0110] wherein, is a differential change coefficient, which is set to 10 in the embodiment, is the difference between the deviation correction value at the current time and the deviation correction value at the last time.
[0111] On this basis, the rudder angle control value at the current time needs to meet two limiting conditions:
[0112] First, the rudder angle control value at the current time should not be greater than the maximum value of the preset rudder angle control value, which is corrected by the following formula:
[0113] ;
[0114] wherein, is the maximum value of preset rudder angle control value, which is set to 30 in the embodiment, indicating that the rudder movement range is -30° to 30°;
[0115] second, current time rudder angle control value and the difference between the next time rudder angle control value should not be greater than the rudder angle change rate , which is corrected by the following formula:
[0116]
[0117] wherein, is the unit time step, the rudder angle change rate means the unit time step the maximum change value of the rudder angle.
[0118] As shown in Figure 3 , the control effects of different control modes at the same starting point are obviously shown out; is a straight line segment from to , and the dashed line is the trajectory of the model approaching and moving towards the target point . (a) is the effect of directly going to the target point without processing, (b) is the effect when only proportional adjustment is made, and (c) is the effect after proportional adjustment and differential adjustment.
[0119] In the present application, the proportional differential method is used to adjust the control relationship between the rudder angle and the heading, and the deviation correction value is adjusted according to the target heading angle and the current model distance from the line segment.
[0120] In the embodiment, after optimizing the straight line navigation, the broken line navigation is optimized: when the broken line navigation is performed, the current navigation is a broken line composed of two straight line segments. When the model actually navigates along the broken line, it cannot directly turn at the bending point. In order to as closely as possible follow the navigation line, the present application uses a method of inserting a new navigation segment, that is, an arc tangent to both straight lines is inserted in the middle of the broken line segment, the model starts to move along the arc when it moves to the first tangent point, and ends the circular motion and turns to straight line motion when it reaches the next tangent point. The turning radius of the model is the minimum turning radius of the model itself, and the effect is shown in Figure 4 .
[0121] Figure 4 is a broken line composed of two straight line segments. When the model moves from to and passes through , it no longer moves in a straight line towards , but starts to move along To make an arc motion, is a circular arc with a radius of the minimum turning radius of the model, so as to ensure that the model will enter the next flight section as soon as possible with the maximum turning ability of the model, and the model reaches then re- make a straight line motion.
[0122] In this case, the coordinates of , and the turning radius are known, and it can actually be converted into a problem of finding the tangent point of a circle and two straight lines. The coordinates of and can be obtained by the point-to-line formula (which can be solved by conventional geometric knowledge), and the theoretical broken line flight path of the model can be approximately replaced by a straight line-circular arc-straight line flight path, that is:
[0123] .
[0124] When making an arc motion, the ship makes an arc motion with the minimum turning radius, so C will always remain the maximum control value .
[0125] Based on all the above analysis and derivation, the embodiment can be summarized as the method shown in Figure 2 , and the specific implementation includes the following straight line navigation part and broken line navigation part.
[0126] Straight line navigation part:
[0127] 1. The overall flight path is set in advance, and the initial position of the model is set. The model is started;
[0128] 2. The model navigates along each flight section in the flight path in turn according to the preset data, moves to the terminal position of each flight section each time, and updates the coordinate position and motion state of the model once every time interval;
[0129] 3. The model updates its state and judges whether the current flight section is navigated along a straight line;
[0130] 4. If it is a straight line navigation, calculate the difference between the coordinate of the current position of the model and the straight line distance of the current flight section;
[0131] 5. Taking north as 0 degrees, calculate the difference between the current motion heading angle of the model and the angle of the current flight section;
[0132] 6. According to the difference between the coordinate of the current position of the model and the straight line distance of the current flight section, and the difference between the current motion heading angle of the model and the angle of the current flight section, calculate the rudder angle control value of the model at the next time;
[0133] 7. comparing the calculated next time model rudder angle control value with the rudder angle limit value set by the limit setting, obtaining a next time model actual rudder angle control value;
[0134] 8. calculating a next time motion state of the model according to the current motion state and control state of the model;
[0135] The broken line sailing part:
[0136] 1. setting an overall sailing route in advance, setting an initial position of the model, and starting the model;
[0137] 2. the model sails along each sailing segment in the sailing route according to preset data, moves to the terminal position of each sailing segment each time, and updates the coordinate position and motion state of the model once each time interval;
[0138] 3. the model judges whether the current sailing segment is a broken line sailing segment when updating the motion state of the model each time;
[0139] 4. if the current sailing segment is a broken line sailing segment, the model calculates the turning start and end points on the current sailing segment and the next sailing segment according to the included angle between the current sailing segment and the next sailing segment and the turning radius of the model;
[0140] 5. the model moves forward along the current sailing segment until the turning start point is reached;
[0141] 6. the model makes an arc motion with the minimum turning radius (the maximum rudder angle value) after reaching the turning start point, and updates the motion state and coordinate position of the model;
[0142] 7. the model resumes the straight line motion mode after reaching the turning end point, continues to move forward on the new sailing segment, and updates the motion state and coordinate position of the model.
[0143] Embodiment 4.
[0144] The application provides a ship sailing control device, which comprises:
[0145] The sailing data acquisition module is configured to acquire the current position and the heading angle of the ship.
[0146] The straight line sailing control module is configured to: in response to detecting that the current sailing segment of the ship is a straight line and the current position is not on the current sailing segment, calculate the distance between the current position and the current sailing segment, calculate a next time deviation correction value according to the deviation between the heading angle and a target heading and the distance, the target heading being a direction in which the current position points to a sailing target point on the current sailing segment, calculate a next time rudder angle control value according to the next time deviation correction value, correct the next time rudder angle control value to obtain a next time actual rudder angle control value, and perform sailing control on the ship according to the next time actual rudder angle control value.
[0147] The discount sailing module is configured to: in response to detecting that the current sailing segment of the ship is a broken line and the current position is on the current sailing segment, calculating a turning start point and a turning end point coordinate on the current sailing segment according to coordinates of the current sailing segment and a minimum turning radius of the ship, controlling the ship to start to make an arc motion at the turning start point to the turning end point with the minimum turning radius, and then controlling the ship to continue to sail along the current sailing segment.
[0148] Embodiment 5.
[0149] The application provides a computer readable storage medium, which has stored computer programs / instructions, and the computer programs / instructions are executed by a processor to realize the steps of the ship sailing control method provided in embodiment 1.
[0150] obtaining a current position and a heading angle of the ship;
[0151] in response to detecting that the current sailing segment of the ship is a straight line and the current position is not on the current sailing segment, calculating a distance between the current position and the current sailing segment, calculating a next-time deviation correction value according to a deviation between the heading angle and a target heading and the distance, the target heading being a direction of the current position pointing to a sailing target point on the current sailing segment, calculating a next-time rudder angle control value according to the next-time deviation correction value, correcting the next-time rudder angle control value to obtain a next-time actual rudder angle control value, and performing sailing control on the ship according to the next-time actual rudder angle control value;
[0152] in response to detecting that the current sailing segment of the ship is a broken line and the current position is on the current sailing segment, calculating a turning start point and a turning end point coordinate on the current sailing segment according to coordinates of the current sailing segment and a minimum turning radius of the ship, controlling the ship to start to make an arc motion at the turning start point to the turning end point with the minimum turning radius, and then controlling the ship to continue to sail along the current sailing segment.
[0153] Embodiment 6.
[0154] The application provides a computer device, which comprises:
[0155] a memory for storing computer programs / instructions;
[0156] a processor for executing the computer programs / instructions to realize the steps of the ship sailing control method provided in embodiment 1.
[0157] obtaining a current position and a heading angle of the ship;
[0158] In response to detecting that the current route segment of the ship is a straight line and the current position is not on the current route segment, a distance between the current position and the current route segment is calculated, a next-time deviation correction value is calculated according to a deviation between the heading angle and a target heading and the distance, the target heading being a direction of the current position pointing to a navigation target point on the current route segment, a next-time rudder angle control value is calculated according to the next-time deviation correction value, the next-time rudder angle control value is corrected to obtain a next-time actual rudder angle control value, and the ship is navigated according to the next-time actual rudder angle control value.
[0159] In response to detecting that the current route segment of the ship is a straight line and the current position is not on the current route segment, a distance between the current position and the current route segment is calculated, a next-time deviation correction value is calculated according to a deviation between the heading angle and a target heading and the distance, the target heading being a direction of the current position pointing to a navigation target point on the current route segment, a next-time rudder angle control value is calculated according to the next-time deviation correction value, the next-time rudder angle control value is corrected to obtain a next-time actual rudder angle control value, and the ship is navigated according to the next-time actual rudder angle control value.
[0160] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROMs, optical storage devices, etc.) containing computer usable program code.
[0161] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, as well as a combination of flows and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing apparatus to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing apparatus generate a means for implementing the functions specified in the flowcharts and / or block diagrams. Figure 1 The functions specified in one or more flows and / or blocks. Figure 1 The functions specified in one or more flows and / or blocks.
[0162] These computer program instructions can also be stored in a computer-readable memory capable of guiding a computer or other programmable data processing apparatus to work in a specific manner, so that the instructions stored in the computer-readable memory produce a product including instruction means, which implements the functions specified in the flowcharts and / or block diagrams. Figure 1 The functions specified in one or more flows and / or blocks. Figure 1 The functions specified in one or more flows and / or blocks.
[0163] These computer program instructions can also be loaded into a computer or other programmable data processing devices, so that a series of operational steps are performed on the computer or other programmable data processing devices to generate a computer-implemented process, so that the instructions executed on the computer or other programmable data processing devices provide a process for implementing the functions specified in the flowchart Figure 1 one flow or multiple flows and / or the functions specified in the flowchart Figure 1 one flow or multiple flows and / or the functions specified in the flowchart
[0164] The above description is only the preferred embodiment of the present application, and it should be pointed out that for those skilled in the art, without departing from the technical principles of the present application, a number of improvements and modifications can be made, and these improvements and modifications should also be considered as the protection scope of the present application.
Claims
1. A method for controlling ship navigation, characterized in that, include: Obtain the ship's current position and heading angle; In response to the detection that the ship's current course segment is a straight line and the current position is not on the current course segment, the distance between the current position and the current course segment is calculated. Based on the deviation between the heading angle and the target heading and the distance, a deviation correction value for the next moment is calculated. The target heading is the direction from the current position to the target point on the current course segment. The rudder angle control value for the next moment is calculated based on the deviation correction value for the next moment. The rudder angle control value for the next moment is corrected to obtain the actual rudder angle control value for the next moment. The ship is then controlled to navigate based on the actual rudder angle control value for the next moment. In response to the detection that the ship's current route segment is a broken line and the current position is on the current route segment, the coordinates of the starting point and ending point of the turn on the current route segment are calculated based on the coordinates of the current route segment and the ship's minimum turning radius. The ship is then controlled to start moving in an arc with the minimum turning radius from the starting point of the turn to the ending point of the turn, and then the ship is controlled to continue sailing along the current route segment. The deviation correction value for the next moment is calculated based on the deviation between the heading angle and the target heading, as well as the distance, using the following formula: ; ; in, This is the deviation correction value for the next time step. It is the heading correction value. It is the unit arc length, where: ; ; in, This is the ship's current heading angle. For the target course, Here is the distance correction value, where: ; in, The normalized value of the angle between the first vector and the second vector, where the first vector is the vector pointing from the start point of the current route segment to the current position, and the second vector is the vector pointing from the start point of the current route segment to the end point of the current route segment. This is the distance adjustment value, where: ; in, It is the distance between the current location and the current flight segment. The preset speed proportional variation coefficient, This refers to the velocity component of the ship in the direction perpendicular to the current course segment at the current moment. These are preset constant parameters; The calculation of the rudder angle control value at the next moment based on the deviation correction value is performed using the following formula: ; in, This is the rudder angle control value for the next moment. K p It is a preset proportional change coefficient. This is the deviation correction value for the next time step. K d It is the preset differential change coefficient. It is the difference between the deviation correction value at the next time step and the deviation correction value at the current time step; The step of correcting the rudder angle control value for the next moment to obtain the actual rudder angle control value for the next moment includes: First, the rudder angle control value for the next moment is corrected using the following formula to ensure that the rudder angle control value does not exceed the maximum value of the rudder angle control value: ; Then, the rudder angle control value for the next moment is corrected a second time using the following formula to obtain the actual rudder angle control value for the next moment, ensuring that the difference between the current rudder angle control value and the next rudder angle control value is no greater than the rate of change of the rudder angle: ; in, This is the rudder angle control value for the next moment. It is the actual rudder angle control value at the next moment. This is the current rudder angle control value. It is the maximum value of the preset rudder angle control value. It is the rate of change of rudder angle. It is a step per unit of time.
2. The ship navigation control method according to claim 1, characterized in that, During the process of controlling the ship to move in an arc with the minimum turning radius from the starting point of the turn to the ending point of the turn, the rudder angle control value of the controlled ship is always the maximum value of the preset rudder angle control value.
3. The ship navigation control method according to claim 1, characterized in that, Following the step of obtaining the ship's current position and heading angle, the method further includes: In response to the detection that the ship's current route segment is a straight line and the current position is on the current route segment, the ship is controlled to continue sailing along the current route segment.
4. The ship navigation control method according to claim 1, characterized in that, Following the step of obtaining the ship's current position and heading angle, the method further includes: In response to the detection that the ship's current route segment is a broken line and the current position is not on the current route segment, the minimum distance between the current position and the current route segment is calculated. Based on the deviation between the heading angle and the target heading, as well as the minimum distance, a deviation correction value for the next moment is calculated. The target heading is the direction from the current position to the target point on the current route segment. The rudder angle control value for the next moment is calculated based on the deviation correction value for the next moment. The rudder angle control value for the next moment is corrected to obtain the actual rudder angle control value for the next moment. The ship is then controlled to navigate based on the actual rudder angle control value for the next moment until the ship reaches the current route segment.
5. A ship navigation control device based on the method of any one of claims 1 to 4, characterized in that, include: The navigation data acquisition module is configured to acquire the ship's current position and heading angle; The straight-line navigation control module is configured to: in response to detecting that the ship's current route segment is a straight line and the current position is not on the current route segment, calculate the distance between the current position and the current route segment, calculate the deviation correction value for the next moment based on the deviation between the heading angle and the target heading and the distance, wherein the target heading is the direction from the current position to the navigation target point on the current route segment, calculate the rudder angle control value for the next moment based on the deviation correction value for the next moment, correct the rudder angle control value for the next moment to obtain the actual rudder angle control value for the next moment, and perform navigation control on the ship based on the actual rudder angle control value for the next moment; The zigzag navigation module is configured to: in response to detecting that the ship's current route segment is a zigzag and the current position is on the current route segment, calculate the coordinates of the starting point and ending point of the turn on the current route segment based on the coordinates of the current route segment and the ship's minimum turning radius, control the ship to start moving in an arc with the minimum turning radius at the starting point of the turn to the ending point of the turn, and then control the ship to continue sailing along the current route segment.
6. A computer-readable storage medium having a computer program / instructions stored thereon, characterized in that, When the computer program / instruction is executed by the processor, it implements the steps of the ship navigation control method according to any one of claims 1 to 4.
7. A computer device, characterized in that, include: Memory, used to store computer programs / instructions; A processor for executing the computer program / instructions to implement the steps of the ship navigation control method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Automatic manipulation control algorithm of marine comprehensive manipulation instrument
CN115774450A
Unmanned ship track tracking control parameter matching method based on soft update algorithm
CN118151659A
Route planning method of high-speed unmanned ship
CN118816898A