add humble-navigation2

This commit is contained in:
X-lanni
2025-05-27 19:03:40 +08:00
parent 974abb5e1e
commit e74ec539c2
1280 changed files with 204114 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
<!--
For general questions, please ask on ROS answers: https://answers.ros.org, make sure to include at least the `ros2` tag and the rosdistro version you are running, e.g. `ardent`.
For general design discussions, please post on discourse: https://discourse.ros.org/c/ng-ros
Not sure if this is the right repository? Open an issue on https://github.com/ros-planning/navigation2
For Bug report or feature requests, please fill out the relevant category below
-->
## Bug report
**Required Info:**
- Operating System:
- <!-- OS and version (e.g. Windows 10, Ubuntu 16.04...) -->
- ROS2 Version:
- <!-- ROS2 distribution and install method (e.g. Foxy binaries, Dashing source...) -->
- Version or commit hash:
- <!-- from source: output of `git -C navigation2 rev-parse HEAD
apt binaries: output of: dpkg-query --show "ros-$ROS_DISTRO-navigation2"
or: dpkg-query --show "ros-$ROS_DISTRO-nav2-*" -->
- DDS implementation:
- <!-- rmw_implementation used (e.g. Fast-RTPS, RTI Connext, etc.) -->
#### Steps to reproduce issue
<!-- Detailed instructions on how to reliably reproduce this issue http://sscce.org/
``` code that can be copy-pasted is preferred ``` -->
```
```
#### Expected behavior
#### Actual behavior
#### Additional information
<!-- If you are reporting a bug delete everything below
If you are requesting a feature deleted everything above this line -->
----
## Feature request
#### Feature description
<!-- Description in a few sentences what the feature consists of and what problem it will solve -->
#### Implementation considerations
<!-- Relevant information on how the feature could be implemented and pros and cons of the different solutions -->
+46
View File
@@ -0,0 +1,46 @@
<!-- Please fill out the following pull request template for non-trivial changes to help us process your PR faster and more efficiently.-->
---
## Basic Info
| Info | Please fill out this column |
| ------ | ----------- |
| Ticket(s) this addresses | (add tickets here #1) |
| Primary OS tested on | (Ubuntu, MacOS, Windows) |
| Robotic platform tested on | (Steve's Robot, gazebo simulation of Tally, hardware turtlebot) |
---
## Description of contribution in a few bullet points
<!--
* I added this neat new feature
* Also fixed a typo in a parameter name in nav2_costmap_2d
-->
## Description of documentation updates required from your changes
<!--
* Added new parameter, so need to add that to default configs and documentation page
* I added some capabilities, need to document them
-->
---
## Future work that may be required in bullet points
<!--
* I think there might be some optimizations to be made from STL vector
* I see alot of redundancy in this package, we might want to add a function `bool XYZ()` to reduce clutter
* I tested on a differential drive robot, but there might be issues turning near corners on an omnidirectional platform
-->
#### For Maintainers: <!-- DO NOT EDIT OR REMOVE -->
- [ ] Check that any new parameters added are updated in navigation.ros.org
- [ ] Check that any significant change is added to the migration guide
- [ ] Check that any new features **OR** changes to existing behaviors are reflected in the tuning guide
- [ ] Check that any new functions have Doxygen added
- [ ] Check that any new features have test coverage
- [ ] Check that any new plugins is added to the plugins page
- [ ] If BT Node, Additionally: add to BT's XML index of nodes for groot, BT package's readme table, and BT library lists
+14
View File
@@ -0,0 +1,14 @@
version: 2
updates:
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "daily"
commit-message:
prefix: "🐳"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
commit-message:
prefix: "🛠️"
+73
View File
@@ -0,0 +1,73 @@
pull_request_rules:
- name: backport to galactic at reviewers discretion
conditions:
- base=main
- "label=backport-galactic"
actions:
backport:
branches:
- galactic
- name: backport to foxy at reviewers discretion
conditions:
- base=main
- "label=backport-foxy"
actions:
backport:
branches:
- foxy-devel
- name: delete head branch after merge
conditions:
- merged
actions:
delete_head_branch:
- name: ask to resolve conflict
conditions:
- conflict
- author!=mergify
actions:
comment:
message: This pull request is in conflict. Could you fix it @{{author}}?
- name: development targets main branch
conditions:
- base!=main
- author!=SteveMacenski
- author!=mergify
actions:
comment:
message: |
@{{author}}, all pull requests must be targeted towards the `main` development branch.
Once merged into `main`, it is possible to backport to @{{base}}, but it must be in `main`
to have these changes reflected into new distributions.
- name: Main build failures
conditions:
- base=main
- or:
- "check-failure=ci/circleci: debug_build"
- "check-failure=ci/circleci: release_build"
actions:
comment:
message: |
@{{author}}, your PR has failed to build. Please check CI outputs and resolve issues.
You may need to rebase or pull in `main` due to API changes (or your contribution genuinely fails).
- name: Removed maintainer checklist
conditions:
- "-body~=^.*#### For Maintainers: <!-- DO NOT EDIT OR REMOVE -->.*$"
- author!=SteveMacenski
- author!=mergify
actions:
comment:
message: |
@{{author}}, please properly fill in PR template in the future. @stevemacenski, use this instead.
- [ ] Check that any new parameters added are updated in navigation.ros.org
- [ ] Check that any significant change is added to the migration guide
- [ ] Check that any new features **OR** changes to existing behaviors are reflected in the tuning guide
- [ ] Check that any new functions have Doxygen added
- [ ] Check that any new features have test coverage
- [ ] Check that any new plugins is added to the plugins page
- [ ] If BT Node, Additionally: add to BT's XML index of nodes for groot, BT package's readme table, and BT library lists
+132
View File
@@ -0,0 +1,132 @@
---
name: Update CI Image
on:
schedule:
# 7am UTC, 12am PDT
- cron: '0 7 * * *'
push:
branches:
- main
- jazzy
- humble
paths:
- '**/package.xml'
- '**/*.repos'
- 'Dockerfile'
- '.github/workflows/update_ci_image.yaml'
jobs:
check_ci_files:
name: Check CI Files
runs-on: ubuntu-latest
outputs:
trigger: ${{ steps.check.outputs.trigger }}
no_cache: ${{ steps.check.outputs.no_cache }}
steps:
- name: "Check package updates"
id: check
if: github.event_name == 'push'
run: |
echo "trigger=true" >> $GITHUB_OUTPUT
echo "no_cache=false" >> $GITHUB_OUTPUT
check_ci_image:
name: Check CI Image
if: github.event_name == 'schedule'
needs: check_ci_files
runs-on: ubuntu-latest
outputs:
trigger: ${{ steps.check.outputs.trigger }}
no_cache: ${{ steps.check.outputs.no_cache }}
container:
image: ghcr.io/${{ github.repository }}:${{ github.ref_name }}
steps:
- name: "Check apt updates"
id: check
env:
SOURCELIST: sources.list.d/ros2.list
run: |
apt-get update \
-o Dir::Etc::sourcelist="${SOURCELIST}"
apt-get --simulate upgrade \
-o Dir::Etc::sourcelist="${SOURCELIST}" \
> upgrade.log
cat upgrade.log
cat upgrade.log \
| grep "^0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.$" \
&& echo "trigger=false" >> $GITHUB_OUTPUT \
|| echo "trigger=true" >> $GITHUB_OUTPUT
echo "no_cache=true" >> $GITHUB_OUTPUT
rebuild_ci_image:
name: Rebuild CI Image
if: always()
needs:
- check_ci_files
- check_ci_image
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set build config
id: config
run: |
created=$(date -u +'%Y-%m-%dT%H:%M:%SZ')
echo "created=${created}" >> $GITHUB_OUTPUT
version=$(grep -oP '(?<=<version>).*?(?=</version>)' navigation2/package.xml)
echo "version=${version}" >> $GITHUB_OUTPUT
no_cache=false
if [ "${{needs.check_ci_files.outputs.no_cache}}" == 'true' ] || \
[ "${{needs.check_ci_image.outputs.no_cache}}" == 'true' ]
then
no_cache=true
fi
echo "no_cache=${no_cache}" >> $GITHUB_OUTPUT
trigger=false
if [ "${{needs.check_ci_files.outputs.trigger}}" == 'true' ] || \
[ "${{needs.check_ci_image.outputs.trigger}}" == 'true' ]
then
trigger=true
fi
echo "trigger=${trigger}" >> $GITHUB_OUTPUT
- name: Build and push ${{ github.ref_name }}
if: steps.config.outputs.trigger == 'true'
id: docker_build
uses: docker/build-push-action@v3
with:
context: .
pull: true
push: true
provenance: false
no-cache: ${{ steps.config.outputs.no_cache }}
cache-from: type=registry,ref=ghcr.io/${{ github.repository }}:${{ github.ref_name }}
cache-to: type=inline
target: builder
tags: |
ghcr.io/${{ github.repository }}:${{ github.ref_name }}
ghcr.io/${{ github.repository }}:${{ github.ref_name }}-${{ steps.config.outputs.version }}
labels: |
org.opencontainers.image.authors=${{ github.event.repository.owner.html_url }}
org.opencontainers.image.created=${{ steps.config.outputs.created }}
org.opencontainers.image.description=${{ github.event.repository.description }}
org.opencontainers.image.documentation=${{ github.event.repository.homepage }}
org.opencontainers.image.licenses=${{ github.event.repository.license.spdx_id }}
org.opencontainers.image.ref.name=${{ github.ref }}
org.opencontainers.image.revision=${{ github.sha }}
org.opencontainers.image.source=${{ github.event.repository.clone_url }}
org.opencontainers.image.title=${{ github.event.repository.name }}
org.opencontainers.image.url=${{ github.event.repository.html_url }}
org.opencontainers.image.vendor=${{ github.event.repository.owner.login }}
org.opencontainers.image.version=${{ steps.config.outputs.version }}
- name: Image digest
if: steps.config.outputs.trigger == 'true'
run: echo ${{ steps.docker_build.outputs.digest }}