The functional architecture above shows the functions and the flow of information, energy, and material for Salus. The inputs to Salus include visual sensing, pose estimation sensing, obstacle sensing, inertial measurements, power data, motor encoders, and disinfection fluid. Outputs from the Salus system include movement, disinfection solution, and information on disinfected hotspots. The functional architecture is broken up into eight functional blocks: process inputs, hotspot perception, determine operating mode, indoor navigation, hotspot disinfection, log disinfection data, monitor heartbeat, and Marvelmind API.
Process Inputs: The process inputs functional block contains any functions related to processing of raw sensor data.
Hotspot Perception: The hotspot perception functional block contains the functions related to detecting hotspots and estimating the poses of hotspots.
Determine Operating Mode: This functional block is responsible for coordinating various actions so that Salus can perform the overall system goal in a cohesive manner.
Indoor Navigation: The indoor navigation functional block is responsible for taking the pose of the robot and the poses of hotspots to control the base motors in such a way that Salus moves towards the targeted hotspot while avoiding obstacles.
Hotspot Disinfection: This hotspot disinfection functional block is responsible for moving the spray nozzle into position and actuating the sprayer to disinfect hotspots.
Log Disinfection Data: This functional block will store and communicate disinfection logs to the user at the end of a mission.
Monitor Errors: The monitor errors functional block monitors the critical components within the entire system for errors, and will block actuation commands if a critical component has failed.
Marvelmind API: The Marvelmind API functional block processes data from the robot base.