Skip to content

Add simulation testing into CI/CD pipeline #170

@yuzhiliu8

Description

@yuzhiliu8

Add headless sim testing to further validate if new changes work

  • check if vehicles arm
  • check if simple missions complete
  • check camera stream
  • can incorporate scoring node logic potentially
  • Multicopter, VTOL logic
  • Payload logic as well

Currently, our ci-image workflow builds all necessary pre-built dependencies, so ROS, apt installs, pip installs, and any other binaries. It doesn't build anything from source. The main bottlenecks in rebuilding our workspace is compiling PX4-Autopilot, px4_msgs, and ros_gz, which we will all need for headless sim testing. Since the hashes/commits on these submodules don't change often, we can consider baking these into our ci-image.yml flow, so our ros-validate workflow pulls in an image with all necessary prebuilt dependencies and also PX4, px4_msgs, and ros_gz built from source.

We also need to install QGC and run it in headless mode via xvfb-run -a ./QGroundControl.AppImage to pass the ground station preflight check
also look into PX4_SIM_SPEED_FACTOR env var and see how high we can set this so that sim testing runs faster. We will need to do manual testing w/ this to see if it messes with consistency and how deterministic running sim is (we want to avoid random preflight fails or flight failures).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions