"""
NAO stub tracker and look-at components.
"""
from sic_framework.core.actuator_python2 import SICActuator
from sic_framework.core.connector import SICConnector
from sic_framework.core.message_python2 import SICMessage, SICConfMessage, SICRequest
[docs]
class NaoStubTrackerActuator(SICActuator):
"""Stub for NAO tracker actuator - logs actions instead of executing them."""
[docs]
@staticmethod
def get_conf():
return SICConfMessage()
[docs]
@staticmethod
def get_output():
return SICMessage
[docs]
def execute(self, request):
"""Log the tracker request instead of executing it."""
self.logger.info("NaoStub.tracker: {}".format(type(request).__name__))
self.logger.debug(" Request details: {}".format(request))
return SICMessage()
[docs]
def on_message(self, message):
"""Log incoming messages."""
self.logger.info("NaoStub.tracker message: {}".format(type(message).__name__))
self.logger.debug(" Message details: {}".format(message))
[docs]
def stop(self):
"""Stop the Tracker actuator."""
self._stopped.set()
super(NaoStubTrackerActuator, self).stop()
[docs]
class NaoStubLookAtActuator(SICActuator):
"""Stub for NAO look-at actuator - logs actions instead of executing them."""
[docs]
@staticmethod
def get_conf():
return SICConfMessage()
[docs]
@staticmethod
def get_output():
return SICMessage
[docs]
def execute(self, request):
"""Log the look-at request instead of executing it."""
self.logger.info("NaoStub.look_at: {}".format(type(request).__name__))
self.logger.debug(" Request details: {}".format(request))
return SICMessage()
[docs]
def on_message(self, message):
"""Log incoming messages."""
self.logger.info("NaoStub.look_at message: {}".format(type(message).__name__))
self.logger.debug(" Message details: {}".format(message))
[docs]
def stop(self):
"""Stop the LookAt actuator."""
self._stopped.set()
super(NaoStubLookAtActuator, self).stop()
[docs]
class NaoStubTracker(SICConnector):
component_class = NaoStubTrackerActuator
[docs]
class NaoStubLookAt(SICConnector):
component_class = NaoStubLookAtActuator