Introduction to Robotic Systems Education Kit

Teaching materials now available on GitHub.

You can download the materials by clicking the button below which will take you to Arm Education's official GitHub pages.

Teach your students to develop autonomous mechatronics and robotic systems, which have developed rapidly in the last decade. The advent of modern technologies in motors, sensors, autonomous control and machine learning has resulted in a wide range of applications in manufacturing processes, autonomous cars, drones and space applications.

 

Kit specification:

  • A full set of lecture slides, ready for use in a typical 10-12-week undergraduate course (see full syllabus).
  • Lab manuals with solutions. Labs are based on low-cost yet powerful Arm-based hardware boards (donated by partners and subject to availability)
  • Prerequisites: Basics of software programming in C, basic knowledge of circuit design
Access Education Kit

Course Aim

To produce students with a solid introductory knowledge on robotics and key practical skills required to program and control a robot to interact with its environment and perform simple manoeuvres.

 

Learning Outcomes

  • Knowledge and understanding of:
    • The basic definitions, concepts and design elements of robotic systems.
    • The features, benefits and functions of the Arm Cortex-M7 processor architecture.
    • The processor memory map, endianness and instruction set syntax of the Arm Cortex-M7 processor.
    • The concepts of interrupts and exceptions and the processes of handling both.
    • The key characteristics, elements and concepts of Robotic Operating System (ROS).
  • Intellectual
    • Describe the key components and functions of power supply in autonomous cars.
    • Explain how a DC motor works and show how a single FET switch can be used in design of motor controllers.
    • Describe the applications of different motor controller topologies and pulse-width modulation for velocity and steering control.
    • Describe and explain the applications of optical sensing in the following autonomous robot operations: velocity measurement and line following.
    • Describe how control theory can be used for designing autonomous cars.
    • Describe how a robot can navigate in a strange environment using SLAM.
  • Practical
    • Write a C program that calls subroutines written in assembly language and use suitable tools for debugging.
    • Analyse CPU timing behaviour via a debug tool and user-defined signals.
    • Program a microcontroller to output a pulse-width modulated signal (PWM) to control the voltage supplied to an LED.
    • Program the robot to move forwards and backwards in a straight line by calling motor specific libraries.
    • Write a program to use data from infrared sensors to control the robot to do line following.
    • Install ROS and perform basic operations on a robot such as obstacle detection and keyboard control.
    • Apply basic ROS computation graph concepts that enable communication between nodes.
    • Use ROS computation graph to implement a line following and obstacle avoidance self-driving robot.
    • Use ROS to simulate and practically demonstrate both SLAM and autonomous navigation operations on a robot.
    • Implement a voice-controlled robot in ROS using speech-to-text libraries.

 

Syllabus

1 Introduction to Robotic Systems
2 Arm Cortex-M7 Processor Architecture Part 1
3 Arm Cortex-M7 Processor Architecture Part 2
4 Interrupts and Low Power Features
5 Power Supply for Autonomous Cars
6 DC Motors and Motor Controllers
7 PWM and Servo Control
8 Optical Sensing in Robotics
9 Robot Operating System
10 Control for Autonomous Cars
11 Simultaneous Localisation and Mapping (SLAM)

Recommended Online Course

 
Mechatronics and Robotics Online Course

Learn core concepts of mechatronics and robotics systems design, as well as microcontroller programming using powerful Arm-based platforms.

Sign Up for Newsletter

Interested in hearing more from the Arm University Program?

Sign Up