The robot page is arguably the most important page in the Dashboard. It provides information across several tabs, accessible in the top navigation bar.
Mission Control
The Mission Control page gathers both sensing and actuation interaction channels of the Duckiedrone.
The mission control page is fully configurable. Blocks can be rearranged, new ones created, and the properties of each easily edited and saved. Create your own missions at will!
This page provides heartbeats
to the drone. It needs to be open for the drone to fly.
The top bar of the mission control summarizes the hostname
(“vehicle"), the name of the “Mission", i.e., the layout of the blocks on this page and their properties, and the “Bridge” status, representing connectivity between the drone and the base station. The bridge needs to be “connected” for any data to populate.
Sensing
Motors PWM: this graph shows the actual commands sent to each motor (
m1
, ... ,m4
) by the flight controller. These commands might not be immediately discernable as we are more familiar with higher-level roll, pitch, yaw, and thrust commands.
Heartbeat monitors:
Time-of-flight
IMU - Orientation
Camera
Actuation
Heartbeats: these signals are sent by each block in the pipeline (
joystick
,altitude
,state
(estimation),PID
) to the flight controller, and are safety signals. If for any reason one of the heartbeats stops publishing, the drone will disarm. Heartbeats can be manually overridden, but this is not encouraged unless you know what you are doing.
Remote control: this is a virtual joystick used to manually control the drone. It can be used to control all robot “axis” (roll, pitch, yaw, thrust) or just a subset of these, based on the selection of the “Override” parameters.
Override = On → the input to the flight controller for that axis comes from the joystick
Override = Off → the input to the flight controller does not come from the joystick
Remote control commands are sensitive. Go slowly, be cautious, get familiar with the interface and always look directly at the drone while operating it!
Remote control commands:
W: pitch forward
S: pitch backwards
A: yaw counter-clockwise
D: yaw clock-wise
Drag green ball ↕ with mouse: increase / decrease thrust
Drag green ball ↔ with mouse: roll left and right
Arm / Disarm: Drones (yes, even happy Duckiedrones) have spinning propellers, hence are inherently dangerous. To minimize the chance of accidents, the drone is equipped with 3 arming states:
disarmed (
0
): This is the safe state. When disarmed, the motors will never receive commands.armed (
1
): This is a dangerous state: When armed, the propellers will spin with idle motor commands, but not receive inputs from external nodes (e.g., the PID control node). Don’t let this terminology fool you though: you don’t want to have your fingers anywhere near spinning propellers. Never arm a drone near you, or when other humans or pets are around it!
flight (
2
): This is the most dangerous state:and an additional browser-interface-inspired layer of security:
pre-check: this is not a state of the Duckiedrone but rather a human miss-clicking prevention system. Unless
pre-check
is set toclear
, the interface will not allow toggling any other state. This mean two consecutive willful clicks are necessary to get the propellers spinning ( 1.pre-check
→clear
; 2.disarmed
→ armed
IMU calibration:
PID reset:
Health
Architecture
Troubleshooting
Problem: The power button does not generate the intended outcome.
Solution: The power button currently only works through the Info page of the Dashboard. If you find it unresponsive on other pages, just navigate back to Robot > Info.
0 Comments