Skip to content

Repository files navigation

SEAME Automotive Journey

Autonomous vehicle using PiRacer as part of the SEAME automotive program.

Team: DrivaPi (Team04)

Bernardo, Gaspar, Hugo, Melanie, Miguel


🎯 What We're Building

  • Computer vision and autonomous driving
  • Real-time control systems (ThreadX RTOS)
  • Qt-based interface
  • Automotive industry standard architecture
  • Requirements management with TSF

Platform: PiRacer with Raspberry Pi 5


🛠️ Tech Stack

Category Technology
OS Automotive Grade Linux (AGL)
RTOS ThreadX
Language C++ (+ Rust evaluation)
GUI Qt framework
Requirements TSF (Trustable Software Framework)
Standards ISO 26262

📁 Repository Structure

.
├── TSF/                   # Trustable Software Framework
│   ├── reqs/             # TSF Requirements
│   │   ├── urd/         # User Requirements
│   │   ├── srd/         # System Requirements
│   │   ├── swd/         # Software Design
│   │   └── lltc/        # Low-Level Test Cases
│   ├── artifacts/       # Evidence & reports
│   └── .dotstop.dot     # TSF traceability graph
│
├── qt-app/               # Qt-based GUI application
│   ├── src/             # Application source code
│   ├── include/         # Header files
│   ├── resources/       # UI resources
│   └── proto/           # Protocol buffers
│
├── rust/                 # Rust implementations
├── firmware/             # ThreadX RTOS integration
├── meta-cross/          # Cross-compilation & build system
│
├── docs/                # Documentation
│   ├── standups/       # Daily stand-up logs
│   ├── sprints/        # Sprint planning & retrospectives
│   ├── hardware/       # Hardware documentation
│   ├── software/       # Software documentation
│   ├── standards/      # Standards & compliance
│   ├── presentations/  # Team presentations
│   └── TSF/            # TSF workflow documentation
│
├── tests/              # Test suites
├── scripts/            # Automation scripts
└── archive/            # Historical work & labs

📋 TSF Documentation

Doc When to Use Time
start.md First time, setup 15 min
reference.md Cheat sheet, commands Reference
workflow.md Create requirements, review Reference
training.md Understand TSF/ISO 26262 theory 1-2h
evidence.md Link artifacts Reference

👥 Team Practices

Daily Stand-Ups

  • Morning: Quick sync (~10 min)
  • Facilitator: Melanie
  • Docs: docs/standups/

Agile/Scrum Process

  • Sprint Duration: 2 weeks
  • Sprint Planning: Start of each sprint
  • Sprint Review: End of sprint demo
  • Sprint Retrospective: Continuous improvement
  • Project Board: GitHub Projects with automated workflows
  • Issue Tracking: GitHub Issues linked to requirements

Code Review Standards

  • Minimum Approvals: 2 required for merge
  • Review Checklist:
    • Code follows naming conventions
    • Tests pass locally and in CI
    • Documentation updated
    • TSF requirements linked (if applicable)
    • No secrets or sensitive data
  • PR Template: Enforced via .github/PULL_REQUEST_TEMPLATE.md

Quality Gates

All PRs must pass:

  • Unit tests (90% coverage minimum)
  • Static analysis (CodeQL)
  • TSF validation
  • 2 peer reviews

Workflow

Branch naming: <type>/<issue-number>-<description>

  • Types: feat/, fix/, docs/, test/, refactor/, chore/, spike/
  • Example: feat/316-integrate-unit-test-coverage

Development Process:

  1. Start Work: Create/assign GitHub issue → Move to "In Progress"
  2. Create Branch: git checkout -b <type>/<issue-number>-<description>
  3. Develop: Implement changes, write tests, update documentation
  4. TSF Integration (if applicable):
    • Create/update requirements in TSF/requirements/
    • Link evidence to requirements
    • Validate with CI/CD pipeline
  5. Local Testing: Run unit tests, static analysis locally
  6. Push & PR:
    • Push to GitHub
    • Create Pull Request using template
    • Link issue with "closes #"
  7. Review: Minimum 2 approvals required
  8. CI/CD Validation:
    • Unit tests (unit_tests.yml)
    • Static analysis (firmware_static.yml)
    • TSF validation (tsf_validation.yml)
    • Doxygen documentation (doxygen_documentation.yml)
  9. Merge: Squash and merge → Delete feature branch

Commit format: <type>(<scope>): <description>

  • Types: feat, fix, docs, test, refactor, chore, ci, revert
  • Scopes: reqs, tsf, firmware, qt-app, ci, hardware, etc.
  • Examples:
    • feat(reqs): add motor control requirements
    • fix(firmware): correct servo calibration logic
    • docs(tsf): update workflow documentation
    • test(unit): add speed sensor test coverage

📈 Progress & Status

Completed

  • ✅ Hardware assembly and integration
  • ✅ PiRacer setup with Raspberry Pi 5
  • ✅ Qt application foundation
  • ✅ ThreadX RTOS integration
  • ✅ AGL deployment
  • ✅ TSF framework integrated
  • ✅ Unit test framework with 90% coverage minimum
  • ✅ CI/CD pipeline with automated validation
  • ✅ Static analysis with CodeQL
  • ✅ Automated evidence generation
  • ✅ Doxygen documentation generation

In Progress

  • 🔄 Firmware refactoring and naming conventions
  • 🔄 Motor/servo requirements and test suites
  • 🔄 Qt application development
  • 🔄 Computer vision integration
  • 🔄 Autonomous driving capabilities

📊 Traceability Status

TSF Framework: Fully operational with automated validation

Requirements Structure

  • URD (User Requirements): L0 level requirements from product backlog
  • SRD (System Requirements): L1 level system decomposition
  • SWD (Software Design): L2 level detailed design
  • LLTC (Low-Level Test Cases): L3 level unit/integration tests

Automated CI/CD Pipeline

  • ✅ Unit tests with code coverage (90% minimum)
  • ✅ Static analysis with CodeQL
  • ✅ TSF validation and traceability checks
  • ✅ Automated evidence generation and linking
  • ✅ Doxygen documentation generation

Current Coverage

  • Motor control requirements fully traced
  • Servo control requirements fully traced
  • Speed sensor unit tests implemented
  • Automated traceability updates via CI

View detailed report: TSF/artifacts/trustable-report/dashboard.md


📚 Standards Compliance

  • ISO 26262: Functional safety

    • ASIL levels assigned
    • Hazard analysis
    • V-Model development
  • TSF: Trustable Software Framework

    • Requirements traceability
    • Evidence-based trust
    • Git audit trail

👤 Team Roles

Member Primary Focus Responsibilities
Bernardo Hardware Integration & Testing PiRacer integration, hardware validation, system testing
Gaspar OS & Development Environment AGL setup, build systems, cross-compilation, toolchain
Hugo Hardware & Fabrication Mechanical design, 3D printing, custom parts, assembly
Melanie GUI & Team Coordination Qt application, HMI design, stand-up facilitation, documentation
Miguel GitHub Project & Agile/Scrum Project management, GitHub workflows, sprint planning, CI/CD

📜 License

Educational project - SEAME Automotive Program


Last update: January 14, 2025 | Active development

About

SEA:ME 2025/2026 (Portugal) - Integrated Project Repository. Contains the complete and unified software stack for the autonomous vehicle platform, integrating all core modules for a cohesive solution.

Resources

Code of conduct

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages