legged-robot关于locomotion、Navigation任务主要文章速览
0. 前言
目前legged robot包括locomotion(怎么走)、navigation(往哪走)、人形机器人的whole body control以及基于机械臂的manipulation的任务。
本文章特此记录
一方面便于日后自己的温故学习,另一方面也便于大家的学习和交流。
如有不对之处,欢迎评论区指出错误,你我共同进步学习!
警告:这篇文章没有一句水话
1. 先验
1.1 四足机器人的机械结构:
- 液压驱动(液压系统的基本原理是利用密封管道内的液体,在不同压力的作用下产生力和运动)
- 电机驱动 (电机驱动的运动是通过调节电机的速度和扭矩来操纵关节的运动,操作时通常需要电池或其他形式的电源)
- 气体驱动 (气动驱动的四足机器人利用压缩空气或气体来驱动执行器,如气缸或气动肌肉,通过调节气体的压力实现运动)
1.2 步态设计
这里写下四足机器人的运动控制步态:
1.3 传统运动控制方法
这些都是不基于深度学习等方法的,都是基于传统运动控制的方法。
这里MPC是最耳熟能详的方法了,其他的就是了解。
下图包括基于模型和不基于模型的:
2. 正文
笔者记录一些论文的核心关键点,也就是主要框架,其他讲故事和实验的方面我就不再提及,因为这个地方主要看你的文笔好不好了,和技术没啥关系。
笔者这里就不贴出每个论文的跳转链接了,大家可以根据标题的名字自行搜索!
笔者速刷ArXiv,凝练一些关键词,细节部分可以自行品尝原文!!!
顺序不分先后。
2.1 Learning Quadrupedal Locomotion over Challenging Terrain
Science Robotics 2020
2020.Oct
Robotic Systems Lab, ETH Zurich, Zurich, Switzerland
这篇工作的主要特点是仅利用了四足机器人的本体信息(proprioceptive feedback),使用强化学习进行仿真环境训练和 zero-shot 的 sim-to-real 真实环境迁移,得到了能够在许多 challenging terrain 上成功的行走策略。
这篇工作提出privileged
观测,也就是特权观测,这个观测值比如:接触力度、地形轮廓、摩擦系数等,这些参数不是很好能在现实中获得,因为如果要获得就得加上很多的传感器,很冗余。这些观测输入给教师网络进行第一次训练。随后学生进行第二次训练。两阶段的学习任务。
还有环境自适应的课程算法
。能够逐渐调整地形难度
这基本就是之后locomotion任务的基础框架了
2.2 Learning Robust Perceptive Locomotion for Quadrupedal Robots in the Wild
Science Robotics, 19 Jan 2022, Vol 7, Issue 62
https://arxiv.org/abs/2201.08117
2022.1.20
这篇工作和上一篇工作的主要区别在于使用了感知信息(视觉、雷达)使四足能够获得更加完备的信息。
仿真使用RaiSim
听说这篇论文的工作量都可以发好几篇论文了
分析论文的相关博客
: https://zhuanlan.zhihu.com/p/583242760
Abstract
迄今为止最强大和最通用的腿式运动解决方案完全依赖于本体感受。这严重限制了运动速度,因为机器人必须先物理地感受地形,然后才能相应地调整步态。在这里,我们提出了一种稳健且通用的解决方案,用于将外部感受和本体感受整合到腿部运动中
propriception obs 本体观测值
exteroception obs 外体观测值:包括高城图
priviledged obs
具体如下图所是:
2.2.1 Main idea
门用来控制有多少的外部数据进入其中:
高层图加噪
不同的噪声等级
2.2.2 Teacher Policy
达到的效果是:既满足了现实世界中实体传感器的不可抗局限性,同时满足了策略本身
2.2.3 Student Policy
后面和之前的文章是一样的,计算重建损失函数和behavior损失函数:
不过重建损失是显式的。
2.2.4 部署
2.3 Extreme Parkour with Legged Robots 【】
特权观测:scandots、环境参数、通过waypoints引导的waypoints
2.4 Legged Locomotion in Challenging Terrains using Egocentric Vision
Egocentric:自我的、以自己为中心的
Conference on Robot Learning (CoRL), 2023.
scandots的首先提出
分两个阶段训练我们的运动策略,以避免太多样本的渲染深度。在第 1 阶段,我们使用 RL 训练策略 π1,该策略可以访问计算成本低的扫描点。在第 2 阶段,我们使用 π1 来提供另一个策略 π2 被训练来模仿的基本事实动作。这个学生可以访问来自前置摄像头的深度图。我们考虑两种架构 (1) 一个整体架构,它是一个 GRU,经过训练,可以输出与原始观察关节角度作为输入 (2) 使用 RMA [3] 训练的解耦架构,该架构经过训练以估计以基本前馈步行策略为条件的视觉和本体感觉潜伏期。
monolithic整体的
Mono结构
2.5 ANYmal Parkour: Learning Agile Navigation for Quadrupedal Robots【】
2023.6.26
还是ETH的
2.5.1 整体结构
- 感知模块:
感知模块接收来自机载摄像头和激光雷达的点云测量数据,并计算机器人周围地形的估计,以及表示场景belief state的紧凑潜在向量 - 定位模块:
5种action - 导航模块:
2.5.2 任务
1. locomotion任务
MPC,模型预测控制(MPC)可用于穿越需要精确脚位的具有挑战性的地形,但是在滑移或不完全地形感知的情况下,MPC往往失败
DRL,现在主流的方式,但仍然不能够开发他的全部潜力?????
Agile locomotion,
值得注意的例子包括跳跃和攀爬[2],做猫一样的落地动作[14],[15],从跌倒中恢复[16],[17],以及用足球运球[18],[19]。
2. navigation任务
通过从感知模块的潜在空间中提取3D信息,规划器能够根据其对地形的瞬时测量来选择子目标。
导航策略必须学习如何正确地组合每个技能的位置、航向和定时命令,以达到预期的效果。
这里可以看原始图像更高青:
根据高度不同,展示了机器人会如何决策:
整体:
作者还比较了不同的地形情况下,他们的方法和人工的手段进行比较:
3. Perception任务
it is equipped with a total of six Intel Realsense depth cameras (two in the front, two in the back, one left, one right), and a Velodyne Puck LiDAR
ROS控制
NVIDIA Jetson Orin部署percption
导航和运动策略从感知模块接收到的最后一条消息来推断它们各自的网络
第一列对应于测量结果,第二列对应于作为点云可视化的基线地图,最后一列对应于我们的重建
方法产生了一个多分辨率输出,将高分辨率输出(机器人周围2米的细化过程)涂成红色,将粗分辨率输出涂成蓝色,以便更好地区分。
雷达获取点云地形图
coarse:粗糙的
2.5.3 方法
1) Perception Module:
encoder-decoder的方法
事实上,靠近机器人,地图更小,分辨率更高,因为这个区域对运动至关重要。距离越远,分辨率越低,以获得更广阔的视野。这些区域的导航模块只需要对场景进行近似配置,即可进行路径规划和策略选择,因此分辨率较低就足够了。
voxel(立体像素)
高分辨率网络使用粗分辨率网络最后一层的特征作为输入,以及点云测量。注意,它没有使用自回归反馈,因为时间信息已经包含在它的输入中
2) Locomotion Module:
作为输入,策略接收当前本体感觉状态、周围地形的局部地图、中间命令,并向电机输出位置命令。
这些技能是分开训练的,共享观察和行动空间,但需要不同的奖励和终止条件,以便有效地训练
使用的是基于位置的命令,而不是基于track vel的命令:训练设置与[2]非常相似,并使用基于位置的命令。机器人必须在给定的时间内到达目标位置,而不是跟踪速度命令
除了位置和时间命令外,我们还添加了一个航向目标,指定了机器人在轨迹结束时必须采用的偏航方向。
当导航模块接收到地图的完整3D表示时,由于运动策略的高更新率和训练期间相应的计算成本,这对于运动策略来说是不切实际的。他们在机器人周围使用2.5D高程图
,这可以直接从感知模块的点云输出中计算出来
3) Navigation Module:
它由运行5赫兹navigation module的外环和运行50赫兹locomotion module的内环组成。
训练的时候,locomotion的inner loop被冻住。
At every high-level time step, the navigation policy receives the relative position of the final goal, the remaining time to accomplish the task, the robot's base velocity, orientation, and the latent tensor of the perception module
在每个高级时间步长,导航策略接收最终目标的相对位置、完成任务的剩余时间、机器人的基本速度、方向和感知模块的潜在张量
2.6 RMA: Rapid Motor Adaptation for Legged Robots 【】
2021.1.8
RMA: Rapid Motor Adaptation for Legged Robots
提出了RMA模型,可以根据以往的历史信息来学习
两阶段训练,base policy:100HZ和adaptive policy:10HZ
2.7 Learning to walk in minutes using massively parallel deep reinforcement learning【】
CoRL 2022
机器人并行训练,github的legged-gym被世人传唱。
train框架
sim2sim
sim2real
*2.8 Learning Agile and Dynamic Motor Skills for Legged Robots 【】
2019年的,太早了
2.9 Robot Parkour Learning
庄子文大佬的文章,之前有幸线上听过他的讲座。
2.10 DreamWaQ: Learning Robust Quadrupedal Locomotion With Implicit Terrain Imagination via Deep Reinforcement Learning
2023.3.3
DreamWaQ训练运动策略隐式地推断地形属性,如高度图、摩擦、恢复和障碍物。
1、非对称的AC
2、latent(上下文辅助器)
我才看懂论文里这个w/o是啥意思,是without的意思。。。。w/是with的意思。。。。。
2.11 Concurrent Training of a Control Policy and a State Estimator for Dynamic and Robust Legged Locomotion
2022.3
IEEE Robotics And Automation Letters
2.12 CTS: Concurrent Teacher-Student Reinforcement Learning for Legged Locomotion
2024.9.1
IEEE ROBOTICS AND AUTOMATION LETTERS
教师和学生并行训练,将两阶段合并为一个阶段。我们直接来看结构:
为了学习最优策略,机器人需要从可用的观测ot中推断出其当前状态st。由于环境的部分可观察性,通常不可能从单个观察中推断出实际状态。因此,推理问题 p(st|ot, ot−1, · · · , ot−n) 需要观察的历史序列。
文章通过将并行代理分为两组,称为教师组和学生组,同时训练教师和学生策略,然后使用上图所示的非对称演员-评论家框架,其中教师策略包括特权编码器和Policy Network,学生策略包括本体感知编码器和Policy Network。
两组中的代理都使用近端策略优化 (PPO) 进行训练,而它们共享相同的策略网络 πθ 和评论家网络 Vφ。
最近的工作利用变分自动编码器 (VAE) 或师生学习来隐式推断状态或与任务相关的信息。文章整合了这两种方法的优点,并采用近端策略优化 (PPO) 进行训练。
然后再来关注一下二者的损失函数:
PPO损失函数:(这些就是PPO算法里面的公式,不属于本片作者的工作范畴,他就是引用了下,略过)
1、actor的
2、critic的
3、PPO算法
关于PPO算法还不懂得可以看我之前写的博客
4、TS网络的损失函数:
直接把隐变量作MSE:
他这个网络结构也比较清晰哈哈:
*2.13 A Walk in the Park: Learning to Walk in 20 Minutes With Model-Free Reinforcement Learning
由于样本效率低下,深度强化学习应用主要集中在模拟环境上
不建议newer看原文,找不到要点,这篇不建议看,扫一下目录就行
2.14 Learning Robust and Agile Legged Locomotion Using Adversarial Motion Priors
2023.8
看了b站视频,效果很惊艳!跑的很快
这些工作只显示了在具有挑战性的地形上低速或中等速度的运动,而没有测试自然地形上的高速运动,所以文章提点来进行实操。
legged movements in the experiments of the papers employing RL methods are unnatural and jerky
:现有文章的效果腿部不自然
AMP是动画领域,使用GAN来模仿生成逼真动作的一个方法。下面引用自AMP
这篇论文:
Generative adversarial imitation learning (GAIL) -------GAN(Generative adversarial network)
这里简单介绍下AMP
AMP主要利用了对抗的方式,利用state-to-state方式进行训练,尽可能的缩小数据集里的state-to-state pair和现实里通过policy生成的state-to-state pair之间的差距
最终可以完成很多不可思议的操作
我们再回到这篇论文:
AMP应该是用在了后面的这个地方:
通过一个轨迹的优化,相当于AMP的Dataset,继而通过GAN将state-to-state pair和真实的的做GAN discriminator,得到的结果作为一个奖励函数,最后做一个加权。
其中奖励函数包括:目标奖励函数、风格奖励函数和正则化奖励函数(应该是用来方式过拟合)
- 风格奖励函数:
- 判别器的目标函数:
接下来可以来查看这个数据集是怎么构建的:
引自《Gait and Trajectory Optimization for Legged Systems Through Phase-Based End-Effector Parameterization》
ICRA 2018 主要是基于轨迹优化的方法生成各式腿足机器人的多种步态TO
提出了一种TOWR的方法,能够实现产生这种Dataset用来学习
最终通过这种方式进行优化,这是第一个阶段:
论文里经常出现roll out这个词:
2.15 A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning
解读论文:
https://zhuanlan.zhihu.com/p/140939491
2011年的论文:
经常会在locomotion任务iu的论文里看到这样一句话:
于是总是来到这个所谓的 DAgger
,这下不得不仔细看看了。
这个不属于策略,这是一种方法,我看前面的论文总是提到这种方法,因此我就记录在这里了
DAgger (Dataset Aggregation)
旨在解决模仿学习的两个问题:
- 传统的学习一个classifier或regressor的方式,不适用于序列决策过程。因为t时刻的预测会影响t+1, ..., t+n时刻的状态,这违背了统计学中的 iid(独立同分布假设);
- 误差累积。
算法流程:
一开始我们令\(\beta_1 = 1\),即用expert policy获取初始数据。然后再随着训练过程指数级衰减这个系数\(\beta_i = p^{i-1}\) :
带上角标E
的是专家expert策略
说白了一句话:DAgger在每一次迭代中利用当前的policy收集数据,然后利用所有的数据集训练下一次的policy。
regret 指预测者(forecaster)的累计损失与专家(expert)之间的差,其用于度量预测者在事后有多后悔没有跟随专家的指导。
2.16 Walk These Ways: Tuning Robot Control for Generalization with Multiplicity of Behavior
2022.12.6
https://github.com/Improbable-AI/walk-these-ways
2022.dec.6
Conference on Robot Learning (CoRL)
多步态
解析论文:
https://blog.csdn.net/qq_23096319/article/details/137370675
Abstract
学习一个单一的策略,该策略编码一个结构化的运动策略家族,以不同的方式解决训练任务,从而产生行为多样性(MoB)
不同的策略有不同的概括方式,可以在新的任务或环境中实时选择,而无需耗时的再培训
发布了一个快速,强大的开源MoB运动控制器----Walk These Ways,可以执行不同的步态与可变的脚摆,姿势和速度,解锁不同的下游任务:蹲伏、跳跃、高速跑步、楼梯穿越、支撑对推搡、有节奏的舞蹈等
MoB的任务框架:
2.17 Hybrid Internal Model: Learning Agile Legged Locomotion with Simulated Robot Response
这篇工作故事讲的比较好,对前人的工作总结的比较到位。
2024.1.2
HIM模型
two-phase training paradigm 两阶段的学习范式
故事讲的不错,将高程图和地面摩擦等作为系统扰动,受到经典IMC的启发,Internal Model Control (PID)的启发。
论文里小小的总结了一下前人的这些方法,同时基于模仿学习的训练方法可以被分为两个类别The mimic learning methods can be categorized into two main frameworks: adaptation and teacher-student.:
1、Teacher-Student refers to (Miki et al., 2022a) 基于T-S的方法
2、MONO means (Agarwal et al., 2023)
3、AMP means Adversarial Motion Priors (Wu et al., 2022; Escontrela et al., 2022)
4、RMA means Rapid Motor Adaptation (Kumar et al., 2021) 基于Adaption的方法
其中Ot包含:
采用对比学习:
2.13 DayDreamer: World Models for Physical Robot Learning
CoRL 2022
这是model-based的方法
agent和环境进行交互,得到的数据先学一个World Model,给定state和action预测next state
agent和环境进行交互,得到的数据先学一个World Model,给定state和action预测next state,当然都是在latent space里的,所以上图a有一个encoder和decoder去训练这个embedding state。
而你会发现这里还有个h,h是rnn的state,然后这个state是个概率状态,所以z是从h里sample出来的。
实际训练的时候就用右边图b这种方式在latent space里训练policy。
然后根据Plan2explore,实际在训练时会训练两个policy,一个policy用于给world model收集数据,另一个policy用于完成某种任务。因此在world model里面会有两种reward function,一种是Intrinsic reward,用于探索world以提供更高质量的数据给world model,一种是task reward用于训练完成任务的policy。
但作者在文章里似乎就用了DreamerV2,没有Intrinsic reward
在实验部分作者准备了四种不同的机器人:
选这四个机器人是因为可以包括连续和离散的动作空间,参数和视觉观测空间,绸密和稀疏的奖励函数
2.18 Coupling Vision and Proprioception for Navigation of Legged Robots
CVPR 2022
2.19 Learning vision-guided quadrupedal locomotion end-to-end with cross-modal transformers
ICLR 2022
2.20 Learning a Unified Policy for Whole-Body Control of Manipulation and Locomotion
本文的目标是将四足机器人本身的运动和机械臂的操作作为一个整体来进行控制,控制器可以同时输出四足的运动策略和机械臂的操作策略
2.21 Rapid Locomotion via Reinforcement Learning
mit 2022.5.5 arxiv
狗子的快速移动
used RL to train Mini Cheetah to learn high-speed movements over natural terrains.
3. 后记
这篇博客暂时记录到这里,日后我会继续补充。
legged-robot关于locomotion、Navigation任务主要文章速览的更多相关文章
- PHP正则提取或替换img标记属性实现文章预览
今天在想如何实现文章预览时,如果文章里面包含照片,那么就选取第一张照片作为预览图,如果没有照片,则截取文章的头150个字作为预览文字,但是因为保存在数据库的文章都是以富文本的形式,没办法直接提取,在网 ...
- bbs项目引入富文本编辑器和处理xss攻击和文章预览
一.富文本编辑上传文章和图片 富文本编辑器我们使用kindeditor,我们首先去官网下载,然后解压,放到我们的static的目录中 然后我们在html中这样使用富文本编辑器 <!DOCTYPE ...
- PHP如何生成文章预览图
PHP如何生成文章预览图 一.总结 一句话总结:php的wkhtmltox扩展,php官方文档有怎么使用,或者github,或者百度,等等等等 wkhtmltox 1.PHP如何自动生成文章预览图? ...
- javafx实现读者文摘上的文章预览及下载
功能设计: 1.实现读者文章的预览及下载 (实现了单击预览,双击下载) 2.实现文章查找 (实现了通过文章名查找(关键字)或者文章期数或年份(或者年份加期数)) 实现步骤: 首先是数据库设计: 数据库 ...
- robot framework 安装配置
robot framework 是一款专门用作自动化测试的框架,提供了丰富的内置库,与第三方库,也支持用户自己编写的库,robot framework +library 可以 用来做ui的自动化测试, ...
- [Windows Phone] 导览控制项(Navigation controls)
原文:[Windows Phone] 导览控制项(Navigation controls) [前言] 如果应用程式只有单一页面,在画面呈现上可能会让使用者容易没有新鲜感,这个范例是使用导览控制项(Na ...
- ROS机器人程序设计(原书第2版)补充资料 (捌) 第八章 导航功能包集入门 navigation
ROS机器人程序设计(原书第2版)补充资料 (捌) 第八章 导航功能包集入门 navigation 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中 ...
- Robot Framework 源码解析(1) - java入口点
一直很好奇Robot Framework 是如何通过关键字驱动进行测试的,好奇它是如何支持那么多库的,好奇它是如何完成截图的.所以就打算研究一下它的源码. 这是官方给出的Robot framework ...
- Roomblock: a Platform for Learning ROS Navigation With Roomba, Raspberry Pi and RPLIDAR(转)
What is this? "Roomblock" is a robot platform consists of a Roomba, a Raspberry Pi 2, a ...
- 【目录】本博客其他.NET开源项目文章目录
本博客所有文章分类的总目录链接:本博客博文总目录-实时更新 1.本博客其他.NET开源项目文章目录 37..NET平台开源项目速览(17)FluentConsole让你的控制台酷起来 36..NET平 ...
随机推荐
- 推荐给初级Java程序员的3本进阶书
ImportNew 注: 原作者在这篇文章中介绍3本不错的技术书籍.作者认为这些书籍对新手或者学生而言尤其有帮助.通过一些基础性的教程入门后,我们可以使用Java做基础性的编程.然而,当我们需要从初级 ...
- Tornado框架之项目部署(六)
知识点 supervisor配置与使用 nginx配置 目录: 部署Tornado 1. supervisor 安装 配置 启动 supervisorctl 2. nginx 部署Tornado 为了 ...
- JAVA WEB和Tomcat各组件概念
概述 本篇文章是https://juejin.cn/post/7055306172265414663,这篇文章的再总结,剔除了与Java安全研究没太大关系的内容,对JAVAWEB中的Servlet.F ...
- 3-XSS渗透与防御
1.HTTP协议回顾 XSS又名跨站脚本攻击 web页面登陆页面,往往有一个"记住密码"功能 ---> Cookie 1.1 HTTP流程 1.2 HTTP特点: 请求应答模 ...
- LeetCode题集-7 - 整数反转
题目:给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果.如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0. 假设环境不允许存储 ...
- 高中生入门学习c/c++指导
一.c与c++关系 参考图示: 可见,c与c++的基本部分是相同的,会有一些小区别,不妨一起学.DEV-C++能支持C++和C语言编程 二.学习资料网站介绍 1.C语言初阶--手把手教零基础/新手入门 ...
- 鸿蒙开发之PixelMap介绍与实现图片变换
本文所学技术可以用在哪 很多读者一看这个文章标题,可能根本不知道能干嘛,且不感兴趣.所以咱们先说说,今天写的这个技术有没有用. 首先,猫林老师即将给大家写的<原生AI之文字识别>就得用到这 ...
- StreamJsonRpc.ConnectionLostException 在请求完成之前, 与远程方的 JSON-RPC 连接已丢失
今天电脑重启之后,发现 visual studio 2022 的智能提示与报错经常性不好用,不光不能在正常时候提示代码错误信息,甚至在编译过后也不提示错误.反复重启,刚开始正常,隔一会儿就会提示什么什 ...
- WPS在ArchLinux常见问题
问题简述wps在aur源上有包,直接下载安装即可,但是通过包管理器安装的wps会出现一些奇怪的问题,我遇到的有两个: wps在打开时提示缺少字体wps word不能导出pdf文档,同时wps pdf也 ...
- Win11右键显示更多选项设置教程
Win11如何设置右键显示更多选项?如果你觉得每次右键菜单,都是需要点击"显示更多选项"十分麻烦,那么可以通过设置,让其直接显示出现.那么应该如何操作呢?下面小编就为大家带来具体的 ...