Skip to content

Commit d01d96d

Browse files
Communication interface for ROS edge broadcaster (#533)
* Communication interface for ROS edge broadcaster * Fix node_handle * Fix typo in msg name
1 parent ef99fb4 commit d01d96d

15 files changed

+639
-430
lines changed

supplementary/alica_msgs/CMakeLists.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,25 @@ if (ament_cmake_FOUND)
99

1010
rosidl_generate_interfaces(${PROJECT_NAME}
1111
msg/AllocationAuthorityInfo.msg
12+
msg/AllocationAuthorityInfoList.msg
1213
msg/EntryPointRobots.msg
1314
msg/RoleSwitch.msg
1415
msg/SolverVar.msg
1516
msg/SyncReady.msg
17+
msg/SyncReadyList.msg
1618
msg/AlicaEngineInfo.msg
1719
msg/PlanTreeInfo.msg
20+
msg/PlanTreeInfoList.msg
1821
msg/SolverResult.msg
22+
msg/SolverResultList.msg
1923
msg/SyncData.msg
2024
msg/SyncTalk.msg
25+
msg/SyncTalkList.msg
2126
msg/StringTuple.msg
2227
msg/AgentQuery.msg
28+
msg/AgentQueryList.msg
2329
msg/AgentAnnouncement.msg
30+
msg/AgentAnnouncementList.msg
2431
)
2532

2633
ament_export_dependencies(rosidl_default_runtime)
@@ -32,18 +39,25 @@ else (ament_cmake_FOUND)
3239
add_message_files(
3340
DIRECTORY msg FILES
3441
AllocationAuthorityInfo.msg
42+
AllocationAuthorityInfoList.msg
3543
EntryPointRobots.msg
3644
RoleSwitch.msg
3745
SolverVar.msg
3846
SyncReady.msg
47+
SyncReadyList.msg
3948
AlicaEngineInfo.msg
4049
PlanTreeInfo.msg
50+
PlanTreeInfoList.msg
4151
SolverResult.msg
52+
SolverResultList.msg
4253
SyncData.msg
4354
SyncTalk.msg
55+
SyncTalkList.msg
4456
StringTuple.msg
4557
AgentQuery.msg
58+
AgentQueryList.msg
4659
AgentAnnouncement.msg
60+
AgentAnnouncementList.msg
4761
)
4862

4963
generate_messages(
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
AgentAnnouncement[] agent_announcements
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
AgentQuery[] agent_queries
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
AllocationAuthorityInfo[] allocation_authority_infos
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
PlanTreeInfo[] plan_tree_infos
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
SolverResult[] solver_results
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
SyncReady[] sync_readies
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
SyncTalk[] sync_talks

supplementary/alica_ros1/alica_ros_proxy/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ include_directories(
3333
add_library(alica_ros_proxy
3434
src/clock/AlicaROSClock.cpp
3535
src/communication/AlicaRosCommunication.cpp
36+
src/communication/AlicaRosCommunicationCommon.cpp
37+
src/communication/AlicaRosEdgeBroadcastCommunication.cpp
3638
src/logger/AlicaRosLogger.cpp
3739
)
3840

Lines changed: 6 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,84 +1,29 @@
11
#pragma once
2-
#include "alica_msgs/AgentAnnouncement.h"
3-
#include "alica_msgs/AgentQuery.h"
4-
#include "alica_msgs/AlicaEngineInfo.h"
5-
#include "alica_msgs/AllocationAuthorityInfo.h"
6-
#include "alica_msgs/PlanTreeInfo.h"
7-
#include "alica_msgs/RoleSwitch.h"
8-
#include "alica_msgs/SolverResult.h"
9-
#include "alica_msgs/SyncReady.h"
10-
#include "alica_msgs/SyncTalk.h"
112

12-
#include <engine/IAlicaCommunication.h>
3+
#include "communication/AlicaRosCommunicationCommon.h"
134

145
#include <ros/callback_queue.h>
156
#include <ros/ros.h>
16-
#include <string>
177

188
using namespace alica;
199

2010
namespace alicaRosProxy
2111
{
2212

23-
class AlicaRosCommunication : public alica::IAlicaCommunication
13+
class AlicaRosCommunication : public AlicaRosCommunicationCommon
2414
{
2515
public:
2616
AlicaRosCommunication(const AlicaCommunicationHandlers& callbacks, ros::CallbackQueue& cb_queue = *ros::getGlobalCallbackQueue());
2717
virtual ~AlicaRosCommunication();
2818

29-
void tick() override;
30-
31-
void sendAllocationAuthority(const AllocationAuthorityInfo& aai) const override;
32-
void sendAlicaEngineInfo(const AlicaEngineInfo& bi) const override;
33-
void sendPlanTreeInfo(const PlanTreeInfo& pti) const override;
34-
void sendRoleSwitch(const RoleSwitch& rs, AgentId agentID) const override;
35-
void sendSyncReady(const SyncReady& sr) const override;
36-
void sendSyncTalk(const SyncTalk& st) const override;
37-
void sendSolverResult(const SolverResult& sr) const override;
38-
void sendAgentQuery(const AgentQuery& pq) const override;
39-
void sendAgentAnnouncement(const AgentAnnouncement& pa) const override;
40-
void sendLogMessage(int level, const std::string& message) const override;
41-
42-
void handleAllocationAuthorityRos(const alica_msgs::AllocationAuthorityInfo& aai);
43-
void handlePlanTreeInfoRos(alica_msgs::PlanTreeInfoPtr pti);
44-
void handleSyncReadyRos(alica_msgs::SyncReadyPtr sr);
45-
void handleSyncTalkRos(alica_msgs::SyncTalkPtr st);
46-
void handleSolverResult(const alica_msgs::SolverResult& sr);
47-
void handleAgentQuery(const alica_msgs::AgentQuery& pq);
48-
void handleAgentAnnouncement(const alica_msgs::AgentAnnouncement& pa);
49-
50-
void startCommunication() override;
51-
void stopCommunication() override;
52-
5319
private:
54-
ros::CallbackQueue& _callbackQueue;
55-
56-
ros::Publisher _alicaEngineInfoPublisher;
57-
ros::Publisher _roleSwitchPublisher;
58-
59-
ros::Publisher _allocationAuthorityInfoPublisher;
60-
ros::Subscriber _allocationAuthorityInfoSubscriber;
61-
62-
ros::Publisher _planTreeInfoPublisher;
63-
ros::Subscriber _planTreeInfoSubscriber;
64-
65-
ros::Publisher _syncReadyPublisher;
6620
ros::Subscriber _syncReadySubscriber;
67-
68-
ros::Publisher _syncTalkPublisher;
69-
ros::Subscriber _syncTalkSubscriber;
70-
71-
ros::Publisher _solverResultPublisher;
21+
ros::Subscriber _planTreeInfoSubscriber;
7222
ros::Subscriber _solverResultSubscriber;
73-
74-
ros::Publisher _presenceQueryPublisher;
75-
ros::Subscriber _presenceQuerySubscriber;
76-
77-
ros::Publisher _presenceAnnouncementPublisher;
7823
ros::Subscriber _presenceAnnouncementSubscriber;
79-
80-
ros::NodeHandle _nh;
81-
bool _isRunning;
24+
ros::Subscriber _allocationAuthorityInfoSubscriber;
25+
ros::Subscriber _syncTalkSubscriber;
26+
ros::Subscriber _presenceQuerySubscriber;
8227
};
8328

8429
} /* namespace alicaRosProxy */

0 commit comments

Comments
 (0)