Skip to content

Update codebase to ROS 2 Jazzy with SimulationInterfaces; fix docker - #323

Merged
jhanca-robotecai merged 7 commits into
developmentfrom
jh/update_ROS2
May 19, 2026
Merged

jhanca-robotecai merged 7 commits into
developmentfrom
jh/update_ROS2

Conversation

@jhanca-robotecai

@jhanca-robotecai jhanca-robotecai commented Apr 13, 2026 •

Copy link
Copy Markdown
Collaborator

What does this PR do?

This PR builds on the last commit from #320 The aforementioned is too large for the review and to it was split into smaller pieces (see #322).

This PR updates the project to use ROS 2 Jazzy, adds SimulationInterfaces and cleans Docker scripts. The following changes were added on top of the work in #320 :

  • do not remove ros_ws in the build, the workspace is needed as we build with --symlink-install option
  • split the building script into two scipts: cloning and building (this way we get more docker sync points to reuse)
  • README was updated (ROS 2 version and Ubuntu version now matches the code; more changelog information was added)

Note: this PR should be merged only after #322

How was this PR tested?

Two docker images with ROS 2 Jazzy were built and run.

@jhanca-robotecai jhanca-robotecai changed the title Jh/update ros2 Update codebase to ROS 2 Jazzy with SimulationInterfaces; fix docker Apr 13, 2026
michalpelka and others added 6 commits April 20, 2026 08:56
Signed-off-by: Michał Pełka <michal.pelka@robotec.ai>
Signed-off-by: Jan Hanca <jan.hanca@robotec.ai>
Signed-off-by: Jan Hanca <jan.hanca@robotec.ai>
Signed-off-by: Jan Hanca <jan.hanca@robotec.ai>
Signed-off-by: Jan Hanca <jan.hanca@robotec.ai>
Signed-off-by: Jan Hanca <jan.hanca@robotec.ai>
@jhanca-robotecai

Copy link
Copy Markdown
Collaborator Author

#322 is merged, this one is rebased and ready for the review

@jhanca-robotecai
jhanca-robotecai marked this pull request as ready for review April 20, 2026 06:58
@michalpelka
michalpelka self-requested a review May 11, 2026 10:56
Signed-off-by: Michał Pełka <michal.pelka@robotec.ai>

@patrykantosz patrykantosz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Docker does not work when following the instructions in the README file, at least not for me. The foil machine animation is not working either - in my case, it only worked once, for one robot, when I used GameLauncher. After that, the machine's arm was static and only the payload model changed.
Everything else works when it is built locally (I have only checked the level 1 demo).

laser_likelihood_max_dist: 2.0
laser_max_range: 100.0
laser_min_range: -1.0
laser_model_type: "<robot_namespace>/likelihood_field"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I am not sure if this particular field should be namespaced, but maybe someone more familiar with ROS 2 should check that.

laser_likelihood_max_dist: 2.0
laser_max_range: 100.0
laser_min_range: -1.0
laser_model_type: "<robot_namespace>/likelihood_field"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

As in the otto1500Params.yaml.

Comment thread Docker/README.md
To build the Docker image using the default values, use the following command

```
docker build -f Dockerfile.ROS -t roscon2023_demo/ros:latest .

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I tried to run this command and build failed with such error:

44.11 ./clone_simulation.sh: line 63: /data/workspace/ROSCon2023Demo/engine/o3de/python/get_python.sh: No such file or directory
44.11 Error downloading/configuring O3DE Python
------
Dockerfile.O3DE:103
--------------------
 102 |     COPY clone_simulation.sh $WORKSPACE/
 103 | >>> RUN cd $WORKSPACE \
 104 | >>>     && ./clone_simulation.sh \
 105 | >>>     && rm clone_simulation.sh
 106 |     
--------------------

I have checked the whole /data/workspace directory and get_python.sh is not present there, so probably the engine is cloned/copied to a different localization.

@michalpelka

michalpelka commented May 15, 2026 •

Copy link
Copy Markdown
Collaborator

I've tested it against the latest and greatest stabilization (c963a762111301a81717bc37d0756296e61ffae8). Works as expected. Done some changes to readme.
Good work!

@patrykantosz patrykantosz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

After a bit of effort, I managed to get Docker working.

docker build -f Dockerfile.O3DE -t roscon2023_demo/o3de:latest --build-arg ROSCON_DEMO_BRANCH=jh/update_ROS2 .

It makes sense, as the ROSCON_DEMO_BRANCH points to the main branch, which does not use Git submodules.

@michalpelka

Copy link
Copy Markdown
Collaborator

@patrykantosz I would merge it, with issues opened. Could you open issues regarding those namespaced paremeterts

@jhanca-robotecai
jhanca-robotecai merged commit 06710a0 into development May 19, 2026
@jhanca-robotecai
jhanca-robotecai deleted the jh/update_ROS2 branch May 19, 2026 19:42
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