SS-4311 Robot Programming


Module Code: SS-4311
Module Title: Robot Programming
Type of Module: Major Option
Modular Credits: 4MC
Prerequisite: SS-1204 Computer Architecture and Organization, SM-1301 Discrete Mathematics

This module introduces fundamental knowledge and programming techniques of robotics. The module emphasizes on code development and debugging for mobile robot platforms.

This module is a compulsory module for Soft Computing stream.

The students are expected to have enthusiasm in robotic technologies and are expected to spend time outside the contact hours to research into the subject matters that have been encountered in the lectures and laboratory exercises. This module expect the students to learn by explore and discovery.

This module will be mainly lab based. We will focus on the mobile robot in our practical exercises. We will begin with lectures in the first few weeks to introduce the core concepts in robot. After then, we will spend time in the lab to learn to program the different aspects of a robot. The students are expected to find solutions to the assigned tasks. There will be time spent fiddling with the hardware components and the electronics.

The course assessment will be made up from three tasks that lead to a final output. The tasks are to be completed during the laboratory sessions. Each student is expected to produce and submit a report for each task. The three reports will contribute to the final individual report (70%). At the end of the module, each student will make a presentation (30%) on their works.

Canvas: Please regularly check the announcement list on Canvas. All assignments are to be submitted through Canvas.


The activities (lectures, tutorials, labs) during the following time slots are not fixed. They will be adjusted according to our progress.

  • 14:00-16:50, Tuesday, FSM1.19 (Afternoon break: 15:40-16:10, if possible)
  • 11:30-13:50, Thursday, FSM1.12 (Lunch break: 12:10-13:10)
  • The above rooms are used when we have lectures and classroom based activities. For lab sessions, we will use the robotic lab in B2-14/15 in the Integrated Science (IS) Building.
  • You will spend the majority of your time fiddling with robot components and programming to get them do what you want.


Coursework 100%: 1 Oral Presentation (30%), 1 Individual Report (70%)
The individual report will be scored from several assigned tasks.


  • Matarić, Maja J. The robotics primer. Mit Press, 2007.
  • Siegwart, Roland, Illah Reza Nourbakhsh, and Davide Scaramuzza. Introduction to autonomous mobile robots. MIT press, 2011.
  • Jones, Joe, and Daniel Roth. Robot programming: a practical guide to behavior-based robotics. McGraw Hill Professional, 2004.

Course Schedule (subject to adjustment):

Wk 1: L1 Overview, L2 Robot Brain
Wk 2: Robot brain (MCU) labs
Wk 3: L3 Robot Sensing
Wk 4-5: Robot sensing (Sensors) labs
Wk 6: L4 Robot Motion (Effectors, Actuators, Kinematics)
Wk 7: Robot motion labs
Wk 8: Mid semester break
Wk 9: Robot motion labs
Wk 10: L5 Robot Control
Wk 11-14: Robot control labs
Wk 15: Presentation

Important Dates:

1 Sep: Completion of tasks on sensing.
8 Sep: Submission of report on sensing.
29 Sep: Completion of tasks on robot motion.
6 Oct: Submission of report on robot motion.
3 Nov: Completion of all tasks.
8-10 Nov: Presentations
10 Nov: Submission of final report


L1 Overview

  • Applications of Robots
  • What is a Robot?
  • Types of Robots
  • Components of Robots

L2 Robot Brain

  • On the robot “brain”
  • Microcontrollers
  • Robot programming

L3 Sensing

  • Robot States
    • Internal, External
    • Observability
    • State Space
    • Sensor Space
  • Sensors
    • Sensing & Perception
    • Types of Sensors
    • Challenges in Sensing
    • Sensor Characteristics
    • Some Common Sensors

L4 Robot Actions – Effectors & Actuators

  • Actions
  • Effectors & Actuators
  • Motors
    • DC Motor
    • Gearing
    • Servos
    • Stepper Motors

L5 Robot Actions – Locomotion & Manipulation

  • Robot Motion
    • Degree of Freedom
    • Holonomic System
    • Kinematics & Dynamics
    • Trajectory
  • Locomotion
  • Gait
    • Stability
    • Legged, Wheeled
  • Manipulation
    • Forward & Inverse Kinematics
    • Gripper

L6 Robot Control

  • Control Systems
  • PID Controller
  • Robot Control Architectures
  • An Example: Braitenberg Vehicle
  • Behavioral-Based Control


Lab 1: Getting Start with Arduino UNO R3

Lab 2: Robot Sensors

Lab 3: Robot Actions

Lab 4: Behavioral-Based Robot