Pybullet implementation of SamCon (SIGGRAPH 2010 paper "Sampling-based Contact-rich Motion Control").
Humanoid cannot track the reference motion (exhibited in transparency) by using PD controllers.
Use SamCon to reconstruct a modified motion which can be tracked by using PD controllers.
pybullet
numpy
json
time
math
tensorboardX
We provide two motion examples at example/walk.txt & run.txt
.
To visualize the example, you can follow:
cd SamCon
python test/test_samcon.py
If you want to perform SamCon on other motion sequences, you can also use the test/test_samcon.py
, but you need to make some changes on it.
We use tensorboardX
to quantitatively compare the sampled and reference pose.
To compare example/walk.txt & run.txt
, you can follow:
cd SamCon/example/tensorboardX
tensorboard --logdir ./info
If you want to perform on your own result, modify and run test/draw_curve.py
.
@incollection{liu2010sampling,
title={Sampling-based contact-rich motion control},
author={Liu, Libin and Yin, KangKang and van de Panne, Michiel and Shao, Tianjia and Xu, Weiwei},
booktitle={ACM SIGGRAPH 2010 papers},
pages={1--10},
year={2010}
}
Zhihu tutorial - SamCon: sampling based controller
Github repository - kevinxie4c/samcon