Merge branch 'dev' into refactor/logging

This commit is contained in:
2025-11-05 15:09:14 +01:00
11 changed files with 153 additions and 51 deletions

View File

@@ -1,5 +1,6 @@
import json
import spade.agent
import zmq
from spade.behaviour import CyclicBehaviour
from zmq.asyncio import Context
@@ -29,6 +30,8 @@ class RICommandAgent(BaseAgent):
self.bind = bind
class SendCommandsBehaviour(CyclicBehaviour):
"""Behaviour for sending commands received from the UI."""
async def run(self):
"""
Run the command publishing loop indefinetely.
@@ -45,7 +48,19 @@ class RICommandAgent(BaseAgent):
# Send to the robot.
await self.agent.pubsocket.send_json(message.model_dump())
except Exception as e:
self.logger.error("Error processing message: %s", e)
self.agent.logger.error("Error processing message: %s", e)
class SendPythonCommandsBehaviour(CyclicBehaviour):
"""Behaviour for sending commands received from other Python agents."""
async def run(self):
message: spade.agent.Message = await self.receive(timeout=0.1)
if message and message.to == self.agent.jid:
try:
speech_command = SpeechCommand.model_validate_json(message.body)
await self.agent.pubsocket.send_json(speech_command.model_dump())
except Exception as e:
self.agent.logger.error("Error processing message: %s", e)
async def setup(self):
"""
@@ -70,5 +85,6 @@ class RICommandAgent(BaseAgent):
# Add behaviour to our agent
commands_behaviour = self.SendCommandsBehaviour()
self.add_behaviour(commands_behaviour)
self.add_behaviour(self.SendPythonCommandsBehaviour())
self.logger.info("Finished setting up %s", self.jid)