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