- 博客(282)
- 收藏
- 关注
原创 PPO 在ROS2 中训练与推理
核心流程:构建 ROS 2 Gym 环境(封装状态 / 动作 / 奖励)→ 初始化 PPO 模型 → 与机器人环境交互训练 → 保存模型并推理部署;关键难点:合理设计奖励函数、确保 ROS 2 状态 / 动作的实时性、准确的运动学求解;落地建议:先在仿真环境(如 Gazebo)中完成训练,再迁移到真实机器人,逐步调优奖励函数和超参数。按此流程,你可以快速在 ROS 2 中实现机械臂的 PPO 训练,适配你的 collaborativearm 机械臂完成轨迹跟踪、抓取等任务。
2026-03-17 17:16:37
288
原创 humble ppo 训练脚本
核心逻辑:PPO 通过学习关节力矩策略,将机械臂状态(关节角 / 速度 + 末端位置)映射为连续动作(力矩),通过奖励函数引导机械臂到达目标位置。训练关键:GAE 优势计算、PPO-Clip 损失裁剪、熵奖励鼓励探索,是保证训练稳定收敛的核心。部署要点:ROS 2 节点需匹配机械臂控制频率(≥100Hz),添加安全裁剪,仿真训练后再迁移到真机。
2026-03-16 14:04:47
30
原创 PPO控制多轴机械臂
适用场景:复杂环境、动态任务、需要自适应 / 柔顺控制的多轴机械臂(抓取、装配、人机交互)优势:PPO 训练稳定、样本效率高,可端到端学习复杂策略,优于传统 PID/MPC 在非结构化环境选型PPO + 自适应 PID端到端 PPO 力矩控制PPO + 多模态输入。
2026-03-16 14:00:11
275
原创 强化学习算法ppo
新手入门首选 PPO:训练稳定、代码简单、调参成本低,能最快获得正向反馈;无需纠结其他算法:先把 PPO 跑通、理解透,再去学 DQN/DDPG 等,会事半功倍;核心学习方法:先跑通代码看效果,再回头理解原理,避免一上来就陷入复杂公式。
2026-03-16 13:27:07
344
原创 RGB-D camara robot arm get
所以,针对你手头的奥比中光Gemini相机实现方案一:先用YOLO等算法检测目标,再结合深度图计算出物体的三维坐标(X, Y, Z)。这对于实现从传送带或固定平台上的“平面抓取”已经足够了。攻克核心难点:集中精力做好手眼标定。这是将视觉坐标转化为机械臂坐标的关键,ROS等框架中有成熟的工具(如)可以帮助你完成这一步。未来扩展:如果你的任务需要抓取随意堆叠、姿态复杂的物体,就需要引入方案三的思路,研究和实现6自由度抓取检测算法。
2026-03-06 16:00:19
302
原创 FPGA AI 结合清单
AMD(Xilinx)适合模型推理的 FPGA/ACAP,核心是Versal AI 系列(带 AIE-ML)、Zynq UltraScale+(带 DPU)、Alveo 加速卡、Virtex UltraScale+,按场景分档推荐如下(2026 年最新)。适合数据中心、900GB/s CXL 全互联、大模型 / 多模型并发、低延迟推理。适合边缘 / 嵌入式、中小模型、低功耗、快速部署。适合服务器级推理、云原生、快速部署。适合自定义推理架构、超高并行、无 AIE 需求。表格
2026-03-05 18:39:25
361
原创 ROS2 实时控制的隐形杀手:Executor 调度模型
上个月调试一个机械臂控制节点。现象非常诡异:本地测试 5ms 控制周期稳如泰山一上产线偶尔跳到 20ms、30ms极端情况直接急停我们做了所有"标准实时优化":PREEMPT_RT 内核线程 SCHED_FIFO 99mlockall 预分配内存CPU 绑定问题依然存在。最后用 perf 抓火焰图,问题才彻底暴露:控制回调根本不是被系统调度打断,而是被 Executor 串行调度阻塞。
2026-03-03 13:14:50
722
原创 实时系统程序绑定内核
快速验证用taskset:无需改代码,适合单进程绑定,命令行taskset -c 核编号 程序名即可;精准控制用代码绑定:通过(Linux)/(Windows),可实现线程级精准绑定,适合多 FPGA 推理的多线程控制程序;注意事项:绑定的核编号不能超过系统实际核数,且避免多个关键程序绑定到同一个核导致竞争。
2026-03-02 10:46:17
406
原创 多FPGA 进行模型推理
可行,且是高性能 AI 推理的标准方案PCIe/CXL/Ethernet/ 自定义 MGT必须有,片上 + 片外 + 片间缓存缺一不可多 FPGA 推理:可行,且是大模型加速标配通信:PCIe/CXL/MGT 高速串行存储:片上 BRAM + 片外 HBM/DDR5 必须有你现在需要的是能直接落地的多 FPGA 模型推理切分策略,我会按「易实现→高性能」的优先级,给你 3 类核心策略,每个策略都包含适用场景、切分方法和工程注意事项,你可以直接对应到之前的多 FPGA 架构上。入门首选层级切分。
2026-03-02 10:06:55
942
原创 数据标注工具
用户可以根据项目需求自定义标注界面和标注任务,包括创建边界框、多边形、分类、关键点、文本标签等。这种灵活性使得Label-Studio能够适应不同的标注需求,提高标注的准确性和效率。
2026-02-28 15:17:36
656
原创 视觉定位到机械臂抓取
核心流程:RealSense 获取彩色 + 深度→目标检测(2D)→像素转相机 3D 坐标→手眼矩阵转机械臂坐标→机械臂运动抓取;关键前提:手眼标定必须准确(否则抓取偏移),目标检测需适配物体(颜色 / YOLO);优化方向:用 YOLO 替换颜色检测(适配多物体 / 不规则物体),加力反馈校验抓取是否成功。
2026-02-27 16:20:53
970
原创 双目相机识别位置机械臂抓取
双目相机识别物体位置并引导机械臂抓取,核心是,可实现从 “看到物体” 到 “精准抓取” 的全流程自动化。下面从硬件选型、标定、视觉处理、坐标转换、机械臂控制到完整流程,给出可落地的技术方案。
2026-02-27 16:15:01
1047
原创 docker commit
若想将备份保存为「独立文件」(可拷贝、传输、离线使用),需要在 commit 打包镜像后,再执行 docker save 命令,将镜像导出为 .tar 独立文件,全程步骤如下(直接复制执行,适配你的环境)。• 说明 1:-o 后面是「独立文件的保存路径 + 文件名」,D:\docker\ 是路径(可修改,比如 D:\backup\),ros2_humble_backup_v1.tar 是独立备份文件名(可自定义);步骤 3:将镜像导出为独立.tar 文件(核心步骤,生成可保存的独立文件)
2026-02-26 10:56:57
354
原创 docker 入门2
新建一个文件夹(如),里面创建Dockerfile(内容和之前给的一致)。打开 Docker Desktop,点击顶部的Build(构建)标签。点击,选择文件夹,镜像标签填,点击Build。Docker Desktop 会自动读取 Dockerfile 并构建镜像,完成后在Images中能看到。核心前提:先配置国内镜像加速器,解决网络解析 / 超时问题,这是拉取成功的关键。图形界面操作:通过Images标签搜索 → Pull 按钮,全程可视化,不用记命令。验证要点。
2026-02-25 16:38:13
544
原创 docker 入门
核心问题:Docker 访问官方仓库超时,本质是网络问题,而非命令或镜像本身的问题。关键解决步骤:在 Docker Desktop 的 Docker Engine 中配置国内镜像加速器,重启后重新拉取。验证要点:通过确认加速器生效,再执行命令。
2026-02-25 15:58:41
282
原创 docker 使用GUI ROS2
核心问题是VcXsrv 未关闭访问控制或Windows 防火墙拦截,而非容器内配置;用命令行启动 VcXsrv(带-ac参数)+ 替换为 Windows 实际 IP,能解决 99% 的连接拒绝问题;xeyes能显示 → rviz2 必能启动,反之先排查 VcXsrv 和防火墙。按这个步骤操作,你就能看到 rviz2 的 GUI 窗口了。如果xeyes仍提示,告诉我你的 Windows IP 和 VcXsrv 启动方式,我帮你定位最后一步问题。
2026-02-25 13:57:32
527
原创 docker 镜像备份
Docker 容器创建一个,核心是用命令,我会给你分步讲解操作方法,包括基础备份、添加标签、验证镜像,以及更规范的备份方式(推荐)。
2026-02-25 13:55:27
329
原创 window 下使用docker
基础启动,适合快速验证环境。增强启动:添加 GUI 支持、目录挂载、主机网络,适合实际开发和运行 ROS 2 程序。:需安装 VcXsrv 并设置 DISPLAY 环境变量,才能显示 RViz/Gazebo 等窗口。
2026-02-24 16:52:15
333
原创 将yolov5 封装到FPGA
• 再通过 HLS(高层次综合)工具(如 Xilinx Vitis HLS、Intel HLS),将模型的核心算子(卷积、池化、激活、Reshape 等)用 C/C++ 实现,编译为 FPGA 的 RTL 代码;• 量化:将模型从 FP32(浮点 32 位)量化为 INT8/INT16(整数 8/16 位),甚至二值化 / 三值化,这是 FPGA 部署的核心优化手段(FPGA 对整数运算的资源利用率远高于浮点);
2026-02-11 15:29:47
350
原创 张量数据库的优势与劣势
摘要:张量数据库专为高维张量数据(如AI特征、多媒体向量)设计,在存储压缩比(50%-90%)、相似性检索效率(毫秒级响应)及AI框架兼容性方面具有绝对优势,特别适合推荐系统、多模态检索等场景。但其在传统事务处理、低维数据支持及生态成熟度方面存在明显短板,无法替代关系型数据库。实际应用中建议采用"关系库+张量库"的协同架构,通过唯一标识关联两类数据。选型时需明确业务是否以高维张量处理为核心,避免在传统事务场景中使用。(149字)
2026-02-09 17:57:20
713
原创 微型张量数据库
普通 CPU 电脑是存储张量数据的基础载体,完全支持,与 GPU 无关,存储的核心限制是内存和硬盘的容量;张量的 “存储” 和 “计算” 是分离的,GPU 仅提升张量计算速度,不影响存储;中小规模张量(数万 / 数十万条高维特征):入门级 CPU 电脑(8G 内存 + 512G SSD)完全够用;超大规模张量:无需换 GPU,通过分块存储、数据库、压缩等软件方案即可在普通 CPU 电脑上解决。我可以帮你写一份纯 CPU 环境下的张量存储 / 读写实操代码。
2026-02-09 17:50:19
889
原创 关系型数据库与张量数据库的区别
表格对比维度关系型数据库张量数据库核心数据模型二维表(关系模型)N 维张量(张量模型)设计目标通用事务处理、结构化数据管理高维张量的存储、检索、AI 计算存储结构行 / 列存储,二维数据优化连续块存储,稀疏张量压缩核心索引B + 树、哈希索引(低维)ANN 索引(高维相似性)核心计算关系代数(JOIN / 聚合 / SQL)张量数学运算(相似度 / 矩阵乘)事务特性强 ACID弱 ACID/BASE原生兼容SQL、事务中间件。
2026-02-09 17:49:15
472
原创 超声波监测的AI 模型分析
对B型图进行旋转、翻转、亮度/对比度调整、添加噪声等操作,扩充数据集,提升模型泛化能力,应对实际检测中工件姿态、耦合状况的变化。(如声速、衰减系数)作为额外输入通道或特征向量,与图像特征融合,提升对相似表象缺陷的鉴别力。:为不同的特征通道或特征值范围分配特定的颜色,将高维、抽象的特征数据映射为视觉上可区分的。因其通常表现为锐利、连续的高梯度特征,用醒目的暖色突出其危险性和连续性。:直观显示图像各区域存在缺陷的概率,颜色越暖(如红、黄),概率越高。等架构,直接输出缺陷的边界框位置、类别和置信度。
2026-02-09 16:46:15
360
原创 深度学习的未来发展
例如,在糖尿病视网膜病变诊断中,使用预训练的ResNet-50模型,仅需500张标注图像即可达到92%的准确率。AI图像识别技术已从实验室走向产业应用,其核心算法(CNN、Transformer)、数据预处理(增强、标准化)、应用场景(医疗、自动驾驶)和优化策略(压缩、分布式训练)构成了完整的技术栈。实验表明,在ImageNet上使用自监督预训练的模型,线性评估准确率可达76.5%,接近全监督模型的80.2%。例如,在医疗报告中融合X光片文本描述与图像特征,可使诊断准确率提升5%~10%。
2026-02-06 09:10:48
375
原创 机器人手眼标定
机器人手眼标定的核心是求解相机与机器人间的,统一视觉与机器人坐标系,实现视觉引导精准作业,整体分为五大环节,需先区分安装结构再按流程执行。
2026-02-02 08:54:49
941
原创 ROS2 独占内核
内核独占的核心两步系统层:修改 grub 配置isolcpus=<内核号>,隔离指定内核(重启生效);进程层:用taskset或代码将 ROS 2 节点绑定到隔离内核。验证关键通过确认进程绑定,通过htop确认隔离内核无其他进程负载。优化要点隔离高编号内核,禁止内核线程占用隔离内核,确保目标 ROS 2 节点完全独占。这套方案能让你的 ROS 2 实时节点获得稳定的 CPU 资源,避免进程切换和资源竞争,大幅提升节点的实时性和稳定性。
2026-01-28 18:24:04
297
原创 ROS 2 节点指定运行的 CPU 内核
临时调试:用taskset -c <内核号> ros2 run ...命令,简单高效,无需改代码;永久部署:C++ 用系统 API,Python 用,节点启动自动绑定;验证方法:通过查看绑定结果,确保生效;核心原则:关键实时节点(如运动控制)绑定独立内核,避免资源竞争。
2026-01-28 17:57:59
582
原创 ROS2 节点体系化 组件和插件
概念核心定义你的代码对应示例插件(Plugin)基于pluginlib实现的接口扩展机制,是 “功能模块的动态替换”,属于纯 C++ 层面的插件化设计:实现PluginBase接口,可动态加载替换组件(Component)基于实现的ROS 节点动态加载机制,是 “节点的模块化管理”,属于 ROS 节点层面的封装Component1Component3:ROS 节点封装为组件,可被组件管理器动态加载技术适用场景不适用场景插件(Plugin)
2026-01-27 16:24:26
580
原创 图像智能拼接
本文介绍了使用OpenCV实现图像智能拼接的方法。通过cv2.Stitcher_create()封装的核心功能,可自动完成特征检测、匹配、单应性矩阵计算和图像融合等步骤。代码演示了完整的拼接流程,包括图像读取、拼接执行和黑边去除优化。文章指出拼接成功的关键是图像间需有足够重叠区域(建议≥30%)和稳定的拍摄条件,并提供了错误码说明和进阶优化建议。该方法适用于全景图生成,只需安装opencv-contrib-python即可快速实现多图无缝拼接。
2026-01-27 13:39:33
409
原创 opencv 实现图像拼接
图像拼接的核心是特征匹配 + 单应性矩阵求解 + 图像融合,OpenCV 的Stitcher类可快速实现基础拼接需求。实际应用中优先选择 ORB 特征(免费、速度快),SIFT 精度更高但需注意专利问题。拼接失败 / 效果差时,重点检查图像重叠率、特征匹配质量,或调整单应性矩阵的求解参数(如 RANSAC 阈值)。如果需要针对特定场景(如实时视频拼接、Jetson Nano 轻量化部署、消除拼接缝)细化代码,我可以补充对应的实现细节。
2026-01-26 16:09:12
621
原创 模型导出为 ONNX/TensorRT 格式
python运行import os# TensorRT 日志设置# 构建 TensorRT 引擎# 设置最大工作空间(Jetson Nano 建议 1GB 以内)# 启用 FP16 精度(Jetson Nano 支持)# 解析 ONNX 文件# 构建并保存引擎# 转换 ONNX 到 TensorRT 引擎print(f"TensorRT 引擎已生成:{engine_file}")else:print(f"引擎文件已存在:{engine_file}")
2026-01-26 15:34:41
998
原创 通过神经网络识别图像位置
神经网络实现视觉图像位置识别,核心是技术,其本质是让模型同时完成(识别图像里有什么)和(预测目标的坐标框)。以下是从技术原理到落地实现的完整流程,包含可执行的步骤和关键代码方向。
2026-01-26 14:41:14
548
原创 C++类中只声明一次
创建对应的源文件,在工程中仅保留一份,完成静态变量的定义和初始化:cpp运行// GlobalConfig.cpp - 唯一定义静态成员变量// 2. 定义并初始化静态成员变量(类外,整个工程仅一次)这里的是作用域解析,明确变量属于哪个类。初始化值可选:如果不写,内置类型(int/bool)会默认初始化为 0/false,字符串会默认空。基础场景:使用「头文件声明 + 单源文件定义」的静态成员变量(方法 1),兼容所有 C++ 版本,工程规范。C++17 + 场景:直接用inline。
2026-01-26 09:10:34
589
原创 线程绑定cpu 内核
推荐方案:优先使用psutil库(),跨平台且易用;核心原则:Python 中 CPU 核绑定对进程有效,对线程效果有限(GIL 限制);适用场景:你的 DQN 训练如果是单进程任务,绑定到单个核心可避免 CPU 上下文切换,提升训练稳定性;如果是多进程训练(比如并行采样),可将不同进程绑定到不同核心,充分利用多核资源。
2026-01-23 18:03:53
313
原创 机械臂urdf
坐标系传递核心:机械臂位姿由 “关节 origin(父→子的基础偏移)+ Link 自身 origin(子自身的微调)” 叠加而成,旋转主要由关节的 rpy 提供,Link 自身无额外旋转(rpy=0)。旋转关键抵消:JM0 关节的 + 90° 旋转被 JM1-2 关节的 - 90° 旋转抵消,使机械臂大臂(JM1-2_Link)回到与基座平行的姿态。平移规律:所有 Link 的视觉 / 碰撞模型自身无平移(xyz=0),仅惯性坐标系(质心)有微小偏移;机械臂的整体延伸主要由关节的 xyz 参数决定。
2026-01-19 13:29:35
646
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅