Skip to content

Cyphal PX4 VTOL Quadplane

PonomarevDA edited this page Jan 21, 2024 · 2 revisions

1. Prerequisites

1.1. Software dependency

It is expected that you have the latest version of autopilot-tools python package. You can install it with the following command:

pip install autopilot-tools

1.2. Use the latest version of the repository

It is expected that you clone the latest version of the repository and updated the submodules.

git clone https://github.com/ZilantRobotics/innopolis_vtol_dynamics.git --recursive

If you are not sure that your version is the latest, don't forget to:

git pull
git submodule update --init --recursive

1.3. Build the image

Build the docker image:

./scripts/docker.sh b

1.4. Connect everything together

It is expected that all your hardware are connected together.

An example of a connection of CUAV v5+ autopilot and RL-sniffer is shown in the picture below.

drawing

It is expected to use CAN1 on the autopilot side.

2. Run the docker container

./scripts/docker.sh csv --force

It is expected that QGC will not be running at the time of the configuration. During the configuration the autopilot is restarted several times, and QGC will not allow the script to connect to the autopilot.

The --force option runs the scripts/configure.sh script that is responsible for autopilot configuration. It uploads the latest suitable PX4-Autopilot firmware, makes reset to default and loads parameters described in the following config files located in this repository:

  • configs/px4/v1.14/standard_vtol/airframe.yaml
  • configs/px4/v1.14/standard_vtol/cyphal.yaml
  • configs/px4/cyphal.yaml
  • configs/px4/common.yaml

The autopilot will have the Motors Geometry as shown on the picture below:

drawing

The csv command runs the launch file that brings up all required ROS-nodes and tells to load ROS parameters from the following files located in dynamics repository:

  • config/vehicle_params/vtol_7kg/params.yaml
  • config/vehicle_params/aerodynamics_coeffs.yaml
  • config/vehicle_params/sim_params.yaml

An example of how the script works (speed x4):

3. (optionally) Run the 3D-simulator and choose the model

drawing

4. Fly

Control the vehicle with QGC.