Reinforcement Learning学习(三)
前言
最近在学习Mujoco环境,学习了一些官方的Tutorials以及开源的Demo,对SB3库的强化学习标准库有了一定的了解,尝试搭建了自己的环境,基于UR5E机械臂,进行了一个避障的任务,同时尝试接入了图像大模型API,做了一些有趣的应用,参考资料如下:
https://mujoco.readthedocs.io/en/stable/overview.html
https://pab47.github.io/mujocopy.html
https://github.com/ian-chuang/Manipulator-Mujoco.git
下面我打算分为原理部分,实验过程,结果展示,后续优化几个方面来展开
原理部分
首先是SB3的强化学习库,就我目前的理解来看,这个库基于gym环境以及其变体gymnasium,能够通过矢量转换方法加快训练速度,虽然比不上isaac gym,但其使用性相较更友好(个人意见),因此这里我就使用了该库进行学习
由于我的任务是机械臂的运动控制,因此我的动作空间是连续的,在这里最好还是使用PPO来作为基座模型,先把实验跑通,后续再尝试进行一些其他的优化
关于PPO的原理,其实之前有接触过了,简单理解就是分为两个策略来同时训练,一个策略和实时环境交互,过数个单位时间再把单位信息和真正的策略进行耦合,这里会用到KL散度以及一些Clip约束和优势函数来显示策略的更新速度和步长,防止策略跨度过大,再者就是一个价值损失:预测价值和真实价值之间的差距,这里我就使用了多层感知机来搭建网络
实验过程
整个实验过程分为以下几步:
- 环境的搭建,要抓取的目标,奖励的设定,障碍物&相机的配置
- 模型导入以及训练
- 重写函数,创建自由移动功能
- 接入大模型进行位置的设定
环境的一些坐标和物体参数代码如下:
# checkerboard floorself._arena = StandardArena()self._arena._mjcf_model# 定义障碍物的尺寸self.block_size = [0.3, 0.2, 0.2] # 方块的长, 宽, 高self.block1_pos = [-1, .7, 0.35]self.block2_pos = [-1, -.7, 0.35]self.block3_pos = [-1, 0, 0.35]# self.block4_pos = [.8, -.6, 1.5]# 添加方块障碍物block_body = self._arena._mjcf_model.worldbody.add("body", name=f"block1", pos=self.block1_pos)block_body.add("geom", type="box", size=self.block_size, rgba=[0, 0, 1, 1])block_body.add("freejoint") # 添加自由关节block_body = self._arena._mjcf_model.worldbody.add("body", name=f"block2", pos=self.block2_pos)block_body.add("geom", type="box", size=self.block_size, rgba=[0, 0, 0, 1])block_body.add("freejoint") # 添加自由关节block_body = self._arena._mjcf_model.worldbody.add("body", name=f"block3", pos=self.block3_pos)block_body.add("geom", type="box", size=self.block_size, rgba=[1, 1, 1, 1])block_body.add("freejoint") # 添加自由关节# 目标方块self.block_size2 = [0.1, 0.1, 0.1] # 方块的长, 宽, 高# 添加方块障碍物self.block_positions2 = [[.6, .7, 0], # 方块1[-.6,.7, 0], # 方块2[0, .7, 0]]block_body = self._arena相关文章:
Reinforcement Learning学习(三)
前言 最近在学习Mujoco环境,学习了一些官方的Tutorials以及开源的Demo,对SB3库的强化学习标准库有了一定的了解,尝试搭建了自己的环境,基于UR5E机械臂,进行了一个避障的任务,同时尝试接入了图像大模型API,做了一些有趣的应用,参考资料如下: https://mujoco.readthedo…...
hw meta10 adb back up DCIM
1. centos install adb 2. HW enable devlepment mode & enalbe adb debug 3. add shell root/zt/adb-sync python3 ./adb-sync --reverse /sdcard/DCIM/Camera /root/zt/meta10...
Unity2D游戏制作入门 | 12(之人物受伤和死亡的逻辑动画)
上期链接:Unity2D游戏制作入门 | 11(之人物属性及伤害计算)-CSDN博客 上期我们聊到了人物的自身属性和受伤时的计算,我们先给人物和野猪挂上属性和攻击属性的代码,然后通过触发器触发受伤的事件。物体(人物也好敌人也行ÿ…...
从河流到空气,BL340工控机助力全面环保监测网络构建
在环保监测领域,智能化、高效率的监测手段正逐步成为守护绿水青山的新常态。其中,ARMxy工业计算机BL340凭借其强大的处理能力、高度的灵活性以及广泛的兼容性,在水质监测站、空气质量检测、噪音污染监控等多个环保应用场景中脱颖而出…...
零拷贝技术
背景 磁盘可以说是计算机系统重最慢的硬件之一,读写速度相对内存10以上,所以针对优化磁盘的技术非常的多,比如:零拷贝、直接I/O、异步I/O等等,这些优化的目的就是为了提高系统的吞吐量,另外操作系统内核中的…...
Flutter_Android上架GooglePlay_问题
上架GooglePlay权限问题 问题描述 REQUEST_INSTALL_PACKAGES 权限问题解决方式 方式1 找到所有使用该权限的库修改删除该权限引用 方式2 打开项目 ~/andoird/app/src/main/AndroidMainfest.xml 添加文本<uses-permission android:name"android.permission.REQUES…...
【Java】解决Java报错:NumberFormatException
文章目录 引言1. 错误详解2. 常见的出错场景2.1 字符串包含非数字字符2.2 空字符串或 null 字符串2.3 数值超出范围 3. 解决方案3.1 验证字符串格式3.2 使用异常处理3.3 处理空字符串和 null 4. 预防措施4.1 数据验证4.2 编写防御性代码4.3 单元测试 结语 引言 在Java编程中&a…...
视觉大模型(VLLM)学习笔记
视觉多模态大模型(VLLM) InternVL 1.5 近日,上海人工智能实验室 OpenGVLab 团队、清华大学、商汤科技合作推出了开源多模态大语言模型项目InternVL 1.5,它不仅挑战了商业模型巨头例如 GPT-4V 的霸主地位,还让我们不禁…...
【软考的系统分析师的考题考点解析2025】
2024-2025系统分析师考试(简称软考)是计算机技术与软件专业技术资格(水平)考试中的高级资格考试,主要考察考生在系统分析、系统设计、项目管理等方面的知识和技能。以下是软考系统分析师的常见考点、考题和重点&#x…...
JavaScript前端技术入门教程
引言 在前端开发的广阔天地中,JavaScript无疑是最耀眼的一颗明星。它赋予了网页动态交互的能力,让网页从静态的文本和图片展示,进化为可以与用户进行实时交互的丰富应用。本文将带您走进JavaScript的世界,为您提供一个入门级的教…...
类和对象(上续)
前言:本文介绍类和对象中的一些比较重要的知识点,为以后的继续学习打好基础。 目录 拷贝构造 拷贝构造的特征: 自定义类型的传值传参 自定义类型在函数中的传值返回 如果返回值时自定义的引用呢? 在什么情况下使用呢&#…...
【C++初阶学习】第十三弹——优先级队列及容器适配器
C语言栈:数据结构——栈(C语言版)-CSDN博客 C语言队列:数据结构——队列(C语言版)-CSDN博客 C栈与队列:【C初阶学习】第十二弹——stack和queue的介绍和使用-CSDN博客 前言: 在前面,我们已经…...
Java(十七)---ArrayList的使用
文章目录 前言1.ArrayList的简介2. ArrayList使用2.1.ArrayList的构造2.2.ArrayList的扩容机制(JDK17) 3.ArrayList的常见操作4. ArrayList的具体使用4.1.[杨辉三角](https://leetcode.cn/problems/pascals-triangle/description/)4.2.简单的洗牌游戏 5.ArrayList的问题及思考 …...
实验六、IPv4 地址的子网划分,第 2 部分《计算机网络》
你有没有发现,困的时候真的清醒不了。 目录 一、实验目的 二、实验内容 三、实验小结 一、实验目的 完成本练习之后,您应该能够确定给定 IP 地址和子网掩码的子网信息。 知道 IP 地址、网络掩码和子网掩码后,您应该能够确定有关该 IP 地…...
定个小目标之刷LeetCode热题(12)
这是一道简单题,使用位运算中的异或运算即可,异或运算有以下性质: 1、任何数异或 0 结果仍然是原来的数,即 a⊕0a 2、任何数和其自身做异或运算,结果是 0 所以我们只需要让数组里的所有元素进行异或运算得到的结果就…...
MYSQL内存占用查询语句
可以通过以下 SQL 语句查询相关配置参数的当前值: InnoDB 缓冲池大小 (innodb_buffer_pool_size): SHOW VARIABLES LIKE innodb_buffer_pool_size;最大连接数 (max_connections): SHOW VARIABLES LIKE max_connections;临时表大小 (tmp_table…...
HikariCP连接池初识
HikariCP的简单介绍 hikari-光,hikariCP取义:像光一样轻和快的Connetion Pool。这个几乎只用java写的中间件连接池,极其轻量并注重性能,HikariCP目前已是SpringBoot默认的连接池,伴随着SpringBoot和微服务的普及&…...
LeetCode136只出现一次的数字
题目描述 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 解析 需要想到异或运算&#…...
html5实现端午节网站源码
文章目录 1.设计来源1.1 端午首页页面1.2 端午由来页面1.3 端午图集页面1.4 端午活动页面1.5 给我留言页面 2.效果和源码2.1 动态效果2.2 目录结构 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/139524377 ht…...
echarts组件x轴坐标显示不全解决方法
1.旋转: 修改前: option {xAxis: {type: category,data: [Mon, Tue, Wed, Thu, Fri, Sat, Sun,Mon, Tue, Wed, Thu, Fri, Sat, Sun,Mon, Tue, Wed, Thu, Fri, Sat, Sun]},yAxis: {type: value},series: [{data: [120, 200, 150, 80, 70, 110, 130,120, 200, 150, 80, 70, 1…...
3款工业调试开源工具让Modbus通讯诊断效率提升80%
3款工业调试开源工具让Modbus通讯诊断效率提升80% 【免费下载链接】OpenModScan Open ModScan is a Free Modbus Master (Client) Utility 项目地址: https://gitcode.com/gh_mirrors/op/OpenModScan 在工业自动化领域,Modbus协议作为设备间通讯的"通用…...
机械键盘连击修复:这款智能工具如何拯救你的打字体验
机械键盘连击修复:这款智能工具如何拯救你的打字体验 【免费下载链接】KeyboardChatterBlocker A handy quick tool for blocking mechanical keyboard chatter. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyboardChatterBlocker 当你在编写重要文档时&…...
别只调参了!用LoRA微调Qwen2.5打造专属“数学家教”:从数据清洗到效果评测
用LoRA微调Qwen2.5打造数学解题专家:从数据工程到效果验证的全链路实践 当教育科技遇上大语言模型,数学辅导正在经历一场静默革命。传统解题工具往往停留在答案生成层面,而具备思维链(Chain-of-Thought)能力的模型能像…...
Java并发面经(一)
1.Wait和Sleep的区别sleep () 是 Thread 类的静态方法,让当前线程休眠指定时间,不会释放持有的锁;wait () 是 Object 类的方法,会让当前线程释放锁,并进入等待队列,直到被 notify ()/notifyAll () 唤醒或超…...
别再只盯着采样率了!用STM32H723的ADC做高精度FFT分析,这些坑我帮你踩过了
STM32H723高精度FFT实战:从ADC采样到频谱分析的工程化实现 频谱分析在工业振动监测、音频处理、电力系统谐波检测等领域有着广泛应用。STM32H723系列凭借其高性能ADC和浮点运算单元,为嵌入式实时频谱分析提供了硬件基础。但实际工程中,从ADC…...
RuView:无摄像头环境下人体姿态追踪的创新方法探索
RuView:无摄像头环境下人体姿态追踪的创新方法探索 【免费下载链接】RuView Production-ready implementation of InvisPose - a revolutionary WiFi-based dense human pose estimation system that enables real-time full-body tracking through walls using com…...
重度抑郁症多基因风险与大脑结构的关联,一项涵盖50,975名参与者的大型分析,涵盖11项队列
论文总结 这篇论文通过大规模国际合作,整合了11项研究、共50,975名参与者的数据,采用统一的多基因风险评分和神经影像分析流程,发现抑郁症的多基因风险与较低的颅内体积、较小的皮质表面积(尤其是额叶和眶额叶区域)以…...
QMCDecode:免费解锁QQ音乐加密文件的终极解决方案
QMCDecode:免费解锁QQ音乐加密文件的终极解决方案 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录,默认转换结…...
无需高配电脑!VMware虚拟机运行Qwen3-TTS声音克隆实测教程
无需高配电脑!VMware虚拟机运行Qwen3-TTS声音克隆实测教程 1. 为什么选择虚拟机部署声音克隆? 很多开发者对语音克隆技术感兴趣,但往往被硬件要求劝退。传统认知中,运行1.7B参数量的AI模型需要高端显卡和复杂的环境配置。实际上…...
Degrees of Lewdity中文本地化终极指南:从零开始畅玩完整汉化版
Degrees of Lewdity中文本地化终极指南:从零开始畅玩完整汉化版 【免费下载链接】Degrees-of-Lewdity-Chinese-Localization Degrees of Lewdity 游戏的授权中文社区本地化版本 项目地址: https://gitcode.com/gh_mirrors/de/Degrees-of-Lewdity-Chinese-Localiza…...
