Preparing the software stack
Contents
Preparing the software stack#
Before you can fly your Duckiedrone you need an up-to-date software stack running on the drone and a browser on your base station that can reach the Duckietown Dashboard.
What you will need
A fully assembled
DD24with a configured Flight ControllerA base station on the same network as the drone (see First connection)
The Duckietown Shell (
dts) installed on the base station
What you will get
A drone ready to fly from the Duckietown Dashboard
Attention
This chapter replaces the legacy pidrone_pkg / screen workflow. On the ente distribution the flight code runs inside Duckietown containers and is controlled from the Duckietown Dashboard. You no longer need to ssh into the drone or start any scripts by hand.
1. Update the Duckietown Shell#
On the base station, make sure you are on the ente profile and that dts itself is current.
dts profile list # 'ente' should be the active profile
pipx upgrade duckietown-shell
dts update
dts desktop update
2. Update the drone software#
Pull the latest Duckiedrone containers onto the drone. This can take several minutes the first time.
dts duckiebot update -t duckiedrone --distro=ente -f ROBOT_NAME
Note
Replace ROBOT_NAME with the hostname you assigned to your Duckiedrone. On the default image the hostname is amelia.
Wait for the command to terminate before continuing. When it finishes the drone is running:
dashboard— the web UI you will use to flyros2-mavros— the MAVROS bridge between ROS 2 and the PX4 flight controllermavlink-proxy,driver-tof,state-estimator,pid-controller,visual-odometry— the flight stack
3. Open the Duckietown Dashboard#
On the base station, open a browser and navigate to
http://ROBOT_NAME.local/
The landing page is the Duckietown Dashboard. The first time you open it on a freshly-flashed robot, it will show a four-step setup wizard. Complete the steps until you land on the robot info page.
Tip
If the page does not load, confirm the drone is reachable with ping ROBOT_NAME.local. See First connection for network troubleshooting.
4. Verify the flight stack is healthy#
On the robot info page, click Mission Control in the top navigation bar. The default mission is a grid of widgets showing the live state of the drone:
Fig. 54 The default Duckiedrone mission, before arming.#
Before the first flight, confirm:
Heartbeats Monitor (top left) — the
JOYSTICK,ALTITUDE,STATEandPIDindicators are all green. A red indicator means the matching node is not publishing.Motors PWM — four bars are visible, all close to the minimum (~1000). If no bars appear, the Flight Controller node is not streaming motor commands.
Altitude — the blue trace updates as you gently move the drone up and down.
Time-of-Flight — the distance reading (in metres) reacts to your hand passing under the drone.
IMU – Orientation — the attitude indicator tilts when you tilt the drone.
Camera — the image stream shows what the Duckiedrone sees.
Tip
If the Arm / Disarm widget shows nothing under FLIGHT MODE, it means /mavros/state has not published yet. Reload the page after a few seconds; if the issue persists, see Common issues.
When all widgets are populated, the software stack is healthy and you can proceed to Flying your Duckiedrone.