基于可移动坐标系的机器人坐标偏移
在生产过程中,当需要建造多个坐标系的时候,我们可以采用基于坐标系偏移,可以实现使用机器人坐标系直接完成多个坐标系的联动。
由于实现多个坐标系的联动情况,那么通常都会伴随着坐标系的移动和旋转,所以我们会设立2个机器人坐标系,一个是机器手的工作坐标系,即为baseX;一个为机器手底座基准坐标系,即为base0;

如上图所示,base0为机器手底座的坐标系,是机器人自带的坐标系,不受任何控制的影响。baseX坐标系为机器手的工作坐标系,在示教是直接确定,baseX点在base0坐标系下的点。左图为示教的工件,右图红色为工作的工件,黑色为旋转后的示教坐标系。蓝色为我们最后发送给电气的偏移X距离,偏移Y距离,偏移角度Angle。
第一步:示教确定。在标定结束后,机器人在示教位置应确定一个工作坐标系(工作坐标系推荐使用机器手末端的中心为baseX坐标系)。
第二步:确定示教点坐标。当前的示教点坐标应通过电气使用机器手到达工件位置,然后记录示教点基于base0坐标系下的坐标的(即为在机器手全局坐标系的点)。同时也需要记录示教点在相机坐标系下的坐标。
【在确定示教点时,相机应该画面的中心应该正对到示教点,在识别工作坐标时可以按偏移量获取到工作坐标具体值】

如上图:2个正方形框为相机的拍照画面,那么我们在示教的时候应该将示教点放置在画面的正中心。
第三步:获取到工作时的基于base0坐标系下的工作坐标。
拟定:相机.work.x:相机坐标系下的工作点X坐标(可以拍照直接获取);相机.work.y:相机坐标系下的工作点Y坐标(可以拍照直接获取)
那么基于Base0下的工作坐标可以为:base0.work.x=base0.Teach.X+(相机.work.x-相机.Teach.X);base0.work.y=base0.Teach.y+(相机.work.y-相机.Teach.y);
所以工作点1和2,我们可以通过上述的计算方式对基于base0下的工作点1和2的坐标值。
第四步:在获取到基于base0下的示教点1和2坐标,基于base0下的工作点1和2坐标,基于base0下的baseX坐标值。(其中应该注意到,baseX点有2个,一个是开始搬运的点,一个是结束搬运的点)。
第五步:计算坐标系的旋转角度。
TeachLineW=Teach2.X-Teach1.X;
TeachLineL=Teach2.Y-Teach2.Y;
TeachAngel=arctan(TeachLineL/TeachLineW);
WorkLineW=Work2.X-Work1.X;
WorkLineL=Work2.Y-Work1.Y;
WorkAngle=arctan(WorkLineL/WorkLineW);
OffsetAngel=TeachAngle-WorkAngle;
所以我们得出的OffsetAngle即为我们坐标系的偏移角度
第六步:将坐标系进行旋转,然后计算与示教点的偏移量。
由于我们进行了旋转,所以旋转后的示教点的坐标在基于base0下会发生改变

不仅示教点会发生变化,示教的坐标系baseX也会发生变化,而且由于是绕着baseX进行旋转,所以点相对baseX的坐标不会改变,但是相对base0的坐标会改变,所以我们需要基于base0下的坐标系进行计算,并且直接输出基于base0下的示教坐标。
所以根据等腰三角形的特点,已知2点坐标,腰长,和旋转角度,求另一个点的坐标为多少:
nowTeach1.X=(Teach1.X-BaseX.X)*cosθ-(Teach1.Y-BaseX.Y)*sinθ+BaseX.X;
nowTeach1.Y=(Teach1.X-BaseX.X)*sinθ-(Teach1.Y-BaseX.Y)*cosθ+BaseX.Y;
则最后的偏移量为:
OffsetX=work1.X-nowTeach1.X;
OffsetY=work1Y-nowTeach1.Y;
最终我们输出给电气的值有:OffsetAngel(偏移旋转角度),OffsetX,OffsetY。

机器人与视觉,基于坐标系的运动偏移相关推荐

  1. 走好每一步,基于C实现机器人运动学建模与标定、运动规划、轨迹规划算法

    走好每一步,基于C实现机器人运动学建模与标定.运动规划.轨迹规划算法 废话 综述 一:C部分 初始C语言 Chapter2-4:基本数据类型 Chapter5-7:运算符.表达式.循环.分支与跳转 C ...

  2. 基于结构光测量技术和3D物体识别技术开发的机器人3D视觉引导系统

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|新机器视觉 基于结构光测量技术和3D物体识别技术开发的机器 ...

  3. 工具坐标6点法_轻松学机器人系列之各坐标系关系

    更多内容请点击上方安德鲁机器人关注.转载请先后台留言,请支持原创!谢谢 难得的机会让胖老师Johnny Pan跟大家开个车,可能速度有点快,各位系好安全带坐好.关于胖老师Johnny Pan这里就不作 ...

  4. 【机器人学、机器人控视觉与控制】四足机器人MATLAB仿真

    文章目录 [机器人学.机器人控视觉与控制]四足机器人MATLAB仿真 1 创建一条机器人腿 2 单腿运动 3 四腿运动 [机器人学.机器人控视觉与控制]四足机器人MATLAB仿真 我们的目标是创建一个 ...

  5. UR优傲机器人如何处理视觉的数据

    机器人与视觉配合原理 机器人与视觉配合之前,需要进行视觉标定,标定的作用的是求出机器人坐标系(RCS)和视觉坐标系(CCS)之间的关系:如图1所以. 2.UR机器人与视觉的标定 2.1机器人视觉标定概 ...

  6. 基于QT的运动参数提取与轨迹重现

    基于QT的运动参数提取与轨迹重现 前言 本项目中的原始数据可通过GPS模块读取串口内容或者直接利用手机某些APP导出原始文件得到,大概数据图如下: 本项目的核心就是利用上述数据,重现出整个运动轨迹并显 ...

  7. 机器人3D视觉引导技术,助力“中国制造2025”

    "中国制造2025",其核心环节之一就是机器人智能化.视觉技术代表了机器的眼睛和大脑,机器视觉将使得机器人智能化变成现实.基于此,大恒图像在国内机器视觉领域率先提出"机械 ...

  8. 机器人三维视觉技术及其在智能制造中的应用

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 摘要:三维视觉技术是智能机器人的一个热点研究方向,它是智能机器人进 ...

  9. 智能焊接机器人的视觉系统构成

    前言: 局部环境自主智能焊接机器人系统要在一定范围和技术程度上完成焊工焊接任务的功能 首先需要具备相应的硬件载体和焊接设备,如机器人本体,焊接电源,保护气体等 从功能模拟的分类需要有焊接环境的识别,使 ...

最新文章

  1. RxSwift 案例学习(一)
  2. object+java+equals_java-为什么SparseIntArray.equals(Object)不起作用?
  3. 15.centos7基础学习与积累-001
  4. Cygwin,Nutch安装配置,检验是否正确(对网友守望者博客的修改---在此感谢守望者)3
  5. [Qt教程] 第43篇 进阶(三)对象树与拥有权
  6. Windows中常用的函数调用规范
  7. 图嵌入表示TADW:当DeepWalk加上外部文本信息
  8. vue-cli配置移动端自适应
  9. 【QT】QT从零入门教程(十七):QT+OpenCV+VS 打包exe
  10. 遇劣势变蠢、发语音嘲讽人类……OpenAI这些奇葩DOTA操作跟谁学的?
  11. iOS Core Animation Advanced Techniques-图层树
  12. 超好用的Redis管理及监控工具,使用后可大大提高你的工作效率!
  13. 爬虫抓取新浪微博数据
  14. 计算机组装配置兼容,菜鸟DIY装机必须注意的五大硬件兼容性问题
  15. matlab工作方向,MATLAB-CST联合仿真之四:方向图分析与综合
  16. mysql数据库基础语句讲解
  17. switch基础用法
  18. Linux之 prefix 命令
  19. 并行多核体系结构基础 Yan Solihin 第4章 针对链式数据结构的并行 摘录
  20. 英特尔下一任CEO预测:五大热门人选出炉

热门文章

  1. python谁是卧底游戏流程图_谁是卧底游戏题目
  2. BP神经网络原理简单介绍以及公式推导(矩阵形式和分量形式)
  3. C语言编程 体型预测
  4. 航拍“中国南北地理分界线” 感受独特景观
  5. 计算机切换用户神魔意思,快速切换用户是什么意思?
  6. 优达学城 深度学习 任务1
  7. redis6.2.6版本配置详解
  8. 入门级短信推送,你还不会吗?
  9. python验证手机号是否注册学信网
  10. EBCDIC 与 GBK 的字符编码及其转换(转)