I want to load a 3D humanoid model in a physics environment and want to make the humanoid learn how to walk (using reinforcement learning). I want to be able to design the world with obstacles and such, and get the 3D model to learn how to navigate them.
To do this, I need to interact with the world around the humanoid and get real time physics data - for example, balance of the humanoid i.e, if the humanoid walks "wrongly" it should fall or go out of balance. The physics environment should take care of figuring out what will happen to the humanoid next , based on the actions the humanoid takes. I would be "sensing" this environment and based on the feedback, I'd take appropriate next actions (which further changes the physics feedback from the environment).
Is there any such physics environment available to use off-the-shelf so I can focus mainly on the reinforcement learning part?
Gazebo looks good, but I'm not exactly sure if that is what I should be using. Are there other good physics environment out there that are better or easier to use? Perhaps using a game engine might work, but then I'd have to create/model the humanoid as well.. Check out the diagram below. I'll be working on the "agent" that takes actions, but I want to use an off-the-shelf environment.
Anyone who has worked on similar stuff , please let me know how to make the "environment" work and be physics-accurate.