返回列表 发布新帖

多模态机械臂抓取系统进展分享——anygrasp

340 0
发表于 2024-12-20 15:55:50 | 查看全部 阅读模式
🌐 环境配置


我们使用的开发环境如下:
        •        系统: Ubuntu 22.04
        •        编程语言: Python 3.9
        •        工具链: Anaconda
        •        CUDA: 12.1
        •        Cudnn: 配套版本
        •        PyTorch: 2.1.1 + cu121
        •        Minkowski Engine: 12.1

配置关键步骤

        1.        设置 CUDA 环境变量:

export CUDA_HOME=/usr/local/cuda-12.1
export TORCH_CUDA_ARCH_LIST="8.9"


        2.        下载并安装依赖:

sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2.22_amd64.deb


        3.        激活 AnyGrasp SDK 授权:

./license_checker -f 7449293101554303648


        4.        修复兼容性问题:
        •        将 numpy 降级。
        •        修改 float 为 float32 类型。

🛠️ 系统实现

核心模块:manipulator.py

此模块实现了从图像预处理到抓取姿态生成的主要流程。以下是核心功能:
        1.        初始化: 设置相机参数和边界限制,加载抓取模型。
        2.        图像处理:
        •        深度图像转 3D 点云 (get_3d_points)。
        •        根据深度阈值裁剪图像和点云 (crop_img)。
        3.        抓取姿态预测: 使用 AnyGrasp 模型生成候选抓取姿态,并通过非极大值抑制和排序优化结果。
        4.        过滤抓取姿态: 支持通过边界框筛选抓取点,并转换为左手抓取姿态。
        5.        可视化调试: 基于 Open3D 渲染抓取姿态和点云结果。

输入和输出

        •        输入:
        1.        深度图像 (depth_img)
        2.        彩色图像 (color_img)
        3.        可选物体边界框 (bbox)
        4.        旋转限制 (lim_rot)
        •        输出:
        •        抓取姿态列表,包含平移向量和旋转信息。
        •        可视化抓取结果(debug 模式下)。

📷 相机模块

我们基于 RealSense 摄像头开发了图像采集模块,主要实现以下功能:
        1.        RGB 图像采集:
        •        获取未失真的 RGB 图像。
        2.        RGB-D 图像采集:
        •        同步采集彩色图像和深度图像,并应用滤波处理。

配置与参数

        •        相机内参:

fx: 909.709, fy: 909.857, ppx: 639.634, ppy: 386.391  
分辨率: 1280x720  
最大深度值: 2000.0 mm  

🚀 运行进展

我们实现了多线程运行 camera.py 和 test.py,可以完成以下功能:
        1.        实时拍摄并画框: 在图像上绘制抓取区域框。
        2.        末端姿态发送: 将抓取末端位姿实时输出。


回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2025 OPENLOONG. All Rights Reserved. Powered by Discuz!
  • 关注B站
  • 关注抖音
  • 关注微信公众号
Copyright © 2025 开发者论坛 - OpenLoong 版权所有 All Rights Reserved.
关灯 在本版发帖 返回顶部
快速回复 返回顶部 返回列表