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

Add RViz research #400

Merged
merged 2 commits into from
Oct 31, 2024
Merged

Add RViz research #400

merged 2 commits into from
Oct 31, 2024

Conversation

Zelberor
Copy link
Collaborator

@Zelberor Zelberor commented Oct 31, 2024

Description

Adds research about RViz to doc/research/paf24/general/rviz.md.
It contains information on how to use RViz and how it is integrated into the project.

Fixes #378

Type of change

  • Research

Does this PR introduce a breaking change?

No, just research

Most important changes

The one file

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 guide on using RViz, detailing its functionalities and configuration options for enhanced user experience in visualizing real-time sensor data.

@Zelberor Zelberor linked an issue Oct 31, 2024 that may be closed by this pull request
Copy link
Contributor

coderabbitai bot commented Oct 31, 2024

Walkthrough

A new document, rviz.md, has been added to the repository, providing a detailed guide on using RViz, a 3D visualizer for the Robot Operating System (ROS). The document covers various aspects of RViz, including an overview of its functionality, management of data displays, configuration settings, and sources for further information.

Changes

File Path Change Summary
doc/research/paf24/general/rviz.md New document created providing a comprehensive guide on RViz, including sections on overview, displays panel, configuration, and sources.

Assessment against linked issues

Objective Addressed Explanation
List of all currently visualized sensor outputs (378)
Rough overview of how to add a sensor visualization (378)

Possibly related PRs

  • Add a list of external help and research documents #388: The addition of the "PAF24 Research" section in the README.md file is related to the new rviz.md document as both contribute to the documentation of the PAF24 research area, enhancing user understanding of the project's resources and tools.

Suggested labels

documentation

Suggested reviewers

  • JulianTrommer

Poem

🐰 In the world of ROS, we now can see,
With RViz's guide, it's clear as can be!
From sensors to displays, a visual delight,
Hop in and explore, everything feels right!
So read through the doc, let knowledge abound,
In the garden of data, new insights are found! 🌼


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 (4)
doc/research/paf24/general/rviz.md (4)

21-21: Fix comma placement in the sentence.

Add a comma after "for example" to improve readability.

-The Visualizer always has a 3D View panel in the middle. This is where all 3D data, from for example lidar and radar sensors, is shown.
+The Visualizer always has a 3D View panel in the middle. This is where all 3D data, from, for example, lidar and radar sensors, is shown.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~21-~21: A comma might be missing here.
Context: ...le. This is where all 3D data, from for example lidar and radar sensors, is shown. - Th...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


28-28: Add missing preposition "of" in the sentence.

-The *Displays* panel contains a list all the currently visualized data-displays and allows changing their settings and visibility.
+The *Displays* panel contains a list of all the currently visualized data-displays and allows changing their settings and visibility.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~28-~28: Possible missing preposition found.
Context: ...l The Displays panel contains a list all the currently visualized data-displays ...

(AI_HYDRA_LEO_MISSING_OF)


42-42: Fix comma placement in multiple sentences.

Add missing commas to improve readability:

-Depending on the type there are different settings available for the display.
+Depending on the type, there are different settings available for the display.

-Shows an image from a camera. Allows overlaying other data on top of the image including *Path* and *PointCloud2* (*Visibility* setting)
+Shows an image from a camera. Allows overlaying other data on top of the image, including *Path* and *PointCloud2* (*Visibility* setting)

Also applies to: 49-49

🧰 Tools
🪛 LanguageTool

[uncategorized] ~42-~42: A comma might be missing here.
Context: ...pes that can be added. Depending on the type there are different settings available ...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


74-78: Consider adding more ROS-specific documentation links.

To enhance the resources section, consider adding:

  • ROS sensor message documentation
  • RViz plugin development guide
  • ROS visualization tutorials
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 8e8f9a1 and 5a16637.

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

[uncategorized] ~21-~21: A comma might be missing here.
Context: ...le. This is where all 3D data, from for example lidar and radar sensors, is shown. - Th...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[uncategorized] ~28-~28: Possible missing preposition found.
Context: ...l The Displays panel contains a list all the currently visualized data-displays ...

(AI_HYDRA_LEO_MISSING_OF)


[uncategorized] ~42-~42: A comma might be missing here.
Context: ...pes that can be added. Depending on the type there are different settings available ...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[uncategorized] ~49-~49: Possible missing comma found.
Context: ...ows overlaying other data on top of the image including Path and PointCloud2 (*Vi...

(AI_HYDRA_LEO_MISSING_COMMA)

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

1-78: Document needs expansion to fully address issue #378 requirements.

While the document provides a good overview of RViz, it doesn't fully address the key requirements from issue #378:

  1. Missing a comprehensive list of currently visualized sensors
  2. Lacking detailed guidance on adding new sensor visualizations
  3. No specific examples of sensor configuration settings

Consider adding:

  • A table listing all currently visualized sensors with their topics and display types
  • Step-by-step instructions for adding new sensor visualizations
  • Configuration examples for different sensor types

Let's verify the current sensor setup:

#!/bin/bash
# Find all launch files that might contain sensor configurations
fd -e launch . code/agent/launch --exec rg -l "sensor|camera|lidar|radar" {}

Would you like help generating the additional sections to address these requirements?

🧰 Tools
🪛 LanguageTool

[uncategorized] ~21-~21: A comma might be missing here.
Context: ...le. This is where all 3D data, from for example lidar and radar sensors, is shown. - Th...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[uncategorized] ~28-~28: Possible missing preposition found.
Context: ...l The Displays panel contains a list all the currently visualized data-displays ...

(AI_HYDRA_LEO_MISSING_OF)


[uncategorized] ~42-~42: A comma might be missing here.
Context: ...pes that can be added. Depending on the type there are different settings available ...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[uncategorized] ~49-~49: Possible missing comma found.
Context: ...ows overlaying other data on top of the image including Path and PointCloud2 (*Vi...

(AI_HYDRA_LEO_MISSING_COMMA)

Comment on lines +69 to +72
RViz can be fully configured with the GUI. The settings may then be saved with *File->Save Config*.

The default configuration file is located at [code/agent/config/rviz_config.rviz](../../../../code/agent/config/rviz_config.rviz)
and this path is defined in [code/agent/launch/agent.launch](../../../../code/agent/launch/agent.launch). It can be changed to use a different default config when running the leaderboard.
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Consider adding sensor-specific configuration examples.

To better support the goal of documenting sensor visualization, consider adding:

  • Example configuration snippets for common sensors
  • Default settings for different sensor types
  • Troubleshooting tips for sensor visualization issues

Comment on lines +1 to +14
# Research about RViz

**Summary:** This page contains information on how to use RViz and how it is integrated into the project.

- [General overview](#general-overview)
- [Displays panel](#displays-panel)
- [Display types](#display-types)
- [Camera](#camera)
- [Image](#image)
- [PointCloud(2)](#pointcloud2)
- [Path](#path)
- [RViz configuration](#rviz-configuration)
- [Sources](#sources)

Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Codebase verification

Add sections for currently used sensors and visualization setup

Based on the documentation analysis, the review comment is valid and can be enhanced. The current sensor setup includes:

  • Cameras (Center, Back, Left, Right) visualized through the Vision Node
    • Shows object detection with bounding boxes
    • Displays distance calculations
  • LIDAR sensor integration for depth information
  • Traffic light detection camera

Suggested additions to the document structure:

  • Add a "Current Sensor Setup" section after the general overview
    • List active camera configurations
    • LIDAR integration
    • Traffic light detection
  • Add "Adding New Sensor Visualizations" section before RViz configuration
    • Reference the launch file configuration process
    • Document the RViz topic subscription process
🔗 Analysis chain

Consider expanding the document structure to fully address issue requirements.

While the current structure provides a good overview of RViz, consider adding these sections to fulfill the requirements from issue #378:

  • List of currently visualized sensors
  • Step-by-step guide for adding new sensor visualizations

Let's verify the current sensor visualizations:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Find all sensor-related RViz configurations
rg -l "sensor|camera|lidar|radar" code/agent/config/rviz_config.rviz

Length of output: 80


Script:

#!/bin/bash
# Let's try a broader search for RViz configurations and sensor-related files
fd -e rviz . --exec rg -l "sensor|camera|lidar|radar" {}

# Also search for launch files that might reference sensors
fd -e launch . --exec rg -l "sensor|camera|lidar|radar" {}

# Search for any Python files that might handle sensor visualization
fd -e py . --exec rg -l "sensor|camera|lidar|radar" {}

# Look for any documentation about sensors
fd . -e md --exec rg -l "sensor|camera|lidar|radar" {}

Length of output: 2671


Script:

#!/bin/bash
# Let's examine the content of perception-related documentation to understand current sensor setup
cat ./doc/perception/README.md

# Check vision node documentation for camera sensor details
cat ./doc/perception/vision_node.md

# Check lidar distance documentation
cat ./doc/perception/lidar_distance_utility.md

# Examine the perception launch file for sensor configurations
cat ./code/perception/launch/perception.launch

Length of output: 12494

Copy link
Collaborator

@seitzseb seitzseb left a comment

Choose a reason for hiding this comment

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

Useful Overview over the rviz Panel.

@seitzseb seitzseb merged commit 8c968fb into main Oct 31, 2024
4 checks passed
@seitzseb seitzseb added this to the Sprint 00 2024-11-04 milestone Nov 3, 2024
@Zelberor Zelberor deleted the 378-document-rviz branch November 15, 2024 15:57
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.

Document RViz
2 participants