EE4308: Project 2-Autonomous Hector Navigation and Control: John Tan Victor Tay
EE4308: Project 2-Autonomous Hector Navigation and Control: John Tan Victor Tay
2- Autonomous
Hector
Navigation and
Control
John Tan
Victor Tay
Hector Guider 01 02 Hector Move
Hector Flight
Requirements 03 04 Hector Motion
Modelling with EKF
Objective
● UAV (Hector) have to hover higher than 5 meters
● Hector have to chase after the AGV (Turtle)
● Cycle Hector movement between Turtle and End Goal while Turtle is moving to End
Goal
● Hector must return to Base and Land after Turtle together with Hector has reached End
Goal
Hector Guider
Overview of how
hector_guider.py
● Determine UAV State
● Command high-level
overall movement
Hector Move
Overview of how
hector_move.py
● Introduce PID controller
● Position Controller
● Better flight performance
Hector Move
err Routine
(Error Calculation)
Correction produces a
weighted average of the
Initialization mean and variance based
on the uncertainty of the
measurement and the
Measurement is made from prediction
GPS and Magnetic Compass
Kalman Gain: K
Mean: X_pred Prediction Correction Mean: X_cor
Variance: P_pred
Variance: P
Uncertainty
Uncertainty in
in Measuremen
Prediction Corrected Mean: t
XK|K = XK|K-1 + kK * ( YK - hd * XK|K-1 )
𝜆0 = Initial longitude
Transforms spherical
φ0 = Initial latitude
𝜆 = rbt_gps[1] #current latitude coordinates into planar
φ = rbt_gps[0] #current longitude coordinates
x = RAD_EQUATOR * (𝜆 - 𝜆0) * cos(φ0)
y = RAD_EQUATOR * (φ - φ0)
z = rbt_gps[2] #current altitude
Return x,y,z
EndFunction
Hector Motion Modelling with EKF: Converting
Measurements into useful Data
yaw_rate = rbt_imu[3]
Return imu_world
EndFuncton
Hector Motion Modelling with EKF: Initialization
State variables X (2x1 matrix) Covariance Q (1x1 matrix) Covariance P (1x1 matrix)