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

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

视觉机械臂抓取

  • 简单介绍
    • 两大部分:
    • 两种控制方式:
    • 抓取流程
    • 机械臂部分
      • 正逆解
      • 路径规划
    • 感知部分
      • 相机
      • 找物体的方法

简单介绍

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

两大部分:

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

两种控制方式:

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

抓取流程

  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)
  • 动态追踪(图像差异)
  • 深度学习
  • 深度信息提取(高度差)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何在测试中保护用户隐私!
  • Golang | Leetcode Golang题解之第300题最长递增子序列
  • Github2024-07-29 开源项目周报Top15
  • easyui 点击单元格的时候,获取该行另外一个字段的值
  • CVPR 2024 最佳论文分享┆物体用体积表示:一种不透明固体图形的随机几何表示方法
  • C++拷贝和移动
  • 视频剪辑常用工具
  • C# 字符串罗马数字123转汉字一二三
  • Java中的异常总结
  • InternLM Git 基础知识
  • SAPUI5基础知识20 - 对话框和碎片(Dialogs and Fragments)
  • 需要消化的知识点
  • leetcode贪心(1833. 雪糕的最大数量)
  • elementplus菜单组件的那些事
  • C语言 之 理解指针(4)
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • Java比较器对数组,集合排序
  • Laravel 菜鸟晋级之路
  • Mysql数据库的条件查询语句
  • React 快速上手 - 07 前端路由 react-router
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 分类模型——Logistics Regression
  • 诡异!React stopPropagation失灵
  • 机器学习学习笔记一
  • 警报:线上事故之CountDownLatch的威力
  • 前端相关框架总和
  • 前言-如何学习区块链
  • 数组的操作
  • 项目管理碎碎念系列之一:干系人管理
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 一个项目push到多个远程Git仓库
  • 硬币翻转问题,区间操作
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • 2017年360最后一道编程题
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #LLM入门|Prompt#3.3_存储_Memory
  • #window11设置系统变量#
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (k8s中)docker netty OOM问题记录
  • (LeetCode C++)盛最多水的容器
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二)构建dubbo分布式平台-平台功能导图
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (七)Java对象在Hibernate持久化层的状态
  • (三)终结任务
  • (十六)、把镜像推送到私有化 Docker 仓库
  • (实测可用)(3)Git的使用——RT Thread Stdio添加的软件包,github与gitee冲突造成无法上传文件到gitee
  • (四) 虚拟摄像头vivi体验