绳牵引并联机器人动态避障方法

绳牵引并联机器人在受限空间中如何躲避动态障碍物,是个有挑战的课题。

来自哈尔滨工业大学(深圳)的熊昊老师团队,开展了一项有趣的研究,论文《Dynamic Obstacle Avoidance for Cable-Driven Parallel Robots With Mobile Bases via Sim-to-Real Reinforcement Learning》发表在SCI&EI收录期刊IEEE Robotics and Automation Letters上。

熊昊老师团队将在2024年ICRA大会上展示相关研究成果。
论文检索页面

研究背景

绳牵引并联机器人(Cable-Driven Parallel Robot,CDPR)是一种使用绳索来代替刚性连杆控制末端执行器位姿的新型并联机器人。

这类机器人结构简单、惯性小、运动空间大、且动态性能良好。非常适用于装备制造、医疗康复、航空航天等领域。由于它可以改变几何结构,非常适用于约束环境下的操作任务。
有4个移动基座的绳牵引并联机器人
绳牵引并联机器人在受限环境中执行操作任务时,可能会遇到轨迹规划方法未考虑的动态障碍物,需要实时避让动作来绕过或越过障碍物。由于高维状态空间、以及多个绳索和移动基座引起的约束,这是个有挑战的课题。

该项研究解决了这个问题。所提出的算法能够实现绳牵引并联机器人及时躲避,避免与障碍物碰撞,并返回到目标轨迹上。
绳牵引并联机器人在规划轨迹中遇到动态障碍物

避障算法

该研究提出了一种基于强化学习(RL)的避障控制器(RL-based OAC),并将其集成到轨迹跟踪控制器(TTC)中,并设计了一种基于Soft Actor Critic(SAC)算法和注意力模块的OAC,用于处理具有固定长度绳索连接到移动基座的绳牵引并联机器人的动态障碍物实时避让问题。

该方法可以处理CDPR的多个约束和高维状态空间,实现了CDPR在实时动态障碍物环境下的动态避障。
基于SAC算法的避障控制器

在Mujoco模拟器中对RL-based OAC进行训练。分别基于两阶段训练策略和一阶段训练策略进行训练。

基于两阶段训练策略训练的OAC集中在5万集以内,OAC的训练时间约为35分钟。基于单阶段训练策略训练的OAC收敛在50万集以内,OAC的训练时间约为5.5小时。两个OAC最终获得了几乎相同的累计奖励。研究表明,使用奖励塑造技术的两阶段训练策略可以加速OAC的训练。

真实实验

在真实环境中,利用训练好的RL-based OAC方法进行实验验证。

实验对象为连接有四个固定长度绳索的四个移动基座的绳牵引并联机器人。使用两种规则的障碍物,一种是高度为0.32米的较低的障碍物,一种是高度为0.92米的较高的障碍物。

CDPR的移动平台可以从上方越过低障碍物,但无法从上方越过高障碍物,只能采取绕行的方式避障。

在实验过程中,由NOKOV度量动作捕捉系统实时获取绳索的位置、移动基座的位置,以及动态障碍物的位置和形状信息。
遇到不同高度障碍物时的躲避动作

遇到不同高度的障碍物时,RL-based OAC方法驱使CDPR采取不同的避障方式,成功地越过或绕过正在移动的障碍物。

参考文献:
Y. Liu, Z. Cao, H. Xiong, J. Du, H. Cao and L. Zhang, “Dynamic Obstacle Avoidance for Cable-Driven Parallel Robots With Mobile Bases via Sim-to-Real Reinforcement Learning,” in IEEE Robotics and Automation Letters, vol. 8, no. 3, pp. 1683-1690, March 2023, doi: 10.1109/LRA.2023.3241801.
原文链接:
https://ieeexplore.ieee.org/document/10035491

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/446754.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GitOps实践之Argo CD (2)

argocd 【-1】argocd可以解决什么问题? helm 部署是手动的?依赖流水线。而有时候仅仅更新一个小东西,流水线跑好久,CD真的不应该和CI耦合。不同环境的helm配置不同,手动修改问题多,可以用git管理起来,例如分不同环境用目录区分。argocd创建应用可以不通环境部署到不同集…

C++ STL--Vector 详细剖析

目录 1.vector的介绍及使用 1.1 vector的介绍 1.2 vector的使用 1.2.1 vector的定义 1.2.2 vector iterator 的使用 1.2.3 vector 空间增长问题 1.2.3 vector 增删查改 1.2.4 vector 迭代器失效问题 2.vector深度剖析及模拟实现 2.1 std::vector的核心框架接口的模拟实…

探索云原生数据库技术:构建高效可靠的云原生应用

数据库是应用开发中非常重要的组成部分,可以进行数据的存储和管理。随着企业业务向数字化、在线化和智能化的演进过程中,面对指数级递增的海量存储需求和挑战以及业务带来的更多的热点事件、突发流量的挑战,传统的数据库已经很难满足和响应快…

利用GPT开发应用007:警惕人工智能幻觉,局限与注意事项

文章目录 一、人工智能幻觉二、计算案例三、斑马案例四、总结 正如您所见,一个大型语言模型通过基于给定的输入提示逐个预测下一个单词(或标记)来生成答案。在大多数情况下,模型的输出对您的任务来说是相关的,并且完全…

Windows电脑安装Linux(Ubuntu 22.04)系统(图文并茂)

Windows电脑安装Ubuntu 22.04系统,其它版本的Ubuntu安装方法相同 Ubuntu 16.04、Ubuntu 18.04安装方法相同,制作U盘启动项的镜像文件下载你需要的版本即可! Ubuntu的中文官网网址:https://cn.ubuntu.com/,聪明的你一定…

03-安装配置jenkins

一、安装部署jenkins 1,上传软件包 为了方便学习,本次给大家准备了百度云盘的安装包 链接:https://pan.baidu.com/s/1_MKFVBdbdFaCsOTpU27f7g?pwdq3lx 提取码:q3lx [rootjenkins ~]# rz -E [rootjenkins ~]# yum -y localinst…

SpringMVC08、Json

8、Json 8.1、什么是JSON? JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和…

LeetCode 1315.祖父节点值为偶数的节点和

给你一棵二叉树,请你返回满足以下条件的所有节点的值之和: 该节点的祖父节点的值为偶数。(一个节点的祖父节点是指该节点的父节点的父节点。) 如果不存在祖父节点值为偶数的节点,那么返回 0 。 示例: 输入…

算法项目(8)—— opencv手势检测与识别

本文包含什么? 调用电脑前置摄像头用opencv实现识别左右手,然后识别0到9的手势.手势控制键盘或者鼠标操作.全套代码以及代码介绍运行有问题? csdn上后台随时售后.项目说明 本文实现调用电脑前置摄像头识别左右手,并且识别0-9的手势. 代码运行 python3 main.py主要代码 i…

drone ci 是什么

Drone CI是一个开源的持续集成和持续部署(CI/CD)系统,它使用Docker容器技术自动化软件的构建、测试和部署过程。Drone的设计哲学是简单和易用,通过使用Docker容器,它可以很容易地创建隔离的环境来运行测试和部署任务&a…

FFmpeg——开源的开源的跨平台音视频处理框架简介

引言: FFmpeg是一个开源的跨平台音视频处理框架,可以处理多种音视频格式。它由Fabrice Bellard于2000年创建,最初是一个只包括解码器的项目。后来,很多开发者参与其中,为FFmpeg增加了多种新的功能,例如编码…

Linux网络基础3之数据链路层

(。・∀・)ノ゙嗨!你好这里是ky233的主页:这里是ky233的主页,欢迎光临~https://blog.csdn.net/ky233?typeblog 点个关注不迷路⌯▾⌯ ip协议通过子网划分,目的IP地址&#xf…

拼图小游戏制作教程:用HTML5和JavaScript打造经典游戏

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

redisson解决redis服务器的主从一致性问题

redisson解决redis的主节点和从节点一致性的问题。从而解决锁被错误获取的情况。 实际开发中我们会搭建多台redis服务器,但这些服务器分主次,主服务器负责处理写的操作(增删改),从服务器负责处理读的操作,…

【洛谷 P1824】进击的奶牛 题解(二分答案+循环)

进击的奶牛 题目描述 Farmer John 建造了一个有 N N N( 2 ≤ N ≤ 1 0 5 2 \leq N \leq 10 ^ 5 2≤N≤105) 个隔间的牛棚,这些隔间分布在一条直线上,坐标是 x 1 , x 2 , ⋯ , x N x _ 1, x _ 2, \cdots, x _ N x1​,x2​,⋯,xN​&#xf…

【算法面试题】-05

智能成绩表 class Student:def __init__(self):self.name "" # 学生名字self.scores [] # 每门课成绩students [Student() for _ in range(10004)] # 存储学生信息的数组 key_index 0 # 要排序的课程名的下标# 自定义排序函数 def student_comparator(a, b):…

07 数据结构之图

# Makefile CCgcc CFLAGS -g -Wall SRCStest.c graph.c link_queue.c OBJS$(SRCS:.c.o) #variable replace APPtestall:$(OBJS) #指定一个目标, 不然默认目标不会检查依赖文件的时间戳$(CC) $(SRCS) -o $(APP) .PH…

协程库项目—协程类模块

ucontext_t结构体、非对称协程 协程类 ucontext_t结构体 头文件中定义的四个函数(getcontext(), setcontext(), makecontext(), swapcontext())和两个结构类型(mcontext_t, ucontext_t)在一个进程中实现用户级的线程切换。 其中…

NXP iMX8MM Cortex-M4 核心 GPT Capture 测试

By Toradex秦海 1). 简介 NXP i.MX8 系列处理器均为异构多核架构 SoC,除了可以运行 Linux 等复杂操作系统的 Cortax-A 核心,还包含了可以运行实时操作系统比如 FreeRTOS 的 Cortex-M 核心,本文就演示通过 NXP i.MX8MM 处理器集成的 Cortex-…

brpc之Channel

简介 Channel是brpc的通信类,继承于RpcChannel,RpcChannel是protobuf中的类,用于服务通信 Channel #mermaid-svg-HdRl5ZFGKiLhYVuW {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-s…