A robot that is programmed to react to external stimuli, what factors determine the speed at which it detects / recognizes the stimuli? Suppose this robot is programmed to respond to various different external stimuli, such as clicking a button when a color changes, clicking a button when something appears in a blank screen, evading a punch / kick etc. This question focuses purely on the stimuli recognition / detection speed and not the actual physical action / reaction speed. Say I wanted to program this robot to detect / recognize various different stimuli at 0.1 milliseconds, what has to be done to achieve this? When I say various different external stimuli, I mean it being multi - situational. So this robot should detect / recognize various different external stimuli in 0.1 millisecond. For example, detecting a punch / kick from 5 inches away at 0.1 millisecond. Detecting a color change in a computer screen in 0.1 millisecond. Detecting a pistol making sound (like in 100 sprints) in 0.1 millisecond. Detecting something appearing in a computer screen in 0.1 millisecond etc. I've learnt that using photo diodes can be useful for detecting color changes very fast. However, can it be equally helpful for detecting other external stimuli such as detecting a random piston sound, punches, kicks, etc. or is it purely for detecting color changes? Is there something that can be used to improve detection speed for all external stimuli or is it specific to different ones? Please note that my question is purely focusing on visual and auditory external stimuli and detection speed. Another important note is that my question is purely driven out of curiosity. It's not a professional job or anything alike. I'm just trying to learn this out of curiosity. Thanks in advanced!