Disaster situations require a swift and agile response to identify all victims in hazardous environments, but human efforts may be limited due to environmental severity. HERMES is an autonomous robotic system composed of a compact robot and a centralized server that will aid rescue operations. Rather than relying on a static map, the server utilizes behavior trees to drive autonomous decision-making. This framework enables the robot to systematically explore unknown spaces by dynamically balancing thorough area coverage with victim identification. At deployment, the controller synthesizes sensor data to localize the robot, map victim positions, and ensure autonomous, collision-free navigation.
The HERMES software architecture is built upon the ROS2 Jazzy distribution running on Ubuntu 24.04, which provides the essential communication backbone for node coordination and data processing. For environmental mapping, we implemented the ROS2 SLAM Toolbox to generate real-time 2D occupancy grids from RPLiDAR C1 LiDAR sensor data. The Nav2 stack was used for pathfinding and collision avoidance while navigating the map. High-level decision-making and frontier exploration are governed by a custom behavior tree. This modular framework allows the robot to balance exploration tasks with reactive behaviors, such as confirming a victim’s location when the Arducam OV5647 Camera identifies a potential target. When a victim is detected, the system calculates their position on the global map and updates the PyQt5-based GUI for the operator.
HERMES successfully demonstrated single robot to server system communication, with the robot collecting and sending LiDAR sensor data to the laptop server. This data was also vital for frontier exploration, path planning, and navigation. The output of the navigation algorithm is a velocity command which is sent back to the robot to move the motors. Concurrently, the camera runs a facial detection model to detect victims in front of the robot. If a captured frame contains a human face, the picture is sent to the laptop application and the robot pinpoints the position of the identified victim on the map.
