小米铁蛋仿真。
- Ubuntu-18.04+ROS-Melodic (未测试)
- Ubuntu-20.04+ROS-Noetic (推荐)
另外请确保环境中有gazebo,如遇依赖问题请根据编译输出自行修复。
安装yaml-cpp
git clone https://github.com/jbeder/yaml-cpp.git
cd yaml-cpp && mkdir build && cd build
cmake -DYAML_BUILD_SHARED_LIBS=on ..
sudo make
sudo make install
sudo ldconfig
头文件在/usr/local/include,库文件在/usr/local/lib
git clone --recursive https://github.com/fan-ziqi/cyberdog_sim.git
cd cyberdog_sim/cyberdogsim_ws
catkin build unitree_guide unitree_legged_msgs unitree_move_base cyberdog_description unitree_gazebo unitree_legged_control unitree_controller
# 或者直接 catkin build 时间会长一些
source ./devel/setup.bash
更新代码
git pull --recurse-submodules
roslaunch cyberdog_description display.launch
拖动控制条即可可视化关节角度
开启gazebo环境
roslaunch unitree_guide gazeboSimCyberdog.launch
新开一个终端,运行控制程序。首先进入/cyberdogsim_ws
目录下,再进行下面的操作。
代码使用了实时进程,由于ROS 的限制,并不能直接在命令前面添加sudo,而是需要先切换到root 用户,再运行junior_ctrl
sudo su
source ./devel/setup.bash
rosrun unitree_guide junior_ctrl
或者:直接使用sudo运行可执行文件
sudo ./devel/lib/unitree_guide/junior_ctrl
控制器成功运行后,按下键盘的2
进入固定站立模式,下述模式均需要在固定站立模式下进入:
- 按
1
进入阻尼模式(机器人关节进入阻尼状态,机器人会趴下) - 按
3
进入姿态控制模式(此时使用键盘的wasd、ijkl可以改变机器人的姿态) - 按
4
进入步态模式(此时使用键盘的wasd、jl可以控制机器人运动) - 按
7
进入后空翻模式 - 按
r
进入towr仿真模式(实验功能)
注:步态默认为trot,更多步态需要在src/unitree_guide/unitree_guide/src/main.cpp
中进行更改
注意:后空翻是实验功能,请勿于真机测试。步态还有问题,暂时不要测试。
修改src/unitree_guide/unitree_guide/CMakeLists.txt
中的下述宏定义
set(CATKIN_MAKE ON)
set(SIMULATION OFF)
set(REAL_ROBOT ON)
单独编译unitree_guide
包
catkin_make -DCATKIN_WHITELIST_PACKAGES="unitree_guide”
用sudo权限运行junior_ctrl
,操作与上文gazebo仿真中运行junior_ctrl
的步骤一样,不再赘述。
修改src/unitree_guide/unitree_guide/CMakeLists.txt
中的下述宏定义
set(CATKIN_MAKE OFF)
set(SIMULATION OFF)
set(REAL_ROBOT ON)
然后进入src/unitree_guide/unitree_guide
目录下
mkdir build && cd build
cmake ..
make -j8
用sudo权限运行junior_ctrl
,路径为:build/bin/junior_ctrl
参见铁蛋官方文档