Git Product home page Git Product logo

research's People

Contributors

cannontwo avatar

Watchers

 avatar

research's Issues

Run PARL+Planning "No Time" Experiments

These experiments should evaluate the ability of the most recent version of PARL+Planning to learn to track trajectories under the following variations:

  • Different trajectories
  • Different numbers of references
  • Different radii of references from trajectory
  • Different sampled dimensions

Implement Geometric Lead PARL+Planning

As per my discussion with Zak today, a simpler PARL+Planning pipeline should be developed that interpolates a geometric lead path to generate a trajectory.

  • Implement A* for top-level geometric search
  • Implement cubic spline interpolation to get velocities and accelerations
  • Implement trajectory following with PID or LQR
  • Implement aggregate model which weights contribution by Voronoi overlap (via sampling)

Implement PWA Refinement Prioritizing Out Map

We can usefully refine polygons with regions that get mapped out of bounds without overly complicating the interior, which may make the LP feasible more quickly by reducing the number of polygons that we need to keep track of.

Fix Scale Issue With Learned Part of AggregateModel

In the early stages of learning, the magnitude of learned dynamics can easily overpower the nominal model. I need to come up with a principled way to handle this. Possible solutions:

  1. Make the assumption that there's a maximum single-timestep magnitude of deviation, and clip overlarge learned dynamics.
  2. Reweight learned dynamics using some function of the number of datapoints, as a proxy for uncertainty.
  3. Explicitly estimate uncertainty and use this to adjust learned dynamics (or prevent addition of uncertain dynamics)

Refactor PARL+Planning Prototype

I need to extract the logic that is specific to setting up a planning problem for OMPL from the PARL handling, and put both of these things into separate classes. This will help me to nail down the complicated OMPL stuff.

Add Voronoi Diagram Edge Polygons to Transition Map

The unbounded Voronoi cells are not currently incorporated into the Voronoi polygon collection computed by parl_stability/voronoi.cpp, but it should be possible to include them by building Nef_polyedron_2 objects and then converted to polygons, as in parl_stability/transition_map.cpp.

Plot Lyapunov Function Polygons

Rather than doing scatterplot-based rendering of found lyapunov functions, make another plotting script which renders the full polygon by color the vertices and using OpenGL interpolation. This will likely require a new interface to Plotter.

Do PARL Controller Update Ablative Study

I've never rigorously tested PARL with and without the Adam optimizer. Given that PARL uses a line search now, it may be entirely unnecessary or inhibiting learning. The "without" version should simply directly apply line searched gradients.

As an extension to this issue, it might be interesting to try wolfe condition line search rather than the Armijo line search currently implemented.

Test Solved Lyapunov Function

Need to verify that Lyapunov functions found by solving the relevant LP satisfy constraints. This can be done numerically and by plotting points on a fine grid over the estimated PI set.

Make CUDA version of LSTD Update

Right now, PARL's performance is extremely constrained by LSTD matrix updates. If this matrix multiplication can be sped up, it would significantly affect PARL's speed. CUDA acceleration is likely the only way, as Eigen is already very optimized for CPU matrix multiplication.

Verify That PARL Solves LQR Problem

This is a pre-requisite to modifying PARL to do tracking control. I want to verify that, with an appropriate reward function and a single reference point, PARL recovers LQR functionality.

Create PARL+Planning Prototype

This wrapper should somehow store a planner to be used in the integrated algorithm. It is the object responsible for handling replanning, execution, etc.

Make ControlAffineCar Into DynamicCar, Implement Steering Function

The "ControlAffineKinematicCar" that I've implemented is really just halfway to a fully dynamic, second-order car model. I should just go all the way, and then use the links that Mark sent me to implement an LQR-based steering function to make planning feasible.

Make PARL Cells Including Origin Have Zero Affine Term

I don't know if this is strictly necessary, but most presentations of Lyapunov function finding require it. Only the controlled system needs to have zero affine term, which means that the affine term in the controller can be set directly from the estimated dynamics during learning.

Implement Adaptive-Partition PARL

This will probably involve Lloyd's algorithm and some inspiration from the "bounded-error" approach to PWA system identification.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.