CMU和ETH联合研发了一个名为 「敏捷但安全」的新框架,为四足机器人在复杂环境中实现高速运动提供了解决方案

本文主要是介绍CMU和ETH联合研发了一个名为 「敏捷但安全」的新框架,为四足机器人在复杂环境中实现高速运动提供了解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在高速机器人运动领域,实现同时兼顾速度和安全一直是一大挑战。但现在,卡内基梅隆大学(CMU)和苏黎世联邦理工学院(ETH)的研究团队带来了突破性进展。他们开发的新型四足机器人算法,不仅能在复杂环境中高速行进,还能巧妙避开障碍,真正做到了「敏捷而安全」。

在这里插入图片描述

论文地址: https://arxiv.org/pdf/2401.17583.pdf

在 ABS 的加持下,机器狗在各种场景下都展现出了惊艳的高速避障能力:

障碍重重的狭窄走廊:

在这里插入图片描述

凌乱的室内场景:
在这里插入图片描述

无论是草地还是户外,静态或动态障碍,机器狗都从容应对:

在这里插入图片描述

遇见婴儿车,机器狗灵巧躲闪开:

在这里插入图片描述

警告牌、箱子、椅子也都不在话下:

在这里插入图片描述

对于突然出现的垫子和人脚,也能轻松绕过:

在这里插入图片描述

机器狗甚至还可以玩老鹰捉小鸡:

在这里插入图片描述

ABS 突破性技术:

RL+ Learning model-free Reach-Avoid value

ABS 采用了一种双策略(Dual Policy)设置,包括一个「敏捷策略」(Agile Policy)和一个「恢复策略」(Recovery Policy)。敏捷策略让机器人在障碍环境中快速移动,而一旦 Reach-Avoid Value Estimation 检测到潜在危险(比如突然出现的婴儿车),恢复策略就会介入,确保机器人安全。

在这里插入图片描述

创新点 1:怎么训练一个敏捷策略 Agile Policy?

敏捷策略的创新之处在于,与以往简单地追踪速度指令不同,它采用目标达成(position trakcing)的形式来最大化机器人的敏捷性。这一策略训练机器人发展出感知运动技能,以在没有碰撞的情况下达到指定目标。通过追求基座高速度的奖励条件,机器人自然学会在避免碰撞的同时实现最大敏捷性。这种方法克服了传统速度追踪(velocity tracking)策略在复杂环境中可能的保守限制,有效提高了机器人在障碍环境中的速度和安全性。Agile Policy 在实机测试中极速达到了 3.1m/s

在这里插入图片描述

创新点 2:学习 Policy-conditioned reach-avoid value

「达防」(Reach-Avoid, RA)值学习的创新之处在于,它采用了无模型的方式学习,与传统的基于模型的可达性分析方法不同,更适合无模型的强化学习策略。此方法不是学习全局 RA 值,而是使其依赖于特定策略,这样可以更好地预测敏捷策略的失败。通过简化的观测集,RA 值网络可以有效地概括并预测安全风险。RA 值被用于指导恢复策略,帮助机器人优化运动以避免碰撞,从而实现在保证安全的同时提高敏捷性的目标。

下图展示了针对特定障碍物集合学习到的 RA(达防)值。随着机器人速度的变化,RA 值的分布景观也相应变化。RA 值的符号合理地指示了敏捷策略的安全性。换句话说,这张图通过不同的 RA 值展示了机器人在不同速度下,面对特定障碍物时的安全风险程度。RA 值的高低变化反映了机器人在不同状态下执行敏捷策略时可能遇到的安全风险。

在这里插入图片描述

创新点 3:用 Reach-Avoid Value 和恢复策略来拯救机器人

恢复策略的创新之处在于,它能使四足机器人快速追踪线速度和角速度指令,作为一种备用保护策略。与敏捷策略不同,恢复策略的观测空间专注于追踪线速度和角速度命令,不需要外部感知信息。恢复策略的任务奖励专注于线性速度追踪、角速度追踪、保持存活和保持姿势,以便平滑切换回敏捷策略。这种策略的训练同样在仿真环境中进行,但有特定的域随机化和课程设置,以更好地适应可能触发恢复策略的状态。这种方法为四足机器人提供了在高速运动中快速应对潜在失败的能力。

在这里插入图片描述

下图展示了当恢复策略在两个特定情况(I 和 II)下被触发时,RA(达防)值景观的可视化展示。这些可视化展示是在 vx(沿 x 轴的速度)与 ωz(绕 z 轴的角速度)平面以及 vx 与 vy(沿 y 轴的速度)平面上进行的。图中显示了搜索前的初始旋转状态(即机器人基座当前的旋转状态)和通过搜索得到的命令。简单来说,这些图表展示了在特定条件下,通过恢复策略搜索得到的最佳运动指令,以及这些指令如何影响 RA 值,从而反映机器人在不同运动状态下的安全性。

鲁棒性测试

作者在「12kg 负载 / 篮球撞击 / 脚踢 / 雪地」的四个场景下测试了 ABS 框架的鲁棒性,机器狗都从容应对:

在这里插入图片描述

这篇关于CMU和ETH联合研发了一个名为 「敏捷但安全」的新框架,为四足机器人在复杂环境中实现高速运动提供了解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java的栈与队列实现代码解析

《Java的栈与队列实现代码解析》栈是常见的线性数据结构,栈的特点是以先进后出的形式,后进先出,先进后出,分为栈底和栈顶,栈应用于内存的分配,表达式求值,存储临时的数据和方法的调用等,本文给大家介绍J... 目录栈的概念(Stack)栈的实现代码队列(Queue)模拟实现队列(双链表实现)循环队列(循环数组

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

Android实现在线预览office文档的示例详解

《Android实现在线预览office文档的示例详解》在移动端展示在线Office文档(如Word、Excel、PPT)是一项常见需求,这篇文章为大家重点介绍了两种方案的实现方法,希望对大家有一定的... 目录一、项目概述二、相关技术知识三、实现思路3.1 方案一:WebView + Office Onl

C# foreach 循环中获取索引的实现方式

《C#foreach循环中获取索引的实现方式》:本文主要介绍C#foreach循环中获取索引的实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、手动维护索引变量二、LINQ Select + 元组解构三、扩展方法封装索引四、使用 for 循环替代

Spring Security+JWT如何实现前后端分离权限控制

《SpringSecurity+JWT如何实现前后端分离权限控制》本篇将手把手教你用SpringSecurity+JWT搭建一套完整的登录认证与权限控制体系,具有很好的参考价值,希望对大家... 目录Spring Security+JWT实现前后端分离权限控制实战一、为什么要用 JWT?二、JWT 基本结构

Java实现优雅日期处理的方案详解

《Java实现优雅日期处理的方案详解》在我们的日常工作中,需要经常处理各种格式,各种类似的的日期或者时间,下面我们就来看看如何使用java处理这样的日期问题吧,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言一、日期的坑1.1 日期格式化陷阱1.2 时区转换二、优雅方案的进阶之路2.1 线程安全重构2

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

使用Python实现图像LBP特征提取的操作方法

《使用Python实现图像LBP特征提取的操作方法》LBP特征叫做局部二值模式,常用于纹理特征提取,并在纹理分类中具有较强的区分能力,本文给大家介绍了如何使用Python实现图像LBP特征提取的操作方... 目录一、LBP特征介绍二、LBP特征描述三、一些改进版本的LBP1.圆形LBP算子2.旋转不变的LB