当前位置: 首页 > article >正文

单物体最优抓取轨迹生成

基于 3D 位姿规划直线平滑抓取轨迹包含趋近 - 抓取 - 复位三段最优运动路径适配机械臂点位运动核心规划逻辑基准位机械臂初始安全待机点趋近段直线匀速靠近物体上方预备抓取点抓取段垂直下落至物体抓取中心位姿抬升段抓取后回升至安全高度复位段返回初始待机位置完整可运行代码python运行from ultralytics import YOLO import cv2 import numpy as np import math # 模型与相机参数 model YOLO(yolo26n.pt) FOCAL_LENGTH 600 REAL_WIDTH 0.5 # 机械臂基准点位(相机坐标系单位m) HOME_X, HOME_Y, HOME_Z 0.0, -0.2, 0.8 # 初始待机位 PRE_Z_OFFSET 0.15 # 抓取预备高度落差 LIFT_HEIGHT 0.2 # 抓取抬升高度 # 摄像头初始化 cap cv2.VideoCapture(0) cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1280) cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 720) cv2.namedWindow(最优抓取轨迹规划, cv2.WINDOW_NORMAL) cv2.resizeWindow(最优抓取轨迹规划, 1280, 720) # 轨迹点位存储 trajectory_points [] def gen_optimal_grasp_traj(obj_x, obj_y, obj_z, grasp_angle): 生成最优抓取轨迹点位列表 traj [] # 1. 初始待机点 traj.append([HOME_X, HOME_Y, HOME_Z, grasp_angle]) # 2. 物体上方预备抓取点 pre_x, pre_y, pre_z obj_x, obj_y, obj_z PRE_Z_OFFSET traj.append([pre_x, pre_y, pre_z, grasp_angle]) # 3. 物体中心抓取点 traj.append([obj_x, obj_y, obj_z, grasp_angle]) # 4. 抓取后抬升安全点 lift_z obj_z LIFT_HEIGHT traj.append([obj_x, obj_y, lift_z, grasp_angle]) # 5. 返回初始位 traj.append([HOME_X, HOME_Y, HOME_Z, grasp_angle]) return traj while True: ret, frame cap.read() if not ret: break results model(frame, imgsz640, verboseFalse) img results[0].plot() trajectory_points.clear() for box in results[0].boxes: x1, y1, x2, y2 box.xyxy[0].cpu().numpy() cls_name model.names[int(box.cls[0])] box_w x2 - x1 box_h y2 - y1 # 计算3D坐标 obj_z (REAL_WIDTH * FOCAL_LENGTH) / box_w cx, cy (x1x2)/2, (y1y2)/2 obj_x (cx - frame.shape[1]//2) * obj_z / FOCAL_LENGTH obj_y (cy - frame.shape[0]//2) * obj_z / FOCAL_LENGTH # 计算抓取姿态角 grasp_angle 0.0 if box_w box_h else 90.0 # 生成最优抓取轨迹 grasp_traj gen_optimal_grasp_traj(obj_x, obj_y, obj_z, grasp_angle) trajectory_points grasp_traj # 绘制抓取中心点 cv2.circle(img, (int(cx), int(cy)), 8, (0,0,255), -1) # 显示坐标姿态 info fXYZ:{obj_x:.2f} {obj_y:.2f} {obj_z:.2f}m Angle:{grasp_angle}deg cv2.putText(img, info, (int(x1), int(y1)-15), cv2.FONT_HERSHEY_SIMPLEX, 1, (0,255,0), 2) # 打印轨迹点位可下发机械臂 if trajectory_points: print(最优抓取轨迹点位(X,Y,Z,角度)) for idx, pos in enumerate(trajectory_points): print(f点位{idx1}: {pos}) cv2.imshow(最优抓取轨迹规划, img) if cv2.waitKey(1) 0xFF ord(q): break cap.release() cv2.destroyAllWindows()运行指令bash运行python3 yolo3d.py轨迹特性最优设计避障安全先到物体上空再下落规避周边障碍物运动平顺直线插值路径速度波动小、抖动低动作闭环抓取完成自动复位可连续作业姿态适配根据物体长宽自动匹配夹持角度轨迹输出说明终端打印 5 组轨迹点位格式[X,Y,Z,抓取角度]可直接对接运动控制器下发执行进阶扩展方向增加轨迹插补生成密集中间点位实现顺滑运动加入碰撞检测修正危险轨迹路径对接 ROS/MoveIt直接仿真并执行轨迹多物体优先级排序依次生成抓取路径

相关文章:

单物体最优抓取轨迹生成

基于 3D 位姿规划直线平滑抓取轨迹,包含趋近 - 抓取 - 复位三段最优运动路径,适配机械臂点位运动核心规划逻辑基准位:机械臂初始安全待机点趋近段:直线匀速靠近物体上方预备抓取点抓取段:垂直下落至物体抓取中心位姿抬…...

yolo 源码与模型

YOLOv8 官方源码、预训练模型(.pt)、导出 ONNX 模型、以及 ROS2 C 部署源码(含检测框输出),全部是可直接用的工业级版本。 一、YOLOv8 官方源码(Ultralytics) 1. GitHub 源码地址(最…...

微信聊天数据本地化:开源工具WeChatMsg的技术架构与数据主权实践

微信聊天数据本地化:开源工具WeChatMsg的技术架构与数据主权实践 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trendin…...

VSCode PDF预览器技术实现深度解析:基于PDF.js的编辑器集成架构

VSCode PDF预览器技术实现深度解析:基于PDF.js的编辑器集成架构 【免费下载链接】vscode-pdfviewer Show PDF preview in VSCode. 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-pdfviewer 在Visual Studio Code生态系统中,PDF文档预览功能…...

LABVIEW生成EXE

遇到的问题报错说找不到这个路径的某个VI原因在于之前手动改过文件夹名称,导致路径有变更。更关键的是有的VI还沿用以前旧的路径,因此报错。解决办法就是打开可能用到这个功能的VI,选定新路径。报错是因为要打包的vi里面不是所有的vi都能够正…...

Spingboot企业员工信息管理系统—免费毕设源码分享28210

摘要本论文介绍了基于Spring Boot框架开发的“传奇今生企业员工信息管理系统”。系统提高企业人力资源管理的效率和精确度,通过数字化手段优化员工信息管理流程,提升企业管理水平。系统分为用户端和管理员端,提供了丰富的功能模块。用户端功能…...

2026实测:租用RTX 4090 CUDA适配与PyTorch精准安装教程

RTX 4090搭载Ada Lovelace架构、4nm制程工艺,配备16384个CUDA核心、24GB GDDR6X显存、1TB/s显存带宽,FP32算力82.6 TFLOPS,是7B-13B大模型训练、图像识别、深度学习推理的核心主流算力。个人开发者、中小团队自建RTX 4090硬件,存在…...

【DeepSeek架构演进倒计时】:K8s 1.30+废弃Dockershim后,容器运行时迁移至containerd+Podman的6小时无感切换方案

更多请点击: https://intelliparadigm.com 第一章:DeepSeek微服务架构演进的背景与战略意义 随着DeepSeek大模型训练规模持续扩大、推理服务调用量激增,单体架构在弹性伸缩、故障隔离、团队协作和灰度发布等方面日益暴露出瓶颈。传统单体服务…...

《流畅的Python》读书笔记07(补充02): 对象引用、可变性和垃圾回收 - Python深复制如何处理循环引用

在Python中,copy.deepcopy()处理自定义类中的循环引用时,主要通过备忘录(memo)机制和递归复制策略来避免无限递归,确保复制过程能正确完成。下面我将从算法原理、实现机制、应用场景和性能影响四个方面进行深度拆解。 …...

惠普OMEN游戏本性能释放终极指南:OmenSuperHub完全使用教程

惠普OMEN游戏本性能释放终极指南:OmenSuperHub完全使用教程 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度,自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否曾经为惠普OMEN游戏本的性能…...

Go语言实战:构建高可用API + HASH上链存证服务,这不是妥协而是最优解

关键词:Go, 区块链, 存证, SHA256, 签名, 高并发 前言 在关于区块链落地的技术讨论中,"链下计算 + 链上存证"模式常常被贴上"妥协方案"的标签。很多人认为,只有把数据完全搬到链上,才能体现区块链的价值。 然而,经过大规模生产环境的验证,我们发现…...

终极FanControl风扇控制指南:如何彻底告别Windows风扇噪音与过热烦恼

终极FanControl风扇控制指南:如何彻底告别Windows风扇噪音与过热烦恼 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitH…...

AI Daily Paper Reader(ADPR):零服务器搭建个人/团队通用大模型API驱动的论文阅读与推荐平台

一、背景 AI领域论文每日增长数量惊人,arXiv 上仅计算机科学相关的新论文每天就有上百篇。对于科研人员、研究生或AI从业者来说,如何高效筛选、阅读并跟踪与自己研究方向相关的论文,已成为日常工作中最耗时的一环。 传统的解决方案&#xf…...

Gemini 长上下文成本估算表:输入、输出、缓存怎么拆

做 Gemini 长上下文应用时,最容易出问题的不是第一版代码,而是成本模型。测试阶段只跑几十次请求,账单看起来很轻;上线后用户开始上传 PDF、合同、日志、代码仓库,输入 token 被放大,费用曲线马上变陡。 这…...

MultiHighlight:用智能色彩标记彻底改变你的代码阅读体验

MultiHighlight:用智能色彩标记彻底改变你的代码阅读体验 【免费下载链接】MultiHighlight Jetbrains IDE plugin: highlight identifiers with custom colors 🎨💡 项目地址: https://gitcode.com/gh_mirrors/mu/MultiHighlight 你是…...

Perplexity奖学金搜索仅限前500名认证用户启用的“Priority Funding Mode”,你被系统自动降权了吗?

更多请点击: https://intelliparadigm.com 第一章:Perplexity奖学金搜索的机制演进与现状剖析 Perplexity 的奖学金搜索功能并非静态工具,而是随其核心检索架构的迭代持续演进。早期版本依赖关键词匹配与结构化数据库爬取,响应延…...

深入理解 Java 反射机制(Reflection)

一句话先给答案反射 在程序运行时,动态获取类的信息并动态操作对象的能力。正常编程:类 → 对象 → 调用方法 反射:未知类 → 运行时拿到类结构 → 创建对象 / 调用方法 / 访问属性一、为什么需要反射?(先解决动机&am…...

从噪音烦恼到静音天堂:Fan Control帮你实现Windows风扇控制的终极自由

从噪音烦恼到静音天堂:Fan Control帮你实现Windows风扇控制的终极自由 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/Git…...

Claude Code 终端命令完整指南

引言最初是为了方便我个人学习使用Claude Code才去网络上收集各种终端命令,但想到可能有人同样需要知道这些命令,便打算将其整理发到CSDN上,希望能帮到大家。 有点标题党的是本文并不是真的完整指南,毕竟完整的命令太多了&#xf…...

如何快速掌握Switch-Toolbox:终极任天堂游戏文件编辑完整指南

如何快速掌握Switch-Toolbox:终极任天堂游戏文件编辑完整指南 【免费下载链接】Switch-Toolbox A tool to edit many video game file formats 项目地址: https://gitcode.com/gh_mirrors/sw/Switch-Toolbox 如果你一直想修改任天堂Switch、3DS或Wii U游戏文…...

终极跨平台3D资产迁移革命:DazToBlender插件完整指南

终极跨平台3D资产迁移革命:DazToBlender插件完整指南 【免费下载链接】DazToBlender Daz to Blender Bridge 项目地址: https://gitcode.com/gh_mirrors/da/DazToBlender 你是否曾经在Daz Studio中精心创作了一个完美的3D角色,却因为无法在Blende…...

猫抓(Cat-Catch):3分钟掌握浏览器资源嗅探的终极解决方案

猫抓(Cat-Catch):3分钟掌握浏览器资源嗅探的终极解决方案 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 还在为无法保存在线视频而烦恼…...

副本机制与 ISR 设计:为什么 Kafka 这么快又这么可靠

几年前我接手过一个"慢到不能忍"的消息系统。Kafka 集群,日处理 500 亿条消息,QPS 峰值 120 万。但是隔三差五出现"数据延迟积压",有时候一条消息从生产到消费,竟然要等几十秒。查了一周,发现跟 K…...

数据史话|Dashboard 仪表板的进化史:从马车挡泥板,到企业战略工具(海外见解版)

今天我们来聊聊仪表板(Dashboard)的奇妙进化史。想象一下:马车前挡泥的木板,和你浏览器里满是 KPI、迷你图表、筛选器的仪表盘 —— 它们用的是同一个词,同一个核心使命,只是再也没有泥点子了。这就是仪表盘…...

OpenRGB:终结RGB灯光管理混乱的终极免费方案

OpenRGB:终结RGB灯光管理混乱的终极免费方案 【免费下载链接】OpenRGB Open source RGB lighting control that doesnt depend on manufacturer software. Supports Windows, Linux, MacOS. Mirror of https://gitlab.com/CalcProgrammer1/OpenRGB. Releases can be…...

北航毕业论文LaTeX模板:3天掌握专业排版,告别格式焦虑

北航毕业论文LaTeX模板:3天掌握专业排版,告别格式焦虑 【免费下载链接】BUAAthesis 北航毕设论文LaTeX模板 项目地址: https://gitcode.com/gh_mirrors/bu/BUAAthesis 还在为毕业论文格式反复修改而焦虑吗?每年毕业季,无数…...

C++类型推导与auto关键字

C类型推导与auto关键字 类型推导是C11引入的重要特性,通过auto和decltype关键字,编译器可以自动推导变量的类型,减少代码冗余并提高可维护性。 auto关键字让编译器根据初始化表达式推导变量类型。 #include #include #include #include v…...

怎样快速去掉照片背景?2026年AI抠图工具实测对比与使用指南

还在为复杂的照片背景发愁?想要快速批量处理多张照片?本文将带你深入了解2026年最新的照片去背景方法,从零基础的在线工具到专业级别的桌面软件,再到智能AI抠图方案,帮你找到最适合自己的解决方案。快速去背景的核心方…...

怎么跨领域写文献综述?

刚踏入陌生交叉领域的科研人,最怕的就是面对动辄数十万篇的文献——翻了几十篇却找不到奠基性成果,读了一堆边缘文献导致研究方向跑偏,几周时间耗进去却连领域脉络都没理清,这种低效焦虑几乎每个科研人都经历过。传统方法里&#…...

TCP三次握手与四次挥手——连接管理的“仪式感“

**导读:**如果说HTTP是互联网世界的"通用语言",那么TCP就是支撑这一切的"地下管道"。但这条管道不是想通就通的——它有一套严格的"礼仪规范",也就是我们常说的三次握手和四次挥手。今天,我们就来聊…...