Key features
The Robotics Portal is built to work seamlessly with multiple types of robots and robot operating systems. See our section on Supported Robot Frameworks for more detail. The DroneDeploy Agent and Robotics Portal work together to provide unprecedented visibility and control over the way your robots interact with the cloud, other robots, and integrated systems.
Topic Exploration
The Robotics Portal provides the ability to explore robot topics from the browser, wherever you are in the world, without requiring you to open up any ports on your robot to the public internet.
After installing the Agent on your robot and navigating to the Live Data Viewer for your robot, you’re presented with live views of the topics currently available. From here you can click to see live data flowing through the topics and get a real-time view of the frequency, size and shape of your data.
Dashboards
The Robotics Portal makes it easy to create dashboards to display the data your robots are generating, in a way that makes the most sense to your operations and technical teams.
Streams On Demand
When viewing real-time data, the Robotics platform takes care that your robot sends only the data you’re interested in, and only if you’re actually viewing it. Put another way, if five users have five dashboards displaying real-time streams of data, the robot only sends data once, and will stop sending data altogether once all five users close their browsers or navigate away.
This ‘on-demand’ streaming, in conjunction with the latest in streaming technology utilized by the agent to send the data, ensures that smallest practicable amount of data is sent by the robot, preserving your bandwidth.
Stored Stream Data
Storage streams are similar to On Demand streams in that they represent a stream of data being generated by your robot, but the data is persisted to the Robotics analytics data store for analysis and dashboarding.
You configure storage streams with a specific frequency so that you can decide how often you want to sample streams of data. These streams can also be visualized on Robotics Portal dashboards, which is useful for displaying data at a frequency that makes sense to the operator, while not consuming any more bandwidth than necessary.
You can also send the telemetry data you decide to collect from your robot to any third party data warehouse you are using to perform your own analysis or machine learning.
Monitoring Bandwidth
By default, the Storage Streams area for the robot displays charts of how many requests per second the robot is sending for data storage, as well as how many bytes per second this data represents.
Using this, the user can tune the frequency of streams, and see which kinds of telemetry are contributing to the bandwidth consumed by the robot.
Protocol Support
The component design of the DroneDeploy agent means that addressing and reliability features are consistent regardless of the networking protocol used.
For example, many agent components currently use GRPC as their primary API technology, however it could just as easily use a low-level UDP connection while remaining consistent with the way the rest of the agent components interact with it for addressing and stream types.
A TCP component is provided with the agent which allows easy submission of data back into the system from non-ROS sources. For example, using the DroneDeploy Python module, developers can subscribe to specific kinds of telemetry from robots on the network, process that data, then send it back into the agent network via TCP where downstream robots can receive and process it using the same subscription model as is used for ROS messages. This provides a consistent data processing framework regardless of whether the data is coming from ROS, a MAV based system, or something else entirely.
Reliability
Robots are often on-the-move, frequently switching networks, moving in an out of wireless network coverage or otherwise becoming unavailable on the network. Apart from robot addressing challenges outlined above, this also creates a challenging environment for network connectivity.
The agent solves this by utilizing redial logic throughout its networking stack, which means that if a robot becomes unavailable on the network, its agent will continue to redial to find a working connection. It does this using a semi-randomized exponential backoff, so that if the network outage is widespread (e.g. caused by a router or switch failure) all the agents don’t try to reconnect simultaneously when the network link is restored.
Addressing
The DroneDeploy Robotics agent and platform make it very easy to subscribe to telemetry streams from robots wherever they are, and regardless of the kind of network they’re connected to. Whether they’re on a private network, using cellular data or have a very fast fiber connection, the way robots are addressed either from the hosted platform or locally by other DroneDeploy-enabled robots is consistent, and based on the callsign and project ID of the robot. This enables a variety of collaboration scenarios, such as a UAV connected to a cellular network sharing data with a Wi-Fi connected rover on the ground, all without any special networking configuration or development.
Furthermore, as covered in the following two sections, these features are available with or without internet access from the robot - the DroneDeploy agent can provide this addressability on local, closed networks as required.
Working without Internet Access
The DroneDeploy Agent is designed to work in internet-denied areas. Although access to the Robotics Platform is required when the agent is provisioned for a robot, after the initial setup process the agent can operate for extended periods of time without any access to the internet. This makes it ideal for local network collaboration between robots (see below).
For environments where network access might be intermittent, the DroneDeploy Agent will cache storage streams locally and send the telemetry once network connectivity has been restored. The cache settings can be configured with a total storage quota so you can manage the amount of disk space your robot requires for local telemetry storage. Once this quota is reached the agent will start dropping the oldest data.
Robots Collaborating on a Local Network
Not only does the Robotics Portal make it easy to send data to the cloud from multiple robots, but also to share data between robots running on a local network. This solves a significant stability challenge when trying to run distributed ROS nodes across a network with a single ROS master, where network instability can cause ROS to crash and other unwanted behavior.
- Relaying data from one robot through other robots to find a way to the Cloud in internet-denied environments
This enables a variety of local collaboration scenarios for your robots, such as:
- Easy processing of ROS data outside of the ROS runtime, for example on dedicated hardware for running sophisticated models collected from multiple robots
- All the same benefits you get from working with the Robotics platform are available to you on the local network such as network-independent addressing with robot callsigns, data subscriptions, and reliability features.
- Sending data from two robots to another, which then uses the data to update a SLAM model, before sending that SLAM model back out to robots on the network