530.647 Adaptive Systems – Fall 2017

530.647 Adaptive Systems Fall 2017
530.647 Adaptive Systems Course Fall 2017: (left to right) Gabriel Baraban, Nicole Ortega, Jacob Carducci, Katheryn Reynolds, Shahin Gharakozlou, Andrew Spielvogel, Tyler Paine, Farshid Alambeigi, and Louis Whitcomb

Course Description

Graduate-level introduction to adaptive identification and control. Emphasis on applications to mechanical systems possessing unknown parameters (e.g., mass, inertia, friction). Topics include stability of linear and nonlinear dynamical systems, Lyapunov stability, input-output stability, adaptive identification, and direct and indirect adaptive control.

Audit registration is not permitted, but students are welcome to sit in on the course.

Required Prerequisites:

  • Calculus I, II, and III; Physics I and II; Linear Algebra; Differential Equations;
  • Graduate linear systems theory such as EN.520.601 Introduction to Linear Systems Theory is a required prerequisite.
  • Programming: Knowledge of the Matlab programming language including data input/output, 1-D and 2-D arrays, and user-defined function calls. Students with experience using all language elements (including data input/output, 1-D and 2-D arrays, and user-defined function calls) in any high level language (e.g. C, C++, FORTRAN, Pascal, Lisp, Basic) should be able to self-tutor themselves in the Matlab language as part of the laboratory exercises.

Course Organization

  • Lectures: Weekly lectures.
  • Problem Sets: Problem sets based on the lectures and assigned reading are due at the on the date specified in the problem set. Problem sets represent approximately 25% of the course grade.
  • No credit will be given for late problem sets or labs unless previously approved by the instructor. Each student’s lowest problem set and lab score will be dropped.
  • Make a scan or photocopy of your problem sets and labs before handing them in so that you can refer to it while working on the subsequent assignments.
  • Laboratory Problem Sets: Lab problems sets, principally assignments in Matlab, are due on the date specified in the problem set. Lab writeups represent approximately 25% of the course grade.
  • Midterm Exam: The midterm exam represents approximately 25% of the course grade.
  • Final Exam: The final exam represents approximately 25% of the course grade.
  • Problem Sessions: Problem sessions will be held to answer questions regarding the lectures, labs, and problem sets.
  • All problem set and lab assignments must be handed in to Prof. Whitcomb. Any questions regarding grading must be referred to Prof. Whitcomb. The TA may not receive assignments or address grading questions.



Professor Louis L. Whitcomb
Department of Mechanical Engineering
G.W.C. Whiting School of Engineering
The Johns Hopkins University
Phone: 410-516-6724
Email: llw@jhu.edu
Office: 115 Hackerman Hall
Office Hours: During regular problem sessions after class.

Teaching Assistants

  • Mr. Farshid Alambeigi <alambeigi.farshid@gmail.com>
    Office Hours: Friday 3-4pm, Hackerman 135
  • Mr.  Andrew Spielvogel <aspielv1@jhu.edu>
    Office Hours: Tuesday 3-4pm, Krieger 70 (Hydro Lab)

Class Schedule

  • Tuesdays 10:30-11:45AM, Room 168, Bloomberg Center
  • Thursdays 10:30-11:45AM,Room 168, Bloomberg Center

Exam Schedule

Exams are  cumulative, closed Book, closed notes, closed cell-phone, closed calculators.

  • Midterm Exam: TBA
  • Final Exam: 9AM-12 Noon Monday, December 18, 2017

Required Text Book

Some Additional References (Not Required)

Some additional text books that are NOT REQUIRED but are excellent references include:

Problem Sets

Problem sets and labs must be handed in to Professor Whitcomb at his office 115 Hackerman Hall on or before the deadline.  The TAs are not authorized to receive assignments.  Links will be added as the problem sets are assigned.

Laboratory Sets

Links will be added as the labs are assigned.


  • Matlab is available on the computers in the Krieger Hall Computer Lab, Room 160 Krieger Hall, and also on the computers of the Robotics Teaching Lab, Room 170 Wyman Park Building.
  • Johns Hopkins University has a Total Academic Headcount (TAH) site license for matlab.  You can legally install matlab on your personal computers! Linux, Windows, and Mac-OS are supported. To get matlab for your PC:
    • Browse to my.jhu.edu and login.
    • Under the “Technology” glyph on the left, select the “mySoftware” menu item.
    • Select the link “Software Catalog: To purchase new software”
    • Search the software catalog for Matlab
    • Follow the instructions on the page entitled “Matlab for Students”.
  • On-line documentation for matlab is available on the PCs at the Krieger Academic Computing Laboratory. First run Matlab as described above, and type in the command “helpdesk<enter>”. Helpdesk will open in a web browser window.
  • The “Getting Started in Matlab” tutorial introduction is available on-line from the mathworks web site: https://www.mathworks.com/help/pdf_doc/matlab/getstart.pdf
  • Laboratory #0 asks you to read the “Getting Started in Matlab” tutorial from page 1 up to and including “scripts” and “functions”.

Notes and References

PDFs of these references will be posted here: https://jh.box.com/v/530-647-Dropbox

  • Notes on Kronecker Products.
  • James C. Kinsey, Advances in Precision Navigation of Oceanographic Submersibles, PhD Thesis, Johns Hopkins University, 2006.
  • Notes on the Dynamics of Rigid-Body Open Kinematic Chains.
  • On the global stability of PD control of robot arms for setpoint regulation:
  • References on Model-Based Trajectory Tracking Control of Robot Arms:
    • E. Freund, Fast Nonlinear Control with Arbitrary Pole-Placement for Industrial Robots and Manipulators. The International Journal of Robotics Research March 1982 1: 65-78, doi:10.1177/027836498200100104, URL: http://ijr.sagepub.com/content/1/1/65.refs.html
  • References on Adaptive Model-Based Trajectory Tracking Control of Robot Arms:
    • John J. Craig, Ping Hsu, and S. Shankar Sastry, Adaptive Control of Mechanical Manipulators. The International Journal of Robotics Research June 1987 6: 16-28, doi:10.1177/027836498700600202, URL: http://ijr.sagepub.com/content/6/2/16
    • Jean-Jacques E. Slotine and Weiping Li, On the Adaptive Control of Robot Manipulators. The International Journal of Robotics Research September 1987 6: 49-59, doi:10.1177/027836498700600303, URL: http://ijr.sagepub.com/content/6/3/49
    • Whitcomb, L.L.; Rizzi, A.A.; Koditschek, D.E., “Comparative experiments with a new adaptive controller for robot arms,” Robotics and Automation, IEEE Transactions on , vol.9, no.1, pp.59,70, Feb 1993 doi: 10.1109/70.210795 URL: http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=210795


Students are encouraged to work in groups to learn, brainstorm, and collaborate in learning how to solve problems.

Problem Sets and Lab Assignments Final Writeups: Your final writeups for pre-lab exercises and lab assignments must be done independently without reference to any notes from group sessions, the work of others, or other sources such as the internet.

While working on your final writeups for assignments, you may refer to your own class notes, your own laboratory notes, and the text.

Disclosure of Outside Sources: If you use outside sources other than your class notes and your text to solve problems in the pre-lab and lab assignments (i.e. if you have used sources such as your roommate, study partner, the Internet, another textbook, a file from your office-mate’s files) then you must disclose the outside source and what you took from the source in your writeup.

In this course, we adopt the ethical guidelines articulated by Professor Lester Su for M.E. 530.101 Freshman experiences in mechanical engineering I, which are quoted with permission as follows:

Cheating is wrong. Cheating hurts our community by undermining academic integrity, creating mistrust, and fostering unfair competition. The university will punish cheaters with failure on an assignment, failure in a course, permanent transcript notation, suspension, and/or expulsion.

Offenses may be reported to medical, law or other professional or graduate schools when a cheater applies. Violations can include cheating on exams, plagiarism, reuse of assignments without permission, improper use of the Internet and electronic devices, unauthorized collaboration, alteration of graded assignments, forgery and falsification, lying, facilitating academic dishonesty, and unfair competition. Ignorance of these rules is not an excuse.

On every exam, you will sign the following pledge: “I agree to complete this exam without unauthorized assistance from any person, materials or device. [Signed and dated]”

For more information, see the guide on “Academic Ethics for Undergraduates” and the Ethics Board web site (http://ethics.jhu.edu).

I do want to make clear that I’m aware that the vast majority of students are honest, and the last thing I want to do is discourage students from working together. After all, working together on assignments is one of the most effective ways to learn, both through learning from and explaining things to others. The ethics rules are in place to ensure that the playing field is level for all students. The following examples will hopefully help explain the distinction between what constitutes acceptable cooperation and what is not allowable.

Student 1: Yo, I dunno how to do problem 2 on the homework, can you clue me in?

Student 2: Well, to be brief, I simply applied the **** principle
that is thoroughly explained in Chapter **** in the course text.

Student 1: Dude, thanks! (Goes off to work on problem.)

– This scenario describes an acceptable interaction.
There is nothing wrong with pointing someone in the right direction.

Student Y: The homework is due in fifteen minutes and I haven’t
done number 5 yet! Help me!

Student Z: Sure, but I don’t have time to explain it to you, so
here. Don’t just copy it, though.
(Hands over completed assignment.)

Student Y: I owe you one, man. (Goes off to copy number 5.)

– This scenario is a textbook ethics violation on the part of
both students. Student Y’s offense is obvious; student Z is
guilty by virtue of facilitating plagiarism, even though he/she
is unaware of what student Y actually did.

Joe Student: Geez, I am so swamped, I can’t possibly write up the
lab report and do the lab data calculations before it’s all due.

Jane student: Well, since we were lab partners and collected all
the data together…maybe you could just use my Excel spreadsheet
with the calculations, as long as you did the write-up yourself….

Joe Student: Yeah, that’s a great idea!

– That is not a great idea. By turning in a lab report with Jane’s
spreadsheet included, Joe is submitting something that isn’t his
own work.

Study group member I: All right, since there’s three of us and
there’s six problems on the homework, let’s each do two. I’ll
do one and two and give you copies when I’m done.

Study group member II: Good idea, that’ll save us a lot of work.
I’ll take three and five.

Study group member III: Then I guess I’ll do four and six. Are you
guys sure this is OK? Seems fishy to me.

Study group member I: What’s the problem? It’s not like we’re
copying the entire assignment. Two problems each is still a lot
of work.

– This is clearly wrong. Copying is copying even if it’s only
part of an assignment.

Mike (just before class): Hey, can you help me? I lost my
calculator, so I’ve got all the problems worked out but I
couldn’t get the numerical answers. What is the answer for
problem 1?

Ike: Let’s see (flips through assignment)… I got 2.16542.

Mike: (Writing) Two point one six five four two…what about
number 2?

Ike: For that one… I got 16.0.

Mike: (Writing) Sixteen point oh…great, got it, thanks.
Helping out a friend totally rules!

– Helping out a friend this way does not rule, totally or
partially. As minor as this offense seems, Mike is still
submitting Ike’s work as his own when Mike gets the numerical
answer and copies it in this way.