autowarefoundation / autoware

Autoware - the world's leading open-source software project for autonomous driving
https://www.autoware.org/
Apache License 2.0
8.59k stars 2.88k forks source link

Enhancing Autoware Visualization with QT5CT for Unified and Improved Aesthetics #4534

Open KhalilSelyan opened 3 months ago

KhalilSelyan commented 3 months ago

Checklist

Description

The task aims to integrate QT5CT (Qt5 Configuration Tool) with Rviz2, a core visualization tool used in Autoware for the development and deployment of autonomous driving systems. This integration will enable customizable styling options, allowing for a more unified and visually appealing interface across Autoware applications, but also personalized customization for users.

Purpose

The primary goal is to improve the user experience within the Autoware ecosystem by providing enhanced visual customization capabilities for Rviz2. This effort is directed towards achieving a standardized interface that aligns with Autoware's vision for a cohesive user environment. Enhanced aesthetics and customizability will not only benefit current users but also help attract new contributors and adopters by demonstrating a commitment to quality and user-centric design.

Possible approaches

  1. Documentation: Develop comprehensive documentation detailing the process for setting up QT5CT with Rviz2. This includes:
    • Steps to install QT5CT.
    • Instructions for creating and applying custom QSS files.
    • Integration of environment variables within ROS launch files for seamless application of styles.

Detailed Setup Guide: How to Customize Rviz2 with QT5CT and a Dark Mode Theme

  1. Community-Driven Stylesheet Development: Encourage the Autoware community to contribute custom stylesheets, facilitating a diverse range of visual themes tailored to various user preferences.

Definition of done

KhalilSelyan commented 3 months ago

This is what the current/old look of rviz using autoware is:

Screenshot_from_2024-03-06_14-08-25

This would be the new look if everything works correctly through the guide in the GIST

Screenshot from 2024-03-08 15-05-06

doganulus commented 3 months ago

It would be great if you design the tool with containers in mind.

An example compose.yml could look like this once the tool is containerized:

# compose.yml
services:
  autoware:
    ...
  simulator:
    ...
  rviz:
    image: ghcr.io/autowarefoundation/autoware-rviz:latest
    command: ros2 launch /path/to/launch_file.xml
    environment:
      - MY_AUTOWARE_RVIZ_SETTING=true
      - ANOTHER_AUTOWARE_RVIZ_SETTING=false
    volumes:
      - ./my_beautiful_stylesheet.css:/etc/autoware/rviz/stylesheet.css
      - ./my_rviz_options.yml:/etc/autoware/rviz/rviz.yml # Alternative way to set rviz options
KhalilSelyan commented 2 months ago

img

KhalilSelyan commented 1 month ago

Image