Ekumen-OS / andino_gz

Andino Simulation using Gazebo simulator
11 stars 3 forks source link

Migration to jazzy #83

Closed JesusSilvaUtrera closed 2 months ago

JesusSilvaUtrera commented 2 months ago

🎉 New feature

Closes #71

Summary

I have changed the docker files to suport Jazzy instead of humble and tried out the simulation using Harmonic.

Test it

Build and run the image, then just source the workspace and try out the simulation as suggested on the README.

Checklist

JesusSilvaUtrera commented 2 months ago

The simulation is working just fine, but there is a problem with the SLAM: I tried it out to see if it works fine, but it seems to not be finding the YAML file for configuration.

I have checked this on the new workspace that I created for the source code of Andino, and the file is being added correctly when I build this workspace:

ubuntu@themis:~$ cd ros_deps_ws/install/andino_slam/share/andino_slam/config/
ubuntu@themis:~/ros_deps_ws/install/andino_slam/share/andino_slam/config$ ls
slam_toolbox_online_async.yaml

So I don't know why it's not finding it (if you see the Dockerfile this workspace is being sourced by the .bashrc file on every terminal).

I tried using an unified workspace for all but it's not working really fine. I will continue trying to debug this when I have more time, but JIC you have any thought @francocipollone

francocipollone commented 2 months ago

The simulation is working just fine, but there is a problem with the SLAM: I tried it out to see if it works fine, but it seems to not be finding the YAML file for configuration.

I have checked this on the new workspace that I created for the source code of Andino, and the file is being added correctly when I build this workspace:

ubuntu@themis:~$ cd ros_deps_ws/install/andino_slam/share/andino_slam/config/
ubuntu@themis:~/ros_deps_ws/install/andino_slam/share/andino_slam/config$ ls
slam_toolbox_online_async.yaml

So I don't know why it's not finding it (if you see the Dockerfile this workspace is being sourced by the .bashrc file on every terminal).

I tried using an unified workspace for all but it's not working really fine. I will continue trying to debug this when I have more time, but JIC you have any thought @francocipollone

The problem relies on the fact that for Jazzy the slam toolbox node changes a bit: https://github.com/SteveMacenski/slam_toolbox/blob/jazzy/launch/online_async_launch.py

Basically, it is now a lifecycle node. So when we are running the node the node gets stalled (you can play with the ros2 lifecycle cli). So what they did in their launch file was to add some events to advance the node. We should do the same. Basically replicate what they have there.

Naturally you will ask why don't we just include the launch file into this launch file using IncludeLaunchDescription? You can try but I think that you can't include a launch file with some EmitEvents, you can try.

PS: You can also try directly the launch file from slam toolbox to understand the case: ros2 launch slam_toolbox online_async_launch.py

francocipollone commented 2 months ago

@JesusSilvaUtrera Take a look

JesusSilvaUtrera commented 2 months ago

@JesusSilvaUtrera Take a look

Ohhh I see, I was researching a bit about the slam_toolbox but didn't see that they changed the node in Jazzy.

Thanks for this Franco, I will try it out when I have time this week.

JesusSilvaUtrera commented 2 months ago

@francocipollone I have tried it out, and including the file does the trick, so no need to replicate the behavior, I even tried out creating a map: my_map.zip

With this, we should be fine to merge this, so PTAL and approve the PR if you think it's okay.

JesusSilvaUtrera commented 2 months ago

@francocipollone I have tried it out after merging the latest updates from humble and it still works fine, so PTAL to see if we can merge it for now (maybe I can add on the docker README a warning about the issue with the build and install directories for now until we find a wrokaround).