Post

Week 7 - ROS 2 Follow Line GUI Updates and Vacuum Cleaner Implementation (July 21 ~ 28)

Week 7 - ROS 2 Follow Line GUI Updates and Vacuum Cleaner Implementation (July 21 ~ 28)

Hey everyone!
This week I continued to work on the ROS 2-native port of the Vacuum Cleaner exercise implementing necessary features for a smooth user experience.


Objectives for the Week

  • Update GUI Vacuum Cleaner for the Web UI
  • Vacuum cleaner exercise Docs (Ros Native)
  • General improvements and bug fixes
  • Logging fix for VNC Console

What I Worked On

This week, I focused on general improvements and bug fixes for the ROS 2-native implementation of the Vacuum Cleaner exercise. The main tasks included updating the GUI for the Web UI, enhancing the documentation, and addressing some logging issues in the VNC Console.

I started by updating the GUI for the Vacuum Cleaner exercise to ensure it works seamlessly with the Web UI. This involved updating the GUI to ensure proper threading and executor management, which is crucial for the GUI to function correctly in a ROS 2 environment as there where some errors being thrown during execution of user code.

I implemented a solution where the GUI module is initialized with the correct executor and threading model, the fix is not fully complete yet, but it is a step in the right direction. This way, the GUI can handle user interactions and display information without blocking the main execution thread.


After working on the GUI module, I moved on to updating the documentation for the Vacuum Cleaner exercise. I ensured that the documentation provides clear instructions for users to understand how to implement the exercise in a ROS 2-native manner. This includes details on the topics used, expected behaviors, and how to run the exercise. I have also added reference links to the ROS 2 & Roomba documentation for users to get more information on the topics and services used in the exercise.


I also addressed the logging issues in the VNC Console. I was suggested to update the env variables in the docker-compose file to ensure that the logging works correctly in the VNC Console. Unfortunately this did not work as expected, im currently building a local docker image with the changes to test if it resolves the issue.

The project is close to completion, with only a few minor issues remaining. I am optimistic that these will be resolved in the coming week!


PRs & Issues Raised

Here are the contributions made this week:

Issues

Pull Requests

Key Learnings & Outcomes

  • Gained a deeper understanding of how to manage threading and executors in ROS 2, especially in the context of GUI applications.
  • Improved documentation practices for ROS 2-native exercises, ensuring clarity and usability for users.
  • Enhanced debugging skills by addressing logging issues in the VNC Console and learning how to work with Docker environments for testing.

Thanks for reading! I’m excited about the progress made this week and looking forward to tackling the challenges ahead. If you have any questions or feedback, feel free to reach out!

Until next week —
Ashish

This post is licensed under CC BY 4.0 by the author.