Course Description
Contents
Graduatelevel 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, inputoutput 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, 1D and 2D arrays, and userdefined function calls. Students with experience using all language elements (including data input/output, 1D and 2D arrays, and userdefined function calls) in any high level language (e.g. C, C++, FORTRAN, Pascal, Lisp, Basic) should be able to selftutor 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.
Instructors
Faculty
Professor Louis L. Whitcomb
Department of Mechanical Engineering
G.W.C. Whiting School of Engineering
The Johns Hopkins University
Phone: 4105166724
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 34pm, Hackerman 135  Mr. Andrew Spielvogel <aspielv1@jhu.edu>
Office Hours: Tuesday 34pm, Krieger 70 (Hydro Lab)
Class Schedule
 Tuesdays 10:3011:45AM, Room 168, Bloomberg Center
 Thursdays 10:3011:45AM,Room 168, Bloomberg Center
Exam Schedule
Exams are cumulative, closed Book, closed notes, closed cellphone, closed calculators.
 Midterm Exam: TBA
 Final Exam: 9AM12 Noon Monday, December 18, 2017
Required Text Book
 Stable Adaptive Systems, by Kumpati S. Narendra and Anuradha M. Annaswamy, Dover Publications, 2005. This required text is available at the JHU Bookstore on Charles Street, and on Amazon: https://www.amazon.com/StableAdaptiveSystemsElectricalEngineering/dp/0486442268
Some Additional References (Not Required)
Some additional text books that are NOT REQUIRED but are excellent references include:
 Adaptive Control: Stability, Convergence, and Robustness, by Shankar Sastry and Marc Bodson, Dover Publications, 2011. Available for free in pdf here http://www.ece.utah.edu/~bodson/acscr and in hardcopy from Dover Books on Amazon: https://www.amazon.com/AdaptiveControlConvergenceRobustnessEngineering/dp/0486482022/ref=sr_1_1?ie=UTF8&qid=1509483897
 Nonlinear Systems (3rd Edition) by Hassan K. Khalil, Pearson, 2001. Available from Amazon: https://www.amazon.com/NonlinearSystems3rdHassanKhalil/dp/0130673897
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.
 Problem Set 0 – due 5PM Friday September 8, 2017
 Problem Set 1 – due 5PM Tuesday September 19, 2017
 Problem Set 2 – due 5PM Tuesday October 3, 2017
 Problem Set 3 – due 5PM Tuesday October 10, 2017
 Problem Set 4 – due 5PM Tuesday October 17, 2017
 Problem Set 5 – due 5PM Tuesday December 5, 2017
 Problem Set 6 – is optional, for extra credit, due any time before 5PM Monday December 18, 2017
Laboratory Sets
Links will be added as the labs are assigned.
 Laboratory 0 – due 5PM Tuesday September 12, 2017
 Laboratory 1 – due 5PM Friday September 22, 2017
 Laboratory 2 – due 5PM Friday October 6, 2017
 Laboratory 3 – due 5PM Friday October 13, 2017
 Laboratory 4 – due 5PM Friday October 20, 2017
 Laboratory 5 – due 5PM Friday December 8, 2017
MATLAB Notes
 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 MacOS 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”.
 Online 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 online 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/530647Dropbox
 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 RigidBody Open Kinematic Chains.
 On the global stability of PD control of robot arms for setpoint regulation:
 Takegaki, Morikazu, and Suguru Arimoto. “A new feedback method for dynamic control of manipulators.” ASME, Transactions, Journal of Dynamic Systems, Measurement and Control 103 (1981): 119125. URL: http://dynamicsystems.asmedigitalcollection.asme.org/article.aspx?articleid=1403157
 References on ModelBased Trajectory Tracking Control of Robot Arms:
 Luh, J. Y S; Walker, M. W.; Paul, R. P C, “Resolvedacceleration control of mechanical manipulators,” Automatic Control, IEEE Transactions on , vol.25, no.3, pp.468,474, Jun 1980 doi: 10.1109/TAC.1980.1102367 URL: http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=1102367

 E. Freund, Fast Nonlinear Control with Arbitrary PolePlacement for Industrial Robots and Manipulators. The International Journal of Robotics Research March 1982 1: 6578, doi:10.1177/027836498200100104, URL: http://ijr.sagepub.com/content/1/1/65.refs.html
 References on Adaptive ModelBased 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: 1628, doi:10.1177/027836498700600202, URL: http://ijr.sagepub.com/content/6/2/16
 JeanJacques E. Slotine and Weiping Li, On the Adaptive Control of Robot Manipulators. The International Journal of Robotics Research September 1987 6: 4959, 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
Ethics
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 prelab 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 prelab and lab assignments (i.e. if you have used sources such as your roommate, study partner, the Internet, another textbook, a file from your officemate’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 writeup 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.