message | Unexpected exception [...]Unexpected exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/zuper_nodes/compatibility.py", line 25, in check_compatible_protocol
raise IncompatibleProtocol(msg)
zuper_nodes.compatibility.IncompatibleProtocol: For input "get_commands", cannot use type <class 'aido_schemas.protocol_agent.GetCommands'> as <class 'NoneType'>: CanBeUsed(result=False, why="Type <class 'aido_schemas.protocol_agent.GetCommands'> (94671724041664) \n is not a subclass of <class 'NoneType'> (139905829795584) \n is : False", M=Matches(m={}), matches={}, reasons={})
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/duckietown_challenges/cie_concrete.py", line 676, in scoring_context
yield cie
File "experiment_manager.py", line 446, in <module>
wrap(cie)
File "experiment_manager.py", line 434, in wrap
main(cie, logdir, attempts)
File "experiment_manager.py", line 79, in main
agent_ci._get_node_protocol(timeout=config.timeout_initialization)
File "/usr/local/lib/python3.7/site-packages/zuper_nodes_wrapper/wrapper_outside.py", line 88, in _get_node_protocol
check_compatible_protocol(self.node_protocol, self.expect_protocol)
File "/usr/local/lib/python3.7/site-packages/zuper_nodes/compatibility.py", line 43, in check_compatible_protocol
raise IncompatibleProtocol(msg) from e
zuper_nodes.compatibility.IncompatibleProtocol: Cannot say that p1 is a sub-protocol of p2
p1: |InteractionProtocol(description='Particularization for Duckiebot1 observations and commands.', inputs={'seed': <class 'int'>, 'get_commands': <class 'aido_schemas.protocol_agent.GetCommands'>, 'observations': <class 'aido_schemas.schemas.Duckiebot1Observations'>, 'episode_start': <class 'aido_schemas.protocol_agent.EpisodeStart'>}, outputs={'commands': <class 'aido_schemas.schemas.Duckiebot1Commands'>}, language='(in:seed)? ; ((in:episode_start ; ((in:observations | (in:get_commands ; out:commands))*))*)')
p2: |InteractionProtocol(description='Generic protocol for an agent that receives "observations" and responds \nwith "commands".\n\n"episode_start" marks the beginning of an episode.', inputs={'observations': typing.Any, 'seed': <class 'int'>, 'get_commands': <class 'NoneType'>, 'episode_start': <class 'aido_schemas.protocol_agent.EpisodeStart'>}, outputs={'commands': typing.Any}, language='(in:seed)? ; ((in:episode_start ; ((in:observations | (in:get_commands ; out:commands))*))*)')
|