Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The robot page is arguably the most important page in the Dashboard. It provides information across several tabs, accessible in the top navigation bar.

...

The robot page has several tabs, each accessible from the top navigation bar.

Info

...

The “Info” tab shows high-level robot diagnostics, including static information, live data, and status information.

...

Finally, in the top right corner “Power” icon, you will find a convenient way to soft-shutdown (or reboot) the Raspberry Pi.

...

Mission Control

This page plays a determinant role and it gathers both sensing and actuation interaction channels.

Info

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!

Note

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.

...

  • 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.

Info

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

...

Note

Remote control commands are sensitive. Go slowly, be cautious, get familiar with the interface and always look directly at the drone while operating it!

Info

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 to clear, the interface will not allow toggling any other state. This mean two consecutive willful clicks are necessary to get the propellers spinning ( 1. pre-checkclear; 2. disarmed → armed

  • IMU calibration:

  • PID reset:

Health

...

Troubleshooting

Problem: The power button does not generate the intended outcome.

...