Skip to content

Recommended Tutorials

ROS2🔗

Main documentation: https://docs.ros.org/en/humble/index.html

To get started go through the beginner tutorials: https://docs.ros.org/en/humble/Tutorials.html

You can skip the Configuring environment section if you are using the development container, but I would read it anyways.

I recommend using using the uas_ws directory for your workspace as the container's .bashrc comes preconfigured to use this workspace.

The basic concepts page is also a good place to learn more about ROS: https://docs.ros.org/en/humble/Concepts.html

PX4🔗

Main documentation: https://docs.px4.io/main/en/

Read the basic concepts page to get familiar with basic drone concepts: https://docs.px4.io/main/en/getting_started/px4_basic_concepts.html

We make heavy use of offboard control for our autonomy, specially we use ROS2 and the uXRCE-DDS interface, there are quite a few pages, but skim a few to get a feel for what we are working with: https://docs.px4.io/main/en/ros/offboard_control.html

Onboarding Project🔗

The best way to get familiar with the basics is by doing as such I have scoped a smallish scale learning project that you can undertake (not for marks).

To get started create a ROS package in uas_ws/src, use the PX4 offboard docs as reference.

Requirements (purposefully open ended):

  • Software system that enables autonomous control of a drone in simulation
  • The system should:
  • Allow the drone to take off
  • Allow the drone to go to a location via local coordinates
  • Allow the drone to go to a location via global coordinates
  • Allow the drone to land
  • Can be done either in Python or C++ or both or anything you want.

Demonstrate:

  • Take off
  • The drone creates a square pattern in the sky (manual coordinates)
  • The drone creates a square pattern in the sky (generated at runtime coordinates)
  • Landing

These are all concepts that are used in our actual systems, by learning them on your own you will have easier time understanding them and you will develop a unique perspective for the team.

Consult this wiki and the dev_env README for additional reference.