The code in this repository heavily uses the SenseAct framework https://github.com/kindredresearch/SenseAct.
Please follow the installation instructions for SenseAct as specified in https://github.com/kindredresearch/SenseAct.
We conduct experiments with two robots:
1) Create2 Roomba robot,
2) Dynamixel Servo motor.
SenseAct provides an interface to interact with these robots.
Create-Mover |
Create-Docker |
---|
- For the Create2 Roomba robot, we perform the Docker task. In this, the robot learns from scratch to dock to its charging station.
- We use the PPO algorithm (policy-gradient RL algorithm) from OpenAI's repository https://github.com/openai/baselines
DXL-Reacher |
DXL-Tracker |
---|
- For the Dynamixel Servo motor, we perform the Reacher task. In this, the motor learns to move the joint to a desired position (angle).
- We implement our own 'minimal' PPO algorithm (policy-gradient RL algorithm) for the Reacher task on the Dynamixel. This minimal PPO algorithm is derived from the base REINFORCE algorithm. The derivation and the pseudocode are given in this PDF file https://github.com/architsakhadeo/RL-with-Robots/blob/main/pdf/pseudocodePPO.pdf
- We also implement a PID controller for the Dynamixel Servo motor.