flowchart TD
Read["Read distance sensor"]:::startNode
D1{"distance_cm < 20?"}:::decisionNode
Stop["Stop motors"]:::stopNode
D2{"distance_cm < 50?"}:::decisionNode
Slow["Slow down"]:::slowNode
Full["Full speed ahead"]:::goNode
Read --> D1
D1 -->|Yes| Stop
D1 -->|No| D2
D2 -->|Yes| Slow
D2 -->|No| Full
Stop --> Read
Slow --> Read
Full --> Read
classDef startNode fill:#42a5f5,stroke:#333,stroke-width:2px,color:#fff,font-size:16px
classDef decisionNode fill:#ffb74d,stroke:#333,stroke-width:2px,color:#000,font-size:16px
classDef stopNode fill:#e53935,stroke:#333,stroke-width:2px,color:#fff,font-size:16px
classDef slowNode fill:#fbc02d,stroke:#333,stroke-width:2px,color:#000,font-size:16px
classDef goNode fill:#43a047,stroke:#333,stroke-width:2px,color:#fff,font-size:16px
linkStyle default stroke:#777,stroke-width:2px,font-size:14px