机器人强化学习-双机械臂

概要

基于 robosuite 库,进行双臂机器人学习训练

环境测试

下面展示下分别控制两个机械手随机运动的画面:
在这里插入图片描述

双臂显示场景如下:双臂调用代码如下:

import numpy as np
import robosuite as suite
import robomimic
import robomimic.utils.file_utils as FileUtils
import robomimic.utils.torch_utils as TorchUtils
import robomimic.utils.tensor_utils as TensorUtils
import robomimic.utils.obs_utils as ObsUtils
from robomimic.envs.env_base import EnvBase
from robomimic.algo import RolloutPolicy

env = suite.make(
    env_name = 'TwoArmLift',
    robots=["Sawyer", "Kinova3"], # Kinova3, Auboi5, Sawyer
    has_renderer = True,
    has_offscreen_renderer = False,
    use_camera_obs = False,
    env_configuration = "single-arm-parallel", 
)

env.reset()

low, high = env.action_spec

if __name__ == "__main__":
    for i in range(100):
        action_0 = np.random.randn(env.robots[0].dof) # dim = 8
        action_1 = np.random.randn(env.robots[1].dof)
        
        action = [x for x in action_0] + [x for x in action_1] # dim = 16
        obs, reward, done, info = env.step(action)
        # import ipdb; ipdb.set_trace()
        env.render()

值得注意的是,与单机械手控制相比,只需要将 action 改成 16维的就可以。ps:对于单机器人控制,action 是7维的,但是在这里,两个机器人的动作是 16维的。

手动示教生成的数据:
在这里插入图片描述
在这里插入图片描述

双臂控制

经过增加控制器,实现了可以同时控制两个机器人的功能,并能生成相应的数据文件。

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

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

相关文章

集成腾讯Bugly使用步骤以及字符串的上传(IOS手把手)

一、集成Bugly 1.通过CocoaPods集成,在工程的Podfile里面添加以下代码: pod Bugly 保存并在终端cd进入你的项目路径,执行pod install,然后用后缀为.xcworkspace的文件打开工程。 2.在工程的AppDelegate.m文件导入头文件 #import "A…

MacMaster:一款功能强大的高级网络接口管理与监控工具

关于MacMaster MacMaster是一款功能强大的高级网络接口管理与监控工具,该工具专为网络安全研究人员打造,支持对各种不同系统网络接口的MAC地址进行管理。 MacMaster本质上是一个全面的命令行工具,该工具在设计之初就考虑到的简单性和功能性…

树形结构下拉框组件vue-treeselect的使用(安装、模糊匹配、单选、多选、延迟加载、异步搜索等)

一、基本使用流程 首先npm安装依赖 npm install riophae/vue-treeselect --save然后在需要使用的组件中引入 import Treeselect from riophae/vue-treeselect import riophae/vue-treeselect/dist/vue-treeselect.css声明组件 components: { Treeselect }使用 <treesele…

智能驾驶新浪潮:SSD与UFS存储技术如何破浪前行?- SSD篇

随着汽车行业的不断发展&#xff0c;对存储的需求也在不断的变化中。早期阶段的汽车对存储的需求主要是收音机、播放器、导航仪等&#xff0c;有些还可以支持光盘和U盘的外接播放。中期阶段&#xff0c;也是当前主流的燃油车行车记录、多媒体、车联网的需求&#xff0c;对存储性…

【网站项目】基于ssm的青大校园预点餐系统

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

三层架构——工业控制领域简单理解

前言闲话 工业领域对好滴软件架构的需求不高&#xff0c;但不意味着可以用纯面向过程式编程解决问题&#xff0c;这样后期维护必将大乱。 曾经和一位从业30年的老电气工程师交流工业控制编程&#xff1a; 我问&#xff1a;为啥富士康这些大厂以前的机器都不联网&#xff1f;&…

自养买家号测评(补单)在亚马逊、lazada、速卖通等平台上需要注意什么?

在当今的电商环境中&#xff0c;许多卖家选择自己养号进行测评。然而&#xff0c;这种做法并非毫无风险。亚马逊、Lazada、eBay、Shopee、Wish、速卖通、沃尔玛、阿里国际、Mercari和Tik Tok等平台都存在封号的风险。特别是在每年的风险控制期内&#xff0c;新号被封的情况尤为…

Rectangle:圆角矩形、渐变矩形、随机颜色矩形

import QtQuickWindow {width: 640height: 480visible: truetitle: qsTr("Rectangle")//圆角Rectangle {id: rect1x: 120; y: 10width: 100; height: 200;border.color: "black"border.width: 3radius: 10}//渐变Rectangle {id: rect2x: 230; y: 10width: …

西门子WINCC常用C脚本1

1.置位&#xff0c;复位&#xff0c;取反 获取变量值&#xff1a;GetTagBit(可以是位也可以是字节&#xff0c;字&#xff0c;双字等具体字母不同) 设置变量值&#xff1a;SetTagBit 置位&#xff1a;SetTagBit&#xff08;"变量名",1&#xff09; 复位&#xff…

rbash环境变量提权

rbash为一个受限制的bash shell变体&#xff0c;限制用户在交互式环境中可使用的操作&#xff0c;以此提升系统安全性 可通过环境变量提权方式&#xff0c;越过此限制 export -p //查看环境变量 BASH_CMDS[a]/bin/sh;a //把/bin/sh给a /bin/bash export PATH$…

StackOverflow的架构

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版&#xff0c;欢迎购买。点击进入详情 ​Stack Overflow 工程主管Roberta Arcoverde在最近接受 ​Scott Hanselman采访时透露了 Stack Overflow 架构的故事。他们每秒处理超过 6000 个请求&#xff0c…

如何利用在线网络靶场将安全提升至新水平

在 Standoff 365 的在线网络靶场中&#xff0c;任何公司都可以试验信息安全手段和企业网络设置&#xff0c;优化攻击检测、响应和事件调查的技能。 2023 年&#xff0c;我们不仅准许攻击者使用&#xff0c;也准许防御者使用。我们可以根据客户要求轻松部署 10 个细分行业中的任…

大创项目推荐 深度学习驾驶行为状态检测系统(疲劳 抽烟 喝水 玩手机) - opencv python

文章目录 1 前言1 课题背景2 相关技术2.1 Dlib人脸识别库2.2 疲劳检测算法2.3 YOLOV5算法 3 效果展示3.1 眨眼3.2 打哈欠3.3 使用手机检测3.4 抽烟检测3.5 喝水检测 4 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于深度学习的驾…

【不用找素材】ECS 游戏Demo制作教程(3) 1.17

一、生成墓碑 新建脚本如下&#xff1a; using Unity.Entities; using Unity.Mathematics;namespace ECSdemo {public struct GraveyardRandom : IComponentData{public Random Value;}}扩充GraveyardMono如下&#xff1a; using Unity.Entities; using Unity.Mathematics; …

代码随想录算法训练营day13|239.滑动窗口最大值、347.前K个高频元素

239. 滑动窗口最大值 347.前 K 个高频元素 239. 滑动窗口最大值 &#xff08;一刷至少需要理解思路&#xff09; 之前讲的都是栈的应用&#xff0c;这次该是队列的应用了。 本题算比较有难度的&#xff0c;需要自己去构造单调队列&#xff0c;建议先看视频来理解。 题目链接/文…

linux磁盘,分区,挂载等等

1. 修改磁盘分区的标签 例如&#xff1a;733be18b-7baf-d84c-879d-ca3db465f179太长了&#xff0c;修改一下。 linuxchenxiao:/media/linux/733be18b-7baf-d84c-879d-ca3db465f179$ 先 sudo blkid sudo blkid 找到你想修改的UUID(唯一标识符) /dev/sda1: UUID"733be…

C++_Lambda表达式的完整介绍

目录 1. 什么是Lambda表达式 1.1 四种表达式的含义 1.2 lambda表达式各个成员的解释 2. 捕获列表 3. 编译器如何看待Lambda表达式 参考文章 参考: C Lambda表达式的完整介绍 - 知乎 c在c11标准中引入了lambda表达式&#xff0c;一般用于定义匿名函数&#xff0c;使得代码…

ChatGPT正确打开方式与GPT-4.5的key最新获取方式

前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff1a;https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言4.5key价格泄漏ChatGPT4.0使用地址ChatGPT正确打开方式最新功能语音助手存档…

基于SpringBoot的乡村特产推广管理系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…

根据基因名批量查找它的Uniprot编号

背景&#xff1a; 前几天老师交给我一个任务&#xff0c;给我一个基因列表&#xff0c;让我查找它们所编码的蛋白质的蛋白质序列。我上了一下uniprot数据库&#xff0c;发现这个任务可以分成两步&#xff1a; 找到这个基因在Uniprot数据库中所对应的蛋白质编码根据蛋白质编码…