本人最近因为参加竞赛的原因需要用到宇树科技的a1机器狗,在这里写一个日志记录整个开发过程。由于是第一次使用,对linux相关知识欠缺,有什么不足的地方欢迎各位大神指出!欢迎各位讨论。
操作系统:ubuntu20.04
ROS noetic1.15.11
首先安装宇树科技的sdk.
进入主文件夹,输入:
git clone https://github.com/unitreerobotics/unitree_legged_sdk.git
如果速度比较慢也可以使用镜像源
git clone https://github.com.cnpmjs.org/unitreerobotics/unitree_legged_sdk.git
输入cd cd unitree_legged_sdk/进入文件夹
然后按照readme里的步骤,在终端依次输入
mkdir build
cd build
cmake ../
make
这样sdk就编译成功了
接下来安装宇树官方提供的几个功能包
首先在主目录下创建工作空间
mkdir unitree
cd unitree
mkdir src
cd src
通过镜像源安装功能包
git clone https://github.com.cnpmjs.org/unitreerobotics/unitree_ros.git
接下来按照文档里说的,打开主文件夹里的.bashrc文件
在主文件夹打开终端,输入
gedit .bashrc
在文档末尾添加
source /opt/ros/melodic/setup.bash
source /usr/share/gazebo-8/setup.sh
source ~/catkin_ws/devel/setup.bash
export ROS_PACKAGE_PATH=~/catkin_ws:${ROS_PACKAGE_PATH}
export GAZEBO_PLUGIN_PATH=~/catkin_ws/devel/lib:${GAZEBO_PLUGIN_PATH}
export LD_LIBRARY_PATH=~/catkin_ws/devel/lib:${LD_LIBRARY_PATH}
# 3_1, 3_2
export UNITREE_SDK_VERSION=3_2
export UNITREE_LEGGED_SDK_PATH=~/unitree_legged_sdk
export ALIENGO_SDK_PATH=~/aliengo_sdk
# amd64, arm32, arm64
export UNITREE_PLATFORM="amd64"
这里注意把上述部分catkin_ws全部改成你工作空间名,如我的工作空间叫unitree就把catkin_ws改成unitree
另外如果需要开发aliengo则把export UNITREE_SDK_VERSION=3_2改为export UNITREE_SDK_VERSION=3_1即可
如果没有安装aliengo的sdk可以把export ALIENGO_SDK_PATH=~/aliengo_sdk注释掉
接下来在工作空间目录下打开终端,输入
catkin_make
开始编译,这时我遇到了第一个问题
查看出问题的代码
可能是我ros上安装的gazebo版本和他开发使用的版本不太一样,也可能是别的原因。反正我暂时不需要用到gazebo的仿真,我这里直接把报错的代码注释掉了(第47、48行),以后需要了再想办法解决
继续catkin_make
可以看到编译成功
目前机器狗还没到我暂时就做到这里,有所不足欢迎各位指出!