Skip to content

Latest commit

 

History

History
98 lines (84 loc) · 9.82 KB

README.md

File metadata and controls

98 lines (84 loc) · 9.82 KB

Robot-Navigation-SLAM

  • Note: This group project was completed as part of the ROB 550: Robotic Systems Lab course between March and May 2024. The original code is hosted on GitLab. This GitHub version is built to demonstrate the results and allow users to smoothly follow the steps.
  • PDF: Botlab report

Goal

The project aims to develop a comprehensive robotic system capable of autonomous navigation. This includes designing a feedback controller to regulate motor speed and a velocity-based movement controller, implementing 2D mapping using Lidar for simultaneous localization and mapping (SLAM), and constructing a path planner for effective navigation within the mapped environment.

Prequisites

  • Mbot Classic - Assembly Guide
  • microSD card for main storage
  • SD adapter

System setup

Communication framework

Results

Wheel speed calibration (PWM-speed linear mapping)

  • This is the core of our open-loop wheel speed controller while also used in the closed-loop wheel speed controller
left_motor right_motor

Motion control

  • Mbot's motion control is composed of 3 hierarchical levels as shown below:
  • Closed-loop Wheel speed PID controller (showing step input response)
left_wheel_pid_response right_wheel_pid_response
  • Mbot Velocity controller response (when driven on an oval track)

SLAM (Simultaneous Localization & Mapping)

  • SLAM Components (Monte Carlo localization & Occupancy grid-based mapping)
  • Demo

Path Planning

  • Demo using A* algorithm