1 环境配置

0 系统环境

  • Ubuntu 18.04 LTS (bionic)
  • Ubuntu 20.04.6 LTS (Focal Fossa)

18.04 的 Ubuntu 软件版本过于老旧,多个依赖无法满足版本要求,多种软件无法运行。

1 安装 ROS 1

在 Ubuntu 20.04 上即 ROS Noetic,与 ROS 2 的安装类似。

1.1 设置 sources.list

可以改为自己常用的镜像站。

sudo sh -c 'echo "deb https://mirrors.cernet.edu.cn/ros/ubuntu/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

1.2 设置密钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

1.3 安装

此处安装桌面完整版。

sudo apt update
sudo apt install ros-noetic-desktop-full

1.4 设置环境

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

1.5 构建工厂依赖

sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

1.6 初始化 rosdep

sudo rosdep init
rosdep update

2 安装更高版本的 cmake

如果使用 Ubuntu 18.04 版本,可能需要手动安装更高版本的 cmake,20.04 版本则应该不需要。

unitree_guide 项目以及其需要的 lcm 项目都需要更高版本的 cmake,但是 Ubuntu 18.04 提供的 cmake 是 3.10 版本,无法满足我们的需求,因此需要另外下载 cmake。

cmake 官网直接提供了打包好的二进制文件,无法直接覆盖安装 deb 包。因此我们将其下载下来后,使用 update-alternatives​ 命令来新建一条指向其的命令。

例如下载 3.30.5 版本的 cmake,将其解压至 ~/progs/cmake-3.30.5-linux-x86_64​ 文件夹下,即 cmake 路径为

~/progs/cmake-3.30.5-linux-x86_64/bin/cmake

使用update-alternatives​ 命令:

sudo update-alternatives --install /usr/bin/cmake cmake /home/bill/progs/cmake-3.30.5-linux-x86_64/bin/cmake 1 --force

之后使用 cmake​ 即调用 3.30.5 版本的 cmake 了。

3 编译安装 lcm

3.1 下载源码

Release v1.5.0 · lcm-proj/lcm

3.2 安装依赖

sudo apt-get install build-essential libglib2.0-dev python-dev

3.3 编译及安装

mkdir build
cd build
cmake ..
make
sudo make install

最后使用 lcm-tester​ 检查是否安装成功。

如果出现报错 error while loading shared libraries: liblcm.so.1: cannot open shared object file: No such file or directory​,则运行

sudo ldconfig -v

后再检查一次。

4 编译安装

4.1 下载软件包

根据官方文档(宇树科技 文档中心 (unitree.com))下载代码包。

4.2 编译

在工作空间目录下运行

catkin_make

如果报错未找到 move_base_msgs​ 包,则先运行

sudo apt-get install ros-noetic-move-base-msgs

在使用命令 sudo ./devel/lib/unitree_guide/junior_ctrl​ 启动控制器时,可能会报错某些动态库 so 文件找不到,需要编辑系统的动态库路径配置文件:

sudo vim /etc/ld.so.conf

在其中添加一行:

/opt/ros/noetic/lib

编辑保存后,运行以下命令即可生效。

sudo ldconfig