Marine simulator-based ship dynamic somatosensory simulation method
By setting the sampling points and high-pass filters for the height of the ship's waves in the nautical simulator and dynamically adjusting the amplification coefficient, the problem that the nautical simulator cannot fully obtain the crew's somatosensory speed, achieving a more comprehensive simulation effect.
Patent Information
- Application Number
- CN202411739254.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-29
- Publication Date
- 2025-03-14
AI Technical Summary
The existing nautical simulator cannot fully obtain the somatosensory speed of the crew during ship driving, resulting in the problem of insufficient simulation results.
By setting the sampling points of the ship's wave height based on the wave drawing method, the ship's acceleration and angular velocity are obtained, and the high-pass filter is set in combination with the washout algorithm, and the amplification coefficient is dynamically adjusted to realize real-time correction of the translation displacement and rotation angle of the six-degree of freedom motion platform of the navigation simulator.
It realizes a more accurate simulation of the somatosensory speed of the crew during ship driving, and improves the comprehensiveness of the simulation effect of the navigation simulator.
Smart Images

Figure CN119622927A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of ship somatosensory computing, and in particular to a ship dynamic somatosensory simulation method based on a navigation simulator. Background Art
[0002] Traditional navigation simulators basically use visual display to realize ship movement. This method places the simulator on flat ground and displays the ship movement by displaying a real-time virtual view from the ship driving perspective. In addition, there are still a small number of navigation simulators that simulate ship motion information through a motion platform, and this method basically uses the ship attitude data in the navigation simulator to simulate ship motion information.
[0003] However, the existing ship motion information simulation method of the navigation simulator ignores the crew's somatosensory acceleration and angular velocity during ship driving, making it impossible for the navigation simulator to fully obtain the crew's somatosensory speed during ship driving, which in turn causes the problem that the simulation effect of the navigation simulator is not comprehensive enough. Summary of the invention
[0004] The present invention provides a ship dynamic body-sensing simulation method based on a navigation simulator to overcome the above technical problems.
[0005] In order to achieve the above object, the technical solution of the present invention is:
[0006] A ship dynamic somatosensory simulation method based on a navigation simulator, comprising:
[0007] S1: Based on the wave drawing method, the sampling points of the ship wave height are set according to the ship motion model in the navigation simulator;
[0008] S2: Obtain the ship acceleration and ship angular velocity of the corresponding sampling point according to the existing virtual waves;
[0009] And the ship acceleration includes the ship's longitudinal acceleration, lateral acceleration and vertical acceleration;
[0010] The ship angular velocity includes the roll angular velocity, the pitch angular velocity and the bow angular velocity;
[0011] S3: Obtaining the crew's human body perception acceleration according to the ship acceleration at the corresponding ship sampling point;
[0012] The human body perceived acceleration includes the body-perceived lateral acceleration, the body-perceived vertical acceleration and the body-perceived longitudinal acceleration;
[0013] S4: Setting a high pass filter for filtering the acceleration / angular velocity based on a wash-out algorithm;
[0014] According to the crew's human body acceleration and the ship's angular velocity, a somatosensory error is obtained for real-time correction of the somatosensory simulation of the ship's navigation simulator, so as to dynamically adjust the amplification factor of the high-pass filter according to the somatosensory error;
[0015] S5: The amplification factor of the high-pass filter is dynamically adjusted according to the somatosensory error to obtain the translational displacement and rotation angle of the six-degree-of-freedom motion platform of the navigation simulator to achieve dynamic somatosensory simulation of the ship.
[0016] Further, the setting rule of setting the sampling points of the ship wave height based on the wave drawing method described in S1 according to the ship motion model in the navigation simulator is as follows:
[0017] Based on the wave drawing method, the horizontal position points of the sampling points are evenly distributed along the ship-water contact line according to the still water conditions of the ship motion model in the virtual scene, and the port sampling points and the starboard sampling points based on the bow line are mirror-imaged.
[0018] According to the ship's designed waterline, the sampling points of the ship's wave height are set as
[0019] SP i (x,y,z,type x ,type z ),i=1,2,…,n,
[0020] Where n represents the total number of sampling points, and the sampling points are set as sub-objects of the ship in the virtual engine of the navigation simulator and rotate with the ship; z and x represent the north and east coordinates of the preset coordinate system in the virtual engine respectively; y represents the difference between the current position of the sampling point obtained according to the world coordinates and the sea surface height; type x ,type z They represent the sampling point data at the corresponding coordinates respectively.
[0021] Further, the S2 specifically includes the following steps:
[0022] S21: Based on the existing virtual waves, calculate and obtain the average wave height data of the port sampling point and the starboard sampling point of the ship's wave height sampling point, and its expression is:
[0023]
[0024] Where: Total left Total represents the sum of the wave height data of all the virtual waves at the port sampling points; right Indicates the sum of wave height data of all starboard sampling points; SP left Indicates the average wave height data of the port sampling point; SP right It represents the average wave height data of the starboard sampling point;
[0025] S22: Calculate and obtain the average wave height data of the bow sampling point and the stern sampling point of the ship's wave height sampling point, and its expression is:
[0026]
[0027] Where: Total forward It represents the sum of wave height data of virtual waves at all bow sampling points;
[0028] Total back Represents the sum of wave height data of all stern sampling points; SP forward Indicates the average wave height data of the bow sampling point; SP back Represents the average wave height data of the sampling point at the stern of the ship; C i Indicates the pitch sampling coefficient of the ship;
[0029] S23: According to the average wave height data of the port sampling point and the starboard sampling point, the ship's roll angular acceleration is obtained, and its expression is:
[0030]
[0031] Where: Roll Acc Indicates the ship's roll angular acceleration; C Roll Roll represents the roll angular acceleration coefficient; Max Indicates the limited roll angle of this type of ship; Roll Now Indicates the current ship rolling angle;
[0032] And according to the ship's roll angular acceleration, the ship's roll angular velocity is obtained, and the expression is:
[0033]
[0034] Where: Indicates the ship's rolling angular velocity at time T+t; represents the ship's rolling angular velocity at time T; t represents the time step;
[0035] S24: According to the average wave height data of the bow sampling point and the stern sampling point, the ship's pitch acceleration is obtained, and its expression is:
[0036]
[0037] Where: Pitch Acc is the pitch angular acceleration, C Pitch Pitch represents the pitch angular acceleration coefficient, Max Indicates the limited pitch angle of this type of ship; t Indicates the current pitch angle of the ship;
[0038] And the ship's pitch velocity is obtained according to the ship's roll angular acceleration, and the expression is:
[0039]
[0040] Where: Indicates the ship's pitching angular velocity at time T+t; Indicates the pitch angular velocity of the ship at time T;
[0041] S25: Calculate the longitudinal component and the transverse component of the gravity acceleration according to the ship attitude, and the ship attitude includes the ship pitch angle and the ship roll angle, and the expression is:
[0042] ShipAccByG z =G*Sin(Pitch Now *Deg2Rad)
[0043] ShipAccByG x =-1*G*Sin(Roll Now *Deg2Rad)
[0044] Where: G represents the acceleration due to gravity; Deg2Rad represents the value of angle to radian; ShipAccByG z Represents the longitudinal component of gravitational acceleration; ShipAccByG x Pitch represents the lateral component of gravitational acceleration; t Indicates the current pitch speed of the ship; Roll t Indicates the current ship rolling angular velocity;
[0045] S26: taking the crew members in the virtual engine of the navigation simulator as the child objects of the ship, so as to obtain the local coordinates of the crew members in the ship;
[0046] And the crew body local coordinates include the longitudinal local coordinate PresonPos z and the horizontal local coordinate PresonPos x ;
[0047] The linear velocity generated at the coordinate position during the pitching and rolling motion of the hull is calculated according to the local coordinates of the crew's body to obtain the pitching linear acceleration and rolling linear acceleration of the ship. The expression is LinVel Z =PresonPos z *Pitch Speed *Deg2Rad
[0048] LinVel x =PresonPos x*Roll Speed *Deg2Rad
[0049]
[0050]
[0051] Where: Indicates the pitch linear velocity at time T; Indicates the pitch linear velocity at time Tt; It represents the rolling linear velocity at time T; Indicates the rolling linear velocity at time Tt; LinAcc Z Indicates the ship's pitch linear acceleration; LinAcc X It represents the ship's rolling linear acceleration;
[0052] S27: Use the existing ship MMG motion solver plug-in of the navigation simulator to obtain the ship longitudinal solution acceleration AccZ of the ship motion model ship , lateral acceleration AccX ship , vertical solution acceleration AccY ship and Yaw Speed ;
[0053] According to the ship's pitch line acceleration and roll line acceleration, the ship acceleration at the corresponding sampling point is obtained, that is, the acceleration data of the crew ship sub-object position point is provided to the ship, and its expression is:
[0054] PosAcc X =ShipAccByG x -LinAcc X *sin(Roll t *Deg2Rad)+AccX ship
[0055] PosAcc Y =LinAcc X *cos(Roll t *Deg2Rad)+LinAcc Z *cos(Pitch t *Deg2Rad)+AccY Ship PosAcc Z =LinAcc Z *cos(Pitch t *Deg2Rad)+AccZ Ship
[0056] Where: PosAcc X ,PosAccY ,PosAcc Z They represent the longitudinal acceleration, lateral acceleration and vertical acceleration of the ship respectively.
[0057] Further, the crew member's human body acceleration is obtained according to the ship acceleration at the corresponding ship sampling point in S3, specifically:
[0058] According to the ship acceleration at the corresponding ship sampling point and the orientation of the ship sub-object, the human body acceleration at the position point of the ship sub-object is calculated, and its expression is:
[0059] PersonAcc X =PosAcc X *cos(Dir Rad )+PosAcc Z *sin(Dir Rad )
[0060] PersonAcc Y =PosAcc Y
[0061] PersonAcc Z =PosAcc X *sin(Dir Rad )+PosAcc Z *cos(Dir Rad )
[0062] Where: Dir Rad Indicates the deviation of the orientation of the ship sub-object from the ship's bow direction, and Dir Rad =Dir Rot *Deg2Rad;Dir Rot Indicates the Euler angle deviation between the orientation of the ship sub-object and the ship's heading.
[0063] Furthermore, the S4 specifically includes the following steps:
[0064] S41: Setting the acceleration high-pass filter based on the wash-out algorithm;
[0065] And the high-pass filter includes a third-order high-pass filter Filter about acceleration H3 (s), second-order high-pass filter Filter H2 (s) and a second-order low-pass filter Filter L2 (s);
[0066] And the transfer function of each high-pass filter is expressed as
[0067]
[0068] Where: H3 ,ζ H3 ,ω′ H3 , k H3 Respectively represent the cutoff frequency, damping ratio, cutoff frequency and undetermined amplification factor of the third-order high-pass filter; ω H2 ,ζ H2 , k H2 Respectively represent the cutoff frequency, damping ratio and undetermined amplification factor of the second-order high-pass filter; ω L2 ,ζ L2 They represent the cutoff frequency and damping ratio of the second-order low-pass filter respectively; s represents the Laplace transform parameter;
[0069] S42: according to the set acceleration high-pass filter, set the filter channel about the crew's human body perception acceleration and the ship's angular velocity;
[0070] That is, define the Filter H3 (s) X 、Filter H3 (s) Y 、Filter H3 (s) Z They are the third-order high-pass filters for the somatosensory lateral acceleration, the somatosensory vertical acceleration, and the somatosensory longitudinal acceleration;
[0071] Defining Filters H2 (s) X 、Filter H2 (s) Y 、Filter H2 (s) Z are the second-order high-pass filters for the pitch angular velocity, the heading angular velocity, and the roll angular velocity;
[0072] Defining Filters L2 (s) X 、Filter L2 (s) Z They are second-order low-pass filters for the lateral tilt adjustment angle and the longitudinal tilt adjustment angle respectively;
[0073] S43: Setting a ship dynamic body-sensing tilt adjustment module to adjust the longitudinal tilt adjustment angle θ of the longitudinal acceleration pitch angle x The lateral tilt adjustment angle θ of the lateral acceleration roll angle z , whose expression is
[0074]
[0075] Where: AccF Z 、AccF XThey represent the longitudinal acceleration and lateral acceleration passing through the second-order low-pass filter respectively; k LX , k LZ They represent the magnification factors of pitch angle and roll angle for tilt adjustment respectively; g represents the acceleration of gravity; Rad2Deg represents the radian rotation angle;
[0076] S44: Based on the otolith model and the semicircular canal model, the otolith model transfer function for the crew's human body acceleration perception and the semicircular canal model transfer function for the ship's angular velocity are constructed. The expressions are:
[0077]
[0078] Where: MAcc(s) represents the transfer function of the otolith model of the crew's human body's perceived acceleration; MRotSpeed X (s) represents the transfer function of the pitch angular velocity semicircular canal model; MRotSpeed Y (s) represents the transfer function of the semicircular canal model for the yaw angular velocity; MRotSpeed Z (s) represents the transfer function of the semicircular canal model for roll angular velocity;
[0079] S45: using the ship acceleration and the ship angular velocity obtained in S2 as inputs of the otolith model and the semicircular canal model, and combining the constructed otolith model transfer function and the semicircular canal model transfer function to obtain the human body perceived target acceleration and target angular velocity;
[0080] The ship acceleration and ship angular velocity obtained by S2 are used as inputs of an acceleration high-pass filter set based on a wash-out algorithm to obtain filtered acceleration and filtered angular velocity;
[0081] S46: Calculate and obtain a somatosensory error of the ship acceleration and the ship angular velocity according to the target acceleration and the target angular velocity, the filtered acceleration and the filtered angular velocity;
[0082] And the somatosensory error includes acceleration error and angle error, and its expression is:
[0083] DiffAcc X =PersonAcc X MAcc(s)-PersonAcc X Filter H3 (s) X MAcc(s)-PersonAcc X Filter L2 (s) X
[0084] DiffAcc Y =PersonAccY MAcc(s)-PersonAcc Y Filter H3 (s) Y MAcc(s)
[0085] DiffAcc Z =PersonAcc Z MAcc(s)-PersonAcc Z Filter H3 (s) Z MAcc(s)-PersonAcc Z Filter L2 (s) Z
[0086] DiffRoll=Roll Speed MRotSpeed Z (s)-Roll Speed Filter H2 (s) Z MRotSpeed Z (s)
[0087] DiffPitch=Pitch Speed MRotSpeed X (s)-Pitch Speed Filter H2 (s) X MRotSpeed X (s)
[0088] DiffYaw=Yaw Speed MRotSpeed Y (s)-Yaw Speed Filter H2 (s) Y MRotSpeed Y (s)
[0089] Where: DiffAcc x 、DiffAcc Y 、DiffAcc Z They represent the acceleration errors of human body acceleration in the lateral, vertical and longitudinal directions respectively; DiffRoll, DiffPitch and DiffYaw represent the angular errors of human body angular velocity in roll, pitch and yaw respectively;
[0090] S47: Based on the method of constructing Bessel interpolation curve, define and obtain the relationship curve between the somatosensory error and the acceleration high-pass filter amplification factor to obtain the corresponding third-order high-pass filter Filter H3 (s) and second-order high-pass filter Filter H2 (s) is the adjustment magnification factor.
[0091] Furthermore, the formula for obtaining the translation displacement and rotation angle of the six-degree-of-freedom motion platform of the navigation simulator in S5 is:
[0092]
[0093] Where: Displace X 、Displace Y 、Displace Z Respectively represent the lateral, vertical and longitudinal displacements of the six-degree-of-freedom motion platform of the navigation simulator; Rot X 、Rot Y 、Rot Z They respectively represent the pitch, bow and roll angles of the six-degree-of-freedom motion platform of the navigation simulator.
[0094] Compared with the prior art: the present invention provides a ship dynamic somatosensory simulation method based on a navigation simulator, and the beneficial effects are as follows:
[0095] 1) The present invention calculates and obtains the acceleration and angular velocity of the position of the person in the ship based on the ship motion model and wave drawing method in the navigation simulator. Compared with traditional computational fluid dynamics and other methods, the calculation is faster and more suitable for real-time settlement of the navigation simulator, and at the same time fills the gap in human body simulation in the navigation simulator.
[0096] 2) The present invention is based on an improved wash-out algorithm and realizes dynamic adjustment of the somatosensory simulation method by dynamically modifying the filter amplification factor through errors. Compared with the adjustment of coefficients such as cutoff frequency and damping ratio, the adjustment of the amplification factor is simpler and more efficient, and improves the comprehensiveness of the simulation effect of the navigation simulator. BRIEF DESCRIPTION OF THE DRAWINGS
[0097] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0098] Figure 1 It is a flow chart of the ship dynamic somatosensory simulation method based on the navigation simulator of the present invention;
[0099] Figure 2 : is a human body position acceleration data diagram in this embodiment;
[0100] Figure 3 This is a diagram of the angular velocity data of the human body position in this embodiment;
[0101] Figure 4 This is a flow chart of the signal processing of the improved classic wash-out algorithm in this embodiment;
[0102] Figure 5 : is a graph showing the relationship between the third-order high-pass filter amplification factor and the acceleration error in this embodiment;
[0103] Figure 6 is a graph showing the relationship between the amplification factor of the second-order high-pass filter and the acceleration error in this embodiment;
[0104] Figure 7 is a graph showing the relationship between the amplification factor of the second-order low-pass filter and the acceleration error in this embodiment;
[0105] Figure 8 This is a displacement data diagram of a six-degree-of-freedom motion platform in this embodiment;
[0106] Fig. 9 This is a data diagram of the rotation angle of the six-degree-of-freedom motion platform in this embodiment;
[0107] Fig.10 This is a diagram of human body acceleration error of the six-degree-of-freedom motion platform in this embodiment;
[0108] Fig.11 This is a diagram of the human body angular velocity error of the six-degree-of-freedom motion platform in this embodiment. DETAILED DESCRIPTION
[0109] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0110] This embodiment provides a ship dynamic body sensing simulation method based on a navigation simulator, such as Figure 1 As shown, including:
[0111] S1: Based on the wave drawing method, the sampling points of the ship wave height are set according to the ship motion model in the navigation simulator;
[0112] Specifically, the setting rules of the sampling points of the ship wave height are as follows: based on the wave drawing method, the horizontal position points of the sampling points are evenly distributed along the ship-water contact line under the still water conditions of the ship motion model in the virtual scene, and the port sampling points and the starboard sampling points based on the bow line are mirror-set;
[0113] According to the ship's designed waterline, the sampling points of the ship's wave height are set as
[0114] SP i (x,y,z,type x ,type z ),i=1,2,…,n,
[0115] Where n represents the total number of sampling points, and the sampling points are set as sub-objects of the ship in the virtual engine of the navigation simulator and rotate with the ship; z and x represent the north and east coordinates of the preset coordinate system in the virtual engine respectively; y represents the difference between the current position of the sampling point obtained according to the world coordinates and the sea surface height; type x ,type z They represent the sampling point data at the corresponding coordinates respectively.
[0116] In this embodiment, the virtual scene wind and wave level is set to level 4 sea condition in the preset virtual scene of the navigation simulator and the ship wave height difference sampling points are set;
[0117] S2: Obtain the ship acceleration and ship angular velocity of the corresponding sampling point according to the existing virtual waves;
[0118] And the ship acceleration includes the ship's longitudinal acceleration, lateral acceleration and vertical acceleration;
[0119] The ship angular velocity includes the roll angular velocity, the pitch angular velocity and the bow angular velocity;
[0120] The specific steps include:
[0121] S21: Based on the existing virtual waves, calculate and obtain the average wave height data of the port sampling point and the starboard sampling point of the ship's wave height sampling point, and its expression is:
[0122]
[0123] Where: Total left Total represents the sum of the wave height data of all the virtual waves at the port sampling points; right Indicates the sum of wave height data of all starboard sampling points; SP left Indicates the average wave height data of the port sampling point; SP right It represents the average wave height data of the starboard sampling point;
[0124] S22: Based on the existing virtual waves, calculate and obtain the average wave height data of the bow sampling point and the stern sampling point of the ship's wave height sampling point, and its expression is:
[0125]
[0126] Where: Total forward Total represents the sum of the wave height data of all the sampling points at the bow of the ship; back Represents the sum of wave height data of all stern sampling points; SP forward Indicates the average wave height data of the bow sampling point; SP back Represents the average wave height data of the sampling point at the stern of the ship; C i Indicates the pitch sampling coefficient of the ship. The closer the sampling point is to the center of the ship, the smaller the value is, and vice versa. The coefficient range is [0.5,1.5];
[0127] S23: According to the average wave height data of the port sampling point and the starboard sampling point, the ship's roll angular acceleration is obtained, and its expression is:
[0128]
[0129] Where: Roll Acc Indicates the ship's roll angular acceleration; C Roll Roll represents the roll angular acceleration coefficient; Max Indicates the limited roll angle of this type of ship; Roll t Indicates the current ship rolling angle;
[0130] And according to the ship's roll angular acceleration, the ship's roll angular velocity is obtained, and the expression is:
[0131]
[0132] Where: Indicates the ship's rolling angular velocity at time T+t; represents the ship's rolling angular velocity at time T; t represents the time step;
[0133] S24: According to the average wave height data of the bow sampling point and the stern sampling point, the ship's pitch acceleration is obtained, and its expression is:
[0134]
[0135] Where: Pitch Acc is the pitch angular acceleration, C Pitch Pitch represents the pitch angular acceleration coefficient, Max Indicates the limited pitch angle of this type of ship; NowIndicates the current pitch angle of the ship;
[0136] And the ship's pitch velocity is obtained according to the ship's roll angular acceleration, and the expression is:
[0137]
[0138] Where: Indicates the ship's pitching angular velocity at time T+t; Indicates the pitch angular velocity of the ship at time T;
[0139] S25: Calculate the longitudinal component and the transverse component of the gravity acceleration according to the ship attitude, and the ship attitude includes the ship pitch angle and the ship roll angle, and the expression is:
[0140] ShipAccByG z =G*Sin(Pitch Now *Deg2Rad)
[0141] ShipAccByG x =-1*G*Sin(Roll Now *Deg2Rad)
[0142] Where: G represents the acceleration due to gravity; Deg2Rad represents the value of angle to radians, and Deg2Rad=0.0174532924; ShipAccByG z Represents the longitudinal component of gravitational acceleration; ShipAccByG x Pitch represents the lateral component of gravitational acceleration; t Indicates the current pitch speed of the ship; Roll t Indicates the current ship rolling angular velocity;
[0143] S26: taking the crew members in the virtual engine of the navigation simulator as the child objects of the ship, so as to obtain the local coordinates of the crew members in the ship;
[0144] And the crew body local coordinates include the longitudinal local coordinate PresonPos z and the horizontal local coordinate PresonPos x ;
[0145] The linear velocity generated at the coordinate position during the pitching and rolling motion of the hull is calculated according to the local coordinates of the crew's body to obtain the pitching linear acceleration and rolling linear acceleration of the ship. The expression is LinVel Z =PresonPos z *Pitch Speed *Deg2Rad
[0146] LinVelx =PresonPos x *Roll Speed *Deg2Rad
[0147]
[0148]
[0149] Where: Indicates the pitch linear velocity at time T; Indicates the pitch linear velocity at time Tt; It represents the rolling linear velocity at time T; Indicates the rolling linear velocity at time Tt; LinAcc Z Indicates the ship's pitch linear acceleration; LinAcc X It represents the ship's rolling linear acceleration;
[0150] S27: Use the existing ship MMG motion solver plug-in of the navigation simulator to obtain the ship longitudinal solution acceleration AccZ of the ship motion model ship , lateral acceleration AccX ship , vertical solution acceleration AccY ship and Yaw Speed ; The ship longitudinal solution acceleration AccZ of the ship motion model is obtained by calling the ship MMG motion solution plug-in ship , lateral acceleration AccX ship , vertical solution acceleration AccY ship and Yaw Speed This is a known technical content and will not be described in detail here.
[0151] According to the ship's pitch line acceleration and roll line acceleration, the ship acceleration at the corresponding sampling point is obtained, that is, the acceleration data of the crew ship sub-object position point is provided to the ship, and its expression is:
[0152] PosAcc X =ShipAccByG x -LinAcc X *sin(Roll t *Deg2Rad)+AccX ship
[0153] PosAcc Y =LinAcc X *cos(Roll t *Deg2Rad)+LinAcc Z *cos(Pitcht *Deg2Rad)+AccY Ship
[0154] PosAcc Z =LinAcc Z *cos(Pitch t *Deg2Rad)+AccZ Ship
[0155] Where: PosAcc X ,PosAcc Y ,PosAcc Z They represent the longitudinal acceleration, lateral acceleration and vertical acceleration of the ship respectively.
[0156] In this embodiment, the ship is operated to navigate in the navigation simulator, and the acceleration and angular velocity information of the position of the human body in the ship is obtained in combination with step S1, such as Figures 2 to 3 As shown;
[0157] S3: Obtaining the crew's human body perception acceleration according to the ship acceleration at the corresponding ship sampling point;
[0158] The human body perceived acceleration includes the body-perceived lateral acceleration, the body-perceived vertical acceleration and the body-perceived longitudinal acceleration;
[0159] And the crew's human body acceleration is obtained according to the ship acceleration at the corresponding ship sampling point, specifically:
[0160] According to the ship acceleration at the corresponding ship sampling point and the orientation of the ship sub-object, the human body acceleration at the position point of the ship sub-object is calculated, and its expression is:
[0161] PersonAcc X =PosAcc X *cos(Dir Rad )+PosAcc Z *sin(Dir Rad )
[0162] PersonAcc Y =PosAcc Y
[0163] PersonAcc Z =PosAcc X *sin(Dir Rad )+PosAcc Z *cos(Dir Rad )
[0164] Where: Dir RadIndicates the deviation of the orientation of the ship sub-object from the ship's bow direction, and Dir Rad =Dir Rot *Deg2Rad;Dir Rot The Euler angle deviation between the orientation of the ship sub-object and the ship's heading can be obtained in the virtual scene through existing technology;
[0165] S4: Setting a high pass filter for filtering the acceleration / angular velocity based on a wash-out algorithm;
[0166] According to the crew's human body acceleration and the ship's angular velocity, a somatosensory error is obtained for real-time correction of the somatosensory simulation of the ship's navigation simulator, so as to dynamically adjust the amplification factor of the high-pass filter according to the somatosensory error;
[0167] Specifically include the following steps:
[0168] S41: Setting the acceleration high-pass filter based on the wash-out algorithm;
[0169] And the high-pass filter includes a third-order high-pass filter Filter about acceleration H3 (s), second-order high-pass filter Filter H2 (s) and a second-order low-pass filter Filter L2 (s);
[0170] And the transfer function of each high-pass filter is expressed as
[0171]
[0172] Where: H3 ,ζ H3 ,ω′ H3 , k H3 Respectively represent the cutoff frequency, damping ratio, cutoff frequency and undetermined amplification factor of the third-order high-pass filter; ω H2 ,ζ H2 , k H2 Respectively represent the cutoff frequency, damping ratio and undetermined amplification factor of the second-order high-pass filter; ω L2 ,ζ L2 They represent the cutoff frequency and damping ratio of the second-order low-pass filter respectively; s represents the Laplace transform parameter;
[0173] S42: according to the set acceleration high-pass filter, set the filter channel about the crew's human body perception acceleration and the ship's angular velocity;
[0174] That is, define the Filter H3 (s) X 、Filter H3 (s) Y、Filter H3 (s) Z They are the third-order high-pass filters for the somatosensory lateral acceleration, the somatosensory vertical acceleration, and the somatosensory longitudinal acceleration;
[0175] Defining Filters H2 (s) X 、Filter H2 (s) Y 、Filter H2 (s) Z are the second-order high-pass filters for the pitch angular velocity, the heading angular velocity, and the roll angular velocity;
[0176] Defining Filters L2 (s) X 、Filter L2 (s) Z They are second-order low-pass filters for the lateral tilt adjustment angle and the longitudinal tilt adjustment angle respectively;
[0177] S43: Setting a ship dynamic body-sensing tilt adjustment module to adjust the longitudinal tilt adjustment angle θ of the longitudinal acceleration pitch angle x The lateral tilt adjustment angle θ of the lateral acceleration roll angle z , whose expression is
[0178]
[0179] Where: AccF Z 、AccF X They represent the longitudinal acceleration and lateral acceleration passing through the second-order low-pass filter respectively; k LX , k LZ They represent the magnification factors of the pitch angle and the roll angle for tilt adjustment respectively; g represents the acceleration of gravity; Rad2Deg represents the radian rotation angle, and Rad2Deg=57.295779513;
[0180] S44: Based on the existing otolith model and the existing semicircular canal model, the otolith model transfer function for the crew's human body acceleration perception and the semicircular canal model transfer function for the ship's angular velocity are designed. The expressions are:
[0181]
[0182] Where: MAcc(s) represents the transfer function of the otolith model of the crew's human body's perceived acceleration; MRotSpeed X (s) represents the transfer function of the pitch angular velocity semicircular canal model; MRotSpeed Y (s) represents the transfer function of the semicircular canal model for the yaw angular velocity; MRotSpeedZ (s) represents the transfer function of the semicircular canal model for the roll angular velocity;
[0183] S45: using the ship acceleration and the ship angular velocity obtained in S2 as inputs of the otolith model and the semicircular canal model, and combining the constructed otolith model transfer function and the semicircular canal model transfer function to obtain the human body perceived target acceleration and target angular velocity;
[0184] The ship acceleration and ship angular velocity obtained by S2 are used as inputs of an acceleration high-pass filter set based on a wash-out algorithm to obtain filtered acceleration and filtered angular velocity;
[0185] S46: Calculate and obtain a somatosensory error of the ship acceleration and the ship angular velocity according to the target acceleration and the target angular velocity, the filtered acceleration and the filtered angular velocity;
[0186] And the somatosensory error includes acceleration error and angle error, and its expression is:
[0187] DiffAcc X =PersonAcc X MAcc(s)-PersonAcc X Filter H3 (s) X MAcc(s)-PersonAcc X Filter L2 (s) X
[0188] DiffAcc Y =PersonAcc Y MAcc(s)-PersonAcc Y Filter H3 (s) Y MAcc(s)
[0189] DiffAcc Z =PersonAcc Z MAcc(s)-PersonAcc Z Filter H3 (s) Z MAcc(s)-PersonAcc Z Filter L2 (s) Z
[0190] DiffRoll=Roll Speed MRotSpeed Z (s)-Roll SpeedFilter H2 (s) Z MRotSpeed Z (s)
[0191] DiffPitch=Pitch Speed MRotSpeed X (s)-Pitch Speed Filter H2 (s) X MRotSpeed X (s)
[0192] DiffYaw=Yaw Speed MRotSpeed Y (s)-Yaw Speed Filter H2 (s) Y MRotSpeed Y (s)
[0193] Where: DiffAcc x 、DiffAcc Y 、DiffAcc Z They represent the acceleration errors of human body acceleration in the lateral, vertical and longitudinal directions respectively; DiffRoll, DiffPitch and DiffYaw represent the angular errors of human body angular velocity in roll, pitch and yaw respectively;
[0194] S47: Based on the method of constructing Bessel interpolation curve, define and obtain the relationship curve between the somatosensory error and the acceleration high-pass filter amplification factor to obtain the corresponding third-order high-pass filter Filter H3 (s) and second-order high-pass filter Filter H2 (s) adjustment magnification factor. In general, the tilt adjustment magnification factor ranges from [0,2], the third-order high-pass filter magnification factor ranges from [0,4], and the second-order high-pass filter magnification factor ranges from [0.2,1.8].
[0195] This embodiment is based on the improved method of the classic wash-out algorithm, and pre-builds the simulink signal processing flow. The improved classic wash-out algorithm is as follows Figure 4As shown, the simulink signal processing file is exported to a C++ project, a dynamic library is generated using the project, and then the dynamic library is imported into the unity3D virtual engine project and called using a set C# script. The implementation process of exporting the simulink signal processing file to a C++ project, importing the dynamic library into the unity3D virtual engine project, and calling using a set C# script is an existing well-known technology and is not the invention of this application, so it will not be described in detail here;
[0196] S5: According to the somatosensory error, the amplification coefficient of the high-pass filter is dynamically adjusted to obtain the translation displacement and rotation angle of the six-degree-of-freedom motion platform of the navigation simulator to realize the dynamic somatosensory simulation of the ship; and the translation displacement and rotation angle of the six-degree-of-freedom motion platform of the navigation simulator are obtained by the formula:
[0197]
[0198] Where: Displace X 、Displace Y 、Displace Z Respectively represent the lateral, vertical and longitudinal displacements of the six-degree-of-freedom motion platform of the navigation simulator; Rot X 、Rot Y 、Rot Z They represent the pitch, bow and roll angles of the six-degree-of-freedom motion platform of the navigation simulator respectively;
[0199] This embodiment defines the relationship between the somatosensory error and the amplification factor by using the Bezier curve function method in the unity3D engine. The relationship between the amplification factor of the third-order high-pass filter and the acceleration error is as follows: Figure 5 As shown, the relationship between the second-order high-pass filter gain and the acceleration error is as follows: Figure 6 As shown, the relationship between the second-order low-pass filter gain and the acceleration error is as follows: Figure 7 shown, and Figures 5 to 7 The horizontal axis coordinate is the error value, and the vertical axis coordinate is the magnification factor. The dynamic library is called by the preset unity3D engine C# script to implement initialization, parameter input and other operations, and finally the motion data of the motion platform is obtained as follows Figures 8 to 9 As shown, the motion error is obtained as Figure 10 to Figure 11 shown.
[0200] In summary, compared with the prior art, the beneficial effects of this embodiment are as follows:
[0201] 1) This embodiment calculates and obtains the acceleration and angular velocity of the position of the person in the ship based on the ship motion model and wave drawing method in the navigation simulator. Compared with traditional computational fluid dynamics and other methods, it is faster and more suitable for real-time settlement of navigation simulators, and at the same time fills the gap in human body simulation in navigation simulators.
[0202] 2) This embodiment is based on the improvement of the classic wash-out algorithm, and realizes the dynamic adjustment of the somatosensory simulation method by dynamically modifying the filter amplification factor through error. Compared with the adjustment of coefficients such as cutoff frequency and damping ratio, the adjustment of the amplification factor is simpler and more efficient, and improves the comprehensiveness of the simulation effect of the navigation simulator.
[0203] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A ship dynamic somatosensory simulation method based on a navigation simulator, characterized in that: include: S1: Based on the wave drawing method, the sampling points of the ship wave height are set according to the ship motion model in the navigation simulator; S2: Obtain the ship acceleration and ship angular velocity of the corresponding sampling point according to the existing virtual waves; And the ship acceleration includes the ship's longitudinal acceleration, lateral acceleration and vertical acceleration; The ship angular velocity includes the roll angular velocity, the pitch angular velocity and the bow angular velocity; S3: Obtaining the crew's human body perception acceleration according to the ship acceleration at the corresponding ship sampling point; The human body perceived acceleration includes the body-perceived lateral acceleration, the body-perceived vertical acceleration and the body-perceived longitudinal acceleration; S4: Setting a high pass filter for filtering the acceleration / angular velocity based on a wash-out algorithm; According to the crew's human body acceleration and the ship's angular velocity, a somatosensory error is obtained for real-time correction of the somatosensory simulation of the ship's navigation simulator, so as to dynamically adjust the amplification factor of the high-pass filter according to the somatosensory error; S5: The amplification factor of the high-pass filter is dynamically adjusted according to the somatosensory error to obtain the translational displacement and rotation angle of the six-degree-of-freedom motion platform of the navigation simulator to achieve dynamic somatosensory simulation of the ship.
2. A ship dynamic somatosensory simulation method based on a navigation simulator according to claim 1, characterized in that: Based on the wave drawing method described in S1, the setting rule of the sampling points of the ship wave height is set according to the ship motion model in the navigation simulator: Based on the wave drawing method, the horizontal position points of the sampling points are evenly distributed along the ship-water contact line according to the still water conditions of the ship motion model in the virtual scene, and the port sampling points and the starboard sampling points based on the bow line are mirror-imaged. According to the ship's designed waterline, the sampling point of the ship's wave height is set as SP i (x,y,z,type x ,type z ),i=1,2,…,n, Where: n represents the total number of sampling points, and the sampling points are set as sub-objects of the ship in the virtual engine of the navigation simulator and rotate with the ship; z and x represent the north and east coordinates of the preset coordinate system in the virtual engine respectively; y represents the difference between the current position of the sampling point obtained according to the world coordinates and the sea surface height; type x ,type z They represent the sampling point data at the corresponding coordinates respectively.
3. A ship dynamic somatosensory simulation method based on a navigation simulator according to claim 2, characterized in that: The S2 specifically includes the following steps S21: Based on the existing virtual waves, calculate and obtain the average wave height data of the port sampling point and the starboard sampling point of the ship's wave height sampling point, and its expression is: Where: Total left Total represents the sum of the wave height data of all the virtual waves at the port sampling points; right Indicates the sum of wave height data of all starboard sampling points; SP left Indicates the average wave height data of the port sampling point; SP right It represents the average wave height data of the starboard sampling point; S22: Calculate and obtain the average wave height data of the bow sampling point and the stern sampling point of the ship's wave height sampling point, and its expression is: Where: Total forward It represents the sum of wave height data of virtual waves at all bow sampling points; Total back Represents the sum of wave height data of all stern sampling points; SP forward Indicates the average wave height data of the bow sampling point; SP back Represents the average wave height data of the sampling point at the stern of the ship; C i Indicates the pitch sampling coefficient of the ship; S23: According to the average wave height data of the port sampling point and the starboard sampling point, the ship's roll angular acceleration is obtained, and its expression is: Where: Roll Acc Indicates the ship's roll angular acceleration; C Roll Roll represents the roll angular acceleration coefficient; Max Indicates the limited roll angle of this type of ship; Roll t Indicates the current ship rolling angle; And according to the ship's roll angular acceleration, the ship's roll angular velocity is obtained, and the expression is: Where: Indicates the ship's rolling angular velocity at time T+t; Indicates the ship's rolling angular velocity at time T; t represents the time step; S24: According to the average wave height data of the bow sampling point and the stern sampling point, the ship's pitch acceleration is obtained, and its expression is: Where: Pitch Acc is the pitch angular acceleration, C Pitch Pitch represents the pitch angular acceleration coefficient, Max Indicates the limited pitch angle of this type of ship; t Indicates the current pitch angle of the ship; And the ship's pitch velocity is obtained according to the ship's roll angular acceleration, and the expression is: Where: Indicates the ship's pitching angular velocity at time T+t; Indicates the pitch angular velocity of the ship at time T; S25: Calculate the longitudinal component and the transverse component of the gravity acceleration according to the ship attitude, and the ship attitude includes the ship pitch angle and the ship roll angle, and the expression is: ShipAccByG z =G*Sin(Pitch t *Deg2Rad) ShipAccByG x =-1*G*Sin(Roll t *Deg2Rad) Where: G represents the acceleration due to gravity; Deg2Rad represents the value of angle to radian; ShipAccByG z Represents the longitudinal component of gravitational acceleration; ShipAccByG x Pitch represents the lateral component of gravitational acceleration; t Indicates the current pitch speed of the ship; Roll t Indicates the current ship rolling angular velocity; S26: taking the crew members in the virtual engine of the navigation simulator as the child objects of the ship, so as to obtain the local coordinates of the crew members in the ship; And the crew body local coordinates include the longitudinal local coordinate PresonPos z and the horizontal local coordinate PresonPos x ; The linear velocity generated at the coordinate position during the pitching and rolling motion of the hull is calculated according to the local coordinates of the crew's body to obtain the pitching linear acceleration and rolling linear acceleration of the ship. The expression is LinVel Z =PresonPos z *Pitch Speed *Deg2Rad LinVel x =PresonPos x *Roll Speed *Deg2Rad Where: Indicates the pitch linear velocity at time T; Indicates the pitch linear velocity at time Tt; It represents the rolling linear velocity at time T; Indicates the rolling linear velocity at time Tt; LinAcc Z Indicates the ship's pitch linear acceleration; LinAcc X It represents the ship's rolling linear acceleration; S27: Use the existing ship MMG motion solver plug-in of the navigation simulator to obtain the ship longitudinal solution acceleration AccZ of the ship motion model ship , lateral acceleration AccX ship , vertical solution acceleration AccY ship and Yaw Speed ; According to the ship's pitch line acceleration and roll line acceleration, the ship acceleration at the corresponding sampling point is obtained, that is, the acceleration data of the crew ship sub-object position point is provided to the ship, and its expression is PosAcc X =ShipAccByG x -LinAcc X *sin(Roll t *Deg2Rad)+AccX ship PosAcc Y =LinAcc X *cos(Roll t *Deg2Rad)+LinAcc Z *cos(Pitch t *Deg2Rad)+AccY Ship PosAcc Z =LinAcc Z *cos(Pitch t *Deg2Rad)+AccZ Ship Where: PosAcc X ,PosAcc Y ,PosAcc Z They represent the longitudinal acceleration, lateral acceleration and vertical acceleration of the ship respectively.
4. A ship dynamic somatosensory simulation method based on a navigation simulator according to claim 3, characterized in that: The crew member's human body perception acceleration is obtained according to the ship acceleration at the corresponding ship sampling point as described in S3, specifically: According to the ship acceleration at the corresponding ship sampling point and the orientation of the ship sub-object, the human body acceleration at the position of the ship sub-object is calculated, and its expression is PersonAcc X =PosAcc X *cos(Dir Rad )+PosAcc Z *sin(Dir Rad ) PersonAcc Y =PosAcc Y PersonAcc Z =PosAcc X *sin(Dir Rad )+PosAcc Z *cos(Dir Rad ) Where: Dir Rad Indicates the deviation of the orientation of the ship sub-object from the ship's bow direction, and Dir Rad =Dir Rot *Deg2Rad;Dir Rot Indicates the Euler angle deviation between the orientation of the ship sub-object and the ship's heading.
5. A ship dynamic somatosensory simulation method based on a navigation simulator according to claim 4, characterized in that: The S4 specifically includes the following steps: S41: Setting the acceleration high-pass filter based on the wash-out algorithm; And the high-pass filter includes a third-order high-pass filter Filter about acceleration H3 (s), second-order high-pass filter Filter H2 (s) and a second-order low-pass filter Filter L2 (s); And the transfer function of each high-pass filter is expressed as Where: H3 ,ζ H3 ,ω′ H3 , k H3 Respectively represent the cutoff frequency, damping ratio, cutoff frequency and undetermined amplification factor of the third-order high-pass filter; ω H2 ,ζ H2 , k H2 Respectively represent the cutoff frequency, damping ratio and undetermined amplification factor of the second-order high-pass filter; ω L2 ,ζ L2 They represent the cutoff frequency and damping ratio of the second-order low-pass filter respectively; s represents the Laplace transform parameter; S42: according to the set acceleration high-pass filter, set the filter channel about the crew's human body perception acceleration and the ship's angular velocity; That is, define the Filter H3 (s) X 、Filter H3 (s) Y 、Filter H3 (s) Z They are the third-order high-pass filters for the somatosensory lateral acceleration, the somatosensory vertical acceleration, and the somatosensory longitudinal acceleration; Defining Filters H2 (s) X 、Filter H2 (s) Y 、Filter H2 (s) Z are the second-order high-pass filters for the pitch angular velocity, the heading angular velocity, and the roll angular velocity; Defining Filters L2 (s) X 、Filter L2 (s) Z They are second-order low-pass filters for the lateral tilt adjustment angle and the longitudinal tilt adjustment angle respectively; S43: Setting a ship dynamic body-sensing tilt adjustment module to adjust the longitudinal tilt adjustment angle θ of the longitudinal acceleration pitch angle x The lateral tilt adjustment angle θ of the lateral acceleration roll angle z , whose expression is Where: AccF Z 、AccF X They represent the longitudinal acceleration and lateral acceleration passing through the second-order low-pass filter respectively; k LX , k LZ They represent the magnification factors of pitch angle and roll angle for tilt adjustment respectively; g represents the acceleration of gravity; Rad2Deg represents the radian rotation angle; S44: Based on the otolith model and the semicircular canal model, the otolith model transfer function for the crew's human body acceleration perception and the semicircular canal model transfer function for the ship's angular velocity are constructed. The expressions are: Where: MAcc(s) represents the transfer function of the otolith model of the crew's human body's perceived acceleration; MRotSpeed X (s) represents the transfer function of the pitch angular velocity semicircular canal model; MRotSpeed Y (s) represents the transfer function of the semicircular canal model for the yaw angular velocity; MRotSpeed Z (s) represents the transfer function of the semicircular canal model for roll angular velocity; S45: using the ship acceleration and the ship angular velocity obtained in S2 as inputs of the otolith model and the semicircular canal model, and combining the constructed otolith model transfer function and the semicircular canal model transfer function to obtain the human body perceived target acceleration and target angular velocity; The ship acceleration and ship angular velocity obtained by S2 are used as inputs of an acceleration high-pass filter set based on a wash-out algorithm to obtain filtered acceleration and filtered angular velocity; S46: Calculate and obtain a somatosensory error of the ship acceleration and the ship angular velocity according to the target acceleration and the target angular velocity, the filtered acceleration and the filtered angular velocity; The somatosensory error includes acceleration error and angle error, and its expression is DiffAcc X =PersonAcc X MAcc(s)-PersonAcc X Filter H3 (s) X MAcc(s)-PersonAcc X Filter L2 (s) X DiffAcc Y =PersonAcc Y ·MAcc(s)-PersonAcc Y ·Filter H3 (s) Y ·MAcc(s) DiffAcc Z =PersonAcc Z ·MAcc(s)-PersonAcc Z ·Filter H3 (s) Z ·MAcc(s)-PersonAcc Z ·Filter L2 (s) Z DiffRoll=Roll Speed ·MRotSpeed Z (s)-Roll Speed ·Filter H2 (s) Z ·MRotSpeed Z (s) DiffPitch=Pitch Speed ·MRotSpeed X (s)-Pitch Speed ·Filter H2 (s) X ·MRotSpeed X (s) DiffYaw=Yaw Speed ·MRotSpeed Y (s)-Yaw Speed ·Filter H2 (s) Y ·MRotSpeed Y (s) Where: DiffAcc x 、DiffAcc Y 、DiffAcc Z They represent the acceleration errors of human body acceleration in the lateral, vertical and longitudinal directions respectively; DiffRoll, DiffPitch and DiffYaw represent the angular errors of human body angular velocity in roll, pitch and yaw respectively; S47: Based on the method of constructing Bessel interpolation curve, define and obtain the relationship curve between the somatosensory error and the acceleration high-pass filter amplification factor to obtain the corresponding third-order high-pass filter Filter H3 (s) and second-order high-pass filter Filter H2 (s) is the adjustment magnification factor.
6. A ship dynamic somatosensory simulation method based on a navigation simulator according to claim 5, characterized in that: The formula for obtaining the translational displacement and rotation angle of the six-degree-of-freedom motion platform of the navigation simulator described in S5 is: Where: Displace X 、Displace Y 、Displace Z Respectively represent the lateral, vertical and longitudinal displacements of the six-degree-of-freedom motion platform of the navigation simulator; Rot X 、Rot Y 、Rot Z They respectively represent the pitch, bow and roll angles of the six-degree-of-freedom motion platform of the navigation simulator.