## CMPE 008/L - Robot Automation: Intelligence through Feedback Control - Spring 2009

### Final in class at 8AM on 10/Jun/2009

**Introduction**

Introduction to dynamical systems, feedback control, and robotics. Fundamental concepts in dynamical systems, modeling, stability analysis, robustness to uncertainty, feedback as it occurs naturally, and the design of feedback-control laws to engineer desirable static and dynamic response. Course includes an introduction to Matlab and programming in Matlab. Students will also learn about a robotic platform, its sensors, and eventually how to design and implement a feedback controller to make the robot autonomously follow a curved path.

**Background**

Modern day control engineering (also called control systems engineering) is a relatively new field of study that gained a significant attention during twentieth century with the advancement in technology. It can be broadly defined as practical application of control theory. Control engineering has an essential role in a wide range of control systems from a simple household washing machine to a complex high performance F-16 fighter aircraft. It allows one to understand a physical system in terms of its inputs, outputs and various components with different behaviors using mathematical modeling, control it in a desired manner with the controllers designed using control systems design tools, and implement the controller on the physical system employing available technology. A system can be mechanical, electrical, fluid, chemical, financial and even biological, and the mathematical modeling, analysis and controller design shall be done using control theory in one or many of the time, frequency and complex-s domains depending on the nature of the control system design problem.

Before it emerged as a unique discipline, control engineering was practiced as part of mechanical engineering and control theory was studied as a part of electrical engineering, since electrical circuits can often be easily described using control theory techniques. In the very first control relationships, a current output was represented with a voltage control input. However, not having proper technology to implement electrical control systems, designers left with the option of less efficient and slow responding mechanical systems. A very effective mechanical controller that is still widely used in some hydro plants is the governor. Later on, previous to modern power electronics, process control systems for industrial applications were devised by mechanical engineers using pneumatic and hydraulic control devices, many of which are still in use today. (courtesy of wikipedia).

**Acknowledgements**

This course was largely set up and created through the efforts of Prof. Bill Dunbar at UCSC and Prof. Jorge Cortes at UCSD. They have generously agreed to share their course materials and make them available to the class.

#### Index of class resources

- General Class Information — class and section times, instructor and TA information
- Lecture Video — Video files of the lectures, and download information for the right codec.
- Handouts — quizzes, quiz solutions, other helpful handouts.
- WebForum - for announcements, general discussion, and help.

#### Handouts

- General Course Information and Syllabus
- Control Systems Magazine Paper
- The Graduate, a worthwhile essay from rateyourstudents.com
- Course Reader, courtesy of Bill Dunbar.
- Matlab Getting Started Guide
- Labs
- Homework
- Class Presentation Slides

#### Lecture Videos

The technology to record these videos is supported by a grant from the Center for Teaching Excellence (CTE), and it is an experiment. Feedback as to the utility, and the usability of these videos would be highly appreciated. The basic hardware required is a tablet PC with the Office Tablet PC extensions, and a standard headset to capture the lecturers voice. Additionally, a program called Camtasia is used to capture the entire sequence into a standard movie format that can then be viewed at a later time for review and additional study.

You may view these lectures at any time, but do not distribute them beyond the UCSC environment. These lectures have been created using the Camtasia software, and can be played through the Camtasia player software, downloadable for free from Techsmith here, or through the standard windows media player with the techsmith codec. A Mac OSX version of the codec can be found here that allows playback of the files. Note that some students have reported that VLC works much better on MacOSX and Linux.

- Lecture #0, 31-Mar-2009, Introduction to Feedback Control
- Lecture #1, 02-Apr-2009, Introduction to MATLAB
- Lecture #2, 07-Apr-2009, MATLAB and Recursion Equations (Dunbar, no video)
- Lecture #3, 08-Apr-2009, MATLAB Functions and Difference Equations
- Lecture #4, 14-Apr-2009, Dynamic Equations and Equilibrium Points
- Lecture #5, 16-Apr-2009, Numerical Derivatives and Equations of Motion
- Lecture #6, 21-Apr-2009, Equilibrium Points and Stability
- Lecture #7, 23-Apr-2009, Pendulum Dynamics
- Lecture #8, 28-Apr-2009, More Pendulum Dynamics
- Lecture #9, 30-Apr-2009, Animation of Pendulum Dynamics
- Lecture #10, 05-May-2009, Adding Feedback to the Pendulum
- Lecture #11, 07-May-2009, Midterm and Ground Vehicles
- Lecture #12, 12-May-2009, Ground Vehicle Dynamics
- Lecture #13, 14-May-2009, Ground Vehicle Feedback
- Lecture #14, 19-May-2009, Target Tracking
- Lecture #15, 21-May-2009, Moving Point Acquisition
- Lecture #16, 26-May-2009, Realistic Sensors
- Lecture #17, 28-May-2009, Linearization
- Lecture #18, 02-Jun-2009, Robot Animation
- Lecture #19, 04-Jun-2009, Final Review

- Office Hours, 30-Apr-2009

#### Labs

The lab in this class is intended to reinforce and supplement the material covered; it is also an integral part of the experience. The labs are all programming the Scribbler robots in basic. And are expected to be completed by your team during the lab sections. Much more information is available on the scribbler website.

- Lab 1: Introduction to MATLAB.
- Lab 2: More on MATLAB.
- Lab 3: Introducing BASIC.
- Lab 4: Here come the Scribblers.
- Lab 5: More Scribblers.
- Lab 6: Sensors.

#### Homeworks and Quizzes

There will be four in class quizzes during the quarter. They will be announced in class, as well as on the forum. They will be given at the beginning of class, and will only take 10-15 minutes. Additionally, there are four homework sets due that are the problems at the end of each chapter in the course reader.

- Homework #1 (Chapter 2 problems) due 14/Apr/2009
- Homework #2 (Chapter 3 problems) due 23/Apr/2009
- Homework #3 (Chapter 4 problems) due 19/May/2009
- Homework #4 (Chapter 5 tasks) due 2/Jun/2009
- Quiz #1 is on 16/Apr/2009
- Quiz #2 is on 30/Apr/2009
- Quiz #3 is on 21/May/2009
- Quiz #4 is on 4/Jun/2009

#### Exams

- Intake Quiz 31-Mar-2009.
- Practice Quiz #1 with solutions (from 2008).
- Quiz #1 with solutions.
- Practice Quiz #2 with solutions (from 2008).
- Quiz #2 with solutions.
- Midterm solution
- Practice Midterm(with solutions).
- Practice Quiz #3 with solutions (from 2008).
- Quiz #3 with solutions.
- Practice Quiz #4 with solutions (from 2008).
- Quiz #4 with solutions.
- Final will be on Wednesday, 10/Jun/2009, 8-11AM in class.

#### Class Presentation Slides

The class lectures use the digital ink capabilities of the TabletPC. The ink is saved back into the presentation, and the presentation is saved to the website for convenience. This year we are using

Classroom Presenterrather than PowerPoint. It apprears to be far more stable, and has several nice utilities for the TabletPC. The presentation files are in the .CSD format, and you will need to download Presenter to view them. Presenter can be downloaded free from here.

- Lecture #0: Introduction to Robot Automation 31-Mar-2009
- Lecture #1: Beginning MATLAB, 02-Apr-2009
- Lecture #3: Difference Equations, 08-Apr-2009
- Lecture #4: Equilibrium Points, 14-Apr-2009
- Lecture #5: Numerical Derivatives, 16-Apr-2009
- Lecture #6: Simulation, 21-Apr-2009
- Lecture #7: Pendulum, 23-Apr-2009
- Lecture #8: More Pendulum, 28-Apr-2009
- Lecture #9: Pendulum Animation, 30-Apr-2009
- Lecture #10: Adding Feedback, 05-May-2009
- Lecture #11: Midterm and Ground Vehicles, 07-May-2009
- Lecture #13: Ground Vehicle Feedback, 14-May-2009
- Lecture #14: Target Tracking, 19-May-2009
- Lecture #15: Point Acquisition, 21-May-2009
- Lecture #16: Realistic Sensors, 26-May-2009
- Lecture #17: Linearization, 28-May-2009
- Lecture #18: Robot Animation, 02-Jun-2009
- Lecture #19: Final Review, 04-Jun-2009

- Office Hours: 30-Apr-2009

#### General Class Information

Instructor:- Name: Gabriel Hugh Elkaim (elkaim@soe.ucsc.edu)
- Phone: 831-459-3054
- Office: Engineering 2, 337B

Instructor Office Hours:- TTh, 2:00 - 4:00 PM, and by appointment

Teaching Assistant:

- Name: HyukChoong "Chuck" Kang (hkang@soe.ucsc.edu)
- Phone: (831) 459-2140
- Office: E2-316

Lab Hours:- Monday, Tuesday, Wednesday 1-3PM, Thursday 1:30-3:30PM