Isaac Sim知识小解(9):anygrasp生成抓取位姿
1. Anygrasp介绍AnyGrasp是上海交大 非夕 Flexiv 联合实验室GraspNet 团队推出的通用 7DoF 视觉抓取算法 工程 SDK2022 论文面向无序未知物体静态 动态抓取是目前工业落地最主流的 6/7 自由度抓取开源方案常和 cuRobo 运动规划搭配使用视觉出抓取位姿→cuRobo 做机械臂避障轨迹。无需提前物体建模、物体 CAD、离线标定训练输入单目 RGB-D 点云直接输出夹爪可用7 自由度抓取位姿6D 位姿 夹爪开合宽度与其他主流方法比较使用流程建议典型 pipeline获取 RGB-D 图像 → 生成点云运行 AnyGrasp → 得到多个候选抓取7DoF 位姿在相机系下手眼标定 → 将抓取位姿转到机器人基坐标系对抓取位姿进行后处理 → 选择最优抓取位姿位姿送入 cuRobo 运动规划 → 规划无碰撞路径执行抓取动作接近 → 闭合夹爪 → 提起使用 [AnyGrasp]它输入一帧 RGBD 数据以及相机内参输出一组相机坐标系下带分数的候选抓取位姿。AnyGrasp 的 SDK 需要申请 license。最直接的用法是离线跑一帧数据核心就是从深度图反投影出点云喂给模型from gsnet import AnyGrasp from graspnetAPI import GraspGroup anygrasp AnyGrasp(cfgs) anygrasp.load_net() # 从深度图反投影出点云 xmap, ymap np.meshgrid(np.arange(W), np.arange(H)) points_z depths / scale points_x (xmap - cx) / fx * points_z points_y (ymap - cy) / fy * points_z points np.stack([points_x, points_y, points_z], axis-1) mask (points_z 0) (points_z 1) points points[mask].astype(np.float32) colors colors[mask].astype(np.float32) # 检测抓取返回一个 GraspGroup gg, cloud anygrasp.get_grasp( points, colors, apply_object_maskTrue, collision_detectionTrue ) gg gg.nms().sort_by_score() # 非极大值抑制 按分数排序 best_grasp gg[0] # 分数最高的抓取用服务的方式调用在实际的数据采集流水线里AnyGrasp 模型加载一次要占不少显存而且我们往往需要并行跑很多个 Isaac Sim 实例每个实例都自己加载一份模型既慢又浪费。所以更实用的做法是把AnyGrasp 包成一个 HTTP 服务模型常驻显存Isaac 这边作为客户端按需请求。from flask import Flask, request, jsonify app Flask(__name__) anygrasp AnyGrasp(cfgs) anygrasp.load_net() # 模型常驻 app.route(/process, methods[POST]) def process_data(): data request.get_json() colors np.array(data[colors], dtypenp.uint8) depths np.array(data[depths], dtypenp.uint16) # ... 反投影 get_grasp ... gg gg.nms().sort_by_score() grasp_list [{ translation: g.translation.tolist(), rotation_matrix: g.rotation_matrix.tolist(), depth: g.depth, score: g.score, } for g in gg] return jsonify({grasp_groups: grasp_list}), 200 app.run(host0.0.0.0, port5001)从相机系到世界系AnyGrasp 给出的抓取位姿是在相机坐标系下的而我们前面规划用的是世界坐标系所以又得做一次坐标变换。这里需要特别小心的是AnyGrasp / GraspNet 的相机坐标系约定和 Isaac Sim 的相机坐标系约定是不一样的中间需要插一个修正矩阵def get_world_grasp_from_camera_coords( camera_position, camera_quaternion, point_3d, matrix_grasp ): rotation_cam_to_world R.from_quat(camera_quaternion[[1, 2, 3, 0]]) # 这两个矩阵用来对齐 GraspNet 和 Isaac 的相机坐标系约定 transform_custom_pose np.array([[0, 0, 1], [0, -1, 0], [1, 0, 0]]) correction_matrix np.array([[1, 0, 0], [0, 0, -1], [0, 1, 0]]) point_in_world ( rotation_cam_to_world.as_matrix() correction_matrix transform_custom_pose point_3d camera_position ) rotation_world ( rotation_cam_to_world * R.from_matrix(correction_matrix transform_custom_pose) * R.from_matrix(matrix_grasp) * R.from_matrix(np.linalg.inv(transform_custom_pose)) ).as_quat()[[3, 0, 1, 2]] return point_in_world, rotation_world

相关新闻

基于个人博客数据微调大模型,打造专属AI写作助手实战指南

基于个人博客数据微调大模型,打造专属AI写作助手实战指南

1. 项目概述:从“AI味”到“人味”的写作进化你有没有发现,现在很多AI生成的文章,读起来总有一种挥之不去的“塑料感”?它们结构工整、用词准确,但就是缺乏灵魂,没有你个人独特的表达习惯和思考痕迹。这其实…

2026/9/19 22:20:27 阅读更多 →
VC++ MFC开发企业级MIS系统:现代重构与性能优化实战

VC++ MFC开发企业级MIS系统:现代重构与性能优化实战

1. 项目概述:为什么选择VC MFC在202X年开发MIS?如果你在202X年听到有人用VC MFC开发一个全新的管理信息系统(MIS),第一反应可能是:“这技术栈是不是有点老了?” 我半年前启动这个项目时&#xf…

2026/9/8 6:07:05 阅读更多 →
ResNet残差网络:从网络退化到深度革命的核心原理与实战应用

ResNet残差网络:从网络退化到深度革命的核心原理与实战应用

1. 从“网络退化”到“深度革命”:ResNet的诞生背景 如果你在2015年之前尝试训练一个超过20层的卷积神经网络(CNN),大概率会遇到一个令人沮丧的现象:随着网络层数的增加,模型的训练误差和测试误差不仅没有降…

2026/9/17 9:31:33 阅读更多 →

最新新闻

Example 1 (compact list with code block)

Example 1 (compact list with code block)

Example 1 (compact list with code block) 【免费下载链接】prettier Prettier is an opinionated code formatter. 项目地址: https://gitcode.com/gh_mirrors/pr/prettier Sibling item beforeA bullet point with bare text (not in a <p>), followed by a co…

2026/9/19 22:20:02 阅读更多 →
微信支付回调验签总失败?让 Codex 走 TaoToken 对照 SHA256withRSA

微信支付回调验签总失败?让 Codex 走 TaoToken 对照 SHA256withRSA

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/19 22:20:02 阅读更多 →
MCP 智能体多模型切换,TaoToken 通道的 Base URL 填什么?

MCP 智能体多模型切换,TaoToken 通道的 Base URL 填什么?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/19 22:20:02 阅读更多 →
微信红包随机算法原理与PHP实现

微信红包随机算法原理与PHP实现

简介&#xff1a;本资源是一份面向PHP后端开发者与算法学习者的微信红包金额随机生成方案详解文档&#xff0c;聚焦社交支付场景中红包分配的公平性与趣味性平衡问题。文档深入剖析了“预先生成所有红包”这一更可控的实现思路&#xff0c;通过“膨胀—收缩”概率调整策略&…

2026/9/19 22:20:02 阅读更多 →
x64dbg从入门到实战:下载安装、插件配置与调试技巧全解析

x64dbg从入门到实战:下载安装、插件配置与调试技巧全解析

1. 下载前的准备与版本选择1.1 为什么要选 x64dbg&#xff0c;而不是其他调试器很多刚接触逆向分析的朋友&#xff0c;一上来就会纠结&#xff1a;网上调试器一大堆&#xff0c;OllyDbg、WinDbg、x64dbg、IDA Pro&#xff0c;到底该用哪个&#xff1f;我的建议很直接&#xff1…

2026/9/19 22:20:02 阅读更多 →
深入解析 marked 的 GFM 表格与引用块边界解析:以 blockquote_following_table 测试用例为例

深入解析 marked 的 GFM 表格与引用块边界解析:以 blockquote_following_table 测试用例为例

前端 【免费下载链接】marked A markdown parser and compiler. Built for speed. 项目地址&#xff1a; https://gitcode.com/gh_mirrors/ma/marked 点击查看 免费下载 导读 Markdown 解析器面临的核心挑战之一&#xff0c;是块级元素之间的边界判定&#xff1a;一段紧随表格…

2026/9/19 22:19:02 阅读更多 →

日新闻

BP神经网络时序预测:滑窗长度与多窗口平均策略

BP神经网络时序预测:滑窗长度与多窗口平均策略

简介&#xff1a;面向机器学习、深度学习与数据建模学习者的一份完整研究文献&#xff0c;聚焦BP神经网络在农业产量预测中的应用。文档以1980—2018年全国棉花产量为样本&#xff0c;系统讲解数据归一化处理、激活函数原理、多层神经网络结构搭建及训练流程&#xff0c;展示敏…

2026/9/19 0:00:30 阅读更多 →
Transformer训练实时监控实战:基于MindSpore的损失曲线可视化方案

Transformer训练实时监控实战:基于MindSpore的损失曲线可视化方案

上个月调一个Deformable DETR模型&#xff0c;在单卡上要跑将近两天。第二天早上我下意识打开终端翻日志&#xff0c;发现loss从凌晨两点就开始往上爬&#xff0c;一路从0.8涨到1.35&#xff0c;整整六个小时没人发现。那六个小时的训练不仅白跑&#xff0c;还霸占着卡——等于…

2026/9/19 0:00:30 阅读更多 →
OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南

OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南

OpenCloud 中的 Go 类型安全转换库 spf13/cast&#xff1a;从零值回退到泛型 API 的完整实战指南 【免费下载链接】opencloud &#x1f324;️ OpenCloud is the open source platform for file management, sharing and collaboration. Simple and sovereign. 项目地址: htt…

2026/9/19 0:00:30 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南&#xff1a;掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/19 3:59:36 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战&#xff1a;基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/19 3:53:08 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时&#xff0c;甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事&#xff0c;打开配置文件改一行不就完了&#xff1f;结果真动手才发现&#xff0c;Flutter项目里“应用名称”根本不是一处配置&#xff0c;而是一整套散落在 Androi…

2026/9/19 4:02:43 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践&#xff1a;原型怎样变成可用功能分类&#xff1a;[AI/大模型]细分主题&#xff1a;AI 增强型 CI/CD 流水线自动化与 GitOps 实践&#xff1a;Agent 工作流、工具调用与任务拆解&#xff1a;从原型到生产的验收清单很多团队在尝试用大…

2026/9/16 22:31:27 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战&#xff1a;复盘记录怎样真正派上用场分类&#xff1a;[工程技术]细分主题&#xff1a;Kubernetes 生产环境运维与排障实战&#xff1a;可复制的项目复盘模板与决策记录大部分团队的事故复盘报告&#xff0c;最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理&#xff1a;核心链路应该先拆哪一步分类&#xff1a;[工程技术]细分主题&#xff1a;Docker 容器化技术与镜像安全管理&#xff1a;核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用&#xff08;包含 Web 接口、后台…

2026/9/16 22:32:59 阅读更多 →