Autonomous vehicle using PiRacer as part of the SEAME automotive program.
Bernardo, Gaspar, Hugo, Melanie, Miguel
- 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
| Category | Technology |
|---|---|
| OS | Automotive Grade Linux (AGL) |
| RTOS | ThreadX |
| Language | C++ (+ Rust evaluation) |
| GUI | Qt framework |
| Requirements | TSF (Trustable Software Framework) |
| Standards | ISO 26262 |
.
βββ 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
| 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 |
- Morning: Quick sync (~10 min)
- Facilitator: Melanie
- Docs: docs/standups/
- 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
- 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
All PRs must pass:
- Unit tests (90% coverage minimum)
- Static analysis (CodeQL)
- TSF validation
- 2 peer reviews
Branch naming: <type>/<issue-number>-<description>
- Types:
feat/,fix/,docs/,test/,refactor/,chore/,spike/ - Example:
feat/316-integrate-unit-test-coverage
Development Process:
- Start Work: Create/assign GitHub issue β Move to "In Progress"
- Create Branch:
git checkout -b <type>/<issue-number>-<description> - Develop: Implement changes, write tests, update documentation
- TSF Integration (if applicable):
- Create/update requirements in
TSF/requirements/ - Link evidence to requirements
- Validate with CI/CD pipeline
- Create/update requirements in
- Local Testing: Run unit tests, static analysis locally
- Push & PR:
- Push to GitHub
- Create Pull Request using template
- Link issue with "closes #"
- Review: Minimum 2 approvals required
- CI/CD Validation:
- Unit tests (
unit_tests.yml) - Static analysis (
firmware_static.yml) - TSF validation (
tsf_validation.yml) - Doxygen documentation (
doxygen_documentation.yml)
- Unit tests (
- 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 requirementsfix(firmware): correct servo calibration logicdocs(tsf): update workflow documentationtest(unit): add speed sensor test coverage
- β 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
- π Firmware refactoring and naming conventions
- π Motor/servo requirements and test suites
- π Qt application development
- π Computer vision integration
- π Autonomous driving capabilities
TSF Framework: Fully operational with automated validation
- 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
- β Unit tests with code coverage (90% minimum)
- β Static analysis with CodeQL
- β TSF validation and traceability checks
- β Automated evidence generation and linking
- β Doxygen documentation generation
- 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
-
ISO 26262: Functional safety
- ASIL levels assigned
- Hazard analysis
- V-Model development
-
TSF: Trustable Software Framework
- Requirements traceability
- Evidence-based trust
- Git audit trail
| 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 |
Educational project - SEAME Automotive Program
Last update: January 14, 2025 | Active development