Checkpoints

Last Updated: Dec 23, 2023

In this lab, you will be working with the MBot (Classic). Each MBot moves with differential drive, 2 parallel wheels with a rear caster. Each motor is equipped with a magnetic wheel encoder.

The robot also has a scanning 2D Lidar, and a MEMS 3-axis IMU. The MBot has a Wi-Fi connection for communicating with its onboard Jetson Nano compute module. The low level motor control is implemented on the MBot Control Board on a RaspberryPi RP2040 based microcontroller.

Overview

ACTION

  • Cascade Control & PID
  • 3-DOF rigid-body coordinate transforms
  • Planar kinematics of a differential-drive ground robot
  • Motion models with uncertainty

PERCEPTION

  • Quadrature Encoders
  • MEMS Inertial Measurement Unit
  • 2D LIDAR Rangefinders
  • Camera and Fiducial Marker Detection

REASONING

  • Monte Carlo Localization
  • Simultaneous Localization and Mapping
  • A* search
  • Path planning

Structure

Part 1:

  • Assemble the MBot
  • Design a gripping mechanism for your MBot

Part 2:

  • Design a feedback controller to control the motor speed
  • Design a controller to move the robot based on velocity commands
  • Implement servo.c in the mbot library to control servo motors for the gripping mechanism

Part 3:

  • Implement 2D mapping using the 2D Lidar
  • Build a SLAM system and map and localize in an environment
  • Build a path planner to navigate in the map

Part 4:

  • Use OpenCV and apriltags to find obstacles and targets in the environment
  • Implement a Potential Field Planner and Visual Servoing

This is a team assignment. Your team must complete it together, collectively participating on each component.


Table of contents