1. Getting Started

Back to tutorial contents

1.1 Prerequisites

You will need to install git to access the software and docker to run it. These are supported on Windows, Mac and Linux. I also recommend Visual Studio Code as an editing environment with easy access to terminal windows.

1.2 Getting the template

Navigate to a suitable file folder on your computer and run

git clone https://github.com/StarlingUAS/fenswood_volcano_template.git

1.3 Running a first simulation

For Docker simulation on either Linux or Windows, open a terminal, navigate to your cloned folder and run docker-compose up --build.

This could take a very long time on your first attempt, perhaps as much as half an hour. It has a lot of stuff to download.

You should eventually see an awful lot of stuff flying by in the terminal window. The excerpt below is just a short example.

controller_1       | [controller-1] [INFO] [1641487809.030179200] [vehicle_1.example_controller]: Arm request sent
controller_1       | [controller-1] [INFO] [1641487809.031134000] [vehicle_1.example_controller]: Controller state: arming for 13 steps
mavros_1           | [run_ros1.sh-1] [ERROR] [1641487809.032953700]: FCU: PreArm: Bad GPS Position
controller_1       | [image_processor-2] [INFO] [1641487809.057483100] [vehicle_1.image_processor]: Got an image of 480 x 640

1.3.1 Watching it fly

If that's happening, open a web browser and open http://localhost:8080. You should see a Gazebo window with a green field, a couple of cones, and a drone. Watch long enough and the drone should take-off. Watch even longer and it should return.

1.3.2 Introspecting ROS

Open another web browser and navigate to https://studio.foxglove.dev. Select Open Connection and enter ws://localhost:9090 in the URL box, if it's not already there. This gets you into Foxglove, a powerful dashboard for ROS. To get started, click the Layouts button (second down on the left hand menu) and then the Import Layout button at the top of the panel that opens. Navigate to your fenswood_volcano_template folder and select fenswood_example.json. Click the Layouts button again to close the panel and maximize the rest of the dashboard. You should see logs, drone status and position, and the drone camera feed, among other things.

Back to tutorial contents

1.4 Exercise

Have a play around. Watch flights through both Gazebo and Foxglove and explore their interfaces. When finished, stop everything with Ctrl+C in the terminal where you ran docker-compose.