Autonomous Carbon Dioxide Mapping Robot

The Robot
The Robot

The fully assembled air quality monitoring robot with its key hardware components clearly visible. The chassis is enclosed in a custom 3D-printed shell, offering both protection and a clean aesthetic. Mounted on top is a LiDAR unit used for mapping and localization, alongside visible SHARP sensors for obstacle detection. At the rear or inside the shell, the Raspberry Pi handles processing, while an Arduino Nano and Arduino Uno manage sensor input and motor control, respectively. Wiring is neatly routed to connect the motor drivers, CO2 sensor, speaker, and lighting system, reflecting a well-organized and integrated mechatronic platform.

Gazebo Simulation
Gazebo Simulation

The simulation was conducted in Gazebo using a virtual model of the air quality monitoring robot to validate mapping, navigation, and control systems before deploying to hardware. The robot operated in a realistic indoor environment where SLAM was used to generate a map, and AMCL localization provided accurate pose estimation within that map. Navigation2 was implemented to plan and execute paths while avoiding simulated obstacles, closely mimicking the challenges of a real-world office setting.

Mapping and Navigation
Mapping and Navigation

A SLAM-generated occupancy grid map alongside the cost map used for real-time navigation. The SLAM map outlines the robot’s environment with walls, obstacles, and free space, while the overlaid cost map highlights inflated zones around obstacles for safe path planning. Transitioning from simulation to hardware introduced several challenges—most notably, integrating the H-bridge motor drivers with ROS2, which required careful tuning of PWM signals and handling motor direction control. A significant bug also arose from how encoder counts were handled: failing to iteratively clear the counts led to integer overflow as the robot moved, causing incorrect velocity estimates and erratic behavior. These issues emphasized the importance of hardware-aware coding practices and thorough real-world testing after simulation.

Integrating with Hardware

A live demonstration of the robot autonomously navigating to a user-defined goal pose. In the foreground, RViz2 is displayed with the SLAM map and cost map visible, and a goal pose is dropped using the interactive “2D Nav Goal” tool. Simultaneously, in the background, the physical robot begins moving, calculating an optimal path and avoiding obstacles as it makes its way toward the target location. The smooth coordination between RViz2, Navigation2, and the robot’s onboard systems showcases the successful integration of perception, planning, and control in a real-world environment.

Purpose of the Robot
Purpose of the Robot

The purpose of this air quality monitoring robot is to identify areas within indoor environments where elevated CO2 levels indicate poor ventilation. High concentrations of carbon dioxide can cause symptoms such as headaches, dizziness, and impaired concentration, especially in enclosed spaces with multiple occupants. The robot autonomously navigates through the space, collects CO2 data, and generates heat maps that highlight problematic zones. This enables building operators to locate and address ventilation issues that may not be apparent through static sensors or manual inspection. By continuously monitoring and mapping CO2 levels, the robot supports the maintenance of healthier indoor environments.

Team Members: