Open bheijden opened 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.
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?