Skip to content

Doku update - #915

Merged
samuel-ibele merged 20 commits into
mainfrom
doku_update
Mar 28, 2026
Merged

Doku update#915
samuel-ibele merged 20 commits into
mainfrom
doku_update

Conversation

@simmatz

@simmatz simmatz commented Mar 25, 2026

Copy link
Copy Markdown
Collaborator

Description

Updating the documentation

Fixes # (issue)

Type of change

Please delete options that are not relevant.

  • This change requires a documentation update

Does this PR introduce a breaking change?

NO

Most important changes

Documentation updated

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works (might be obsolete with CI later on)
  • New and existing unit tests pass locally with my changes (might be obsolete with CI later on)

Summary by CodeRabbit

  • Documentation
    • Added/expanded docstrings for radar processing, ego‑motion compensation, and motion estimation.
    • Expanded radar horizontal FOV guidance; clarified radar’s role for velocity estimation and optional clustering.
    • Documented compensated-points output topic and new vehicle-speed input.
    • Added Radar Raw Debugger usage and updated checkpoint-loading workflow references.
    • Documented radar→lidar fusion, mapping sensor-origin tracking, and lane-change stop-marker & emergency-publisher behaviors.

@coderabbitai

coderabbitai Bot commented Mar 25, 2026

Copy link
Copy Markdown
Contributor

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds and updates documentation across perception, mapping, control, planning, and deployment; inserts structured docstrings for three radar-node functions (no logic changes); introduces a Radar Raw Debugger doc; expands radar FOV, topics, and radar→lidar velocity-fusion documentation.

Changes

Cohort / File(s) Summary
Radar node code & docs
code/perception/perception/radar_node.py, doc/perception/radar_node.md
Added/expanded docstrings for calculate_point_velocity, _translate_radar_points_back_to_sensor, and _compensate_motion (no behavior change). Doc updates: horizontal FOV set to 130°, clarified per-point velocity with ego-motion compensation, added /paf/hero/Radar/compensated_points output and /carla/hero/Speed input topic.
Radar debugger doc
doc/perception/radar_raw_debugger.md
New document describing a Radar Raw Debugger tool that subscribes to raw sensor_msgs/PointCloud2 topics (/carla/hero/RADAR0, /carla/hero/RADAR1) and prints point/field details for debugging.
Mapping & fusion docs / comments
code/mapping/mapping_common/filter.py, doc/mapping/README.md
Expanded docstrings for RadarPointAssignmentFilter and fuse_radar_velocity_into_lidar_entities describing buffered spatial association and averaged motion assignment; README documents sensor_id and inserts a radar→lidar association stage in the data-flow diagram. No logic changes.
Planning docs
doc/planning/Behavior_tree.md, doc/planning/behaviors/LaneChange.md
Added “Emergency Publisher” section documenting std_msgs/Bool on /paf/<role_name>/emergency. Lane-change docs updated with stop-marker handling, approach/wait/change state clarifications and stop-marker lifecycle.
Control & deployment docs
doc/control/vehicle_controller.md, doc/general/load_checkpoints.md
Controller doc notes main loop sleep (default 0.2s) aligning CARLA frames. Deployment doc updates workflow references to launch_leaderboard.dev.sh and docker-compose.dev.cuda.yml.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

documentation, perception, planning

Suggested reviewers

  • simmatz
  • Johannes1098
  • Ralf524

Poem

🐰 I hopped through docs with whiskers bright,
I widened FOVs and set topics right.
Docstrings snug, a debugger on the prowl,
Radar and lidar now share motion’s howl.
Sniffing signals, I leave a tiny carrot smile. 🥕

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is largely incomplete with minimal detail: it states "Updating the documentation" but provides no specifics on what was updated, why, or which files were affected. Provide specific details about which documentation files were modified and summarize the key changes (e.g., radar FOV, ego-motion compensation, lane-change behavior updates).
Title check ❓ Inconclusive The title "Doku update" is vague and non-descriptive, using an abbreviation (Doku) instead of clear language and not conveying what specific documentation was updated. Replace with a more specific title that describes the main documentation changes, e.g., "Update radar and lane-change documentation with velocity estimation and control improvements."
✅ Passed checks (1 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch doku_update

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@code/perception/perception/radar_node.py`:
- Around line 671-672: Remove trailing spaces and blank lines in the affected
docstrings in perception/radar_node.py that are causing Ruff W291/W293
(specifically the docstring sections that include "Returns:" around the edits).
Edit each docstring so there is no whitespace after the final text line and the
closing triple-quote immediately follows the last non-blank line (no extra blank
lines or trailing spaces), e.g., in the docstrings noted around the "Returns:"
sections; repeat this for the other occurrences referenced (the similar
docstrings at the other noted locations).

In `@doc/general/load_checkpoints.md`:
- Around line 10-13: The doc's route-edit instructions reference editing a
ROUTE= line by fixed line numbers but the launcher script
launch_leaderboard.dev.sh now accepts CLI flags --routes and --routes-subset;
update the steps to instruct users to pass the desired route file or subset via
those flags when invoking launch_leaderboard.dev.sh (e.g., replace steps about
commenting/uncommenting ROUTE lines with guidance to use --routes <path> or
--routes-subset <name>), and mention that docker-compose.dev.cuda.yml should be
composed up afterwards as before.

In `@doc/perception/radar_node.md`:
- Around line 85-89: Update the three bullets to improve grammar and
hyphenation: replace "per point" with "per-point" and rephrase for clarity so
the meaning remains the same — e.g., state that "the average velocity for each
cluster is computed by averaging the per-point velocities," that "radar-measured
velocities must be compensated for ego-vehicle motion to obtain absolute
motion," and that "radar points must be translated into the sensor frame
beforehand"; apply these edits to the existing bullet lines mentioning cluster
velocity, ego vehicles motion, and sensor space to keep technical intent
unchanged.
- Line 108: Update the table entry for the `/carla/hero/Speed` topic to use the
correct message type package: change `sensor_msgs/CarlaSpeedometer` to
`carla_msgs/CarlaSpeedometer` so it matches the node import/subscription
(`carla_msgs.msg.CarlaSpeedometer`); ensure the table row for
`/carla/hero/Speed` reflects this exact string.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: e07ffe07-aee9-4da8-9359-816a0c9914c9

📥 Commits

Reviewing files that changed from the base of the PR and between 479ed41 and 81e6c18.

📒 Files selected for processing (4)
  • code/perception/perception/radar_node.py
  • doc/control/vehicle_controller.md
  • doc/general/load_checkpoints.md
  • doc/perception/radar_node.md

Comment thread code/perception/perception/radar_node.py Outdated
Comment thread doc/general/load_checkpoints.md Outdated
Comment thread doc/perception/radar_node.md Outdated
Comment thread doc/perception/radar_node.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (2)
doc/perception/radar_node.md (2)

116-116: ⚠️ Potential issue | 🟠 Major

/carla/hero/Speed message type package is still incorrect.

Line 116 should use carla_msgs/CarlaSpeedometer, not sensor_msgs/CarlaSpeedometer, to match the node implementation/subscription type.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@doc/perception/radar_node.md` at line 116, Update the table entry for the
`/carla/hero/Speed` topic so the message type matches the node subscription:
replace `sensor_msgs/CarlaSpeedometer` with `carla_msgs/CarlaSpeedometer` in the
markdown row describing `/carla/hero/Speed` to reflect the actual subscribed
message type used by the node.

85-89: ⚠️ Potential issue | 🟡 Minor

Please fix cluster-velocity wording and hyphenation.

Line 85 still has awkward phrasing (“calculated by calculation…”) and missing hyphenation (“per-point”, “ego-vehicle”). This reduces clarity in a key algorithm description.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@doc/perception/radar_node.md` around lines 85 - 89, Rewrite the awkward
sentence starting "The average velocity for each cluster is calculated by
calculation of per point velocity..." to a clear, concise phrase (e.g., "The
average velocity for each cluster is computed by first calculating per-point
velocities and then averaging them per cluster"), and update hyphenation for
"per-point" and "ego-vehicle" throughout the paragraph (also ensure "sensor
space" remains unchanged); locate and edit the sentence in the same paragraph
that begins "The average velocity for each cluster..." in
doc/perception/radar_node.md.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@doc/perception/radar_node.md`:
- Around line 102-109: The wording in the "4.1 Usage for Cross Traffic
Detection" section uses inconsistent compound-word hyphenation; update
occurrences of "cross traffic" and "fast approaching" to the hyphenated forms
"cross-traffic" and "fast-approaching" for consistency (e.g., in the paragraph
under the "4.1 Usage for Cross Traffic Detection" header and the referenced line
~135); search for those phrases in this markdown and replace them so the
document consistently uses "cross-traffic" and "fast-approaching".

---

Duplicate comments:
In `@doc/perception/radar_node.md`:
- Line 116: Update the table entry for the `/carla/hero/Speed` topic so the
message type matches the node subscription: replace
`sensor_msgs/CarlaSpeedometer` with `carla_msgs/CarlaSpeedometer` in the
markdown row describing `/carla/hero/Speed` to reflect the actual subscribed
message type used by the node.
- Around line 85-89: Rewrite the awkward sentence starting "The average velocity
for each cluster is calculated by calculation of per point velocity..." to a
clear, concise phrase (e.g., "The average velocity for each cluster is computed
by first calculating per-point velocities and then averaging them per cluster"),
and update hyphenation for "per-point" and "ego-vehicle" throughout the
paragraph (also ensure "sensor space" remains unchanged); locate and edit the
sentence in the same paragraph that begins "The average velocity for each
cluster..." in doc/perception/radar_node.md.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 03ab0457-9b0d-4f64-89b2-f907686e6cae

📥 Commits

Reviewing files that changed from the base of the PR and between 81e6c18 and f727841.

⛔ Files ignored due to path filters (1)
  • doc/mapping/generated/mapping_common/map.md is excluded by !**/generated/**
📒 Files selected for processing (3)
  • doc/perception/radar_node.md
  • doc/perception/radar_raw_debugger.md
  • doc/planning/Behavior_tree.md
✅ Files skipped from review due to trivial changes (2)
  • doc/planning/Behavior_tree.md
  • doc/perception/radar_raw_debugger.md

Comment thread doc/perception/radar_node.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

♻️ Duplicate comments (2)
doc/perception/radar_node.md (2)

108-110: ⚠️ Potential issue | 🟡 Minor

Keep cross-traffic wording hyphenated consistently.

Please consistently use cross-traffic and fast-approaching in these sections.

Also applies to: 148-148

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@doc/perception/radar_node.md` around lines 108 - 110, Replace all occurrences
of the unhyphenated phrases with the hyphenated forms: change "cross traffic" to
"cross-traffic" and "fast approaching" to "fast-approaching" throughout the
document (including the other instance noted around the later paragraph),
ensuring consistent wording in the sentences that mention cross-traffic
detection and measured velocity for fast-approaching vehicles.

128-128: ⚠️ Potential issue | 🟠 Major

Correct /carla/hero/Speed message type package in docs.

Line 128 still documents sensor_msgs/CarlaSpeedometer; this should match the node usage and be carla_msgs/CarlaSpeedometer.

#!/bin/bash
# Verify actual message package used by radar node for /carla/hero/Speed.
# Expected: imports/subscription reference carla_msgs.msg.CarlaSpeedometer.
rg -n -C3 'CarlaSpeedometer|/carla/hero/Speed|create_subscription\(' code/perception/perception/radar_node.py
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@doc/perception/radar_node.md` at line 128, Docs list the message type for
/carla/hero/Speed as sensor_msgs/CarlaSpeedometer but the radar node actually
uses carla_msgs.CarlaSpeedometer; update the documentation entry in
doc/perception/radar_node.md to use carla_msgs/CarlaSpeedometer so it matches
the node subscription. Search the node code (radar_node.py) for
create_subscription or imports referencing carla_msgs.msg.CarlaSpeedometer to
confirm exact symbol names and update the table cell from
sensor_msgs/CarlaSpeedometer to carla_msgs/CarlaSpeedometer accordingly.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@code/mapping/mapping_common/filter.py`:
- Line 554: Wrap the overlong docstring lines (the line containing
"classification_threshold: minimum velocity magnitude to consider a radar point
as dynamic" and the similar long line at line 578) in mapping_common/filter.py
so they comply with Ruff's max line length; locate the docstring in the relevant
class/function in filter.py and break the long descriptions into multiple
shorter lines (or sentences) inside the existing triple-quoted docstring,
preserving punctuation and indentation so the docstring semantics remain
unchanged.

In `@doc/mapping/README.md`:
- Around line 51-53: Update the wording in the README paragraph to use
compound-word hyphenation for consistency: replace "cross traffic" with
"cross-traffic" and "fast moving" with "fast-moving" in the intersection-related
traffic checks description so the sentence reads that static objects should not
block the decision process, but fast-moving traffic must still be detected
reliably.

---

Duplicate comments:
In `@doc/perception/radar_node.md`:
- Around line 108-110: Replace all occurrences of the unhyphenated phrases with
the hyphenated forms: change "cross traffic" to "cross-traffic" and "fast
approaching" to "fast-approaching" throughout the document (including the other
instance noted around the later paragraph), ensuring consistent wording in the
sentences that mention cross-traffic detection and measured velocity for
fast-approaching vehicles.
- Line 128: Docs list the message type for /carla/hero/Speed as
sensor_msgs/CarlaSpeedometer but the radar node actually uses
carla_msgs.CarlaSpeedometer; update the documentation entry in
doc/perception/radar_node.md to use carla_msgs/CarlaSpeedometer so it matches
the node subscription. Search the node code (radar_node.py) for
create_subscription or imports referencing carla_msgs.msg.CarlaSpeedometer to
confirm exact symbol names and update the table cell from
sensor_msgs/CarlaSpeedometer to carla_msgs/CarlaSpeedometer accordingly.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: c5fab512-9188-4d22-82d0-c05b47e06ae9

📥 Commits

Reviewing files that changed from the base of the PR and between f727841 and 48419bb.

📒 Files selected for processing (3)
  • code/mapping/mapping_common/filter.py
  • doc/mapping/README.md
  • doc/perception/radar_node.md

Comment thread code/mapping/mapping_common/filter.py Outdated
Comment thread doc/mapping/README.md
Comment thread doc/perception/radar_node.md
Comment thread doc/perception/radar_node.md Outdated

Radar data is also used to support cross traffic detection at intersections.

In particular, the measured velocity information allows reliable detection of fast approaching vehicles from the side. This improves decision-making in intersection scenarios, where dynamic objects are more relevant than purely static occupancy.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe note that the radar data is not responsible for detecting any objects (if clustering is deactivated as per default), but just to assign motion data to existing detected objects (primarily lidar, vision), the radar node alone however cannot detect objects and points alone are not being used, only if they were able to be assigned to objects.

Comment thread doc/mapping/README.md
Comment thread doc/general/load_checkpoints.md Outdated
samuel-ibele and others added 7 commits March 28, 2026 11:48
Updated instructions for loading checkpoints to replace the standard leaderboard route instead of commenting it out.
Updated the message type for the Speed topic from sensor_msgs/CarlaSpeedometer to carla_msgs/CarlaSpeedometer.
Added disclaimer about angular velocity not being considered in motion calculations.
Corrected the numbering of steps in the load_checkpoints.md file.
@simmatz
simmatz requested a review from simoooong March 28, 2026 11:47
Comment thread doc/mapping/README.md

@simoooong simoooong left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@samuel-ibele
samuel-ibele merged commit 6340f07 into main Mar 28, 2026
4 checks passed
@samuel-ibele
samuel-ibele deleted the doku_update branch March 28, 2026 13:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants