Denavit-Hartenberg (DH) parameters are a set of four parameters which allow us to attach reference frames to links in a kinematic chain. We utilize this differentiable formulation for improving transfer in behavior cloning between robots with the same or different kinematic configurations.
python train_rl.py --cfg experiments/base_dm.cfg
python train_rl.py --eval --frames --load_model results/base_easy_01111_reacher_1_00/ --frames
This will result in plots for reward & target position, and a video of the episodes written as a derivitive of the most recent .pt file in the --load_model directory.
python train_rl.py --eval --frames --load_model results/base_easy_01111_reacher_1_00/base_0000355000.pt
python train_bc.py --load_replay <path-to-rl-eval-replay-buffer>.pkl
python train_bc.py --load_replay <path-to-rl-eval-replay-buffer>.pkl --loss "angle"
NOTE: This is not really relevant with dm_control - but used with robosuite and JOINT_POSITION controller
python train_bc.py --load_model <path-to-saved-bc-model> --eval --frames
We utilize some non-standard dm_control robots for experiments. To work with these, copy the contents of the "robots" directory to your dm_control installation:
cd DH
cp robots/dm_control/*.* ../dm_control/dm_control/suite/
cd ../dm_control
pip install .
Then you can experiment with these models as you would other robots.
For instance, to train an rl reacher agent with links which are double the size of the standard reacher:
cd DH
python train_rl.py --cfg experiments/reacher_double.cfg