Git Product home page Git Product logo

erebus's People

Contributors

ethanwu10 avatar jemhunter avatar shadow149 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

erebus's Issues

Python client: Behavior.tick() will be called a few times on sim reset

This is caused by the ticking hackery required in erebus-supervisor-controller to get the Webots GUI to show the reset immediately

We can:

  • keep track of sim state on client and ignoring all ticks while server is stopped - this requires the server to also send a sim state update upon connect
  • block / hold all messages from robot to client (or both directions) while the simulation is stopped / in reset on the broker

Robot controller: Robots won't re-initialize after reset

Resetting the simulation environment resets the state of sensors and actuators, however the controller currently only initializes the controller when a client is bound to it. We cannot just listen for a reset event because a few ticks will elapse between the reset being issued and the reset actually happening.

There appears to be no way to detect the actual reset from a controller since customData is not reset and the values on sensors and actuators do not update on reset (things like sampling period and target position return the same values from API calls as before the reset even though they are actually reset to default values). Thus, the supervisor has to handle notifying robot controllers of the reset (probably through customData).

This can be implemented through a list robot DEFs or by putting the robots into a group

Current workarounds:

  • re-bind (disconnect and reconnect) the clients to the robots after each reset

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.