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