Skip to content

fan-ziqi/cyberdog_sim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cyberdog_sim

小米铁蛋仿真。

环境

  • 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

使用仿真

rviz可视化

roslaunch cyberdog_description display.launch

拖动控制条即可可视化关节角度

gazebo仿真

开启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中进行更改

控制实物

注意:后空翻是实验功能,请勿于真机测试。步态还有问题,暂时不要测试。

在有ROS环境的主机中运行代码

修改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

交叉编译

参见铁蛋官方文档