Team project · 2025

Cognitive architecture for a search-and-rescue TIAGo

A modular architecture that lets a TIAGo robot work autonomously after an earthquake: mapping and navigation, victim detection and triage, structural-risk assessment, and real-time reporting to human supervisors.

  • WhereUniversity of Genova
  • Team3 students · main contributor to the repository
  • StackROS Noetic · Python · UML
  • ScopeDesign-validation prototype

Overview

In a team of three, we designed a cognitive architecture for a TIAGo robot working autonomously after an earthquake. We designed the components, their interfaces and interactions first, then built the architecture as a ROS Noetic prototype with one node per component, custom messages and services. The nodes use stub logic: the purpose of the prototype is to validate the design and its data flow.

Architecture diagram: TIAGo sensors feed navigation, victim handling and structural-risk subsystems, which publish alerts and mission reports to a human supervisor; validation with rosbag replay and rostest.
Architecture: sensors → cognitive subsystems → alerts, reports and the human supervisor.

Architecture

  • Sensing: LiDAR and sonar, an RGB-D camera, a microphone and a wrist force sensor.
  • Navigation: 3D SLAM, path planning and a navigation controller.
  • Victim handling: victim detection, triage and a speaker service to talk to people.
  • Structural risk: crack and weak-wall detection, published as a RiskReport message.
  • Supervision: real-time victim and risk alerts, mission reports, and a GUI from which a human supervisor can send manual requests.

The design uses the Observer and Strategy patterns and is documented with component, sequence and ROS-graph diagrams.

My contribution

I was the main contributor to the repository:

  • Refined the component and sequence diagrams and the ROS graph.
  • Documented the triage system and added the RiskReport message.
  • Added launch files and rosbag test data.
  • Set up rostest integration tests, with a GitHub Actions workflow that builds the workspace and runs them in a ROS container on every push and pull request.

Tech stack

  • ROS Noetic
  • Python
  • Custom messages and services
  • UML
  • rostest
  • rosbag
  • GitHub Actions