-
Notifications
You must be signed in to change notification settings - Fork 0
Command Center Design Document
OpenROV Command Center - Presentation
The OpenROV Command Center provides a means by which an OpenROV craft can be controlled remotely over the Internet. The key characteristics of the Command Center are:
- Open Architecture
- Abstraction Layer
- Multi-modal Control UI
- Scalable
- One Pilot/Many Viewers
The OpenROV Pilot is a single user who has control of the OpenROV craft during a dive.
The OpenROV Viewer is one or more users who wish to monitor the progress and status of the OpenROV during a dive.
The OpenROV Craft is the hardware and software system that is used to interact with the craft during a dive.
The OpenROV shall be controlled by a single user, a Pilot, via a Web browser via an Internet connection.
The actions of the OpenROV shall be viewable by many users via Web browser via an Internet connection.
The OpenROV pilot will have the ability to control the OpenROV with a standard PC keyboard using single keystroke commands.
The OpenROV pilot will have the ability to control the OpenROV by using an accelerometer contained in a personal mobile device or other suitable hardware.
The OpenROV pilot will have the ability to control the OpenROV by using a LEAP motion gesture controller on a support personal computer.
The OpenROV Control Center will publish a feed of all OpenROV movement and related ambient data to all subscribers.
The OpenROV Control Center will publish a video feed from the on board camera to all subscribers.
In order to achieve its goal of remote control of the OpenROV craft the Command Center is build upon an multi-tier architecture using both direct and asynchronous communications software and protocols. By intention the Command Center software is complimentary to the existing OpenROV software system in that is provides an abstraction layer over this system. The benefits of the abstraction layer include: scalability, security, portability, and interaction control. Additionally, the protocols selected for communications at all layers are open and widely available. The main OTS (off the shelf) components of the design are:
- HTML5 Web Application
- 3D OpenROV Craft Visualization
- Publish/Subscribe Message Broker
- WebSockets Network Communication
- Web Server
The OTS components are codified into three separate modules of code created by the team during the challenge:
-
Command Center
- Web app, 3D visualization, control and view
-
Node-Mosquito
- Web server app that brokers the Web app communications to the OpenROV
-
OpenROV Bridge
- A Web server app that acts as a client existing OpenROV serial commanding protocol
Integration
- Finish work with smart phone device deployment
- Test Command Center on OpenROV hardware
- Meet-up with San Francisco OpenROV team at Late Tahoe for a dive test
Hardware Evolution
- Update the on board electronics with a Pinoccio board
- Add Power over Ether net to tether
- Update camera to an IP enable camera
Software Enhancements
- Integration of OpenROV camera feed with Command Center UI
- Open source the design of the OpenROV control and telemetry protocols
- Dive plan simulator
- Autonomous execution of dive plan
The OpenROV Command Center team covered a lot of ground during challenge. We were able to connect all of the parts as described above to prove end-to-end communications within the context of the system design. It was decided fairly early on in the challenge that we would forego integration with a remote rover via the Internet to work on the bigger picture of delivering a robust and flexible system for commanding, controlling and viewing the OpenROV in action. Based on our discussions during the challenge with the others on the OpenROV and working on the challenge we feel the OpenROV Command Center is fit for further development and ultimately live deployment in the water.