Commands are given through the GUI which are passed over to Shared Memory.
If the command is a low-level function it can be passed straight to Daemon, but if it is a higher-level function which requires additional processing the command must go through AL first, return to Shared Memory, then be passed to Daemon.
From Daemon, the commands are sent either to Gazebo (simulator) or the physical HUBO. Commands can only be sent one or the other. I don't know why, ask KAIST HUBO lab members or something.
Gazebo is run on a separate PC to simulate HUBO, the motion PC. In order to run the simulation you have to