From 72a04b310872b97f8e8afb0cf1f96450a23fd488 Mon Sep 17 00:00:00 2001 From: Jack He <45720415+Jackack@users.noreply.github.com> Date: Fri, 16 Aug 2024 16:48:05 -0700 Subject: [PATCH] added docs directory, ros diagram (#103) * added docs directory, ros diagram * Added steering cmd topic * format --- docs/architecture/node_interactions.md | 64 +++++++++++++++++++++++ docs/work_standard/rostopic_convention.md | 0 2 files changed, 64 insertions(+) create mode 100644 docs/architecture/node_interactions.md create mode 100644 docs/work_standard/rostopic_convention.md diff --git a/docs/architecture/node_interactions.md b/docs/architecture/node_interactions.md new file mode 100644 index 00000000..55d97e4d --- /dev/null +++ b/docs/architecture/node_interactions.md @@ -0,0 +1,64 @@ +# ROS Node Interaction Document +## Scope +The purpose of this file is to descirbe the architecture of the RD25 stack from a ROS node level. This document should be updated whenever any ROS topics are added, removed or modified. + +## Viewing On VSCode +Install `bierner.markdown-mermaid` from the extension marketplace to render the charts in VSCode markdown preview. + +## List of topics +| Topic Name | Type | is custom message | +| ---------- | ----------------------- | ------------------ | +| ego/state | BuggyState | yes | +| other_buggy/state | BuggyState | yes | +| ego/trajectory | BuggyTrajectory | yes | +| ego/steering_cmd | [Float64](https://docs.ros.org/en/melodic/api/std_msgs/html/msg/Float64.html) | no | +| add new topic here | | | + +## ROS Nodes Graph +Auton Loop [Sequence Diagram](https://en.wikipedia.org/wiki/Sequence_diagram#:~:text=A%20sequence%20diagram%20shows%2C%20as,order%20in%20which%20they%20occur.) + +```mermaid +sequenceDiagram +A->>B: "some/topic" +``` + +means A publishes a message of `some/topic` and B receives the message. + +```mermaid +sequenceDiagram + participant I as Ego State Estimator Node + participant P as Planner Node + participant C as Controller Node + participant S as Firmware Comms Node + + box Grey HBK 3DM-GQ7 INS + participant I + end + + box Purple Auton Core + participant P + participant C + end + + box Blue Communication with Sensors, Actuators and Other Buggy + participant S + end + + loop 100hz + I->>P: "ego/state" + I->>C: "ego/state" + end + + loop 10hz + S->>P: "other_buggy/state" + end + + loop 10hz + P->>C: "ego/trajectory" + end + + loop 100hz + C->>S: "ego/steering_cmd" + end +``` + diff --git a/docs/work_standard/rostopic_convention.md b/docs/work_standard/rostopic_convention.md new file mode 100644 index 00000000..e69de29b