Skip to content

Ros2 ign update rolling#78

Merged
Darkproduct merged 8 commits intoFieldRobotEvent:ros2-gzfrom
Kamaro-Engineering:ros2-ign-update-rolling
Mar 4, 2025
Merged

Ros2 ign update rolling#78
Darkproduct merged 8 commits intoFieldRobotEvent:ros2-gzfrom
Kamaro-Engineering:ros2-ign-update-rolling

Conversation

@Darkproduct
Copy link
Collaborator

@Darkproduct Darkproduct commented Mar 4, 2025

With Gazebo classic's EOL in January 2025 we should create a new ros2-classic branch and use Gazebo (former Ignition Gazebo) on the default ros2 one.

## TODO
- [ ] Create new branch ros2-classic from ros2
- [ ] Delete the ros2 branch
~~- [ ] Create new branch ros2 from ros2-ign ~~
- [ ] This PR should target the new ros2 branch

I'm not sure how long Ignition Gazebo will stay supported, so we should keep ros2-ign around until then.

What is done in this PR:

  • Used the ros2-ign branch as starting point
  • Followed the migration guide from Ignition
  • Fixed the dependencies in the package.xml of the ros2-ign branch (should be cherry-picked there as well and maybe fixes Issue with rosdep with ros2  #74)
  • Fixed a a lot of file permissions (should be cherry-picked as well)
  • Changed the package type to python
  • Removed hooks, use GZ_SIM_RESOURCE_PATH which is updated in simulation.launch.py
  • Add new launch parameter verbose to increase Gazebo verbosity
  • robot_spawner.launch.py is now more flexible with parameter overwrites and can also load models from file
  • Updated old plugins
  • Fix Found a few further issues or bugs while testing the configs. #45 out of bounds bug

@Darkproduct Darkproduct requested a review from Rick-v-E March 4, 2025 12:20
@Rick-v-E
Copy link
Member

Rick-v-E commented Mar 4, 2025

Thanks!
I think it makes more sense to create a new branch ros2-gz for this update right? Because humble still needs to use ros2-ign. In that way, we don't mess up everyone that's checkout on the ros2-ign branch. However, I think it's good to make this new code the default branch for this repository and adapt the readme of the ros2 and main branch to indicate that they are deprecated.

[gazebo-1] [warning] [Ogre2Heightmap.cc:125] [GUI] Heightmap final sampling should be 2^n
[gazebo-1]  which differs from ogre1's 2^n+1
[gazebo-1] The last row and column will be cropped
[gazebo-1] size = (width * sampling) - sampling + 1
[gazebo-1] [2049] = ([2049] * [1]) - [1] + 1
@Darkproduct
Copy link
Collaborator Author

Darkproduct commented Mar 4, 2025

I'm not sure if I understand, here is what I suggest:

  • Rename the current ros2 branch to ros2-classic because Gazebo classic is EOL anyway
  • Make this PR the new ros2 branch
  • ros2-ign will stay as it is, because as you said it is still needed on some supported versions

If this is fine with you, I can make the changes

@Rick-v-E
Copy link
Member

Rick-v-E commented Mar 4, 2025

I would keep the current ros2 branch and just add an additional ros2-gz branch, which we can make the default one. If someone clones the repository by git clone https://github.com/FieldRobotEvent/virtual_maize_field/ they automatically get the ros2-gz branch. Then everyone using the current ros2 branch can continue doing that without changing anything.

But if you think replacing the branch is better, I am ok with that.

@Darkproduct
Copy link
Collaborator Author

I also finally found the index out of bounds error which fixes #45 which is also included in #79

@Darkproduct Darkproduct changed the base branch from ros2-ign to ros2-gz March 4, 2025 14:34
@Darkproduct Darkproduct marked this pull request as ready for review March 4, 2025 14:37
@Rick-v-E
Copy link
Member

Rick-v-E commented Mar 4, 2025

And probably add a file ros-rolling-gz-test.yaml to .github/workflows to automatically test branch:

# Rolling Ridley (June 2020 - )
name: ros-rolling

on:
  workflow_dispatch:
  pull_request:
    branches:
      - ros2-gz
  push:
    branches:
      - ros2-gz

jobs:
  build:
    runs-on: ubuntu-latest
    container:
      image: ubuntu:noble
    steps:
      - uses: ros-tooling/setup-ros@master
        with:
          required-ros-distributions: rolling
      - uses: ros-tooling/action-ros-ci@v0.3
        with:
          package-name: virtual_maize_field
          target-ros2-distro: rolling

@Darkproduct Darkproduct merged commit 73547d0 into FieldRobotEvent:ros2-gz Mar 4, 2025
3 checks passed
@Darkproduct Darkproduct deleted the ros2-ign-update-rolling branch March 4, 2025 15:07
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.

2 participants