Git Product home page Git Product logo

gym-auv's People

Contributors

camillasterud avatar eivmeyer avatar krisbrud avatar

Stargazers

 avatar

gym-auv's Issues

Refactor render2d

TODO:

  • Remove dependency of global state as much as possible
  • Decouple rendering from windowing code
  • Get rid of unnecessary deps
  • Pass the relevant state into the rendering code rather than giving the renderer access to the environment
  • Make rendering configurable through normal config

Refactor training script

Split run.py into different functions, files (and possibly classes?). See if there is anything useful for own thesis.

Treat LiDAR readings as multi-channel

Since the sensor readings consists of 3 components (closeness, x-/y-velocity), it is probably a good idea to group the observations corresponding to the same input, i.e. going from a dimensionality [n_sensors * 3] to [n_sensors, 3].

  • Check that it is possible to pass a dict etc to the policy, as the spatial structure of the LiDAR does not apply to the rest of the observation.

Refactor out code and dependencies required for training

As users may want to use the environment without using stable_baselines and tensorflow, the project and it's dependencies should be pruned, such that testing may be done in smaller Docker containers and and gym_auv may be released as a PyPi package in the future.

Optimize collision detection

Profiler results show that the calls to intersection() in the simulate_sensor call account for a large amount of the runtime of the algorithm. Optimizing this may have a large positive impact on the simulation performance of the algorithm. Possible approaches may for instance be using an hierarchical checker, which filters out many of the instances that definitely are not collisions.

Make feasibility pooling optional

EivMeyer's original environment used his algorithm "Feasibility Pooling" as a preprocessing step in order to reduce the dimensionality of the observation space while still providing useful observations for the algorithm. As it is desirable to be able to do experiments with Convolutional Neural Networks for encoding this information, it should be refactored out and be an optional setting instead.

Fix 2D renderer

The 2D renderer assumes that the input is split into sectors, which isn't necessarily the case after #11. This should be fixed, as well as considering a refactor of the renderer.

Remove rendering as default

Currently, the BaseEnvironment spawns a window by default to render the Environment, which is annoying and should not be the default behaviour.

Refactor plotting

Make some plots for qualitative evaluation of the agents, possibly refactoring existing code.

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.