UAV Systems Engineering
Interview preparation
Questions collected from every written lesson (129 lessons so far). Answer aloud first, then expand the model answer.
M1-T1: Introduction to UAVs and their classifications
Why does vehicle mass drive so many design choices?
Thrust, battery size, impact energy and therefore failure consequences all scale with mass, so mass sets the payload, endurance and the rigour of the safety case.
Is regulation based on mass alone?
No; it is risk-based on the operation (location, distance from people, line of sight, autonomy), with mass as one factor, and details differ by jurisdiction.
What does a GNSS-denied inspection mission usually imply for the class?
A small multirotor that can hover and fly slowly indoors, with enough payload mass for camera, IMU, LiDAR and a companion computer, and endurance with those loads.
M1-T2: Multirotor, fixed-wing and VTOL architectures
Why are fixed-wing aircraft so much more efficient than multirotors?
A wing lifts for a small drag cost (/ around ten or more), so cruise power is about v/(/), whereas a rotor must accelerate air downward to hover, costing much more power for the same weight.
What makes VTOL design hard?
The transition between hover and wing-borne flight: control allocation changes, airspeed estimation must be good, and failures there are severe, plus the weight penalty of carrying both systems.
How does airframe type affect GNSS-denied navigation?
Speed: a fast fixed-wing accumulates position error per second quickly and cannot stop to recover, while a multirotor can hold still.
M1-T3: Quadrotor mechanical and electrical components
Why do electrical problems cause flight problems on a drone?
Peak currents cause voltage sag and brown-outs, switching noise couples into sensors and radios, and current-carrying wires disturb the magnetometer; all of these degrade the estimator or reset the computer.
How do you check vibration before flying autonomously?
Log the IMU, inspect its spectrum and the flight controller’s vibration metrics with props on and motors running, look for clipping and blade-pass lines, and improve balancing and mounting.
Why must wires be sized for peak rather than hover current?
Peak current occurs in manoeuvres and failsafes, where heating and voltage drop are largest; undersized wires fail exactly when needed.
M1-T4: UAV coordinate frames: Body, World, NED and ENU
What is the difference between NED and ENU, and which do PX4 and ROS use?
NED is North-East-Down and ENU is East-North-Up. PX4 uses NED for world frames and FRD for the body; ROS (REP-103) uses ENU for world frames and FLU for the body. Position converts as .
A UAV flies correctly in a straight line in SITL but mirrored on a real VIO input. What do you check first?
The frame conventions at the VIO-to-EKF2 boundary: ENU/FLU versus NED/FRD, including the sign of and and the yaw convention, and whether a single axis flip produced a left-handed frame.
Why does a stationary level accelerometer read +g up (or −g in a down-positive frame) rather than zero?
An accelerometer measures specific force: the non-gravitational force per unit mass. Resting on a surface, the support force equals − in the inertial sense, so it reads 1 opposite to gravity, which points up in a z-up frame and is − on in a z-down frame.
M1-T5: Six-degree-of-freedom UAV dynamics
Why is a quadrotor underactuated, and how does it translate horizontally?
It has four inputs (total thrust and three torques) but six degrees of freedom. It cannot produce horizontal force directly; it tilts so the thrust vector has a horizontal component, which is why attitude control sits inside position control.
What is the hover condition?
Level attitude and total thrust equal to weight, , with zero angular rate. Tilted, the vertical component must still equal weight, so .
Why must the attitude loop be faster than the position loop?
The position loop commands tilt; if attitude responds slowly, the position loop sees a delayed plant and loses phase margin. A common rule of thumb is a several-times bandwidth separation.
M1-T6: Roll, pitch, yaw and thrust generation
Why do two motors spin each way?
Each propeller exerts a reaction torque on the airframe about the vertical axis. Equal numbers of clockwise and counter-clockwise propellers cancel these at equal speeds, and speeding up one pair gives a controlled yaw torque.
Which axis is sacrificed first on saturation, and why?
Yaw. It is the weakest and slowest axis and its loss is the least dangerous, whereas losing roll or pitch authority leads to a crash.
What does the mixer do mathematically?
It inverts the linear map from four motor thrusts to total thrust and three torques. With four motors the map is square and invertible; with more motors it is solved with a pseudo-inverse or an optimisation.
M1-T7: Flight controllers, ESCs, motors and propellers
Why do large, slow propellers hover more efficiently?
For a given thrust, ideal power falls with the square root of the rotor disc area, ; a larger disc accelerates more air by less, wasting less kinetic energy.
What does a motor’s KV tell you and what does it not tell you?
KV is the unloaded speed per volt. It does not give thrust, current or efficiency under load, which depend on the propeller and battery and must come from test data.
What margin of thrust-to-weight do you design for and why?
Enough to hold altitude and recover attitude in gusts and at end-of-mission voltage; roughly 2 is a common rule of thumb for general-purpose multirotors, but the requirement should be derived from the mission and verified.
M1-T8: IMU, barometer, magnetometer and GNSS
What does each of the four core sensors measure and what is its main failure?
IMU: rate and specific force, fails by bias drift and vibration; barometer: pressure/height, fails with weather and propwash; magnetometer: field direction, fails near iron and currents; GNSS: position and velocity, fails by blockage, multipath, jamming and spoofing.
Why is barometric altitude a relative measurement?
It depends on the local sea-level pressure, which changes with weather by several hectopascals per day, each about 8 m of apparent altitude.
Why compensate the magnetometer for tilt?
The field has a vertical component; when the vehicle tilts it projects into the horizontal sensor axes and produces a heading error unless roll and pitch are used to level the measurement.
M1-T9: Companion computer architecture
Why separate the flight controller and the companion computer?
Different requirements: real-time determinism and a small auditable code path for control, versus general-purpose compute and a full OS for perception; separation lets the vehicle survive a companion crash.
What should cross the boundary?
State, setpoints, commands and odometry: small, low-rate, control-critical data; not raw sensor streams.
What happens when the companion fails in flight?
The FC detects the lost heartbeat or setpoint stream and executes the configured failsafe such as hold, return or land.
M1-T10: NVIDIA Jetson platforms for autonomous UAVs
How would you choose an onboard computer for a perception pipeline?
Measure the pipeline’s CPU, GPU and memory use, set the power and mass budgets, check I/O and software support, then verify on the target in the real enclosure at worst-case ambient, with margin; do not select on peak throughput.
Why is throttling dangerous on a UAV?
It silently lowers frame rate and raises latency in flight, degrading estimation exactly when the vehicle is committed.
Which tools measure utilisation on Jetson?
tegrastats for per-interval CPU, GPU, memory, temperature and power; nvpmodel to set the power mode; jetson_clocks to fix clocks for benchmarking.
M1-T11: UAV communication and onboard architecture
How does free-space path loss scale?
With 20 log₁₀ of both distance and frequency: 6 dB per doubling of either, so it is an upper bound on range before fading and obstruction.
Why prefer CAN for ESCs and some sensors?
It is differential, multi-drop and robust to noise over long cables, with built-in error detection.
What should every link have?
A defined rate and latency budget, a heartbeat or timeout, and a documented failure behaviour.
M1-T12: Complete UAV system architecture and data flow
What makes an architecture diagram useful for integration?
An interface table behind it: producer, consumer, rate, frame, units, timestamp semantics and owner for each arrow, checkable by a program.
What are the most common interface mismatches?
Rate, coordinate frame and timestamp meaning (acquisition versus arrival).
Which flows are often forgotten?
Backward state flow to the planner, health and covariance to the supervisor, and logging and time distribution.
M2-T1: GNSS fundamentals
Why do you need four satellites for a 3-D fix?
There are four unknowns: , , and the receiver clock bias. Each pseudorange gives one equation, so four are needed; more make the problem over-determined and allow least-squares and integrity checks.
What does DOP tell you?
How satellite geometry amplifies range errors into position errors: position error ≈ DOP × range error. It is a property of geometry, independent of signal quality.
Why is GNSS vertical accuracy worse than horizontal?
All satellites are above the horizon, so no line of sight constrains the vertical solution from below; VDOP is therefore larger than HDOP.
M2-T2: GPS, GLONASS, Galileo and BeiDou
Why do multi-constellation receivers help UAVs?
More satellites are visible in obstructed sky, giving better geometry and more availability, though the individual measurement errors are unchanged.
Why does each constellation add an unknown?
Each system has its own time scale, so the receiver clock offset relative to each system differs; these offsets are estimated or taken from broadcast values.
What is a downside of multi-constellation tracking?
More channels (power and cost), more bookkeeping, and exposure to a faulty satellite from any system unless integrity checks are used.
M2-T3: GNSS receivers and positioning
What distinguishes RTK from DGNSS?
RTK uses carrier-phase observations and resolves integer ambiguities with a base station, giving centimetre-level accuracy, whereas DGNSS only corrects pseudoranges and reaches decimetre to metre level.
Why must a UAV monitor fix type and correction age?
Accuracy can degrade by an order of magnitude when ambiguities are lost or corrections go stale while the receiver still outputs position.
How does baseline length affect RTK?
Atmospheric and orbit errors decorrelate with distance, so accuracy degrades roughly proportionally to baseline length and ambiguity resolution becomes harder.
M2-T4: GNSS errors and multipath
What are the main pseudorange error sources?
Satellite orbit and clock, ionosphere, troposphere, multipath and receiver noise.
What does the ionosphere-free combination do and what does it cost?
It cancels the ionospheric delay using two frequencies, at the price of amplifying noise by about three times for L1/L2.
Why is multipath a particular problem for UAVs?
Airframe and ground reflections and nearby electronics affect the antenna, and no correction service removes multipath, so antenna placement and masking are the main defences.
M2-T5: GNSS signal blockage
Why is satellite count a poor indicator of GNSS quality?
Geometry matters: satellites clustered along one direction give a large DOP even with many in view, and reflected signals can be counted while being wrong.
How can you predict GNSS availability along a route?
From a 3-D model of obstructions and the satellite almanac: compute visible satellites and DOP along the path.
What should the monitor look at?
Satellite count, DOP and per-satellite C/N0 with their trends, plus cross-checks against odometry, with hysteresis on mode changes.
M2-T6: GNSS jamming and spoofing
How do jamming and spoofing differ for a UAV?
Jamming removes the signal (availability loss, easy to see). Spoofing replaces it with a plausible lie (integrity loss, hard to see). Spoofing needs cross-checks against independent sensors.
Why can slow spoofing evade an innovation gate?
Each fix is within the gate because the filter tracks the ramp. Only a comparison over a longer window against an independent displacement estimate reveals the accumulating disagreement.
What should a UAV do on detecting spoofing?
Stop fusing GNSS, continue on odometry-aided inertial navigation, reduce mission risk (speed, geofence), and execute a defined failsafe if confidence drops. The exact policy is a system requirement set before flight.
M2-T8: Dead reckoning and inertial drift
What growth law does a constant accelerometer bias produce in position?
Quadratic: = ½ , because the bias is integrated twice.
Why does a small gyro bias eventually dominate?
It causes tilt that grows linearly, which leaks gravity into horizontal acceleration and is integrated twice more, giving ≈ ⅙ , a cubic term.
How do you reduce inertial drift during a GNSS outage?
Estimate and remove biases while aiding is available, use a better IMU, add other aiding sensors (vision, LiDAR, airspeed), and reduce the outage duration by detecting and responding sooner.
M2-T10: Visual Odometry
Why can monocular VO not recover metric scale?
Images are unchanged if the scene and translation are scaled together, so the epipolar constraint determines translation only up to scale. Scale needs extra information: stereo baseline, IMU accelerations, known altitude or object size.
What is the essential matrix and what does it encode?
ₓ relates normalised image points in two views by Ex = 0. It encodes relative rotation and translation direction between two calibrated cameras.
Why is RANSAC used?
Matches contain outliers that destroy least-squares fits. RANSAC finds the model supported by the largest consistent set by sampling minimal subsets, tolerating a large fraction of wrong matches.
M2-T11: Visual-Inertial Odometry
Why does adding an IMU fix monocular scale?
The accelerometer measures metric acceleration; comparing it with the visual second difference during accelerating motion gives the scale factor.
What is unobservable in VIO?
Global position and yaw (four degrees of freedom): shifting or rotating the world about gravity changes no measurement, so these drift.
What is the difference between MSCKF and sliding-window VIO?
MSCKF is a filter that marginalises features and updates with constraints between past camera poses; sliding-window systems optimise keyframe states and features jointly with IMU preintegration factors.
M2-T12: Stereo visual odometry
How does depth error scale with range in stereo?
Quadratically: , so doubling the distance quadruples the depth error.
How does stereo give metric scale?
The known baseline between the cameras fixes the scale of triangulated points, so motion estimated from them is in metres.
Why must the stereo cameras be synchronised and rigidly mounted?
Disparity assumes both images capture the same instant and a fixed relative geometry; motion between exposures or flexing of the mount corrupts depth.
M2-T14: LiDAR odometry
What are the steps of ICP?
Match each source point to its nearest target point, compute the rigid transform that best aligns the matches, apply it, and iterate until convergence.
Why is the initial guess important?
ICP is local: wrong correspondences from a poor start lead to a wrong minimum; the IMU gives an accurate initial motion estimate.
Why prefer scan-to-map over scan-to-scan?
Registering to an accumulated map reduces compounding drift because each scan is tied to a consistent reference rather than only the previous noisy one.
M2-T16: Multi-sensor GNSS-denied navigation architectures
Why prefer sensor diversity over redundancy?
Redundant identical sensors fail together in the same conditions (common-mode failure). Diverse sensors have different failure modes, so one usually survives.
What must a navigation monitor publish besides position?
Validity and uncertainty: covariance or inflation, plus health indicators such as feature count, inlier ratio, registration residual and innovation statistics, so a manager can grade confidence.
What is the difference between loosely and tightly coupled fusion?
Loose fusion treats a subsystem’s pose as a measurement; tight fusion uses raw features or residuals in the filter, preserving correlations and working with fewer features, at higher complexity.
M3-T1: Probability and uncertainty in robotics
Is zero correlation the same as independence?
No: independent variables are uncorrelated, but uncorrelated variables can be dependent; Gaussian jointly distributed variables are the exception.
What does Bayes’ rule do in an estimator?
It combines the prior belief with the measurement likelihood and normalises to give the posterior: evidence multiplies.
Why must a state estimate carry uncertainty?
Decisions depend on how wrong the estimate may be, not only its value.
M3-T2: Gaussian distributions and covariance
What does the covariance matrix tell you beyond variances?
Correlations between errors and the orientation and shape of the uncertainty ellipse, which matter for how a measurement of one quantity improves another.
How is covariance propagated through a nonlinear function?
To first order as with the Jacobian at the mean; for large uncertainty use sigma points or Monte Carlo.
What is Mahalanobis distance used for?
Measuring how many standard deviations a point is from the mean in the metric of the covariance: gating and consistency tests.
M3-T3: Bayesian estimation
What are the two steps of the Bayes filter?
Predict: propagate the belief through the motion model; update: multiply by the measurement likelihood and normalise.
What assumptions make the recursion valid?
The Markov assumption on the state and conditional independence of measurements given the state.
When is a Gaussian belief inadequate?
When the true posterior is multimodal, as in global localisation or data association ambiguity; use particles or a grid.
M3-T4: Kalman Filter
What does the Kalman gain do?
It weights the correction by relative certainty: ⁻(HP⁻), high when the prediction is uncertain or the measurement precise, low when the measurement is noisy.
What happens if Q is set too small?
The filter becomes overconfident in its model: covariance shrinks, the gain falls, it lags real changes and eventually ignores measurements.
Why use the Joseph form for the covariance update?
It guarantees symmetry and positive semi-definiteness numerically and is valid for any gain, while the short form (−KH) is only exact for the optimal gain and can lose positive definiteness.
M3-T5: Extended Kalman Filter
How does the EKF differ from the Kalman filter?
It linearises the nonlinear process and measurement models at the current estimate using Jacobians. The state goes through the nonlinear functions; the covariance goes through their linearisations.
When does the EKF fail?
When uncertainty is large compared with the nonlinearity (poor initialisation, strong curvature), producing overconfident covariance and divergence; also from wrong Jacobians or unwrapped angles.
How do you verify an EKF implementation?
Check Jacobians against finite differences, test on simulated data with known noise, and check NIS/NEES against chi-square expectations.
M3-T6: Error-State Kalman Filter
Why use an error-state filter for attitude?
The error is a small three-vector that needs no constraint and is well approximated by a linear model, while the nominal rotation is propagated nonlinearly and kept on the manifold.
What are injection and reset?
After a measurement the estimated error is added to the nominal state (injection) and the error state is set to zero with a covariance correction (reset).
What does the gravity measurement observe?
Roll and pitch only; yaw about the vertical direction is unobservable from gravity.
M3-T7: IMU noise and bias modelling
What is the difference between noise density and bias random walk?
Noise density sets sample-to-sample white noise (error shrinks by averaging); bias random walk sets how fast the slowly varying offset wanders (error grows with time). They show up on opposite ends of the Allan plot.
Why is bias instability read at the minimum of the Allan curve?
At short times white noise dominates and averaging helps; at long times the random walk dominates; the minimum is where the bias flicker floor is the limiting error.
Why do VIO systems need IMU noise parameters?
They set the covariance of IMU preintegration and of bias evolution, which weights IMU against vision in the optimisation. Wrong values mis-weight the sensors.
M3-T8: IMU preintegration
Why is preintegration useful in a sliding-window estimator?
The relative-motion increments do not depend on the world pose and velocity at the start, so the optimiser can change those states without re-integrating hundreds of IMU samples; bias changes are handled with first-order Jacobians.
What has to be added back when reconstructing the state from the increments?
The initial velocity and gravity over the interval, and the initial rotation to express the body-frame increments in the world frame.
Which IMU error terms does preintegration carry?
Bias (corrected to first order via Jacobians) and white noise (propagated into a covariance), plus the bias random walk as a separate factor between keyframes.
M3-T9: Camera-IMU fusion
What is the difference between loosely and tightly coupled fusion?
Loose: fuse a pose produced by a vision module; tight: feed raw feature observations and IMU into one estimator, retaining correlations and using even single features.
When does tight coupling pay most?
When features are scarce or intermittent, because a pose cannot be computed but individual measurements still constrain the state.
Why must the time offset be considered?
The images and IMU samples refer to different instants if the offset is wrong, which biases the residuals especially in fast motion.
M3-T10: LiDAR-IMU fusion
What is motion distortion and how is it corrected?
Points in one scan are measured at different times while the sensor moves; each point is transformed to a common reference time using the IMU-propagated pose at its timestamp.
Why do LiDAR and IMU complement each other?
The IMU provides high-rate motion for deskewing and prediction but drifts; LiDAR registration corrects the drift and biases each scan.
Which calibration terms enter LiDAR-IMU fusion?
The rotation and translation between the sensors and the time offset between their clocks.
M3-T11: Multi-sensor fusion architectures
Why can combining two estimators be overconfident?
If their errors are correlated (shared IMU, shared process noise) and treated as independent, the same information is counted twice and the covariance is too small.
What does covariance intersection guarantee?
A fused covariance that is consistent for any unknown cross-correlation, at the cost of conservatism.
When would you choose a factor graph?
When you need to handle delayed or asynchronous measurements, relinearisation and loop closures, and can afford the computation.
M3-T12: Observability and consistency
What are the unobservable directions of VIO?
Global position (three) and yaw about gravity (one): shifting or rotating the world about the vertical changes no measurement; roll, pitch, scale and biases are observable with sufficient motion.
Why do some filters become inconsistent in unobservable directions?
Linearising at the current estimate can give the filter spurious information in those directions, shrinking its covariance when the truth is drift.
How do you make yaw observable?
Add a measurement that depends on it: magnetometer, GNSS course or position over a path, a map or loop closure.
M3-T13: Innovation monitoring
What properties does the innovation of a consistent filter have?
Zero mean, covariance ⁻ as predicted by the filter, and whiteness in time (no autocorrelation), because nothing predictable should remain in the residual.
What does a correlated innovation sequence suggest?
Unmodelled dynamics on that time scale, or a time delay between the measurement and its prediction.
Why is innovation monitoring valuable in flight?
It needs no ground truth and reveals bias, noise and model errors online.
M3-T14: Normalized Innovation Squared
What distribution does NIS follow and why?
Chi-square with degrees of freedom when the filter is consistent, because the innovation is zero-mean Gaussian with covariance , so is a sum of squared standard normals.
Why use a windowed NIS in addition to a gate?
A gate catches single outliers, while a window averages many samples and detects small persistent shifts in consistency, such as slow bias drift, that never exceed the single-sample gate.
What does an NIS persistently below its expected value mean?
Noise parameters are too large (underconfident filter): the filter is wasting information and reacting slowly.
M3-T15: Normalized Estimation Error Squared
What does NEES test that NIS does not?
NEES compares the actual state error with the reported covariance, testing the estimate itself; NIS only tests the measurement residuals and needs no truth. A filter can pass NIS and still be inconsistent in unobservable states.
Why average over Monte Carlo runs?
One run is a single sample; averaging runs reduces the test variance so the chi-square band is tight enough to detect inconsistency.
What does an average NEES well above nx mean in practice?
The filter is overconfident: real errors exceed its reported uncertainty, so anything using that covariance (gates, planners, monitors) will be too trusting.
M3-T16: Sensor fault detection and isolation
What is the difference between detection, isolation and recovery?
Detection decides that a fault exists, isolation decides which element is faulty, recovery reconfigures the system (exclude, switch, degrade or stop) to remain safe.
What does a CUSUM detect that a simple threshold does not?
Small persistent shifts: it accumulates evidence over time so a bias well below the single-sample threshold is eventually caught.
Why do you need at least three sensors for isolation by voting?
With two, a disagreement cannot say which is wrong; the third provides the deciding comparison, assuming only one fault at a time.
M4-T1: SLAM fundamentals
What are the front-end and back-end of a SLAM system?
The front-end extracts constraints from sensor data (tracking, matching, loop candidates); the back-end estimates the trajectory and map from those constraints by filtering or optimisation.
Why are robot and landmark errors correlated?
Landmarks are measured relative to the robot pose, so any error in the pose appears in all landmarks seen from it; revisiting a landmark therefore corrects the pose and the other landmarks through the correlations.
What is the difference between VO/VIO and SLAM?
Odometry accumulates drift; SLAM adds recognition of revisited places and global optimisation to remove it.
M4-T2: Visual SLAM
What does bundle adjustment minimise?
The sum of squared (robustified) reprojection errors over all observations, by adjusting camera poses and 3-D points jointly.
Why are local windows used?
BA cost grows rapidly with the number of keyframes, so only recent keyframes and the points they see are optimised online, with the rest fixed or marginalised.
What gauge freedoms does monocular BA have?
Global rotation and translation (six) and scale (one): fixed by anchoring a pose and a distance or by priors.
M4-T3: ORB-SLAM3
What does ORB-SLAM3 add over ORB-SLAM2?
Visual-inertial operation with a maximum-a-posteriori initialisation, fisheye camera models, and the Atlas multi-map system that merges maps after tracking loss.
Why are binary descriptors used?
Hamming distance is extremely fast and the descriptors are compact, enabling real-time matching on CPUs, at the cost of lower discriminative power than floating-point descriptors.
What is its main practical limitation for UAVs?
It needs texture and sufficient compute, and produces sparse maps unsuitable for obstacle avoidance without another module.
M4-T4: VINS-Fusion
Why a sliding window?
It bounds the optimisation cost to recent keyframes; older states are marginalised into a prior that keeps their information.
What is marginalisation?
Eliminating states from the problem by the Schur complement, summarising their effect on the remaining states as a prior, exact in the linear case.
What does VINS-Fusion’s loop closure estimate?
A four-degree-of-freedom pose graph (three translations and yaw), because roll, pitch and scale are observable and already well constrained.
M4-T5: OpenVINS
What is the MSCKF trick?
Project the feature residual into the left null space of the feature Jacobian so the update constrains only the camera poses and the feature never enters the state.
Why first-estimate Jacobians?
Linearising at the first estimate keeps the filter’s unobservable subspace (global position and yaw) intact, avoiding spurious information and inconsistency.
What can OpenVINS calibrate online?
Camera–IMU extrinsics, time offset and camera intrinsics, given enough excitation and a reasonable initial guess.
M4-T6: LiDAR SLAM
What is the difference between LOAM and FAST-LIO style registration?
LOAM extracts edge and planar features and registers them; FAST-LIO registers downsampled raw points directly to a map, avoiding feature extraction.
Why voxel-filter the scan?
It bounds the point count and gives uniform density so the registration cost is predictable and accuracy is unharmed.
How does a global scan descriptor help loop closure?
It encodes the scan in a way that is comparable across viewpoints and headings, proposing candidates that are then verified geometrically.
M4-T7: LOAM and A-LOAM
How does LOAM decide edge and planar points?
By the smoothness (curvature) of points along a scan line computed from neighbouring points: high curvature is an edge, low is planar.
Why does LOAM have two rates?
Scan-to-scan odometry is fast and approximate; scan-to-map mapping is slower but more accurate, and benefits from the odometry initial guess.
What is A-LOAM?
An open-source “advanced” implementation of LOAM using Ceres and Eigen without an IMU, popular as a baseline.
M4-T8: FAST-LIO2
What is the key difference between LOAM and FAST-LIO2 in the way they use LiDAR points?
LOAM extracts edge and planar features and registers those; FAST-LIO2 registers the raw (downsampled) points directly against the map, which avoids feature extraction and works across LiDAR types.
Why does an iterated Kalman filter help in scan registration?
The residual is nonlinear in pose; a single linearised update can be inaccurate. Iterating relinearises at improved estimates while keeping the IMU prior, converging to the MAP solution.
When will FAST-LIO2 drift without any sign of failure?
In geometrically degenerate scenes such as long corridors or open fields, where the scan does not constrain motion along some direction; other sensors or global references are needed.
M4-T9: Visual-LiDAR-Inertial Odometry
Why combine camera and LiDAR?
Their failure modes are complementary: LiDAR is geometric and light-independent but can be degenerate, cameras are texture-based and fill degenerate directions but need light.
How does information addition explain the benefit?
Each sensor adds a positive semi-definite information matrix; a direction unconstrained by LiDAR can be constrained by the camera, so the sum has no small eigenvalue.
What is the main extra calibration burden?
Camera–LiDAR–IMU extrinsics and time offsets, and for photometric methods, camera exposure.
M4-T10: FAST-LIVO2
What is direct in FAST-LIVO2?
It uses raw LiDAR points and image intensities directly (point-to-plane and photometric residuals) without extracting geometric or visual features.
Why sequential updates?
Applying the LiDAR and then the visual update to the same iterated filter is cheaper than one joint update and equivalent for independent linear measurements.
Why does the camera need the LiDAR map?
The LiDAR supplies accurate depth of the map points so photometric patches need no visual depth estimation.
M4-T11: Loop closure
Why are loop closures verified geometrically?
Recognition from appearance or global descriptors can match different but similar places; checking that the geometry aligns with many inliers rejects most false loops, which would otherwise distort the map.
How is a LiDAR descriptor made yaw-invariant?
By encoding the scan in polar bins and comparing descriptors under all cyclic column shifts, taking the best; the shift is the heading difference.
Precision or recall: which matters more for loop closure?
Precision: a false positive can ruin the map while a missed loop only leaves drift.
M4-T12: Pose graph optimization
What is a pose graph and why does it help?
Nodes are poses, edges are relative-pose measurements; loop closures add constraints independent of the drifted path, and least-squares optimisation distributes the correction along the loop.
Why is a false loop closure so harmful?
It is a strong constraint pulling two unrelated places together, distorting every pose between them; hence geometric verification and robust kernels.
Why is the problem sparse?
Each edge connects only two nodes, so the Jacobian and normal matrix have a structure mirroring the graph, enabling sparse solvers for very large maps.
M4-T13: Map-based localization
What are the three localisation problems?
Global localisation (unknown start, possibly multimodal), pose tracking (known start, refine), and relocalisation after loss (kidnapping).
Why use particles?
They represent multimodal beliefs and nonlinear, non-Gaussian measurement models, unlike a single Gaussian.
How does a symmetric environment affect MCL?
The belief stays multimodal because several poses predict the same measurements; the system must report the ambiguity and use motion or another sensor to disambiguate.
M4-T15: Localization failure detection
Why is fit quality not enough to detect localisation failure?
A localiser that locks onto the wrong place can have an excellent fit; only independent evidence such as odometry, another sensor or consistency over time reveals it.
What does the cross-check compare?
The map-based pose against an independently propagated odometry pose, using their covariances, with a chi-square threshold.
Why publish a confidence rather than a flag?
The manager chooses graded responses (continue, slow down, hold, land) depending on how bad and why.
M5-T1: UAV equations of motion
What is a point-mass UAV model good for?
Outer-loop planning and MPC where the attitude loop is fast compared with the manoeuvre: acceleration is treated as the input, limited by what the thrust and tilt permit.
What is the wind correction angle?
The angle between heading and course needed so that airspeed plus wind gives the desired ground track.
Why does airspeed matter for a UAV?
Aerodynamic forces and control authority depend on velocity relative to the air, not the ground.
M5-T2: Quadrotor dynamic modelling
How do you measure a quadrotor’s inertia?
With a pendulum or bifilar test: measure the oscillation period and use the pendulum formula with the pivot geometry, subtracting the parallel-axis term.
Why does the motor time constant matter?
It adds phase lag inside the attitude loop and limits achievable bandwidth; models without it predict better stability than the vehicle has.
How would you validate a model?
Apply the same small command to the vehicle in flight and to the model and compare the responses (rise time, overshoot, settling).
M5-T3: Attitude representation and rotation matrices
What is gimbal lock?
At ± pitch the roll and yaw axes align, a degree of freedom is lost, and the Euler-angle rates become singular; the attitude is still well defined but not as three angles.
When use Euler angles and when not?
For display and logs; not in control, estimation or interpolation, where matrices, quaternions or rotation vectors avoid the singularity.
What are the exponential and logarithm maps?
Exp maps a rotation vector to a rotation matrix (Rodrigues); Log maps a rotation matrix back to the rotation vector.
M5-T4: Quaternion-based orientation
Why use quaternions instead of Euler angles?
Euler angles have singularities (gimbal lock) and non-uniform interpolation; quaternions represent any attitude with four numbers and one constraint, compose cheaply and integrate without singularities.
Why must you renormalise a quaternion after integration?
Numerical integration violates the unit-norm constraint; without renormalisation the quaternion stops representing a pure rotation and the derived matrix is not orthogonal.
What is the double cover?
and − represent the same rotation, so comparisons and averaging must account for the sign.
M5-T5: Attitude control
What is the geometric attitude controller?
A control law whose error is defined on SO(3) (R from the skew part of _d) with PD feedback and gyroscopic compensation, giving almost-global stability without Euler-angle singularities.
What limits attitude bandwidth?
Available torque over inertia (maximum angular acceleration), motor and ESC lag, sensor noise and delay.
Why tune the rate loop first?
The angle loop treats the rate loop as its actuator, so the inner loop must be fast and well damped before the outer is closed.
M5-T6: PID controllers
Why are multirotor controllers cascaded, and what must hold between loops?
The dynamics are a chain of integrators from torque to position, so each stage is controlled by a loop whose setpoint comes from the outer loop. Inner loops must be several times faster than the outer ones or phase lag makes the outer loop oscillate.
What is integrator windup and how do you prevent it?
The integral term keeps accumulating while the actuator is saturated and then overshoots when saturation ends. Prevent it by clamping the integrator or using back-calculation from the saturation difference.
Why take the derivative of the measurement rather than the error?
A setpoint step would create an impulse in the derivative of the error (derivative kick); the measurement is smooth, so it avoids the kick while still providing damping.
M5-T7: LQR control
What does LQR optimise, and what do Q and R mean?
It minimises the sum of squared state errors weighted by plus squared control effort weighted by . Larger relative to gives a faster, more energetic response.
What are LQR’s main limitations for UAVs?
It assumes a linear model and no constraints. Aggressive flight, saturation, delays and model error reduce performance and margins; MPC handles constraints explicitly.
How does LQR differ from cascaded PID?
LQR designs all state-feedback gains jointly and optimally from a model, giving coordinated corrections; cascaded PID tunes loops independently, which is simpler and robust but not optimal.
M5-T8: Model Predictive Control
What is the receding-horizon principle?
Solve a finite-horizon optimal control problem, apply only the first control, then re-solve from the new measured state at the next step, so feedback corrects model error and disturbances.
What do prediction and control horizons do?
The prediction horizon is how far ahead outcomes are evaluated, which sets how early the controller anticipates; the control horizon is how many free input moves are optimised, trading flexibility for computation.
Why is MPC computationally harder than LQR and how is that managed?
It solves a QP at every step instead of one matrix multiply; manage with short horizons, move blocking, warm starts, fast solvers, and fallbacks for overruns.
M5-T9: Trajectory generation
Why minimise snap rather than acceleration or jerk?
Because a quadrotor is differentially flat: acceleration gives thrust and tilt, jerk gives body rates, and snap gives angular accelerations and so the changes in motor thrust, so minimising snap minimises the control effort needed.
How do you make a minimum-snap trajectory feasible?
Choose segment times, evaluate speed, acceleration and thrust along the result, and stretch times (acceleration scales as ) until limits hold, adding corridor constraints for obstacles.
What are the constraints in the QP?
Waypoint positions, boundary derivatives at the ends, and continuity of derivatives up to jerk across joints; intermediate derivatives are free for the optimiser.
M5-T11: A* and RRT path planning
What makes a heuristic admissible and why does it matter?
It never overestimates the true remaining cost. With an admissible heuristic A* is guaranteed to return an optimal path on the graph; an inadmissible one can return suboptimal paths faster.
What does probabilistically complete mean for RRT?
If a solution exists the probability that the planner finds one approaches 1 as the number of samples grows. It gives no bound on time and no guarantee on path quality.
Why is a planned path not directly flyable?
It is geometric: it has corners and no timing. The vehicle has bounded acceleration and jerk, so the path must be smoothed and time-parameterised into a dynamically feasible trajectory.
M5-T12: Kinodynamic planning
What is differential flatness and why does it help quadrotor planning?
The state and inputs can be written as functions of flat outputs (position and yaw) and their derivatives, so planning smooth position and yaw curves automatically yields dynamically consistent attitude, rate and thrust commands.
Why a front-end and a back-end?
The front end solves the nonconvex topological problem (which way around obstacles) with search; the back end solves a smooth, often convex, optimisation inside the chosen corridor for comfort, speed and clearance.
What can make a kinodynamically feasible plan infeasible in flight?
Unmodelled drag and wind, controller tracking error, actuator limits and lag, and latency between planning and execution.
M5-T13: Obstacle avoidance
How do you decide the maximum safe speed for obstacle avoidance?
From stopping distance: speed times total latency plus /(2a_b), which must be below the reliable detection range minus a margin. The sensor range, latency and braking capability set the speed, not the algorithm.
What are the weaknesses of potential fields?
Local minima, oscillation in narrow passages, and no formal guarantee. They are cheap and reactive but need a higher layer to avoid trapping.
What does a control barrier function guarantee?
For the assumed dynamics, obstacle estimate and actuation limits, the state stays in the safe set. Model error, sensing error and saturation can break the guarantee.
M5-T14: Trajectory tracking
Why add acceleration feedforward?
Feedback acts only after an error has appeared, so a pure PD controller lags a moving reference by an amount proportional to its acceleration. Feedforward supplies the acceleration needed at the moment it is needed.
How is the desired attitude computed from the desired acceleration?
The desired thrust vector gives the body axis and the thrust magnitude; a yaw reference fixes the remaining rotation about that axis through cross products.
What limits how aggressive a reference can be tracked?
Actuator and tilt limits, inner-loop bandwidth and estimation quality: the achieved acceleration must follow the commanded one.
M5-T15: Guidance and control integration
What is bandwidth separation and why do you need it?
Each loop must be several times slower than the one beneath it so that the lower loop acts as an almost ideal actuator. Otherwise its phase lag eats the outer loop’s phase margin and causes oscillation.
How should a mixer prioritise under saturation?
Preserve roll and pitch authority first, then collective thrust, and give up yaw first, because losing attitude loses the vehicle.
What goes into an interface contract between two layers?
The quantity and frame, the rate and latency, and the limits the lower layer can deliver, plus how saturation is reported upward.
M5-T16: Disturbance rejection and wind compensation
Compare integral action with a disturbance observer.
Integral action removes constant offsets slowly and risks windup; a disturbance observer estimates the disturbance from model mismatch and cancels it quickly, but its noise gain grows with bandwidth and it relies on the model.
How can a multirotor estimate wind?
By modelling drag as a function of velocity relative to the air and augmenting the EKF with wind states, so that the measured acceleration and the vehicle’s motion make wind observable (airspeed measurements make it more direct).
What limits the wind in which a vehicle can hold position?
The lean angle needed to balance drag against the tilt and thrust margin available. When the margin is exhausted the vehicle drifts and cannot recover from gusts.
M5-T17: 3-D path planning on voxel maps
What changes when you move A* from 2-D to 3-D?
Each cell has 26 neighbours instead of 8, with step costs of 1, and , the heuristic uses all three axes (the 3-D octile distance), and memory and search effort grow with the cube of the resolution, so the map resolution becomes a main design choice.
Why is the 3-D octile distance an admissible heuristic?
It is the exact cost of the best path on an empty grid with the same moves, and obstacles can only add cost, so it never overestimates the true cost. It is also consistent, so A* returns an optimal path without reopening cells.
Why inflate by more than the vehicle radius?
An obstacle surface can lie anywhere inside an occupied cell and a path through cell centres can deviate by up to half a cell diagonal, so the clearance must also cover the cell resolution and the vehicle’s tracking and localisation error. The radius alone would leave no margin.
M6-T1: Introduction to PX4
What does PX4 do and what does it leave to the companion computer?
PX4 runs the real-time loop: sensing, state estimation, control, mode and failsafe logic. Perception, mapping, global planning and mission-level autonomy normally run on a companion computer and talk to PX4 over MAVLink or DDS.
Why does PX4 run on a real-time OS on a separate flight controller?
Control loops need predictable timing at hundreds of hertz. A dedicated microcontroller with an RTOS isolates the stabilisation from the variable timing and crashes of a general-purpose companion OS.
Why must you record the firmware version and hash?
Behaviour, parameters and message definitions change between releases; the exact baseline is needed to reproduce a flight, interpret a log and trace a fault.
M6-T2: Introduction to ArduPilot
How would you choose between PX4 and ArduPilot?
From requirements: vehicle type, licence constraints, companion interface, hardware and team experience, then confirm with a short SITL prototype of the actual mission. No blanket ranking.
What licence difference matters most?
ArduPilot is GPLv3 (copyleft) and PX4 is BSD 3-clause (permissive); distributing modified firmware in a closed product has different obligations under each, so it should be settled early with legal advice.
What concepts transfer between them?
EKF-based estimation, cascaded control, MAVLink, flight modes and failsafes, logging and external setpoints: names and parameters differ but the architecture and the debugging approach are the same.
M6-T3: PX4 architecture
Describe the multicopter control pipeline in PX4.
Navigator or offboard setpoint → position/velocity controller (thrust vector and attitude setpoint) → attitude controller (rate setpoint) → rate controller (torque and thrust) → control allocator (motor commands), with EKF2 supplying the state.
What is the role of the commander?
It manages arming, flight modes and failsafes from vehicle status, link health and sensor validity, deciding which setpoint source is active and what to do when something fails.
Why is a modular, message-based architecture useful for a research team?
You can replace or tap any stage (for example inject external odometry or send rate setpoints), and every interface is a topic that can be logged and replayed.
M6-T4: PX4 modules and communication
What are the semantics of a uORB topic?
Typed publish/subscribe with latest-value semantics by default: subscribers track their own position, and unread messages are overwritten unless the topic has a queue depth above one.
Why do events need queued topics?
With latest-value semantics a burst between reads overwrites earlier messages and events are silently lost; a queue preserves up to .
How would you find out what the estimator publishes and how fast?
Use uorb top for the rates, listener to view messages, and the .msg definition for fields; the logger records them for post-flight analysis.
M6-T5: PX4 state estimation and EKF2
What is an innovation test ratio?
The squared normalised difference between a measurement and its prediction, divided by the gate; below 1 means the measurement is accepted, persistently high means the source and the filter disagree.
Why does a wrong sensor delay show up as a noisy sensor?
The filter compares the measurement with the state at the wrong time; the discrepancy scales with speed, so it looks like noise that grows with motion.
How do you diagnose an EKF2 position glitch?
Check resets and status flags at the time, plot innovation ratios of each source, check vibration and magnetometer health, and compare each aiding source with the estimate.
M6-T6: Flight modes
What does position mode require that altitude mode does not?
A valid horizontal position or velocity estimate from an aiding source such as GNSS, vision or optical flow; altitude mode only needs height and attitude.
What should happen when vision odometry is lost in a GNSS-denied flight?
It depends on the plan, but typically a controlled fallback (hold in altitude or land, with pilot takeover) rather than a return that relies on the lost position estimate; it must be configured and tested.
Why add hysteresis to mode fallback?
To avoid chattering between modes when a source flickers: fall back after a loss timeout, and return only after the source has been stable for a regain timeout.
M6-T7: MAVLink protocol
Why does MAVLink include CRC_EXTRA in the checksum?
It seeds the checksum with a value derived from the message definition, so differing message layouts between two ends fail the check instead of being silently misparsed.
What is the heartbeat for?
It announces each system and component, its type, autopilot, mode and state, and its absence at about 1 Hz lets peers detect link loss and trigger failsafes.
What does MAVLink 2 add over version 1?
Larger message ids (24 bits), payload truncation, extension fields, incompatibility and compatibility flags, and optional message signing.
M6-T8: ROS 2 and PX4 integration
How do ROS and PX4 differ in frame conventions?
ROS uses ENU world and FLU body frames; PX4 uses NED world and FRD body. Positions and velocities swap and and flip ; body vectors flip and ; yaw converts as .
Why can a subscriber receive nothing from an existing topic?
A QoS mismatch: for example a reliable subscriber to a best-effort publisher is not matched. Match the publisher’s reliability and durability.
When would you choose MAVROS over the native bridge?
When you need a MAVLink-level interface that works across autopilots or existing MAVROS-based software; the native bridge is preferred for direct access to PX4 uORB topics with lower overhead.
M6-T9: uXRCE-DDS
What are the parts of the PX4 to ROS 2 bridge?
The uxrce_dds_client running in PX4, a Micro XRCE-DDS Agent on the companion computer, and the px4_msgs ROS 2 message package whose definitions must match the firmware.
Why can a topic exist and still produce no data?
A QoS mismatch (for example a reliable subscriber to a best-effort publisher) or a mismatch between firmware and px4_msgs message versions.
Why not expose all topics?
The link has finite bandwidth shared by all topics; control-critical traffic must not be starved by high-rate telemetry.
M6-T10: External vision and odometry integration
What must you set correctly in a VehicleOdometry message for EKF2?
The frame (NED/FRD), the sample timestamp (acquisition time), honest variances, and NaN for unknown fields.
Why does a wrong timestamp make estimates jitter with speed?
The measurement is fused against the wrong past state, so the error is roughly speed times the timing error, which grows with velocity.
How do you test GNSS-denied behaviour safely?
In SITL first, with GNSS fusion disabled via the EKF2 parameters, an external odometry source, and the logs checked to confirm that only vision is used.
M6-T11: Offboard control
Why does PX4 require a setpoint stream before offboard mode?
The stream proves the external controller is alive. PX4 refuses to enter offboard without it and exits offboard if it stops, giving a built-in failsafe against a dead companion.
What does OffboardControlMode tell PX4?
Which control quantities the external system supplies (position, velocity, acceleration, attitude, body rate…), so PX4 knows which controllers to run and which setpoint fields to use.
How do you make offboard control robust against a slow planner?
Publish setpoints from a dedicated fixed-rate timer or node, feed it from the planner through a buffer, and test deliberate stalls against the configured failsafe.
M6-T12: QGroundControl
Why diff parameter sets before and after a test?
Undocumented parameter changes make results irreproducible and can hide the cause of a failure; a diff against a baseline documents exactly what differs.
What does the accelerometer calibration estimate?
Bias, scale factor and axis misalignment, using static poses with known gravity; the residual of the norm against after calibration checks quality.
What would you check first if the vehicle flies badly right after calibration?
The calibration quality and warnings, the sensor values (norm of acceleration at rest, heading against a reference), and the estimator status in the log.
M6-T13: Flight logs and debugging
How do you structure a post-flight log analysis?
Mark the event time, then separate estimation (what the vehicle believed), intent (setpoints, mode) and execution (tracking and actuators), look for the first signal to deviate, and test one hypothesis at a time.
Why is a good tracking plot not proof that the vehicle behaved well?
The controller tracks the estimated state; if the estimate is wrong, tracking can look perfect while the true motion is wrong. Compare against an independent reference.
What limits the frequencies you can see in a log?
The logging rate: half of it is the Nyquist limit, and higher frequencies alias. Enable high-rate profiles for vibration analysis.
M6-T14: Software-in-the-Loop simulation
What is real and what is simulated in PX4 SITL?
The flight stack code and your companion software are real; the physics, sensors, motors, environment, link and possibly the clock are models.
Why use lockstep simulation?
It ties simulated time to the control steps so results do not depend on computer speed, making runs repeatable and suitable for regression tests.
What can SITL not verify?
Hardware drivers and timing, real sensor behaviour, vibration, power and thermal effects, radio links and the accuracy of the physics model; these need hardware-in-the-loop, bench and flight tests.
M6-T15: Hardware-in-the-Loop simulation
What does HIL verify that SITL does not?
The real target: CPU load and timing, drivers, serial links, boot and storage, wiring and the integration with a real companion, using the real firmware binary.
What can HIL not verify?
Real sensor performance, vibration, magnetic interference, motors and aerodynamics, power and thermal behaviour: these need bench and flight tests.
How would you decide whether HIL is worth it?
When the risk is in the target or the integration (tight timing, many interfaces, new hardware) and a bench test with real sensors cannot cover it; for pure logic, SITL is cheaper.
M6-T16: Companion computer integration
Why separate the companion’s power from the flight controller’s?
The companion has large, variable current draw and noise; on a shared rail its transients can brown out the autopilot. A separate regulated supply isolates faults and noise.
How do you detect a dead companion computer?
A heartbeat or the offboard setpoint stream with a loss timeout of missed periods, balancing detection delay against false alarms, with a defined autopilot action on timeout.
What is wrong with an infinite restart loop for a crashed process?
It can hide a persistent fault, flood the logs and keep the vehicle in a half-working state; use restart limits and escalate to a safe state.
M7-T1: UAV onboard computing architecture
How do you decide what runs on the flight controller versus the companion?
By latency and determinism needs, compute needs and failure containment: hard-real-time and safety-critical loops stay on the microcontroller, heavy perception and planning go to the companion behind a narrow, monitored interface.
Why is a utilisation bound only a sufficient condition?
The rate-monotonic bound guarantees schedulability below it, but task sets above it can still be schedulable; response-time analysis settles it.
What is failure containment?
Designing so that a fault in one part does not propagate: the flight controller supervises the companion’s outputs and heartbeat and degrades to a safe state if they fail.
M7-T2: NVIDIA Jetson platforms
Why can a Jetson run slower at the end of a flight than at the start?
Thermal throttling: as the temperature approaches the limit the system lowers clocks to stay within it, which increases processing time and latency.
How do you turn a vendor performance figure into a design number?
Treat it as an upper bound; measure your own pipeline in the chosen power mode at flight temperature, take a high percentile and add margin.
What does nvpmodel do?
It selects a predefined power mode: the number of active cores and the maximum clocks within a power budget, trading performance for power and heat.
M7-T3: CPU and GPU workload management
Why bound queues between pipeline stages?
An unbounded queue converts a transient overload into an ever-growing delay; a bound with a drop policy caps the age of the data at the cost of missing some, which is the right trade for estimation and control.
Why does a stage at 95 % utilisation behave much worse than at 70 %?
Queueing delay grows like , so it rises steeply as utilisation approaches 1, and any slowdown from contention pushes it past the limit.
What should you report instead of mean latency?
Percentiles (p50, p95, p99) and the maximum under the worst combined load, because deadline misses come from the tail.
M7-T4: Real-time operating systems
What is the difference between hard and soft real-time?
In hard real-time a missed deadline is a failure (an attitude control loop); in soft real-time it degrades quality (a late video frame).
What is priority inversion and how is it avoided?
A high-priority task waits for a resource held by a low-priority task that a medium-priority task preempts; priority inheritance temporarily raises the holder’s priority so that blocking is bounded.
How do you show a task set is schedulable?
Use utilisation bounds as a quick sufficient test, and response-time analysis with measured worst-case execution times and blocking for a definitive answer on fixed-priority systems.
M7-T5: ROS 2 execution and scheduling
Why can a ROS 2 timer fire late?
The executor is non-preemptive: if another callback on the same thread is running, the timer waits until it finishes, so jitter is bounded by the longest callback sharing the thread.
What is the difference between mutually exclusive and reentrant callback groups?
Callbacks in a mutually exclusive group never run concurrently; callbacks in a reentrant group can, so their code must be thread-safe.
Which QoS would you choose for a camera stream feeding a real-time estimator?
Best-effort reliability and keep-last with a small depth, so the consumer sees recent frames and an overload drops old data rather than building latency.
M7-T6: End-to-end latency
Why report latency percentiles?
Means hide the tail, and failures happen in the tail: a rare 200 ms delay during a manoeuvre matters more than a 40 ms average.
How does delay affect a control loop?
A delay adds phase lag at frequency , reducing phase margin; vision-in-the-loop controllers can oscillate unless the delay is small, compensated, or kept out of the fast loop.
Where should latency be measured from?
From the sensor exposure timestamp, through every stage, to the output; arrival time omits driver and transport delay.
M7-T7: Jitter and deadline monitoring
How do you measure jitter?
Record monotonic timestamps at the start (and end) of each cycle, compute the period error against the nominal period or the ideal grid, and report percentiles and the maximum alongside deadline misses and the longest run of consecutive misses.
How do you choose a jitter threshold?
From the control requirement: the tolerated error in derived quantities (for example velocity error = / ) fixes the allowed timing error, with margin.
Why hysteresis in a timing monitor?
Without it a borderline condition toggles states repeatedly, flooding logs and causing mode flapping; thresholds for entering and leaving a state should differ.
M7-T8: Camera, IMU and LiDAR synchronization
Why does a few-millisecond camera-IMU offset matter?
Fusion assumes simultaneous measurements; at rotation rate and speed , a error is of orientation and of position, which filters mistake for bias or extrinsic error. It matters most in fast motion.
How can a camera-IMU time offset be estimated?
Compare the gyro rate with the angular rate derived from images and find the shift that maximises their correlation, or estimate it online within VIO. It needs varied rotation to excite both sensors.
Hardware trigger versus software timestamp?
A hardware trigger gives deterministic, sub-millisecond image times on the IMU clock; software timestamps include transfer and scheduling jitter of milliseconds.
M7-T9: Hardware triggering
Why is a hardware trigger better than timestamping on arrival?
The pulse time is measured on the IMU clock with microsecond-level latency, while arrival includes exposure, readout, transfer, driver and scheduling delays that are large and variable.
Where should the image timestamp point within the exposure?
At the exposure midpoint for a global shutter (and a reference row for a rolling shutter), so the stamp is the time the scene was effectively sampled.
How do you match triggered images to pulses when frames may be dropped?
By sequence number or frame counter (unwrapped), never by order, and check the image interval against the pulse interval.
M7-T10: Software timestamping
Why does averaging arrival times give a biased timestamp?
The delay between event and arrival is non-negative with a long tail, so the average is late by the mean delay; the information about the true time is in the earliest arrivals.
How can you reduce timestamp jitter without hardware support?
Fit a straight line (period and offset) to arrival times from below, or use device timestamps related to the host clock by a regression, so that the variable delay is largely removed.
What stays after smoothing?
The fixed delay (readout, transfer, driver), which acts as a constant offset and must be calibrated or estimated online.
M7-T11: PTP synchronization
How does PTP compute the clock offset?
From four timestamps (Sync send and receive, Delay_Req send and receive): offset is half the difference of the two one-way measured times, assuming a symmetric path; the mean delay is half their sum.
Why does path asymmetry limit PTP accuracy?
The algorithm attributes half of any difference between forward and backward delay to the clock offset, so an asymmetry of a microsecond causes half a microsecond of error that no amount of averaging removes.
Why use hardware timestamping?
Timestamps taken in the NIC or PHY avoid interrupt and scheduling jitter in software, which otherwise dominates the error budget.
M7-T12: Compute and memory budgets
Why not budget from average CPU use?
Failures occur when loads peak together; averages hide bursts, and the combined peak depends on correlation, so the combined percentile must be measured.
How do you set headroom margins?
By the consequence of overrun and the uncertainty of the measurements: hard-real-time functions need larger margins than soft ones, and unmeasured or unrepresentative data needs more.
Why measure memory over a full mission?
Memory use grows with maps, queues and leaks; the peak at the end of the longest mission is what must fit, which short tests miss.
M7-T13: Power and thermal budgets
How does avionics power affect flight time?
It adds to total draw, so the fractional loss in endurance is roughly for fixed propulsion power; extra mass for batteries or cooling adds to propulsion power as well.
What is the governing case for a thermal test?
The hot case: highest ambient with solar loading, minimal airflow (hover), full payload and the highest-power mode, run long enough to reach steady state.
Why can a companion brown out near the end of a flight?
The battery’s terminal voltage falls under load as the state of charge drops, and a transient current peak can pull a regulator’s input below its minimum.
M7-T14: Communication bandwidth
How do you budget a communication link?
Compute each stream’s rate including overhead, sum per link, compare with usable (not nominal) capacity and require headroom; reduce load by compression, decimation and region of interest where needed.
Why do saturated links look like timing problems?
Queues grow, delays vary and samples drop silently, producing jitter and stale data rather than errors.
What data should stay onboard?
High-rate raw sensor data needed only by onboard consumers; send summaries and operator-relevant data over the limited downlink.
M7-T15: Sensor calibration
What does the reprojection error tell you?
How well the model explains the detected corners; it estimates pixel noise only if the model is right, so it must be judged on held-out images and checked for systematic residual patterns.
Why must the calibration target be viewed from varied poses?
To make the focal length, principal point and distortion separately observable; flat-on views leave them correlated and poorly determined.
When would you recalibrate?
After a shock, lens or focus change, large temperature changes, or when held-out reprojection error or a VIO consistency check exceeds the stated threshold.
M7-T16: Camera-IMU-LiDAR extrinsic calibration
What excitation is needed to calibrate camera-IMU extrinsics?
Rotation about all three axes for the rotation and time offset, and rotational acceleration (plus translation) for the lever arm; slow or planar motion leaves parameters unobservable.
How can you estimate the time offset without knowing the rotation?
Correlate the magnitudes of the angular rates of the two sensors, which are independent of the rotation between the frames, and find the shift that maximises the correlation.
Why is validation on separate data necessary?
A calibration can fit its own motion well while being wrong for others (over-fitting or low observability); independent data or an external reference reveals this.
M7-T17: Interface Control Documents
What belongs in an interface specification beyond the message fields?
Units, frames and conventions, rates and maximum age, timestamp meaning and clock, validity flags, timeouts, behaviour on loss or invalid data, and the version and change policy.
Why is failure behaviour part of the ICD?
The consumer’s response to a missing, stale or invalid message is a safety function that both teams must agree on and test; leaving it implicit hides hazards.
How can you make an ICD enforceable?
Keep it as structured data, generate definitions and tests from it, run a consistency checker in CI, and verify each interface in SIL, HIL and flight tests.
M7-T18: Requirements traceability
What is bidirectional traceability?
Links from needs and hazards down to requirements, design, tests and results, and back up again, so you can ask both “what verifies this?” and “why does this exist?”.
What are orphans and gaps?
A gap is a requirement without design or verification; an orphan is a test, design element or requirement with no upward trace. Both indicate a missing link and must be resolved or justified.
How does traceability help with change?
The links give the impact set: the design elements and tests that must be re-reviewed and rerun when a requirement or component changes.
M7-T19: Configuration management
What is a flight manifest?
A record of the hashes and versions of every configuration item on the vehicle at take-off (firmware, software, parameters, calibration, hardware), stored with the flight log so the configuration can be identified and restored.
Why compare parameters by value as well as hash?
The hash tells you that something differs; the value-level diff tells you what changed, which is what the reviewer needs.
What makes a build reproducible?
Pinned dependencies and base images, recorded compiler and tool versions, no network fetches of unpinned content, and deterministic build steps, so that the same source gives the same binary.
M8-T1: System requirements engineering
What makes a requirement verifiable?
It has a measurable quantity, a numerical threshold, a statistic, the conditions under which it applies and a stated verification method with a pass criterion.
Why must a statistic be stated?
Errors are random; “below 2 m” means different designs and test efforts if it must hold always, in 95 % of samples or on average, and the claim cannot be verified without it.
How many trials show 99 % success at 95 % confidence?
With zero failures allowed, independent trials, which is why such claims are often shown by validated simulation or analysis rather than flights alone.
M8-T2: Requirements decomposition
How do you combine independent and biased errors in a budget?
Independent random terms add in quadrature (RSS); biases or fully correlated terms add linearly; then apply the appropriate percentile factor and compare with the requirement, keeping margin.
Why is the 2D 95th percentile not 1.96σ?
The radial error of two independent Gaussian components is Rayleigh distributed, whose 95th percentile is about .
What do you do when a budget cannot be met?
Reduce the largest contributor, change the design, negotiate the requirement or limit the operating condition, in a reviewed decision with the traceability updated.
M8-T3: Verification and validation
What is the difference between verification and validation?
Verification checks that the system meets its requirements (built right); validation checks that it meets the real need in the real environment (the right system built).
How do you choose a verification method?
By the nature of the requirement: measurable performance with statistics needs test or validated analysis; static facts use inspection; qualitative capabilities can use demonstration; and strength of evidence must match the risk.
How much should you trust simulation results?
As much as its validation against real data supports for the conditions in question; state the validation basis and limits, and show real flight evidence for safety-relevant claims.
M8-T4: SIL, HIL and ground testing
Why test at several levels?
Cost to find a defect rises steeply with each level; lower levels find logic and integration defects cheaply, while only flight reveals some environment-dependent ones. The staging puts each defect class where it is cheapest to find.
What is the purpose of an entry criterion?
To require evidence that the lower level has nothing more to find (tests passed on this baseline, defects closed) before taking the risk and cost of the next level.
What can HIL not find?
Real sensor performance, vibration, magnetic and optical environment effects and flight dynamics: those need ground and flight tests.
M8-T5: Flight-test planning
What goes on a flight test card?
Objective and hypothesis, baseline and configuration, entry criteria, step list, measurable abort criteria, data to record, roles (pilot, observer), and the expected result.
Why build up in small steps?
To bound the consequence of an unexpected outcome and to keep failures attributable to the single change made; each step is reviewed before the next.
How do you set the safety distance for a test point?
From the excursion: speed times detection and reaction time plus braking distance, plus margin, which must fit within the clear area in every direction of travel.
M8-T6: Test-case development
What is the difference between fail and invalid?
Fail means the system did not meet the criterion in a correctly executed test; invalid means the test did not execute as specified (missing reference, wrong baseline), so it says nothing about the system and must be rerun.
Why not count every sample toward the statistics?
Samples in a time series are strongly correlated, so the effective sample size is much smaller; use run-level metrics or block methods for the sample size.
Why seed fault injection?
To reproduce failures exactly, turn them into regression tests and attribute differences to code changes rather than chance.
M8-T7: FMEA
What is FMEA and how does it differ from fault-tree analysis?
FMEA is bottom-up: start from component failure modes and trace effects. Fault-tree analysis is top-down: start from a hazard and find the failure combinations that cause it. They complement each other.
What are the weaknesses of the RPN?
It multiplies ordinal scores, so very different risks can give the same value and a severe but rare failure can rank low. Use a severity-first rule or action-priority tables.
How do you make an FMEA drive verification?
Give every high-risk mode a monitor or mitigation requirement and a named test case or simulation that demonstrates it, and track them in a traceability matrix.
M8-T8: Fault-tree analysis
What is a minimal cut set and why does its order matter?
It is a smallest combination of basic events that causes the top event; order-1 sets are single points of failure and low-order sets show where redundancy is thin.
How does a fault tree reveal common-cause failures?
A basic event that feeds several branches (shared power, clock, software) appears alone or in small cut sets once the tree is solved, showing that the apparent redundancy is defeated by one event.
What does the rare-event approximation do?
It approximates the top-event probability by the sum of cut-set probabilities, an upper bound that is accurate when basic-event probabilities are small.
M8-T9: Fault detection, isolation and recovery
What makes a recovery policy trustworthy?
It is complete (every analysed fault has a row and an unlisted fault has a safe default), deterministic with explicit rules for simultaneous faults, monotonic in severity, and every row is tested by fault injection.
Why keep the policy as data?
It can be reviewed, version-controlled and checked mechanically for completeness and consistency, and test cases can be generated from it.
What is the timing requirement on recovery?
The sum of detection delay, decision latency and execution time must be shorter than the time the hazard takes to develop, for example the time for drift to reach the clearance.
M8-T11: GNSS loss handling
How would you decide the failsafe timeout after GNSS loss?
From the position uncertainty growth rate and the clearance requirement: choose such that equals the clearance, and verify drift in test. Use distance rather than time when drift scales with distance.
Why use hysteresis when restoring GNSS trust?
Marginal GNSS can toggle repeatedly; requiring a continuous good period before trusting it avoids mode chatter and sudden jumps.
What should happen to the estimate when GNSS returns after a long outage?
The correction should be applied smoothly (blended) after trust is regained, not as a step, to avoid abrupt setpoint and attitude changes.
M8-T12: Visual odometry failure handling
Why is a single VO health indicator not enough?
Different failures show in different indicators: a repetitive texture keeps the feature count high while the matches are wrong, and a clean low-texture scene can have few features but fine tracking; combine indicators and add consistency with the inertial prediction.
How long can you fly on inertial navigation after VO is lost?
Until position error from velocity error, bias and attitude error (growing roughly quadratically) reaches the drift budget, typically seconds to a few tens of seconds for a small vehicle, so the safe action must start at detection.
What is hysteresis for in a health monitor?
It prevents flapping: the system enters degraded mode quickly on a few bad frames and leaves only after a sustained period of good ones.
M8-T13: IMU failure handling
Why can two IMUs not isolate a fault by voting?
A disagreement is symmetric: either unit could be wrong. A third unit provides a majority, or a model-based residual provides a tie-breaker.
How can a single IMU’s failure be detected?
With model-based residuals: compare integrated gyro with attitude change from a magnetometer, vision or GNSS velocity, check that the accelerometer norm at rest equals gravity, and monitor estimator innovations and sensor variance.
What is a common-mode failure?
A single cause that affects all redundant units at once (shared power, vibration, temperature, software), which defeats voting and has to be handled by design, isolation and separate mounting.
M8-T14: Communication loss and failsafes
Why is “return to launch” not always the safest failsafe?
It depends on a valid position estimate, a clear path and enough energy; if any is missing, landing in place or holding may be safer, so the action must be chosen per failure and escalate when it cannot complete.
How do you choose a link-loss timeout?
From the link’s measured loss statistics: require below the spurious-trigger budget and a detection time ( + 1) below what the hazard allows.
What should the vehicle do when the companion computer stops?
Leave offboard control and enter a mode that is valid without the companion’s data (hold with the autopilot’s own estimate or land), configured and tested, with the pilot able to take over.
M8-T15: Flight incident investigation
What is the difference between proximate and root cause?
The proximate cause is the immediate event leading to the outcome; the root cause is the underlying condition that, if corrected, prevents recurrence, usually in design, process or requirements.
How do you combine evidence from several sources?
Align them on a common time base with stated offsets and uncertainties, rank them by timing confidence, and use independent sources to confirm each key event.
What makes a corrective action effective?
It changes the system (design, monitor, procedure, test), has an owner and a date, and is verified by a test or review that shows it works.
M8-T16: Technical risk assessment
Why rank risks by severity first?
A product of severity and likelihood can rate a rare catastrophic event the same as a frequent nuisance; ranking by severity first keeps catastrophic risks visible and demands independent barriers and evidence.
How many flights support a claim of p < 10⁻³?
With zero events, about 3/p = 3000 flights at 95 % confidence (rule of three); fewer flights support only a weaker claim, so other evidence (analysis, design barriers) must carry the argument.
What is the mitigation hierarchy?
Eliminate the hazard, reduce likelihood, reduce severity, then warnings, procedures and training; the later items depend more on human performance and are weaker.
M8-T17: System acceptance criteria
Why must acceptance criteria be fixed before testing?
To prevent hindsight bias and disputes: a rule chosen after seeing the data can be tuned to pass, whereas a rule agreed in advance can be applied by anyone to the same evidence.
What is the difference between producer’s and consumer’s risk?
Consumer’s risk is the probability of accepting a system that is actually unacceptable; producer’s risk is the probability of rejecting one that is actually acceptable. A sampling plan trades them off through and the allowed failures.
How should a waiver be handled?
As a recorded decision by the accountable authority, with rationale, the conditions under which it holds, and a matching operational limitation.
M8-T18: Deployment and operational limitations
How do you derive operating limits from test results?
Take the verified conditions (cells of speed, environment, duration and so on), back off with a margin, add independent bounds such as stopping distance, and state each limit with its rationale, how it is monitored and what to do on exceeding it.
Why is a box around the tested extremes not a valid envelope?
Extremes tested separately do not cover their combinations; only conditions inside a tested cell, or a justified neighbour, are supported by evidence.
How can the envelope be extended?
By adding test points (with build-up, FMEA review and acceptance criteria) that cover the new conditions on the frozen baseline, then updating the limits table.