eager-dev / eager

[deprecated] Engine Agnostic Gym Environment for Robotics
https://eager-control.readthedocs.io/
Apache License 2.0
16 stars 0 forks source link

Resolve issue with angle wrapping. How to resolve? #84

Open bheijden opened 3 years ago

bheijden commented 3 years ago

Currently, the state & observation implementation break the from stable_baselines3.common.env_checker import check_env() function.

As of now, check_env fails because we do not wrap the angles of the joints to [-pi, pi]. This causes the observations to sometimes not be in the observation_space. This was a problem before, but went unnoticed because we always initialized at zero, and the few actions check_env took, never steered it outside of the observation_space. New issue: how to implement the wrapping?

bheijden commented 3 years ago

I believe the solution to be that the user can simply implement a clip procedure on the observation on the RosEnv side. For real-world sensors that might automatically be clipped already, this clip might be redundant but at least it does not break/causes inconsistencies. The clip will make sure that, if possibly, a simulator does not automatically clip/wrap angles, they are still wrapped on the RosEnv side.