The idea of this project is simple: I want to train a model that is capable enough to execute manipulation tasks using the SO-101 robotic arm.
The first task will be a simple pick-and-place task. The robot should be able to see an object placed on a table, reach towards it, grasp it, pick it up, move it to another location, and place it successfully.
The main objective is not just to make the robot perform one fixed trajectory. The intention is to train a model that learns the actual manipulation skill and can perform the same task under different conditions.
The project will start completely in simulation. I will first obtain the SO-101 USD model and build the required simulation environment. The robot will then be trained using different demonstrations and variations of the pick-and-place task.
The long-term goal is to develop a general manipulation checkpoint that can eventually be downloaded and deployed on a real SO-101 robot without requiring task-specific model fine-tuning.
STATUS:- Setting up the simualtion environment
The learning process will be divided into two major stages:
Simulation
│
▼
Imitation Learning
│
▼
Initial Policy
│
▼
Reinforcement Learning
│
▼
Robust Manipulation
│
▼
Sim-to-Real
│
▼
Real SO-101
The initial policy will learn the basic task from demonstrations using imitation learning.
After that, reinforcement learning will be used to expose the policy to more variations and improve its ability to handle situations that are different from the original demonstrations.
The ultimate question this project is trying to answer is:
Can a robot learn a manipulation skill in simulation through imitation learning, become robust to large environmental and visual variations through reinforcement learning, and then transfer that capability to the real SO-101 without requiring task-specific model fine-tuning?
This project will start with one simple pick-and-place task and progressively increase the complexity until the learned policy approaches that goal.