四足机器人控制算法——建模、控制与实践(unitree_guide配置)

本文主要是介绍四足机器人控制算法——建模、控制与实践(unitree_guide配置),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

官方文档

unitree_guide

1. 快捷指令

2. ROS安装

3. LCM库安装

3.1. 安装步骤

4. pthread库

5. 工程文件下载

6. 编译

报错:

报错1

报错2:

报错3

其他报错

7. 运行

7.1. 运行 Gazebo 仿真环境

7.2. 启动控制器

8. 简单使用


官方文档

宇树科技 文档中心

  1. 四足机器人算法实践
  2. 宇树官方开源

我使用的是Ubuntu 20.04 + ROS noetic 环境。


unitree_guide

1. 快捷指令

如果以下配置都已经完成,直接使用以下三条指令,快速完成Go1的配置:

// 在~/catkin_ws下打开第一个终端
source ./devel/setup.bash
roslaunch unitree_guide gazeboSim.launch// 在~/catkin_ws下打开第二个终端
sudo ./devel/lib/unitree_guide/junior_ctrl

2. ROS安装

参考 ROS—1. ROS安装

3. LCM库安装

LCM(Lightweight Communications and Marshalling)是一组用于消息传递和数据编组的库和工具,其基于UDP传输的属性,传输速度较快,其目标是高带宽和低延迟的实时系统。它提供了一种发布/订阅消息传递模型以及带有各种编程语言C++、Java、python等应用程序绑定的自动编组/解组代码生成,LCM通过将消息封装在不同的Channel中进行通信,这点类似于ROS中的Topic。

网址:GitHub - lcm-proj/lcm: Lightweight Communications and Marshalling

LCM Documentation — LCM documentation

LCM库的简单使用-腾讯云开发者社区-腾讯云

3.1. 安装步骤

  • 安装编译依赖:
sudo apt-get install build-essential autoconf automake autopoint libglib2.0-dev libtool openjdk-8-jdk python-dev
  • GitHub上下载releases,我下载的是V1.5.0版本

  • 将下载的压缩包解压到:主目录

  • 进入 lcm-1.5.0打开终端输入:
mkdir build
cd build
cmake ..
make
make install
  • 上面完成了LCM的安装。然后告诉系统lib的库所在位置:
export LCM_INSTALL_DIR=/usr/local/lib
sudo sh -c "echo$LCM_INSTALL_DIR> /etc/ld.so.conf.d/lcm.conf"
sudo ldconfig
  • 配置pkgconfig:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$LCM_INSTALL_DIR/pkgconfig
  • 以上步骤都完成后:输入指令lcm-tester以测试是否已经安装 LCM。 若终端显示的内容与下图类似,则表示已经安装 LCM。

4. pthread库

一个多线程库。

运行 getconf GNU_LIBPTHREAD_VERSION 命令以测试是否已经安装pthread库。若可以显示版本信息,则说明 pthread 库已经安装。

5. 工程文件下载

到宇树Github下载这三个文件:

  1. unitree_guide :
    GitHub - unitreerobotics/unitree_guide
  2. unitree_ros :
    GitHub - unitreerobotics/unitree_ros
  3. unitree_legged_msgs :
    GitHub - unitreerobotics/unitree_ros_to_real

6. 编译

打开一个终端,并将工作路经切换至包含 unitree_guide 工程的 ros 工作空间的根目录下(本文假设该路经为 ~/catkin_ws ),并在终端输入下列命令开始编译该工程: catkin_make

编译通过后,显示如下:进度条100%

如果出现报错,就安装对应的包。

报错:

报错1

比如出现这个报错:Could not find the required component 'move base msgs'. The followingCMake eror indicates that you either need to install the package with the same name orchange your environment so that it can be found.

原因:此报错是由于move_base_msgs缺失引起的,使用如下命令安装这个功能包:

sudo apt-get install ros-noetic-navigation
报错2:

pip3 install pyyaml
报错3

出现报错:AttributeError: module 'em' has no attribute 'RAW_OPT'

解决办法:pip3 install empy==3.3.4

其他报错

其他类似报错参考:开源四足机器人代码踩坑指南

7. 运行

7.1. 运行 Gazebo 仿真环境

在同一个终端中,执行下列命令:source ./devel/setup.bash

然后执行下列命令来打开 Gazebo 仿真环境:roslaunch unitree_guide gazeboSim.launch

出现报错:

解决方法:

pip3 install rospkg

正确运行后,会跳出 Gazebo 仿真器窗口,并且 Go1 机器人会躺在仿真环境中的地面上。要想让机器人动起来,还需要启动控制器。

7.2. 启动控制器

打开另外一个终端,并切换至相同路径下(本文假设该路经为~/catkin_ws ),然后输入下列命令以启动控制器:sudo ./devel/lib/unitree_guide/junior_ctrl

报错:./devel/lib/unitree_guide/junior_ctrl: error while loading shared libraries: libxmlrpcpp.so: cannot open shared object file: No such file or directory

解决方法:宇树科技 文档中心

添加修改:

/opt/ros/noetic/lib
/usr/local/lib

配置成功后,显示:

8. 简单使用

选中在上一步中用来启动控制器的终端,然后按下键盘上的 “2” 键。此时在 Gazebo 环境中的机器人会站起来,同时终端会显示:

“Switched from passive to fixed stand”

在仿真环境中,按下键盘上的 W A S D 键 分别控制机器人 前进 左平移 后腿 右平移。按下键盘上的 J L 键 分别控制机器人 左转 右转

这篇关于四足机器人控制算法——建模、控制与实践(unitree_guide配置)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1127825

相关文章

PyCharm中配置PyQt的实现步骤

《PyCharm中配置PyQt的实现步骤》PyCharm是JetBrains推出的一款强大的PythonIDE,结合PyQt可以进行pythion高效开发桌面GUI应用程序,本文就来介绍一下PyCha... 目录1. 安装China编程PyQt1.PyQt 核心组件2. 基础 PyQt 应用程序结构3. 使用 Q

Redis MCP 安装与配置指南

《RedisMCP安装与配置指南》本文将详细介绍如何安装和配置RedisMCP,包括快速启动、源码安装、Docker安装、以及相关的配置参数和环境变量设置,感兴趣的朋友一起看看吧... 目录一、Redis MCP 简介二、安www.chinasem.cn装 Redis MCP 服务2.1 快速启动(推荐)2.

在Java中使用OpenCV实践

《在Java中使用OpenCV实践》用户分享了在Java项目中集成OpenCV4.10.0的实践经验,涵盖库简介、Windows安装、依赖配置及灰度图测试,强调其在图像处理领域的多功能性,并计划后续探... 目录前言一 、OpenCV1.简介2.下载与安装3.目录说明二、在Java项目中使用三 、测试1.测

MyBatis-Plus 自动赋值实体字段最佳实践指南

《MyBatis-Plus自动赋值实体字段最佳实践指南》MyBatis-Plus通过@TableField注解与填充策略,实现时间戳、用户信息、逻辑删除等字段的自动填充,减少手动赋值,提升开发效率与... 目录1. MyBATis-Plus 自动赋值概述1.1 适用场景1.2 自动填充的原理1.3 填充策略

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成