Skip to main content

Assessment Package: Module 05 - Dynamics and Control

Assessment Overview​

ComponentWeightFormatDuration
Theory Quiz15%Multiple choice + derivations45 minutes
Lab Exercises35%Python implementations3 labs
Simulation Project35%Controller design + analysis1 week
Ethics Discussion15%Written reflection500 words
Total100%

Theory Quiz​

Time Limit: 45 minutes Passing Score: 70% Attempts: 2

Section A: Multiple Choice (40 points)​

Q1. In a PID controller, the integral term primarily serves to:

  • a) Increase response speed
  • b) Reduce overshoot
  • c) Eliminate steady-state error
  • d) Dampen oscillations

Q2. For a second-order system with natural frequency Ο‰n, critical damping occurs when the damping ratio ΞΆ equals:

  • a) 0
  • b) 0.5
  • c) 1.0
  • d) 2.0

Q3. The mass matrix M(q) in the robot dynamics equation M(q)q̈ + C(q,qΜ‡)qΜ‡ + g(q) = Ο„ is:

  • a) Always diagonal
  • b) Always symmetric positive definite
  • c) Constant for all configurations
  • d) Independent of joint positions

Q4. Computed torque control achieves linearized dynamics by:

  • a) Ignoring nonlinear terms
  • b) Using high gains to dominate nonlinearities
  • c) Canceling nonlinear dynamics with model-based feedforward
  • d) Approximating the system as linear around an operating point

Q5. Anti-windup in PID control prevents:

  • a) Integral term from growing unboundedly during saturation
  • b) Derivative term from amplifying noise
  • c) Proportional term from causing overshoot
  • d) The controller from responding to step inputs

Q6. In the Ziegler-Nichols tuning method, Ku represents:

  • a) The ultimate (critical) gain causing sustained oscillation
  • b) The gain at which the system becomes unstable
  • c) The optimal proportional gain
  • d) The gain margin of the system

Q7. The Coriolis matrix C(q, q̇) in robot dynamics represents forces due to:

  • a) Gravity alone
  • b) Friction in joints
  • c) Motion-dependent coupling between joints
  • d) External disturbances

Q8. An overdamped system response:

  • a) Oscillates before settling
  • b) Returns to equilibrium without oscillation
  • c) Takes infinite time to settle
  • d) Becomes unstable

Q9. Model-based control requires:

  • a) Perfect knowledge of system dynamics
  • b) An approximate model of system dynamics
  • c) Only input-output data
  • d) Real-time system identification

Q10. The primary advantage of computed torque over PID for multi-joint robots is:

  • a) Simpler implementation
  • b) No need for sensor feedback
  • c) Decoupled joint dynamics
  • d) Lower computational cost

Section B: Short Answer and Derivations (60 points)​

Q11. (15 points) Given a 1-DOF system with transfer function G(s) = K/(sΒ² + 2ΞΆΟ‰β‚™s + Ο‰β‚™Β²), derive the relationship between settling time (2% criterion) and the damping ratio ΞΆ and natural frequency Ο‰β‚™ for an underdamped system.

Q12. (15 points) For a 2-DOF robot arm, the mass matrix is:

M(q) = [a + b*cos(qβ‚‚)    c + d*cos(qβ‚‚)]
[c + d*cos(qβ‚‚) e ]

Show that M(q) is symmetric. Under what conditions is M(q) positive definite?

Q13. (15 points) A joint controlled by PID with Kp=100, Ki=10, Kd=20 has a steady-state position of 0.98 rad when the setpoint is 1.0 rad. A constant disturbance torque is causing the error. Calculate the magnitude of the disturbance torque and explain why the integral term hasn't eliminated the error.

Q14. (15 points) Explain why derivative gain Kd on the error signal can cause "derivative kick" when the setpoint changes suddenly. Describe an alternative implementation that avoids this problem.


Lab Exercises​

Lab 05-01: PID Control (30% of lab grade)​

Grading Rubric:

CriterionExcellent (90-100%)Proficient (70-89%)Developing (50-69%)Beginning ( <50%)
PID ImplementationComplete with anti-windup and proper discretizationWorking without anti-windupPartial implementationNon-functional
Step Response AnalysisAccurate metrics with proper definitionsMinor calculation errorsIncomplete metricsMissing analysis
Gain TuningSystematic exploration with clear conclusionsWorking comparisonLimited explorationNo tuning study
VisualizationPublication-quality with annotationsFunctional plotsBasic plotsNo visualization
Code QualityWell-documented, modular, testedWorking codePartially workingNon-functional

Lab 05-02: Computed Torque Control (35% of lab grade)​

Grading Rubric:

CriterionExcellent (90-100%)Proficient (70-89%)Developing (50-69%)Beginning ( <50%)
Dynamics ExtractionCorrectly extracts M and bias from MuJoCoMinor issuesPartial extractionCannot extract
CTC ImplementationProper inverse dynamics with feedforwardWorking without feedforwardPartial implementationNon-functional
Comparison StudyFair comparison with PID, clear conclusionsBasic comparisonLimited comparisonNo comparison
Trajectory TrackingExcellent tracking with feedforwardTracking without feedforwardPoor trackingNon-functional
AnalysisInsightful interpretation of resultsBasic analysisIncompleteMissing

Lab 05-03: Adaptive Control (35% of lab grade)​

Grading Rubric:

CriterionExcellent (90-100%)Proficient (70-89%)Developing (50-69%)Beginning (Below 50%)
Model PerturbationCorrectly creates significant mismatchMinor perturbationToo small effectCannot perturb
Adaptation LawProper gradient update with boundsWorking updatePartial implementationNon-functional
IntegrationSmooth integration of adaptation with CTCWorking integrationPartial integrationNot integrated
ConvergenceParameter converges to correct valueConverges approximatelySlow/partial convergenceDoes not converge
AnalysisComprehensive stability and convergence analysisBasic analysisIncompleteMissing

Simulation Project​

Project: Multi-Joint Robot Arm Controller Design​

Objective: Design, implement, and compare control strategies for a 3-DOF robot arm performing a pick-and-place task.

Duration: 1 week Deliverables: Code repository + 4-page technical report

Requirements​

  1. System Modeling (20%)

    • Extract and analyze dynamics matrices for the 3-DOF arm
    • Characterize the system (natural frequencies, coupling)
    • Document model assumptions and limitations
  2. PID Controller (20%)

    • Implement independent joint PID controllers
    • Tune using systematic method (Ziegler-Nichols or similar)
    • Achieve setpoint regulation within 5% error in 2 seconds
  3. Computed Torque Controller (30%)

    • Implement CTC for the 3-DOF system
    • Demonstrate improved coupling rejection compared to PID
    • Achieve trajectory tracking with RMS error < 2 degrees
  4. Comparative Analysis (30%)

    • Test both controllers on identical trajectories
    • Quantify: settling time, overshoot, tracking error, energy consumption
    • Analyze robustness to payload changes (Β±20% mass)
    • Provide recommendations for deployment

Grading Rubric​

CriterionPointsDescription
System Analysis20Correct dynamics extraction and characterization
PID Implementation20Working controller meeting specifications
CTC Implementation30Correct implementation with trajectory tracking
Comparison Quality20Fair, thorough comparison with clear metrics
Report Quality10Clear writing, proper figures, professional presentation
Total100

Test Trajectories​

  1. Step Response: Simultaneous step in all joints
  2. Sinusoidal Tracking: Each joint follows sin wave at different frequency
  3. Pick-and-Place: Move from home β†’ pick position β†’ place position β†’ home
  4. Robustness Test: Repeat with 20% increased payload mass

Ethics Discussion​

Prompt​

In a 500-word reflection, address the following scenario:

You are the control systems engineer for a collaborative robot deployed in a small manufacturing shop. The robot performs assembly tasks alongside human workers.

After six months of safe operation, a new production manager requests that you increase the robot's speed by 40% to meet a large order deadline. Your analysis shows this would:

  • Increase peak velocities from 0.5 m/s to 0.7 m/s
  • Reduce stopping distance from 15 cm to 25 cm
  • Increase collision force from 80N to 140N (still below the 150N safety threshold)

The workers have not been consulted about this change.

Address the following in your reflection:

  • What are your professional obligations as the control engineer in this situation?
  • How should the trade-off between productivity and safety margin be decided, and by whom?
  • What would you do if management insisted on the change over your objections?
  • How might you approach the workers affected by this decision?

Rubric​

CriterionExcellent (90-100%)Proficient (70-89%)Developing (50-69%)Beginning ( <50%)
Professional EthicsClear application of engineering ethics codesSound ethical reasoningBasic ethical awarenessIgnores ethical dimension
Stakeholder AnalysisConsiders all affected partiesMost stakeholdersLimited considerationSingle perspective
Technical AnalysisCorrectly interprets safety implicationsBasic technical understandingSome technical errorsMisunderstands situation
Actionable RecommendationsSpecific, feasible proposalsGeneral recommendationsVague suggestionsNo recommendations
Writing QualityClear, well-organized, persuasiveClear with minor issuesSome clarity problemsUnclear

Answer Key (Instructor Access Only)​

Quiz Answers​

Section A:

  1. c) Eliminate steady-state error
  2. c) 1.0
  3. b) Always symmetric positive definite
  4. c) Canceling nonlinear dynamics with model-based feedforward
  5. a) Integral term from growing unboundedly during saturation
  6. a) The ultimate (critical) gain causing sustained oscillation
  7. c) Motion-dependent coupling between joints
  8. b) Returns to equilibrium without oscillation
  9. b) An approximate model of system dynamics
  10. c) Decoupled joint dynamics

Section B:

Q11: For underdamped second-order system (0 < ΞΆ < 1):

  • Envelope decays as exp(-ΞΆΟ‰β‚™t)
  • 2% settling when exp(-ΞΆΟ‰β‚™tβ‚›) = 0.02
  • -ΞΆΟ‰β‚™tβ‚› = ln(0.02) β‰ˆ -3.9
  • tβ‚› β‰ˆ 4/(ΞΆΟ‰β‚™) for 2% criterion

Q12: Symmetry: M₁₂ = c + d*cos(qβ‚‚) = M₂₁ βœ“ Positive definite conditions:

  • M₁₁ > 0: a + b*cos(qβ‚‚) > 0 β†’ a > |b|
  • det(M) > 0: (a + b*cos(qβ‚‚))e - (c + dcos(qβ‚‚))Β² > 0
  • Typically satisfied by physical mass/inertia constraints

Q13: At steady state, Kpe + Ki∫e dt = Ο„_disturbance With e = 0.02 rad steady-state, integral keeps growing (not saturating), so:

  • If Ki*∫e dt has reached a limit due to anti-windup, Ο„_disturbance β‰ˆ 0.02*100 = 2 Nm
  • Integral hasn't eliminated error because it's hitting anti-windup limits OR hasn't had enough time to accumulate

Q14: Derivative kick: When setpoint changes from r₁ to rβ‚‚ instantaneously:

  • Error jumps from (r₁-y) to (rβ‚‚-y)
  • de/dt β†’ ∞ (impulse)
  • Kd*de/dt produces large torque spike

Solution: Derivative on measurement (not error):

  • Instead of Kdd(r-y)/dt, use -Kddy/dt
  • Setpoint changes don't affect derivative term
  • Only actual system velocity is differentiated

Export Formats​

This assessment package is available in:

  • Markdown (this document)
  • Canvas LMS import package
  • PDF with answer key (instructor version)
  • Gradescope autograder configuration (for lab submissions)