Skip to content

Commit 47daa1e

Browse files
committed
Add instructions for SWARM Servers
1 parent 4b6128a commit 47daa1e

File tree

5 files changed

+36
-5
lines changed

5 files changed

+36
-5
lines changed

README.md

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
API Library for interacting with the SWARM Simulation Developer system
33

44
## Additional Documentation
5-
Please view the additional documentation at [SWARM Developer Documentation](https://codexlabsllc.github.io/SWARMSimFirmware/)
5+
Please view the additional documentation at [SWARM Developer Documentation](https://codexlabsllc.github.io/SWARM-RDS-Client-Dev/)
66

77
## Dependencies
88
Supported Versions of Python: 3.7 - 3.11
@@ -98,9 +98,29 @@ and you can also open or close doors (hit the `o` key) and turn on the lights (h
9898
Get started in the cloud is even easier. Just ensure that you have this repository
9999
downloaded.
100100

101-
Get the ip address from the Codex representative, which will be sent when you
102-
request access to the cloud. Then, you run the system just as you would with a local
103-
install with:
101+
### Spinning up a SWARM Server
102+
We have a number of servers readily available on Amazon Web Services (AWS).
103+
104+
To get started, you will need to create an account at (www.swarmsim.io)[https://www.swarmsim.io].
105+
106+
Once you have logged in, you will see a green button on the dashboard at the bottom of the screen that says: "Cloud Server Manager".
107+
108+
![Dashobard with Server Link](images/DashboardWithServerButton.png)
109+
110+
Click that button and you will be taken to the main server management page.
111+
112+
![Server Manager Dashboard](images/ServerManagerStartPage.png)
113+
114+
Next, you will be able to select an environemnt to deploy and request a server. The process takes between 30 seconds and 1 minute to start.
115+
116+
You will then see the following screen, providing an IP address of the server to use in the following steps.
117+
118+
![Server Access Request Successful](images/ServerAccessRequest.png)
119+
120+
You can restart the system and turn it off when you are finished. If you do not submit a Simulation for an hour,
121+
the system will automatically turn off.
122+
### Running a Simulation
123+
104124
```
105125
python3 main.py --map-name SWARMHome --ip-address IP_ADDRESS
106126
```
460 KB
Loading

images/ServerAccessRequest.png

260 KB
Loading

images/ServerManagerStartPage.png

224 KB
Loading

settings/SubmissionHistory.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,12 @@
1-
{"History": [{"Completed": true, "Settings": "{\"ID\": 0, \"SimulationName\": \"example\", \"RunLength\": 140.0, \"Scenario\": {\"Name\": \"DataCollection\", \"Options\": {\"MultiLevel\": false, \"LevelNames\": [\"Home1\"]}}, \"Environment\": {\"Name\": \"SWARMHome\", \"StartingLevelName\": \"Home1\", \"StreamVideo\": true, \"Options\": {\"Doors\": \"Open\", \"Lights\": \"Off\", \"FurnitureRandomization\": \"On\"}}, \"Data\": {\"VehicleState\": {\"Format\": \"SWARM\"}, \"Video\": {\"Format\": \"MP4\", \"VideoName\": \"TestVideo\", \"CameraName\": \"Camera1\"}}, \"Agents\": {\"Drone1\": {\"Vehicle\": \"Multirotor\", \"VehicleOptions\": {}, \"AutoPilot\": \"SWARM\", \"Sensors\": {\"IMU\": {\"Imu1\": {\"Enabled\": true, \"Method\": \"Colosseum\", \"PublishingRate\": 50.0, \"AngularRandomWalk\": 0.3, \"GyroBiasStabilityTau\": 500, \"GyroBiasStability\": 4.6, \"VelocityRandomWalk\": 0.24, \"AccelBiasStabilityTau\": 800, \"AccelBiasStability\": 36}}, \"GPS\": {\"Gps1\": {\"Enabled\": true, \"Method\": \"Colosseum\", \"PublishingRate\": 5.0, \"EphTimeConstant\": 0.9, \"EpvTimeConstant\": 0.9, \"EphInitial\": 25, \"EpvInitial\": 25, \"EphFinal\": 0.1, \"EpvFinal\": 0.1, \"EphMin3d\": 3, \"EphMin2d\": 4, \"UpdateLatency\": 0.2, \"UpdateFrequency\": 50, \"StartupDelay\": 1.0}}, \"Cameras\": {\"Camera1\": {\"Enabled\": true, \"PublishPose\": false, \"X\": 0.35, \"Y\": 0.0, \"Z\": 0.0, \"Roll\": 0.0, \"Pitch\": 0.0, \"Yaw\": 0.0, \"Settings\": {\"ImageType\": \"Scene\", \"Width\": 1280, \"Height\": 720, \"FOV_Degrees\": 90.0, \"FramesPerSecond\": 24.0}}}}, \"Controller\": {\"Name\": \"SWARMBase\", \"Gains\": {\"P\": 0.95, \"I\": 0.2, \"D\": 0.3}}, \"StartingPosition\": {\"X\": 0.0, \"Y\": 0.0, \"Z\": -0.01, \"Roll\": 0.0, \"Pitch\": 0.0, \"Yaw\": 0.0}, \"SoftwareModules\": {\"SensorDataCollector\": {\"Parameters\": {\"OutputType\": \"csv\"}, \"Publishes\": [], \"Subscribes\": []}, \"HighLevelBehavior\": {\"Algorithm\": {\"Level\": 1, \"States\": [], \"Parameters\": {\"completed_waypoint_distance\": 0.25}, \"InputArgs\": [\"Trajectory\"], \"ClassName\": \"PathFollowing\", \"ReturnValues\": [\"Position\", \"Heading\", \"Speed\"]}, \"Publishes\": [\"MovementCommand\"], \"Subscribes\": [\"AgentState\"]}, \"LowLevelPathPlanning\": {\"Algorithm\": {\"Level\": 1, \"States\": [], \"Parameters\": {}, \"InputArgs\": [\"MovementCommand\"], \"ClassName\": \"PassThroughPlanner\", \"ReturnValues\": [\"MovementCommand\"]}, \"Parameters\": {}, \"Publishes\": [], \"Subscribes\": [\"MovementCommand\", \"AgentState\"]}}}}}", "Trajectory": "{\"Trajectory\": {\"Home1\": [{\"X\": 0.0, \"Y\": 0.0, \"Z\": -0.5, \"Heading\": 0.0, \"Speed\": 2.0}, {\"X\": 0.0, \"Y\": 4.0, \"Z\": -0.5, \"Heading\": 90.0, \"Speed\": 2.0}, {\"X\": 4.0, \"Y\": 4.0, \"Z\": -0.5, \"Heading\": 0.0, \"Speed\": 2.0}, {\"X\": 4.0, \"Y\": 6.0, \"Z\": -0.5, \"Heading\": 90.0, \"Speed\": 2.0}, {\"X\": 0.0, \"Y\": 6.0, \"Z\": -0.5, \"Heading\": 180.0, \"Speed\": 2.0}, {\"X\": 0.0, \"Y\": -7.0, \"Z\": -0.5, \"Heading\": 270.0, \"Speed\": 2.0}, {\"X\": 3.0, \"Y\": -7.0, \"Z\": -0.5, \"Heading\": 0.0, \"Speed\": 2.0}, {\"X\": 3.0, \"Y\": -4.0, \"Z\": -0.5, \"Heading\": 90.0, \"Speed\": 2.0}, {\"X\": 0.0, \"Y\": -4.0, \"Z\": -0.5, \"Heading\": 180.0, \"Speed\": 2.0}, {\"X\": 0.0, \"Y\": 0.0, \"Z\": -0.5, \"Heading\": 180.0, \"Speed\": 2.0}], \"Home2\": [{\"X\": 0.0, \"Y\": 0.0, \"Z\": 0.1, \"Heading\": 0.0, \"Speed\": 2.0}, {\"X\": 0.0, \"Y\": 4.0, \"Z\": 0.1, \"Heading\": 90.0, \"Speed\": 2.0}, {\"X\": 4.0, \"Y\": 4.0, \"Z\": 0.1, \"Heading\": 0.0, \"Speed\": 2.0}, {\"X\": 4.0, \"Y\": 6.0, \"Z\": 0.1, \"Heading\": 90.0, \"Speed\": 2.0}, {\"X\": 0.0, \"Y\": 6.0, \"Z\": 0.1, \"Heading\": 90.0, \"Speed\": 2.0}, {\"X\": 0.0, \"Y\": 10.0, \"Z\": 0.1, \"Heading\": 90.0, \"Speed\": 2.0}, {\"X\": 0.0, \"Y\": 12.0, \"Z\": 0.1, \"Heading\": 0.0, \"Speed\": 2.0}], \"Home3\": [{\"X\": 0.0, \"Y\": 0.0, \"Z\": 0.1, \"Heading\": 180.0, \"Speed\": 2.0}, {\"X\": -4.0, \"Y\": 0.0, \"Z\": 0.1, \"Heading\": 180.0, \"Speed\": 2.0}, {\"X\": -8.0, \"Y\": -0.0, \"Z\": 0.0, \"Heading\": 180.0, \"Speed\": 2.0}, {\"X\": -10.0, \"Y\": -3.0, \"Z\": 0.0, \"Heading\": 270.0, \"Speed\": 2.0}, {\"X\": -12.0, \"Y\": -3.0, \"Z\": 0.0, \"Heading\": 180.0, \"Speed\": 2.0}, {\"X\": -12.0, \"Y\": 0.0, \"Z\": 0.0, \"Heading\": 90.0, \"Speed\": 2.0}]}}", "Created": "06/17/23 20:00:30", "Submitted": true, "Number Of Runs": 3}]}
1+
{
2+
"History": [
3+
{
4+
"Completed": true,
5+
"Settings": "{\"ID\": 0, \"SimulationName\": \"example\", \"RunLength\": 140.0, \"Scenario\": {\"Name\": \"DataCollection\", \"Options\": {\"MultiLevel\": false, \"LevelNames\": [\"Home1\"]}}, \"Environment\": {\"Name\": \"SWARMHome\", \"StartingLevelName\": \"Home1\", \"StreamVideo\": true, \"Options\": {\"Doors\": \"Open\", \"Lights\": \"Off\", \"FurnitureRandomization\": \"On\"}}, \"Data\": {\"VehicleState\": {\"Format\": \"SWARM\"}, \"Video\": {\"Format\": \"MP4\", \"VideoName\": \"TestVideo\", \"CameraName\": \"Camera1\"}}, \"Agents\": {\"Drone1\": {\"Vehicle\": \"Multirotor\", \"VehicleOptions\": {}, \"AutoPilot\": \"SWARM\", \"Sensors\": {\"IMU\": {\"Imu1\": {\"Enabled\": true, \"Method\": \"Colosseum\", \"PublishingRate\": 50.0, \"AngularRandomWalk\": 0.3, \"GyroBiasStabilityTau\": 500, \"GyroBiasStability\": 4.6, \"VelocityRandomWalk\": 0.24, \"AccelBiasStabilityTau\": 800, \"AccelBiasStability\": 36}}, \"GPS\": {\"Gps1\": {\"Enabled\": true, \"Method\": \"Colosseum\", \"PublishingRate\": 5.0, \"EphTimeConstant\": 0.9, \"EpvTimeConstant\": 0.9, \"EphInitial\": 25, \"EpvInitial\": 25, \"EphFinal\": 0.1, \"EpvFinal\": 0.1, \"EphMin3d\": 3, \"EphMin2d\": 4, \"UpdateLatency\": 0.2, \"UpdateFrequency\": 50, \"StartupDelay\": 1.0}}, \"Cameras\": {\"Camera1\": {\"Enabled\": true, \"PublishPose\": false, \"X\": 0.35, \"Y\": 0.0, \"Z\": 0.0, \"Roll\": 0.0, \"Pitch\": 0.0, \"Yaw\": 0.0, \"Settings\": {\"ImageType\": \"Scene\", \"Width\": 1280, \"Height\": 720, \"FOV_Degrees\": 90.0, \"FramesPerSecond\": 24.0}}}}, \"Controller\": {\"Name\": \"SWARMBase\", \"Gains\": {\"P\": 0.95, \"I\": 0.2, \"D\": 0.3}}, \"StartingPosition\": {\"X\": 0.0, \"Y\": 0.0, \"Z\": -0.01, \"Roll\": 0.0, \"Pitch\": 0.0, \"Yaw\": 0.0}, \"SoftwareModules\": {\"SensorDataCollector\": {\"Parameters\": {\"OutputType\": \"csv\"}, \"Publishes\": [], \"Subscribes\": []}, \"HighLevelBehavior\": {\"Algorithm\": {\"Level\": 1, \"States\": [], \"Parameters\": {\"completed_waypoint_distance\": 0.25}, \"InputArgs\": [\"Trajectory\"], \"ClassName\": \"PathFollowing\", \"ReturnValues\": [\"Position\", \"Heading\", \"Speed\"]}, \"Publishes\": [\"MovementCommand\"], \"Subscribes\": [\"AgentState\"]}, \"LowLevelPathPlanning\": {\"Algorithm\": {\"Level\": 1, \"States\": [], \"Parameters\": {}, \"InputArgs\": [\"MovementCommand\"], \"ClassName\": \"PassThroughPlanner\", \"ReturnValues\": [\"MovementCommand\"]}, \"Parameters\": {}, \"Publishes\": [], \"Subscribes\": [\"MovementCommand\", \"AgentState\"]}}}}}",
6+
"Trajectory": "{\"Trajectory\": {\"Home1\": [{\"X\": 0.0, \"Y\": 0.0, \"Z\": -0.5, \"Heading\": 0.0, \"Speed\": 2.0}, {\"X\": 0.0, \"Y\": 4.0, \"Z\": -0.5, \"Heading\": 90.0, \"Speed\": 2.0}, {\"X\": 4.0, \"Y\": 4.0, \"Z\": -0.5, \"Heading\": 0.0, \"Speed\": 2.0}, {\"X\": 4.0, \"Y\": 6.0, \"Z\": -0.5, \"Heading\": 90.0, \"Speed\": 2.0}, {\"X\": 0.0, \"Y\": 6.0, \"Z\": -0.5, \"Heading\": 180.0, \"Speed\": 2.0}, {\"X\": 0.0, \"Y\": -7.0, \"Z\": -0.5, \"Heading\": 270.0, \"Speed\": 2.0}, {\"X\": 3.0, \"Y\": -7.0, \"Z\": -0.5, \"Heading\": 0.0, \"Speed\": 2.0}, {\"X\": 3.0, \"Y\": -4.0, \"Z\": -0.5, \"Heading\": 90.0, \"Speed\": 2.0}, {\"X\": 0.0, \"Y\": -4.0, \"Z\": -0.5, \"Heading\": 180.0, \"Speed\": 2.0}, {\"X\": 0.0, \"Y\": 0.0, \"Z\": -0.5, \"Heading\": 180.0, \"Speed\": 2.0}], \"Home2\": [{\"X\": 0.0, \"Y\": 0.0, \"Z\": 0.1, \"Heading\": 0.0, \"Speed\": 2.0}, {\"X\": 0.0, \"Y\": 4.0, \"Z\": 0.1, \"Heading\": 90.0, \"Speed\": 2.0}, {\"X\": 4.0, \"Y\": 4.0, \"Z\": 0.1, \"Heading\": 0.0, \"Speed\": 2.0}, {\"X\": 4.0, \"Y\": 6.0, \"Z\": 0.1, \"Heading\": 90.0, \"Speed\": 2.0}, {\"X\": 0.0, \"Y\": 6.0, \"Z\": 0.1, \"Heading\": 90.0, \"Speed\": 2.0}, {\"X\": 0.0, \"Y\": 10.0, \"Z\": 0.1, \"Heading\": 90.0, \"Speed\": 2.0}, {\"X\": 0.0, \"Y\": 12.0, \"Z\": 0.1, \"Heading\": 0.0, \"Speed\": 2.0}], \"Home3\": [{\"X\": 0.0, \"Y\": 0.0, \"Z\": 0.1, \"Heading\": 180.0, \"Speed\": 2.0}, {\"X\": -4.0, \"Y\": 0.0, \"Z\": 0.1, \"Heading\": 180.0, \"Speed\": 2.0}, {\"X\": -8.0, \"Y\": -0.0, \"Z\": 0.0, \"Heading\": 180.0, \"Speed\": 2.0}, {\"X\": -10.0, \"Y\": -3.0, \"Z\": 0.0, \"Heading\": 270.0, \"Speed\": 2.0}, {\"X\": -12.0, \"Y\": -3.0, \"Z\": 0.0, \"Heading\": 180.0, \"Speed\": 2.0}, {\"X\": -12.0, \"Y\": 0.0, \"Z\": 0.0, \"Heading\": 90.0, \"Speed\": 2.0}]}}",
7+
"Created": "06/17/23 20:00:30",
8+
"Submitted": true,
9+
"Number Of Runs": 3
10+
}
11+
]
12+
}

0 commit comments

Comments
 (0)