Working with Your Drone
Follow this step-by-step guide to see how your drone works on the inside. While some steps are universal across products, others may vary depending on your specific model. Use the tabs to select the guide tailored to your product.
Head back to your Product page page and start with the initial steps outlined there. They’ll point you to the correct tutorial for your specific drone.
Your drone may have custom instructions available. If so, they can be found under the 4. Custom Instructions chapter on the Product Page.
Our drones are unique platforms that enable you to implement custom features on top of prebuilt autonomous flying capabilities, both indoors and outdoors. This is made possible by the MRS UAV System, which operates on your drone and must also be installed on your PC. You can run the system either via an Apptainer or by installing it natively. Use either approach and familiarize yourself with the system, as it is essential for your custom development.
- DEFAULT DRONE
- RoboFly
This section is under construction, but rest assured, it will not hinder your deployment process. For more information about, please visit the official MRS UAV System Documentation.
Before flying or customizing RoboFly, it's important to familiarize yourself with how the system works internally. You have two main access points to interact with the system, as outlined in the Connecting RoboFly section. The following will focus only on the connection through Web Browser, since it will be your primary tool for interacting with RoboFly.
Since RoboFly uses Debian as its native operating system, you cannot directly run ROS with the MRS UAV System, which handles most of the internal operations. This also applies to development and customization. Therefore, RoboFly utilizes Docker containers, which allow you to interact with the system. For that, there are two tools:
DroneDeck
Write 192.168.12.1:8080 address in your browser to connect. You should see Dashboard and few other cards.
Although still in development, DroneDeck already offers some useful features. In the System Setup tab, you can see all the currently running containers. Navigate to the Stacks tab and click Start on the sensor_diagnostics
container. It will take a moment. Next, go to Mission Control and select the camera feed from the dropdown menu to check if both cameras are working correctly. When done, navigate back and press Stop to deactivate the container.
Portainer
Enter https://192.168.12.1:9443 in your browser to access the Portainer page. If it's your first time connecting, you will see a warning message because the site does not yet have a secure connection. Allow a security exception by accepting the risk and proceeding to the site. You will then see a login screen for a third-party service called portainer.io, which provides a GUI for Docker development. The login name and password are both admin, and you can change them later. You will perform most of your development through this service.
Portainer provides a user-friendly GUI to interact with everything running on RoboFly, compared to using SSH. You can also upload and run your own Docker images and containers here.
When you connect to the website, always select the RoboFly environment, not local.
Images
In the Images tab, you can see which Docker images are available on RoboFly. You can upload your own custom image here. Check out this tutorial on how to do so.
Do not delete or modify any of the default images, as they are all necessary for proper operation.
Stacks
Next, navigate to the Stacks tab. A stack is essentially a "compose session" in Docker terminology. Here, you can see and run stacks of prepared images, such as the sensor_diagnostics
stack used earlier in DroneDeck. Click on a stack to view its Stack details, and press the green button to Start this stack. You should see a blue loading bar at the top indicating the startup progress. To stop the stack, click Stop this stack
Do not delete or modify any of the default stacks, as they are all necessary for proper operation.
camera_test_bottom
and camera_test_front
are used mainly for the diagnostics and calibration during the pre-shipment phase and you do not need to do anything with them. They can be usefull if you plan to modify the cameras them selves.
By default, only two stacks should be running: portainer
and dronedeck
. The portainer
stack runs the Portainer service and cannot be turned off. The dronedeck
stack powers the DroneDeck website and can be turned off if you need to update it with a new image containing the latest versions of the site.
Turning on mrs_uav_system_gnns
activates RoboFly's control system, including everything needed for flight with GPS. Once started, you can view all the containers it uses (also in the Containers tab). Several useful features are available under the Quick Actions column.
The first icon, Logs, shows reports from the selected container. The Stats icon provides CPU and other performance information. To interact with a container, click the Exec Console icon, though you cannot interact with ROS this way.
To access ROS, each stack includes a terminal
container. By clicking the Attach Console icon, you will open a terminal where you can use ROS. The terminal container may sometimes be on a next page.
mrs_uav_system_vio
runs the MRS System and visual odometry on the bottom camera, allowing for indoor flight. It is not recommended to modify this unless you are confident in your understanding.
hailo_ai_yolo
is an example of a neural network running on the AI kit's neural core processor (only for RoboFly Vision). You need to run one of the two mrs stacks or the sensor_diagnostics
for it to work.
You can use user_session
as a template for your own program (ROS node). It consists of 4 essential containers and you should based all your custom programs on it.