Course Code: ENG01

Term: February 2015

Start Date: Feb 15 2015

End Date: Jun 29 2015

Duration: 20 weeks

This course has ended

February 2015

- Professor Peter CorkeInstructor

Course Summary

This course is an introduction to the exciting world of robotics and the mathematics and algorithms that underpin it. You will develop an understanding of the representation of pose and motion, kinematics, dynamics and control. You will also be introduced to the variety of robots and the diversity of tasks to which this knowledge and skills can be applied, the role of robots in society, and associated ethical issues. If you have access to a LEGO Mindstorms robotics development kit you will be able to build a simple robot arm and write the control software for it.

This course combined with the *Robotic vision MOOC*, is based on a 13 week undergraduate course, Introduction to robotics at the Queensland University of Technology.

By the end of this course you should be able to:

- describe and explain what robots are and what they can do
- describe mathematically the position and orientation of objects and how they move
- describe mathematically the relationship between robot joint coordinates and tool pose
- reflect on the future role and development of robots in human society
- compute the rigid-body forces in a robot and design a joint control system (optional advanced material)
- apply the mathematical, algorithmic and control principles of robot arm manipulators to implement a working robot through physical construction and software development (applies to optional project).

It would be beneficial to have knowledge of basic programming (either MATLAB or an object-oriented programming language) and some of the following areas of mathematics: vectors and spaces, matrices, and eigenvalues and eigenvectors. You can review these topics by visiting the Khan Academy using the links below. We recommend that you view these before week 1 begins, but you might prefer to watch them on an ‘as needed’ basis throughout the course.

Khan Academy instructional videos:

- Vector intro for linear algebra
- Introduction to the matrix
- Matrix multiplication introduction
- Identity matrix
- Transformation matrix for position vector
- Introduction to eigenvalues and eigenvectors

Throughout the course you will have the opportunity to complete assessable quizzes and programming exercises. These will be automatically marked. The programming exercises will consist of several MATLAB tasks and will be based on the lecture content for that week.

Participants who successfully complete the assessable aspects of the course will receive a *certificate of participation*. The overall assessment is worth a total of 240 points, comprised of 120 points for assessable quizzes and 120 points for MATLAB programming tasks. To qualify you must achieve an overall score of 47%. The quizzes and programming tasks are weighted equally, so it does not matter how you make up your 120 points.

If you have access to a robotics development kit you can choose to build a simple robot arm and write the software to control it. This optional project is not a requirement for the *certificate of participation* however it is a valuable opportunity to apply your knowledge and skills. A peer assessment or review process will allow you to share your experience and robot with others, while reviewing the robots your peers build.

You can choose how you interact with this course. Following registration you can:

- Study all of the content and complete the assessable quizzes and programming exercises. You will receive a
*certificate of participation*if you pass the assessment. - Opt not to submit the assessment but participate in the course, accessing the lectures, content, quizzes and programming exercises at your leisure. You will not receive a certificate.
- Choose option (a) or (b) and complete a robot building project which is peer assessed.

If you choose options (a) and (c) you should plan to spend about 4–8 hours per week on this course. Depending on your level of skill with MATLAB and programming in general, your studies might include:

- 2 hours viewing the lecture videos and completing the optional quiz questions to check your understanding
- 30 minutes for each of the six weekly assessable quizzes
- 2 hours for each of the six weekly programming exercises
- 1–2 hours building the robot (optional project) or doing further research and/or communicating on the discussion forum.

You will need:

- A computer capable of running MATLAB. Visit the MathWorks website to check the system requirements.

You may wish to purchase a robotics development kit to do the project. There are many technologies that you can use to build your robot. Here we list three:

- The project demonstration videos use the LEGO Mindstorms NXT kit with the older NXT brick:
- You can use the newer LEGO Mindstorms EV3 kit:
- Hobby robot components such as Dynamixel AX12 servo motors, mechanical brackets and connectors, cables and an Arduino-based Arbotix control board.

The third option is the toughest path to follow but it is also potentially the most rewarding. I recommend you take this option only if you’ve got good mechanical (construction, 3D printing) and embedded computer experience (e.g. Arduino) or have somebody who can help you in these areas. On the plus side it is likely to be the lowest cost, and some of the kits would get you a robot with four joints instead of the two joints we create using LEGO.

You will need the following software:

- MATLAB, a proprietary technical computing and visualisation package which is a core requirement. MathWorks have generously provided a downloadable license to use MATLAB for free for the duration of the course. You can access the licence and the software from the course site once you’ve registered.
- Open source toolboxes for MATLAB will also be available from the course site.
- The open source RWTH Mindstorms NXT toolbox is required to complete the robot arm building project.

Access to the textbook written by Professor Peter Corke (2011), *Robotics, Vision and Control: Fundamental Algorithms in MATLAB* (Springer) is optional, but considered beneficial. The textbook is available for you to purchase at a significant discount.

The course content will be released weekly. Each week you will go through video materials in two lectures. The videos are interspersed with non-assessed quiz questions and exercises to check your understanding. After the two lectures you will be presented with two assessable tasks: a quiz and a programming exercise. Throughout the course you will also be encouraged to take part in discussion forums. Finally, an optional but exciting activity is to build your own robot arm.

Take the time to prepare before lectures commence. Familiarise yourself with the site, watch the required videos, introduce yourself with a post to the forum, join in the discussion, ensure you have everything you need and complete the recommended activities.

This week we will look at where the idea of robots has come from, and the difference between fictional and real robots. We will look at a number of useful real world robots and what they do. Then we get started on the problem of describing where things are in the world. It is critical to know where a robot is, and where are the things that it needs to deal with. We will start simply and consider the case of objects in a 2-dimensional plane. The skills you will learn and the tools we will use will be essential for the MATLAB exercises and the project.

- Lecture 1:
*Introduction to robotics* - Lecture 2:
*Where things are in 2D*

We talk about how to describe the position and orientation, the pose, of objects in 3 dimensions, which is considerably more difficult than the 2-dimensional case. We also discuss how we can compute object poses that change smoothly with time, for instance to guide the arm of a robot from one pose to another.

- Lecture 3:
*Where things are in 3D* - Lecture 4:
*Time varying coordinate frames*

We finish our introduction to the fundamentals of describing pose by talking about how we can measure the motion of objects moving in the 3-dimensional world using accelerometers and gyroscopes. Then we get started with robot arms and how to describe the 3D-pose of the robot’s gripper, or end-effector, given knowledge of its structure and its joint angles.

- Lecture 5:
*Measuring the motion of things* - Lecture 6:
*Robot arms and forward kinematics*

We consider the inverse problem to the last lecture, if we know the pose of the end robot’s end-effector how do we work out what the joint angles should be. Then we consider the relationship between the velocity of the joints and the velocity of the end-effector, which raises the issue of how to describe the rate of change of pose. To keep things simple we consider the 2-dimensional case.

- Lecture 7:
*Inverse kinematics and robot motion* - Lecture 8:
*Robot velocity in 2D*

We finish off our discussion of robot kinematics by extending what we learnt in the last lecture, for 2-dimensions, and consider how to describe the rate of change of 3D-pose which turns out to be a six-dimensional vector. So far we have just assumed that robot joints can be set to some particular angle, now it’s time to consider the underlying mechatronic system and control theory that enables this to happen.

- Lecture 9:
*Robot velocity in 3D* - Lecture 10:
*Robot joint control*

We extend the work of the last lecture to consider other forces that act on a robot arm and can effect the joint control system, for example gravity, friction and inertia. We finish with a discussion about the future of robotics, where the technology is headed, how robots can help solve some of the big problems facing our societies, and some ethical considerations that arise from the application of robotics.

- Lecture 11:
*Rigid body dynamics* - Lecture 12:
*Robots and the future*

You ensure you have completed and submitted all assessable quizzes and MATLAB exercises. If you have undertaken the project to build a robot arm you submit your video for peer assessment, and participate as a peer assessor.

Check your email inbox and click on the email verification link we just sent you.

If it doesn’t reach your inbox in a few moments, it might be in your spam folder. Don’t forget to add our email address to your contacts if it did end up in spam! That’ll make sure it doesn’t happen again.

As soon as you’ve verified your email, you’ll be able to continue.

×#### Confirm Payment

Introduction to Robotics

Free