Skip to content

Commit

Permalink
Merge pull request #43 from BerkeleyAutomation/action_spaces
Browse files Browse the repository at this point in the history
added generalization figure
  • Loading branch information
mdlaskey committed Apr 3, 2018
2 parents 6800a18 + f619290 commit 23c9519
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 2 deletions.
Binary file added docs/source/generalization.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
27 changes: 25 additions & 2 deletions docs/source/why_fluids.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ Tests Generalization
^^^^^^^^^^^^^^^^^^^^^^^
FLUIDS is designed to test how well agents generalize to new environments that are both in and out of sample from the initial state distribution. The initial state distribution can be specified to be a range of cars on the road starting at various lane positions. The randomness stems from the number of cars currently on the road and the location of each car.

.. image:: generalization.png

To test how robust a policy is to out of sample distributions, FLUIDS allows for perturbations such as enabling pedestrians, varying traffic light timing and changing the amount of noise in the sensor readings. FLUIDS can convey how robust a policy is via the generation of a coordinate axis plot as shown below, which demonstrates which helps shows what disturbances significantly affect policy performance.

.. image:: sensitivity.png
Expand All @@ -27,7 +29,7 @@ When a tested agent acts in the simulator it can operate at the trajectory, velc

"agents":{
...
"action_space":"steering",
"action_space":"steering", #other options:"trajectory", "velocity"
...}
},

Expand All @@ -49,5 +51,26 @@ Built-in Supervisors
^^^^^^^^^^^^^^^^^^^^^
In order to collect consist training data for Imitation Learning experiments and a baseline for performance. FLUIDS provides access to an array of supervisors, which can perform the driving tasks by having access to the global state of the world. The algorithms for the supervisors are the same planning stack used for the background agents.

FLUIDS supports a supervisor for each level of the hierarchy. Thus, supervision can be used to potentially help discover the hierarchy or to only learn sub-components. FLUIDS also allows for human supervision via the use of a keyboard interface. See the Examples section for how to use the supervisor agents.
FLUIDS supports a supervisor for each level of the hierarchy. Thus, supervision can be used to potentially help discover the hierarchy or to only learn sub-components. FLUIDS also allows for human supervision via the use of a keyboard interface.

::

#Hierarchy Supervisors

#Provides Examples at the TrajectoryLevel of the Planner
sup_traj = TrajectorySupervisor(agent_num=0)

#Provides Examples at the Veloicty Level of the Planner
sup_vel = VelocitySupervisor(agent_num=1)

#Provides Examples at the Steering Level of the Planner
sup_steer = SteeringSupervisor(agent_num=2)

#Human Supervisor

#Uses keyboard to get signal

sup_human = KeyBoardAgent


See the Examples section for a tutorial on how to use the supervisor agents.

0 comments on commit 23c9519

Please sign in to comment.