Demonstrating PID control - Southampton-Maritime-Robotics/Delphin2_notes GitHub Wiki

Delphin2 is used annually to demonstrate PID tuning to students. For easy preparation a dedicated branch 'demonstrating' is set up with launch scripts, mission scripts and parameters ready to use on delphin. As long as no major changes to the relevant hardware are made, this branch should always be working in a state ready to demonstrate (master might have changes in the launch and mission script system that will make it more effort to prepare after one year of delphin2 development, and the newest version of delphin2 firmware is not needed for this basic demonstration).

Heading PD control

First, the heading PD control is demonstrated by running through several PD settings.

Depth PID control

The depth PID control is demonstrated with the I term removed, showing that there is a constant error that is not corrected by the system.

Post Processing

An ipython notebook is made available to the students, which they can use with the rosbags recorded during the experiment to visualize the results.

At the day

ca. 1 hr for one round of demonstration

Towing tank safety

Delphin2 safety

  • Sensitive control surfaces
  • Backseat driver monitors sensor data
  • Positive buoyancy for re-surfacing

Interaction with students

  • copy current rosbag to keep for students (most recent bag is on delphin2 saved as ~/.ros/demonstrating.bag )
  • plot heading PD with rqt live, depth with ipython notebook
  • write results on blackboard
  • clear rotation whose turn it is to write on blackboard helps with involving students
  • ask students to make prediction what current values will do by letting them show by hand what they think will happen: more/less/same [settling time, oscillation, ...] to improve interaction