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.5寸/5寸屏幕驱动安装全攻略(含HDMI/GPIO款区分与镜像下载)
树莓派外接屏幕终极指南:从驱动安装到故障排查一站式解决 树莓派爱好者们常常会遇到一个令人头疼的问题——当你兴冲冲地连接上一块3.5寸或5寸的小屏幕,期待立即开始项目开发时,迎接你的却是一片刺眼的白屏。这种情况在非官方屏幕中尤为常见&…...
DeepSeek-R1-Distill-Llama-8B部署全攻略:一条命令搞定推理模型
DeepSeek-R1-Distill-Llama-8B部署全攻略:一条命令搞定推理模型 1. 模型简介 1.1 什么是DeepSeek-R1系列? DeepSeek-R1是专为推理任务优化的语言模型系列,包含两个核心版本: DeepSeek-R1-Zero:完全通过强化学习训练…...
新手入门实战:基于 Spring Boot 的计算机毕设题目推荐管理系统设计与实现
对于计算机专业的同学来说,毕业设计(毕设)是大学学习成果的一次重要检验。然而,选题环节往往令人头疼:题目来源分散、重复率高、与个人兴趣或能力不匹配,缺乏一个集中的平台进行管理和推荐。今天࿰…...
从零开始:DeepLabV3+在Cityscapes数据集上的完整训练流程
1. 环境准备与数据下载 第一次接触DeepLabV3和Cityscapes数据集时,我被这个组合的潜力所吸引——它能精准识别街景中的车辆、行人、建筑物等元素,就像给计算机装上了"透视眼"。但真正开始实操时,发现从环境搭建到数据处理的每个环节…...
抖音无水印批量下载工具终极指南:免费开源工具助你高效管理内容
抖音无水印批量下载工具终极指南:免费开源工具助你高效管理内容 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 还在为逐个下载抖音视频而烦恼吗?面对喜欢的创作者主页,你…...
探索双闭环直流调速系统的仿真之旅:从疑惑到理解
simulink双闭环直流调速系统matlab仿真在学习直流调速系统的过程中,双闭环控制总让我感到有些困惑。PID控制器的参数如何选择?电流环和速度环之间到底有什么联系?带着这些问题,我决定通过Simulink仿真来寻找答案。 一、搭建仿真模…...
Windows 10/11 下保姆级 APK 逆向环境搭建:JDK、APKTool、JADX 一步到位
Windows 10/11 下保姆级 APK 逆向环境搭建:JDK、APKTool、JADX 一步到位 逆向工程是许多安全研究人员和开发者探索应用内部机制的重要技能。对于 Android 应用来说,搭建一个稳定可靠的逆向环境是第一步。本文将详细介绍如何在 Windows 系统上配置完整的…...
超长上下文20万字!internlm2-chat-1.8b在Ollama中的高效部署与调用详解
超长上下文20万字!internlm2-chat-1.8b在Ollama中的高效部署与调用详解 想体验一个能记住超长对话、处理20万字文档的AI助手吗?今天,我们就来聊聊如何在Ollama上快速部署和玩转InternLM2-Chat-1.8B这个“小身材、大能量”的模型。它不仅能进…...
解决90%部署难题:TVM模型序列化全流程解析与最佳实践
解决90%部署难题:TVM模型序列化全流程解析与最佳实践 你是否还在为深度学习模型部署时的兼容性问题头疼?当需要将训练好的模型从开发环境迁移到生产服务器,或是在不同硬件设备间移植时,是否经常遇到格式不兼容、性能下降或依赖冲…...
【2026年阿里巴巴春招- 3月25日-算法岗-第二题- 该博弈了】(题目+思路+JavaC++Python解析+在线测试)
题目内容 有一个 nmnmnm 的棋盘,记第 iii<...
