问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

宇树机器狗Unitree Go1开发指南1:安装Unitree工具包

创作时间:
作者:
@小白创作中心

宇树机器狗Unitree Go1开发指南1:安装Unitree工具包

引用
CSDN
1.
https://blog.csdn.net/ZJFJhanxi/article/details/137887419

本文是一篇关于宇树科技公司机器人Go1的开发指南,主要介绍了如何安装Unitree工具包。文章详细描述了基本条件、官方资料、工作空间创建、依赖安装、Gazebo仿真环境搭建以及在rviz和gazebo中可视化机器人的步骤。文章内容较为详细,适合初学者参考。

基本条件

本文使用的基本环境如下:

  • ROS1 noetic
  • Ubuntu 20.04 LTS
  • VS Code 1.87.2

官方资料

关于宇树机器人的一些资料网址也放在这里

  • 宇树官网:宇树科技—全球四足机器人行业开创者 (unitree.com)
  • 宇树文档中心:宇树科技 文档中心 (unitree.com)
  • Go1系列使用教学:Go1系列使用教学_哔哩哔哩_bilibili
  • 宇树SDK使用教学:宇树SDK使用教学_哔哩哔哩_bilibili

安装总共需要用到三个包:

  • unitree_ros:主要用于仿真(rviz,gazebo),包含了一些上层的运动算法.依赖于unitree_ros_to_real;
  • unitree_ros_to_real:封装了各种数据类型和电机的位置扭矩速度模式,依赖于unitree_legged_sdk;
  • unitree_legged_sdk:封装了通信协议和简单的机器人运动模式,如果要连接实体机器狗的话需要这个。

下面开始正式安装,按照下面的步骤一步步来,遇到问题先在网上搜一下,一般都能解决。

1、创建工作空间

在主目录下面打开终端(ctrl + alt + t),键入如下命令

mkdir -p ~/catkin_ws/src

这里我们创建了一个叫作catkin_ws的工作空间,然后我们进入到src里面

cd ~/catkin_ws/src

初始化仓库

catkin_init_workspace

此时src文件夹下面会多出一个 CMakeLists.txt 文件,这时候我们的工作空间算是创建好了,我们对其进行编译,记住要先回到工作空间下面

cd ~/catkin_ws/

然后再编译,命令如下:

catkin_make

编译完成之后,此时catkin_ws下应该有三个目录:build、 devel、 src。之前用过ROS的同学应该都知道,每次打开终端需要进行source一下,更新一下环境变量。也就是每打开一个终端,都需要下面的命令

source devel/setup.bash

这样难免有些麻烦,有个一劳永逸的办法如下

新开一个终端,输入

sudo gedit.bashrc

在最后面加上

source ~/catkin_ws/devel/setup.bash

保存之后关闭,然后再输入

source ~/.bashrc

这样以后就不用每次都要source了~

2、安装相关的依赖

2.1安装Gazebo9

之前安装过Gazebo的就不用管了,没有安装过的话请看这个教程(我给的这个教程是Ubuntu20.04,如果你是其他版本,自己去搜一下就行了,安装很简单的)

2.2安装unitree相关的文件

这里我们直接使用gitclone来下载相关的文件,首先打开终端,进入catkin_ws/src

cd ~/catkin_ws/src

安装unitree_ros_to_real

git clone https://github.com/unitreerobotics/unitree_ros_to_real

再安装unitree_ros

git clone https://github.com/unitreerobotics/unitree_ros

unitree_ros_to_real文件夹下面,只需要保存unitree_legged_msgs,其他的可以删除,也可以不管,然后把unitree_legged_msgs文件夹拿出来和unitree_ros放在同一目录下。

大家可以在资源管理器中操作,也可以在vscode里面操作,我在vscode里面操作之后,结构如下所示

2.3安装gazebo与ros的交互

新建终端,如果你是Melodic版本,就键入下面的命令,其他版本只需要把下面命令的Melodic换成你的版本就行了,注意版本一定要对哦。

sudo apt-get install ros-melodic-controller-interface  ros-melodic-gazebo-ros-control ros-melodic-joint-state-controller ros-melodic-effort-controllers ros-melodic-joint-trajectory-controller

然后要修改一下其中的一个world文件,否则后面会报错

其实就是把unitree换成你自己PC的名字,保证绝对路径的正确。

不知道自己电脑名字的同学,也可以这样操作

鼠标选中stairs.world文件,然后右键在集成终端中打开,在终端命令行输入pwd,就可以显示当前文件的系统路径了,然后再修改stairs.world文件。

3、rviz与gazebo可视化机器人

在终端中输入下面的命令,可以在rviz中查看机器狗

roslaunch laikago_description laikago_rviz.launch

结果如下图所示

不过rviz只是对机器狗的描述,不能够实际的操作,所以在gazebo中操作空间更大,新开一个终端,输入下面的命令,可以打开gazebo仿真界面

roslaunch unitree_gazebo normal.launch rname:=a1 wname:=stairs

其中rname表示机器人名称,可以是laikago、aliengo、a1或go1。 wname 表示世界名称,可以是地球、空间或楼梯。 rname 的默认值为 laikago,wname 的默认值为 Earth。在 Gazebo 中,机器人应该躺在地面上,且关节未激活。

结果如下图所示,可以看出现了机器狗以及周围的空间环境。

注意了,机器狗的初始姿态应该是完全趴在地上的,跟上面这张图一样,如果你的机器狗是站立状态或者是半蹲状态,就稍等一会,过一会他会自己趴下来的...

启动机器狗的话,我们就让他站起来,输入如下命令

rosrun unitree_controller unitree_servo

结果如下,机器狗站了起来。

你还可以通过下面这个指令添加外部干扰,例如推或踢(但是这个我还没搞懂机制,有时候多按几下直接把小狗踢翻了...)

rosrun unitree_controller unitree_external_force

下面我们演示一下如何在没有控制器的情况下控制机器人的位置和姿态,新开终端,键入下面命令

rosrun unitree_controller unitree_move_kinetic

这个命令是让机器狗沿着世界坐标系做圆周运动,效果如下所示

机器狗圆周运动

机器人会绕原点转动,这是在世界坐标系下的运动。在源文件move_publisher.cpp中,我们还提供了使用机器人坐标系进行移动的方法。你可以将def_frame的值更改为coord::ROBOT并再次运行catkin_make,然后unitree_move_publisher将在自己的坐标系下移动机器人。

总结

到这里,unitree安装就结束了,并且我们进行了几个比较简单的可视化操作,不过这些都是github官方开源文档里面的,想要实现更多功能大家还是得自己探索。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号