OCS2安装
前言
系统环境
ubuntu20
ros noetic
一、安装相关依赖
C++ compiler with C++11 support
Eigen (v3.3)
sudo apt-get update
sudo apt-get install libeigen3-dev
Boost C++ (v1.71)
wget https://boostorg.jfrog.io/artifactory/main/release/1.71.0/source/boost_1_71_0.tar.bz2
tar --bzip2 -xf boost_1_71_0.tar.bz2
cd boost_1_71_0
./bootstrap.sh
sudo ./b2 install
GLPK
sudo apt install libglpk-dev
catkin
sudo apt-get install catkin
pybind11_catkin
sudo apt install ros-noetic-pybind11-catkin
catkin-pkg package for python3
sudo apt install python3-catkin-tools
Doxygen for documentation
sudo apt install doxygen doxygen-latex
其他依赖
sudo apt install liburdfdom-dev liboctomap-dev libassimp-dev
sudo apt-get install ros-noetic-rqt-multiplot
sudo apt install ros-noetic-grid-map-msgs
sudo apt install ros-noetic-grid-map
sudo apt-get install python3-venv
二、创建工作空间
1、创建工作空间
mkdir -p ~/ocs2_ws/src
cd ~/ocs2_ws
# 初始化
catkin init
catkin config --extend /opt/ros/noetic
catkin config -DCMAKE_BUILD_TYPE=RelWithDebInfo
cd ~/ocs2_ws/src
2.下载功能包
建议下一个功能包编译一个,方便发现问题,下载在src下,编译在ocs2_ws下
git clone --recurse-submodules https://github.com/leggedrobotics/hpp-fcl.git
catkin build hpp-fcl
git clone --recurse-submodules https://github.com/leggedrobotics/pinocchio.git
catkin build pinocchio
git clone https://github.com/leggedrobotics/ocs2_robotic_assets.git
catkin build ocs2_robotic_assets
Raisim依赖
cd ~/ocs2_ws/src
git clone --depth 1 https://github.com/raisimTech/raisimLib.git -b v1.1.01
在 ~/.bashrc 文件里添加一下环境变量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/xxx/xxxx(自己的绝对路径)raisimLib/raisim/linux/lib
export PYTHONPATH=$PYTHONPATH:/home/xxx/xxxx(自己的绝对路径)raisimLib/raisim/linux/lib
sudo apt-get update && sudo apt-get install checkinstall
cd ~/ocs2_ws/src/raisimLib
mkdir build
cd build
cmake ..
make -j4
sudo checkinstall
注意:cmak有问题的话尝试使用以下命令
cmake .. -DRAISIM_EXAMPLE=ON -DRAISIM_PY=ON -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
或者
cmake .. -DCMAKE_PREFIX_PATH=$WORKSPACE/raisim/linux
下载OCS2源码
git clone https://github.com/leggedrobotics/ocs2.git
cd ocs2
git checkout 12.0
其他版本容易编译不通过
ONNX Runtime 依赖
cd /tmp
wget https://github.com/microsoft/onnxruntime/releases/download/v1.7.0/onnxruntime-linux-x64-1.7.0.tgz
tar xf onnxruntime-linux-x64-1.7.0.tgz
mkdir -p ~/.local/bin ~/.local/include/onnxruntime ~/.local/lib ~/.local/share/cmake/onnxruntime
rsync -a /tmp/onnxruntime-linux-x64-1.7.0/include/ ~/.local/include/onnxruntime
rsync -a /tmp/onnxruntime-linux-x64-1.7.0/lib/ ~/.local/lib
rsync -a /home/xxxx(自己的绝对路径)/ocs2/ocs2_mpcnet/ocs2_mpcnet_core/misc/onnxruntime/cmake/ ~/.local/share/cmake/onnxruntime
三、 编译
cd ~/ocs2_ws
catkin build ocs2
全部编译看看有没有问题
catkin build
编译时如果ocs2_doc出错,把这个文件夹删除或者移除即可,这个主要是文档说明
四、 测试
source ~/ocs2_ws/devel/setup.bash
roslaunch ocs2_legged_robot_ros legged_robot_ddp.launch
结果
出现三个终端和一个rviz界面
输入list查看,然后在输入dynamic_walk输入值就会运动
参考链接:
安装
https://leggedrobotics.github.io/ocs2/installation.html
测试
https://leggedrobotics.github.io/ocs2/robotic_examples.html