Main repository of our SEA:ME team with the objective of building a functioning intelligent mobility system and its documentation.
This repo contains several submodules, each tackling a specific component of our intelligent mobility stack—from warm-up exercises to advanced autonomous driving systems.
First module of the course. Includes C++ exercises to refresh key concepts and an introduction to the Qt framework, which we use later to design the infotainment system.
Development of the Instrument Cluster for our JetRacer vehicle.
Qt-based graphical interface displaying real-time vehicle metrics (speed, battery, etc.), communicating over CAN and I2C using a Raspberry Pi 4, with data gathered by an Arduino Uno ECU.
Key Subfolders:
Jetracer: ROS2 workspace running on the Raspberry Pi.JetRacer_container: Docker environment to build and run the stack with correct hardware access.ECU_code: Code for the Arduino Uno acting as the Electronic Control Unit.
Documentation: JetRacer Documentation
This project implements an Autonomous Driving System (ADS), integrating lane detection with steering control on a JetRacer.
Combines computer vision and machine learning, powered by ROS 2 on a Jetson Nano for GPU-accelerated real-time performance.
Key Features:
- Modular ROS2 nodes for camera, control, and perception.
- Runs both in Carla simulator and in the real world.
- Hybrid lane detection (OpenCV + ML).
- Launch tools for real-time or replayed data workflows.
Documentation: Jetracer Documentation
Development and training of our U-Net model for lane and object detection.
This repo focuses on model creation, training, and testing before deployment. Models are exported to ONNX and later optimized with TensorRT for inference on the Jetson Nano.
Key Folders:
datasets/: Datasets used for training and evaluation.srcs_py/: Python code for model architecture, training pipeline, and ONNX conversion.srcs_cpp/: C++ integration code for running the model inside the JetRacer.tests/: Debug and verification scripts, mostly in Python.
Reference repo for doing inference using TensorRT directly in C++ on the Jetson Nano.
Used for benchmarking
.enginefiles or debugging single inference calls—great for embedded ML deployments.
Structure:
benchmarking/: Times multiple engine files and reports inference performance.test_engine/: Runs inference on a single image (debug-focused).
📄 ADR
The Architecture Decision Record (ADR) folder documents key technical choices we've made throughout the project. These markdown files act as a timeline of our understanding, containing both architectural decisions and problem-solving insights.
Every major shift—be it in stack design, integration issues, or system architecture—is documented here for future reference and reproducibility.
⚙️ config
This directory contains setup and service configuration files for both the Jetson Nano and the Raspberry Pi, enabling smooth deployment and reproducibility across the team.
This repository is maintained by the SEA:ME JetpackJoyRide team (@Axel, @Pedro, @Joao, @Francisco) as part of our coursework in intelligent mobility.
