search for


Novel Approach to Anti-Sway Control for a Vessel Cabin
International Journal of Fuzzy Logic and Intelligent Systems 2019;19(3):183-191
Published online September 25, 2019
© 2019 Korean Institute of Intelligent Systems.

Dong Hun Kim

Department of Electrical Engineering, Kyungnam University, Changwon, Korea
Correspondence to: Dong Hun Kim (
Received April 23, 2019; Revised September 18, 2019; Accepted September 19, 2019.
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License ( which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

In rivers and seas, winds and currents cause ships to move up and down, and bad weather can make passengers feel motion sickness and fatigue. Even in harsh conditions with wind and tide, a ship’s structural mechanism is needed to help people on board get sick and tired. Therefore, in this paper, a stabilization mechanism is proposed to maintain equilibrium in the passenger compartment and to reduce motion sickness and fatigue of passengers on board a ship even if it shakes in roll and pitch movements. The proposed stabilization mechanism has a different creativity from previous research on the grounds that it stabilizes only the passenger compartment of the vessel’s interior, not the purpose of stabilizing the vessel itself. Experimental results show that the vessel cabin is effectively stabilized by the proposed mechanism for anti-sway.

Keywords : Anti-Sway, Stabilizing mechanism, IMU sensor, Vessel
1. Introduction

Most of ships such as boats, cruise ships and fishing boats, often operate in sudden weather and rough sea conditions. Generally, during sailing at sea, the ship is moved up and down according to the movement of the sea surface caused by wind, currents, etc. As a result, passengers on board the ships feel extreme fatigue and motion sickness. In order to prevent this difficulty, the vessel was changed to reduce the flow of the hull, or the vessel was equipped with a flat maintenance system. Conventional vessels have made a vacant space on the underside of the hull, and by filling it with equilibrium water, they are reducing the flow of ships in operation. However, the flow of the ship itself is only reduced by the equilibrium water provided for the vessel, and there have been difficulties in reducing the flow of the space where the ship’s crew or passengers are staying.

Efforts were made to change the structure of a ship such as a twin ship to reduce passengers’ motion and fatigue, but there was no attempt to design a stabilizing mechanism for the required space on the ship itself. Recently, related studies have been conducted on a mechanism that controls the position of the ship itself by designing a stabilizer to prevent the vessel from tilting or swaying in strong currents [13]. However, the stabilizer has been highly influenced by the weight and size of the ship. Vessel put a heavy burden on the internal hardware device specifications, since the stabilizer is focused on controlling the posture of the ship itself [1]. Alternatively, in the form of structural attachments, only static stability is ensured [2, 3]. On some medium and small vessels such as fishing boats and coast guard vessels, the anti-rolling tank system (ART), a device to reduce roll angle is designed, manufactured and mounted on the vessel. In [3], the manual controlled ART was designed to install a U-shaped tank with the same cycle as the vessel’s unique cycle, and to reduce the rolling movement by moving the liquid in the tank from side to side.

Unlike previous studies, the proposed study provides a horizontal maintenance system for a ship’s passenger compartment that can reduce the flow of passengers’ rooms, not the vessel itself. Studies of horizontal stabilization devices have been conducted in serial structure and parallel structure. In the case of serial structure, the operating range is wide and simple, but there is a disadvantage of not being able to support a large force [4]. Parallel structure, on the other hand, do not have a large workspace, but are highly rigid and have a wide resolution within the workspace. Therefore, it is often used in environments that require a lot of force or require less inertia. [57] had an instrumental analysis of a parallel manipulator in the form of a three degree-of-freedom parallel structure, and [8] suggested a method of calculating joint angles from cylinder length through an analysis of inverted mechanics for a four degree-of-freedom equilibrium platform consisting of 3UPS and 1RPU. However, these horizontal stabilization devices are being studied on a stationary platform, and not many studies have been done on moving objects in environments such as the sea and the sky.

The horizontal maintenance system in the proposed study is installed for the passenger compartment of the ship, which is part of the mobile body. In other words, horizontal maintenance is not used in operating rooms for ships. This is for the experienced driving habits of ship drivers, which allow the driver to quickly cope with any flow in the vessel. In addition, if the vehicle is a mobile object that is driven by autonomous driving, no horizontal maintenance system is required for all spaces except for a specific space that must be kept horizontal. As a result, the stabilizing system of the proposed study aims to maintain the passenger compartment horizontally by using multiple motors or cylinders placed on the back of the passenger compartment floor plate in accordance with the occurrence of the vessel’s flow.

The stabilizing system proposed in this paper is different from the structural attachment method [2], which ensures only static stability. In addition, this paper proposes to apply the stabilization mechanism that ensures dynamic stability of the passenger compartment, unlike the stabilization mechanism for attitude of the vessel itself [3]. Thus, this study addresses the anti-sway problems by considering that there are currently no application cases that the horizontal maintenance system is installed for only the passenger compartment of the ship.

2. Problem Statement and Design Proposition

In an environment where a mobile object is moving, the mobile platform itself moves from side to side (roll) and from bottom to top (peach) regardless of its will. This applies regardless of whether it is human-controlled or self-driving. In the sea, people aboard ships feel motion sickness and extreme fatigue because of the presence of wind and currents, causing the vessel to shake at the roll and pitch angles. Therefore, it is necessary to change the ship’s structural mechanism to reduce the flow of passengers’ rooms.

The method of this study was derived to address the problems presented in necessity of the study. And more specifically, the stabilization mechanism that maintains the passenger compartment level at the bottom of the passenger compartment is designed and implemented in harware. As a result, the passenger compartment stabilizer is designed to keep passengers on board the ship horizontally, despite the ship’s shaking due to rough waves.

The proposed stabilization mechanism measures the roll and pitch angles of the ship body driven by waves and currents and moves the cylinder or motor installed under the passenger compartment in a straight motion to maintain the level of the floor of the passenger compartment. Roll angle means the angle from left to right in the vessel center when viewed from above, and pitch angle means the angle from top to bottom in the vessel center. In order to achieve the research objective, the following considerations are needed.

2.1 Stabilizing Mechanism

For the horizontal stability platform, four cylinders are installed at each corner in the lower of the passenger compartment to design a mechanical mechanism so that the connected plane can move at roll angle and pitch angle. It is sufficiently possible to install the four suggested electric cylinders, as the underside of the passenger compartment of the vessel has sufficient extra space.

The electric cylinders are connected to the micro-controller unit (MCU). MCU takes roll and pitch values from an inertia matrix unit (IMU) sensor. The mechanical mechanism is then designed so that each cylinder can move independently according to roll angle and pitch angle by placing four cylinders in the lower corner of the passenger compartment. The linear movement of a cylinder can be done by using a motor or hydraulic system. While the use of motors allows for more rapid horizontal retention, there is a disadvantage that is difficult to use when the weight of the passenger compartment including passengers and chairs is heavy. On the other hand, the use of hydraulic cylinders can also be used even if the weight of the passenger compartment is heavy, but the use of the hydraulic cylinder has the disadvantage of not being able to operate fast.

2.2 Measurement of Roll, Pitch Angle based on IMU Sensor

The roll and pitch angle values of the ship platform and the passenger compartment are measured based on an IMU sensor.

The IMU sensor is a semiconductor chip type created by combining an acceleration sensor and a gyro sensor. The acceleration sensor provides an accurate directional angle when subjected to only the force of gravity acceleration in a static state. However, when the sensor is moved or rotated, a force is applied to the sensor. The acceleration sensor is very sensitive to these forces. This results in unstable values in the form of noise. In particular, if there is a high speed vibration from the rotation of the motor, the acceleration sensor sends out a very unstable value. However, the acceleration sensor provides accurate results if it is able to average unstable values at a time that is long enough than the fine period of the noise waveform. The acceleration value measured by the acceleration sensor is the amount of speed that varies over time. But the acceleration sensor used here is mainly used for ‘angle’ measurement of how much it is tilted. The angle is then used for ‘gravity acceleration’.

A gyro-sensor, on the other hand, uses the gravity it receives on Earth. In other words, a gyro-sensor measures the degree of inclination using which angle is being received by the force of gravity acting vertically. The gyro sensor is a sensor that measures ‘angle velocity’ and indicates the speed at which a particular axis is rotated. An angle by integrating a gyro value is obtained. If the initial value is zero, knowing how much movement is in each direction gives an present angle compared to the initial value. However, the problem is that the exact angle cannot always be measured. Because there are errors measured from sensors, there is a slightly different value every second. And since the values are calculated by throwing away a few digits below the decimal point, the more the value is accumulated, the more the actual angle and the angle measured by the gyro sensor are different. This is called ‘drift’. It initially shows a more accurate value, but over time, the measurement becomes inaccurate due to the accumulation of errors.

2.3 Filters based on IMU Sensor

A filter is used to process data more accurately using the advantages and disadvantages of measured data from both sensors. As a result, acceleration sensors provide accurate data over a long period of time but give unstable values for a short period of time, while gyro sensors provide static data about the changed direction for a short period of time, but drifts over the direction due to a long period of integration. Thus, it is necessary to incorporate the advantages and disadvantages of the two sensors.

In general, there is a method called Kalman filter that uses a combination of two sensor values [9]. But this method contains differential equations and contains several complex processes, which do not respond quickly in real time. In another way, a slightly simpler complementary filter can be used than a Kalman filter. As the mechanism must act, measuring the change in value every instant, it is weighted more gyro values than acceleration values for calibration of sensor measurements. However, without much change in ship about roll angle and pitch angle, it may be accurate to give more weight to acceleration values. This should be set to suit the situation and finding this constant is an important parameter tuning in the complementary filter.

3. Stabilizing Mechanism for Anti-Sway of Vessel Cabin

3.1 Stabilizing Mechanism in Vessel Cabin

This study deals with horizontal stabilization devices that automatically control a 4 degree-of-freedom (DOF) platform based on an inertial measuring device. In the passenger compartment of the vessel, four cylinders are installed on each corner and the vessel’s horizontal values such as roll angle and pitch angle are measured using an IMU. The measured values are sent to the MCU, which controls the height of the four cylinders attached to the underside of the passenger compartment to maintain the level of the passenger compartment.

Figure 1 shows a model of a small cruise ship, with cylinders installed at each corner of the underside of the passenger compartment for straight motion. The driver’s seat is not equipped with the stabilizing mechanism for the driver’s experienced driving habits Figure 2 shows the stabilizing mechanism installed under the passenger compartment. The cylinders at the corners are connected to the MCU. MCU takes roll and pitch angle values from an IMU sensor installed on ships by input to find out the angles that are tilted left and right.

Based on the calculated angle, MCU move the four cylinders in a straight up and down motion to maintain a level with respect to the passenger compartment space.

In this study, the platform structure shown in Figure 3 is used to implement the horizontal stabilization of the passenger compartment [10]. The platform consists of a top plate, a lower base and four homogeneous electric cylinder. The top plate is connected to the lower base through four electric cylinders. The connection between the electric cylinder and the lower base is connected to a hook joint, and the connection between the electric cylinder and the top plate consists of a spherical joint. The electric cylinder is operated by a linear servomotor. The lower base makes a square consisting of L1, L2, L3, L4, the radius is R0, the top is a square consisting of U1, U2, U3, U4, and the radius is R1. The joint angles at the top and bottom base are θ0 and θ1. C is the center point of a rectangle consisting of L1, L2, L3, L4, and O′ is the center point of a rectangle consisting of U1, U2, U3, U4. In the lower base, the matrix for position points is defined as follows:


where Li = [kxiR0sin θ0, kyiR0cos θ0, 0]T (i = 1, 2, 3, 4; kx1 = kx4 = ky1 = ky2 = 1; kx2 = kx3 = ky3 = ky4 = −1).

The matrix for position points on the top is defined as follows:


The position points changed by moving at the upper position points are defined as follows:


where U1=[kxiR1sinθ1,kyiR1cosθ1,0]T (i = 1, 2, 3, 4; kx1 = kx4 = ky1 = ky2 = 1; kx2 = kx3 = ky3 = ky4 = −1).

The three-axis rotation area is only possible in areas with limited Z axis height. (γ, β, α), the rotation angles around X′, Y′, Z′ axis, are defined as the X, Y, Z axes at the rotation workspace. Inverse kinematics can be used to determine the rotating area of the platform. The process of inverse kinematics is as follows:


where ix = cosαcos β, iy = cosαsin βsin γ – sin αcos γ, iz = cosαsin βcos γ, jx = sinαcos β, jy = sinαsin βsin γ + cos αcos γ, jz = sinαsin βcos γ – cos αsin γ, kx = −sin β, ky = cosβsin γ, kz = cosβcos γ.

Q means the orientation cosine matrix of the upper platform for the lower platform as follows:


P indicates the position of O′ in the lower base as follows:


The length of the four electric cylinder is defined as follows:


The maximum angle ∅︀max that can be tilted by the electric cylinder for the stabilization of the passenger compartment platform in the vessel is as follows:


where dmin is the length when the maximum length of the cylinder and the minimum length of the cylinder appear on the left and right sides relative to the front of the vessel.

3.2 Complimentary Filter

In this study, a complimentary filter is used to work quickly in real time with small calculation. The complimentary filter is a kind of computational formulav(algorithm) created by using both the acceleration sensor and the gyro sensor’s hardware to obtain a more accurate angular position value in software [11].

First, the values measured from acceleration and gyro sensors are as follows. The gyro sensor measures angular velocity and does not measure directional angle itself. In order to calculate the directional angle, initial value of the directional angle is needed. The initial directional angle can be obtained from the acceleration sensor. After measuring the angular velocity ω in relation to the axis +X, +Y, and Z directions, the changed angle is obtained by multiplying the measurement sampling time Δt as follows:


The directional angle by the gyro sensor is obtained by adding the changed angle in Eq. (9) to the previous angle.


In a gyro sensor, integration is needed to obtain a directional angle, which makes accumulated errors over time.

Therefore, these small errors accumulate during repeated accumulation and the directional angle calculated by the gyro sensor becomes more and more inaccurate [1113].

Acceleration sensors provide accurate data over a long period of time, but give unstable values for a short period of time. The gyro sensor, on the other hand, provides accurate measurements of the changed direction for a short period of time, but the error is cumulative due to the long period of integration. Therefore, it is necessary to use the strengths and weaknesses of the two sensors [1416].

The output of the complementary filter, which uses the appropriate combination of the angles obtained from the gyro sensor and the acceleration sensor, is as follows:


where θaccel=[θraccelθpaccel] is the roll and pitch angle obtained by the acceleration sensor. θcom=[θrcomθpcom] is the roll and pitch angle obtained by the complimentary filter. ω=[ωTωp] is the roll and pitch angular velocity obtained by the gyro sensor. θgyro=[θrgyroθpgyro] is the roll and pitch angle obtained by the gyro sensor. Δt is sampling time. The weight value α is as follows:


where τ is the time constant with period greater than the noise wave frequency of the acceleration sensor.

In this study, the angle value in the body of the vessel and the angle value in the passenger compartment are obtained using a complementary filter of Eq. (11) based on the IMU sensor, which contains the gyro sensor and the acceleration sensor.

3.3 Electrical Cylinder Control

θcom is mapped to a normalized value θ̄com for use as a pulse width modulation (PWM) value of the linear motor. Then, the roll and the pitch angles of each motor are calculated in accordance with the direction. θ¯comAr,θ¯comAp,θ¯comBr,θ¯comCr,θ¯comCp,θ¯comDr,θ¯comAr and θ¯comDp means the roll angle and pitch angle for A, B, C, D motors, respectively, obtained by means of a complementary filter. Control inputs that are practically given to each motor are as follows:


where MApwm, MBpwm, MCpwm and MDpwm are PWM values of A, B, C, D motors, respectively.

4. Experiments

In this section, the tilting angle of the passenger compartment according to the minimum and maximum PWM values of each motor is obtained. The roll angle and pitch angle of the ship and passenger compartment are measured according to the PWM values designed in Section 3, to verify the validity of the proposed mechanism. For this end, a reduced ship model with the proposed stabilization mechanism is implemented.

The maximum angle that can be tilted by the electric cylinder for the stabilization of the passenger compartment in the vessel is ϕmax = 22° by Eq. (8), since Dmax = 5, Dmin = 0, and dmin = 12.6.

Figure 4 shows lengths of the linear motor according to PWM. Length of the linear motor was increased from a PWM value of 1, 200 or higher, but reached saturation from a PWM value of 1, 800. The linear motor used in the experiment varied from 0 to 5 cm depending on PWM and its initial length is 2.5 cm.

Table 1 shows the PWM values given to the linear servomotor that is moved to maintain horizontality when the plate in Figure 2 is tilted to a side. The PWM value is set within the range 1, 200 and 1, 800 based on Eq. (14). For example, if the plate is tilted to the side connecting A and B, the servomotors installed in A and B are given a PWM value of 1, 800 and increased to 5 cm. The servomotors installed in C and D are given a PWM value of 1, 200 and decreased to 0 cm in order to maintain a horizontal position.

Table 2 shows the PWM values given to the linear servomotor that is moved to maintain horizontality when the plate in Figure 2 is tilted to a corner. For example, if the plate is tilted to the corner A, the servomotor installed in A is given a PWM value of 1, 800 and increased to 5 cm. The servomotors installed in B and C are given a PWM value of 1, 500 and kept to 2.5 cm. The servomotor installed in D is given a PWM value of 1, 200 and decreased to 0 cm in order to maintain a horizontal position.

Figure 5(a) shows that the plate is horizontal using four servomotors when the plate is tilted to the corner A. Figure 5(b) shows the role angle and pitch angle, respectively, in the passenger compartment, where the roll and pitch angles approaches to zero.

Figure 6 shows each of the tilted angles of the passenger compartment when the model vessel is tilted to the roll angle and the pitch angle. The roll and pitch angles in cabin are much closer to 0 compared with the angles in ship. It means that the cabin is much less swaying even when a ship is shaken by waves and currents.

Figure 7 shows the roll and pitch angles measured in ship and passenger compartment, respectively in Figure 6. Figure 7(a) shows the roll and pitch angles in ship, where the vessel was heavily swayed by the roll and pitch angles between −8 and 8 degrees. On the other hand, the passenger compartment was moved relatively around zero. The roll and pitch angles are ranged between −2.5 and 2.5 degrees in Figure 7(b).

Figure 8 shows the PWM for motor A, B, C and D, experimented in Figures 6 and 7.

5. Conclusions

In the paper, we propose to apply a stabilizing mechanism to a vessel cabin for anti-sway. The stabilization mechanism in this study uses the IMU sensor to quickly detect the tilt of the ship and to maintain the passenger compartment horizontally using a four-axis actuator. A key development is that the stabilizing mechanism is very useful if applied to a vessel. It can reduce the motion and fatigue of passengers aboard ships or water carriers that are moving up and down in rough conditions caused by wind and currents. The proposed stabilization mechanism has different originality from previous research as it is a system that stabilizes only the passenger compartment that is occupied by people inside the ship, not the purpose of stabilizing the ship itself. Extensive experiments present to illustrate the viability and effectiveness of the proposed framework.


This work was supported by Kyungnam University Foundation Grant, 2018.

Conflict of Interest

No potential conflict of interest relevant to this article was reported.

Fig. 1.

Side view of a small cruise ship equipped by the proposed stabilizing mechanism.

Fig. 2.

Stabilizing mechanism installed under a passenger cabin.

Fig. 3.

The parallel stabilized platform.

Fig. 4.

Length vs. PWM.

Fig. 5.

Stabilization in case of a corner slope. (a) Ship in case of a corner slope and (b) roll and pitch angles in cabin.

Fig. 6.

Roll angle (a) and pitch angle (b) in ship and cabin.

Fig. 7.

(a) Roll and pitch angles in ship and (b) roll and pitch angles in cabin.

Fig. 8.

PWM for each motor: (a) A motor, (b) B motor, (c) C motor, and (d) D motor.


Table 1

Motor PWM in case of a side slope

myservoA writemyservoB writemyservoC writemyservoD write
A, B1,8001,8001,2001,200
B, D1,2001,8001,2001,800
C, D1,2001,2001,8001,800
A, C1,8001,2001,8001,200

Table 2

Motor PWM in case of a corner slope

myservoA writemyservoB writemyservoC writemyservoD write

  1. Won, MC, Ryu, SH, Choi, KS, Jung, YH, Lew, JM, and Ji, YJ (2010). Development of control system for anti-rolling tank of ships with fault detection capability. Journal of Ocean Engineering and Technology. 24, 64-71.
  2. Gong, DS (1994). A study on the control system for fin stabilizer. Journal of Ships and Ocean Engineering. 18, 58-68.
  3. Kim, D (2010). Development of additive devices for the stabilizing position and performance of a 40ft high speed leisure boats. Busan, Korea: Korea Marine Equipment Research Institute
  4. Merlet, J (2006). Parallel Robots. Dordrecht: Springer
  5. Stewart, D (1965). A platform with six degrees of freedom. Proceedings of the Institution of Mechanical Engineers. 180, 371-386.
  6. Kim, ES, and Yang, HI (2007). Kinematic analysis of the characteristics of translational XYZ micro parallel manipulator. Transactions of the Korean Society of Mechanical Engineers A. 31, 441-450.
  7. Kim, TH, Lee, MG, Kim, HS, Lee, CH, and Choi, JM . Kinematic analysis and control of 3-DOF parallel manipulator., Proceedings of the Korean Society of Precision Engineering Conference, 2011, Jeju, Korea, pp.93-94.
  8. Wang, X, Huang, J, Li, C, Wu, T, and Zhang, B . Kinematics analysis of a novel 4-dof stabilized platform., Proceedings of 2017 36th Chinese Control Conference (CCC), 2017, Dalian, China, Array, pp.10029-10033.
  9. Larsen, TD, Andersen, NA, Ravn, O, and Poulsen, NK . Incorporation of time delayed measurements in a discrete-time Kalman filter., Proceedings of the 37th IEEE Conference on Decision and Control (Cat No 98CH36171), 1998, Tampa, FL, Array, pp.3972-3977.
  10. Cheng, J, Wang, XY, Fu, XJ, and Li, Q (2007). Research on the operating characteristics of parallel 4-DOF electric platform with 4TPS-PS structure. Journal of Zhejiang University-Science A. 8, 1800-1807.
  11. Masino, J, Daubner, B, Frey, M, and Gauterin, F . Development of a tire cavity sound measurement system for the application of field operational tests., Proceedings of 2016 Annual IEEE Systems Conference (SysCon), 2016, Orlando, FL, Array, pp.1-5.
  12. Luinge, HJ, and Veltink, PH (2005). Measuring orientation of human body segments using miniature gyroscopes and accelerometers. Medical and Biological Engineering and Computing. 43, 273-282.
    Pubmed CrossRef
  13. Parkka, J, Ermes, M, Antila, K, Van Gils, M, Manttari, A, and Nieminen, H . Estimating intensity of physical activity: a comparison of wearable accelerometer and gyro sensors and 3 sensor locations., Proceedings of 2007 29th Annual International Conference of the IEEE Engineering in Medicine and Biology Society, 2007, Lyon, France, Array, pp.1511-1514.
  14. Vetterli, M, and Herley, C (1992). Wavelets and filter banks: theory and design. IEEE Transactions on Signal Processing. 40, 2207-2232.
  15. Zhu, C, and Sheng, W (2011). Wearable sensor-based hand gesture and daily activity recognition for robot-assisted living. IEEE Transactions on Systems, Man, and Cybernetics-Part A: Systems and Humans. 41, 569-573.
  16. Seo, MW (2018). Making Arduino Drone and Direct Coding. Seoul: Answerbook

Dong Hun Kim received his B.S., M.S., and Ph.D. degrees from the Department of Electrical Engineering, Hanyang University, Korea, in 1995, 1997, and 2001, respectively. From 2001 to 2003, he was a research associate under several grants in the Department of Electrical and Computer Engineering, Duke University, NC, USA. In 2003, he joined Boston University, MA, USA, as a visiting assistant professor under several grants at the Department of Aerospace and Mechanical Engineering. In 2004, he was engaged in post-doctoral research at the School of Information Science and Technology, the University of Tokyo, Japan. Since 2005, he has been a professor at the Department of Electrical Engineering, Kyungnam University, Korea. His research interests include swarm robotics, mobile robots, decentralized control of autonomous vehicles, intelligent control, and adaptive nonlinear control.