Skip to content

Jazzy harmonic migration#19

Merged
azazdeaz merged 40 commits intojazzy-harmonicfrom
jazzy-harmonic-migration
May 6, 2025
Merged

Jazzy harmonic migration#19
azazdeaz merged 40 commits intojazzy-harmonicfrom
jazzy-harmonic-migration

Conversation

@azazdeaz
Copy link
Copy Markdown
Member

@azazdeaz azazdeaz commented Mar 28, 2025

Upgrade to Jazzy

Main changes:

  • Use pytest with ros2 launch_pytest utils to run the tests instead of launch_test
  • Run the tests against the official Nav2 examples
  • Use Turtlebot 4 insted on the simulation-only sam-bot
  • Load waypoints from config files for each test environment.
  • Remove the need for building Nav2 from source
  • Add a new environment (depot.sdf) to the test scenarios
  • Make running with Docker move convenient by setting up build/run/join scripts
  • Use less test in more scenarios to utilize the Artefacts config
  • Load SDF worlds as XACRO files. This allows to add randomization to the world in the future. (The technique is taken from the Nav2 examples)

Unfortunately, almost all files were changed/moved/removed so reviewing the diff will be probably difficult. Might make more sense to take a look at the source as it is: https://github.com/art-e-fact/navigation2_ignition_gazebo_example/tree/jazzy-harmonic-migration

Dashboard: https://app.artefacts.com/artefacts/navigation2-ignition-example

nav2_gz.mp4

@azazdeaz azazdeaz requested a review from Copilot April 11, 2025 12:49
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 215 out of 226 changed files in this pull request and generated no comments.

Files not reviewed (11)
  • .env.sample: Language not supported
  • Dockerfile: Language not supported
  • deps.repos: Language not supported
  • docker/Dockerfile: Language not supported
  • docker/build.bash: Language not supported
  • docker/entrypoint.sh: Language not supported
  • docker/join.bash: Language not supported
  • docker/run.bash: Language not supported
  • rerun/.gitignore: Language not supported
  • rerun/requirements.txt: Language not supported
  • src/nav2_gz_testing/CMakeLists.txt: Language not supported
Comments suppressed due to low confidence (1)

src/nav2_gz_testing/launch/waypoint_follower_example_launch.py:87

  • The command arguments include a nested list (["headless:=", headless]) which may not be interpreted correctly. Consider concatenating 'headless:=' with the value of headless or flattening the list before passing to ExecuteProcess.
world_sdf_xacro = ExecuteProcess( cmd=["xacro", "-o", world_sdf, ["headless:=", headless], world] )

@azazdeaz azazdeaz marked this pull request as ready for review April 13, 2025 11:09
@azazdeaz azazdeaz requested review from fabid and tomonorman April 13, 2025 11:09
Copy link
Copy Markdown
Collaborator

@tomonorman tomonorman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, very cool.

So I think some issues / todos we could create for the cli / toolkit could be:

  1. Have a. pytest option in artefacts.yaml. (Instead of run that is used in this branch)
  2. The rosbag upload logic should apply to framework not ros_testfile if that is the case
  3. Cleanup of output_dirs (default=true?) with flag or config
  4. get_artefacts_param should have a default fallback (eg if not using artefacts)
  5. If there are any pytest fixtures / functions that might be "commonly" used perhaps we should make a artefacts_toolkit.pytest module

@azazdeaz azazdeaz merged commit 5d7e1ca into jazzy-harmonic May 6, 2025
1 check passed
@azazdeaz azazdeaz deleted the jazzy-harmonic-migration branch May 6, 2025 17:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants