top of page
Autonomou Mobile Robots 12 Week Course

Autonomou Mobile Robots 12 Week Course

Course Content Overview


You will learn about autonomous mobile robots (AMRs) from the ground up, starting low level interfacing of microcontrollers to sensors and actuators, the statistical and conceptual parts of navigation, and implementing these concepts using ROS on both simulated and real robots.


Thus, you will learn about the various components and sensors typically used on AMRs and how to communicate with them at a low-level using communication protocols such as serial/UART, SPI, and I2C, as well as at a higher level of abstraction such as ROS communication nodes of publishers and subscribers.


Several ROS based SLAM algorithms will be covered at a functional level, such as Hector, Gmapping, and RTabMap (visual SLAM). Additionally, you will be tasked to create your own non-ROS based navigation system using any sensors and processor or microcontroller you wish.


The course will have a lecture portion followed by a lab portion each week. A certificate will be awarded at the end of the course after you have completed and demonstrated your lab results. Short quizzes will be given in each lecture to help build comprehension and demonstration of knowledge to yourself. The quizzes won’t be graded, but they are a tool that allows the student to learn from the questions given.




A desire to learn about AMRs, research and learn what you don’t know, and ask questions if you need help with any questions, no matter how basic they might seem.


Knowledge of Python and/or C/C++ is highly recommended.



Lectures are 1 to 1.5 hrs/wk and Labs are approx. 1.5 hrs/wk.

Homework will be given, typically to be prepared for the next lab.


You can find a Syllabus for the course in an attachment below.


Please contact me at email:  zenorobotics at gmail dot com  with available 1.5 to 2 hr time slots per week for live video teaching.


*Weekly slides will become available to you before each lecture.

*Slides for the first two weeks covering Intro to Arduino have been included in the purchase download.

** I can assist you on pointing out kits and parts you can use. I offer Arduino Kits, as well as the Edu-AMR for purchase (at discount for confirmed students of course) as well for those in the United States.


Syllabus for Foundations of AMRs

Course Content Overview
Given above.


Listed Above.


Required Course Materials
1)  Arduino Uno, Breadboard, Wires (M-M jumpers or pre-cut wires), USB Cable for Uno, Servo, Ultrasonic Distance Sensor, MPU6050
2)  Optional: 10K ohm Variable Resistor, Tri-color LED and resistors.
3)  Single board computer such as the Raspberry Pi 4B, Jetson Nano, or similar
4)  Mobile robot frame with differential drive
5)  Motors with encoders
6)  2D Lidar

* Or mobile robot similar to Edu-AMR, which will have most of all components listed above.


Optional Reference Materials

Links: (Free)


Roland Siegwart, Illah R. Nourbakhsh and Davide Scaramuzza 'Introduction to Autonomous Mobile Robots', 2nd edition, The MIT Press, 2011.
Stuart Russel and Peter Norvig ‘Artificial Intelligence: A Modern Approach’, 4th edition, Pearson, 2020
Xiang Gao and Tao Zhang ‘Introduction to Visual SLAM: From Theory to Practice’, Springer, 2021.



Section 1: Embedded System in Robotics: Sensors and Actuators
   1.  Introduction to Arduino
       • Microcontrollers
       • Basic Circuits Terminology and Concepts (voltage, current, resistance, LED operation, etc.).
       • Arduino Sketch Development Using IDE (C/C++)
          - Basic Sketch/Program Parts
       •  Coding and Circuit Projects Using Arduino Uno or Similar
          -  Digital I/O
          -  Analog to Digital Ports
          -  Pulse Width Modulation (PWM)
          -  Communication Interface Protocols (I2C, UART/Serial, SPI)
          -  Ultrasonic Sensor
          -  Inertial Measurement Unit (MPU6050)
   2.  Mobile Robot Motors
        •  Motors with Encoders
        •  Motor Controller Hardware and Software Examples
        •  Design and Code Your Own Motor Driver Controller
            - Read Encoder Values and Reset Encoders
             ➢ Calculate Distance Traveled *
            -   Adding PID To Make Robot Travel Straight (Encoders)
         •  Read IMU’s Gyro (z-axis) for Pose Data Calculation *
         * These Functions Will Be Used With ROS

   3.  Range Measuring Sensors
       •  Ultrasonic Sensor
       •  2D Lidar
       •  3D Lidar
       •  Depth Cameras


Section 2: Autonomous Mobile Robotics Concepts
1.  Overview
2.  Introduction to ROS
     •  Install ROS
     •  Install Gmapping SLAM Package
     •  Simulate Edu-AMR Model Using ROS SLAM Package
     •  Use Gazebo and Rviz for Visual and Physics on Model
3.  Mobile Robot Locomotion and Kinematics
4.  Filters (Bayes, Kalman, etc.) and Usage for
     •  Perception, Localization, Mapping, and Navigation
5.  Environment Perception
6.  Probabilistic Map-Based Localization and Mapping (SLAM), and
7.  Motion planning
8. Visual SLAM
     •  Install RTABMap
     •  Use in simulation environment.
     •  Implement with real robot if you have a depth camera.


Section 3: Overview of ROS2 and NVIDIA Isaac ROS
1.  Difference between ROS(1) and ROS2
2.  GPU Accelerated AI and ML code using Isaac ROS and a computer with an Nvidia GPU.

Section 4: Special Topics and Projects
1.  Robotic Arms & MoveIt
2.  TBD based on student’s interests



    bottom of page