image/svg+xml
clock.update()
services.action()
multinode.synchronize() [if using multi-node]
internal MORSE services like simulation pause/stop, etc.
sensor.default_action()
sensor.local_data
for each sensor...
output_modifier(data)
for each sensor.output_modifiers
output_function(data)
for each sensor.output_functions
for each actuator...
init()
configures robots, sensors, actuators, middlewares and modifiers as declaredin component_config.py
sensor.action()
actuator.default_action()
sensor.local_data
input_modifier(data)
for each actuator.input_modifiers
actuator.action()
input_function(data)
for each actuator.input_functions
External client software
(comunication via middlewares)
simulation_main()
1.
2.
3.
1.
2.
3.
datastream_manager.action()
middleware-specific tasks that are independent of the actuators or sensors.
for each datastream_managers
1.
request_manager.process()
processing of incoming external RPC or pending internal RPC calls.
for each request_managers
4.
2.
3.
5.