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
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.