Files
Main/99 Work/0 OneSec/OneSecNotes/10 Projects/OsdAutopilot/OSD Autopilot Docker Dev.md
2024-12-02 15:11:30 +01:00

1.5 KiB

The purpose of using Docker this is to have a containerized build of the autopilot. This means that any employee can easily get started with development by cloning the vscode-docker-dev repo and open the repo in a containerized mode. This drastically reduces onboarding time and also ensures that everyone is working on the exact same system.

There are a few inspirations to how I want to set this up:

  1. Keep in mind that the final code needs to run on the raspberry pi cm4 module, without a docker container because we need hardware access.
  2. The containerization can be built in several layers:
    1. ros2 production (no simulation tools, this is the closest we get to the rasperry pi --> exports a shell script to install on the rasperry pi.)
    2. simulation stack: includes px4-osd that runs the current px4-code and the px4 simulation running in gazebo as well as ros2 to do development
    3. testing stack: same as previous stack but includes integration tests: missions to accomplish and writes automated reports if the flights were successful or not (could also upload to a log website)

This is going to be really helpful in the future, because with every commit merge to the main branch, unit-tests, functional tests and integration tests need to pass before a merge can happen.

PX4 already does extensive testing within a gazebo simulation. It also includes more elaborated integration tests.