Update of Telemetry Dashboard for multiple vehicle management#312
Open
izzy-barr wants to merge 1 commit intoArduPilot:mainfrom
Open
Update of Telemetry Dashboard for multiple vehicle management#312izzy-barr wants to merge 1 commit intoArduPilot:mainfrom
izzy-barr wants to merge 1 commit intoArduPilot:mainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hello - I have made updates to Telemetry Dashboard for handling multiple vehicles (with the primary goal of being able to manage drone swarms or multiple vehicles). This was the main part of my MEng dissertation project at Durham University: "Low Cost Drone Swarm Management" and I believe pulling it back to the main branch is an essential step in growing drone swarms in the ArduPilot environment, as my research highlighted. I'm aware that there are limitation to developing swarms at a low cost, but this aims to make it more accessible and the development of Telemetry Dashboard is not just for swarm management, as it benefits any fleet size including one vehicle, which it was originally designed for. I hope with the development of this WebTool, it can be used more widely with the added features of the vehicle class, Add/ Remove/ Connect/ Disconnect buttons, Local & Primary Vehicle Selectors, the Vehicle Info Pop-up, vehicle colour and icons according to vehicle type.
The overarching additions in this PR are as follows, in the Telemetry Dashboard folder:
In TelemetryDashboard/ Widgets folder:
In TelemetryDashboard/ SandBox Widgets folder:
Additionally updated blurb in Dev/ index.html and images/ TelemetryDashboard_icon.png for a new image.
A question you may be asking is why not use sysID for message tagging? The answer is that using ._vehicleID, the unique vehicle object property, it is independent of sysID, which is ultimately user-set and if there are accidentally two vehicles in the dashboard with the same sysID, the messages cannot be filtered correctly and end up with a concatenation effect. This was accidentally done during testing proving the need.
This has been tested with SITL on a single device (single vehicle, multi-vehicle and standard swarm (ie Follow Mode)), in virtual machines (single vehicle, multi-vehicle, standard swarm and custom swarm scripts) and using two real drones (custom swarm scripts). I've also tested it on Ubuntu, Windows and macOS with Firefox, Edge & Chrome (Safari is not compatible).
There are two known bugs in the system which inconvenience the user slightly, rather than being harmful to the system. These are: the Vehicle Info Pop-up tree branch expanding beyond the widget; and the plots not removing on deselect in the Graphs. I hope to continue working on these after the conclusion of my Finals exams.
To see demonstrations of the new dashboard working, please see Video Testing.
I have left in //IB comments where I have made changes in the .json files specifically in the SandBox scripts to make it easier to identify what I've added, but have removed them in the other scripts as their layout makes it easier to identify what has been changed. If there are any queries, I'd be happy to answer them. And apologies this ended up quite a large PR - I tried splitting it down but the files are too closely dependent on one another.
I hope you like it and many thanks, Izzy