This course is an introduction to the exciting world of robotics and the mathematics and algorithms that underpin it. You’ll develop an understanding of the representation of pose and motion, kinematics, dynamics and control. You’ll 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 kit (9797) you will be able to build a simple robot arm and write the control software for it.
Combined with the Robotic Vision MOOC, this course is based on a 13 week undergraduate course Introduction to Robotics at the Queensland University of Technology.
Course Outcomes
By the end of this course you should be able to:
Pathways through the course
You can follow three paths through the MOOC:
Workload
You should 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:
Time required for the last two items will depend on your level of skill with MATLAB and programming in general.
Certificate of Achievement
Throughout the course you will be asked to complete quizzes and programming exercises. These will be automatically marked. If you pass 4 quizzes and 4 programming assignments you will receive a Certificate of Achievement. The programming assignments will consist of several MATLAB tasks and will be based on the lecture content for that week.
The robot project will be peer assessed but doesn’t count towards the Certificate of Completion.
Assumed knowledge
To complete the MOOC you should know some basic programming (either of MATLAB or of an object-oriented programming language) and some of the following areas of maths: matrices, vectors and spaces, eigenvalues and eigenvectors. We’ve included links to Khan Academy on these topics. We believe this knowledge will be necessary to complete the course, and recommend that you view these before Week 1 begins, but you might prefer to watch them on an ‘as needed’ basis after you view our content.
Note: A free version of MATLAB will be available for the duration of the course. Also, Professor Corke’s textbook (not essential) will be available at a significant discount.
Requirements Hardware
Software
Other
This week we will look at where the idea of robots has come from, and the difference between fictional and real robots. We’ll 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’s critical to know where a robot is, and where are the things that it needs to deal with. We’ll start simply and consider the case of objects in a 2-dimensional plane. The skills you’ll learn and the tools we’ll use will be essential for the MATLAB assignments and the project.
Week 2
This week 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.
Week 3
This week we’ll 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’ll 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.
Week 4
This week 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.
Week 5
This week 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.
Week 6
This week 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.