Autonomy Stack for Differential Drive Mobile Robot

Autonomy Stack for Differential Drive Mobile Robot

The BotLab project was part of the ROB 550 curriculum in Fall 2023, focusing on the autonomy of a differential-drive ground robot, the MBot. The project encompassed fundamental robotics concepts such as motion control, perception, localization, mapping, and planning. By integrating these modules, I developed a fully autonomous robot capable of navigating and interacting with its environment.

The BotLab project was part of the ROB 550 curriculum in Fall 2023, focusing on the autonomy of a differential-drive ground robot, the MBot. The project encompassed fundamental robotics concepts such as motion control, perception, localization, mapping, and planning. By integrating these modules, I developed a fully autonomous robot capable of navigating and interacting with its environment.

Category

May 15, 2024

Robotics, Perception, Navigation

Robotics, Perception, Navigation

Purpose

May 15, 2024

Lab Project

Lab Project

Affiliation

May 15, 2024

University of Michigan

University of Michigan

Year

May 15, 2024

2023

2023

Project Objectives
  • Acting : Implemented motion control strategies, including PID controllers and trajectory-following algorithms for precise navigation.

  • Sensing : Utilized sensors like quadrature encoders, a 2D LiDAR, an IMU, and a camera for environment perception and robot localization.

  • Reasoning : Developed algorithms for Monte Carlo Localization (MCL), simultaneous localization and mapping (SLAM), and path planning.

Implementation Methodology
  1. Low Level Control
    • Designed and tuned a PID controller for precise wheel speed control and body velocity adjustments.

    • Implemented an odometry module using encoder and IMU data to estimate the robot's position and orientation through dead reckoning.

    • Developed a motion controller to execute paths between waypoints, ensuring smooth transitions and maintaining trajectory accuracy.


  2. Vision Stack
    • Calibrated the camera for intrinsic and extrinsic parameters, enabling accurate mapping between image and world coordinates.

    • Utilized AprilTags for obstacle detection, distance estimation, and visual servoing to align the robot with targets.


  3. Simultaneous Localization & Mapping (SLAM)
    • Implemented an occupancy grid mapping algorithm using LiDAR data and ground-truth poses.

    • Developed a Monte Carlo Localization (MCL) module to estimate the robot’s pose within a known map using a particle filter.

    • Combined localization and mapping into a robust SLAM system, enabling real-time environment mapping and navigation.


  4. Path Planning
    • Built an A* path planner to compute optimal paths through a mapped environment.

    • Implemented obstacle avoidance strategies and ensured smooth execution of planned paths using a motion controller.

    • Designed an exploration algorithm to autonomously navigate and map unknown environments by identifying unexplored frontiers.


  5. Lifting Mechanism
    • Designed and prototyped a gripper mechanism to lift and place targets.

    • Integrated gripper control with the MBot's motion system to complete pick-and-place tasks.



Results & Challenges
  • Maze Eploration : Successfully mapped a maze, returned to the starting pose, and achieved high accuracy in map quality.

  • Warehouse Task : Completed the pick-and-place challenge by retrieving and placing multiple targets within time constraints.

Project Objectives
  • Acting : Implemented motion control strategies, including PID controllers and trajectory-following algorithms for precise navigation.

  • Sensing : Utilized sensors like quadrature encoders, a 2D LiDAR, an IMU, and a camera for environment perception and robot localization.

  • Reasoning : Developed algorithms for Monte Carlo Localization (MCL), simultaneous localization and mapping (SLAM), and path planning.

Implementation Methodology
  1. Low Level Control
    • Designed and tuned a PID controller for precise wheel speed control and body velocity adjustments.

    • Implemented an odometry module using encoder and IMU data to estimate the robot's position and orientation through dead reckoning.

    • Developed a motion controller to execute paths between waypoints, ensuring smooth transitions and maintaining trajectory accuracy.


  2. Vision Stack
    • Calibrated the camera for intrinsic and extrinsic parameters, enabling accurate mapping between image and world coordinates.

    • Utilized AprilTags for obstacle detection, distance estimation, and visual servoing to align the robot with targets.


  3. Simultaneous Localization & Mapping (SLAM)
    • Implemented an occupancy grid mapping algorithm using LiDAR data and ground-truth poses.

    • Developed a Monte Carlo Localization (MCL) module to estimate the robot’s pose within a known map using a particle filter.

    • Combined localization and mapping into a robust SLAM system, enabling real-time environment mapping and navigation.


  4. Path Planning
    • Built an A* path planner to compute optimal paths through a mapped environment.

    • Implemented obstacle avoidance strategies and ensured smooth execution of planned paths using a motion controller.

    • Designed an exploration algorithm to autonomously navigate and map unknown environments by identifying unexplored frontiers.


  5. Lifting Mechanism
    • Designed and prototyped a gripper mechanism to lift and place targets.

    • Integrated gripper control with the MBot's motion system to complete pick-and-place tasks.



Results & Challenges
  • Maze Eploration : Successfully mapped a maze, returned to the starting pose, and achieved high accuracy in map quality.

  • Warehouse Task : Completed the pick-and-place challenge by retrieving and placing multiple targets within time constraints.

Project Objectives
  • Acting : Implemented motion control strategies, including PID controllers and trajectory-following algorithms for precise navigation.

  • Sensing : Utilized sensors like quadrature encoders, a 2D LiDAR, an IMU, and a camera for environment perception and robot localization.

  • Reasoning : Developed algorithms for Monte Carlo Localization (MCL), simultaneous localization and mapping (SLAM), and path planning.

Implementation Methodology
  1. Low Level Control
    • Designed and tuned a PID controller for precise wheel speed control and body velocity adjustments.

    • Implemented an odometry module using encoder and IMU data to estimate the robot's position and orientation through dead reckoning.

    • Developed a motion controller to execute paths between waypoints, ensuring smooth transitions and maintaining trajectory accuracy.


  2. Vision Stack
    • Calibrated the camera for intrinsic and extrinsic parameters, enabling accurate mapping between image and world coordinates.

    • Utilized AprilTags for obstacle detection, distance estimation, and visual servoing to align the robot with targets.


  3. Simultaneous Localization & Mapping (SLAM)
    • Implemented an occupancy grid mapping algorithm using LiDAR data and ground-truth poses.

    • Developed a Monte Carlo Localization (MCL) module to estimate the robot’s pose within a known map using a particle filter.

    • Combined localization and mapping into a robust SLAM system, enabling real-time environment mapping and navigation.


  4. Path Planning
    • Built an A* path planner to compute optimal paths through a mapped environment.

    • Implemented obstacle avoidance strategies and ensured smooth execution of planned paths using a motion controller.

    • Designed an exploration algorithm to autonomously navigate and map unknown environments by identifying unexplored frontiers.


  5. Lifting Mechanism
    • Designed and prototyped a gripper mechanism to lift and place targets.

    • Integrated gripper control with the MBot's motion system to complete pick-and-place tasks.



Results & Challenges
  • Maze Eploration : Successfully mapped a maze, returned to the starting pose, and achieved high accuracy in map quality.

  • Warehouse Task : Completed the pick-and-place challenge by retrieving and placing multiple targets within time constraints.