【四足机器人】强化学习实现minitaur运动控制(介绍篇)

101
0
2021年1月9日 09时17分

一、minitaur 简介

 

这是来自宾夕法尼亚大学的一款机器人,叫 Minitaur,看图你就明白了。

 

微信图片_20210106155224微信图片_20210106155228微信图片_20210106155231微信图片_20210106155234微信图片_20210106155236

 

四足机器人的运动控制通常需要大量的专业知识,以及突如其来的灵感(调参)。在之前的文章中,我们就用了很大的一个篇幅来讲控制信号的生成以及调节(详情请参考开头给出的两篇文章),然而这只是产生四足机器人能够完成周期性运动的控制信号而已,还有转向控制,各种信号反馈调节,例如各种环境的适应性调节,或者是最基本的机体的平衡调节,等等……所以想要靠传统的数学建模的方法来设计一个完整的足式机器人运动控制系统是一个非常庞大的工程。

 

ps:当然不排除会有非常简洁的数学模型,毕竟小编也只接触过几个方案,也没有进行过横向对比(因为懒)。

 

Anyway,我们接下来要用强化学习来实现四足机器人的基本运动(仅仅只是开始)。利用简单的奖励信号让机器人从零开始学习四足动物的运动,这是一件多么美妙的事情。

 

这个系列的内容基本上会根据这篇 – 论文 – 来展开叙述,有英文基础的可以去看一下原文,我的文章会在原理的基础上加上pybullet仿真的实战代码,大家也可以自己装一下尝试一下。

 

二、论文概要

 

1、摘要

 

微信图片_20210106155359

 

在论文中,研究人员提出了一个利用深度强化学习技术来自动化建立一个机器人控制策略。利用简单的奖励信号让仿真环境中的minitaur学习如何行走以及保持行走过程中的平衡。

 

论文当中还提到,当用户需要对步态进行更多的控制时,可以提供一个额外的开环控制信号来指导学习过程。控制策略在仿真环境(bullet)中学习,然后部署到真实的机器人上。然而在机器人技术中,经过模拟训练的策略通常不能直接转移到现实世界中执行。研究人员通过改进物理模拟器和学习鲁棒策略来缩小这一现实差距。利用系统辨识技术,建立了精确的执行器模型,设定仿真的时延。随机化物理环境、添加扰动和设计一个紧凑的观测空间来学习鲁棒控制器。最后研究人员用数据评估该模型在两个敏捷运动步态(小跑和疾驰)的表型。通过仿真学习,四足机器人可以在真实世界中成功地完成这两种步态。

 

总结:

  • 一个可以直接从仿真环境移植到现实中的策略模型
  • 策略模型能够接受用户提供的控制信号
  • 该策略模型通过在特定的仿真模型训练可以实现

 

pybullet给出的案例效果:

 

微信图片_20210106155416

 

2、硬件结构

 

微信图片_20210106155432

 

机器人平台是来自Ghost Robotics的Minitaur,这是一个四足机器人,带有八个直接驱动执行器。每条腿由两个执行器控制,使其在矢状面上移动。电动机可以通过位置控制或脉冲宽度来驱动

 

Minitaur装备有测量电机角度的电机编码器和测量基座方向和角速度的IMU。STM32 ARM微控制器向执行器发送命令,接收传感器读数,并可以执行简单的计算。然而,该微控制器不足以执行从深度RL中学习到的神经网络策略。因此,我们安装了Nvidia Jetson TX2来执行神经网络推断。TX2通过UART通信与单片机接口。在每一个控制步骤中,传感器的测量数据被收集到微控制器中,并被发送回TX2,在那里它们被输入到一个神经网络策略中,以决定要采取的行动。这些动作随后被传输到微控制器并由执行器执行。由于TX2不运行实时操作系统,因此控制回路以大约150-200Hz的可变控制频率运行。

发表评论

后才能评论