Robotic Vision: Making Robots See (FutureLearn)

Robotic Vision: Making Robots See (FutureLearn)

How does my robot see? Get involved in a vision project by writing the code for a complete vision system. Programming a computer to see requires knowing the principles of vision, and mathematical and programming skills.

Class Deals by MOOC List - Click here and see FutureLearn's Active Discounts, Deals, and Promo Codes.

We start by refining our knowledge of image geometry and complete some MATLAB exercises. Next, we start the robotic vision programming project. You will be supported to learn the functions you need, such as improving colour segmentation, detecting shape and size, improving your homography matrix, rectifying your image and forming a complete vision system.
As an optional project, if you have built or bought a robot, we provide the information for integrating your vision system.

What topics will you cover?

  • homogeneous coordinates
  • image formation
  • planar homography
  • colour segmentation
  • blobs and their properties, such as size, shape and position
  • homography matrices
  • vision system integration (optional).

What will you achieve?
By the end of the course, you'll be able to...

  • Apply your knowledge of computer vision to create a vision system
  • Demonstrate basic coding in MATLAB for calibration, shape classification and workspace coordination
  • Reflect on the success of your and your peers’ robotic vision systems

This course is part of the Robotic Vision program, which will enable you to skills in building robotic vision systems will become vital to developing the robots of the future.

Who is the course for?
This course assumes that you are familiar with concepts from advanced high-school mathematics or undergraduate engineering. Ideally, you will have knowledge of geometry and basic physics (optics).
The course also assumes knowledge of the programming required to complete the computer vision project. This course uses the MATLAB programming language and environment, but your knowledge of programming in other languages can be easily transferred to MATLAB. You can familiarize yourself with MATLAB by enrolling in the MATLAB Onramp tutorial.
Please note that this course includes video content and other visual teaching methods. Blind and visually impaired students may need a helper.

What software or tools do you need?
The course requires you to code your robot vision system in MATLAB. You will need to download the MATLAB software. With support from MathWorks, free access to MATLAB will be provided for the duration of the course plus 30 days.

Optional robot arm project
The purpose of this course is to program a robotic vision system, and optionally to integrate it with a robot to perform a simple, visual task. If you completed the course Introducing Robotics: Build a Robot Arm, you may already have a working robot arm you can use; or you might choose to purchase a LEGO MINDSTORMS NXT or EV3 development kit or something equivalent to it, or to borrow hobby robot components. This course does not run through how to assemble your robot arm, but rather provides all of the task instructions, demonstrations and worksheets for programming the vision system.
There are many ways to integrate the vision system and some of the most common approaches are:

1. Computer vision and robotics control on your computer
An attached web camera is used to acquire images that you process, to display results and to send motion commands to the robot. You will require a 64-bit computer as well as the full MATLAB software. There are many options to control the robot depending on the technology that you use to create it, for example:
a. MINDSTORMS NXT toolbox (NXT kits) or EV3 require custom software toolboxes to control your robot.
b. Arduino or RaspberryPi robot controllers might require a serial, WiFi or Ethernet cable connection to allow the MATLAB code to command it.

2. Computer vision on your computer
An attached web camera is used to acquire images that you process and display results for. You will require a 64-bit computer as well as the full MATLAB software.

3. Computer vision in the cloud
Your image processing works in an offline mode: you capture images of the worksheet using any camera and upload them to MATLAB Online using MATLAB Drive, where it is accessible by your program.
You can discuss your design ideas and options with your peers and the course mentors.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

MATLAB et Octave pour débutants (edX) EdX
École Polytechnique Fédérale de Lausanne,EPFLx

MATLAB et Octave pour débutants (edX)

Premiers pas dans MATLAB et Octave avec un regard vers le calcul scientifique. Commencer à utiliser un logiciel est toujours délicat, on ne sait jamais par où commencer. Dans ce cours nous allons nous concentrer sur la maîtrise d’Octave et MATLAB, de façon à pouvoir par la suite continuer à apprendre de manière indépendante.

Self Paced
Self-Paced
Robotic Vision: Processing Images (FutureLearn) FutureLearn
Queensland University of Technology

Robotic Vision: Processing Images (FutureLearn)

How do computers process images? Learn about image processing and image features, and how robots can be programmed to see. Programming a robot to see requires knowing the principles of vision, mathematical knowledge and programming skills. We explore how computers process images, learning the operations required to process an image using MATLAB.

No sessions available
4 Weeks
Introducing Robotics: Making Robots Move (FutureLearn) FutureLearn
Queensland University of Technology

Introducing Robotics: Making Robots Move (FutureLearn)

The world needs people who understand how to get robots moving. Making robots move requires both mathematical knowledge and programming skills. We begin with the problem of describing where things are in the world. Starting simply, we consider objects in a two-dimensional plane, exploring the concepts of position, pose, rotation, and translation. Robot movement relies on the principles of kinematics – the motion of a body or bodies. You’ll program forward kinematics equations in MATLAB and learn approaches to inverse kinematics.

No sessions available
3 Weeks
Introduction to Deep Learning for Computer Vision (Coursera) Coursera
MathWorks

Introduction to Deep Learning for Computer Vision (Coursera)

Starting with zero deep learning knowledge, this foundational course will guide you to effectively train cutting-edge models for image classification purposes. From analyzing medical images to recognizing traffic signs, classification is important for many applications. Classification models also serve as the backbone for more complicated object detection models.

Sep 14th 2026
4 Weeks
Introduction to Programming with MATLAB (Coursera) Coursera
Vanderbilt University

Introduction to Programming with MATLAB (Coursera)

This course teaches computer programming to those with little to no previous experience. It uses the programming system and language called MATLAB to do so because it is easy to learn, versatile and very useful for engineers and other professionals. MATLAB is a special-purpose language that is an excellent choice for writing moderate-size programs that solve problems involving the manipulation of numbers.

Sep 14th 2026
5-12 Weeks
Introdução ao Controle Moderno (Coursera) Coursera
Instituto Tecnológico de Aeronáutica

Introdução ao Controle Moderno (Coursera)

Este curso lhe dará a base necessária para entender técnicas mais avançadas de controle moderno. Você aprenderá como representar a dinâmica de um sistema no espaço de estados, como analisar um sistema no espaço de estados, como projetar uma realimentação de estado e como projetar um observador de estado.

Sep 21st 2026
5-12 Weeks
Controle de Sistemas no Plano-s (Coursera) Coursera
Instituto Tecnológico de Aeronáutica

Controle de Sistemas no Plano-s (Coursera)

Após esse curso você será capaz de esboçar o Lugar Geométrico das Raízes (LGR - Root Locus) do denominador da Função de Transferência em Malha Fechada a partir dos polos e zeros da Função de Transferência em Malha aberta. Você também será capaz de projetar controladores de avanço de fase para atender simultaneamente requisitos de desempenho de amortecimento e de velocidade da resposta.

Sep 28th 2026
5-12 Weeks