From ad148226840297a1062f754ce78730b1f4ba924c Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 25 Apr 2024 10:48:20 +0300 Subject: [PATCH 1/5] Fix running aruco_detect without aruco_map enabled use_map_markers parameter blocked aruco_detect from running --- clover/launch/aruco.launch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clover/launch/aruco.launch b/clover/launch/aruco.launch index d0bd86d9c..62330b679 100644 --- a/clover/launch/aruco.launch +++ b/clover/launch/aruco.launch @@ -19,7 +19,7 @@ - + From 2e86ed199a8f9eeba2ccfd23b2373251400c944c Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 25 Apr 2024 10:50:02 +0300 Subject: [PATCH 2/5] Implement possibility to upload image from repo not named clover --- .github/workflows/build-image.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-image.yaml b/.github/workflows/build-image.yaml index 34b7022d7..f6c139daa 100644 --- a/.github/workflows/build-image.yaml +++ b/.github/workflows/build-image.yaml @@ -19,12 +19,12 @@ jobs: docker run --privileged --rm -v /dev:/dev -v $(pwd):/builder/repo -e TRAVIS_TAG="${{ github.event.release.tag_name }}" sfalexrog/img-tool:qemu-update - name: Compress image run: | - cd images && sudo chmod -R 777 . && zip -9 $(echo clover_*).zip clover_* && ls -l . && unzip -l clover_*.zip + cd images && sudo chmod -R 777 . && zip -9 $(echo *_*).zip *_* && ls -l . && unzip -l *_*.zip - name: Upload image uses: softprops/action-gh-release@v1 if: ${{ github.event_name == 'release' }} with: - files: images/clover_*.zip + files: images/*_*.zip prerelease: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From a5309765f19efda7a4c2a27d9ccef26da14f8f14 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 25 Apr 2024 11:04:55 +0300 Subject: [PATCH 3/5] Some changes to markdownlint config --- .markdownlint.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.markdownlint.json b/.markdownlint.json index 6ca8b3156..16fafbf6d 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -113,7 +113,9 @@ "VMware", "DuoCam" ], - "code_blocks": false + "code_blocks": false, + "html_elements": false }, - "MD045": false + "MD045": false, + "MD051": false } From dacaa8ebdeb425b28371f908e2b1377be82cfbb0 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 25 Apr 2024 11:12:29 +0300 Subject: [PATCH 4/5] docs: minor fixes --- docs/en/aruco_map.md | 2 +- docs/en/auto_setup.md | 2 +- docs/ru/aruco_map.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/en/aruco_map.md b/docs/en/aruco_map.md index 64fd9a520..f19f47c64 100644 --- a/docs/en/aruco_map.md +++ b/docs/en/aruco_map.md @@ -136,7 +136,7 @@ navigate(x=2, y=2, z=2, speed=1, frame_id='aruco_map') ### Using a specific marker frame -Starting with the [image](image.md) version 0.18, the drone also can fly relative to a marker in the map, even if it is not currently visible. Like with [single-marker navigation](aruco_marker.md#working-with-detected-markers), this works by setting the frame_id parameter to aruco_ID, where ID is the desired marker number. +Starting with the [image](image.md) version 0.18, the drone also can fly relative to a marker in the map, even if it is not currently visible. Like with [single-marker navigation](aruco_marker.md#working-with-detected-markers), this works by setting the frame_id parameter to `aruco_ID`, where ID is the desired marker number. The following code will move the drone to the point 1 meter above the center of marker 5: diff --git a/docs/en/auto_setup.md b/docs/en/auto_setup.md index bb6d58358..24d2b0c53 100644 --- a/docs/en/auto_setup.md +++ b/docs/en/auto_setup.md @@ -210,7 +210,7 @@ Most of the parameters for autonomous flight are located in the following direct ` ``` -- Generate the ArUco markers field. See the article [Map-based navigation with ArUco markers] (aruco_map.md # marker map settings) for details. To generate markers, you need to enter a command with specific values. +- Generate the ArUco markers field. See the article [Map-based navigation with ArUco markers](aruco_map.md#marker-map-definition) for details. To generate markers, you need to enter a command with specific values. Here is the example generating command where: diff --git a/docs/ru/aruco_map.md b/docs/ru/aruco_map.md index 07bbc374a..e3e46e997 100644 --- a/docs/ru/aruco_map.md +++ b/docs/ru/aruco_map.md @@ -136,7 +136,7 @@ navigate(x=2, y=2, z=2, speed=1, frame_id='aruco_map') # полет в коор ### Полет в координаты по ID маркера -Начиная с версии [образа](image.md) 0.18, доступны также полёты относительно отдельного маркера в карте, даже если дрон его не видит. По аналогии с [навигацией по отдельным маркерам](aruco_marker.md#навигация-по-маркерам) при настройке карты маркеров дрон сможет лететь в координаты относительно отдельного маркера, используя фрейм aruco_ID с соответствующим ID маркера. +Начиная с версии [образа](image.md) 0.18, доступны также полёты относительно отдельного маркера в карте, даже если дрон его не видит. По аналогии с [навигацией по отдельным маркерам](aruco_marker.md#навигация-по-маркерам) при настройке карты маркеров дрон сможет лететь в координаты относительно отдельного маркера, используя фрейм `aruco_ID` с соответствующим ID маркера. Полет в точку над маркером 5 на высоту 1 метр: From 70439f172d50a3d1d0816331118fa2fbdf2421a8 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 25 Apr 2024 22:20:01 +0300 Subject: [PATCH 5/5] selfcheck.py: address situation when individual cells voltage is unknown When length of cell_voltage array is 1, it means that cell voltage is unknown and overall voltage is reported instead. Consider this situation gathering the number of cells from PX4 parameters. --- clover/src/selfcheck.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/clover/src/selfcheck.py b/clover/src/selfcheck.py index 274594b79..538b9f0f1 100755 --- a/clover/src/selfcheck.py +++ b/clover/src/selfcheck.py @@ -303,6 +303,14 @@ def check_fcu(): failure('cell voltage is not available, https://clover.coex.tech/power') else: cell = battery.cell_voltage[0] + # number of cells 1 means this is overall voltage + if len(battery.cell_voltage) == 1: + n_cells = get_param('BAT1_N_CELLS', strict=False) + if n_cells is None: + # older PX4 + n_cells = get_param('BAT_N_CELLS', strict=True) + cell /= n_cells + if cell > 4.3 or cell < 3.0: failure('incorrect cell voltage: %.2f V, https://clover.coex.tech/power', cell) elif cell < 3.7: