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/11/14 23:00:52 阅读更多 →
VC++ MFC开发企业级MIS系统:现代重构与性能优化实战

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

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

2026/11/10 17:42:31 阅读更多 →
ResNet残差网络:从网络退化到深度革命的核心原理与实战应用

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

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

2026/11/11 3:26:14 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/14 5:13:29 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/14 5:13:29 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/14 5:13:29 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/13 22:08:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/14 2:41:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/14 5:13:29 阅读更多 →

日新闻

周新闻

月新闻