简介
Hunter开源人形双足机器人是因克斯智能和桥介数物联合开发的双足机器人开发平台,由因克斯智能提供机器人硬件和底层通信方案,桥介数物则开发适配的控制算法。具体介绍查看:国内首款开源的人形机器人来了
本文以最简单的方式完成该机器人仿真环境的搭建。
1、安装Ubuntu20.04
安装ubuntu20.04的网上教程较多,在这里本文仅说一下大致步骤:
- 点击该链接下载镜像,选择Desktop image栏对应的下载项:Ubuntu官网20.04下载地址
- 使用rufus将iso镜像刻录到u盘中:rufus下载地址
- 确认硬盘有空闲区域,插入u盘,设置从u盘启动,按照引导安装ubuntu。
2、安装ROS-Neotic
在安装之前先更新软件包:
sudo apt-get update
sudo apt-get upgrade
推荐使用小鱼的安装脚本,按照引导安装即可:
wget http://fishros.com/install -O fishros && . fishros
3、安装依赖
首先添加源并安装c++11,依次执行:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-11 g++-11
创建工作空间:
mkdir -p ~/ocs2_ws/src
cd ~/ocs2_ws/src
依次安装依赖:
sudo apt install git
sudo apt install ros-noetic-catkin
sudo apt install libglpk-dev libglfw3-dev
sudo apt install ros-noetic-pybind11-catkin
sudo apt install python3-catkin-tools
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-octomap-msgs
sudo apt install libreadline-dev
sudo apt install libcgal-dev
sudo apt update && sudo apt install checkinstall
下载软件包,若出现报错请挂代理再尝试:
git clone --recurse-submodules https://github.com/leggedrobotics/pinocchio.git
git clone --recurse-submodules https://github.com/leggedrobotics/hpp-fcl.git
git clone https://github.com/leggedrobotics/ocs2_robotic_assets.git
git clone --depth 1 https://github.com/raisimTech/raisimLib.git -b v1.1.01
git clone https://github.com/leggedrobotics/elevation_mapping_cupy.git
git clone https://github.com/ANYbotics/grid_map.git
git clone https://github.com/leggedrobotics/ocs2.git
编译安装Raisim,按照引导即可:
cd ~/ocs2_ws/src/raisimLib
mkdir build
cd build
cmake .. -DRAISIM_EXAMPLE=ON -DRAISIM_PY=ON -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
make -j32 && sudo checkinstall
配置onnxruntime:
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 ~/ocs2_ws/src/ocs2/ocs2_mpcnet/ocs2_mpcnet_core/misc/onnxruntime/cmake/ ~/.local/share/cmake/onnxruntime
mkdir -p ~/.local/share/onnxruntime/cmake/
rsync -a ~/ocs2_ws/src/ocs2/ocs2_mpcnet/ocs2_mpcnet_core/misc/onnxruntime/cmake/ ~/.local/share/onnxruntime/cmake/
export onnxruntime_DIR=/root/.local/
export LD_LIBRARY_PATH=/root/.local/lib:${LD_LIBRARY_PATH}
配置MPC-Net
cd ~
sudo apt-get install python3-venv
mkdir venvs && cd venvs
python3 -m venv mpcnet
source ~/venvs/mpcnet/bin/activate
python3 -m pip install -r ~/ocs2_ws/src/ocs2/ocs2_mpcnet/ocs2_mpcnet_core/requirements.txt
pip3 install torch==1.10.2+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
4、编译软件包
首先编译elevation_mapping_cupy:
cd ~/ocs2_ws
catkin init
catkin build elevation_mapping_cupy
出现以下图片编译成功:
再编译ocs2:
cd ~/ocs2_ws
catkin init
catkin config --default-log-space --no-install --extend /opt/ros/noetic
catkin config -DCMAKE_BUILD_TYPE=RelWithDebInfo
catkin build ocs2
编译成功显示:
最后编译hunter软件包,首先创建工作空间,把源码git clone下来:
mkdir -p ~/hunter_ws/src
cd ~/hunter_ws/src
git clone https://github.com/bridgedp/hunter_bipedal_control.git
然后编译:
cd ~/hunter_ws
source ~/ocs2_ws/devel/setup.bash
catkin init
catkin config -DCMAKE_BUILD_TYPE=RelWithDebInfo
catkin build legged_controllers legged_hunter_description legged_gazebo
编译成功显示:
安装rqt:
sudo apt-get install ros-noetic-rqt
sudo apt-get install ros-noetic-rqt-robot-steering
运行gazebo仿真:
# ros环境用fishros安装后会默认source,具体查看~/.bashrc
source ~/ocs2_ws/devel/setup.bash
source ~/hunter_ws/devel/setup.bash
roslaunch legged_controllers one_start_gazebo.launch
运行后,自动打开gazebo界面:
5、总结
本流程经过了本人的反复验证,能成功编译通过,如果有遇到网络问题可以尝试挂代理/关掉代理,有问题可以在评论区一起讨论。遇见编译失败请勿心急,关掉电脑出去走走说不定回来就好了。
遇见编译失败可以catkin clean再重新编译试试。