# Revolutionizing Urban Pest Management with Sensor Fusion and Precision Fumigation Robotics
## 3 Mapping and Hotspot Identification
### Dynamic Map Update  
The generated map has a lot of obstacles, and robots must avoid them during the exploration. While doing so, the robot looks for hotspots for fumigation. In addition to saving the hotspot location, it is displayed as a marker inside the map in real time. Transformation plays a major role in updating the map. It is a concept through which points in one frame can be converted with respect to another frame. Here, all the objects detected are published with respect to the camera frame. However, to put those objects inside the map, it must be published with respect to the map frame. The system has two nodes running in parallel; one node called Detection.py, with its pseudocode presented in Algorithm 1, is responsible for detecting the objects and converting the location obtained into the map frame, then another node called Marker.py converts the object's location into a visualization marker. The Detection.py node, apart from localizing objects, also scores the object; thus, during multiple instances, if the same object is detected, the object's location is provided with a score signifying the importance of the hotspot. The overall workings of the proposed system are shown in Figures 5 and 6. ``` Initialize parameters and variables Define read_csv function Define write_csv function Main program execution: Start RealSense pipeline Initialize ROS node and publishers Initialize variables for pose tracking and detection Start main loop: Obtain color and depth frames Detect objects in color frame using YOLO Iterate over detected results: Extract bounding box coordinates Calculate object center Estimate object depth Transform object pose to map frame Read existing data from CSV Compare current pose with existing entries: If match found: Update score for object If no match found: Append new entry with object's pose and prev_score Write updated data back to CSV Visualize detected objects and scores on color image Display color image with annotations Wait for user input to exit program \begin{table}
\begin{tabular}{l l} \hline \hline  & **Component** & **Detailed Specification** \\ \hline CPU & Intel i7 12 th-Gen Core 65 W LGA1700 CPU \\ RAM & 64 GB DDR5 4800 MHz \\ Graphics & NVIDIA RTX 4080 16 GB \\ SSD & NVMe SSD 2 TB Gen4 M.2 2280 \\ Temperature & Rugged, \(-25\)\({}^{\circ}\)C to \(60\)\({}^{\circ}\)C operation \\  & 3-pin + 4-pin pluggable terminal block for 8 V to 48 V DC \\ DC Input & input with ignition control, Humidity: 10–90\%, non-condensing \\ Vibration and Shock absorption & MIL-STD-810H, Method 514.8, Category 4 (with damping bracket) \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Detailed specifications of the IPC used for training the hotspot dataset. Figure 6: Flowchart illustrating the process of hotspot identification and dynamic updating over time. The system initializes, captures image data, detects and localizes hotspots, and updates the map by comparing new and previous locations, ensuring accurate and current hotspot mapping for targeted interventions. or permanent hotspot. This system allows for dynamic 3D visualization and recording of hotspot areas, enhancing the robot's ability to target fumigation efforts effectively. ## 4 Results and Discussion

### Performance Metric Analysis

The YOLOv8 detection model is trained for five hotspots: dustbin, cooler, drain, toilet, and pot. The performance analysis of the detection model was carried out using the most trusted parameters, such as \(F_{1}\) score, \(mAP\), \(recall\), and \(precision\). A high \(F_{1}\) score means the detection model balances \(recall\) and \(precision\) well; \(mAP\) provides a comprehensive performance analysis across various classes and localization accuracies. \(Recall\) is the measure of detecting objects even at the risk of false positives, and precision focuses on the model's objective to avoid false positives. Each of the parameters is calculated based on false positives (\(fp\)), false negatives (\(fn\)), true negatives (\(tn\)), and true positives (\(tp\)).