1. 安装CasADi优化库
2. 安装cartpole_casadi_cplusplus库
3. 运行例程
1. 安装CasADi优化库
使用运行机器狗仿真的yobogo的ubuntu16.04系统,这样不用重复安装IPOPT库
安装教程参考InstallationLinux · casadi/casadi Wiki · GitHub
但是需要做一些修改,否则安装不上cmake -DWITH_IPOPT=true ..
安装过程如下,先下载过来,然后编译
git clone https://github.com/casadi/casadi.git -b master casadi
git clone https://github.com/casadi/casadi.git casadi && cd casadi && git checkout 2.0.x
git pull
cd casadi
mkdir build
cd build
cmake编译时不要使用教程上提供的“cmake -DWITH_PYTHON=ON ..”换成如下指令,否则会报can not load shared library "libcasadi_nlpsol_ipopt.so"的错
cmake -DWITH_IPOPT=true ..
make
sudo make install
make doc
2. 安装cartpole_casadi_cplusplus库
按照给出来的步骤安装
GitHub - ytwboxing/cartpole_casadi_cplusplus: 使用casadi的C++接口写的shooting/collocation轨迹优化示例代码
但是要使用cmake -DWITH_PYTHON=ON .. 代替 cmake ..的指令,如下:
mkdir build && cd build
cmake -DWITH_PYTHON=ON ..
make
3. 运行例程
编译成功后运行生成的可执行文件
./mytest
相关理论基础见如下文末知乎链接
(附代码)基于casadi C++接口的single/multiple shooting方法轨迹规划示例 - 知乎
可以参考知乎上国外Matthew Kelly的课程资料
本人觉得Underactuated Robotics这个也很好,上面有在线的deepnote代码,方便理解: