Hey folks, I’d like to share a short teaser video demonstrating what I have been working on recently.
I have been developing a template for open-source educational platforms to teach robotics to young and disadvantaged students. These students often have limited access to computing and hardware resources. The template provides them with free access to a professional-level robotics development experience remotely, either through a web browser or on personally owned low-spec mobile devices. The platform is web-based and leverages VS Code, Gzweb, and Foxglove, running in portable Dev Containers. These containers can be hosted remotely using cloud-based services like GitHub Codespaces or locally using institutionally managed devices through Docker and Linux containers.
The video above is a screen recording from an Android tablet connecting to a prebuilt Codespace on Nav2’s GitHub repository. It demonstrates launching the patrolling security demo in the remote Dev Container and installing/opening several self-hosted PWAs (Progressive Web Apps) to visualize and debug ROS code. In fact, you can see in the video that the Nav2 demo encounters a little trouble navigating through the narrow corridor in the simulation environment. With this setup, students can dive right into open-source projects, contributing small fixes for such examples, even if all they have is a school-issued Chromebook or a family-owned iPad.
You can follow the progress of this project through my dev blogging, which I have interwoven into my PR comments, tagged with the devcontainer
label, with commit messages chronicling my experimentation:
For example, here was my deep dive into the rabbit hole that is port forwarding with Codespaces:
https://github.com/ros-planning/navigation2/pull/3551
The demo above is from a bleeding-edge PR, so it still requires some polish. But you can try it out here:
https://github.com/ros-planning/navigation2/pull/3576
BTW, I plan on presenting this in a little more detail during the next Navigation Working Group meeting, as a mini workshop, and would be open to all. We’ll try to record this as well for folks who can’t make it.
Update: check this announcement for more info on the mini workshop and evential video recording:
Feel free to reach out if you find this interesting or if you would like to contribute!
Cheers,
Ruffin