Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

396 read previous research #403

Merged
merged 8 commits into from
Nov 2, 2024
Merged

396 read previous research #403

merged 8 commits into from
Nov 2, 2024

Conversation

seitzseb
Copy link
Collaborator

@seitzseb seitzseb commented Oct 31, 2024

Description

Summarize the previous research of the groups from paf22 and paf23

Fixes #396

Type of change

  • This change is a documentation update

Does this PR introduce a breaking change?

No.

Most important changes

Changes file /doc/research/paf24/general/old_research_overview.md

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

  • New Features

    • Introduced a comprehensive overview of past research related to the autonomous vehicle project, enhancing user understanding of foundational methods and advancements.
    • Added detailed sections on Research and Resources, Acting and Control Modules, Planning and Trajectory Generation, State Machine for Decision-Making, and OpenDrive Integration and Navigation Data.
  • Documentation

    • Updated the old_research_overview.md file to include new subsections for better organization and clarity.

Copy link
Contributor

coderabbitai bot commented Oct 31, 2024

Walkthrough

The changes in this pull request involve the enhancement of the old_research_overview.md document, which serves as a comprehensive entry point for previous research related to an autonomous vehicle project. The document has been restructured to include several new sections that summarize key contributions from past groups (PAF22 and PAF23) in areas such as research methodologies, control modules, trajectory generation, decision-making processes, and integration with OpenDrive for navigation data.

Changes

File Path Change Summary
doc/research/paf24/general/old_research_overview.md Added new sections: # Research Summary, ## Research and Resources, ## Acting and Control Modules, ## Planning and Trajectory Generation, ## State Machine for Decision-Making, and ## OpenDrive Integration and Navigation Data.

Assessment against linked issues

Objective Addressed Explanation
Read previous research (#396)

Possibly related PRs

  • Add a list of external help and research documents #388: This PR adds a list of external help and research documents, which may complement the comprehensive overview of previous research in the main PR by providing additional resources and context for the autonomous vehicle project.
  • get current state and document it #363 #399: This PR introduces a document summarizing the current state of the simulation, which could relate to the decision-making and control modules discussed in the main PR, as it highlights operational challenges and areas for improvement in the vehicle's behavior.
  • Add RViz research #400: The new rviz.md file enhances the documentation related to RViz, which is relevant for visualizing data from the autonomous vehicle project discussed in old_research_overview.md.
  • 360 document and review systems architecture of autonomous driving platform #408: The updates to the architecture documentation provide a broader context for the components and interactions within the autonomous driving platform, which is essential for understanding the research and development efforts outlined in old_research_overview.md.

Suggested labels

documentation

Suggested reviewers

  • RoyaLxPole
  • victor-42

Poem

In the realm of research, we hop and we play,
With insights from PAFs, guiding our way.
New sections arise, like carrots in bloom,
Enhancing our knowledge, dispelling the gloom.
For vehicles smart, on paths they will glide,
Thanks to the wisdom, we now can abide! 🐇✨


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Outside diff range and nitpick comments (10)
doc/research/paf24/general/old_research_overview.md (5)

15-18: Improve content formatting

The content is currently split across lines in a way that breaks readability. Consider reformatting these paragraphs to maintain consistent line breaks:

-behavior for more fluid lane-change maneuvers, optimizing control responses to avoid obstacles and maintain lane positioning during highway merging and overtaking scenarios.
-The resources also include CARLA-specific tools such as the CARLA Leaderboard and ROS Bridge integration, which link CARLA's simulation environment to the Robot Operating System (ROS). Detailed references to CARLA's sensor suite are provided, covering RGB cameras, LIDAR, radar, GNSS, and IMU
-sensors essential for perception and control.
+behavior for more fluid lane-change maneuvers, optimizing control responses to avoid obstacles and maintain lane positioning during highway merging and overtaking scenarios.
+
+The resources also include CARLA-specific tools such as the CARLA Leaderboard and ROS Bridge integration, which link CARLA's simulation environment to the Robot Operating System (ROS). Detailed references to CARLA's sensor suite are provided, covering RGB cameras, LIDAR, radar, GNSS, and IMU sensors essential for perception and control.

24-27: Maintain consistent paragraph formatting

Similar to the previous section, improve readability by avoiding line breaks within paragraphs:

-other controls in hazardous situations.
-**PAF23 Contributions**: Introduced refinements in lateral control, including the adaptive Stanley controller, which adjusts steering sensitivity based on vehicle speed to maintain a smooth trajectory. **PAF23** also optimized the emergency braking logic to respond more quickly to obstacles, with
-improvements in lane-changing safety.
+other controls in hazardous situations.
+
+**PAF23 Contributions**: Introduced refinements in lateral control, including the adaptive Stanley controller, which adjusts steering sensitivity based on vehicle speed to maintain a smooth trajectory. **PAF23** also optimized the emergency braking logic to respond more quickly to obstacles, with improvements in lane-changing safety.

35-35: Fix inconsistent line spacing

Add proper line break before the paragraph:

-Local planning includes **trajectory tracking** using Pure Pursuit and Stanley controllers to maintain a steady path.
+
+Local planning includes **trajectory tracking** using Pure Pursuit and Stanley controllers to maintain a steady path.

46-47: Maintain consistent paragraph formatting

Improve readability by reformatting the split content:

-The **intersection state machine** now incorporates detailed behaviors for handling left turns, straight passes, and right turns, considering pedestrian zones and cross-traffic. **PAF23** also introduced an adaptive lane-change state,
-which calculates safety based on vehicle speed, distance to adjacent vehicles, and road type.
+The **intersection state machine** now incorporates detailed behaviors for handling left turns, straight passes, and right turns, considering pedestrian zones and cross-traffic. **PAF23** also introduced an adaptive lane-change state, which calculates safety based on vehicle speed, distance to adjacent vehicles, and road type.

53-56: Fix paragraph formatting

Maintain consistent formatting throughout:

-ensuring the vehicle receives consistent updates on its location relative to the route, intersections, and nearby obstacles.
-**Navigation Data Structure**: The system uses navigation data points, including **GPS coordinates, world coordinates, and high-level route instructions** (e.g., turn left, change lanes) to guide the vehicle. Each point is matched with a **road option command**,
-instructing the vehicle on how to proceed at specific waypoints.
+ensuring the vehicle receives consistent updates on its location relative to the route, intersections, and nearby obstacles.
+
+**Navigation Data Structure**: The system uses navigation data points, including **GPS coordinates, world coordinates, and high-level route instructions** (e.g., turn left, change lanes) to guide the vehicle. Each point is matched with a **road option command**, instructing the vehicle on how to proceed at specific waypoints.
doc/research/paf24/old_research_overview.md (5)

15-16: Improve readability: Merge split sentence

The sentence about PAF23 is split across lines, making it harder to read. Consider combining these lines.

-refined vehicle
-behavior for more fluid lane-change maneuvers
+refined vehicle behavior for more fluid lane-change maneuvers

24-25: Improve readability: Fix line wrapping

The sentence about emergency braking logic is split across lines. Consider keeping complete sentences together.

-other controls in hazardous situations.
+other controls in hazardous situations.

35-35: Fix formatting: Remove extra line break

The line about trajectory tracking should be part of the previous paragraph about Local Planning.

-Local planning includes **trajectory tracking** using Pure Pursuit and Stanley controllers to maintain a steady path.
+Local planning includes **trajectory tracking** using Pure Pursuit and Stanley controllers to maintain a steady path.

46-47: Maintain consistent formatting

The sentence about the intersection state machine is split across lines. Consider keeping related content together for better readability.

-The **intersection state machine** now incorporates detailed behaviors for handling left turns, straight passes, and right turns, considering pedestrian zones and cross-traffic. **PAF23** also introduced an adaptive lane-change state,
-which calculates safety based on vehicle speed, distance to adjacent vehicles, and road type.
+The **intersection state machine** now incorporates detailed behaviors for handling left turns, straight passes, and right turns, considering pedestrian zones and cross-traffic. **PAF23** also introduced an adaptive lane-change state, which calculates safety based on vehicle speed, distance to adjacent vehicles, and road type.

1-56: Excellent research summary with minor improvements needed

The documentation successfully achieves its goal of summarizing previous research from PAF22 and PAF23, which directly addresses the PR objective of avoiding duplicate research efforts. The technical content is comprehensive and well-organized.

Consider implementing the suggested formatting improvements for better readability, but otherwise, this is a valuable contribution to the project's documentation.

To maintain this documentation's value:

  1. Consider adding a "Last Updated" date
  2. Include links to specific implementation examples where available
  3. Consider adding a section about lessons learned or known limitations
🧰 Tools
🪛 LanguageTool

[grammar] ~3-~3: The possessive apostrophe may be missing.
Context: ...this file to make it an entry point for this years project. - [Research and Resources...

(THIS_NNS)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 8c968fb and 72bdd70.

📒 Files selected for processing (2)
  • doc/research/paf24/general/old_research_overview.md (1 hunks)
  • doc/research/paf24/old_research_overview.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
doc/research/paf24/general/old_research_overview.md

[grammar] ~3-~3: The possessive apostrophe may be missing.
Context: ...this file to make it an entry point for this years project. - [Research and Resources...

(THIS_NNS)

doc/research/paf24/old_research_overview.md

[grammar] ~3-~3: The possessive apostrophe may be missing.
Context: ...this file to make it an entry point for this years project. - [Research and Resources...

(THIS_NNS)

🔇 Additional comments (2)
doc/research/paf24/general/old_research_overview.md (1)

1-56: Excellent documentation of previous research!

The document provides a comprehensive overview of previous research from PAF22 and PAF23, effectively meeting the PR objective of avoiding research duplication. The content is well-structured, technically accurate, and provides valuable insights for the current project team.

The technical content covers all major aspects:

  • Research foundations and resources
  • Control systems and algorithms
  • Planning and trajectory generation
  • State machine implementation
  • Infrastructure integration

This will serve as an excellent entry point for understanding the project's research history.

🧰 Tools
🪛 LanguageTool

[grammar] ~3-~3: The possessive apostrophe may be missing.
Context: ...this file to make it an entry point for this years project. - [Research and Resources...

(THIS_NNS)

doc/research/paf24/old_research_overview.md (1)

49-56: Well-documented OpenDrive integration section

The section provides clear and comprehensive information about OpenDrive integration and navigation data structure. The technical details are accurate and well-organized.

@@ -0,0 +1,56 @@
# Research Summary

**Summary:** The research of the previous groups is condensed into this file to make it an entry point for this years project.
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix grammar: Add possessive apostrophe

Add an apostrophe to make "years" possessive:

-**Summary:** The research of the previous groups is condensed into this file to make it an entry point for this years project.
+**Summary:** The research of the previous groups is condensed into this file to make it an entry point for this year's project.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
**Summary:** The research of the previous groups is condensed into this file to make it an entry point for this years project.
**Summary:** The research of the previous groups is condensed into this file to make it an entry point for this year's project.
🧰 Tools
🪛 LanguageTool

[grammar] ~3-~3: The possessive apostrophe may be missing.
Context: ...this file to make it an entry point for this years project. - [Research and Resources...

(THIS_NNS)

@@ -0,0 +1,56 @@
# Research Summary

**Summary:** The research of the previous groups is condensed into this file to make it an entry point for this years project.
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix grammar: Add possessive apostrophe

Change "this years project" to "this year's project" to correct the possessive form.

-**Summary:** The research of the previous groups is condensed into this file to make it an entry point for this years project.
+**Summary:** The research of the previous groups is condensed into this file to make it an entry point for this year's project.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
**Summary:** The research of the previous groups is condensed into this file to make it an entry point for this years project.
**Summary:** The research of the previous groups is condensed into this file to make it an entry point for this year's project.
🧰 Tools
🪛 LanguageTool

[grammar] ~3-~3: The possessive apostrophe may be missing.
Context: ...this file to make it an entry point for this years project. - [Research and Resources...

(THIS_NNS)

Copy link
Collaborator

@RoyaLxPole RoyaLxPole left a comment

Choose a reason for hiding this comment

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

I think the summary gives a good overview of what has already been implemented in which year.
I have the following question: Why do you only use the links from paf22?
And I have another suggestion: You could also link your summary to Ludwig's work, which provides an overview of the system.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (4)
doc/research/paf24/general/old_research_overview.md (4)

15-18: Fix formatting issues for better readability.

There are two formatting issues to address:

  1. The sentence about PAF23 is split across lines 15-16
  2. The sentence about CARLA's sensor suite is split awkwardly with "and IMU" on a separate line

Suggested fix:

- behavior for more fluid lane-change maneuvers, optimizing control responses to avoid obstacles and maintain lane positioning during highway merging and overtaking scenarios.
- The resources also include CARLA-specific tools such as the CARLA Leaderboard and ROS Bridge integration, which link CARLA's simulation environment to the Robot Operating System (ROS). Detailed references to CARLA's sensor suite are provided, covering RGB cameras, LIDAR, radar, GNSS, and IMU
- sensors essential for perception and control.
+ behavior for more fluid lane-change maneuvers, optimizing control responses to avoid obstacles and maintain lane positioning during highway merging and overtaking scenarios.
+ 
+ The resources also include CARLA-specific tools such as the CARLA Leaderboard and ROS Bridge integration, which link CARLA's simulation environment to the Robot Operating System (ROS). Detailed references to CARLA's sensor suite are provided, covering RGB cameras, LIDAR, radar, GNSS, and IMU sensors essential for perception and control.

24-25: Fix line break in emergency braking description.

While the technical content is excellent, there's a formatting issue where the emergency braking description is split across lines.

- other controls in hazardous situations.
+ other controls in hazardous situations.

34-35: Add line break before trajectory tracking description.

The technical content is accurate, but readability can be improved by separating the trajectory tracking information onto a new line.

- Local planning includes **trajectory tracking** using Pure Pursuit and Stanley controllers to maintain a steady path.
+ 
+ Local planning includes **trajectory tracking** using Pure Pursuit and Stanley controllers to maintain a steady path.

46-47: Fix line break in intersection state machine description.

The technical content about the state machine is comprehensive, but there's a formatting issue where the description is split across lines.

Combine the split content into a single paragraph for better readability.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 72bdd70 and 852ad10.

📒 Files selected for processing (1)
  • doc/research/paf24/general/old_research_overview.md (1 hunks)
🔇 Additional comments (3)
doc/research/paf24/general/old_research_overview.md (3)

1-10: LGTM! Well-structured overview section.

The header section provides clear navigation and purpose, with proper markdown formatting.


51-56: LGTM! Clear explanation of OpenDrive integration.

The section provides a comprehensive overview of OpenDrive integration and navigation data structure.


1-56: Excellent documentation that meets the PR objectives.

This documentation successfully consolidates previous research from PAF22 and PAF23, providing a valuable entry point for the PAF24 project. The technical content is accurate and well-organized, covering all major aspects of the autonomous vehicle project.

While there are some minor formatting issues noted in previous comments, the overall structure and content quality is high.

Let's verify the completeness of research coverage:

✅ Verification successful

Documentation coverage is comprehensive and accurate

After reviewing the research documents from PAF22 and PAF23, I can confirm that the research overview document successfully covers all major aspects and accurately represents the previous work. The document includes:

  • All key perception components from PAF21/22 (traffic light detection, obstacle detection)
  • Complete planning architecture from PAF22 (preplanning, decision making, local path planning)
  • Various planning approaches researched in PAF23 (Waypoint, Freenet, RRT*, Hybrid A*)
  • All prioritized driving aspects from the requirements document
  • Accurate representation of both PAF22 and PAF23 contributions to each module

The consolidation maintains technical accuracy while providing a clear entry point for PAF24.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check if all major research topics from PAF22 and PAF23 are covered

# Test: Look for any research-related files in PAF22 and PAF23 folders that might contain additional topics
fd -e md -e txt research paf22 paf23

Length of output: 183


Script:

#!/bin/bash
# Let's try searching from the repository root with a more flexible pattern
fd -t f "research|overview" "doc"

# Also search for any documentation mentioning PAF22/PAF23 research
rg -i "paf2[23].*research|research.*paf2[23]" "doc" -A 2 -B 2

Length of output: 2684


Script:

#!/bin/bash
# Let's check the content of the found research documents to verify coverage
cat doc/research/paf23/perception/Research_PAF21-Perception.md
cat doc/research/paf23/planning/Research_Pylot_Planning.md
cat doc/research/paf23/planning/PlanningPaf22.md

# Also check if there are any other important research topics in the requirements
cat doc/research/paf22/requirements/requirements.md

Length of output: 8300

@seitzseb
Copy link
Collaborator Author

Alright @RoyaLxPole, this should incorporate the points from your review.
I decided to get rid of the excessive links altogether since the files or rather folder i hinted at are not really hard to find.
Yes you are right, issue #394 might be related to this issue

@victor-42
Copy link
Contributor

How come the behavior tree is not mentioned? (I think it's changed by the group PF23, replacing or changing from PF22 state machines)

Copy link
Collaborator

@RoyaLxPole RoyaLxPole left a comment

Choose a reason for hiding this comment

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

Looks good for me👍

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (3)
doc/research/paf24/general/old_research_overview.md (3)

15-16: Improve readability by combining split sentence.

The sentence about PAF23's vehicle behavior is split across lines, which might affect rendering in some markdown viewers.

-- behavior for more fluid lane-change maneuvers, optimizing control responses to avoid obstacles and maintain lane positioning during highway merging and overtaking scenarios.
+behavior for more fluid lane-change maneuvers, optimizing control responses to avoid obstacles and maintain lane positioning during highway merging and overtaking scenarios.

24-25: Improve readability by combining split sentence.

The sentence about PAF22's emergency braking logic is split across lines.

-other controls in hazardous situations.
+other controls in hazardous situations.

47-48: Improve readability by combining split sentence.

The sentence about the intersection state machine is split across lines.

-The **intersection state machine** now incorporates detailed behaviors for handling left turns, straight passes, and right turns, considering pedestrian zones and cross-traffic. **PAF23** also introduced an adaptive lane-change state,
-which calculates safety based on vehicle speed, distance to adjacent vehicles, and road type.
+The **intersection state machine** now incorporates detailed behaviors for handling left turns, straight passes, and right turns, considering pedestrian zones and cross-traffic. **PAF23** also introduced an adaptive lane-change state, which calculates safety based on vehicle speed, distance to adjacent vehicles, and road type.
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 852ad10 and f2afbe1.

📒 Files selected for processing (1)
  • doc/research/paf24/general/old_research_overview.md (1 hunks)
🔇 Additional comments (3)
doc/research/paf24/general/old_research_overview.md (3)

1-10: LGTM! Well-structured document header.

The document header is clear and well-organized with a proper table of contents.


50-57: LGTM! Comprehensive coverage of OpenDrive integration.

The section provides clear and detailed information about the OpenDrive integration and navigation data structure.


37-37: Expand on behavior tree implementation details.

Based on PR comments, the behavior tree implementation by PF23 appears to have replaced or modified PF22's state machines. Consider adding more details about:

  • The specific changes made by PF23
  • The rationale for replacing state machines
  • The impact on the system's decision-making capabilities

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Read previous research
3 participants