autoware icon indicating copy to clipboard operation
autoware copied to clipboard

Modernize the RViz2 overlay interface

Open xmfcx opened this issue 1 year ago • 5 comments

Checklist

  • [X] I've read the contribution guidelines.
  • [X] I've searched other issues and no duplicate issues were found.
  • [X] I've agreed with the maintainers that I can plan this task.

Description

The current RViz2 interface in Autoware is outdated, visually unappealing, and hard to read, particularly the cyan text on a white background. This not only makes it difficult for users to extract crucial information but also creates a negative first impression for new users. Improvements are needed, starting with the 2D overlay.

The existing 2D overlay shows:

  • Vehicle speed
  • Steering angle
  • Current speed limit
  • Left/right signal indicators

Proposed additions:

  • Current gear display
  • Detected traffic light state/color

A redesign of the 2D RViz2 overlay is proposed to address these issues.

Current Autoware RViz2: Screenshot from 2023-11-13 16-53-40

Proposed Design: Screenshot from 2023-11-13 15-58-41

Figma link:

  • https://www.figma.com/file/xjrQXpUX0LbRNa14zKiy98/autoware-hud?type=design&node-id=17%3A263&mode=design&t=nGswozNNo5Sg345d-1

Purpose

The purpose of this redesign is to modernize the RViz2 interface, making it more user-friendly, informative, and aesthetically pleasing. The updated interface will provide clearer and more comprehensive data at a glance, improving the overall user experience and utility of Autoware. This redesign aims to bring Autoware's interface in line with industry standards and user expectations, based on examples from other autonomous vehicle companies.

Possible approaches

  • Interface Overhaul: Redesigning the entire layout and visual elements of the RViz2 overlay.
  • Color Scheme Revision: Updating the color palette to improve readability, especially for critical information.
  • Data Display Expansion: Incorporating additional relevant data such as gear status and traffic light recognition.
  • User Feedback Incorporation: Gathering and implementing feedback from current users to guide design changes.
  • Investigating Similar Designs: Analyzing interface designs from companies like Tesla, AutoX, Nvidia, Pony.ai, Toyota Teammate, and Mobileye to incorporate best practices.

Definition of done

The project will be considered complete when:

  • [ ] The new design is fully implemented and functional in the RViz2 overlay.
  • [ ] All proposed data points (vehicle speed, steering angle, speed limit, signals, gear status, traffic light state) are clearly and accurately displayed.
  • [ ] The interface has been tested for readability and ease of use under various conditions.
  • [ ] User feedback on the new design is overwhelmingly positive.
  • [ ] The updated interface aligns with or surpasses current industry standards in terms of design and functionality.

xmfcx avatar Nov 13 '23 14:11 xmfcx

I've also done some short research on other autonomous vehicle company designs from their videos:

Tesla

I saw 2 different designs from Teslas, an old one and a new one, I might be wrong too, basically scraping from the videos I saw on YouTube.

Old

https://www.youtube.com/watch?v=IkSw2SZQENU&t=47s

Screenshot from 2023-11-13 16-43-41

New

https://youtu.be/RiFzcAlr8XE?t=262

Screenshot from 2023-11-13 16-44-09

AutoX

https://youtu.be/O69YEWpSacU?t=117

Screenshot from 2023-11-13 14-50-11

NVidia

https://youtu.be/qVyN_chiLeo?t=15

Screenshot from 2023-11-13 14-54-52

Pony.ai

https://youtu.be/VmpSOWFFcRk?t=158

Screenshot from 2023-11-13 15-00-15

Toyota Teammate

https://youtu.be/WUGjB9Anrkk?t=54

Screenshot from 2023-11-13 15-01-55

Mobileye

https://youtu.be/A1qNdHPyHu4?t=1809

Screenshot from 2023-11-13 16-45-11

Apollo

https://youtu.be/opqtckENIs8?t=13

Screenshot from 2023-11-13 17-06-18

xmfcx avatar Nov 13 '23 14:11 xmfcx

To achieve this, we can use the following package as a base in the Universe repository:

  • https://github.com/autowarefoundation/autoware.universe/tree/main/common/tier4_vehicle_rviz_plugin

And create a new package called:

  • autoware_hud_rviz_plugin (HUD)

xmfcx avatar Nov 13 '23 14:11 xmfcx

Very good! However, Rviz has its limitations, so if we are aiming more beautiful visualization, we may want to consider Game Engine as well.

https://github.com/yukkysaito/godot_rviz2

yukkysaito avatar Nov 15 '23 02:11 yukkysaito

FYI: It seems like some developers were considering using color palettes for designing visualization markers. We might want to design the color palettes for overlays and other markers to have unified look. https://github.com/autowarefoundation/autoware_launch/pull/653 https://github.com/autowarefoundation/autoware.universe/issues/5584

mitsudome-r avatar Nov 15 '23 04:11 mitsudome-r

@yukkysaito I know about your project in Godot, it looks really nice. And I agree that we should create a visualization tool in Unity or Godot.

But reality is that we don't have many developers who would work on getting these done, it'd be a big project.

Also every developer opens up rviz2 many times while developing Autoware. And even small improvements like these can make everyone's experiences much better.

I'm not aware of all the limitations of rviz2 just yet. I know that it uses Ogre for rendering and QtWidgets 5 for window management and overall gui. I think there is still some potential there.

@mitsudome-r thanks for letting me know about them. We plan to make it easy for people to define their own theme colors.

xmfcx avatar Nov 15 '23 16:11 xmfcx

Closing this issue with both PRs are merged, thanks @KhalilSelyan !

xmfcx avatar Feb 02 '24 11:02 xmfcx