Comments (6)
Furthermore, using "change_line_status" instead of "set_line_status" seems also to be causing some issues.
Status before the action is line0 is connected and line5 is disconnected. This action should therefore connect line5 while disconnecting line0:
This action will:
- NOT change anything to the injections
- NOT perform any redispatching action
- NOT force any line status
- switch status of 2 powerlines ([0 5])
- NOT switch anything in the topology
- NOT force any particular bus configuration
Again, an exception was thrown but hidden from the user:
if bus_ex == 0 or bus_or == 0: raise InvalidLineStatus("Line {} was disconnected. The action switched its status, " "without providing buses to connect it on both ends.".format(i))
However, i don't quite understand why i should define a bus for a line that was previously disconnected by using the change_line_status operator. Reconnecting it with the change_line_status should just restore the previous connection state?
from grid2op.
Can you please send me a piece of code that does just that ? I'm asking because I think the reason of why the action was not implemented has been returned in the "info" part of the env.step
method.
There is however a problem for "obs.simulate" that should return these information but does not at the moment obs.simulate
is a bit behind env.step
and I will work on this in the next release.
from grid2op.
By design, i made the choice not to propagate the error because i think it's common in "video game".
In pacman for example, when you face a wall and you ask to go ahead, the game don't crash, and nothing is done. This behaviour is pretty common in RL environment: at the beginning of the training of an agent, they will do this kind of "mistake" a lot.
I agree this should be more explicit for non RL agent. I will set a flag in the "info" dictionnary when an exception was raised in the backend.
from grid2op.
Can you please send me a piece of code that does just that ? I'm asking because I think the reason of why the action was not implemented has been returned in the "info" part of the env.step method.
Ah that may be it! I was looking at another flag returned by simulate, but it could have been the wrong one or it's not yet implemented as you wrote! I can send you the relevant code tomorrow if that's still an issue after you helpful comments.
By design, i made the choice not to propagate the error because i think it's common in "video game".
Sure, it makes total sense for reinforcement learning, sorry! I have to get used to the different approach of not requiring any reasons for why something does not work and just using the reward as the signal.
It seems to be personal confusion for most of these issues and not actually bugs in your software :) Again, thanks for the quick support!
from grid2op.
I will be more explicit, and especially in the "obs.simulate" function that need to be reworked :-)
You can look in the "env.step" last returned value, which is called "info":
observation, reward, done, info = env.step(action)
This should give you more information. However, in the current version, obs.simulate
does not reflect all of this information.
Thanks again for the valuable feedback :-)
from grid2op.
Hello,
This should be fixed in the new 0.5.7 version that i just released today.
Benjamin
from grid2op.
Related Issues (20)
- Codalab scoring throws an error when filtering chronics HOT 16
- Wrong total time step when providing "max_step" in ScoreL2RPN2020 HOT 1
- 'h_forecast' bug when creating env without forecast for l2rpn_idf_2023 HOT 4
- Expand Observation + Action to check for game-ending topology changes HOT 4
- Simulation on current state reapply actual_dispatch when a redispatch action has been applied before HOT 7
- Being able to specify position of elements (powerlines, loads, generators, storages directly in the layout)
- Minor Change in Runner to allow for parallel computing with tensorflow models and Pool HOT 2
- Switch problems for maintenance functions in the environment("l2rpn_wcci_2020") HOT 2
- Tutorial 1: Grid2Op integration with existing frameworks HOT 2
- [Feature] Set init state HOT 1
- In reset, also add possibility to change the parameters, forecast parameters, max iter and skip time steps HOT 2
- Improve the handling of "name_chronics_to_backend"
- Optimal Clustering of Substations for Topology Optimization Using the Louvain Algorithm HOT 7
- Can not reproduce Runner or ScoreL2RPN2022's results when used with the MultiFolderWithCache feature HOT 1
- Using a generator as the slack bus in Grid2Op Environment's PandaPower BackEnd HOT 4
- Convert observation to per unit
- Update Introduction.ipynb HOT 2
- Allow loads / generators to be disconnected without a game over
- grid2op.make(...) not threadsafe? HOT 6
- CI issue on windows with lightsim2grid
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from grid2op.