762a832 Sep 7, 2018
3 contributors

Users who have contributed to this file

@vlin17 @unacao @natashadsouza
165 lines (123 sloc) 11.1 KB

Dreamview Usage Table

Dreamview is a web application that,

  1. visualizes the current output of relevant autonomous driving modules, e.g. planning trajectory, car localization, chassis status, etc.
  2. provides human-machine interface for users to view hardware status, turn on/off of modules, and start the autonomous driving car.
  3. provides debugging tools, such as PnC Monitor to efficiently track module issues.

Layout and Features

The application layout is divided into several regions: header, sidebar, main view, and tool view.


The Header has 3 drop-downs that can be set as shown:

The Co-Driver switch is used to detect disengagement event automatically. Once detected, Dreamview will display a pop-up of the data recorder window for the co-driver to enter a new drive event.

Depending on the mode chosen from the mode selector, the corresponding modules and commands, defined in hmi.conf, will be presented in the Module Controller, and Quick Start, respectively.

Note: navigation mode is for the purpose of the low-cost feature introduced in Apollo 2.5. Under this mode, Baidu (or Google) Map presents the absolute position of the ego-vehicle, while the main view has all objects and map elements presented in relative positions to the ego-vehicle.

Sidebar and Tool View

Sidebar panel controls what is displayed in the tool view described below:


All the tasks that you could perform in DreamView:

  • Quick Start: commands supported from the selected mode. In general, setup: turns on all modules

    reset all: turns off all modules

    start auto: starts driving the vehicle autonomously

  • Others: switches and buttons for tools used frequently

  • Module Delay: the time delay between two messages for each topic

  • Console: monitor messages from the Apollo platform

Module Controller

A panel to view the hardware status and turn the modules on/off

Layer Menu

A toggle menu for visual elements displays.

Route Editing

A visual tool to plan a route before sending the routing request to the Routing module

Data Recorder

A panel to report issues to drive event topic ("/apollo/drive_event") to rosbag.

Default Routing

List of predefined routes or single points, known as point of interest (POI).

If route editing is on, routing point(s) can be added visually on the map.

If route editing is off, clicking a desired POI will send a routing request to the server. If the selected POI contains only a point, the start point of the routing request is the current position of the autonomous car; otherwise, the start position is the first point from the desired route.

To edit POIs, see default_end_way_point.txt file under the directory of the Map. For example, if the map selected from the map selector is "Demo", then default_end_way_point.txt is located under modules/map/data/demo.

Main view:

Main view animated 3D computer graphics in a web browser.

Elements in the main view are listed in the table below:

Visual Element Depiction Explanation
  • The autonomous car
  • The wheel steering percentage.
  • The status of left/right turn signals
  • The traffic signal detected
  • The driving mode (AUTO/DISENGAGED/MANUAL/etc.)
  • The driving speed in km/h.
  • The accelerator/brake percentage
  • The red thick line shows the routing suggestion
  • Nudge object decision -- the orange zone indicates the area to avoid
  • The green thick curvy band indicates the planned trajectory


Visual Element Depiction Explanation
  • Vehicle obstacle
  • Pedestrian obstacle
  • Bicycle obstacle
  • Unknown obstacle
  • The velocity arrow shows the direction of the movement with the length proportional to the magnitude
  • The white arrow shows the directional heading of the obstacle
The yellow text indicates:
  • The tracking ID of the obstacle.
  • The distance from the autonomous car and obstacle speed.
  • The lines show the predicted movement of the obstacle with the same color as the obstacle

Planning Decision

Decision Fence

Decision fences reflect decisions made by planning module to ego-vehicle (main) and obstacles (objects). Each type of decision is presented in different color and icon as shown below:

Visual Element Depiction Explanation
  • Stop depicting the primary stopping reason
  • Stop depicting the object stopping reason
  • Follow object
  • Yield object decision -- the dotted line connects with the respective object
  • Overtake object decision -- the dotted line connects with the respective object

Changing lane is a special decision and hence, instead of having decision fence, a change lane icon shows on the autonomous car:

Visual Element Depiction Explanation
  • Change to Left lane
  • Change to Right lane

When a yield decision is made based on the "Right of Way" laws at a stop-sign intersection, the obstacles to be yielded will have the yield icon on top:

Visual Element Depiction Explanation
Obstacle to yield at stop sign
Stop reasons

When a STOP decision fence is shown, the reason to stop is displayed on the right side of the stop icon. Possible reasons and the corresponding icons are:

Visual Element Depiction Explanation
  • Clear-zone in front
  • Crosswalk in front
  • Destination arrival
  • Emergency
  • Auto mode is not ready
  • Obstacle is blocking the route
  • Pedestrian crossing in front
  • Traffic light is yellow/red
  • Vehicle in front
  • Stop sign in front
  • Pull over
  • Yield sign in front

Point of View

Main view that reflects the point of view chosen from Layer Menu:

Visual Element Point of View
  • Default
  • Near
  • Overhead
  • To zoom in/out: mouse scroll or pinch with two fingers
  • To move around:right-click and drag or swipe with three fingers

Shortcut Keys

Shortcut Keys Description
1 Toggle Task panel
2 Toggle Module Controller panel
3 Toggle Layer Menu panel
4 Toggle Route Editing panel
5 Toggle Data Recorder panel
6 Toggle Audio Capture panel
7 Toggle Default Routing panel
v Rotate Point of View options