-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
102 lines (95 loc) · 3.07 KB
/
docker-compose.yml
File metadata and controls
102 lines (95 loc) · 3.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
version: '3.8'
services:
coordination-master:
build: .
container_name: multi-robot-master
environment:
- ROS_DOMAIN_ID=42
- MASTER_IP=coordination-master
ports:
- "8080:8080" # Web interface
- "8081:8081" # API
volumes:
- ./logs:/opt/multi_robot_ws/logs
- ./config:/opt/multi_robot_ws/src/multi_robot_coordination/config
command: ["python3", "/opt/multi_robot_ws/src/multi_robot_coordination/coordination_master.py", "--robots", "5", "--environment", "warehouse"]
networks:
- multi-robot-net
robot-1:
build: .
container_name: multi-robot-agent-1
environment:
- ROS_DOMAIN_ID=42
- ROBOT_ID=robot_1
- MASTER_IP=coordination-master
depends_on:
- coordination-master
volumes:
- ./logs:/opt/multi_robot_ws/logs
- ./config:/opt/multi_robot_ws/src/multi_robot_coordination/config
command: ["python3", "/opt/multi_robot_ws/src/multi_robot_coordination/robot_agent.py", "--robot-id", "robot_1"]
networks:
- multi-robot-net
robot-2:
build: .
container_name: multi-robot-agent-2
environment:
- ROS_DOMAIN_ID=42
- ROBOT_ID=robot_2
- MASTER_IP=coordination-master
depends_on:
- coordination-master
volumes:
- ./logs:/opt/multi_robot_ws/logs
- ./config:/opt/multi_robot_ws/src/multi_robot_coordination/config
command: ["python3", "/opt/multi_robot_ws/src/multi_robot_coordination/robot_agent.py", "--robot-id", "robot_2"]
networks:
- multi-robot-net
robot-3:
build: .
container_name: multi-robot-agent-3
environment:
- ROS_DOMAIN_ID=42
- ROBOT_ID=robot_3
- MASTER_IP=coordination-master
depends_on:
- coordination-master
volumes:
- ./logs:/opt/multi_robot_ws/logs
- ./config:/opt/multi_robot_ws/src/multi_robot_coordination/config
command: ["python3", "/opt/multi_robot_ws/src/multi_robot_coordination/robot_agent.py", "--robot-id", "robot_3"]
networks:
- multi-robot-net
task-generator:
build: .
container_name: multi-robot-task-generator
environment:
- ROS_DOMAIN_ID=42
- MASTER_IP=coordination-master
depends_on:
- coordination-master
volumes:
- ./logs:/opt/multi_robot_ws/logs
- ./config:/opt/multi_robot_ws/src/multi_robot_coordination/config
command: ["python3", "/opt/multi_robot_ws/src/multi_robot_coordination/task_generator.py", "--rate", "0.5", "--environment", "warehouse"]
networks:
- multi-robot-net
system-monitor:
build: .
container_name: multi-robot-monitor
environment:
- ROS_DOMAIN_ID=42
- MASTER_IP=coordination-master
- DISPLAY=${DISPLAY}
depends_on:
- coordination-master
volumes:
- ./logs:/opt/multi_robot_ws/logs
- ./config:/opt/multi_robot_ws/src/multi_robot_coordination/config
- /tmp/.X11-unix:/tmp/.X11-unix:rw
command: ["python3", "/opt/multi_robot_ws/src/multi_robot_coordination/system_monitor.py", "--no-gui"]
networks:
- multi-robot-net
networks:
multi-robot-net:
driver: bridge