Compare commits

..

2 Commits

Author SHA1 Message Date
Hamish Willee d4d3f8e797 Improve intro, I hope 2025-06-12 18:31:37 +10:00
Hamish Willee bad860269d Methodical uorb documentation 2025-06-12 08:34:40 +10:00
3904 changed files with 58100 additions and 163843 deletions
+7
View File
@@ -0,0 +1,7 @@
FROM gcr.io/oss-fuzz-base/base-builder:v1
COPY . $SRC/PX4-Autopilot
RUN apt-get install -y libjpeg8-dev zlib1g-dev
RUN pip3 install --upgrade pip
RUN python3 -m pip install -r $SRC/PX4-Autopilot/Tools/setup/requirements.txt
WORKDIR $SRC/PX4-Autopilot
COPY ./.clusterfuzzlite/build.sh $SRC/
+4
View File
@@ -0,0 +1,4 @@
#!/usr/bin/env bash -eu
PX4_FUZZ=1 make px4_sitl
cp build/px4_sitl_default/bin/px4 $OUT/px4
+1
View File
@@ -0,0 +1 @@
language: c++
-8
View File
@@ -12,11 +12,3 @@ max_line_length = 120
[*.yaml, *.yml] [*.yaml, *.yml]
indent_style = space indent_style = space
indent_size = 2 indent_size = 2
[*.sh]
indent_style = tab
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
# Not in the official standard, but supported by many editors
max_line_length = 80
+16 -2
View File
@@ -1,9 +1,22 @@
<!-- <!--
Thank you for your contribution!
Get early feedback through
- Dronecode Discord: https://discord.gg/dronecode
- PX4 Discuss: http://discuss.px4.io/
- opening a draft pr and sharing the link
-->
### Solved Problem ### Solved Problem
When ... I found that ...
Fixes #{Github issue ID} Fixes #{Github issue ID}
### Solution ### Solution
- Add ... for ...
- Refactor ...
### Changelog Entry ### Changelog Entry
For release notes: For release notes:
@@ -14,10 +27,11 @@ Documentation: Need to clarify page ... / done, read docs.px4.io/...
``` ```
### Alternatives ### Alternatives
We could also ...
### Test coverage ### Test coverage
- Unit/integration test: ...
- Simulation/hardware testing logs: https://review.px4.io/
### Context ### Context
Related links, screenshot before/after, video Related links, screenshot before/after, video
-->
-6
View File
@@ -1,6 +0,0 @@
---
title: '[CI] Fuzzing Workflow Failed'
labels: ['Fuzzing']
---
The automated fuzzing workflow has failed.
See {{ env.WORKFLOW_RUN_URL }} for details.
-10
View File
@@ -1,10 +0,0 @@
# Labeler configuration file for GitHub Actions
# The action is ./.github/workflows/label.yml
# Docs for the syntax in this file can be found at
# https://github.com/actions/labeler
# Add 'Documentation' label to any changes within 'docs' folder or any subfolders
"Documentation 📑":
- changed-files:
- any-glob-to-any-file: docs/**
-24
View File
@@ -1,24 +0,0 @@
runners:
x86-small-runner:
cpu: [1, 2]
ram: [1, 4]
disk: default
spot: price-capacity-optimized
image: ubuntu24-full-x64
extras: s3-cache
x86-firmware-builder:
cpu: [4, 8]
ram: [8, 16]
disk: default
family: ["c7i", "m7i", "r7i"]
spot: price-capacity-optimized
image: ubuntu24-full-x64
extras: s3-cache
arm64-firmware-builder:
cpu: [4, 8]
ram: [8, 16]
disk: default
family: ["c7g", "m7g", "r7g"]
spot: price-capacity-optimized
image: ubuntu24-full-arm64
extras: s3-cache
+32 -101
View File
@@ -18,7 +18,7 @@ on:
- 'docs/**' - 'docs/**'
pull_request: pull_request:
branches: branches:
- '**' - '*'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
@@ -26,15 +26,11 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }} group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true cancel-in-progress: true
permissions:
contents: write
actions: read
jobs: jobs:
group_targets: group_targets:
name: Scan for Board Targets name: Scan for Board Targets
# runs-on: ubuntu-latest # runs-on: ubuntu-latest
runs-on: [runs-on,runner=1cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false] runs-on: [runs-on,runner=1cpu-linux-x64,image=ubuntu22-full-x64,"run-id=${{ github.run_id }}",spot=false]
outputs: outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }} matrix: ${{ steps.set-matrix.outputs.matrix }}
timestamp: ${{ steps.set-timestamp.outputs.timestamp }} timestamp: ${{ steps.set-timestamp.outputs.timestamp }}
@@ -42,14 +38,6 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Cache Python pip
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**./Tools/setup/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Update python packaging to avoid canonicalize_version() error - name: Update python packaging to avoid canonicalize_version() error
run: | run: |
pip3 install -U packaging pip3 install -U packaging
@@ -60,15 +48,12 @@ jobs:
path: "./Tools/setup/requirements.txt" path: "./Tools/setup/requirements.txt"
- id: set-matrix - id: set-matrix
name: Generate Build Matrix run: echo "::set-output name=matrix::$(./Tools/ci/generate_board_targets_json.py --group)"
run: echo "matrix=$(./Tools/ci/generate_board_targets_json.py --group)" >> $GITHUB_OUTPUT
- id: set-timestamp - id: set-timestamp
name: Save Current Timestamp run: echo "::set-output name=timestamp::$(date +"%Y%m%d%H%M%S")"
run: echo "timestamp=$(date +"%Y%m%d%H%M%S")" >> $GITHUB_OUTPUT
- id: set-branch - id: set-branch
name: Save Current Branch Name
run: | run: |
echo "branchname=${{ echo "branchname=${{
github.event_name == 'pull_request' && github.event_name == 'pull_request' &&
@@ -85,7 +70,7 @@ jobs:
echo "$(./Tools/ci/generate_board_targets_json.py --group --verbose)" echo "$(./Tools/ci/generate_board_targets_json.py --group --verbose)"
setup: setup:
name: Build [${{ matrix.runner }}][${{ matrix.group }}] name: Build Group [${{ matrix.group }}][${{ matrix.arch == 'nuttx' && 'x86' || 'arm64' }}]
# runs-on: ubuntu-latest # runs-on: ubuntu-latest
runs-on: [runs-on,"runner=8cpu-linux-${{ matrix.runner }}","image=ubuntu24-full-${{ matrix.runner }}","run-id=${{ github.run_id }}",spot=false] runs-on: [runs-on,"runner=8cpu-linux-${{ matrix.runner }}","image=ubuntu24-full-${{ matrix.runner }}","run-id=${{ github.run_id }}",spot=false]
needs: group_targets needs: group_targets
@@ -95,7 +80,6 @@ jobs:
container: container:
image: ${{ matrix.container }} image: ${{ matrix.container }}
steps: steps:
- uses: runs-on/action@v2
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
@@ -103,24 +87,14 @@ jobs:
- name: Git ownership workaround - name: Git ownership workaround
run: git config --system --add safe.directory '*' run: git config --system --add safe.directory '*'
# ccache key breakdown: - name: Setup ccache
# ccache-<system os>-<system arch>-<builder group>- uses: actions/cache@v4
# ccache-<linux>-<arm64>-<aarch64-0>-
# ccache-<linux>-<x64>-<nuttx-0>-
- name: Cache Restore from Key
id: cc_restore
uses: actions/cache/restore@v4
with: with:
path: ~/.ccache path: ~/.ccache
key: ${{ format('ccache-{0}-{1}-{2}', runner.os, matrix.runner, matrix.group) }} key: ${{ matrix.group }}-ccache-${{ needs.group_targets.outputs.timestamp }}
restore-keys: | restore-keys: ${{ matrix.group }}-ccache-${{ needs.group_targets.outputs.timestamp }}
ccache-${{ runner.os }}-${{ matrix.runner }}-${{ matrix.group }}-
ccache-${{ runner.os }}-${{ matrix.runner }}-
ccache-${{ runner.os }}-${{ matrix.runner }}-
ccache-${{ runner.os }}-
ccache-
- name: Cache Config and Stats - name: Configure ccache
run: | run: |
mkdir -p ~/.ccache mkdir -p ~/.ccache
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
@@ -128,11 +102,10 @@ jobs:
echo "compression_level = 6" >> ~/.ccache/ccache.conf echo "compression_level = 6" >> ~/.ccache/ccache.conf
echo "max_size = 120M" >> ~/.ccache/ccache.conf echo "max_size = 120M" >> ~/.ccache/ccache.conf
echo "hash_dir = false" >> ~/.ccache/ccache.conf echo "hash_dir = false" >> ~/.ccache/ccache.conf
echo "compiler_check = content" >> ~/.ccache/ccache.conf
ccache -s ccache -s
ccache -z ccache -z
- name: Building Artifacts for [${{ matrix.targets }}] - name: Building [${{ matrix.group }}]
run: | run: |
./Tools/ci/build_all_runner.sh ${{matrix.targets}} ${{matrix.arch}} ./Tools/ci/build_all_runner.sh ${{matrix.targets}} ${{matrix.arch}}
@@ -146,27 +119,15 @@ jobs:
name: px4_${{matrix.group}}_build_artifacts name: px4_${{matrix.group}}_build_artifacts
path: artifacts/ path: artifacts/
- name: Cache Post Build Stats
if: always()
run: |
ccache -s
ccache -z
- name: Cache Save - name: Cache Save
if: always() run: ccache -s
uses: actions/cache/save@v4
with:
path: ~/.ccache
key: ${{ steps.cc_restore.outputs.cache-primary-key }}
artifacts: artifacts:
name: Upload Artifacts name: Upload Artifacts to S3
# runs-on: ubuntu-latest # runs-on: ubuntu-latest
runs-on: [runs-on,runner=1cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false] runs-on: [runs-on,runner=1cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false]
needs: [setup, group_targets] needs: [setup, group_targets]
if: startsWith(github.ref, 'refs/tags/v') || contains(fromJSON('["main","stable","beta"]'), needs.group_targets.outputs.branchname) if: contains(fromJSON('["main", "stable", "beta"]'), needs.group_targets.outputs.branchname)
outputs:
uploadlocation: ${{ steps.upload-location.outputs.uploadlocation }}
steps: steps:
- name: Download Artifacts - name: Download Artifacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v4
@@ -174,36 +135,11 @@ jobs:
path: artifacts/ path: artifacts/
merge-multiple: true merge-multiple: true
- name: Choose Upload Location - name: Branch Name
id: upload-location
run: | run: |
# Determine upload location based on branch or tag with the following considerations: echo "${{ needs.group_targets.outputs.branchname }}"
# Destination: AWS S3 bucket px4-travis in folder Firmware/
# - If branch is main -> upload to master/
# - Older versions of QGC are hardocded to look for master/
# - If branch is stable or beta -> upload to stable/ or beta/
# - If a tag vX.Y.Z -> upload to vX.Y.Z/
# - Also update stable/ to point to the same version
#. - Older versions of QGC are hardocded to look for stable/
# - If a pull request -> do not upload
set -euo pipefail
ref="${GITHUB_REF}" - name: Uploading Artifacts to S3 [${{ needs.group_targets.outputs.branchname == 'main' && 'master' || needs.group_targets.outputs.branchname }}]
branch=${{ needs.group_targets.outputs.branchname }}
location="$branch"
if [[ "$branch" == "main" ]]; then
location="master"
fi
if [[ "$ref" == refs/tags/v[0-9]* ]]; then
tag="${ref#refs/tags/}"
location="$tag"
fi
echo "uploadlocation=$location" >> $GITHUB_OUTPUT
- name: Uploading Artifacts to S3 [${{ steps.upload-location.outputs.uploadlocation }}]
uses: jakejarvis/s3-sync-action@master uses: jakejarvis/s3-sync-action@master
with: with:
args: --acl public-read args: --acl public-read
@@ -213,30 +149,25 @@ jobs:
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'us-west-1' AWS_REGION: 'us-west-1'
SOURCE_DIR: artifacts/ SOURCE_DIR: artifacts/
DEST_DIR: Firmware/${{ steps.upload-location.outputs.uploadlocation }}/ DEST_DIR: Firmware/${{ needs.group_targets.outputs.branchname == 'main' && 'master' || needs.group_targets.outputs.branchname }}/
# if we are uploading artifacts to a versioned folder release:
# we should also update the stable folder in the s3 bucket name: Create Release and Upload Artifacts
- name: Uploading Artifacts to S3 [stable] permissions:
uses: jakejarvis/s3-sync-action@master contents: write
if: startsWith(github.ref, 'refs/tags/v') # runs-on: ubuntu-latest
runs-on: [runs-on,runner=1cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false]
needs: [setup, group_targets]
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Download Artifacts
uses: actions/download-artifact@v4
with: with:
args: --acl public-read path: artifacts/
env: merge-multiple: true
AWS_S3_BUCKET: 'px4-travis'
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'us-west-1'
SOURCE_DIR: artifacts/
DEST_DIR: Firmware/stable/
# if build is a release triggered by a versioned tag then create a github release - name: Upload Binaries to Release
# and upload the build artifacts. A draft release is created so that the release
# can be reviewed before publishing
- name: Upload Artifacts to GitHub Release
uses: softprops/action-gh-release@v2 uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/v')
with: with:
draft: true draft: true
files: artifacts/*.px4 files: artifacts/*.px4
name: ${{ steps.upload-location.outputs.uploadlocation }}
+34
View File
@@ -0,0 +1,34 @@
name: ClusterFuzzLite batch fuzzing
on:
schedule:
- cron: '0 6 * * *' # UTC 6am every day.
permissions: read-all
jobs:
BatchFuzzing:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sanitizer:
- address
- undefined
- memory
steps:
- name: Build Fuzzers (${{ matrix.sanitizer }})
id: build
uses: google/clusterfuzzlite/actions/build_fuzzers@v1
with:
sanitizer: ${{ matrix.sanitizer }}
- name: Run Fuzzers (${{ matrix.sanitizer }})
id: run
uses: google/clusterfuzzlite/actions/run_fuzzers@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
fuzz-seconds: 1800 # 30 mins
mode: 'batch'
sanitizer: ${{ matrix.sanitizer }}
# Optional but recommended: For storing certain artifacts from fuzzing.
# See later section on "Git repo for storage".
# storage-repo: https://${{ secrets.PERSONAL_ACCESS_TOKEN }}@github.com/OWNER/STORAGE-REPO-NAME.git
# storage-repo-branch: main # Optional. Defaults to "main"
# storage-repo-branch-coverage: gh-pages # Optional. Defaults to "gh-pages".
+4 -6
View File
@@ -6,15 +6,13 @@ on:
- 'main' - 'main'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
pull_request: pull_request:
branches: branches:
- '**' - '*'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
build: build:
@@ -43,7 +41,7 @@ jobs:
- name: Building [${{ matrix.check }}] - name: Building [${{ matrix.check }}]
uses: addnab/docker-run-action@v3 uses: addnab/docker-run-action@v3
with: with:
image: px4io/px4-dev:v1.16.0-rc1-258-g0369abd556 image: px4io/px4-dev-nuttx-focal:2022-08-12
options: -v ${{ github.workspace }}:/workspace options: -v ${{ github.workspace }}:/workspace
run: | run: |
cd /workspace cd /workspace
+5 -3
View File
@@ -6,11 +6,13 @@ on:
- 'main' - 'main'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
pull_request: pull_request:
branches: branches:
- '**' - '*'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -19,7 +21,7 @@ jobs:
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Testing (clang-tidy) - name: Testing (clang-tidy-quiet)
uses: addnab/docker-run-action@v3 uses: addnab/docker-run-action@v3
with: with:
image: px4io/px4-dev-clang:2021-09-08 image: px4io/px4-dev-clang:2021-09-08
@@ -27,4 +29,4 @@ jobs:
run: | run: |
cd /workspace cd /workspace
git config --global --add safe.directory /workspace git config --global --add safe.directory /workspace
make clang-tidy make clang-tidy-quiet
+4 -7
View File
@@ -6,15 +6,13 @@ on:
- 'main' - 'main'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
pull_request: pull_request:
branches: branches:
- '**' - '*'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
build: build:
@@ -34,8 +32,7 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: setup - name: setup
run: | run: ./Tools/setup/macos.sh; ./Tools/setup/macos.sh
./Tools/setup/macos.sh
- name: Prepare ccache timestamp - name: Prepare ccache timestamp
id: ccache_cache_timestamp id: ccache_cache_timestamp
+4 -6
View File
@@ -9,19 +9,17 @@ on:
- 'release/**' - 'release/**'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
pull_request: pull_request:
branches: branches:
- '**' - '*'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
env: env:
RUNS_IN_DOCKER: true RUNS_IN_DOCKER: true
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
build_and_test: build_and_test:
name: Build and Test name: Build and Test
@@ -29,7 +27,7 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
version: ['ubuntu:22.04', 'ubuntu:24.04'] version: ['ubuntu:22.04', 'ubuntu:24.04']
runs-on: [runs-on,runner=4cpu-linux-x64,"image=ubuntu24-full-x64","run-id=${{ github.run_id }}",spot=false] runs-on: [runs-on,runner=8cpu-linux-x64,"image=ubuntu24-full-x64","run-id=${{ github.run_id }}",spot=false]
container: container:
image: ${{ matrix.version }} image: ${{ matrix.version }}
volumes: volumes:
+6 -10
View File
@@ -11,7 +11,7 @@ on:
- 'v*' - 'v*'
pull_request: pull_request:
branches: branches:
- '**' - '*'
paths: paths:
- '.github/workflows/dev_container.yml' - '.github/workflows/dev_container.yml'
- 'Tools/setup/ubuntu.sh' - 'Tools/setup/ubuntu.sh'
@@ -30,16 +30,12 @@ on:
type: boolean type: boolean
default: false default: false
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
setup: setup:
name: Set Tags and Variables name: Set Tags and Variables
permissions: permissions:
contents: read contents: read
runs-on: [runs-on,"runner=1cpu-linux-x64","image=ubuntu24-full-x64","run-id=${{ github.run_id }}",extras=s3-cache,spot=false] runs-on: [runs-on,"runner=1cpu-linux-x64","image=ubuntu24-full-x64","run-id=${{ github.run_id }}",spot=false,extras=s3-cache]
outputs: outputs:
px4_version: ${{ steps.px4_version.outputs.px4_version }} px4_version: ${{ steps.px4_version.outputs.px4_version }}
meta_tags: ${{ steps.meta.outputs.tags }} meta_tags: ${{ steps.meta.outputs.tags }}
@@ -87,7 +83,7 @@ jobs:
- platform: linux/amd64 - platform: linux/amd64
arch: amd64 arch: amd64
runner: x64 runner: x64
runs-on: [runs-on,"runner=4cpu-linux-${{ matrix.runner }}","image=ubuntu24-full-${{ matrix.runner }}","run-id=${{ github.run_id }}",extras=s3-cache,spot=false] runs-on: [runs-on,"runner=8cpu-linux-${{ matrix.runner }}","image=ubuntu24-full-${{ matrix.runner }}","run-id=${{ github.run_id }}",spot=false,extras=s3-cache]
steps: steps:
- uses: runs-on/action@v1 - uses: runs-on/action@v1
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@@ -130,15 +126,15 @@ jobs:
load: false load: false
push: ${{ startsWith(github.ref, 'refs/tags/') || (github.event_name == 'workflow_dispatch' && github.event.inputs.deploy_to_registry) }} push: ${{ startsWith(github.ref, 'refs/tags/') || (github.event_name == 'workflow_dispatch' && github.event.inputs.deploy_to_registry) }}
provenance: false provenance: false
cache-from: type=gha,version=1,scope=${{ matrix.arch }} cache-from: type=gha,version=1
cache-to: type=gha,version=1,mode=max,scope=${{ matrix.arch }} cache-to: type=gha,version=1,mode=max
deploy: deploy:
name: Deploy To Registry name: Deploy To Registry
permissions: permissions:
contents: read contents: read
packages: write packages: write
runs-on: [runs-on,"runner=4cpu-linux-x64","image=ubuntu24-full-x64","run-id=${{ github.run_id }}",extras=s3-cache,spot=false] runs-on: [runs-on,"runner=8cpu-linux-x64","image=ubuntu24-full-x64","run-id=${{ github.run_id }}",spot=false,extras=s3-cache]
needs: [build, setup] needs: [build, setup]
if: ${{ startsWith(github.ref, 'refs/tags/') || (github.event_name == 'workflow_dispatch' && github.event.inputs.deploy_to_registry) }} if: ${{ startsWith(github.ref, 'refs/tags/') || (github.event_name == 'workflow_dispatch' && github.event.inputs.deploy_to_registry) }}
steps: steps:
+17 -4
View File
@@ -1,6 +1,19 @@
name: Docs - Deploy PX4 User Guide to Github pages (Manual) name: Docs - Deploy PX4 User Guide
on: on:
push:
branches:
- 'main'
- 'release/**'
paths:
- 'docs/en/**'
pull_request:
branches:
- '*'
paths:
- 'docs/en/**'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch: workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
@@ -20,7 +33,7 @@ env:
jobs: jobs:
build: build:
runs-on: [runs-on,runner=4cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",extras=s3-cache,spot=false] runs-on: [runs-on,runner=8cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false,extras=s3-cache]
steps: steps:
- uses: runs-on/action@v1 - uses: runs-on/action@v1
- name: Checkout - name: Checkout
@@ -55,7 +68,7 @@ jobs:
deploy: deploy:
if: ${{ github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.merged) || github.event_name == 'workflow_dispatch' }} if: ${{ github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.merged) || github.event_name == 'workflow_dispatch' }}
needs: build needs: build
runs-on: [runs-on,runner=4cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false] runs-on: [runs-on,runner=8cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false]
steps: steps:
- name: Download Artifact - name: Download Artifact
@@ -67,7 +80,7 @@ jobs:
- name: Deploy - name: Deploy
run: | run: |
git clone --single-branch --branch main --depth 1 https://${{ secrets.PX4BUILTBOT_PERSONAL_ACCESS_TOKEN }}@github.com/PX4/docs.px4.io.git git clone --single-branch --branch main --depth 1 https://${{ secrets.PX4BUILTBOT_PERSONAL_ACCESS_TOKEN }}@github.com/PX4/docs.px4.io.git
# make it an orphan branch # make it an orphan branch
cd docs.px4.io cd docs.px4.io
CURRENT_DATETIME=$(date +'%Y%m%d_%H_%M') CURRENT_DATETIME=$(date +'%Y%m%d_%H_%M')
git checkout --orphan "${CURRENT_DATETIME}_main" git checkout --orphan "${CURRENT_DATETIME}_main"
-116
View File
@@ -1,116 +0,0 @@
name: Docs - Deploy PX4 User Guide to AWS
on:
push:
branches:
- "main"
- "release/**"
paths:
- "docs/en/**"
- "docs/zh/**"
- "docs/uk/**"
- "docs/ko/**"
pull_request:
paths:
- "docs/en/**"
- "docs/zh/**"
- "docs/uk/**"
- "docs/ko/**"
workflow_dispatch:
permissions:
contents: read
actions: read
id-token: write # for AWS OIDC
concurrency:
group: docs-deploy
cancel-in-progress: false
jobs:
build:
runs-on: [runs-on,runner=4cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false,extras=s3-cache]
outputs:
branchname: ${{ steps.set-branch.outputs.branchname }}
releaseversion: ${{ steps.set-version.outputs.releaseversion }}
steps:
- uses: runs-on/action@v1
- name: Checkout
uses: actions/checkout@v4
- id: set-branch
run: echo "branchname=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
- id: set-version
run: |
branch="${{ steps.set-branch.outputs.branchname }}"
if [[ "$branch" == "main" ]]; then
version="main"
else
version="v${branch#release/}"
fi
echo "releaseversion=$version" >> $GITHUB_OUTPUT
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: ./docs/yarn.lock
- name: Install dependencies
run: yarn install --frozen-lockfile --cwd ./docs
- name: Build with VitePress
working-directory: ./docs
env:
BRANCH_NAME: ${{ steps.set-version.outputs.releaseversion }}
run: |
npm run docs:build_ubuntu
touch .vitepress/dist/.nojekyll
npm run docs:sitemap
- name: Upload artifact
if: ${{ github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.merged) || github.event_name == 'workflow_dispatch' }}
uses: actions/upload-artifact@v4
with:
name: px4_docs_build
path: docs/.vitepress/dist/
retention-days: 1
deploy:
if: ${{ github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.merged) || github.event_name == 'workflow_dispatch' }}
needs: build
runs-on: ubuntu-latest
steps:
- name: Download Artifact
uses: actions/download-artifact@v4
with:
name: px4_docs_build
path: ~/_book
- name: Configure AWS from OIDC
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_ROLE_ARN }}
aws-region: us-west-2
- name: Sanity check AWS credentials
run: aws sts get-caller-identity
- name: Upload HTML with short cache
run: |
aws s3 sync ~/_book/ s3://px4-docs/${{ needs.build.outputs.releaseversion }}/ \
--delete \
--exclude "*" --include "*.html" \
--cache-control "public, max-age=60"
- name: Upload assets with long cache
run: |
aws s3 sync ~/_book/ s3://px4-docs/${{ needs.build.outputs.releaseversion }}/ \
--delete \
--exclude "*.html" \
--cache-control "public, max-age=86400, immutable"
+8 -19
View File
@@ -29,7 +29,7 @@ jobs:
- name: Get changed english doc files - name: Get changed english doc files
id: get_changed_markdown_english id: get_changed_markdown_english
uses: tj-actions/changed-files@v46.0.5 uses: tj-actions/changed-files@v35.9.2
with: with:
json: true json: true
base_sha: "${{ github.event.pull_request.base.sha }}" base_sha: "${{ github.event.pull_request.base.sha }}"
@@ -42,24 +42,14 @@ jobs:
- name: Save JSON file containing files to link check - name: Save JSON file containing files to link check
run: | run: |
echo "$ALL_CHANGED_FILES" echo "${{ steps.get_changed_markdown_english.outputs.all_changed_files }}"
# echo "$ALL_CHANGED_FILES" > ./logs/prFiles.json echo "${{ steps.get_changed_markdown_english.outputs.all_changed_files }}" > ./logs/prFiles.json
echo "$ALL_CHANGED_FILES" | sed 's/\\//g' | jq '.' > ./logs/prFiles.json
env:
ALL_CHANGED_FILES: ${{ steps.get_changed_markdown_english.outputs.all_changed_files }}
- name: Run link checker - name: Run link checker
id: link-check id: link-check
run: | run: |
npm -g install markdown_link_checker_sc@0.0.138 npm -g install markdown_link_checker_sc@0.0.138
markdown_link_checker_sc \ markdown_link_checker_sc -r ${{ github.workspace }} -d docs -e en -f ./logs/prFiles.json -i assets -u docs.px4.io/main/ > ./logs/errorsFilteredByPrPages.md
-r "$GITHUB_WORKSPACE" \
-d docs \
-e en \
-f ./logs/prFiles.json \
-i assets \
-u docs.px4.io/main/ \
> ./logs/errorsFilteredByPrPages.md
mkdir -p ./pr mkdir -p ./pr
cp ./logs/errorsFilteredByPrPages.md ./pr/errorsFilteredByPrPages.md cp ./logs/errorsFilteredByPrPages.md ./pr/errorsFilteredByPrPages.md
@@ -70,15 +60,14 @@ jobs:
path: ./logs/errorsFilteredByPrPages.md path: ./logs/errorsFilteredByPrPages.md
- name: Echo Errors by Page - name: Echo Errors by Page
run: echo "$ERRORS" run: echo "${{ steps.read-errors-by-page.outputs.content }}"
env:
ERRORS: ${{ steps.read-errors-by-page.outputs.content }}
- name: Save PR number - name: Save PR number
run: echo "$PR_NUMBER" > ./pr/pr_number
env: env:
PR_NUMBER: ${{ github.event.number }} PR_NUMBER: ${{ github.event.number }}
run: |
#mkdir -p ./pr
echo $PR_NUMBER > ./pr/pr_number
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
with: with:
name: pr_number name: pr_number
+2 -6
View File
@@ -4,7 +4,6 @@ on:
workflows: ["Docs - Check for flaws in PX4 Guide Source"] workflows: ["Docs - Check for flaws in PX4 Guide Source"]
types: types:
- completed - completed
jobs: jobs:
comment: comment:
permissions: permissions:
@@ -57,11 +56,8 @@ jobs:
- name: File detail info - name: File detail info
run: | run: |
echo "$ERRORS" echo "${{ steps.read-errors-by-page.outputs.content }}"
echo "$PRNUM" echo "${{ steps.read-error-pr-number.outputs.content }}"
env:
ERRORS: ${{ steps.read-errors-by-page.outputs.content }}
PRNUM: ${{ steps.read-error-pr-number.outputs.content }}
- name: Create or update comment - name: Create or update comment
id: comment_to_pr id: comment_to_pr
@@ -3,14 +3,10 @@ name: EKF Change Indicator
on: on:
pull_request: pull_request:
branches: branches:
- '**' - '*'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
# If two events are triggered within a short time in the same PR, cancel the run of the oldest event
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs: jobs:
unit_tests: unit_tests:
@@ -23,7 +19,7 @@ jobs:
- name: main test - name: main test
uses: addnab/docker-run-action@v3 uses: addnab/docker-run-action@v3
with: with:
image: px4io/px4-dev:v1.16.0-rc1-258-g0369abd556 image: px4io/px4-dev-base-focal:2021-09-08
options: -v ${{ github.workspace }}:/workspace options: -v ${{ github.workspace }}:/workspace
run: | run: |
cd /workspace cd /workspace
@@ -4,6 +4,7 @@ on:
push: push:
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
jobs: jobs:
unit_tests: unit_tests:
@@ -19,7 +20,7 @@ jobs:
- name: main test - name: main test
uses: addnab/docker-run-action@v3 uses: addnab/docker-run-action@v3
with: with:
image: px4io/px4-dev:v1.16.0-rc1-258-g0369abd556 image: px4io/px4-dev-base-focal:2021-09-08
options: -v ${{ github.workspace }}:/workspace options: -v ${{ github.workspace }}:/workspace
run: | run: |
cd /workspace cd /workspace
+4 -7
View File
@@ -6,15 +6,13 @@ on:
- 'main' - 'main'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
pull_request: pull_request:
branches: branches:
- '**' - '*'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
build: build:
@@ -29,7 +27,7 @@ jobs:
"failsafe_web", "failsafe_web",
] ]
container: container:
image: px4io/px4-dev:v1.16.0-rc1-258-g0369abd556 image: px4io/px4-dev:v1.16.0-ondemand
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps: steps:
- name: Install Node v20.18.0 - name: Install Node v20.18.0
@@ -48,7 +46,6 @@ jobs:
run: | run: |
git clone https://github.com/emscripten-core/emsdk.git _emscripten_sdk git clone https://github.com/emscripten-core/emsdk.git _emscripten_sdk
cd _emscripten_sdk cd _emscripten_sdk
git checkout 4.0.15
./emsdk install latest ./emsdk install latest
./emsdk activate latest ./emsdk activate latest
+6 -5
View File
@@ -11,11 +11,13 @@ on:
- 'main' - 'main'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
pull_request: pull_request:
branches: branches:
- '**' - '*'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
env: env:
MIN_FLASH_POS_DIFF_FOR_COMMENT: 50 MIN_FLASH_POS_DIFF_FOR_COMMENT: 50
@@ -24,9 +26,9 @@ env:
jobs: jobs:
analyze_flash: analyze_flash:
name: Analyzing ${{ matrix.target }} name: Analyzing ${{ matrix.target }}
runs-on: [runs-on,runner=4cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false] runs-on: [runs-on,runner=8cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false]
container: container:
image: px4io/px4-dev:v1.16.0-rc1-258-g0369abd556 image: px4io/px4-dev:v1.16.0-ondemand
strategy: strategy:
matrix: matrix:
target: [px4_fmu-v5x, px4_fmu-v6x] target: [px4_fmu-v5x, px4_fmu-v6x]
@@ -54,7 +56,6 @@ jobs:
run: | run: |
make clean make clean
make distclean make distclean
make submodulesclean
- name: If it's a PR checkout the base branch - name: If it's a PR checkout the base branch
if: ${{ github.event.pull_request }} if: ${{ github.event.pull_request }}
@@ -98,7 +99,7 @@ jobs:
# Track this issue https://github.com/PX4/PX4-Autopilot/issues/24408 # Track this issue https://github.com/PX4/PX4-Autopilot/issues/24408
post_pr_comment: post_pr_comment:
name: Publish Results name: Publish Results
runs-on: [runs-on,runner=1cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}"] runs-on: [runs-on,runner=1cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false]
needs: [analyze_flash] needs: [analyze_flash]
env: env:
V5X-SUMMARY-MAP-ABS: ${{ fromJSON(fromJSON(needs.analyze_flash.outputs.px4_fmu-v5x-bloaty-summary-map).vm-absolute) }} V5X-SUMMARY-MAP-ABS: ${{ fromJSON(fromJSON(needs.analyze_flash.outputs.px4_fmu-v5x-bloaty-summary-map).vm-absolute) }}
-49
View File
@@ -1,49 +0,0 @@
name: Fuzzing
on:
schedule:
- cron: '0 6 * * *' # UTC 6am every day.
permissions:
contents: read
issues: write # for JasonEtco/create-an-issue
env:
RUNS_IN_DOCKER: true
jobs:
Fuzzing:
runs-on: ubuntu-latest
container:
image: px4io/px4-dev:v1.16.0-rc2-4-gb67c65bfe6
steps:
- name: Install Dependencies
run: |
apt update && apt install -y clang
- name: Fix git in Container
run: |
git config --global --add safe.directory $(realpath .)
- uses: actions/checkout@v4
- name: Build and Run Fuzz Tests
run: |
# Only build the tests
export CC=clang
export CXX=clang++
make tests TESTFILTER=__no_tests__
# Run the fuzz tests
for fuzz_binary in build/px4_sitl_test/*fuzz*; do
./Tools/ci/run_fuzz_tests.sh $fuzz_binary 15m
done
# Create a github issue in case of a failure
- name: Create Issue
if: ${{ failure() }}
uses: JasonEtco/create-an-issue@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
WORKFLOW_RUN_URL: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
with:
filename: .github/fuzzing_issue_template.md
+5 -11
View File
@@ -9,22 +9,20 @@ on:
- 'main' - 'main'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
pull_request: pull_request:
branches: branches:
- '**' - '*'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
check_itcm: check_itcm:
name: Checking ${{ matrix.target }} name: Checking ${{ matrix.target }}
runs-on: [runs-on,runner=4cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false] runs-on: [runs-on,runner=8cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false]
container: container:
image: px4io/px4-dev:v1.16.0-rc1-258-g0369abd556 image: px4io/px4-dev:v1.16.0-ondemand
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@@ -41,10 +39,6 @@ jobs:
scripts: > scripts: >
boards/nxp/tropic-community/nuttx-config/scripts/itcm_functions_includes.ld boards/nxp/tropic-community/nuttx-config/scripts/itcm_functions_includes.ld
boards/nxp/tropic-community/nuttx-config/scripts/itcm_static_functions.ld boards/nxp/tropic-community/nuttx-config/scripts/itcm_static_functions.ld
- target: nxp_mr-tropic
scripts: >
boards/nxp/mr-tropic/nuttx-config/scripts/itcm_functions_includes.ld
boards/nxp/mr-tropic/nuttx-config/scripts/itcm_static_functions.ld
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
-21
View File
@@ -1,21 +0,0 @@
# This workflow will triage pull requests and apply a label based on the
# paths that are modified in the pull request.
# The paths are set up in .github/labeler.yml
#
# See: https://github.com/actions/labeler
name: Labeler
on: [pull_request_target]
jobs:
label:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/labeler@v5
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
+4 -5
View File
@@ -6,15 +6,13 @@ on:
- 'main' - 'main'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
pull_request: pull_request:
branches: branches:
- '**' - '*'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
build: build:
@@ -24,6 +22,7 @@ jobs:
matrix: matrix:
config: config:
- {vehicle: "iris", mission: "MC_mission_box"} - {vehicle: "iris", mission: "MC_mission_box"}
- {vehicle: "rover", mission: "rover_mission_1"}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
+3 -5
View File
@@ -6,15 +6,13 @@ on:
- 'main' - 'main'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
pull_request: pull_request:
branches: branches:
- '**' - '*'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
build: build:
+4 -6
View File
@@ -6,15 +6,13 @@ on:
- 'main' - 'main'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
pull_request: pull_request:
branches: branches:
- '**' - '*'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
build: build:
@@ -33,7 +31,7 @@ jobs:
- name: Build PX4 and Run Test [${{ matrix.config }}] - name: Build PX4 and Run Test [${{ matrix.config }}]
uses: addnab/docker-run-action@v3 uses: addnab/docker-run-action@v3
with: with:
image: px4io/px4-dev:v1.16.0-rc1-258-g0369abd556 image: px4io/px4-dev:v1.16.0-ondemand
options: -v ${{ github.workspace }}:/workspace options: -v ${{ github.workspace }}:/workspace
run: | run: |
cd /workspace cd /workspace
+3 -1
View File
@@ -6,11 +6,13 @@ on:
- 'main' - 'main'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
pull_request: pull_request:
branches: branches:
- '**' - '*'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
jobs: jobs:
build: build:
+4 -12
View File
@@ -11,19 +11,17 @@ on:
- 'main' - 'main'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
pull_request: pull_request:
branches: branches:
- '**' - '*'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
build: build:
runs-on: [runs-on,runner=4cpu-linux-x64,image=ubuntu22-full-x64,"run-id=${{ github.run_id }}",spot=false] runs-on: [runs-on,runner=16cpu-linux-x64,image=ubuntu22-full-x64,"run-id=${{ github.run_id }}",spot=false]
container: container:
image: px4io/px4-dev-ros2-galactic:2021-09-08 image: px4io/px4-dev-ros2-galactic:2021-09-08
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
@@ -35,12 +33,6 @@ jobs:
- name: Git Ownership Workaround - name: Git Ownership Workaround
run: git config --system --add safe.directory '*' run: git config --system --add safe.directory '*'
- name: Update ROS Keys
run: |
sudo rm /etc/apt/sources.list.d/ros2.list && \
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg && \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
- name: Install gazebo - name: Install gazebo
run: | run: |
apt update && apt install -y gazebo11 libgazebo11-dev gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly libgstreamer-plugins-base1.0-dev apt update && apt install -y gazebo11 libgazebo11-dev gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly libgstreamer-plugins-base1.0-dev
+4 -7
View File
@@ -5,23 +5,20 @@ on:
- 'main' - 'main'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
pull_request: pull_request:
branches: branches:
- '**' - '*'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
defaults: defaults:
run: run:
shell: bash shell: bash
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
build_and_test: build_and_test:
name: Build and test name: Build and test
runs-on: [runs-on,runner=4cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false] runs-on: [runs-on,runner=8cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false]
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
+5 -7
View File
@@ -11,20 +11,18 @@ on:
- 'main' - 'main'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
pull_request: pull_request:
branches: branches:
- '**' - '*'
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '.github/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
build: build:
name: Testing PX4 ${{ matrix.config.model }} name: Testing PX4 ${{ matrix.config.model }}
runs-on: [runs-on,runner=4cpu-linux-x64,image=ubuntu22-full-x64,"run-id=${{ github.run_id }}",spot=false] runs-on: [runs-on,runner=16cpu-linux-x64,image=ubuntu22-full-x64,"run-id=${{ github.run_id }}",spot=false]
container: container:
image: px4io/px4-dev-simulation-focal:2021-09-08 image: px4io/px4-dev-simulation-focal:2021-09-08
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
@@ -118,7 +116,7 @@ jobs:
PX4_HOME_LON: ${{matrix.config.longitude}} PX4_HOME_LON: ${{matrix.config.longitude}}
PX4_HOME_ALT: ${{matrix.config.altitude}} PX4_HOME_ALT: ${{matrix.config.altitude}}
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}} PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: test/mavsdk_tests/mavsdk_test_runner.py --speed-factor 10 --abort-early --model ${{matrix.config.model}} test/mavsdk_tests/configs/sitl.json --verbose --force-color run: test/mavsdk_tests/mavsdk_test_runner.py --speed-factor 10 --abort-early --model ${{matrix.config.model}} --upload test/mavsdk_tests/configs/sitl.json --verbose --force-color
timeout-minutes: 45 timeout-minutes: 45
- name: Upload failed logs - name: Upload failed logs
+3 -8
View File
@@ -7,15 +7,10 @@ jobs:
stale: stale:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/stale@v10 - uses: actions/stale@v8
with: with:
operations-per-run: 250 days-before-stale: 30
days-before-stale: 90 days-before-close: -1
days-before-close: 30
stale-issue-label: 'stale' stale-issue-label: 'stale'
stale-pr-label: 'stale' stale-pr-label: 'stale'
remove-stale-when-updated: true remove-stale-when-updated: true
stale-issue-message: 'This issue has been marked as stale due to 90 days of inactivity. If no further activity occurs, it will be automatically closed in 30 days. Please leave a comment, add a reaction, make an update, or remove the stale label if youd like to keep it open.'
close-issue-message: 'This issue has been closed due to prolonged inactivity after being marked as stale. If you believe this was closed in error or the topic is still relevant, please feel free to reopen it or create a new issue.'
stale-pr-message: 'This PR was identified as stale and it will be closed in 30 days unless any activity is detected.'
close-pr-message: 'This pull request has been closed after being marked as stale with no further activity. Thank you for the time and effort you put into this contribution. If youd like to continue the discussion or update the work, please feel free to reopen it or submit a new PR.'
-62
View File
@@ -1,62 +0,0 @@
name: Sync ROS 2 messages to px4_msgs
on:
push:
branches:
- 'main'
- 'stable'
- 'beta'
- 'release/**'
paths:
- 'msg/**'
- 'srv/**'
workflow_dispatch:
permissions:
contents: read
jobs:
sync_to_px4_msgs:
if: github.repository == 'PX4/PX4-Autopilot'
runs-on: [runs-on,runner=4cpu-linux-x64,image=ubuntu22-full-x64,"run-id=${{ github.run_id }}",spot=false]
steps:
- name: Checkout PX4 repo
uses: actions/checkout@v4
- name: Setup git credentials
run: |
git config --global user.name "${{ secrets.PX4BUILDBOT_USER }}"
git config --global user.email "${{ secrets.PX4BUILDBOT_EMAIL }}"
- name: Clone PX4_msgs repo
run: |
git clone https://${{ secrets.PX4BUILTBOT_PERSONAL_ACCESS_TOKEN }}@github.com/PX4/px4_msgs.git
- name: Check out the same branch as the PX4 repo
run: |
cd px4_msgs
if git checkout ${{ github.ref_name }}; then
echo "Checked out existing branch"
else
git checkout -b ${{ github.ref_name }}
fi
- name: Copy ROS 2 messages
run: |
rm -f px4_msgs/msg/*.msg
rm -f px4_msgs/msg/versioned/*.msg
rm -f px4_msgs/srv/*.srv
rm -f px4_msgs/srv/versioned/*.srv
cp msg/*.msg px4_msgs/msg/
cp msg/versioned/*.msg px4_msgs/msg/ || true
cp srv/*.srv px4_msgs/srv/
cp srv/versioned/*.srv px4_msgs/srv/ || true
- name: Commit and push changes
run: |
cd px4_msgs
git status
git add .
git commit -a -m "Update to PX4 ${{ github.sha }}" || true
git push origin ${{ github.ref_name }} || true
cd ..
rm -rf px4_msgs
-14
View File
@@ -89,17 +89,3 @@
[submodule "src/drivers/uavcan/libdronecan/libuavcan/dsdl_compiler/pydronecan"] [submodule "src/drivers/uavcan/libdronecan/libuavcan/dsdl_compiler/pydronecan"]
path = src/drivers/uavcan/libdronecan/libuavcan/dsdl_compiler/pydronecan path = src/drivers/uavcan/libdronecan/libuavcan/dsdl_compiler/pydronecan
url = https://github.com/dronecan/pydronecan url = https://github.com/dronecan/pydronecan
[submodule "test/fuzztest"]
path = test/fuzztest
url = https://github.com/google/fuzztest.git
branch = main
[submodule "src/lib/tensorflow_lite_micro/tflite_micro"]
path = src/lib/tensorflow_lite_micro/tflite_micro
url = https://github.com/PX4/tflite-micro.git
branch = main
[submodule "src/drivers/ins/microstrain/mip_sdk"]
path = src/drivers/ins/microstrain/mip_sdk
url = https://github.com/PX4/LORD-MicroStrain_mip_sdk.git
[submodule "src/drivers/ins/sbgecom/sbgECom"]
path = src/drivers/ins/sbgecom/sbgECom
url = https://github.com/PX4/sbgECom.git
-110
View File
@@ -6,11 +6,6 @@ CONFIG:
buildType: RelWithDebInfo buildType: RelWithDebInfo
settings: settings:
CONFIG: px4_sitl_default CONFIG: px4_sitl_default
px4_sitl_spacecraft:
short: px4_sitl_spacecraft
buildType: RelWithDebInfo
settings:
CONFIG: px4_sitl_spacecraft
px4_sitl_nolockstep: px4_sitl_nolockstep:
short: px4_sitl_nolockstep short: px4_sitl_nolockstep
buildType: RelWithDebInfo buildType: RelWithDebInfo
@@ -36,11 +31,6 @@ CONFIG:
buildType: RelWithDebInfo buildType: RelWithDebInfo
settings: settings:
CONFIG: px4_sitl_test CONFIG: px4_sitl_test
px4_sitl_zenoh:
short: px4_sitl_zenoh
buildType: RelWithDebInfo
settings:
CONFIG: px4_sitl_test
px4_io-v2_default: px4_io-v2_default:
short: px4_io-v2 short: px4_io-v2
buildType: MinSizeRel buildType: MinSizeRel
@@ -141,11 +131,6 @@ CONFIG:
buildType: MinSizeRel buildType: MinSizeRel
settings: settings:
CONFIG: ark_can-flow_canbootloader CONFIG: ark_can-flow_canbootloader
ark_can-flow-mr_default:
short: ark_can-flow-mr_default
buildType: MinSizeRel
settings:
CONFIG: ark_can-flow-mr_default
ark_can-flow-mr_canbootloader: ark_can-flow-mr_canbootloader:
short: ark_can-flow-mr_canbootloader short: ark_can-flow-mr_canbootloader
buildType: MinSizeRel buildType: MinSizeRel
@@ -201,26 +186,6 @@ CONFIG:
buildType: MinSizeRel buildType: MinSizeRel
settings: settings:
CONFIG: ark_cannode_canbootloader CONFIG: ark_cannode_canbootloader
ark_dist_default:
short: ark_dist_default
buildType: MinSizeRel
settings:
CONFIG: ark_dist_default
ark_dist_canbootloader:
short: ark_dist_canbootloader
buildType: MinSizeRel
settings:
CONFIG: ark_dist_canbootloader
ark_f9p-gps_default:
short: ark_f9p-gps_default
buildType: MinSizeRel
settings:
CONFIG: ark_f9p-gps_default
ark_f9p-gps_canbootloader:
short: ark_f9p-gps_canbootloader
buildType: MinSizeRel
settings:
CONFIG: ark_f9p-gps_canbootloader
ark_fmu-v6x_bootloader: ark_fmu-v6x_bootloader:
short: ark_fmu-v6x_bootloader short: ark_fmu-v6x_bootloader
buildType: MinSizeRel buildType: MinSizeRel
@@ -241,16 +206,6 @@ CONFIG:
buildType: MinSizeRel buildType: MinSizeRel
settings: settings:
CONFIG: ark_fpv_default CONFIG: ark_fpv_default
ark_mag_canbootloader:
short: ark_mag_canbootloader
buildType: MiniSizeRel
settings:
CONFIG: ark_mag_canbootloader
ark_mag_default:
short: ark_mag_default
buildType: MiniSizeRel
settings:
CONFIG: ark_mag_default
ark_pi6x_bootloader: ark_pi6x_bootloader:
short: ark_pi6x_bootloader short: ark_pi6x_bootloader
buildType: MinSizeRel buildType: MinSizeRel
@@ -261,16 +216,6 @@ CONFIG:
buildType: MinSizeRel buildType: MinSizeRel
settings: settings:
CONFIG: ark_pi6x_default CONFIG: ark_pi6x_default
ark_x20-gps_default:
short: ark_x20-gps_default
buildType: MinSizeRel
settings:
CONFIG: ark_x20-gps_default
ark_x20-gps_canbootloader:
short: ark_x20-gps_canbootloader
buildType: MinSizeRel
settings:
CONFIG: ark_x20-gps_canbootloader
atl_mantis-edu_default: atl_mantis-edu_default:
short: atl_mantis-edu short: atl_mantis-edu
buildType: MinSizeRel buildType: MinSizeRel
@@ -316,16 +261,6 @@ CONFIG:
buildType: MinSizeRel buildType: MinSizeRel
settings: settings:
CONFIG: cuav_7-nano_default CONFIG: cuav_7-nano_default
cuav_fmu-v6x_default:
short: cuav_fmu-v6x
buildType: MinSizeRel
settings:
CONFIG: cuav_fmu-v6x_default
cuav_x25_default:
short: cuav_x25-evo
buildType: MinSizeRel
settings:
CONFIG: cuav_x25-evo_default
cubepilot_cubeorange_test: cubepilot_cubeorange_test:
short: cubepilot_cubeorange short: cubepilot_cubeorange
buildType: MinSizeRel buildType: MinSizeRel
@@ -366,11 +301,6 @@ CONFIG:
buildType: MinSizeRel buildType: MinSizeRel
settings: settings:
CONFIG: holybro_durandal-v1_default CONFIG: holybro_durandal-v1_default
holybro_kakuteh7-wing_default:
short: holybro_kakuteh7-wing
buildType: MinSizeRel
settings:
CONFIG: holybro_kakuteh7-wing_default
holybro_kakuteh7dualimu_default: holybro_kakuteh7dualimu_default:
short: holybro_kakuteh7dualimu short: holybro_kakuteh7dualimu
buildType: MinSizeRel buildType: MinSizeRel
@@ -421,16 +351,6 @@ CONFIG:
buildType: MinSizeRel buildType: MinSizeRel
settings: settings:
CONFIG: micoair_h743-v2_default CONFIG: micoair_h743-v2_default
micoair_h743-lite_bootloader:
short: micoair_h743-lite_bootloader
buildType: MinSizeRel
settings:
CONFIG: micoair_h743-lite_bootloader
micoair_h743-lite_default:
short: micoair_h743-lite
buildType: MinSizeRel
settings:
CONFIG: micoair_h743-lite_default
modalai_fc-v1_default: modalai_fc-v1_default:
short: modalai_fc-v1 short: modalai_fc-v1
buildType: MinSizeRel buildType: MinSizeRel
@@ -481,16 +401,6 @@ CONFIG:
buildType: MinSizeRel buildType: MinSizeRel
settings: settings:
CONFIG: nxp_mr-canhubk3_fmu CONFIG: nxp_mr-canhubk3_fmu
nxp_mr-tropic_default:
short: nxp_mr-tropic_default
buildType: MinSizeRel
settings:
CONFIG: nxp_mr-tropic_default
nxp_mr-tropic_bootloader:
short: nxp_mr-tropic_bootloader
buildType: MinSizeRel
settings:
CONFIG: nxp_mr-tropic_bootloader
nxp_tropic-community_default: nxp_tropic-community_default:
short: nxp_tropic-community_default short: nxp_tropic-community_default
buildType: MinSizeRel buildType: MinSizeRel
@@ -521,23 +431,3 @@ CONFIG:
buildType: MinSizeRel buildType: MinSizeRel
settings: settings:
CONFIG: x-mav_ap-h743v2_default CONFIG: x-mav_ap-h743v2_default
svehicle_e2_bootloader:
short: svehicle_e2_bootloader
buildType: MinSizeRel
settings:
CONFIG: svehicle_e2_bootloader
svehicle_e2_default:
short: svehicle_e2
buildType: MinSizeRel
settings:
CONFIG: svehicle_e2_default
x-mav_ap-h743r1_bootloader:
short: x-mav_ap-h743r1-boot
buildType: MinSizeRel
settings:
CONFIG: x-mav_ap-h743r1_bootloader
x-mav_ap-h743r1_default:
short: x-mav_ap-h743r1
buildType: MinSizeRel
settings:
CONFIG: x-mav_ap-h743r1_default
+1 -1
View File
@@ -43,7 +43,7 @@
"files.watcherExclude": { "files.watcherExclude": {
"**/build/**": true "**/build/**": true
}, },
"git.detectSubmodulesLimit": 25, "git.detectSubmodulesLimit": 20,
"git.ignoreLimitWarning": true, "git.ignoreLimitWarning": true,
"githubPullRequests.defaultMergeMethod": "squash", "githubPullRequests.defaultMergeMethod": "squash",
"githubPullRequests.telemetry.enabled": false, "githubPullRequests.telemetry.enabled": false,
+42 -27
View File
@@ -334,33 +334,6 @@ if(NOT PX4_CHIP)
message(FATAL_ERROR "px4_os_determine_build_chip() needs to set PX4_CHIP") message(FATAL_ERROR "px4_os_determine_build_chip() needs to set PX4_CHIP")
endif() endif()
#=============================================================================
# Testing - Automatic unit and integration testing with CTest
# (Needs to be before setting the common compile flags)
#
# optionally enable cmake testing (supported only on posix)
option(CMAKE_TESTING "Configure test targets" OFF)
if(${PX4_CONFIG} STREQUAL "px4_sitl_test")
set(CMAKE_TESTING ON)
endif()
if(CMAKE_TESTING)
include(CTest) # sets BUILD_TESTING variable
endif()
# enable test filtering to run only specific tests with the ctest -R regex functionality
set(TESTFILTER "" CACHE STRING "Filter string for ctest to selectively only run specific tests (ctest -R)")
include(px4_add_gtest)
if(BUILD_TESTING)
# Setting FUZZTEST_FUZZING_MODE=on enables ASAN, and is only supported with Clang
if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") OR ("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang"))
set(FUZZTEST_FUZZING_MODE ON)
endif()
add_subdirectory(test)
fuzztest_setup_fuzzing_flags()
endif()
#============================================================================= #=============================================================================
# build flags # build flags
# #
@@ -413,6 +386,47 @@ if (NOT EXTERNAL_MODULES_LOCATION STREQUAL "")
endforeach() endforeach()
endif() endif()
#=============================================================================
# Testing - Automatic unit and integration testing with CTest
#
# optionally enable cmake testing (supported only on posix)
option(CMAKE_TESTING "Configure test targets" OFF)
if(${PX4_CONFIG} STREQUAL "px4_sitl_test")
set(CMAKE_TESTING ON)
endif()
if(CMAKE_TESTING)
include(CTest) # sets BUILD_TESTING variable
endif()
# enable test filtering to run only specific tests with the ctest -R regex functionality
set(TESTFILTER "" CACHE STRING "Filter string for ctest to selectively only run specific tests (ctest -R)")
# if testing is enabled download and configure gtest
list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/cmake/gtest/)
include(px4_add_gtest)
if(BUILD_TESTING)
include(gtest)
# Ensure there's no -R without any filter expression since that trips newer ctest versions
if(TESTFILTER)
set(TESTFILTERARG "-R")
else()
set(TESTFILTERARG "")
endif()
add_custom_target(test_results
COMMAND GTEST_COLOR=1 ${CMAKE_CTEST_COMMAND} --output-on-failure -T Test ${TESTFILTERARG} ${TESTFILTER}
DEPENDS
px4
examples__dyn_hello
USES_TERMINAL
COMMENT "Running tests"
WORKING_DIRECTORY ${PX4_BINARY_DIR})
set_target_properties(test_results PROPERTIES EXCLUDE_FROM_ALL TRUE)
endif()
#============================================================================= #=============================================================================
# subdirectories # subdirectories
# #
@@ -482,6 +496,7 @@ add_custom_target(uorb_graph DEPENDS ${uorb_graph_config})
include(bloaty) include(bloaty)
include(doxygen)
include(metadata) include(metadata)
include(package) include(package)
File diff suppressed because it is too large Load Diff
Vendored
+30
View File
@@ -220,6 +220,36 @@ pipeline {
} }
} }
stage('PX4 ROS msgs') {
agent {
docker { image 'px4io/px4-dev-base-focal:2021-08-18' }
}
steps {
sh('export')
sh('make distclean; git clean -ff -x -d .')
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) {
sh("git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/px4_msgs.git")
// 'main' branch
sh('rm -f px4_msgs/msg/*.msg')
sh('rm -f px4_msgs/msg/versioned/*.msg')
sh('rm -f px4_msgs/srv/*.srv')
sh('rm -f px4_msgs/srv/versioned/*.srv')
sh('cp msg/*.msg px4_msgs/msg/')
sh('cp msg/versioned/*.msg px4_msgs/msg/ || true')
sh('cp srv/*.srv px4_msgs/srv/')
sh('cp srv/versioned/*.srv px4_msgs/srv/ || true')
sh('cd px4_msgs; git status; git add .; git commit -a -m "Update message definitions `date`" || true')
sh('cd px4_msgs; git push origin main || true')
sh('rm -rf px4_msgs')
}
}
when {
anyOf {
branch 'main'
}
}
}
stage('S3') { stage('S3') {
agent { agent {
docker { image 'px4io/px4-dev-base-focal:2021-08-18' } docker { image 'px4io/px4-dev-base-focal:2021-08-18' }
+2 -7
View File
@@ -73,11 +73,6 @@ menu "Toolchain"
help help
relative path to the ROMFS root directory relative path to the ROMFS root directory
config BOARD_ADDITIONAL_INIT
string "Additional init file"
help
additional configurable init file to include in the ROMFS
config BOARD_IO config BOARD_IO
string "IO board name" string "IO board name"
default "px4_io-v2_default" default "px4_io-v2_default"
@@ -211,8 +206,8 @@ source "src/examples/Kconfig"
endmenu endmenu
menu "platforms" menu "platforms"
depends on PLATFORM_QURT || PLATFORM_POSIX || PLATFORM_NUTTX depends on PLATFORM_QURT || PLATFORM_POSIX
source "platforms/Kconfig" source "platforms/common/Kconfig"
endmenu endmenu
source "src/lib/*/Kconfig" source "src/lib/*/Kconfig"
+1 -1
View File
@@ -1,6 +1,6 @@
BSD 3-Clause License BSD 3-Clause License
Copyright (c) 2012 - 2025, PX4 Development Team Copyright (c) 2012 - 2023, PX4 Development Team
All rights reserved. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
+1 -1
View File
@@ -19,7 +19,7 @@ See [the documentation on Maintainers](https://docs.px4.io/main/en/contribute/ma
| Matthias Grob | Multirotor | [@MaEtUgR](https://github.com/MaEtUgR) | maetugr | | Matthias Grob | Multirotor | [@MaEtUgR](https://github.com/MaEtUgR) | maetugr |
| Silvan Fuhrer | Fixed-Wing / VTOL | [@sfuhrer](https://github.com/sfuhrer) | sfuhrer | | Silvan Fuhrer | Fixed-Wing / VTOL | [@sfuhrer](https://github.com/sfuhrer) | sfuhrer |
| Christian Friedrich | Rover | [@chfriedrich98](https://github.com/chfriedrich98) | christian982564 | | Christian Friedrich | Rover | [@chfriedrich98](https://github.com/chfriedrich98) | christian982564 |
| Pedro Roque | Spacecraft | [@Pedro-Roque](https://github.com/Pedro-Roque) | .pedroroque | <roque@caltech.edu> | Pedro Roque | Spacecraft | [@Pedro-Roque](https://github.com/Pedro-Roque) | .pedroroque | <padr@kth.se>
| Jacob Dahl | Simulation | [@dakejahl](https://github.com/dakejahl) | dakejahl | <dahl.jakejacob@gmail.com> | Jacob Dahl | Simulation | [@dakejahl](https://github.com/dakejahl) | dakejahl | <dahl.jakejacob@gmail.com>
+18 -17
View File
@@ -160,6 +160,11 @@ else
override CMAKE_ARGS += -DCMAKE_BUILD_TYPE=UndefinedBehaviorSanitizer override CMAKE_ARGS += -DCMAKE_BUILD_TYPE=UndefinedBehaviorSanitizer
endif endif
# Fuzz Testing
ifdef PX4_FUZZ
override CMAKE_ARGS += -DCMAKE_BUILD_TYPE=FuzzTesting
endif
endif endif
# Pick up specific Python path if set # Pick up specific Python path if set
@@ -325,13 +330,9 @@ bootloaders_update: \
ark_fmu-v6x_bootloader \ ark_fmu-v6x_bootloader \
ark_fpv_bootloader \ ark_fpv_bootloader \
ark_pi6x_bootloader \ ark_pi6x_bootloader \
auterion_fmu-v6s_bootloader \
auterion_fmu-v6x_bootloader \
cuav_nora_bootloader \ cuav_nora_bootloader \
cuav_x7pro_bootloader \ cuav_x7pro_bootloader \
cuav_7-nano_bootloader \ cuav_7-nano_bootloader \
cuav_fmu-v6x_bootloader \
cuav_x25-evo_bootloader \
cubepilot_cubeorange_bootloader \ cubepilot_cubeorange_bootloader \
cubepilot_cubeorangeplus_bootloader \ cubepilot_cubeorangeplus_bootloader \
hkust_nxt-dual_bootloader \ hkust_nxt-dual_bootloader \
@@ -346,13 +347,11 @@ bootloaders_update: \
micoair_h743_bootloader \ micoair_h743_bootloader \
micoair_h743-aio_bootloader \ micoair_h743-aio_bootloader \
micoair_h743-v2_bootloader \ micoair_h743-v2_bootloader \
micoair_h743-lite_bootloader \
modalai_fc-v2_bootloader \ modalai_fc-v2_bootloader \
mro_ctrl-zero-classic_bootloader \ mro_ctrl-zero-classic_bootloader \
mro_ctrl-zero-h7_bootloader \ mro_ctrl-zero-h7_bootloader \
mro_ctrl-zero-h7-oem_bootloader \ mro_ctrl-zero-h7-oem_bootloader \
mro_pixracerpro_bootloader \ mro_pixracerpro_bootloader \
narinfc_h7_bootloader \
px4_fmu-v6c_bootloader \ px4_fmu-v6c_bootloader \
px4_fmu-v6u_bootloader \ px4_fmu-v6u_bootloader \
px4_fmu-v6x_bootloader \ px4_fmu-v6x_bootloader \
@@ -366,7 +365,7 @@ coverity_scan: px4_sitl_default
# Documentation # Documentation
# -------------------------------------------------------------------- # --------------------------------------------------------------------
.PHONY: parameters_metadata airframe_metadata module_documentation extract_events px4_metadata .PHONY: parameters_metadata airframe_metadata module_documentation extract_events px4_metadata doxygen
parameters_metadata: parameters_metadata:
@$(MAKE) --no-print-directory px4_sitl_default metadata_parameters ver_gen @$(MAKE) --no-print-directory px4_sitl_default metadata_parameters ver_gen
@@ -382,6 +381,12 @@ extract_events:
px4_metadata: parameters_metadata airframe_metadata module_documentation extract_events px4_metadata: parameters_metadata airframe_metadata module_documentation extract_events
doxygen:
@mkdir -p "$(SRC_DIR)"/build/doxygen
@cd "$(SRC_DIR)"/build/doxygen && cmake "$(SRC_DIR)" $(CMAKE_ARGS) -G"$(PX4_CMAKE_GENERATOR)" -DCONFIG=px4_sitl_default -DBUILD_DOXYGEN=ON
@$(PX4_MAKE) -C "$(SRC_DIR)"/build/doxygen
@touch "$(SRC_DIR)"/build/doxygen/Documentation/.nojekyll
# Style # Style
# -------------------------------------------------------------------- # --------------------------------------------------------------------
.PHONY: check_format format check_newlines .PHONY: check_format format check_newlines
@@ -411,18 +416,11 @@ tests:
$(eval UBSAN_OPTIONS += color=always) $(eval UBSAN_OPTIONS += color=always)
$(call cmake-build,px4_sitl_test) $(call cmake-build,px4_sitl_test)
# work around lcov bug #316; remove once lcov is fixed (see https://github.com/linux-test-project/lcov/issues/316)
LCOBUG = --ignore-errors mismatch
tests_coverage: tests_coverage:
@$(MAKE) clean @$(MAKE) clean
@$(MAKE) --no-print-directory tests PX4_CMAKE_BUILD_TYPE=Coverage @$(MAKE) --no-print-directory tests PX4_CMAKE_BUILD_TYPE=Coverage
@mkdir -p coverage @mkdir -p coverage
@lcov --directory build/px4_sitl_test \ @lcov --directory build/px4_sitl_test --base-directory build/px4_sitl_test --gcov-tool gcov --capture -o coverage/lcov.info
--base-directory build/px4_sitl_test \
--gcov-tool gcov \
--capture \
$(LCOBUG) \
-o coverage/lcov.info
rostest: px4_sitl_default rostest: px4_sitl_default
@@ -474,7 +472,7 @@ python_coverage:
# static analyzers (scan-build, clang-tidy, cppcheck) # static analyzers (scan-build, clang-tidy, cppcheck)
# -------------------------------------------------------------------- # --------------------------------------------------------------------
.PHONY: scan-build px4_sitl_default-clang clang-tidy clang-tidy-fix .PHONY: scan-build px4_sitl_default-clang clang-tidy clang-tidy-fix clang-tidy-quiet
.PHONY: cppcheck shellcheck_all validate_module_configs .PHONY: cppcheck shellcheck_all validate_module_configs
scan-build: scan-build:
@@ -500,6 +498,10 @@ clang-tidy: px4_sitl_default-clang
clang-tidy-fix: px4_sitl_default-clang clang-tidy-fix: px4_sitl_default-clang
@cd "$(SRC_DIR)"/build/px4_sitl_default-clang && "$(SRC_DIR)"/Tools/run-clang-tidy.py -header-filter=".*\.hpp" -j$(j_clang_tidy) -fix -p . @cd "$(SRC_DIR)"/build/px4_sitl_default-clang && "$(SRC_DIR)"/Tools/run-clang-tidy.py -header-filter=".*\.hpp" -j$(j_clang_tidy) -fix -p .
# modified version of run-clang-tidy.py to return error codes and only output relevant results
clang-tidy-quiet: px4_sitl_default-clang
@cd "$(SRC_DIR)"/build/px4_sitl_default-clang && "$(SRC_DIR)"/Tools/run-clang-tidy.py -header-filter=".*\.hpp" -j$(j_clang_tidy) -p .
# TODO: Fix cppcheck errors then try --enable=warning,performance,portability,style,unusedFunction or --enable=all # TODO: Fix cppcheck errors then try --enable=warning,performance,portability,style,unusedFunction or --enable=all
cppcheck: px4_sitl_default cppcheck: px4_sitl_default
@mkdir -p "$(SRC_DIR)"/build/cppcheck @mkdir -p "$(SRC_DIR)"/build/cppcheck
@@ -514,7 +516,6 @@ validate_module_configs:
@find "$(SRC_DIR)"/src/modules "$(SRC_DIR)"/src/drivers "$(SRC_DIR)"/src/lib -name *.yaml -type f \ @find "$(SRC_DIR)"/src/modules "$(SRC_DIR)"/src/drivers "$(SRC_DIR)"/src/lib -name *.yaml -type f \
-not -path "$(SRC_DIR)/src/lib/mixer_module/*" \ -not -path "$(SRC_DIR)/src/lib/mixer_module/*" \
-not -path "$(SRC_DIR)/src/modules/uxrce_dds_client/dds_topics.yaml" \ -not -path "$(SRC_DIR)/src/modules/uxrce_dds_client/dds_topics.yaml" \
-not -path "$(SRC_DIR)/src/modules/zenoh/dds_topics.yaml" \
-not -path "$(SRC_DIR)/src/modules/zenoh/zenoh-pico/*" \ -not -path "$(SRC_DIR)/src/modules/zenoh/zenoh-pico/*" \
-not -path "$(SRC_DIR)/src/lib/events/libevents/*" \ -not -path "$(SRC_DIR)/src/lib/events/libevents/*" \
-not -path "$(SRC_DIR)/src/lib/cdrstream/*" \ -not -path "$(SRC_DIR)/src/lib/cdrstream/*" \
+2 -70
View File
@@ -85,32 +85,10 @@ endif()
if(PX4_ETHERNET) if(PX4_ETHERNET)
set(added_arguments ${added_arguments} --ethernet) set(added_arguments ${added_arguments} --ethernet)
endif() endif()
# Check if board has an rc.board_airframes file to filter airframes
set(board_airframes_file "${PX4_BOARD_DIR}/init/rc.board_airframes")
set(airframes_whitelist "")
if(EXISTS "${board_airframes_file}")
message(STATUS "ROMFS: Using board-specific airframes list: ${board_airframes_file}")
file(STRINGS "${board_airframes_file}" airframes_whitelist)
# Remove comments and empty lines
list(FILTER airframes_whitelist EXCLUDE REGEX "^[ \t]*#")
list(FILTER airframes_whitelist EXCLUDE REGEX "^[ \t]*$")
endif()
# create list of relative romfs file names # create list of relative romfs file names
set(romfs_copy_files_relative) set(romfs_copy_files_relative)
foreach(romfs_file IN LISTS romfs_copy_files) foreach(romfs_file IN LISTS romfs_copy_files)
string(REPLACE "${romfs_src_dir}/" "" romfs_file_rel ${romfs_file}) string(REPLACE "${romfs_src_dir}/" "" romfs_file_rel ${romfs_file})
# If we have an airframes whitelist, filter airframe files
if(airframes_whitelist AND romfs_file_rel MATCHES "^init.d/airframes/")
# Extract just the filename
get_filename_component(airframe_name "${romfs_file_rel}" NAME)
# Check if it's in the whitelist
if(NOT "${airframe_name}" IN_LIST airframes_whitelist)
continue()
endif()
endif()
list(APPEND romfs_copy_files_relative ${romfs_file_rel}) list(APPEND romfs_copy_files_relative ${romfs_file_rel})
endforeach() endforeach()
# copy the ROMFS files by creating a tar and extracting it to the build # copy the ROMFS files by creating a tar and extracting it to the build
@@ -224,31 +202,6 @@ foreach(board_rc_file ${OPTIONAL_BOARD_RC})
endforeach() endforeach()
if(config_additional_init)
if(EXISTS "${PX4_BOARD_DIR}/init/${config_additional_init}")
file(RELATIVE_PATH rc_file_relative ${PX4_SOURCE_DIR} ${PX4_BOARD_DIR}/init/${config_additional_init})
message(STATUS "ROMFS: Adding ${rc_file_relative} -> /etc/init.d/rc.additional_init")
add_custom_command(
OUTPUT
${romfs_gen_root_dir}/init.d/rc.additional_init
${config_additional_init}.stamp
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PX4_BOARD_DIR}/init/${config_additional_init} ${romfs_gen_root_dir}/init.d/rc.additional_init
COMMAND ${CMAKE_COMMAND} -E touch ${config_additional_init}.stamp
DEPENDS
${PX4_BOARD_DIR}/init/${config_additional_init}
romfs_copy.stamp
COMMENT "ROMFS: copying ${config_additional_init}"
)
list(APPEND extras_dependencies
${config_additional_init}.stamp
)
else()
message(FATAL_ERROR "BOARD_ADDITIONAL_INIT file not found at: ${PX4_BOARD_DIR}/init/${config_additional_init}")
endif()
endif()
# board extras # board extras
set(OPTIONAL_BOARD_EXTRAS) set(OPTIONAL_BOARD_EXTRAS)
@@ -263,33 +216,12 @@ foreach(board_extra_file ${OPTIONAL_BOARD_EXTRAS})
if(CONFIG_SYSTEMCMDS_BL_UPDATE) if(CONFIG_SYSTEMCMDS_BL_UPDATE)
# generate rc.board_bootloader_upgrade # generate rc.board_bootloader_upgrade
set(BOARD_FIRMWARE_BIN "${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_bootloader.bin") set(BOARD_FIRMWARE_BIN "${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_bootloader.bin")
message(STATUS "ROMFS: Adding platforms/nuttx/init/rc.board_bootloader_upgrade -> /etc/init.d/rc.board_bootloader_upgrade") configure_file(${PX4_SOURCE_DIR}/platforms/nuttx/init/rc.board_bootloader_upgrade.in ${romfs_gen_root_dir}/init.d/rc.board_bootloader_upgrade @ONLY)
# Generate the file using configure_file at configure time to a temporary location
set(bootloader_upgrade_tmp ${CMAKE_CURRENT_BINARY_DIR}/rc.board_bootloader_upgrade.tmp)
configure_file(${PX4_SOURCE_DIR}/platforms/nuttx/init/rc.board_bootloader_upgrade.in ${bootloader_upgrade_tmp} @ONLY)
# Then copy it at build time with proper dependencies
add_custom_command(
OUTPUT
${romfs_gen_root_dir}/init.d/rc.board_bootloader_upgrade
rc.board_bootloader_upgrade.stamp
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${bootloader_upgrade_tmp} ${romfs_gen_root_dir}/init.d/rc.board_bootloader_upgrade
COMMAND ${CMAKE_COMMAND} -E touch rc.board_bootloader_upgrade.stamp
DEPENDS
${bootloader_upgrade_tmp}
${PX4_SOURCE_DIR}/platforms/nuttx/init/rc.board_bootloader_upgrade.in
romfs_copy.stamp
COMMENT "ROMFS: copying rc.board_bootloader_upgrade"
)
list(APPEND extras_dependencies
rc.board_bootloader_upgrade.stamp
)
else() else()
# remove bootloader from extras # remove bootloader from extras
list(REMOVE_ITEM OPTIONAL_BOARD_EXTRAS ${board_extra_file}) list(REMOVE_ITEM OPTIONAL_BOARD_EXTRAS ${board_extra_file})
endif() endif()
endif() endif()
endforeach() endforeach()
-11
View File
@@ -56,17 +56,6 @@ then
fi fi
unset BOARD_RC_DEFAULTS unset BOARD_RC_DEFAULTS
#
# Optional additional init file: rc.additional_init
#
set BOARD_RC_ADDITIONAL_INIT ${R}etc/init.d/rc.additional_init
if [ -f $BOARD_RC_ADDITIONAL_INIT ]
then
echo "Board additional init: ${BOARD_RC_ADDITIONAL_INIT}"
. $BOARD_RC_ADDITIONAL_INIT
fi
unset BOARD_RC_ADDITIONAL_INIT
# #
# Start system state indicator. # Start system state indicator.
# #
@@ -27,6 +27,7 @@ param set-default SIH_KDV 0.2
param set-default SIH_VEHICLE_TYPE 1 # sih as fixed wing param set-default SIH_VEHICLE_TYPE 1 # sih as fixed wing
param set-default RWTO_TKOFF 1 # enable takeoff from runway (as opposed to launched) param set-default RWTO_TKOFF 1 # enable takeoff from runway (as opposed to launched)
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3 param set-default CA_ROTOR0_PX 0.3
@@ -45,22 +46,3 @@ param set-default PWM_MAIN_FUNC3 203
param set-default PWM_MAIN_FUNC4 101 param set-default PWM_MAIN_FUNC4 101
param set-default EKF2_GPS_DELAY 0 param set-default EKF2_GPS_DELAY 0
# Rate controllers
param set-default FW_RR_P 0.0500
param set-default FW_RR_I 2.0000
param set-default FW_RR_D 0.0000
param set-default FW_RR_FF 0.0000
param set-default FW_RR_IMAX 1.0000
param set-default FW_PR_P 0.0800
param set-default FW_PR_I 2.5000
param set-default FW_PR_D 0.0000
param set-default FW_PR_FF 0.0000
param set-default FW_PR_IMAX 1.0000
param set-default FW_YR_P 0.0500
param set-default FW_YR_I 3.0000
param set-default FW_YR_D 0.0000
param set-default FW_YR_FF 0.0000
param set-default FW_YR_IMAX 1.0000
@@ -1,72 +0,0 @@
#!/bin/sh
# @name Rover Ackermann
# @type Rover
# @class Rover
. ${R}etc/init.d/rc.rover_ackermann_defaults
set VEHICLE_TYPE rover_ackermann
param set-default CA_AIRFRAME 5 # Rover (Ackermann)
param set-default CA_R_REV 1 # Motor is assumed to be reversible
param set-default EKF2_MAG_TYPE 1 # Make sure magnetometer is fused even when not driving
param set-default NAV_ACC_RAD 0.5 # Waypoint acceptance radius
param set-default EKF2_GBIAS_INIT 0.01
param set-default EKF2_ANGERR_INIT 0.01
PX4_SIMULATOR=${PX4_SIMULATOR:=sihsim}
PX4_SIM_MODEL=${PX4_SIM_MODEL:=rover_ackermann}
param set-default SIH_VEHICLE_TYPE 5 # sih as rover ackermann
param set-default PWM_MAIN_FUNC1 201 # Steering
param set-default PWM_MAIN_FUNC2 101 # Throttle
param set-default SIH_MASS 20
param set-default SIH_IXX 0.4333
param set-default SIH_IYY 1.6833
param set-default SIH_IZZ 2.0833
param set-default SIH_IXZ 0
param set-default SIH_KDV 50
param set-default SIH_KDW 10
param set-default SENS_EN_GPSSIM 1
param set-default SENS_EN_BAROSIM 1
param set-default SENS_EN_MAGSIM 1
# Ackermann Parameters
param set-default RA_WHEEL_BASE 0.321
param set-default RA_ACC_RAD_GAIN 2
param set-default RA_ACC_RAD_MAX 3
param set-default RA_MAX_STR_ANG 0.5236
param set-default RA_STR_RATE_LIM 360
# Rate Control Parameters
param set-default RO_YAW_RATE_I 0.01
param set-default RO_YAW_RATE_P 0.25
param set-default RO_YAW_RATE_LIM 180
param set-default RO_YAW_ACCEL_LIM 400
param set-default RO_YAW_DECEL_LIM 800
param set-default RO_YAW_RATE_CORR 1
# Attitude Control Parameters
param set-default RO_YAW_P 5
# Velocity Control Parameters
param set-default RO_ACCEL_LIM 3
param set-default RO_DECEL_LIM 3
param set-default RO_JERK_LIM 10
param set-default RO_MAX_THR_SPEED 3.2
param set-default RO_SPEED_LIM 3
param set-default RO_SPEED_I 0.001
param set-default RO_SPEED_P 0.001
param set-default RO_SPEED_RED 1
# Pure Pursuit parameters
param set-default PP_LOOKAHD_GAIN 1
param set-default PP_LOOKAHD_MAX 10
param set-default PP_LOOKAHD_MIN 1
# Pure Pursuit parameters
param set-default PP_LOOKAHD_GAIN 1
param set-default PP_LOOKAHD_MAX 10
param set-default PP_LOOKAHD_MIN 1
@@ -44,6 +44,8 @@ param set-default NAV_DLL_ACT 2
param set-default RWTO_TKOFF 1 param set-default RWTO_TKOFF 1
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3 param set-default CA_ROTOR0_PX 0.3
@@ -46,6 +46,8 @@ param set-default NAV_DLL_ACT 2
param set-default RWTO_TKOFF 1 param set-default RWTO_TKOFF 1
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3 param set-default CA_ROTOR0_PX 0.3
@@ -46,6 +46,8 @@ param set-default MIS_TAKEOFF_ALT 30
param set-default NAV_ACC_RAD 15 param set-default NAV_ACC_RAD 15
param set-default NAV_DLL_ACT 2 param set-default NAV_DLL_ACT 2
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3 param set-default CA_ROTOR0_PX 0.3
@@ -31,6 +31,8 @@ param set-default NAV_DLL_ACT 2
param set-default RWTO_TKOFF 1 param set-default RWTO_TKOFF 1
param set-default RWTO_PSP 8 param set-default RWTO_PSP 8
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3 param set-default CA_ROTOR0_PX 0.3
@@ -31,6 +31,8 @@ param set-default NAV_DLL_ACT 2
param set-default RWTO_TKOFF 1 param set-default RWTO_TKOFF 1
param set-default RWTO_PSP 8 param set-default RWTO_PSP 8
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3 param set-default CA_ROTOR0_PX 0.3
@@ -30,6 +30,8 @@ param set-default NAV_DLL_ACT 2
param set-default RWTO_TKOFF 1 param set-default RWTO_TKOFF 1
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3 param set-default CA_ROTOR0_PX 0.3
@@ -31,6 +31,8 @@ param set-default NAV_DLL_ACT 2
param set-default RWTO_TKOFF 1 param set-default RWTO_TKOFF 1
param set-default RWTO_PSP 8 param set-default RWTO_PSP 8
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3 param set-default CA_ROTOR0_PX 0.3
@@ -38,6 +38,8 @@ param set-default NAV_DLL_ACT 2
param set-default RWTO_TKOFF 1 param set-default RWTO_TKOFF 1
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3 param set-default CA_ROTOR0_PX 0.3
@@ -44,6 +44,8 @@ param set-default MIS_TAKEOFF_ALT 30
param set-default NAV_ACC_RAD 15 param set-default NAV_ACC_RAD 15
param set-default NAV_DLL_ACT 2 param set-default NAV_DLL_ACT 2
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3 param set-default CA_ROTOR0_PX 0.3
@@ -35,6 +35,8 @@ param set-default RWTO_MAX_PITCH 20
param set-default RWTO_PSP 8 param set-default RWTO_PSP 8
param set-default RWTO_AIRSPD_SCL 1.8 param set-default RWTO_AIRSPD_SCL 1.8
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3 param set-default CA_ROTOR0_PX 0.3
@@ -35,6 +35,8 @@ param set-default NAV_DLL_ACT 2
param set-default RWTO_TKOFF 1 param set-default RWTO_TKOFF 1
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3 param set-default CA_ROTOR0_PX 0.3
@@ -46,6 +46,8 @@ param set-default NAV_DLL_ACT 2
param set-default RWTO_TKOFF 1 param set-default RWTO_TKOFF 1
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3 param set-default CA_ROTOR0_PX 0.3
@@ -0,0 +1,33 @@
#!/bin/sh
#
# @name Rover
#
. ${R}etc/init.d/rc.rover_defaults
param set-default GND_L1_DIST 5
param set-default GND_L1_PERIOD 10
param set-default GND_SP_CTRL_MODE 1
param set-default GND_SPEED_D 0.001
param set-default GND_SPEED_I 3
param set-default GND_SPEED_IMAX 0.125
param set-default GND_SPEED_P 0.25
param set-default GND_SPEED_THR_SC 1
param set-default GND_SPEED_TRIM 4
param set-default GND_THR_CRUISE 0.3
param set-default GND_THR_MAX 0.5
param set-default GND_THR_MIN 0
param set-default NAV_ACC_RAD 0.5
param set-default NAV_LOITER_RAD 2
param set-default GND_MAX_ANG 0.6
param set-default GND_WHEEL_BASE 2
param set-default CA_AIRFRAME 5
param set-default CA_R_REV 1
param set-default PWM_MAIN_FUNC1 201
param set-default PWM_MAIN_FUNC2 201
param set-default PWM_MAIN_FUNC6 101
param set-default PWM_MAIN_FUNC7 101
@@ -0,0 +1,12 @@
#!/bin/sh
#
# @name Aion Robotics R1 Rover
# @type Rover
# @class Rover
. ${R}etc/init.d/rc.rover_differential_defaults
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 101
param set-default PWM_MAIN_FUNC6 102
param set-default PWM_MAIN_FUNC7 102
@@ -43,6 +43,8 @@ param set-default FW_THR_TRIM 0.8
param set-default FW_THR_IDLE 0 param set-default FW_THR_IDLE 0
param set-default COM_DISARM_PRFLT 0 param set-default COM_DISARM_PRFLT 0
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3 param set-default CA_ROTOR0_PX 0.3
@@ -48,6 +48,8 @@ param set-default FW_THR_TRIM 0.8
param set-default FW_THR_IDLE 0 param set-default FW_THR_IDLE 0
param set-default COM_DISARM_PRFLT 0 param set-default COM_DISARM_PRFLT 0
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3 param set-default CA_ROTOR0_PX 0.3
@@ -53,6 +53,8 @@ param set-default NAV_DLL_ACT 2
param set-default RWTO_TKOFF 1 param set-default RWTO_TKOFF 1
param set-default CA_AIRFRAME 1
param set-default COM_PREARM_MODE 2 param set-default COM_PREARM_MODE 2
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
@@ -11,6 +11,8 @@ PX4_SIM_MODEL=${PX4_SIM_MODEL:=advanced_plane}
param set-default SIM_GZ_EN 1 param set-default SIM_GZ_EN 1
param set-default SENS_EN_ARSPDSIM 1
param set-default FW_LND_ANG 8 param set-default FW_LND_ANG 8
param set-default FW_PR_FF 0.08 param set-default FW_PR_FF 0.08
@@ -46,6 +48,8 @@ param set-default NAV_DLL_ACT 2
param set-default RWTO_TKOFF 1 param set-default RWTO_TKOFF 1
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_SV_CS_COUNT 6 param set-default CA_SV_CS_COUNT 6
@@ -15,6 +15,7 @@ param set-default NAV_ACC_RAD 0.5
# Differential Parameters # Differential Parameters
param set-default RD_WHEEL_TRACK 0.3 param set-default RD_WHEEL_TRACK 0.3
param set-default RD_MAX_THR_YAW_R 1.5
param set-default RD_TRANS_DRV_TRN 0.349066 param set-default RD_TRANS_DRV_TRN 0.349066
param set-default RD_TRANS_TRN_DRV 0.174533 param set-default RD_TRANS_TRN_DRV 0.174533
@@ -30,16 +31,14 @@ param set-default RO_YAW_RATE_P 0.25
param set-default RO_YAW_RATE_LIM 180 param set-default RO_YAW_RATE_LIM 180
param set-default RO_YAW_ACCEL_LIM 120 param set-default RO_YAW_ACCEL_LIM 120
param set-default RO_YAW_DECEL_LIM 1000 param set-default RO_YAW_DECEL_LIM 1000
param set-default RO_YAW_RATE_CORR 1.43
# Rover Attitude Control Parameters # Rover Attitude Control Parameters
param set-default RO_YAW_P 5 param set-default RO_YAW_P 5
# Rover Velocity Control Parameters # Rover Position Control Parameters
param set-default RO_SPEED_LIM 2 param set-default RO_SPEED_LIM 2
param set-default RO_SPEED_I 0.01 param set-default RO_SPEED_I 0.01
param set-default RO_SPEED_P 0.1 param set-default RO_SPEED_P 0.1
param set-default RO_SPEED_RED 1
# Pure Pursuit parameters # Pure Pursuit parameters
param set-default PP_LOOKAHD_GAIN 1 param set-default PP_LOOKAHD_GAIN 1
@@ -1,68 +1,51 @@
#!/bin/sh #!/bin/sh
# @name Gazebo - Zero Turn Lawnmower # @name Gazebo lawnmower
# @type Rover # @type Rover
# @class Rover # @class Rover
. ${R}etc/init.d/rc.rover_differential_defaults . ${R}etc/init.d/rc.rover_differential_defaults
PX4_SIMULATOR=${PX4_SIMULATOR:=gz} PX4_SIMULATOR=${PX4_SIMULATOR:=gz}
PX4_GZ_WORLD=${PX4_GZ_WORLD:=lawn} PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}
PX4_SIM_MODEL=${PX4_SIM_MODEL:=lawnmower} PX4_SIM_MODEL=${PX4_SIM_MODEL:=lawnmower}
param set-default SIM_GZ_EN 1 # Gazebo bridge param set-default SIM_GZ_EN 1 # Gazebo bridge
param set-default NAV_ACC_RAD 0.5
# We can arm and drive in manual mode when it slides and GPS check fails: # We can arm and drive in manual mode when it slides and GPS check fails:
param set-default COM_ARM_WO_GPS 1 param set-default COM_ARM_WO_GPS 1
# Differential Parameters # Rover parameters
param set-default RD_WHEEL_TRACK 0.9 param set-default RD_WHEEL_TRACK 0.9
param set-default RD_YAW_RATE_I 0.1
param set-default RD_YAW_RATE_P 5
param set-default RD_MAX_ACCEL 1
param set-default RD_MAX_JERK 3
param set-default RD_MAX_SPEED 8
param set-default RD_YAW_P 5
param set-default RD_YAW_I 0.1
param set-default RD_MAX_YAW_RATE 30
param set-default RD_TRANS_DRV_TRN 0.349066 param set-default RD_TRANS_DRV_TRN 0.349066
param set-default RD_TRANS_TRN_DRV 0.174533 param set-default RD_TRANS_TRN_DRV 0.174533
# Rover Control Parameters
param set-default RO_ACCEL_LIM 1.5
param set-default RO_DECEL_LIM 5
param set-default RO_JERK_LIM 15
param set-default RO_MAX_THR_SPEED 2.7
# Rover Rate Control Parameters
param set-default RO_YAW_RATE_I 0.2
param set-default RO_YAW_RATE_P 1.0
param set-default RO_YAW_RATE_LIM 60
param set-default RO_YAW_ACCEL_LIM 50
param set-default RO_YAW_DECEL_LIM 1000
param set-default RO_YAW_RATE_CORR 1.0
# Rover Attitude Control Parameters
param set-default RO_YAW_P 5
# Rover Velocity Control Parameters
param set-default RO_SPEED_LIM 2.1
param set-default RO_SPEED_I 0.01
param set-default RO_SPEED_P 0.1
param set-defatul RO_SPEED_RED 1.0
# Pure pursuit parameters # Pure pursuit parameters
param set-default PP_LOOKAHD_MAX 30
param set-default PP_LOOKAHD_MIN 2
param set-default PP_LOOKAHD_GAIN 1 param set-default PP_LOOKAHD_GAIN 1
param set-default PP_LOOKAHD_MAX 10
param set-default PP_LOOKAHD_MIN 1
# Actuator mapping - set SITL motors/servos output parameters: # Actuator mapping - set SITL motors/servos output parameters:
# "Motors" - motor channels 0 (Right) and 1 (Left) - via Wheels GZ bridge: # "Motors" - motor channels 0 (Right) and 1 (Left) - via Wheels GZ bridge:
param set-default SIM_GZ_WH_FUNC1 101 # right wheel param set-default SIM_GZ_WH_FUNC1 101 # right wheel
param set-default SIM_GZ_WH_MIN1 87 #param set-default SIM_GZ_WH_MIN1 0
param set-default SIM_GZ_WH_MAX1 113 #param set-default SIM_GZ_WH_MAX1 200
param set-default SIM_GZ_WH_DIS1 100 #param set-default SIM_GZ_WH_DIS1 100
param set-default SIM_GZ_WH_FAIL1 100 #param set-default SIM_GZ_WH_FAIL1 100
param set-default SIM_GZ_WH_FUNC2 102 # left wheel param set-default SIM_GZ_WH_FUNC2 102 # left wheel
param set-default SIM_GZ_WH_MIN2 87 #param set-default SIM_GZ_WH_MIN2 0
param set-default SIM_GZ_WH_MAX2 113 #param set-default SIM_GZ_WH_MAX2 200
param set-default SIM_GZ_WH_DIS2 100 #param set-default SIM_GZ_WH_DIS2 100
param set-default SIM_GZ_WH_FAIL2 100 #param set-default SIM_GZ_WH_FAIL2 100
param set-default SIM_GZ_WH_REV 0 # no need to reverse any wheels param set-default SIM_GZ_WH_REV 0 # no need to reverse any wheels
@@ -1,5 +1,5 @@
#!/bin/sh #!/bin/sh
# @name Generic Ackermann Rover # @name Rover Ackermann
# @type Rover # @type Rover
# @class Rover # @class Rover
@@ -14,34 +14,30 @@ param set-default SIM_GZ_EN 1 # Gazebo bridge
param set-default NAV_ACC_RAD 0.5 param set-default NAV_ACC_RAD 0.5
# Ackermann Parameters # Ackermann Parameters
param set-default RA_WHEEL_BASE 0.5 param set-default RA_WHEEL_BASE 0.321
param set-default RA_ACC_RAD_GAIN 2 param set-default RA_ACC_RAD_GAIN 2
param set-default RA_ACC_RAD_MAX 1.5 param set-default RA_ACC_RAD_MAX 3
param set-default RA_MAX_STR_ANG 0.5236 param set-default RA_MAX_STR_ANG 0.5236
param set-default RA_STR_RATE_LIM 360 param set-default RA_STR_RATE_LIM 360
# Rate Control Parameters # Rover Control Parameters
param set-default RO_YAW_RATE_I 0.01 param set-default RO_ACCEL_LIM 3
param set-default RO_YAW_RATE_P 0.25 param set-default RO_DECEL_LIM 6
param set-default RO_YAW_RATE_LIM 130 param set-default RO_JERK_LIM 15
param set-default RO_YAW_ACCEL_LIM 800 param set-default RO_MAX_THR_SPEED 3.1
param set-default RO_YAW_DECEL_LIM 800
param set-default RO_YAW_RATE_CORR 1
param set-default RO_YAW_EXPO 0.85
param set-default RO_YAW_SUPEXPO 0.3
# Attitude Control Parameters # Rover Rate Control Parameters
param set-default RO_YAW_RATE_I 0.1
param set-default RO_YAW_RATE_P 1
param set-default RO_YAW_RATE_LIM 180
# Rover Attitude Control Parameters
param set-default RO_YAW_P 3 param set-default RO_YAW_P 3
# Velocity Control Parameters # Rover Position Control Parameters
param set-default RO_ACCEL_LIM 4 param set-default RO_SPEED_LIM 3
param set-default RO_DECEL_LIM 6 param set-default RO_SPEED_I 0.1
param set-default RO_JERK_LIM 10
param set-default RO_MAX_THR_SPEED 3.1
param set-default RO_SPEED_LIM 2.5
param set-default RO_SPEED_I 0.01
param set-default RO_SPEED_P 1 param set-default RO_SPEED_P 1
param set-default RO_SPEED_RED 1
# Pure Pursuit parameters # Pure Pursuit parameters
param set-default PP_LOOKAHD_GAIN 1 param set-default PP_LOOKAHD_GAIN 1
@@ -50,8 +46,8 @@ param set-default PP_LOOKAHD_MIN 1
# Wheels # Wheels
param set-default SIM_GZ_WH_FUNC1 101 param set-default SIM_GZ_WH_FUNC1 101
param set-default SIM_GZ_WH_MIN1 70 param set-default SIM_GZ_WH_MIN1 0
param set-default SIM_GZ_WH_MAX1 130 param set-default SIM_GZ_WH_MAX1 200
param set-default SIM_GZ_WH_DIS1 100 param set-default SIM_GZ_WH_DIS1 100
# Steering # Steering
@@ -1,5 +1,5 @@
#!/bin/sh #!/bin/sh
# @name Generic Mecanum Rover # @name Aion Robotics R1 Rover
# @type Rover # @type Rover
# @class Rover # @class Rover
@@ -7,15 +7,16 @@
PX4_SIMULATOR=${PX4_SIMULATOR:=gz} PX4_SIMULATOR=${PX4_SIMULATOR:=gz}
PX4_GZ_WORLD=${PX4_GZ_WORLD:=rover} PX4_GZ_WORLD=${PX4_GZ_WORLD:=rover}
PX4_SIM_MODEL=${PX4_SIM_MODEL:=rover_mecanum} PX4_SIM_MODEL=${PX4_SIM_MODEL:=r1_rover_mecanum}
param set-default SIM_GZ_EN 1 # Gazebo bridge param set-default SIM_GZ_EN 1 # Gazebo bridge
param set-default NAV_ACC_RAD 0.5 param set-default NAV_ACC_RAD 0.5
# Mecanum Parameters # Mecanum Parameters
param set-default RM_WHEEL_TRACK 0.6 param set-default RM_WHEEL_TRACK 0.3
param set-default RM_YAW_STK_GAIN 0.6 param set-default RM_MAX_THR_YAW_R 1.2
param set-default RM_MISS_SPD_GAIN 1
# Rover Control Parameters # Rover Control Parameters
param set-default RO_ACCEL_LIM 3 param set-default RO_ACCEL_LIM 3
@@ -29,22 +30,14 @@ param set-default RO_YAW_RATE_P 0.1
param set-default RO_YAW_RATE_LIM 120 param set-default RO_YAW_RATE_LIM 120
param set-default RO_YAW_ACCEL_LIM 240 param set-default RO_YAW_ACCEL_LIM 240
param set-default RO_YAW_DECEL_LIM 1000 param set-default RO_YAW_DECEL_LIM 1000
param set-default RO_YAW_RATE_CORR 1.75
param set-default RO_YAW_EXPO 0.85
param set-default RO_YAW_SUPEXPO 0.3
# Rover Attitude Control Parameters # Rover Attitude Control Parameters
param set-default RO_YAW_P 5 param set-default RO_YAW_P 5
# Velocity Control Parameters # Rover Position Control Parameters
param set-default RO_ACCEL_LIM 4 param set-default RO_SPEED_LIM 2
param set-default RO_DECEL_LIM 6 param set-default RO_SPEED_I 0.5
param set-default RO_JERK_LIM 10 param set-default RO_SPEED_P 1
param set-default RO_MAX_THR_SPEED 3.1
param set-default RO_SPEED_LIM 2.5
param set-default RO_SPEED_I 0.01
param set-default RO_SPEED_P 0.1
param set-default RO_SPEED_RED 0.5
# Pure Pursuit parameters # Pure Pursuit parameters
param set-default PP_LOOKAHD_GAIN 0.5 param set-default PP_LOOKAHD_GAIN 0.5
@@ -55,24 +48,24 @@ param set-default PP_LOOKAHD_MIN 1
param set-default SENS_EN_MAGSIM 1 param set-default SENS_EN_MAGSIM 1
# Actuator mapping # Actuator mapping
param set-default SIM_GZ_WH_FUNC1 104 # left wheel back param set-default SIM_GZ_WH_FUNC1 102 # right wheel front
param set-default SIM_GZ_WH_MIN1 70 param set-default SIM_GZ_WH_MIN1 70
param set-default SIM_GZ_WH_MAX1 130 param set-default SIM_GZ_WH_MAX1 130
param set-default SIM_GZ_WH_DIS1 100 param set-default SIM_GZ_WH_DIS1 100
param set-default SIM_GZ_WH_FUNC2 103 # right wheel back param set-default SIM_GZ_WH_FUNC2 101 # left wheel front
param set-default SIM_GZ_WH_MIN2 70 param set-default SIM_GZ_WH_MIN2 70
param set-default SIM_GZ_WH_MAX2 130 param set-default SIM_GZ_WH_MAX2 130
param set-default SIM_GZ_WH_DIS2 100 param set-default SIM_GZ_WH_DIS2 100
param set-default SIM_GZ_WH_FUNC3 102 # left wheel front param set-default SIM_GZ_WH_FUNC3 104 # right wheel back
param set-default SIM_GZ_WH_MIN3 70 param set-default SIM_GZ_WH_MIN3 70
param set-default SIM_GZ_WH_MAX3 130 param set-default SIM_GZ_WH_MAX3 130
param set-default SIM_GZ_WH_DIS3 100 param set-default SIM_GZ_WH_DIS3 100
param set-default SIM_GZ_WH_FUNC4 101 # right wheel front param set-default SIM_GZ_WH_FUNC4 103 # left wheel back
param set-default SIM_GZ_WH_MIN4 70 param set-default SIM_GZ_WH_MIN4 70
param set-default SIM_GZ_WH_MAX4 130 param set-default SIM_GZ_WH_MAX4 130
param set-default SIM_GZ_WH_DIS4 100 param set-default SIM_GZ_WH_DIS4 100
param set-default SIM_GZ_WH_REV 0 param set-default SIM_GZ_WH_REV 10
@@ -1,59 +0,0 @@
#!/bin/sh
# @name Generic Differential Rover
# @type Rover
# @class Rover
. ${R}etc/init.d/rc.rover_differential_defaults
PX4_SIMULATOR=${PX4_SIMULATOR:=gz}
PX4_GZ_WORLD=${PX4_GZ_WORLD:=rover}
PX4_SIM_MODEL=${PX4_SIM_MODEL:=rover_differential}
param set-default SIM_GZ_EN 1 # Gazebo bridge
param set-default NAV_ACC_RAD 0.5
# Differential Parameters
param set-default RD_WHEEL_TRACK 0.6
param set-default RD_TRANS_DRV_TRN 0.785398
param set-default RD_TRANS_TRN_DRV 0.174533
param set-default RD_YAW_STK_GAIN 0.6
# Rate Control Parameters
param set-default RO_YAW_RATE_I 0.01
param set-default RO_YAW_RATE_P 0.25
param set-default RO_YAW_RATE_LIM 250
param set-default RO_YAW_ACCEL_LIM 400
param set-default RO_YAW_DECEL_LIM 800
param set-default RO_YAW_RATE_CORR 1
param set-default RO_YAW_EXPO 0.85
param set-default RO_YAW_SUPEXPO 0.3
# Attitude Control Parameters
param set-default RO_YAW_P 5
# Velocity Control Parameters
param set-default RO_ACCEL_LIM 4
param set-default RO_DECEL_LIM 6
param set-default RO_JERK_LIM 10
param set-default RO_MAX_THR_SPEED 2
param set-default RO_SPEED_LIM 1.8
param set-default RO_SPEED_I 0.01
param set-default RO_SPEED_P 0.01
param set-default RO_SPEED_RED 1
# Pure Pursuit parameters
param set-default PP_LOOKAHD_GAIN 1
param set-default PP_LOOKAHD_MAX 10
param set-default PP_LOOKAHD_MIN 1
# Actuator mapping
param set-default SIM_GZ_WH_FUNC1 101 # right wheel
param set-default SIM_GZ_WH_MIN1 80
param set-default SIM_GZ_WH_MAX1 120
param set-default SIM_GZ_WH_DIS1 100
param set-default SIM_GZ_WH_FUNC2 102 # left wheel
param set-default SIM_GZ_WH_MIN2 80
param set-default SIM_GZ_WH_MAX2 120
param set-default SIM_GZ_WH_DIS2 100
@@ -1,137 +0,0 @@
#!/bin/sh
#
# @name BlueROV2 Heavy
#
# @type UUV
#
# @maintainer Pedro Roque <padr@kth.se>
# @maintainer Nicola De Carli <ndc@kth.se>
#
# Source PX4 parameters and configuration
. ${R}/etc/init.d/rc.uuv_defaults
PX4_SIMULATOR=${PX4_SIMULATOR:=gz}
PX4_GZ_WORLD=${PX4_GZ_WORLD:=underwater}
PX4_SIM_MODEL=${PX4_SIM_MODEL:=uuv_bluerov2_heavy}
param set-default SIM_GZ_EN 1
# Set parameters using `param` utility for SITL
param set-default CA_AIRFRAME 7
param set-default CA_METHOD 0
param set-default MAV_TYPE 12
param set-default SENS_EN_GPSSIM 1
param set-default SENS_EN_BAROSIM 1
param set-default SENS_EN_MAGSIM 1
param set-default COM_ARM_CHK_ESCS 0 # We don't have ESCs
param set-default FD_ESCS_EN 0 # We don't have ESCs - but maybe we need this later?
# Set proper failsafes
param set-default COM_ACT_FAIL_ACT 0
param set-default COM_LOW_BAT_ACT 0
param set-default NAV_DLL_ACT 0
param set-default GF_ACTION 1
param set-default NAV_RCL_ACT 1
# disable attitude failure detection
param set-default FD_FAIL_P 0
param set-default FD_FAIL_R 0
param set-default CA_ROTOR_COUNT 8
param set-default CA_R_REV 255
param set-default CA_ROTOR0_AX -1
param set-default CA_ROTOR0_AY 1
param set-default CA_ROTOR0_AZ 0
param set-default CA_ROTOR0_KM 0
param set-default CA_ROTOR0_PX 0.14
param set-default CA_ROTOR0_PY 0.10
param set-default CA_ROTOR0_PZ 0.06
#param set-default CA_ROTOR0_PZ 0.0
param set-default CA_ROTOR1_AX -1
param set-default CA_ROTOR1_AY -1
param set-default CA_ROTOR1_AZ 0
param set-default CA_ROTOR1_KM 0
param set-default CA_ROTOR1_PX 0.14
param set-default CA_ROTOR1_PY -0.10
param set-default CA_ROTOR1_PZ 0.06
#param set-default CA_ROTOR1_PZ 0.0
param set-default CA_ROTOR2_AX 1
param set-default CA_ROTOR2_AY 1
param set-default CA_ROTOR2_AZ 0
param set-default CA_ROTOR2_KM 0
param set-default CA_ROTOR2_PX -0.14
param set-default CA_ROTOR2_PY 0.10
param set-default CA_ROTOR2_PZ 0.06
#param set-default CA_ROTOR2_PZ 0.0
param set-default CA_ROTOR3_AX 1
param set-default CA_ROTOR3_AY -1
param set-default CA_ROTOR3_AZ 0
param set-default CA_ROTOR3_KM 0
param set-default CA_ROTOR3_PX -0.14
param set-default CA_ROTOR3_PY -0.10
param set-default CA_ROTOR3_PZ 0.06
param set-default CA_ROTOR4_AX 0
param set-default CA_ROTOR4_AY 0
param set-default CA_ROTOR4_AZ 1
param set-default CA_ROTOR4_KM 0
param set-default CA_ROTOR4_PX 0.12
param set-default CA_ROTOR4_PY 0.22
param set-default CA_ROTOR4_PZ 0
param set-default CA_ROTOR5_AX 0
param set-default CA_ROTOR5_AY 0
param set-default CA_ROTOR5_AZ 1
param set-default CA_ROTOR5_KM 0
param set-default CA_ROTOR5_PX 0.12
param set-default CA_ROTOR5_PY -0.22
param set-default CA_ROTOR5_PZ 0
param set-default CA_ROTOR6_AX 0
param set-default CA_ROTOR6_AY 0
param set-default CA_ROTOR6_AZ 1
param set-default CA_ROTOR6_KM 0
param set-default CA_ROTOR6_PX -0.12
param set-default CA_ROTOR6_PY 0.22
param set-default CA_ROTOR6_PZ 0
param set-default CA_ROTOR7_AX 0
param set-default CA_ROTOR7_AY 0
param set-default CA_ROTOR7_AZ 1
param set-default CA_ROTOR7_KM 0
param set-default CA_ROTOR7_PX -0.12
param set-default CA_ROTOR7_PY -0.22
param set-default CA_ROTOR7_PZ 0
param set-default SIM_GZ_EC_FUNC1 101
param set-default SIM_GZ_EC_FUNC2 102
param set-default SIM_GZ_EC_FUNC3 103
param set-default SIM_GZ_EC_FUNC4 104
param set-default SIM_GZ_EC_FUNC5 105
param set-default SIM_GZ_EC_FUNC6 106
param set-default SIM_GZ_EC_FUNC7 107
param set-default SIM_GZ_EC_FUNC8 108
param set-default SIM_GZ_EC_MIN1 1100
param set-default SIM_GZ_EC_MIN2 1100
param set-default SIM_GZ_EC_MIN3 1100
param set-default SIM_GZ_EC_MIN4 1100
param set-default SIM_GZ_EC_MIN5 1100
param set-default SIM_GZ_EC_MIN6 1100
param set-default SIM_GZ_EC_MIN7 1100
param set-default SIM_GZ_EC_MIN8 1100
param set-default SIM_GZ_EC_MAX1 1900
param set-default SIM_GZ_EC_MAX2 1900
param set-default SIM_GZ_EC_MAX3 1900
param set-default SIM_GZ_EC_MAX4 1900
param set-default SIM_GZ_EC_MAX5 1900
param set-default SIM_GZ_EC_MAX6 1900
param set-default SIM_GZ_EC_MAX7 1900
param set-default SIM_GZ_EC_MAX8 1900
@@ -26,6 +26,7 @@ param set-default TRIG_INTERFACE 3
param set-default TRIG_MODE 4 param set-default TRIG_MODE 4
param set-default MNT_MODE_IN 4 param set-default MNT_MODE_IN 4
param set-default MNT_MODE_OUT 2 param set-default MNT_MODE_OUT 2
param set-default MAV_PROTO_VER 2
param set-default CA_AIRFRAME 0 param set-default CA_AIRFRAME 0
param set-default CA_ROTOR_COUNT 6 param set-default CA_ROTOR_COUNT 6
@@ -1,155 +0,0 @@
#!/bin/sh
#
# @name KTH-ATMOS
#
# @type Free-Flyer
# @class Spacecraft
#
# @output Motor1 back left thruster, +x thrust
# @output Motor2 front left thruster, -x thrust
# @output Motor3 back right thruster, +x thrust
# @output Motor4 front right thruster, -x thrust
# @output Motor5 front left thruster, +y thrust
# @output Motor6 front right thruster, -y thrust
# @output Motor7 back left thruster, +y thrust
# @output Motor8 back right thruster, -y thrust
#
# @maintainer discower-io
# @url https://atmos.discower.io
#
. ${R}etc/init.d/rc.sc_defaults
PX4_SIMULATOR=${PX4_SIMULATOR:=gz}
PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}
PX4_SIM_MODEL=${PX4_SIM_MODEL:=atmos}
param set-default SIM_GZ_EN 1
param set-default SENS_EN_MAGSIM 1
param set-default COM_ARM_CHK_ESCS 0 # We don't have ESCs
param set-default FD_ESCS_EN 0
param set-default CA_AIRFRAME 14
param set-default MAV_TYPE 45
param set-default CA_ROTOR_COUNT 8
param set-default CA_R_REV 0
# Auto to be provided by Custom Airframe
param set-default CA_METHOD 0
# Set proper failsafes
param set-default COM_ACT_FAIL_ACT 0
param set-default COM_LOW_BAT_ACT 0
param set-default NAV_DLL_ACT 0
param set-default GF_ACTION 1
param set-default NAV_RCL_ACT 1
# disable attitude failure detection
param set-default FD_FAIL_P 0
param set-default FD_FAIL_R 0
param set-default CA_ROTOR0_PX -0.12
param set-default CA_ROTOR0_PY -0.12
param set-default CA_ROTOR0_PZ 0.0
param set-default CA_ROTOR0_CT 1.4
param set-default CA_ROTOR0_AX 1.0
param set-default CA_ROTOR0_AY 0.0
param set-default CA_ROTOR0_AZ 0.0
param set-default CA_ROTOR1_PX 0.12
param set-default CA_ROTOR1_PY -0.12
param set-default CA_ROTOR1_PZ 0.0
param set-default CA_ROTOR1_CT 1.4
param set-default CA_ROTOR1_AX -1.0
param set-default CA_ROTOR1_AY 0.0
param set-default CA_ROTOR1_AZ 0.0
param set-default CA_ROTOR2_PX -0.12
param set-default CA_ROTOR2_PY 0.12
param set-default CA_ROTOR2_PZ 0.0
param set-default CA_ROTOR2_CT 1.4
param set-default CA_ROTOR2_AX 1.0
param set-default CA_ROTOR2_AY 0.0
param set-default CA_ROTOR2_AZ 0.0
param set-default CA_ROTOR3_PX 0.12
param set-default CA_ROTOR3_PY 0.12
param set-default CA_ROTOR3_PZ 0.0
param set-default CA_ROTOR3_CT 1.4
param set-default CA_ROTOR3_AX -1.0
param set-default CA_ROTOR3_AY 0.0
param set-default CA_ROTOR3_AZ 0.0
param set-default CA_ROTOR4_PX 0.12
param set-default CA_ROTOR4_PY -0.12
param set-default CA_ROTOR4_PZ 0.0
param set-default CA_ROTOR4_CT 1.4
param set-default CA_ROTOR4_AX 0.0
param set-default CA_ROTOR4_AY 1.0
param set-default CA_ROTOR4_AZ 0.0
param set-default CA_ROTOR5_PX 0.12
param set-default CA_ROTOR5_PY 0.12
param set-default CA_ROTOR5_PZ 0.0
param set-default CA_ROTOR5_CT 1.4
param set-default CA_ROTOR5_AX 0.0
param set-default CA_ROTOR5_AY -1.0
param set-default CA_ROTOR5_AZ 0.0
param set-default CA_ROTOR6_PX -0.12
param set-default CA_ROTOR6_PY -0.12
param set-default CA_ROTOR6_PZ 0.0
param set-default CA_ROTOR6_CT 1.4
param set-default CA_ROTOR6_AX 0.0
param set-default CA_ROTOR6_AY 1.0
param set-default CA_ROTOR6_AZ 0.0
param set-default CA_ROTOR7_PX -0.12
param set-default CA_ROTOR7_PY 0.12
param set-default CA_ROTOR7_PZ 0.0
param set-default CA_ROTOR7_CT 1.4
param set-default CA_ROTOR7_AX 0.0
param set-default CA_ROTOR7_AY -1.0
param set-default CA_ROTOR7_AZ 0.0
param set-default SIM_GZ_EC_FUNC1 101
param set-default SIM_GZ_EC_FUNC2 102
param set-default SIM_GZ_EC_FUNC3 103
param set-default SIM_GZ_EC_FUNC4 104
param set-default SIM_GZ_EC_FUNC5 105
param set-default SIM_GZ_EC_FUNC6 106
param set-default SIM_GZ_EC_FUNC7 107
param set-default SIM_GZ_EC_FUNC8 108
param set-default SIM_GZ_EC_MIN1 0
param set-default SIM_GZ_EC_MIN2 0
param set-default SIM_GZ_EC_MIN3 0
param set-default SIM_GZ_EC_MIN4 0
param set-default SIM_GZ_EC_MIN5 0
param set-default SIM_GZ_EC_MIN6 0
param set-default SIM_GZ_EC_MIN7 0
param set-default SIM_GZ_EC_MIN8 0
param set-default SIM_GZ_EC_MAX1 10000
param set-default SIM_GZ_EC_MAX2 10000
param set-default SIM_GZ_EC_MAX3 10000
param set-default SIM_GZ_EC_MAX4 10000
param set-default SIM_GZ_EC_MAX5 10000
param set-default SIM_GZ_EC_MAX6 10000
param set-default SIM_GZ_EC_MAX7 10000
param set-default SIM_GZ_EC_MAX8 10000
# Controller Tunings
param set SC_YAWRATE_P 3.335
param set SC_YAWRATE_I 0.87
param set SC_YAWRATE_D 0.15
param set SC_YR_INT_LIM 0.2
param set SC_YAW_P 3.0
param set SPC_POS_P 0.20
param set SPC_VEL_P 6.55
param set SPC_VEL_I 0.0
param set SPC_VEL_D 0.0
param set SPC_VEL_MAX 12.0
@@ -0,0 +1,155 @@
#!/bin/sh
#
# @name 6DoF Spacecraft Model
#
# @type Freeflyer with 8 thrusters
#
# @maintainer Pedro Roque <padr@kth.se>
#
. ${R}etc/init.d/rc.sc_defaults
param set-default CA_AIRFRAME 15
param set-default MAV_TYPE 99
param set-default CA_THRUSTER_CNT 12
param set-default CA_R_REV 0
# param set-default FW_ARSP_MODE 1
# Auto to be provided by Custom Airframe
param set-default CA_METHOD 0
# disable attitude failure detection
param set-default FD_FAIL_P 0
param set-default FD_FAIL_R 0
# Set proper failsafes
param set-default COM_ACT_FAIL_ACT 0
param set-default COM_LOW_BAT_ACT 0
param set-default NAV_DLL_ACT 0
param set-default GF_ACTION 1
param set-default NAV_RCL_ACT 1
param set-default COM_POSCTL_NAVL 2
# Set thrusters
param set-default CA_THRUSTER0_PX -0.50
param set-default CA_THRUSTER0_PY 0.50
param set-default CA_THRUSTER0_PZ 0.0
param set-default CA_THRUSTER0_CT 0.237
param set-default CA_THRUSTER0_AX 0.0
param set-default CA_THRUSTER0_AY -1.0
param set-default CA_THRUSTER0_AZ 0.0
param set-default CA_THRUSTER1_PX 0.50
param set-default CA_THRUSTER1_PY 0.50
param set-default CA_THRUSTER1_PZ 0.0
param set-default CA_THRUSTER1_CT 0.237
param set-default CA_THRUSTER1_AX 0.0
param set-default CA_THRUSTER1_AY -1.0
param set-default CA_THRUSTER1_AZ 0.0
param set-default CA_THRUSTER2_PX 0.50
param set-default CA_THRUSTER2_PY -0.50
param set-default CA_THRUSTER2_PZ 0.0
param set-default CA_THRUSTER2_CT 0.237
param set-default CA_THRUSTER2_AX 0.0
param set-default CA_THRUSTER2_AY 1.0
param set-default CA_THRUSTER2_AZ 0.0
param set-default CA_THRUSTER3_PX -0.50
param set-default CA_THRUSTER3_PY -0.50
param set-default CA_THRUSTER3_PZ 0.0
param set-default CA_THRUSTER3_CT 0.237
param set-default CA_THRUSTER3_AX 0.0
param set-default CA_THRUSTER3_AY 1.0
param set-default CA_THRUSTER3_AZ 0.0
param set-default CA_THRUSTER4_PX -0.50
param set-default CA_THRUSTER4_PY 0.0
param set-default CA_THRUSTER4_PZ -0.50
param set-default CA_THRUSTER4_CT 0.237
param set-default CA_THRUSTER4_AX 1.0
param set-default CA_THRUSTER4_AY 0.0
param set-default CA_THRUSTER4_AZ 0.0
param set-default CA_THRUSTER5_PX 0.50
param set-default CA_THRUSTER5_PY 0.0
param set-default CA_THRUSTER5_PZ -0.50
param set-default CA_THRUSTER5_CT 0.237
param set-default CA_THRUSTER5_AX -1.0
param set-default CA_THRUSTER5_AY 0.0
param set-default CA_THRUSTER5_AZ 0.0
param set-default CA_THRUSTER6_PX 0.50
param set-default CA_THRUSTER6_PY 0.0
param set-default CA_THRUSTER6_PZ 0.50
param set-default CA_THRUSTER6_CT 0.237
param set-default CA_THRUSTER6_AX -1.0
param set-default CA_THRUSTER6_AY 0.0
param set-default CA_THRUSTER6_AZ 0.0
param set-default CA_THRUSTER7_PX -0.50
param set-default CA_THRUSTER7_PY 0.0
param set-default CA_THRUSTER7_PZ 0.50
param set-default CA_THRUSTER7_CT 0.237
param set-default CA_THRUSTER7_AX 1.0
param set-default CA_THRUSTER7_AY 0.0
param set-default CA_THRUSTER7_AZ 0.0
param set-default CA_THRUSTER8_PX 0.0
param set-default CA_THRUSTER8_PY -0.50
param set-default CA_THRUSTER8_PZ -0.50
param set-default CA_THRUSTER8_CT 0.237
param set-default CA_THRUSTER8_AX 0.0
param set-default CA_THRUSTER8_AY 0.0
param set-default CA_THRUSTER8_AZ 1.0
param set-default CA_THRUSTER9_PX 0.0
param set-default CA_THRUSTER9_PY 0.50
param set-default CA_THRUSTER9_PZ -0.50
param set-default CA_THRUSTER9_CT 0.237
param set-default CA_THRUSTER9_AX 0.0
param set-default CA_THRUSTER9_AY 0.0
param set-default CA_THRUSTER9_AZ 1.0
param set-default CA_THRUSTER10_PX 0.0
param set-default CA_THRUSTER10_PY 0.50
param set-default CA_THRUSTER10_PZ 0.50
param set-default CA_THRUSTER10_CT 0.237
param set-default CA_THRUSTER10_AX 0.0
param set-default CA_THRUSTER10_AY 0.0
param set-default CA_THRUSTER10_AZ -1.0
param set-default CA_THRUSTER11_PX 0.0
param set-default CA_THRUSTER11_PY -0.50
param set-default CA_THRUSTER11_PZ 0.50
param set-default CA_THRUSTER11_CT 0.237
param set-default CA_THRUSTER11_AX 0.0
param set-default CA_THRUSTER11_AY 0.0
param set-default CA_THRUSTER11_AZ -1.0
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
param set-default PWM_MAIN_FUNC5 105
param set-default PWM_MAIN_FUNC6 106
param set-default PWM_MAIN_FUNC7 107
param set-default PWM_MAIN_FUNC8 108
param set-default PWM_MAIN_FUNC9 109
param set-default PWM_MAIN_FUNC10 110
param set-default PWM_MAIN_FUNC11 111
param set-default PWM_MAIN_FUNC12 112
# PWM Simulation
param set PWM_SIM_PWM_MAX 10000
param set PWM_SIM_PWM_MIN 0
# Controller Tunings
param set-default SC_ROLLRATE_P 0.14
param set-default SC_PITCHRATE_P 0.14
param set-default SC_ROLLRATE_I 0.3
param set-default SC_PITCHRATE_I 0.3
param set-default SC_ROLLRATE_D 0.004
param set-default SC_PITCHRATE_D 0.004
@@ -0,0 +1,147 @@
#!/bin/sh
#
# @name 3DoF Spacecraft Model
#
# @type 2D Freeflyer with 8 thrusters - Planar motion
#
# @maintainer Pedro Roque <padr@kth.se>
#
. ${R}etc/init.d/rc.sc_defaults
PX4_SIMULATOR=${PX4_SIMULATOR:=gz}
PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}
PX4_SIM_MODEL=${PX4_SIM_MODEL:=spacecraft_2d}
param set-default SIM_GZ_EN 1
param set-default SENS_EN_MAGSIM 1
param set-default COM_ARM_CHK_ESCS 0 # We don't have ESCs
param set-default FD_ESCS_EN 0 # We don't have ESCs - but maybe we need this later?
param set-default CA_AIRFRAME 14
param set-default MAV_TYPE 99
param set-default CA_THRUSTER_CNT 8
param set-default CA_R_REV 0
# param set-default FW_ARSP_MODE 1
# Auto to be provided by Custom Airframe
param set-default CA_METHOD 0 # 0 is PseudoInverse, 3 is Metric
# Set proper failsafes
param set-default COM_ACT_FAIL_ACT 0
param set-default COM_LOW_BAT_ACT 0
param set-default NAV_DLL_ACT 0
param set-default GF_ACTION 1
param set-default NAV_RCL_ACT 1
param set-default COM_POSCTL_NAVL 2
# disable attitude failure detection
param set-default FD_FAIL_P 0
param set-default FD_FAIL_R 0
param set-default CA_THRUSTER0_PX -0.12
param set-default CA_THRUSTER0_PY -0.12
param set-default CA_THRUSTER0_PZ 0.0
param set-default CA_THRUSTER0_CT 1.4
param set-default CA_THRUSTER0_AX 1.0
param set-default CA_THRUSTER0_AY 0.0
param set-default CA_THRUSTER0_AZ 0.0
param set-default CA_THRUSTER1_PX 0.12
param set-default CA_THRUSTER1_PY -0.12
param set-default CA_THRUSTER1_PZ 0.0
param set-default CA_THRUSTER1_CT 1.4
param set-default CA_THRUSTER1_AX -1.0
param set-default CA_THRUSTER1_AY 0.0
param set-default CA_THRUSTER1_AZ 0.0
param set-default CA_THRUSTER2_PX -0.12
param set-default CA_THRUSTER2_PY 0.12
param set-default CA_THRUSTER2_PZ 0.0
param set-default CA_THRUSTER2_CT 1.4
param set-default CA_THRUSTER2_AX 1.0
param set-default CA_THRUSTER2_AY 0.0
param set-default CA_THRUSTER2_AZ 0.0
param set-default CA_THRUSTER3_PX 0.12
param set-default CA_THRUSTER3_PY 0.12
param set-default CA_THRUSTER3_PZ 0.0
param set-default CA_THRUSTER3_CT 1.4
param set-default CA_THRUSTER3_AX -1.0
param set-default CA_THRUSTER3_AY 0.0
param set-default CA_THRUSTER3_AZ 0.0
param set-default CA_THRUSTER4_PX 0.12
param set-default CA_THRUSTER4_PY -0.12
param set-default CA_THRUSTER4_PZ 0.0
param set-default CA_THRUSTER4_CT 1.4
param set-default CA_THRUSTER4_AX 0.0
param set-default CA_THRUSTER4_AY 1.0
param set-default CA_THRUSTER4_AZ 0.0
param set-default CA_THRUSTER5_PX 0.12
param set-default CA_THRUSTER5_PY 0.12
param set-default CA_THRUSTER5_PZ 0.0
param set-default CA_THRUSTER5_CT 1.4
param set-default CA_THRUSTER5_AX 0.0
param set-default CA_THRUSTER5_AY -1.0
param set-default CA_THRUSTER5_AZ 0.0
param set-default CA_THRUSTER6_PX -0.12
param set-default CA_THRUSTER6_PY -0.12
param set-default CA_THRUSTER6_PZ 0.0
param set-default CA_THRUSTER6_CT 1.4
param set-default CA_THRUSTER6_AX 0.0
param set-default CA_THRUSTER6_AY 1.0
param set-default CA_THRUSTER6_AZ 0.0
param set-default CA_THRUSTER7_PX -0.12
param set-default CA_THRUSTER7_PY 0.12
param set-default CA_THRUSTER7_PZ 0.0
param set-default CA_THRUSTER7_CT 1.4
param set-default CA_THRUSTER7_AX 0.0
param set-default CA_THRUSTER7_AY -1.0
param set-default CA_THRUSTER7_AZ 0.0
param set-default SIM_GZ_TH_FUNC1 101
param set-default SIM_GZ_TH_FUNC2 102
param set-default SIM_GZ_TH_FUNC3 103
param set-default SIM_GZ_TH_FUNC4 104
param set-default SIM_GZ_TH_FUNC5 105
param set-default SIM_GZ_TH_FUNC6 106
param set-default SIM_GZ_TH_FUNC7 107
param set-default SIM_GZ_TH_FUNC8 108
param set-default SIM_GZ_TH_MIN1 0
param set-default SIM_GZ_TH_MIN2 0
param set-default SIM_GZ_TH_MIN3 0
param set-default SIM_GZ_TH_MIN4 0
param set-default SIM_GZ_TH_MIN5 0
param set-default SIM_GZ_TH_MIN6 0
param set-default SIM_GZ_TH_MIN7 0
param set-default SIM_GZ_TH_MIN8 0
param set-default SIM_GZ_TH_MAX1 10000
param set-default SIM_GZ_TH_MAX2 10000
param set-default SIM_GZ_TH_MAX3 10000
param set-default SIM_GZ_TH_MAX4 10000
param set-default SIM_GZ_TH_MAX5 10000
param set-default SIM_GZ_TH_MAX6 10000
param set-default SIM_GZ_TH_MAX7 10000
param set-default SIM_GZ_TH_MAX8 10000
# Controller Tunings
param set SC_YAWRATE_P 3.335
param set SC_YAWRATE_I 0.87
param set SC_YAWRATE_D 0.15
param set SC_YR_INT_LIM 0.2
param set SC_YAW_P 3.0
param set SPC_POS_P 0.20
param set SPC_VEL_P 6.55
param set SPC_VEL_I 0.0
param set SPC_VEL_D 0.0
param set SPC_VEL_MAX 12.0
@@ -62,6 +62,8 @@ px4_add_romfs_files(
1043_gazebo-classic_standard_vtol_drop 1043_gazebo-classic_standard_vtol_drop
1044_gazebo-classic_plane_lidar 1044_gazebo-classic_plane_lidar
1045_gazebo-classic_quadtailsitter 1045_gazebo-classic_quadtailsitter
1060_gazebo-classic_rover
1061_gazebo-classic_r1_rover
1062_flightgear_tf-r1 1062_flightgear_tf-r1
1070_gazebo-classic_boat 1070_gazebo-classic_boat
@@ -80,8 +82,10 @@ px4_add_romfs_files(
4009_gz_r1_rover 4009_gz_r1_rover
4010_gz_x500_mono_cam 4010_gz_x500_mono_cam
4011_gz_lawnmower 4011_gz_lawnmower
4012_gz_rover_ackermann
4013_gz_x500_lidar_2d 4013_gz_x500_lidar_2d
4014_gz_x500_mono_cam_down 4014_gz_x500_mono_cam_down
4015_gz_r1_rover_mecanum
4016_gz_x500_lidar_down 4016_gz_x500_lidar_down
4017_gz_x500_lidar_front 4017_gz_x500_lidar_front
4018_gz_quadtailsitter 4018_gz_quadtailsitter
@@ -106,18 +110,12 @@ px4_add_romfs_files(
10042_sihsim_xvert 10042_sihsim_xvert
10043_sihsim_standard_vtol 10043_sihsim_standard_vtol
10044_sihsim_hex 10044_sihsim_hex
10045_sihsim_rover_ackermann
17001_flightgear_tf-g1 17001_flightgear_tf-g1
17002_flightgear_tf-g2 17002_flightgear_tf-g2
50000_gz_rover_differential 71001_gazebo-classic_spacecraft_dart
51000_gz_rover_ackermann 71002_gz_spacecraft_2d
52000_gz_rover_mecanum
60002_gz_uuv_bluerov2_heavy
70000_gz_atmos
# [22000, 22999] Reserve for custom models # [22000, 22999] Reserve for custom models
) )
@@ -159,19 +159,24 @@ if [ -n "${PX4_SIM_MODEL#*gz_}" ] && [ -z "${PX4_GZ_MODEL_NAME}" ]; then
fi fi
# Set up camera to follow the model if requested # Set up camera to follow the model if requested
if [ -z "${PX4_GZ_NO_FOLLOW}" ]; then if [ -n "${PX4_GZ_FOLLOW}" ]; then
echo "INFO [init] Setting camera to follow ${MODEL_NAME_INSTANCE}" echo "INFO [init] Setting camera to follow ${MODEL_NAME_INSTANCE}"
# Set camera to follow the model
${gz_command} service -s "/gui/follow" --reqtype gz.msgs.StringMsg \
--reptype gz.msgs.Boolean --timeout 5000 \
--req "data: \"${MODEL_NAME_INSTANCE}\"" > /dev/null 2>&1
# Set default camera offset if not specified # Set default camera offset if not specified
follow_x=${PX4_GZ_FOLLOW_OFFSET_X:--2.0} follow_x=${PX4_GZ_FOLLOW_OFFSET_X:--2.0}
follow_y=${PX4_GZ_FOLLOW_OFFSET_Y:--2.0} follow_y=${PX4_GZ_FOLLOW_OFFSET_Y:--2.0}
follow_z=${PX4_GZ_FOLLOW_OFFSET_Z:-2.0} follow_z=${PX4_GZ_FOLLOW_OFFSET_Z:-2.0}
# Set camera offset # Set camera offset
${gz_command} topic -t /gui/track -m gz.msgs.CameraTrack \ ${gz_command} service -s "/gui/follow/offset" --reqtype gz.msgs.Vector3d \
-p "track_mode: FOLLOW, follow_target: {name: '${MODEL_NAME_INSTANCE}'},\ --reptype gz.msgs.Boolean --timeout 5000 \
follow_offset: {x: ${follow_x}, y: ${follow_y}, z: ${follow_z}}, follow_pgain: 1.0, track_pgain: 1.0" --req "x: ${follow_x}, y: ${follow_y}, z: ${follow_z}" > /dev/null 2>&1
echo "INFO [init] Camera follow offset set to ${follow_x}, ${follow_y}, ${follow_z}" echo "INFO [init] Camera follow offset set to ${follow_x}, ${follow_y}, ${follow_z}"
fi fi
+7 -10
View File
@@ -173,6 +173,7 @@ param set-default COM_RC_IN_MODE 1
param set-default EKF2_REQ_GPS_H 0.5 param set-default EKF2_REQ_GPS_H 0.5
param set-default IMU_GYRO_FFT_EN 1 param set-default IMU_GYRO_FFT_EN 1
param set-default MAV_PROTO_VER 2 # Ensures QGC does not drop the first few packets after a SITL restart due to MAVLINK 1 packets
param set-default -s MC_AT_EN 1 param set-default -s MC_AT_EN 1
@@ -189,9 +190,6 @@ param set-default SYS_FAILURE_EN 1
# does not go below 50% by default, but failure injection can trigger failsafes. # does not go below 50% by default, but failure injection can trigger failsafes.
param set-default COM_LOW_BAT_ACT 3 param set-default COM_LOW_BAT_ACT 3
# set default IP to localhost
param set-default UXRCE_DDS_AG_IP 2130706433 # 127.0.0.1
# Adapt timeout parameters if simulation runs faster or slower than realtime. # Adapt timeout parameters if simulation runs faster or slower than realtime.
if [ -n "$PX4_SIM_SPEED_FACTOR" ]; then if [ -n "$PX4_SIM_SPEED_FACTOR" ]; then
@@ -321,12 +319,7 @@ then
uxrce_dds_port="$PX4_UXRCE_DDS_PORT" uxrce_dds_port="$PX4_UXRCE_DDS_PORT"
fi fi
uxrce_dds_client start -t udp -p $uxrce_dds_port $uxrce_dds_ns uxrce_dds_client start -t udp -h 127.0.0.1 -p $uxrce_dds_port $uxrce_dds_ns
if param greater -s ZENOH_ENABLE 0
then
zenoh start
fi
if param greater -s MNT_MODE_IN -1 if param greater -s MNT_MODE_IN -1
then then
@@ -349,7 +342,11 @@ then
gyro_calibration start gyro_calibration start
fi fi
payload_deliverer start # Payload deliverer module if gripper is enabled
if param compare -s PD_GRIPPER_EN 1
then
payload_deliverer start
fi
if param compare -s ICE_EN 1 if param compare -s ICE_EN 1
then then
@@ -69,6 +69,15 @@ if(CONFIG_MODULES_MC_RATE_CONTROL)
) )
endif() endif()
if(CONFIG_MODULES_ROVER_POS_CONTROL)
px4_add_romfs_files(
rc.rover_apps
rc.rover_defaults
rc.boat_defaults # hack
)
endif()
if(CONFIG_MODULES_ROVER_DIFFERENTIAL) if(CONFIG_MODULES_ROVER_DIFFERENTIAL)
px4_add_romfs_files( px4_add_romfs_files(
rc.rover_differential_apps rc.rover_differential_apps
@@ -14,6 +14,7 @@
param set UAVCAN_ENABLE 0 param set UAVCAN_ENABLE 0
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3 param set-default CA_ROTOR0_PX 0.3
@@ -1,65 +0,0 @@
#!/bin/sh
# @name SIH Rover Ackermann
# @type Rover
# @class Rover
. ${R}etc/init.d/rc.rover_ackermann_defaults
set VEHICLE_TYPE rover_ackermann
param set-default CA_AIRFRAME 5 # Rover (Ackermann)
param set-default CA_R_REV 1 # Motor is assumed to be reversible
param set-default EKF2_MAG_TYPE 1 # Make sure magnetometer is fused even when not driving
param set-default NAV_ACC_RAD 0.5 # Waypoint acceptance radius
param set-default EKF2_GBIAS_INIT 0.01
param set-default EKF2_ANGERR_INIT 0.01
param set-default SIH_VEHICLE_TYPE 5 # sih as rover ackermann
param set-default SYS_HITL 2 # set SYS_HITL to 2 to start the SIH and avoid sensors startup
param set-default HIL_ACT_FUNC1 201 # Steering
param set-default HIL_ACT_FUNC2 101 # Throttle
param set-default SIH_MASS 20
param set-default SIH_IXX 0.4333
param set-default SIH_IYY 1.6833
param set-default SIH_IZZ 2.0833
param set-default SIH_IXZ 0
param set-default SIH_KDV 50
param set-default SIH_KDW 10
# Ackermann Parameters
param set-default RA_WHEEL_BASE 0.321
param set-default RA_ACC_RAD_GAIN 2
param set-default RA_ACC_RAD_MAX 3
param set-default RA_MAX_STR_ANG 0.5236
param set-default RA_STR_RATE_LIM 360
# Rate Control Parameters
param set-default RO_YAW_RATE_I 0.01
param set-default RO_YAW_RATE_P 0.25
param set-default RO_YAW_RATE_LIM 180
param set-default RO_YAW_ACCEL_LIM 400
param set-default RO_YAW_DECEL_LIM 800
param set-default RO_YAW_RATE_CORR 1
# Attitude Control Parameters
param set-default RO_YAW_P 5
# Velocity Control Parameters
param set-default RO_ACCEL_LIM 3
param set-default RO_DECEL_LIM 3
param set-default RO_JERK_LIM 10
param set-default RO_MAX_THR_SPEED 3.2
param set-default RO_SPEED_LIM 3
param set-default RO_SPEED_I 0.001
param set-default RO_SPEED_P 0.001
param set-default RO_SPEED_RED 1
# Pure Pursuit parameters
param set-default PP_LOOKAHD_GAIN 1
param set-default PP_LOOKAHD_MAX 10
param set-default PP_LOOKAHD_MIN 1
# Pure Pursuit parameters
param set-default PP_LOOKAHD_GAIN 1
param set-default PP_LOOKAHD_MAX 10
param set-default PP_LOOKAHD_MIN 1
@@ -40,6 +40,8 @@ param set-default FW_P_LIM_MAX 25
param set-default FW_P_LIM_MIN -5 param set-default FW_P_LIM_MIN -5
param set-default FW_P_RMAX_NEG 20 param set-default FW_P_RMAX_NEG 20
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3 param set-default CA_ROTOR0_PX 0.3
@@ -37,6 +37,8 @@ param set-default FW_P_LIM_MAX 25
param set-default FW_P_LIM_MIN -5 param set-default FW_P_LIM_MIN -5
param set-default FW_P_RMAX_NEG 20 param set-default FW_P_RMAX_NEG 20
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3 param set-default CA_ROTOR0_PX 0.3
@@ -10,6 +10,7 @@
. ${R}etc/init.d/rc.fw_defaults . ${R}etc/init.d/rc.fw_defaults
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3 param set-default CA_ROTOR0_PX 0.3
param set-default CA_SV_CS_COUNT 4 param set-default CA_SV_CS_COUNT 4
@@ -32,6 +32,7 @@ param set-default FW_WR_IMAX 0.8
param set-default FW_WR_P 1 param set-default FW_WR_P 1
param set-default FW_W_RMAX 0 param set-default FW_W_RMAX 0
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_SV_CS_COUNT 7 param set-default CA_SV_CS_COUNT 7
param set-default CA_SV_CS0_TRQ_R -0.5 param set-default CA_SV_CS0_TRQ_R -0.5
@@ -10,6 +10,8 @@
. ${R}etc/init.d/rc.fw_defaults . ${R}etc/init.d/rc.fw_defaults
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1 param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.15 param set-default CA_ROTOR0_PX 0.15
param set-default CA_SV_CS_COUNT 2 param set-default CA_SV_CS_COUNT 2
@@ -7,10 +7,6 @@
# #
# @board px4_fmu-v2 exclude # @board px4_fmu-v2 exclude
# @board px4_fmu-v5x exclude # @board px4_fmu-v5x exclude
# @board auterion_fmu-v6s exclude
# @board ark_fmu-v6x exclude
# @board auterion_fmu-v6x exclude
# @board px4_fmu-v6x exclude
# @board bitcraze_crazyflie exclude # @board bitcraze_crazyflie exclude
# #
# @maintainer Iain Galloway <iain.galloway@nxp.com> # @maintainer Iain Galloway <iain.galloway@nxp.com>
@@ -7,7 +7,6 @@
# #
# @board px4_fmu-v2 exclude # @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude # @board bitcraze_crazyflie exclude
# @board auterion_fmu-v6x exclude
# @board px4_fmu-v6x exclude # @board px4_fmu-v6x exclude
# #
@@ -13,11 +13,6 @@
# @board px4_fmu-v4pro exclude # @board px4_fmu-v4pro exclude
# @board px4_fmu-v5 exclude # @board px4_fmu-v5 exclude
# @board px4_fmu-v5x exclude # @board px4_fmu-v5x exclude
# @board auterion_fmu-v6s exclude
# @board ark_fmu-v6x exclude
# @board auterion_fmu-v6x exclude
# @board px4_fmu-v6x exclude
# @board px4_fmu-v6xrt exclude
# @board bitcraze_crazyflie exclude # @board bitcraze_crazyflie exclude
# #
@@ -47,6 +47,3 @@ param set-default CA_ROTOR2_KM -0.05
param set-default CA_ROTOR3_PX -1 param set-default CA_ROTOR3_PX -1
param set-default CA_ROTOR3_PY 1 param set-default CA_ROTOR3_PY 1
param set-default CA_ROTOR3_KM -0.05 param set-default CA_ROTOR3_KM -0.05
param set-default MPC_Z_VEL_MAX_UP 3.0
param set-default MPC_Z_VEL_MAX_DN 3.0
@@ -10,7 +10,6 @@
# @board cuav_x7pro exclude # @board cuav_x7pro exclude
# @board px4_fmu-v4pro exclude # @board px4_fmu-v4pro exclude
# @board px4_fmu-v5x exclude # @board px4_fmu-v5x exclude
# @board auterion_fmu-v6x exclude
# @board px4_fmu-v6x exclude # @board px4_fmu-v6x exclude
# #
@@ -12,7 +12,6 @@
# @board px4_fmu-v4pro exclude # @board px4_fmu-v4pro exclude
# @board px4_fmu-v5 exclude # @board px4_fmu-v5 exclude
# @board px4_fmu-v5x exclude # @board px4_fmu-v5x exclude
# @board auterion_fmu-v6x exclude
# @board px4_fmu-v6x exclude # @board px4_fmu-v6x exclude
# @board bitcraze_crazyflie exclude # @board bitcraze_crazyflie exclude
# @board cuav_x7pro exclude # @board cuav_x7pro exclude
@@ -10,7 +10,6 @@
# @board px4_fmu-v4pro exclude # @board px4_fmu-v4pro exclude
# @board px4_fmu-v5 exclude # @board px4_fmu-v5 exclude
# @board px4_fmu-v5x exclude # @board px4_fmu-v5x exclude
# @board auterion_fmu-v6x exclude
# @board px4_fmu-v6x exclude # @board px4_fmu-v6x exclude
# @board bitcraze_crazyflie exclude # @board bitcraze_crazyflie exclude
# @board cuav_x7pro exclude # @board cuav_x7pro exclude
@@ -14,7 +14,6 @@
# @board px4_fmu-v4pro exclude # @board px4_fmu-v4pro exclude
# @board px4_fmu-v5 exclude # @board px4_fmu-v5 exclude
# @board px4_fmu-v5x exclude # @board px4_fmu-v5x exclude
# @board auterion_fmu-v6x exclude
# @board px4_fmu-v6x exclude # @board px4_fmu-v6x exclude
# @board bitcraze_crazyflie exclude # @board bitcraze_crazyflie exclude
# @board diatone_mamba-f405-mk2 exclude # @board diatone_mamba-f405-mk2 exclude
@@ -13,7 +13,6 @@
# @board px4_fmu-v4pro exclude # @board px4_fmu-v4pro exclude
# @board px4_fmu-v5 exclude # @board px4_fmu-v5 exclude
# @board px4_fmu-v5x exclude # @board px4_fmu-v5x exclude
# @board auterion_fmu-v6x exclude
# @board px4_fmu-v6x exclude # @board px4_fmu-v6x exclude
# @board diatone_mamba-f405-mk2 exclude # @board diatone_mamba-f405-mk2 exclude
# #
@@ -5,5 +5,8 @@
# @type Rover # @type Rover
# @class Rover # @class Rover
# #
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.rover_differential_defaults . ${R}etc/init.d/rc.rover_differential_defaults
@@ -2,11 +2,14 @@
# #
# @name Aion Robotics R1 UGV # @name Aion Robotics R1 UGV
# #
# @url https://docs.px4.io/main/en/complete_vehicles_rover/aion_r1.html # @url https://www.aionrobotics.com/r1
# #
# @type Rover # @type Rover
# @class Rover # @class Rover
# #
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.rover_differential_defaults . ${R}etc/init.d/rc.rover_differential_defaults
@@ -23,6 +26,7 @@ param set-default NAV_ACC_RAD 0.5
# Differential Parameters # Differential Parameters
param set-default RD_WHEEL_TRACK 0.3 param set-default RD_WHEEL_TRACK 0.3
param set-default RD_MAX_THR_YAW_R 0.7
param set-default RD_TRANS_DRV_TRN 0.785398 param set-default RD_TRANS_DRV_TRN 0.785398
param set-default RD_TRANS_TRN_DRV 0.139626 param set-default RD_TRANS_TRN_DRV 0.139626
@@ -38,16 +42,14 @@ param set-default RO_YAW_RATE_P 0.1
param set-default RO_YAW_RATE_LIM 250 param set-default RO_YAW_RATE_LIM 250
param set-default RO_YAW_ACCEL_LIM 600 param set-default RO_YAW_ACCEL_LIM 600
param set-default RO_YAW_DECEL_LIM 600 param set-default RO_YAW_DECEL_LIM 600
param set-default RO_YAW_RATE_CORR 2.7
# Rover Attitude Control Parameters # Rover Attitude Control Parameters
param set-default RO_YAW_P 2.5 param set-default RO_YAW_P 2.5
# Rover Velocity Control Parameters # Rover Position Control Parameters
param set-default RO_SPEED_LIM 1.6 param set-default RO_SPEED_LIM 1.6
param set-default RO_SPEED_I 0.01 param set-default RO_SPEED_I 0.01
param set-default RO_SPEED_P 0.1 param set-default RO_SPEED_P 0.1
param set-default RO_SPEED_RED 1
# Pure Pursuit parameters # Pure Pursuit parameters
param set-default PP_LOOKAHD_GAIN 1 param set-default PP_LOOKAHD_GAIN 1
@@ -5,5 +5,8 @@
# @type Rover # @type Rover
# @class Rover # @class Rover
# #
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.rover_ackermann_defaults . ${R}etc/init.d/rc.rover_ackermann_defaults

Some files were not shown because too many files have changed in this diff Show More