Skip to content

Commit 154f227

Browse files
committed
feat: Update launch method in main.py to use AgentLauncher
1 parent 6a340b6 commit 154f227

File tree

9 files changed

+183
-60
lines changed

9 files changed

+183
-60
lines changed

adf_core_python/core/agent/action/action.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
from abc import ABC, abstractmethod
2-
from typing import TYPE_CHECKING
32

4-
if TYPE_CHECKING:
5-
from rcrs_core.commands.Command import Command
6-
from rcrs_core.worldmodel.entityID import EntityID
3+
from rcrs_core.commands.Command import Command
4+
from rcrs_core.worldmodel.entityID import EntityID
75

86

97
class Action(ABC):

adf_core_python/core/agent/config/module_config.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,6 @@ def __init__(self, config_file_name: str = DEFAULT_CONFIG_FILE_NAME):
3535
for key, value in flatten_data.items():
3636
self.set_value(key, value)
3737

38-
for key, value in flatten_data.items():
39-
print(f"{key}: {self.get_value(key)}")
40-
4138
def _read_from_yaml(self, file_name: str) -> dict[str, Any]:
4239
"""
4340
Read configuration from yaml file

adf_core_python/core/component/abstract_loader.py

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,24 @@
11
from abc import ABC, abstractmethod
2-
from typing import TYPE_CHECKING, Optional
3-
4-
if TYPE_CHECKING:
5-
from adf_core_python.core.component.tactics.tactics_ambulance_center import (
6-
TacticsAmbulanceCenter,
7-
)
8-
from adf_core_python.core.component.tactics.tactics_ambulance_team import (
9-
TacticsAmbulanceTeam,
10-
)
11-
from adf_core_python.core.component.tactics.tactics_fire_brigade import (
12-
TacticsFireBrigade,
13-
)
14-
from adf_core_python.core.component.tactics.tactics_fire_station import (
15-
TacticsFireStation,
16-
)
17-
from adf_core_python.core.component.tactics.tactics_police_force import (
18-
TacticsPoliceForce,
19-
)
20-
from adf_core_python.core.component.tactics.tactics_police_office import (
21-
TacticsPoliceOffice,
22-
)
2+
from typing import Optional
3+
4+
from adf_core_python.core.component.tactics.tactics_ambulance_center import (
5+
TacticsAmbulanceCenter,
6+
)
7+
from adf_core_python.core.component.tactics.tactics_ambulance_team import (
8+
TacticsAmbulanceTeam,
9+
)
10+
from adf_core_python.core.component.tactics.tactics_fire_brigade import (
11+
TacticsFireBrigade,
12+
)
13+
from adf_core_python.core.component.tactics.tactics_fire_station import (
14+
TacticsFireStation,
15+
)
16+
from adf_core_python.core.component.tactics.tactics_police_force import (
17+
TacticsPoliceForce,
18+
)
19+
from adf_core_python.core.component.tactics.tactics_police_office import (
20+
TacticsPoliceOffice,
21+
)
2322

2423

2524
class AbstractLoader(ABC):

adf_core_python/core/launcher/agent_launcher.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,12 @@ def init_connector(self) -> None:
4848
self.config.get_value(ConfigKey.KEY_TEAM_NAME),
4949
)
5050

51-
self.connectors.append(ConnectorAmbulanceCentre())
51+
# self.connectors.append(ConnectorAmbulanceCentre())
5252
self.connectors.append(ConnectorAmbulanceTeam())
53-
self.connectors.append(ConnectorFireBrigade())
54-
self.connectors.append(ConnectorFireStation())
55-
self.connectors.append(ConnectorPoliceForce())
56-
self.connectors.append(ConnectorPoliceOffice())
53+
# self.connectors.append(ConnectorFireBrigade())
54+
# self.connectors.append(ConnectorFireStation())
55+
# self.connectors.append(ConnectorPoliceForce())
56+
# self.connectors.append(ConnectorPoliceOffice())
5757

5858
def launch(self) -> None:
5959
host: str = self.config.get_value(ConfigKey.KEY_KERNEL_HOST, "localhost")

adf_core_python/core/launcher/connect/connector_ambulance_team.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from logging import Logger, getLogger
22

3-
from rcrs_core.agents.ambulanceTeamAgent import AmbulanceTeamAgent
43
from rcrs_core.connection.componentLauncher import ComponentLauncher
54

65
from adf_core_python.core.agent.config.module_config import ModuleConfig
76
from adf_core_python.core.agent.develop.develop_data import DevelopData
7+
from adf_core_python.core.agent.platoon.platoon_ambulance import PlatoonAmbulance
88
from adf_core_python.core.component.abstract_loader import AbstractLoader
99
from adf_core_python.core.component.tactics.tactics_ambulance_team import (
1010
TacticsAmbulanceTeam,
@@ -53,8 +53,14 @@ def connect(
5353

5454
# TODO: component_launcher.generate_request_ID can cause race condition
5555
component_launcher.connect(
56-
AmbulanceTeamAgent(
56+
PlatoonAmbulance(
57+
tactics_ambulance_team,
58+
"ambulance_team",
5759
config.get_value(ConfigKey.KEY_PRECOMPUTE, False),
60+
config.get_value(ConfigKey.KEY_DEBUG_FLAG, False),
61+
"test",
62+
module_config,
63+
develop_data,
5864
),
5965
component_launcher.generate_request_ID(),
6066
)

adf_core_python/implement/default_loader.py

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,24 @@
11
from typing import TYPE_CHECKING
22

33
from adf_core_python.core.component.abstract_loader import AbstractLoader
4+
from adf_core_python.core.component.tactics.tactics_ambulance_center import (
5+
TacticsAmbulanceCenter,
6+
)
7+
from adf_core_python.core.component.tactics.tactics_ambulance_team import (
8+
TacticsAmbulanceTeam,
9+
)
10+
from adf_core_python.core.component.tactics.tactics_fire_brigade import (
11+
TacticsFireBrigade,
12+
)
13+
from adf_core_python.core.component.tactics.tactics_fire_station import (
14+
TacticsFireStation,
15+
)
16+
from adf_core_python.core.component.tactics.tactics_police_force import (
17+
TacticsPoliceForce,
18+
)
19+
from adf_core_python.core.component.tactics.tactics_police_office import (
20+
TacticsPoliceOffice,
21+
)
422
from adf_core_python.implement.tactics.default_tactics_ambulance_center import (
523
DefaultTacticsAmbulanceCenter,
624
)
@@ -20,26 +38,6 @@
2038
DefaultTacticsPoliceOffice,
2139
)
2240

23-
if TYPE_CHECKING:
24-
from adf_core_python.core.component.tactics.tactics_ambulance_center import (
25-
TacticsAmbulanceCenter,
26-
)
27-
from adf_core_python.core.component.tactics.tactics_ambulance_team import (
28-
TacticsAmbulanceTeam,
29-
)
30-
from adf_core_python.core.component.tactics.tactics_fire_brigade import (
31-
TacticsFireBrigade,
32-
)
33-
from adf_core_python.core.component.tactics.tactics_fire_station import (
34-
TacticsFireStation,
35-
)
36-
from adf_core_python.core.component.tactics.tactics_police_force import (
37-
TacticsPoliceForce,
38-
)
39-
from adf_core_python.core.component.tactics.tactics_police_office import (
40-
TacticsPoliceOffice,
41-
)
42-
4341

4442
class DefaultLoader(AbstractLoader):
4543
def get_tactics_ambulance_team(self) -> TacticsAmbulanceTeam:
@@ -51,7 +49,7 @@ def get_tactics_fire_brigade(self) -> TacticsFireBrigade:
5149
def get_tactics_police_force(self) -> TacticsPoliceForce:
5250
return DefaultTacticsPoliceForce()
5351

54-
def get_tactics_ambulance_centre(self) -> TacticsAmbulanceCenter:
52+
def get_tactics_ambulance_center(self) -> TacticsAmbulanceCenter:
5553
return DefaultTacticsAmbulanceCenter()
5654

5755
def get_tactics_fire_station(self) -> TacticsFireStation:

adf_core_python/implement/tactics/default_tactics_ambulance_team.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,23 +36,23 @@ def initialize(
3636
Search,
3737
module_manager.get_module(
3838
"DefaultTacticsAmbulanceTeam.Search",
39-
"adf_core_python.implement.module.complex.DefaultSearch",
39+
"adf_core_python.core.component.module.complex.search.Search",
4040
),
4141
)
4242
self._human_detector: HumanDetector = cast(
4343
HumanDetector,
4444
module_manager.get_module(
4545
"DefaultTacticsAmbulanceTeam.HumanDetector",
46-
"adf_core_python.implement.module.complex.DefaultHumanDetector",
46+
"adf_core_python.core.component.module.complex.human_detector.HumanDetector",
4747
),
4848
)
4949
self._action_transport = module_manager.get_ext_action(
5050
"DefaultTacticsAmbulanceTeam.ExtActionTransport",
51-
"adf_core_python.implement.extaction.DefaultExtActionTransport",
51+
"adf_core_python.implement.extend_action.default_extend_action_transport.DefaultExtActionTransport",
5252
)
5353
self._action_ext_move = module_manager.get_ext_action(
5454
"DefaultTacticsAmbulanceTeam.ExtActionMove",
55-
"adf_core_python.implement.extaction.DefaultExtActionMove",
55+
"adf_core_python.implement.extend_action.default_extend_action_move.DefaultExtActionMove",
5656
)
5757
self.register_module(self._search)
5858
self.register_module(self._human_detector)

config/develop.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"test": "test"
3+
}

config/module.yaml

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
## DefaultTacticsAmbulanceTeam
2+
DefaultTacticsAmbulanceTeam:
3+
HumanDetector: adf_core_python.core.component.module.complex.human_detector.HumanDetector
4+
Search: adf_core_python.core.component.module.complex.search.Search
5+
ExtActionTransport: adf_core_python.implement.extend_action.default_extend_action_transport.DefaultExtActionTransport
6+
ExtActionMove: adf_core_python.implement.extend_action.default_extend_action_move.DefaultExtActionMove
7+
CommandExecutorAmbulance: adf.impl.centralized.DefaultCommandExecutorAmbulance
8+
CommandExecutorScout: adf.impl.centralized.DefaultCommandExecutorScout
9+
10+
# ## DefaultTacticsFireBrigade
11+
# DefaultTacticsFireBrigade:
12+
# HumanDetector: sample_team.module.complex.SampleHumanDetector
13+
# Search: sample_team.module.complex.SampleSearch
14+
# ExtActionFireRescue: adf.impl.extaction.DefaultExtActionFireRescue
15+
# ExtActionMove: adf.impl.extaction.DefaultExtActionMove
16+
# CommandExecutorFire: adf.impl.centralized.DefaultCommandExecutorFire
17+
# CommandExecutorScout: adf.impl.centralized.DefaultCommandExecutorScout
18+
19+
# ## DefaultTacticsPoliceForce
20+
# DefaultTacticsPoliceForce:
21+
# RoadDetector: sample_team.module.complex.SampleRoadDetector
22+
# Search: sample_team.module.complex.SampleSearch
23+
# ExtActionClear: adf.impl.extaction.DefaultExtActionClear
24+
# ExtActionMove: adf.impl.extaction.DefaultExtActionMove
25+
# CommandExecutorPolice: adf.impl.centralized.DefaultCommandExecutorPolice
26+
# CommandExecutorScout: adf.impl.centralized.DefaultCommandExecutorScoutPolice
27+
28+
# ## DefaultTacticsAmbulanceCentre
29+
# DefaultTacticsAmbulanceCentre:
30+
# TargetAllocator: sample_team.module.complex.SampleAmbulanceTargetAllocator
31+
# CommandPicker: adf.impl.centralized.DefaultCommandPickerAmbulance
32+
33+
# ## DefaultTacticsFireStation
34+
# DefaultTacticsFireStation:
35+
# TargetAllocator: sample_team.module.complex.SampleFireTargetAllocator
36+
# CommandPicker: adf.impl.centralized.DefaultCommandPickerFire
37+
38+
# ## DefaultTacticsPoliceOffice
39+
# DefaultTacticsPoliceOffice:
40+
# TargetAllocator: sample_team.module.complex.SamplePoliceTargetAllocator
41+
# CommandPicker: adf.impl.centralized.DefaultCommandPickerPolice
42+
43+
## SampleSearch
44+
SampleSearch:
45+
PathPlanning:
46+
Ambulance: adf.impl.module.algorithm.DijkstraPathPlanning
47+
Fire: adf.impl.module.algorithm.DijkstraPathPlanning
48+
Police: adf.impl.module.algorithm.DijkstraPathPlanning
49+
Clustering:
50+
Ambulance: adf.impl.module.algorithm.KMeansClustering
51+
Fire: adf.impl.module.algorithm.KMeansClustering
52+
Police: adf.impl.module.algorithm.KMeansClustering
53+
54+
## SampleBuildDetector
55+
SampleBuildingDetector:
56+
Clustering: adf.impl.module.algorithm.KMeansClustering
57+
58+
## SampleRoadDetector
59+
SampleRoadDetector:
60+
Clustering: adf.impl.module.algorithm.KMeansClustering
61+
PathPlanning: adf.impl.module.algorithm.DijkstraPathPlanning
62+
63+
## SampleHumanDetector
64+
SampleHumanDetector:
65+
Clustering: adf.impl.module.algorithm.KMeansClustering
66+
67+
## DefaultExtActionClear
68+
DefaultExtActionClear:
69+
PathPlanning: adf.impl.module.algorithm.DijkstraPathPlanning
70+
71+
## DefaultExtActionFireFighting
72+
DefaultExtActionFireFighting:
73+
PathPlanning: adf.impl.module.algorithm.DijkstraPathPlanning
74+
75+
## DefaultExtActionFireRescue
76+
DefaultExtActionFireRescue:
77+
PathPlanning: adf.impl.module.algorithm.DijkstraPathPlanning
78+
79+
## DefaultExtActionMove
80+
DefaultExtActionMove:
81+
PathPlanning: adf.impl.module.algorithm.DijkstraPathPlanning
82+
83+
## DefaultExtActionTransport
84+
DefaultExtActionTransport:
85+
PathPlanning: adf.impl.module.algorithm.DijkstraPathPlanning
86+
# ## DefaultCommandExecutorAmbulance
87+
# DefaultCommandExecutorAmbulance:
88+
# PathPlanning: adf.impl.module.algorithm.DijkstraPathPlanning
89+
# ExtActionTransport: adf.impl.extaction.DefaultExtActionTransport
90+
# ExtActionMove: adf.impl.extaction.DefaultExtActionMove
91+
92+
# ## DefaultCommandExecutorFire
93+
# DefaultCommandExecutorFire:
94+
# PathPlanning: adf.impl.module.algorithm.DijkstraPathPlanning
95+
# EtxActionFireRescue: adf.impl.extaction.DefaultExtActionFireRescue
96+
# EtxActionFireFighting: adf.impl.extaction.DefaultExtActionFireFighting
97+
# ExtActionMove: adf.impl.extaction.DefaultExtActionMove
98+
99+
# ## DefaultCommandExecutorPolice
100+
# DefaultCommandExecutorPolice:
101+
# PathPlanning: adf.impl.module.algorithm.DijkstraPathPlanning
102+
# ExtActionClear: adf.impl.extaction.DefaultExtActionClear
103+
# ExtActionMove: adf.impl.extaction.DefaultExtActionMove
104+
105+
# ## DefaultCommandExecutorScout
106+
# DefaultCommandExecutorScout:
107+
# PathPlanning: adf.impl.module.algorithm.DijkstraPathPlanning
108+
109+
# ## DefaultCommandExecutorScoutPolice
110+
# DefaultCommandExecutorScoutPolice:
111+
# PathPlanning: adf.impl.module.algorithm.DijkstraPathPlanning
112+
# ExtActionClear: adf.impl.extaction.DefaultExtActionClear
113+
114+
# ## MessageManager
115+
# MessageManager:
116+
# PlatoonChannelSubscriber: adf.impl.module.comm.DefaultChannelSubscriber
117+
# CenterChannelSubscriber: adf.impl.module.comm.DefaultChannelSubscriber
118+
# PlatoonMessageCoordinator: adf.impl.module.comm.DefaultMessageCoordinator
119+
# CenterMessageCoordinator: adf.impl.module.comm.DefaultMessageCoordinator
120+
121+
# ## VisualDebug
122+
# VisualDebug: true

0 commit comments

Comments
 (0)