# Solutions

From FBSwiki

This page contains a list of the exercises in the text, including supplemental problems. It is mainly intended for use by people who are generating solutions to the exercises.

### Guide to entries

Each entry in the table below contains the following information (the two-letter code in parenthesis is used in the table entry macros):

- Exercise number (ex): the number of the exercise in the solutions manual. Items marked with a * appear in the printed version of the text.
- Directory (di): the name of the subdirectory where the exercise appears. This does not appear in the table directly, but is used to create the link to the exercise.
- Title (ti): a short descriptive title for the exercise.
- Filename (fi): the base filename used for the exercise. Clicking on the link will take you to the LaTeX source code for the exercise (requires login).
- Solution status (st): current status of the solutions. The following abbreviations are used:
- C (complete) - complete solution is available
- P (partial) - partial or preliminary solution is available
- I (in progress) - solution is being written, but is not yet available
- U (unavailable) or blank - no solution is currently available
- X (not planned) - no solution is planned

- Author (au): initials for the author of the solutions
- Comment (co): additional comments.

How to sign up to write a solution for an exercise:

- Find an exercise whose solution status is either unavailable (U) or partial (P)
- Edit the table and add your name to the 're' entry in the table
- Add the page to your watch list so that you can see when there is a change in status
- Wait until you are assigned a set of problems to work on (status will be changed to 'I', with your initials listed in the author column.

### Chapter 1 - Introduction

Num | Title | Filename | Stat | Auth | Comments |

1.1* | Occular motion | eyemotion | C | KJA | |

1.2* | Feedback examples | fbkexamps | C | Misc | |

1.3* | Human balance | balance-human | I | CL | |

1.4* | Cruise control redesign | cruise-redesign | I | CL | |

1.5* | Integral action | integral | C | KJA | |

1.6* | Popular press articles | nytexamps | |||

1.7 | Milk supply chain | milksupply | P | KJA | Figure missing |

1.8 | MATLAB cruise control | cruise-mlintro | P | Misc | Preliminary solution available; could be cleaned up |

1.9 | MATLAB ball and beam | ballbeam-mlintro | P | Misc | Preliminary solution available; could be cleaned up |

1.10 | Web search: voltage clamp | voltageclamp | Give short intro plus web links | ||

1.11 | Web search: haptics and force feedback | haptics | Give short intro plus web links | ||

1.12 | Anti-rollover control | rollover | Give short summary of regulations |

### Chapter 2 - System Modeling

Num | Title | Filename | Stat | Auth | Comments |

2.1* | Chain of integrators form | chainofint | I | SH | |

2.2* | Inverted pendulum | balance-bal2inv | P | ||

2.3* | Disrete-time dynamics | discrete-solutions | P | ||

2.4* | Keynesian economics | discrete-keynes | |||

2.5* | Least squares system identification | sysid-leastsq | I | SH | |

2.6* | Normalized oscillator dynamics | oscillator | P | ||

2.7* | Electric generator | powergrid | P | ||

2.8* | Admission control for a queue | queue-admcontrol | P | ||

2.9* | Biological switch | biocircuits-switchmod | P | ||

2.10* | Motor drive | dcmotor-modeling | P | ||

2.11 | Uncertainty lemon | lemon | P | ||

2.12 | Frequency response | freqresp | |||

2.13 | Eye and head motion | occular-blockdiag | P | ||

2.14 | Second-order system identification | sysid-logdec | |||

2.15 | Insect vision | flyvision | P | ||

2.16 | State space model for balance systems | balance-statespace | |||

2.17 | fingerflame | P | |||

2.18 | Consensus and invariants | compsys-invariants | P | ||

2.19 | Electric motor | electricmotor | P | ||

2.20 | exothermic | ||||

2.21 | caffeine | P | |||

2.22 | ballbeam-modeling | P | |||

2.23 | pvtol2invpend | ||||

2.24 | flyflight | ||||

2.25 | pendulum | P |

### Chapter 3 - Examples

Num | Title | Filename | Stat | Auth | Comments |

3.1 | Cruise control | cruise-hillsim | I | CL | |

3.2 | Bicycle dynamics | bicycle-statespace | |||

3.3 | Bicycle steering | bicycle-steering | |||

3.4 | Operational amplifier circuit | opamp-twopole | P | ||

3.5 | Operational amplifier oscillator | opamp-osc | P | ||

3.6 | Congestion control using RED~\cite{Low+02:infocom} | congctrl-red | P | ||

3.7 | Atomic force microscope with piezo tube | afm-preload | P | ||

3.8 | Drug administration | drugadmin-alcohol | |||

3.9 | Population dynamics | logistic | |||

3.10 | Fisheries management | fishery-modeling | P | ||

3.11 | powertrain | P |

### Chapter 4 - Dynamic Behavior

Num | Title | Filename | Stat | Auth | Comments |

4.1 | Time-invariant systems | timeshift | |||

4.2 | Flow in a tank | tank-modeling | P | ||

4.3 | Cruise control | cruise-phaseplot | P | CL | Solution available; update if needed to match dynamics in text |

4.4 | Lyapunov functions | lyap-secord | P | ||

4.5 | Damped spring--mass system | lyap-oscillator | P | ||

4.6 | Electric generator | missing | P | ||

4.7 | Lyapunov equation | missing | |||

4.8 | Congestion control | congctrl-lyapstab | P | ||

4.9 | Swinging up a pendulum | invpend-swingup | P | ||

4.10 | Root locus diagram | missing | P | ||

4.11 | Discrete-time Lyapunov function | discrete-lyapunov | |||

4.12 | Operational amplifier oscillator | opamp-oscnl | P | ||

4.13 | Self-activating genetic circuit | biocircuits-posfbk | P | ||

4.14 | Diagonal systems | missing | P | ||

4.15 | Furuta pendulum | furuta | P | ||

4.16 | Routh-Hurwitz criterion | routh | |||

4.17 | missing | ||||

4.18 | missing | P | |||

4.19 | predprey-limit | P | |||

4.20 | Windup protection by conditional integration | missing | P | ||

4.21 | missing | ||||

4.22 | Spike generation in neurons | missing | P | ||

4.23 | compsys-consensus | ||||

4.24 | Steering dynamics of a ship | tanker-dynamics | P | ||

4.25 | Pitchfork bifurcation | missing | |||

4.26 | stabexmp-mooregreitzer | P | |||

4.27 | cruise-lyapunov | P | CL | Check to make sure dynamics match Ch 3 | |

4.28 | lyapexmp | P |

### Chapter 5 - Linear Systems

Num | Title | Filename | Stat | Auth | Comments |

5.1 | Response to the derivative of a signal | missing | |||

5.2 | Impulse response and convolution | missing | |||

5.3 | Pulse response for a compartment model | compartment-pulse | |||

5.4 | Matrix exponential for second-order system | matrixexp | P | ||

5.5 | Lyapunov function for a linear system | missing | |||

5.6 | Nondiagonal Jordan form | missing | P | ||

5.7 | Rise time for a first-order system | missing | |||

5.8 | Discrete-time systems | discrete-linsys | P | ||

5.9 | Keynesian economics | discrete-keynes | |||

5.10 | missing | P | |||

5.11 | Transcriptional regulation | biocircuits-negfbk | P | ||

5.12 | Normalized coordinates for second-order system | missing | |||

5.13 | Matrix exponential for Jordan form | missing | |||

5.14 | Solution of a second-order system | missing | |||

5.15 | Monotone step response | missing | |||

5.16 | missing | P | |||

5.17 | missing | P | |||

5.18 | linexmp-coupled | P | |||

5.19 | State variables in compartment models | compartment-states | |||

5.20 | queue-linsys | P | |||

5.21 | Keynes model in continuous time | missing | |||

5.22 | cartpend | P | |||

5.23 | missing | P |

### Chapter 6 - State Feedback

Num | Title | Filename | Stat | Auth | Comments |

6.1 | Double integrator | missing | P | ||

6.2 | Reachability from nonzero initial state | missing | |||

6.3 | Unreachable systems | missing | |||

6.4 | Integral feedback for rejecting constant disturbances | missing | |||

6.5 | Rear-steered bicycle | bicycle-rearsteer | P | ||

6.6 | Characteristic polynomial for reachable canonical form | missing | |||

6.7 | Reachability matrix for reachable canonical form | missing | P | ||

6.8 | Non-maintainable equilibria | missing | P | ||

6.9 | Eigenvalue assignment for unreachable system | missing | P | ||

6.10 | Cayley--Hamilton theorem | missing | |||

6.11 | Motor drive | missing | |||

6.12 | Whipple bicycle model | bicycle-whipple | P | ||

6.13 | Atomic force microscope | missing | |||

6.14 | missing | P | |||

6.15 | Bryson's rule | brysons-rule | |||

6.16 | integral-refgain | ||||

6.17 | Unreachable compartment model | compartment-nonreach | P | ||

6.18 | missing | ||||

6.19 | missing |

### Chapter 7 - Output Feedback

Num | Title | Filename | Stat | Auth | Comments |

7.1 | Coordinate transformations | missing | |||

7.2 | missing | ||||

7.3 | Observable canonical form | missing | |||

7.4 | Bicycle dynamics | bicycle-observability | P | ||

7.5 | Integral action | integral-action | P | ||

7.6 | Vectored thrust aircraft | pvtol-ssctrl | P | ||

7.7 | Uniqueness of observers | missing | |||

7.8 | Observers using differentiation | diff | |||

7.9 | Observer for Teorell's compartment model | compartment-teorellobs | P | ||

7.10 | Observer design for motor drive | dcmotor-observer | P | ||

7.11 | Feedforward design for motor drive | dcmotor-feedforward | P | ||

7.12 | Whipple bicycle model | bicycle-whipple | |||

7.13 | Discrete-time random walk | kalman-randomwalk | P | ||

7.14 | Kalman decomposition | missing | |||

7.15 | missing | ||||

7.16 | Balance system | balance-observable | |||

7.17 | Balance system with biased measurement | balance-statectrl | |||

7.18 | Duality | missing | |||

7.19 | Balance system | missing | |||

7.20 | Trajectory generation | trajgen-scalar | |||

7.21 | Selection of eigenvalues | missing | |||

7.22 | Kalman filter for scalar ODE | kalman-scalar | P |

### Chapter 8 - Transfer Functions

Num | Title | Filename | Stat | Auth | Comments |

8.1 | missing | ||||

8.2 | modalinput | P | |||

8.3 | Inverted pendulum | invpend-xferfcn | P | ||

8.4 | Solutions corresponding to poles and zeros | missing | P | ||

8.5 | Operational amplifier | opamp-pictrl | P | ||

8.6 | Transfer function for state space system | missing | P | ||

8.7 | Kalman decomposition | missing | |||

8.8 | missing | ||||

8.9 | Bode plot for a simple zero | missing | |||

8.10 | Vectored thrust aircraft | pvtol-lateraltf | P | ||

8.11 | Common poles | missing | |||

8.12 | Congestion control | congctrl-xferfcns | P | ||

8.13 | Inverted pendulum with PD control | invpend-pzcancel | P | ||

8.14 | Vehicle suspension~\cite{hedrick90} | vehicle-quartercar | |||

8.15 | Vibration absorber | missing | P | ||

8.16 | freqexamps | P | |||

8.17 | model-simplification | ||||

8.18 | cruise-pictrl | P | Needs to be updated to use model from Ch 3; not yet committed to repository | ||

8.19 | dcmotor-xferfcn | ||||

8.20 | missing | ||||

8.21 | missing | P | |||

8.22 | missing | ||||

8.23 | missing |

### Chapter 9 - Frequency Domain Analysis

Num | Title | Filename | Stat | Auth | Comments |

9.1 | Operational amplifier | opamp-unitygain | P | ||

9.2 | Atomic force microscope | afm-tapping | |||

9.3 | Heat conduction | missing | P | ||

9.4 | Vectored thrust aircraft | pvtol-looptf | P | ||

9.5 | Vehicle steering | missing | |||

9.6 | Stability margins for second-order systems | missing | P | ||

9.7 | Congestion control in overload conditions | congctrl-overload | P | ||

9.8 | Bode's formula | missing | |||

9.9 | Pad\'e approximation to a time delay | missing | |||

9.10 | Inverse response | missing | P | ||

9.11 | Describing function analysis | missing | |||

9.12 | Right half-plane pole | missing | P | ||

9.13 | Third-order system | missing | |||

9.14 | bodenyq | P | |||

9.15 | Congestion control using TCP/Reno | congctrl-margins | |||

9.16 | opamp-routh | P | |||

9.17 | missing | P | |||

9.18 | Limitations | missing | |||

9.19 | Limitations | missing | |||

9.20 | Delay differential equations | delayde | P | ||

9.21 | Cruise control design | cruise-pictrl | P |

### Chapter 10 - PID Control

Num | Title | Filename | Stat | Auth | Comments |

10.1 | Ideal PID controllers | missing | |||

10.2 | missing | ||||

10.3 | missing | P | |||

10.4 | Ziegler--Nichols tuning | missing | P | ||

10.5 | Vehicle steering | steering-pi | P | ||

10.6 | Congestion control | congctrl-pituning | P | ||

10.7 | Motor drive | dcmotor-pdctrl | P | ||

10.8 | missing | ||||

10.9 | Tuning rules | missing | P | ||

10.10 | Windup and anti-windup | missing | |||

10.11 | Windup protection by conditional integration | missing | P | ||

10.12 | pidmethods | P | |||

10.13 | pidexmps | P | |||

10.14 | Compartment model | compartment-monotone | |||

10.15 | missing | P | |||

10.16 | pirlocus | P | |||

10.17 | pvtol-pid | P | |||

10.18 | Ball and beam | missing | |||

10.19 | balance-pid | P |

### Chapter 11 - Frequency Domain Synthesis

Num | Title | Filename | Stat | Auth | Comments |

11.1 | missing | ||||

11.2 | missing | ||||

11.3 | missing | P | |||

11.4 | missing | ||||

11.5 | Sensitivity of feedback and feedforward | missing | |||

11.6 | Equivalence of controllers with two degrees of freedom | missing | |||

11.7 | Disturbance attenuation | missing | |||

11.8 | Disturbance reduction through feedback | missing | P | ||

11.9 | missing | ||||

11.10 | Attenuation of low-frequency sinusoidal disturbances | missing | P | ||

11.11 | missing | ||||

11.12 | missing | P | |||

11.13 | missing | P | |||

11.14 | Phase margin formulas | missing | |||

11.15 | balance-visual | P | |||

11.16 | Rear-steered bicycle | bicycle-rearsteer | P | ||

11.17 | missing | P | |||

11.18 | Rise-time/bandwidth product | missing | |||

11.19 | missing | P | |||

11.20 | znlimits | ||||

11.21 | Pole in the right half-plane and time delay | missing | P | ||

11.22 | Cancellation of unstable process zero | missing | |||

11.23 | Limitations on achievable phase lag | missing | P | ||

11.24 | missing | ||||

11.25 | Performance characteristics of second-order systems | secord-perf | P | ||

11.26 | secord-rhpz | P | |||

11.27 | Integral of complementary sensitivity | missing | P | ||

11.28 | Bode's integral | missing | P | ||

11.29 | Lead compensator for an insect flight control system | flylead | P | ||

11.30 | Control of a magnetic levitation system | maglev | P | ||

11.31 | missing | P | |||

11.32 | pvtol-gangof4 |

### Chapter 12 - Robust Performance

Num | Title | Filename | Stat | Auth | Comments |

12.1 | missing | P | |||

12.2 | missing | P | |||

12.3 | Difference in sensitivity functions | missing | P | ||

12.4 | The Riemann sphere | missing | P | ||

12.5 | Stability margins | missing | |||

12.6 | Bode's ideal loop transfer function | missing | P | ||

12.7 | missing | P | |||

12.8 | Smith predictor | missing | |||

12.9 | Ideal delay compensator | missing | |||

12.10 | Vehicle steering | missing | |||

12.11 | missing | ||||

12.12 | AFM nanopositioning system | missing | |||

12.13 | $H_\infty$ control | missing | |||

12.14 | missing | ||||

12.15 | missing | P | |||

12.16 | Robustness using the Nyquist criterion | missing | P | ||

12.17 | Robustness inequalities | missing | |||

12.18 | missing | ||||

12.19 | missing | ||||

12.20 | Disk drive tracking | missing |