I'm currently conducting this research under the USC Sensing, Learning, and Understanding Robotic Manipulation (SLURM) Lab. This project involves taking a Unitree-Go2 and training it to fold deformable objects (objects like rope or fabric) into a desired state. Being able to predict the behavior of these objects can help it achieve everyday tasks like tying a rope or folding clothes. The primary goal for this project is to create a strong benchmark for training a quadruped.
Key skills:
• Reinforcement Learning & Graph Neural Networks
• PyBullet, MuJoCo (Physics simulation environments)
• Python programming
If there's anything that this project has taught me, it's that research is a very iterative process. To start off, our team was simulating the Go2 in the MuJoCo simulation environment, which posed many difficulties when accurately replicating deformable objects. I tackled this by experimenting with various workarounds, such as modifying joint constraints, adjusting friction parameters, and integrating external physics models. When initial attempts failed to produce stable interactions, I researched past projects and academic papers to identify alternative approaches. Through continuous iteration, I got a satisfactory model. Yet, after that, it turned out that MuJoCo would not be necessary for the project, as there was a working MPC (Motion Planning Control) algorithm that would work in another environment, PyBullet. Scrapping MuJoCo, I learned the inner workings of this new environment, calculating many physical properties of the Go2 to accurately replicate it in simulation. With a working Go2 that can interact with deformable objects, my next step is to train a graph neural network to accurately predict the state of the deformable object given a robot interaction. This involves using the models of tools like Adaptigraph and adapting it to the task at hand.