四足机器人控制算法——建模、控制与实践(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

相关文章

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG