Overview
Jonny Boi (official name: Jetson Orin Nano) is the mini-PC that runs most software in the rover. The rover also contains some software in the microcontrollers, which are the responsibility of Embedded. Jonny and all microcontrollers are connected through a switch and form a LAN. This LAN is also connected to the Ubiquiti router that communicates with the Base station.
Jonny Boi runs NVIDIA Linux 36.4.4, which is Ubuntu Jammy 22.04 with NVIDIA packages. On top of that, we install ROS2 Humble Hawksbill and Nav2.
All code running on Jonny Boi is stored in https://github.com/RoboTeamTwente/erc-software-rover.
Software Architecture
This image's official place is on the drive. Please keep them up-to-date.
To edit this image, download it from the drive and open it at https://excalidraw.com. When exporting, don't forget to toggle the "embed the scene" switch and upload it to the drive.
This picture lists all software running on the rover and how data flows among different programs.
Communications
99% of our programs are running within the ROS2 framework and use the built-in publish-subscribe system to communicate. For more details, see this tutorial. TL;DR: The programs that have the data publish it to various topics, and other interested programs subscribe to that topic to receive the data.
For communications with programs running outside ROS2, we use Ethernet and protobufs. See Communication system for details.
Subsystems
