Final Report
Final Report
ON
SWARNABHA PRAMANIK(002110801221)
Supervised by:
Sci/Engr. PRAKHAR GUPTA
JADAVPUR UNIVERSITY
JADAVPUR UNIVERSITY
DEPARTMENT OF ELECTRICAL ENGINEERING
CERTIFICATE
SWARNABHA PRAMANIK(002110801221)
I am also thankful to the entire Control System Group for providing a collaborative
environment and the necessary resources that facilitated my research. Their assistance and
cooperation have been crucial at various stages of the project.
Finally, I would like to extend my thanks to my family, friends, and colleagues for their
unwavering support and understanding during this time. Their motivation and
encouragement have been a source of strength for me throughout this journey.
SWARNABHA PRAMANIK
Introduction:
The exploration of Mars has advanced significantly with the advent of innovative
technologies, among which aerial robotics stands out. One notable development is the use of
the rotorcraft, exemplified by the Mars Helicopter Ingenuity, which was successfully
deployed during the Mars 2020 mission. Non-coaxial systems, featuring multiple rotors
mounted separately, provide several advantages in the thin Martian atmosphere, such as
improved maneuverability and redundancy.
Modelling the dynamics of a simple Mars helicopter is crucial for understanding its
behaviour and enhancing its performance. This model is the foundation for implementing
various onboard filters and controllability algorithms. Filters are essential for processing
sensor data, mitigating noise, and providing accurate state estimates, which are critical
for navigation and control. Controllability algorithms, on the other hand, ensure that the
helicopter can achieve desired flight trajectories and maintain stability under varying
conditions.
Furthermore, this research will explore the implementation of advanced onboard filters,
such as Kalman filters and complementary filters, to enhance the reliability of sensor
data. These filters are integral to the helicopter's navigation system, providing real-time
corrections and ensuring precise control. Additionally, the study will evaluate various
controllability algorithms, including proportional-integral-derivative (PID) controllers
and model predictive control (MPC), to determine their effectiveness in maintaining
flight stability and achieving mission objectives.
By developing and validating a dynamic model for a non-coaxial Mars helicopter, this
research aims to contribute to the design and operation of future Martian aerial missions.
The insights gained from this study will not only improve the performance of Mars
helicopters but also provide a framework for the development of similar aerial vehicles
for exploration in other planetary environments.
Overview of a Small Unmanned
Helicopter
A small unmanned helicopter is a sophisticated and efficient aviation device, ideal for a
range of applications such as surveillance, mapping, inspection, and delivery. Unlike multi-
rotor drones, this type of helicopter typically features a single main rotor and a tail rotor for
stability and control. This report provides a detailed description of the various parts of a
small unmanned helicopter.
1. Fuselage
The fuselage is the central body of the helicopter, serving as the primary structure
that houses and protects the helicopter's internal components. It is designed to be
lightweight yet robust, ensuring aerodynamic efficiency and structural integrity.
Key Components:
• Central Frame: The backbone of the helicopter, made from lightweight materials
such as carbon fiber or aluminum, providing strength and rigidity.
• Payload Bay: A dedicated space for carrying various payloads such as cameras,
sensors, or other specialized equipment. The payload bay is designed to be modular,
allowing for quick changes and adaptability to different missions.
• Battery Compartment: Secure housing for the batteries that power the
helicopter, designed to facilitate easy access for battery replacement and
maintenance.
Key Components:
• Main Rotor: A set of rotor blades that provide lift and thrust. These blades are
typically made from composite materials to ensure strength and lightweight.
• Rotor Mast: The central shaft that supports and drives the main rotor. The mast is
engineered to handle the mechanical stresses and torque generated by the rotor.
• Swashplate Assembly: A crucial mechanism that translates control inputs into
changes in rotor blade pitch. The swashplate assembly adjusts the pitch of the main rotor
blades to control lift and direction.
• Tail Rotor: A smaller rotor mounted on the tail boom, responsible for counteracting
the torque produced by the main rotor and providing yaw control.
• Rotor Hub: Connects the rotor blades to the rotor mast and houses the pitch control
mechanisms.
3. Power System
The power system supplies the energy necessary to turn the rotors and operate
other onboard systems. Small unmanned helicopters typically utilize electric motors
powered by high-density batteries.
Key Components:
• Electric Motors: High-efficiency brushless motors that drive the rotors. These
motors are chosen for their reliability, power-to-weight ratio, and low maintenance
requirements.
• Electronic Speed Controllers (ESCs): Devices that regulate the power supplied
to the motors, allowing for precise control of rotor speeds and smooth operation.
4. Transmission System
In a small unmanned helicopter, the transmission system efficiently transfers power
from the motors to the rotors, ensuring smooth and reliable operation.
Key Components:
• Gears and Belts: High-strength gears and timing belts that transmit power from the
motors to the rotor shafts. These components are designed to minimize mechanical losses
and ensure efficient power transfer.
• Drive Shafts: Connect the motors to the rotors, transmitting rotational energy. They
are engineered to withstand high torque and rotational speeds.
Key Components:
• Flight Controller: An advanced onboard computer that processes inputs from the pilot
and sensors. It runs algorithms to maintain stability, control the rotors, and execute flight
plans.
Key Components:
• • Telemetry System: Transmits real-time data about the helicopter’s status, including
battery voltage, motor temperatures, and GPS coordinates, to the ground station for
monitoring and control.
• Camera and Sensors: High-resolution cameras and specialized sensors (such as
infrared, multispectral, or LiDAR) for capturing data relevant to the helicopter's mission.
• Communication Systems: Radios and antennas for maintaining a reliable link
between the helicopter and the ground control station. This includes both command and
control communications as well as data transmission from onboard sensors.
7. Landing Gear
The landing gear supports the helicopter on the ground and absorbs the impact of landing.
It is designed to be lightweight yet durable, providing stability during takeoff and landing.
Key Components:
• • Skid Landing Gear: Simple and robust, made from materials like aluminum or
composite plastics. Skid landing gear is common in small unmanned helicopters due to its
durability and ease of use.
• Shock Absorbers: In some designs, integrated into the skids to reduce the impact
forces during landing, protecting the helicopter’s delicate components..
8. Tail Section
The tail section plays a crucial role in providing stability and housing additional
components.
Key Components:
• Tail Boom: Supports the tail rotor and stabilizers, and may house additional sensors or
antennas. The tail boom also improves the overall aerodynamic profile of the helicopter.
• Horizontal Stabilizer: Provides stability in the pitch axis, helping to maintain level
flight.
• Vertical Stabilizer: Assists in maintaining directional stability, especially during
forward flight.
Drag Force:
D = 0.5 * rho * V^2 * C* Cd
rho: the air density.
C: the blade chord
Cd: drag coefficient
Significance: Calculates the drag force experienced by the helicopter. This force acts
in the opposite direction of the motion relative to the body frame.
Moments:
Moment Components:
Moments (corrected with gyroscopic effects)
My = Iyy * q *r + cyclic_lon;
Rotational Accelerations:
Rotational Accelerations:
p_dot = (Iyy - Izz) / Ixx * q * r/collective- Ixz / Ixx * r^2 /collective+ Ixz / Ixx *
q^2/collective + Mx / Ixx
q_dot = (Izz - Ixx) / Iyy * p * r/collective + Ixz / Iyy * p * q/collective - Ixz / Iyy * r *
q/collective+ My / Iyy
r_dot = (Ixx - Iyy) / Izz * p * q/collective+ Ixz / Izz * p * r/collective- Ixz / Izz * q *
p/collective+ Mz / Izz
Significance: These equations describe the rate of change of rotational velocities in
the body frame.
- p_dot: Roll acceleration.
- q_dot: Pitch acceleration.
- r_dot: Yaw acceleration.
Angular Rates:
Angular Rates:
phi_dot = p + q * sin(phi) * tan(theta) + r * cos(phi) * tan(theta)
theta_dot = q * cos(phi) - r * sin(phi)
psi_dot = q * sin(phi) / cos(theta) + r * cos(phi) / cos(theta)
Significance: These equations describe the rate of change of the Euler angles
(orientation angles) in the inertial frame.
- phi_dot: Roll rate.
- theta_dot: Pitch rate.
- psi_dot: Yaw rate.
The attitude or orientation of the helicopter with respect to the earth-fixed
system(inertial frame) is given by three angles. Since finite rotations are not vector
quantities, these angles are not unique, and the rotation sequence commonly used in
flight dynamics is yaw–pitch–roll (ψ, θ, ϕ)
Position Derivatives:
Position Derivatives:
x_dot = u * cos(theta) * cos(psi) + v * (sin(phi) * sin(theta) * cos(psi) - cos(phi) * sin(psi)) +
w * (cos(phi) * sin(theta) * cos(psi) + sin(phi) * sin(psi))
y_dot = u * cos(theta) * sin(psi) + v * (sin(phi) * sin(theta) * sin(psi) + cos(phi) * cos(psi)) +
w * (cos(phi) * sin(theta) * sin(psi) - sin(phi) * cos(psi))
z_dot = -u * sin(theta) + v * sin(phi) * cos(theta) + w * cos(phi) * cos(theta)
Significance: These equations describe the rate of change of the helicopter's position in the
inertial (external static) frame.
- x_dot: Change in x-position.
- y_dot: Change in y-position.
- z_dot: Change in z-position.
The attitude or orientation of the helicopter with respect to the earth-fixed system(inertial
frame) is given by three angles. Since finite rotations are not vector quantities, these angles
are not unique, and the rotation sequence commonly used in flight dynamics is yaw–pitch–
roll (ψ, θ, ϕ)
NOTE:
- Body Frame: Used for forces, moments, translational accelerations, and rotational
accelerations (u, v, w, p, q, r).
- Inertial Frame: Used for angular position and angular rates (phi_dot, theta_dot, psi_dot)
and position and position derivatives (x_pos, y_pos, z_pos).
- collective: collective pitch angle.
- yaw_pitch: Yaw pitch angle.
- cyclic_lon: cyclic longitudinal pitch angle.
- cyclic_lat : latitudinal cyclic pitch angle.
[ These 4 types of pitch angles are discussed in the next section in detail]
-
Fig: The body axis system for
Physical Significance of Collective, Yaw,
Cyclic Longitudinal, and Cyclic Lateral
Controls in a Single Rotor Helicopter
Collective Pitch Control
Definition:
Collective pitch control adjusts the pitch angle of all main rotor blades
simultaneously.
Physical Effect:
• Lift: Increasing collective pitch increases the angle of attack of the main rotor
blades, generating more lift. This allows the helicopter to ascend vertically or
decrease lift for descent.
• Thrust: Lift generated perpendicularly by the rotor also contributes to thrust in
the direction aligned with the rotor axis.
Control Mechanism:
Pilots use a collective lever to change the pitch angles of the rotor blades
simultaneously, adjusting lift and thrust collectively.
Yaw Control
Definition:
Yaw control adjusts the pitch of the tail rotor blades to control yaw motion.
Physical Effect:
• Yaw Movement: By varying the pitch of the tail rotor blades, yaw control rotates
the helicopter around its vertical axis (yaw), controlling its heading.
• Torque Management: The tail rotor counteracts the torque produced by the main
rotor, ensuring stable yaw control and compensating for the torque induced by the
main rotor operation.
Control Mechanism:
Pilots use pedals to adjust the yaw, influencing the directional stability and heading
of the helicopter.
Physical Effect:
• Forward/Backward Tilt: By cyclically adjusting blade pitch longitudinally, the
rotor disk tilts forward or backward, generating forward or backward thrust.
• Directional Control: This control allows the helicopter to move forward or
backward, crucial for translational motion.
Control Mechanism:
Pilots use a cyclic stick to adjust longitudinal cyclic pitch, influencing the
helicopter's forward or backward movement by adjusting rotor tilt.
Physical Effect:
. • Side Tilt: By cyclically adjusting blade pitch laterally, the rotor disk tilts to the left
or right, generating lateral thrust.
• Directional Control: This control allows the helicopter to roll left or right,
facilitating lateral movement
Control Mechanism:
Pilots use a cyclic stick to adjust lateral cyclic pitch, influencing the helicopter's
lateral movement by adjusting rotor tilt.
Summary of Controls:
• Collective Pitch: Controls vertical movement by adjusting lift and thrust
collectively.
• Yaw Pitch: Controls yaw motion by adjusting tail rotor pitch to balance main rotor
torque.
• Cyclic Longitudinal Pitch: Controls forward/backward tilt for translational motion.
• Cyclic Lateral Pitch: Controls left/right tilt for lateral movement.
MATLAB Code:
clc;
clear;
% Constants
mass = 500; % Mass of the helicopter in kg
Ixx = 1000; % Moment of inertia around x-axis
Iyy = 1200; % Moment of inertia around y-axis
Izz = 800; % Moment of inertia around z-axis
Ixz = 100; % Cross product of inertia
g = 9.81; % Acceleration due to gravity
rho = 1.225; % Air density in kg/m^3
S = 20; % Rotor area in m^2
Cd = 0.25; % Drag coefficient
Cl = 1.25; % Lift coefficient
omega = 300; % Rotor angular velocity in rad/s
C = 0.4;
% State vector
x = [u; v; w; p; q; r; phi; theta; psi; x_pos; y_pos;
z_pos];
% Control input vector
u_vec = [collective; cyclic_lat; cyclic_lon;
yaw_pitch];
% Rotational accelerations
% Rotational accelerations
p_dot = (Iyy - Izz) / Ixx * q * r/collective- Ixz /
Ixx * r^2 /collective+ Ixz / Ixx * q^2/collective + Mx
/ Ixx;
q_dot = (Izz - Ixx) / Iyy * p * r/collective + Ixz
/ Iyy * p * q/collective - Ixz / Iyy * r *
q/collective+ My / Iyy;
r_dot = (Ixx - Iyy) / Izz * p * q/collective+ Ixz /
Izz * p * r/collective- Ixz / Izz * q * p/collective+
Mz / Izz;
% Angular rates
phi_dot = p + q * sin(phi) * tan(theta) + r * cos(phi)
* tan(theta);
theta_dot = q * cos(phi) - r * sin(phi);
psi_dot = q * sin(phi) / cos(theta) + r * cos(phi) /
cos(theta);
% Position derivatives
x_dot = u * cos(theta) * cos(psi) + v * (sin(phi) *
sin(theta) * cos(psi) - cos(phi) * sin(psi)) + w *
(cos(phi) * sin(theta) * cos(psi) + sin(phi) *
sin(psi));
y_dot = u * cos(theta) * sin(psi) + v * (sin(phi) *
sin(theta) * sin(psi) + cos(phi) * cos(psi)) + w *
(cos(phi) * sin(theta) * sin(psi) - sin(phi) *
cos(psi));
z_dot = -u * sin(theta) + v * sin(phi) * cos(theta) + w
* cos(phi) * cos(theta);
% State derivatives
f = [u_dot; v_dot; w_dot; p_dot; q_dot; r_dot; phi_dot;
theta_dot; psi_dot; x_dot; y_dot; z_dot];
% Calculate Jacobians
A = jacobian(f, x);
B = jacobian(f, u_vec);
% Simulation
% Initial conditions
x0 = [0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0];
% Solver options
options = odeset('RelTol',1e-3,'AbsTol',1e-6);
% Extract positions
x_pos = x(:, 10);
y_pos = x(:, 11);
z_pos = x(:, 12);
subplot(3, 1, 2);
plot(t, x(:, 4:6));
title('Angular Rates');
xlabel('Time (s)');
ylabel('Angular Rate (rad/s)');
legend('p', 'q', 'r');
subplot(3, 1, 3);
plot(t, x(:, 7:9));
title('Euler Angles');
xlabel('Time (s)');
ylabel('Angle (rad)');
legend('phi', 'theta', 'psi');
% Calculate eigenvalues of A
eigenvalues = eig(A);
% Check stability
if all(real(eigenvalues) < 0)
disp('The system is stable.');
else
disp('The system is unstable.');
end
if rank(C) == n
disp('The system is controllable.');
else
disp('The system is not controllable.');
end
% Constants
mass = 500; % Mass of the helicopter in kg
Ixx = 1000; % Moment of inertia around x-axis
Iyy = 1200; % Moment of inertia around y-axis
Izz = 800; % Moment of inertia around z-axis
Ixz = 100; % Cross product of inertia
g = 9.81; % Acceleration due to gravity
rho = 1.225; % Air density in kg/m^3
S = 20; % Rotor area in m^2
Cd = 0.25; % Drag coefficient
Cl = 1.25; % Lift coefficient
omega = 300; % Rotor angular velocity in rad/s
C = 0.4;
% Forces and moments
V = sqrt(u^2 + v^2 + w^2) + 1e-6; % Total velocity
(with offset to avoid zero)
D = 0.5 *C* rho * V^2 * Cd; % Drag force
L = Cl *C* 0.5 * rho * V^2 * sin(collective); % Lift
force from one rotor
% Since it's a coaxial rotor, lift is generated by
both rotors
total_lift = 2 * L;
% Rotational accelerations
p_dot = (Iyy - Izz) / Ixx * q * r/collective- Ixz /
Ixx * r^2 /collective+ Ixz / Ixx * q^2/collective + Mx
/ Ixx;
q_dot = (Izz - Ixx) / Iyy * p * r/collective + Ixz
/ Iyy * p * q/collective - Ixz / Iyy * r *
q/collective+ My / Iyy;
r_dot = (Ixx - Iyy) / Izz * p * q/collective+ Ixz /
Izz * p * r/collective- Ixz / Izz * q * p/collective+
Mz / Izz;
% Angular rates
phi_dot = p + q * sin(phi) * tan(theta) + r *
cos(phi) * tan(theta);
theta_dot = q * cos(phi) - r * sin(phi);
psi_dot = q * sin(phi) / cos(theta) + r * cos(phi)
/ cos(theta);
% Position derivatives
x_dot = u * cos(theta) * cos(psi) + v * (sin(phi) *
sin(theta) * cos(psi) - cos(phi) * sin(psi)) + w *
(cos(phi) * sin(theta) * cos(psi) + sin(phi) *
sin(psi));
y_dot = u * cos(theta) * sin(psi) + v * (sin(phi) *
sin(theta) * sin(psi) + cos(phi) * cos(psi)) + w *
(cos(phi) * sin(theta) * sin(psi) - sin(phi) *
cos(psi));
z_dot = -u * sin(theta) + v * sin(phi) * cos(theta)
+ w * cos(phi) * cos(theta);
% State derivatives
dxdt = [u_dot; v_dot; w_dot; p_dot; q_dot; r_dot;
phi_dot; theta_dot; psi_dot; x_dot; y_dot; z_dot];
end
This code not only simulates the dynamics of a simple helicopter for the study of
various onboard filters and controllability algorithms but also transforms the model
into the state space model from the non-linear model by finding the values of A and
B respectively.
X˙ = AX + Bu
where X is the state vector, A is the system matrix, B is the control input matrix, and
u is the control input vector.
Result:
Fig: Trajectory for hover case (t=500s and collective pitch = 5 degrees)
Fig: Trajectory for a normal case (t= 500s and collective pitch = 5˚, cyclic
longitudinal pitch = 1˚, cyclic longitudinal pitch = 2˚, yaw pitch = 1˚)
The collective pitch control was shown to be crucial for vertical movements by
adjusting the lift and thrust. Yaw control, achieved through the tail rotor, plays a
vital role in managing the helicopter's heading and counteracting the main rotor's
torque. Cyclic longitudinal and lateral controls facilitate forward/backward and
left/right movements, respectively, by tilting the rotor disk in the desired direction.
In conclusion, this study not only elucidates the fundamental principles governing
helicopter flight but also provides a robust simulation model for further exploration
and development in helicopter dynamics and control systems. This knowledge is
essential for both the design of advanced helicopter systems and the training of
pilots to ensure safe and efficient flight operations.
References:
• Modeling and Control of a Simulated Flight of a Mini Helicopter Using
Matlab/Simulink: Mohamed Yacine Chachou, ZhiWen Liu, ZhiGuo Zhou,
Abdelali Benchalal, Chemseddine Zerfaoui
• Fundamentals of Helicopter Dynamics: C. VENKATESAN
• Planar Trajectory Tracking Controller for a Small-sized Helicopter
Considering Servos and Delay Constraints: Hamid Teimoori, Hemanshu R.
Pota, Matt Garratt, and Mahendra K. Samal
• A STUDY OF THE FLIGHT DYNAMICS HELICOPTER CARRYING AN
EXTERNAL LOAD USING BIFURCATION THEORY AND CONTINUATION
METHOD: Krzysztof Sibilski