最近谷歌一个团队将该MPC复现了,并将代码开源了,基于pybullet,python语言开发。
代码可读性比MIT开源的代码高的多,github链接如下:
链接: google-research/motion_imitation.
安装MPC的环境很简单:
pip3 install -r requirements.txt
python3 setup.py install --user
然后运行mpccontroller里的locomotion_controller_example.py文件即可
其中MPC的部分就只涉及到主程序mpccontroller和二次规划求解库third_party两个文件夹,主程序代码层次也很分明:
速度估计很简单,只是对仿真中读到的速度值做了个低通滤波把高频滤了下;步态规划就是典型的对角步态(trot);摆动腿目标位置生成用的raibert老爷子的法子:
当前值到目标位置插值用的二次函数曲线;支撑腿力矩生成则是用的论文所提到的解最终的二次规划问题求得。
总的来说,代码还是很好懂得,要在该基础上做扩展也不难,可以作为入门好资料。
我们直接用命令:pip install 库名,因网络太慢,导致下载超时~~~
针对在安装Python库出现的超时问题—总结了如下两种解决方案:
其一:
pip --default-timeout=100 install -U 库名
例如:
pip --default-timeout=100 install -U numpy
其二:
包源镜像:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 库名
例如:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gym
安装 numba出现
Failed building wheel for llvmlite
(这个问题花了两天的时间才解决,先说错误原因:版本不匹配)
numba这个包需要依赖llvm以及llvmlite
在网上找的解决方案基本都是修改llvm-config的路径,可是我看了一下我的相应的/usr/bin的目录下的确没有llvm-config文件,因此修改路径是行不通的
第二天看到了这篇文章,网址如下:https://blog.csdn.net/zt1091574181/article/details/108222306,这篇文章中提到了numba安装不成功的本质原因可能是版本不匹配的问题,于是按照文章中提到的方法下载并安装了llvm,llvm下载安装地址如下:
$ wget -c http://releases.llvm.org/7.0.1/clang+llvm-7.0.1-x86_64-linux-gnu-ubuntu-16.04.tar.xz
$ tar xJvf clang+llvm-7.0.1-x86_64-linux-gnu-ubuntu-16.04.tar.xz
$ pwd
记录此处出现的路径,记录为path
$ vim ~/.bashrc
将path进行替换
export PATH=$PATH:“path”+clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin
$ source ~/.bashrc
$ clang++ -v #测试是否安装成功