AME 3623: Project 7: Proportional-Derivative Control and Tuning
For the last two projects, you have developed the proportional error
and derivative error control pieces. In this project, we bring these
two pieces together and tune the parameters so that the craft will
orient to and stick at a goal orientation.
- All components of the project are due by Thursday, April 13th
at 9:00 am
- Groups are the same as for project 1.
- Discussion within groups is fine.
- Discussion across groups may not be about the specifics of the
solution (general programming/circuit issues are fine to
At the end of this project, you should be able to:
- tune PD-control parameters so as to achieve near
critically-damped behavior of the hovercraft.
Component 1: Hardware
- Balance your craft so that when the chamber is pressurized, the
craft does not drift laterally (note that it will likely
Component 2: Software
Implement the following functionality:
- Using the orientation LEDs, display the current heading
- The LED bar should continue to reflect orientation rate.
- In control_step(), sum together the proportional
error and derivative terms in computing ddtheta.
Component 3: Tuning and Testing
- At the end of the previous project, you should have a
reasonable choice of Kp. This should cause your craft to be
relatively aggressive about moving toward the heading goal,
though it will likely oscillate around the goal (perhaps
damped, perhaps not).
- Slowly increase Kd until most of the oscillation has been
- After tuning, the craft should be able to recover from
disturbances from the heading goal. In addition, as the
heading error approaches and then crosses 180 degree error, the
thrust fans should flip polarity (e.g., shifting from hard
right to hard left).
- Your hovercraft should behave properly given a range of
starting orientations (and hence, goals).
- Remember that printf() is an expensive operation in terms of
time. Although useful for debugging, it can cause problems
when used inside of a control loop.
Component 4: Looking Forward
For the next project, you will be using the slip information from your
cameras. Take some time now to test that the cameras are functioning
properly and that your distance estimates are still accurate.
What to Hand In
All components of the project are due by Thursday, April 13th at
- Demonstration/Code Review: All group
members must be present.
The demonstration must be completed by Tuesday, April 18th.
- Check in the following to your project 7 area of your
- Personal report: Catme surveys must be completed by Tuesday, April 18th.
Personal programming credit:
Group grade distribution:
- Each person must accumulate at least three personal programming
credits over the course of the semester. This project offers
- To receive credit, you must be the primary designer,
implementer and debugger of the component. This does
not mean that your other group members should not be looking
over your shoulder. But: you must do the "driving."
- 35%: Project implementation
- 30%: Demonstration of working project (to either
of the TA or the instructor)
- 35%: Documentation
Group Grading Rubric
Grades for individuals will be based on the group grade, but weighted
by the assessed contributions of the group members to the non-personal programming items.
andrewhfagg -- gmail.com
Last modified: Thu Apr 13 10:20:32 2017