0% found this document useful (0 votes)
3 views7 pages

EE5419 AdvancedControlLab StudyGuide

The EE5419 Advanced Control Laboratory End-Semester Examination Study Guide outlines the exam details including date, time, venue, duration, and total marks. It covers topics from six reports related to control systems, ROS 2 fundamentals, TurtleBot3 path planning, and visual perception for autonomous vehicles, with a focus on short-answer and concept-based questions. The guide provides structured sets of questions to aid in exam preparation, emphasizing key concepts and methodologies in control theory and robotics.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views7 pages

EE5419 AdvancedControlLab StudyGuide

The EE5419 Advanced Control Laboratory End-Semester Examination Study Guide outlines the exam details including date, time, venue, duration, and total marks. It covers topics from six reports related to control systems, ROS 2 fundamentals, TurtleBot3 path planning, and visual perception for autonomous vehicles, with a focus on short-answer and concept-based questions. The guide provides structured sets of questions to aid in exam preparation, emphasizing key concepts and methodologies in control theory and robotics.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

EE5419 — Advanced Control Laboratory

End-Semester Examination — Study Guide

Date: May 16, 2026

Time: 3:00 PM – 4:00 PM

Venue: ESB 204 B

Duration: 1 Hour

Total Marks: 40

Pattern: Short-answer / MCQ / Concept-based

Coverage: Reports 0–6 (Submitted Assignments)

Topics Covered
• Report 0 — Cruise Control System Modeling and Control Design
• Report 1 — Pendulum on Cart (LQR, Pole Placement, PID)
• Report 2 — ROS 2 Installation and Core Concepts
• Report 3 — TurtleBot3 Path Planning (Trajectories and Checkpoint Navigation)
• Report 4 — DC Motor State Estimation using Kalman Filter (Synthetic Data)
• Report 5 — DC Motor State Estimation on Scaled EV (Real Data)
• Report 6 — Visual Perception / Lane Detection for Autonomous Vehicles

How to use this guide: Each set contains 20 short, concept-based questions with concise
answers. Set A focuses on control theory and Reports 0/1/4/5; Set B emphasises ROS 2, TurtleBot3
path planning, and the vision-based lane detection from Reports 2/3/6. Some overlap is included
to reinforce the most important ideas. Read the question, attempt mentally, then verify with the
answer.
SET A — 20 Questions

Cruise Control System (Report 0)


Q1. Write the first-order differential equation that models the longitudinal vehicle dynamics
for the cruise control system.
Ans: m·v̇ + b·v = u, where m is the vehicle mass, b is the viscous damping coefficient, u is the
engine force (input) and v is the vehicle velocity (output).

Q2. What is the transfer function G(s) of the cruise control plant relating velocity V(s) to
engine force U(s)?
Ans: G(s) = V(s)/U(s) = 1 / (m·s + b). It is a first-order, type-0 system with a single real pole.

Q3. Where is the open-loop pole of the cruise control system located, and what does its sign
tell you about stability?
Ans: The pole lies at s = −b/m. Since both m and b are positive, the pole is on the negative
real axis, so the open-loop system is stable — but slow, which is why the step response is
sluggish.

Q4. Write the standard parallel-form transfer function of a PID controller and name each of
the three gains.
Ans: C(s) = Kp + Ki/s + Kd·s. Kp = proportional gain (reduces rise time, reduces but does not
eliminate steady-state error); Ki = integral gain (eliminates steady-state error); Kd = derivative
gain (improves transient response / damping).

Pendulum on Cart (Report 1)


Q5. Why is the cart–pendulum system called underactuated, and what is its order?
Ans: It has two degrees of freedom (cart position P and pendulum angle θ) but only
one control input (force F on the cart), so n > m → underactuated. Each DOF gives a
second-order ODE, making the overall system a 4th-order nonlinear system with state x =
[P, θ, Ṗ, θ̇].

Q6. Which formulation is used to derive the equations of motion, and what is the Lagrangian?
Ans: The Euler–Lagrange formulation is used. The Lagrangian is L = T − V (kinetic energy
minus potential energy). The Euler–Lagrange equation is d/dt(∂L/∂q̇i) − ∂L/∂qi = Fi.

Q7. What are the two equilibrium points of the cart–pendulum system, and which one
corresponds to the inverted pendulum?
Ans: Equilibria: (C, 0, 0, 0) → pendulum hanging down (stable, used for crane control), and (C,
π, 0, 0) → pendulum upright (unstable, used for inverted pendulum control).

Q8. How is controllability verified after linearisation, and what was the rank obtained for both
equilibria?
Ans: Form the controllability matrix CM = [B, AB, A²B, A³B]. If rank(CM) = n (= 4 here), the
linearised system is fully state-controllable. Both equilibrium points gave rank = 4 (full rank),
so the system is controllable in both modes.

Q9. What is LQR, and what gain matrix was obtained for crane operation?
Ans: LQR (Linear Quadratic Regulator) minimises the cost J = ∫(xTQx + uTRu) dt. Q and R are
user-chosen weights trading state error against control effort. For crane mode the gain
obtained was K = [9.2195, −0.0659, 6.8949, −0.1425] corresponding to [Kx, Kθ, Kẋ, Kθ̇].

DC Motor State Estimation — Kalman Filter (Reports 4 & 5)


Q10. Write the KVL equation governing the electrical dynamics of a DC motor.
Ans: Vm = Rm·Im + Lm·(dIm/dt) + Ke·ωm. The last term Keωm is the back-EMF, which
opposes the applied voltage.

Q11. Write the mechanical (rotational) equation for the DC motor shaft.
Ans: Jm·(dωm/dt) = Ki·Im − Bm·ωm − Tl, where Ki·Im is the developed (electromagnetic)
torque, Bmωm is viscous friction torque, and Tl is the external load torque.

Q12. What two states are typically chosen for the DC motor state-space model, and what is
the input vector?
Ans: States x = [Im, ωm]T (armature current and angular velocity); input u = [Vm, Tl]T
(applied voltage and load torque). Form: ẋ = A·x + B·u, y = H·x.

Q13. What are the two phases of every Kalman filter iteration, and name the equations of
each.
Ans: Prediction: (i) x̂−k = A·x̂k−1 + B·uk, (ii) P−k = A·Pk−1·AT + Q. Update: (iii) Kk =
P−k·HT·(H·P−k·HT + R)−1, (iv) x̂k = x̂−k + Kk·(zk − H·x̂−k), and covariance update Pk = (I −
Kk·H)·P−k.

Q14. What do the matrices Q and R represent in a Kalman filter?


Ans: Q = process-noise covariance (uncertainty in the model). R = measurement-noise
covariance (uncertainty in the sensors). The ratio Q/R sets the filter's trust between model and
measurement: large Q → trust measurement more; large R → trust the model more.

Q15. Why was Gaussian noise chosen to model sensor noise in Report 4?
Ans: By the Central Limit Theorem, the sum of many independent small random
disturbances tends towards a Gaussian distribution. Most sensor noise sources (electrical,
thermal, quantisation, EMI) combine in this way, so a zero-mean Gaussian is both realistic and
mathematically convenient — and it is exactly the noise model the Kalman filter assumes to be
optimal.

Q16. Why did Report 5 use an asymmetric process-noise matrix Q = diag([1, 5]) for the EV
DC motor?
Ans: The velocity entry (5) is larger because the motor's mechanical behaviour (friction,
load, encoder quantisation) deviates more from the datasheet model than its electrical
behaviour. This bias makes the filter weight the velocity measurement more heavily, which is
why the steady-state velocity Kalman gain (≈ 0.98) is larger than the current gain (≈ 0.667).

Q17. In Report 5, armature current was not measured at all. How does the Kalman filter still
estimate it?
Ans: The system is observable from velocity alone (observability matrix has full rank).
Through the coupled state dynamics in the A matrix — specifically KiI = J(dω/dt) + Bω — the
velocity measurement indirectly constrains the current. So the filter infers current from the
model and the velocity-sensor data, even though current itself is never directly measured.

Q18. What is the 'innovation' (or residual) in a Kalman filter, and what should its mean
ideally be?
Ans: Innovation = measurement − predicted measurement = zk − H·x̂−k. Ideally it is
zero-mean white noise; a non-zero mean indicates model mismatch or bias. (In Report 5 the
persistent +1.5 rad/s mean indicated the assumed 0.165 V input under-estimated the real drive
voltage.)

General Concepts
Q19. What numerical integration method is invoked by MATLAB's ode45, and why was a time
step of 2.5×10⁻⁴ s chosen in Report 4?
Ans: ode45 uses the Dormand–Prince (4th/5th-order) Runge–Kutta method with adaptive
step control. A small step of 2.5×10⁻⁴ s ensures stability and accurate capture of the fast
electrical transient (the electrical time constant Lm/Rm is very short for this motor).

Q20. Why is linearisation needed before applying LQR or pole placement to the
pendulum-on-cart system?
Ans: LQR and pole placement are linear control techniques. The cart–pendulum equations
contain nonlinear trigonometric terms (sin θ, cos θ, θ̇²). Using a small-angle approximation
about an equilibrium gives a linear state-space model ẋ = A·x + B·u, on which these techniques
are valid — and the resulting controller stabilises the nonlinear plant locally around that
equilibrium.
SET B — 20 Questions

ROS 2 Fundamentals (Report 2)


Q1. Which build system is used in ROS 2, and which command is used to build a workspace?
Ans: ROS 2 uses colcon as its build system (replacing ROS 1's catkin). From the workspace
root: colcon build. After building, source the overlay with source
~/ros2_ws/install/[Link].

Q2. Differentiate clearly between a ROS 2 topic and a ROS 2 service.


Ans: Topic — asynchronous, many-to-many, publish/subscribe pattern, used for continuous
data streams (e.g. /odom, /cmd_vel). Service — synchronous, one-to-one, request/response
pattern, used for occasional commands (e.g. /reset_number_count, /set_led).

Q3. What is the command to create a Python-based ROS 2 package with dependencies on
rclpy, std_msgs and std_srvs?
Ans: ros2 pkg create <pkg_name> --build-type ament_python --dependencies rclpy
std_msgs std_srvs. For C++ or interface (msg/srv) packages, --build-type ament_cmake is
used instead.

Q4. In Exercise 3 of Report 2, the custom service was defined in a separate package
(step5_interfaces). Why?
Ans: ROS 2 best practice keeps interface definitions (msg/srv/action) in a dedicated
ament_cmake package, so they can be reused by multiple nodes and built independently. The
.srv file uses '---' to separate the request fields from the response fields (e.g. led_number, state
⟶ success).

Q5. Which client library is used to write Python nodes in ROS 2, and which command runs an
executable?
Ans: Python nodes use rclpy (the C++ equivalent is rclcpp). Executables registered in
[Link]'s entry_points are launched with ros2 run <package> <executable>.

TurtleBot3 Path Planning (Report 3)


Q6. Name the two topics used to control TurtleBot3 manually and explain the role of each.
Ans: /cmd_vel — publishes geometry_msgs/Twist messages (linear & angular velocity
commands) to drive the robot. /odom — subscribes to nav_msgs/Odometry for the robot's pose
feedback (position and orientation).

Q7. How is a circular trajectory generated using only /cmd_vel?


Ans: Simultaneously publish a constant linear.x velocity AND a constant angular.z velocity in
the Twist message. The ratio v/ω sets the radius of the circle (R = v / ω). The motion is purely
open-loop — no odometry feedback is needed.

Q8. What tolerance was used in the checkpoint controller, and how was a checkpoint
declared 'reached'?
Ans: A checkpoint was considered reached when the Euclidean distance from the robot's
odometry pose to the target was less than 0.25 m. The controller then paused briefly before
proceeding to the next checkpoint.

Q9. Why were checkpoints defined in the robot's local frame rather than the Gazebo world
frame?
Ans: Local-frame checkpoints make the script portable: it works regardless of where the robot
is spawned in the world. At startup, the initial odometry pose is captured and used to convert
the local checkpoint coordinates into corresponding global targets.
Q10. Contrast open-loop and closed-loop control as seen in Report 3.
Ans: Open-loop (straight / square / circle scripts): publish velocity commands for a fixed time
— simple but accumulates errors and ignores disturbances. Closed-loop (checkpoint
controller): uses /odom feedback to correct heading and distance errors at each step — higher
accuracy at the cost of more complexity.

Lane Detection / Visual Perception (Report 6)


Q11. Why is the HSV colour space preferred over BGR for lane-marking detection?
Ans: HSV separates chromatic information (Hue and Saturation) from brightness (Value).
A coloured lane line falls in a compact (H, S) range regardless of whether it is in shadow or
direct light, making thresholds robust to illumination variation.

Q12. List the five sequential stages of the lane-detection pipeline implemented on the
Raspberry Pi.
Ans: (1) HSV colour thresholding for white & yellow masks (bitwise OR combined); (2)
Morphological opening (erosion then dilation, 5×5 kernel) to remove noise; (3) ROI
masking using a trapezoidal polygon (horizon at 0.55 × H); (4) Pixel extraction and
left/right split at the frame midpoint; (5) Second-degree polynomial fit with [Link]
and overlay rendering.

Q13. What is a morphological 'opening' and why is it used here?


Ans: Opening = erosion followed by dilation using the same structuring element (here a
5×5 rectangle). It removes small isolated bright blobs (noise, reflections) while leaving large
connected regions (the actual lane stripes) essentially intact.

Q14. Why is the polynomial fit done as x = f(y) (degree 2) rather than y = f(x)?
Ans: Lane markings are nearly vertical in the camera image. Fitting y = f(x) would suffer a
singularity where dy/dx → ∞. Fitting x = A·y² + B·y + C with y as the independent variable
avoids this and naturally represents the curvature of the road.

Q15. Why was a 2nd-degree polynomial chosen instead of the more common Hough-line
transform?
Ans: The Hough transform detects only straight lines; on curved track sections it either fails
or produces incoherent segments. A 2nd-order polynomial has just enough degrees of freedom
to model a gentle road curve without overfitting noise.

Q16. How is the live video stream delivered from the Pi to the host PC's browser?
Ans: OpenCV grabs frames from a GStreamer libcamerasrc pipeline (I420 → BGR, 640×480
@ 30 fps), processes them, JPEG-encodes the result, and Flask serves them at port 5000 as a
multipart/x-mixed-replace response — the standard MJPEG streaming format — which any
modern browser can render natively without a plug-in.

Conceptual / Cross-topic Questions


Q17. What does it mean for a control system to be 'controllable', and how is it tested
numerically?
Ans: A system is controllable if any initial state can be driven to any final state in finite time
using the available input. Numerical test: form the controllability matrix CM = [B, AB, A²B,
… , An−1B]; the system is fully controllable iff rank(CM) = n (the order of the system).

Q18. What is meant by 'pole placement', and how does it differ from LQR?
Ans: Pole placement: choose state-feedback gain K so that the eigenvalues of (A − BK) lie at
user-specified desired locations. LQR: choose K to minimise a quadratic cost J = ∫(xTQx + uTRu)
dt. Pole placement gives direct control over pole locations; LQR gives an optimal trade-off
between state error and control effort but only indirect control over the resulting pole positions.
Q19. State the Nyquist stability criterion in words.
Ans: Plot the open-loop frequency response L(jω) as ω varies from −∞ to +∞. Let N = number
of clockwise encirclements of the −1 + j0 point and P = number of open-loop right-half-plane
poles. Then the number of closed-loop RHP poles is Z = N + P. For closed-loop stability, Z = 0
(equivalently N = −P).

Q20. In the EV DC-motor experiment (Report 5), why did the Kalman gains converge in
essentially one time step?
Ans: Because the system is linear, time-invariant and the Kalman gain depends only on the
(A, H, Q, R) matrices — not on the data. For an LTI system the gain converges to the
steady-state solution of the discrete algebraic Riccati equation, after which the filter
effectively behaves as a fixed-gain Luenberger-style observer. Steady values observed: Kvelocity
≈ 0.98, Kcurrent ≈ 0.667.

All the best for your end-semester examination!


Revise: Kalman filter equations (prediction + update), DC motor electrical & mechanical
equations, ROS 2 topic vs service, LQR vs Pole Placement, HSV thresholding, controllability matrix.

You might also like