Merge branch 'feat/monitoringpage-cb' of git.science.uu.nl:ics/sp/2025/n25b/pepperplus-cb into feat/monitoringpage-cb
This commit is contained in:
@@ -7,6 +7,7 @@ from control_backend.agents import BaseAgent
|
||||
from control_backend.agents.bdi.agentspeak_generator import AgentSpeakGenerator
|
||||
from control_backend.core.agent_system import InternalMessage
|
||||
from control_backend.core.config import settings
|
||||
from control_backend.schemas.belief_message import Belief, BeliefMessage
|
||||
from control_backend.schemas.program import ConditionalNorm, Program
|
||||
from control_backend.schemas.ri_message import (
|
||||
GestureCommand,
|
||||
@@ -31,7 +32,7 @@ class UserInterruptAgent(BaseAgent):
|
||||
Prioritized actions clear the current RI queue before inserting the new item,
|
||||
ensuring they are executed immediately after Pepper's current action has been fulfilled.
|
||||
|
||||
:ivar sub_socket: The ZMQ SUB socket used to receive user intterupts.
|
||||
:ivar sub_socket: The ZMQ SUB socket used to receive user interrupts.
|
||||
"""
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
@@ -118,8 +119,23 @@ class UserInterruptAgent(BaseAgent):
|
||||
"Forwarded button press (override) with context '%s' to BDIProgramManager.",
|
||||
event_context,
|
||||
)
|
||||
elif asl_goal := self._goal_map.get(ui_id):
|
||||
await self._send_to_bdi_belief(asl_goal)
|
||||
self.logger.info(
|
||||
"Forwarded button press (override) with context '%s' to BDI Core.",
|
||||
event_context,
|
||||
)
|
||||
|
||||
goal_achieve_msg = InternalMessage(
|
||||
to=settings.agent_settings.bdi_program_manager_name,
|
||||
thread="achieve_goal",
|
||||
body=ui_id,
|
||||
)
|
||||
|
||||
await self.send(goal_achieve_msg)
|
||||
else:
|
||||
self.logger.warning("Could not determine which element to override.")
|
||||
|
||||
elif event_type == "pause":
|
||||
self.logger.debug(
|
||||
"Received pause/resume button press with context '%s'.", event_context
|
||||
@@ -291,6 +307,19 @@ class UserInterruptAgent(BaseAgent):
|
||||
await self.send(msg)
|
||||
self.logger.info(f"Directly forced {thread} in BDI: {body}")
|
||||
|
||||
async def _send_to_bdi_belief(self, asl_goal: str):
|
||||
"""Send belief to BDI Core"""
|
||||
belief_name = f"achieved_{asl_goal}"
|
||||
belief = Belief(name=belief_name)
|
||||
self.logger.debug(f"Sending belief to BDI Core: {belief_name}")
|
||||
belief_message = BeliefMessage(create=[belief])
|
||||
msg = InternalMessage(
|
||||
to=settings.agent_settings.bdi_core_name,
|
||||
thread="beliefs",
|
||||
body=belief_message.model_dump_json(),
|
||||
)
|
||||
await self.send(msg)
|
||||
|
||||
async def _send_experiment_control_to_bdi_core(self, type):
|
||||
"""
|
||||
method to send experiment control buttons to bdi core.
|
||||
|
||||
Reference in New Issue
Block a user