首页 > 其他分享 >视觉机械臂抓取——流程总览

视觉机械臂抓取——流程总览

时间:2024-07-30 09:24:41浏览次数:16  
标签:执行器 末端 抓取 坐标 视觉 感知 总览 机械

视觉机械臂抓取

简单介绍

主要包含两个部分,两种控制方式。

两大部分:

  • 机械臂部分
  • 感知部分:包含不仅限视觉感知也会设计其他传感器感知。

两种控制方式:

  • 开环控制:感知部分获得物体坐标 -> 控制机械臂末端执行器到达这个坐标
  • 闭环控制:感知部分同时得到物体坐标与机械臂末端执行器坐标 -> 控制机械臂末端执行器坐标与物体坐标两坐标重合
  • 区别:开环控制中机械臂末端执行器的坐标为机械臂正逆解得到(无反馈),而闭环中的末端执行器坐标为感知部分得到(有反馈)。

抓取流程

  1. 读取摄像头图像
  2. 在图像中识别出要抓取的物体并得到其像素坐标
  3. 二维像素坐标(x, y) -> 以相机中心为原点的三维坐标系下的坐标 (Xc, Yc, Zc)
  4. (Xc, Yc, Zc) -> 三维世界坐标系的坐标(Xw, Yw, Zw)
  5. 根据需求与环境确定(手动)机械臂末端执行器到达(Xc, Yc, Zc)时的姿态(α, β, γ)
  6. 运动学逆解,通过(Xw, Yw, Zw)和(α, β, γ)这6个已知数据计算出每个电机分别需要旋转的角度j
  7. 根据环境与需求(有无障碍物、要求路径最短、要求时间最短等)规划出一系列中间点(逆解算出)
  8. 控制各个电机旋转到达各个中间节点至终点
  9. 末端执行器执行

机械臂部分

  • 组成:机械臂机架 + 动力源 + 末端执行器 + 控制器
  • 动力源:位置(角度)伺服的驱动器——舵机、步进电机、伺服电机等
  • 末端执行器:多种型号样式可选
  • 自由度:机械臂机架上有N个电机就有N个自由度,叫N轴机械臂(末端执行器上的电机不算)。

正逆解

N个电机旋转的角度,世界坐标系下的目标坐标和目标姿态

  • 正解:已知J,算出世界坐标系下的目标坐标和目标姿态
  • 逆解:已知世界坐标系下的目标坐标和目标姿态,算出J
  • 旋转矩阵和变换矩阵
  • D-H表代数法
  • 几何法

路径规划

众多中间点组成路径。
根据路径、时间、能量、力学、障碍物等等有不同算法可以得到不同路径。

  • 简单实现可人工设置少量中间点

感知部分

相机

  • 普通USB相机:只能得到RGB信息,一般情况下只能获取二维信息,使用于相机固定且物体高度相差不大的场景。
  • 深度相机:还可以获得深度信息,即RGB-D,如Kinect、realsense等。可以直接获得像素点的三维坐标,是用于多种场合。

找物体的方法

  • 特定形状、颜色(opencv)
  • 建立三维模型(object recognition kitchen)
  • 动态追踪(图像差异)
  • 深度学习
  • 深度信息提取(高度差)

标签:执行器,末端,抓取,坐标,视觉,感知,总览,机械
From: https://blog.csdn.net/qq_38023194/article/details/140782285

相关文章

  • 关于立体视觉深度估计的一些问题
    目前我正在尝试做一些深度估计方面的工作。以下是我的代码importcv2importnumpyasnpimportmathleft_camera_matrix=np.array([[379.631915328262,-0.102220945295059,315.958769543110],[0,379.732222668215,203.885845031288],......
  • 视觉变换器模型未按应有的方式进行训练
    这是我使用Pytorch构建的视觉转换器的代码。该模型的交叉熵为2.31,准确度约为10%。这在所有时代都是一样的。因此,该模型无法训练。请让我知道我做错了什么,如果可能的话,请发送修改后的代码。预先感谢!PS:该模型是在MNIST上训练的#-*-coding:utf-8-*-"""Createdon......
  • 自动数据抓取、GitHub 提交、通知和部署的最佳实践
    我正在计划一个项目来自动执行以下任务:从网站上抓取数据。检查数据是否是新的或更新的。将新数据推送到GitHub存储库。检测到新数据时发送电子邮件通知或其他类型的通知(例如Slack、FCM)。将更新的数据部署到Web应用程序或其他应用程序。鉴于可用的工具和库范围广泛,......
  • 如何使用 bs4 在 phyton 中传递表情符号抓取文本
    我正在创建一个抓取器,用于抓取URL页面中的所有评论,并将文本保存在txt文件中(1条评论=1txt)。现在,当评论文本中有一些表情符号时,我遇到了问题。事实上,程序停止并显示“UnicodeEncodeError:‘charmap’编解码器无法对字符进行编码”。我怎样才能解决这个问题?(我用的是bs4)......
  • 会员购项目面试题解析:高效数据抓取与异常处理
    会员购项目亮点日志记录信息协程异步抓取数据,大大提高抓取速度捕获异常,并添加重试机制源码importloggingimporttimeimportrequestsimportasyncioimportaiohttpfromaiohttpimportContentTypeErrorimportcsv#配置日志logging.basicConfig(level=logging......
  • 计算机视觉 yolo
    我们如何构建一个消耗很少资源在移动设备上运行的对象识别模型?我使用了Moodle,但它没有提供很好的准确性我尝试过yolo算法,但速度很慢我还想在RaspberryPi上运行这个模型,并且我希望它也能识别远处的物体,而不仅仅是附近的物体说对了,要在资源有限的设备(如手机和树莓......
  • 使用 Python 进行 Web 抓取以获取数据 NoneType ERROR
    我正在努力为我的学校项目获取美元和价格。所以我决定为此使用网络抓取,但我有一个问题。当我尝试在服务器上使用我的代码时,它给我NoneType错误。它可以在googlecolab上使用,但我无法在我的电脑或服务器上使用。我该如何解决这个问题?网页抓取代码;defdolar():he......
  • 使用浏览器开发人员工具抓取Windows聚焦桌面壁纸
    最近发现Windows聚焦桌面壁纸质量都挺高的,比如下图,无奈图片不给保存。所有只有想办法把他爬下来。没有这个功能的可以在桌面右击鼠标,选择个性化,背景,Windows聚焦这样桌面上就出现一个图标右击这个图标,出现一个弹窗,选择“了解详情”就打开一个网页,我们按F12打开开发人员工具......
  • Python 抓取 urllib2 HTTP 错误
    我正在尝试抓取一个网站,但我的代码仅在我打开该网站然后刷新它时才有效。我尝试了多种方法,但不断出现以下两个错误:第一个:ValueError:“HTTPError:HTTP错误416:请求的范围无法满足”urlslist=open("list_urls.txt").read()urlslist=urlslist.split("\n")forurlslistinurl......
  • Unity Shader动画:用代码绘制动态视觉效果
    在Unity中,Shader是运行在GPU上的小程序,用于控制顶点和像素的渲染过程。通过编写自定义Shader,开发者可以创造出各种令人惊叹的动画效果,从简单的颜色变化到复杂的流体模拟。本文将探讨如何使用UnityShader来实现动画效果。Shader动画简介Shader动画是指使用Shader代码来控......