Skip to content

Commit a1adf9f

Browse files
authored
docs: pre-release audit — fix documentation drift for v0.1.0 (#7)
- README, overview, architecture: reflect dual-RTOS (Zephyr + FreeRTOS) instead of Zephyr-only descriptions - architecture.rst: add note about platform abstraction layer enabling FreeRTOS backend; remove broken :doc: cross-reference to deleted file - Remove freertos_porting_plan.rst (superseded by the implementation) and clean up all references to it in index.rst and architecture.rst - changelog.rst: add FreeRTOS simulator, platform abstraction layer, network_config split, CI pipeline, and devcontainer image rename
1 parent d9e2465 commit a1adf9f

6 files changed

Lines changed: 36 additions & 179 deletions

File tree

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@
88

99
[![Documentation](https://img.shields.io/badge/docs-latest-brightgreen)](https://autowarefoundation.github.io/autoware-safety-island/)
1010

11-
A standalone Zephyr RTOS application that runs Autoware's trajectory
12-
follower (MPC lateral, PID longitudinal) on an Arm safety-class processor
13-
and exchanges control commands with Autoware over DDS. No changes to the
14-
Autoware codebase are required.
11+
A standalone application that runs Autoware's trajectory follower (MPC
12+
lateral, PID longitudinal) on an Arm safety-class processor and exchanges
13+
control commands with Autoware over DDS. The application runs on **Zephyr
14+
RTOS** (production target) or a **FreeRTOS POSIX simulator** (development
15+
and testing). No changes to the Autoware codebase are required.
1516

1617
### Workflow
1718

documentation/changelog.rst

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,15 @@ New features
3434
- AVH deployment flow via ``avh.py``, using the
3535
``aem8r64-lan9c111`` instance flavor.
3636
- Simplified top-level ``build.sh`` replaces the previous multi-step build.
37+
- Platform abstraction layer (``actuation_module/include/platform/``) with
38+
Zephyr and FreeRTOS backends, keeping controller logic fully shared.
39+
- FreeRTOS POSIX simulator build (``actuation_module/freertos/``) using
40+
FreeRTOS-Kernel V11.1.0, buildable on any Linux host.
41+
- CI pipeline (``build-ci.yml``) verifying both Zephyr (FVP) and FreeRTOS
42+
simulator builds on every pull request and daily.
43+
- Release workflow (``release.yml``) publishing ``zephyr-fvp.elf``,
44+
``zephyr-s32z.elf``, ``actuation_freertos``, and ``sha256sums.txt`` on
45+
every ``v*.*.*`` tag.
3746

3847
Changed
3948
=======
@@ -43,8 +52,12 @@ Changed
4352
application.
4453
- Replaced the ROS 2-based *Message Converter* and *Actuation Player* with
4554
direct DDS communication and integrated control logic.
46-
- The project is now a standalone Zephyr application with Autoware libraries
47-
linked in.
55+
- ``network_config`` refactored from a header-only implementation to a
56+
proper declaration (``include/common/dds/network_config.hpp``) and
57+
Zephyr-only source file (``src/common/dds/network_config.cpp``), guarded
58+
by a compile-time error if included in non-Zephyr builds.
59+
- Devcontainer image moved to
60+
``ghcr.io/autowarefoundation/autoware-safety-island:devcontainer``.
4861

4962
Third-party repositories
5063
========================

documentation/design/architecture.rst

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,12 @@
77
Architecture
88
##############
99

10-
The safety island runs a single Zephyr application that hosts the Autoware
11-
trajectory follower and talks to the main compute over DDS. This page
12-
describes how the pieces fit together at runtime.
10+
The safety island hosts the Autoware trajectory follower and talks to the
11+
main compute over DDS. This page describes how the pieces fit together at
12+
runtime on the Zephyr backend. The controller logic is shared across
13+
backends via a platform abstraction layer
14+
(``actuation_module/include/platform/``); a FreeRTOS POSIX simulator uses
15+
the same core with a different backend under ``include/platform/freertos/``.
1316

1417
************************
1518
Two-domain DDS topology
@@ -95,9 +98,9 @@ hides Zephyr specifics behind small interfaces:
9598
- ``clock/clock.hpp`` — monotonic clock, optional SNTP-backed wall clock.
9699
- ``logger/logger.hpp`` — throttled logging.
97100

98-
This layering is what makes the forward-looking
99-
:doc:`freertos_porting_plan` feasible: replacing the RTOS backend is a
100-
question of swapping these four headers, not rewriting the controller.
101+
This layering means replacing the RTOS backend is a question of swapping
102+
these four headers, not rewriting the controller. The FreeRTOS backend
103+
under ``include/platform/freertos/`` demonstrates this in practice.
101104

102105
****************
103106
Build pipeline

documentation/design/freertos_porting_plan.rst

Lines changed: 0 additions & 165 deletions
This file was deleted.

documentation/design/index.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,3 @@ Runtime design, DDS topic contracts, and forward-looking design work.
1616

1717
architecture
1818
topics
19-
freertos_porting_plan

documentation/overview.rst

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,18 @@
77
Overview
88
##########
99

10-
The Autoware Safety Island is a Zephyr RTOS application that runs Autoware's
10+
The Autoware Safety Island is an actuation module that runs Autoware's
1111
trajectory follower on an Arm safety-class processor. It consumes planning,
1212
localization, and vehicle-state topics from the Autoware main compute, runs
1313
MPC lateral and PID longitudinal control, and publishes control commands back
1414
out over DDS. No changes to the upstream Autoware codebase are required.
1515

16+
The module runs on **Zephyr RTOS** for production hardware targets (FVP,
17+
NXP S32Z). A **FreeRTOS POSIX simulator** build is also available for
18+
development and integration testing on Linux. A platform abstraction layer
19+
(``actuation_module/include/platform/``) keeps the controller logic shared
20+
between both backends.
21+
1622
The main compute and the safety island run on separate DDS domains. A
1723
domain bridge on the main compute forwards the relevant topics between them,
1824
which isolates the real-time controller from the rest of the Autoware graph.

0 commit comments

Comments
 (0)