ADAPTIVE POINT PLANNING WITH MODEL LEARNING USING AWS
We are currently performing experiments using our multi-robot Adaptive Point Planning (m-AdaPP) framework, whose objective is to guide our Autonomous Surface Vehicles (ASVs) to collect environmental data and estimate a good approximation of the environment field. Our algorithm loops over the following steps:
- Collect data while traversing to assigned waypoints
- Learn a model of the scalar environment field
- Plan future waypoints such that the variance in the estimated model is reduced
How are we using Amazon Web Services (AWS)?
Our robots run a middleware, which helps in executing task-specific agents and keeping a local log of all the agent events and sensor data. This middleware also has a communication agent responsible for posting sensor data to a central system and receiving updated mission commands. For our current experiments, we have hosted this central system on AWS EC2 instances. This central system comprises two instances, a NAT server and an APP server, and one database instance.
Our m-AdaPP framework runs on the APP server, which is a compute-optimised AWS instance. The APP server is responsible for steps 2 and 3 mentioned in the first section and for communicating new waypoints back to our ASVs. In simple terms, our framework receives the data, learns a model using this data and commands the ASVs to traverse to a new point such that the overall variance in the model is reduced. All tasks on the APP server are completed in a matter of few seconds.
Why is AWS useful?
AWS instances come with pre-installed packages such as machine-optimised Python interpreter, which reduces the hassle of installing or removing components. The documentation and community support for AWS is great and the suggestions to fully utilise the resources of an AWS instance are easily available on AWS documentation portal.
Other than these positive factors, our runtime performance was substantially improved by using the Intel’s Math Kernel Library (MKL), which can be easily installed for AWS compute instances. Moreover, AWS instances are optimised for sharing workload and have various thread processing options to further improve the performance of MKL.
Most of all, AWS instances come with safety features that enable us to wrap our servers with an additional layer of security.
Acknowledgement:
Our group is very thankful to NUS Information Technology specially the Data Engineering team, for providing us with the AWS resources.