Leveraging LSTM Networks for slope and compliance prediction
Video of the physics simulation. I use the SIMBICON controller (read below) for the control strategy. The blue lines show the forces that the biped feels on its feet from the ground. Terrain properties are generated from a uniform distribution.
In a nutshell,
I develop a physics simulation written in C++ using Bullet Physics and OpenGL to predict the terrain properties that a bipedal character is walking across. In order to do this, I implement the SIMBICON controller strategy in this paper to obtain a robust enough controller for walking across varying terrains. The strategy can be viewed online here, also implemented by me. I also have to implement my own contact model in order to measure forces at specific locations along the foot. This contact model is modeled after springs and produces a restoration force on a vertex whenever it is below the ground plane.
I then collect the necessary data for my offline training. This data is windowed temporal state information from the bipedal agent. Each state information includes things like the orientation and angular velocity of the rigid bodies of the bipedal agent as well as the forces that it feels on its feet. Each state information is sampled at roughly 30Hz from the physics simulation.
Once the data is collected, I train a multilayer LSTM network to learn the mapping between state information and slope and ground compliance. This mapping can then be used for the bipedal agent to predict the terrain properties that it is traversing across!