文章目录

  • 一、scara机器人用户坐标系标定
  • 二、scara机器人工具坐标(TCP)标定
    • 1、工具固定在小臂
    • 2、工具固定在末端

一、scara机器人用户坐标系标定


  如上图,坐标系{x0Oy0}\{x_0Oy_0\}{x0​Oy0​}为机器人基坐标系,坐标系{x1Py1}\{x_1Py_1\}{x1​Py1​}为需要建立的用户坐标系,这里假设zzz轴垂直于纸面向外。用户坐标系标定也即确定机器人基坐标系与用户坐标系之间的关系。采用两点法便可标定scara机器人的用户坐标系:
  (1)机器人末端标定针对准点PPP,记录此时机器人末端坐标为(xP,yP)(x_P,y_P)(xP​,yP​);
  (2)机器人末端标定针对准点QQQ(用户坐标系xxx轴上任意一点,∣PQ∣|PQ|∣PQ∣不能太短以免导致计算误差较大),记录此时机器人末端坐标为(xQ,yQ)(x_Q,y_Q)(xQ​,yQ​);
  (3)用户坐标系到机器人基坐标系的齐次变换矩阵为:
T=[cosθ−sinθxPsinθcosθyP001](1)T=\left[ \begin{matrix} cos\theta & -sin\theta & x_P \\ sin\theta & cos\theta & y_P \\ 0 & 0 & 1 \\ \end{matrix} \right] \tag{1} T=⎣⎡​cosθsinθ0​−sinθcosθ0​xP​yP​1​⎦⎤​(1)
  其中:
θ=atan2(yQ−yP,xQ−xP)(2)\theta=atan2(y_Q-y_P,x_Q-x_P) \tag{2} θ=atan2(yQ​−yP​,xQ​−xP​)(2)
  关于绕任意轴(这里是绕zzz轴)的旋转矩阵的求解问题,详见另外一篇博文:三维空间任意一点绕任意轴线旋转。

二、scara机器人工具坐标(TCP)标定

1、工具固定在小臂


  如上图,scara机器人大臂为L1=∣OA∣L_1=|OA|L1​=∣OA∣,小臂为L2=∣AB∣L_2=|AB|L2​=∣AB∣,固定在小臂的工具为CDCDCD,θ1,θ2\theta_1,\theta_2θ1​,θ2​为关节角度,坐标系{x0Oy0}\{x_0Oy_0\}{x0​Oy0​}为机器人基坐标系,坐标系{xeBye}\{x_eBy_e\}{xe​Bye​}为机器人小臂末端坐标系。工具固定在小臂的TCPTCPTCP即为点DDD在坐标系{xeBye}\{x_eBy_e\}{xe​Bye​}的坐标,可以利用两点法求得。
  将坐标系{xeBye}\{x_eBy_e\}{xe​Bye​}沿向量BA⃗\vec{BA}BA平移至点AAA,建立辅助坐标系{x1Ay1}\{x_1Ay_1\}{x1​Ay1​}。将点DDD对准机器人工作空间里任意一点,此时机器人两关节角度分别为θ1(1),θ2(1)\theta_1^{(1)},\theta_2^{(1)}θ1(1)​,θ2(1)​,将∣AD∣|AD|∣AD∣视为机器人的小臂长,根据运动学正解得:(详见博文:scara机器人运动学正逆解)
{xD=L1cosθ1(1)+∣AD∣cos(θ1(1)+θ2(1)+α)yD=L1sinθ1(1)+∣AD∣sin(θ1(1)+θ2(1)+α)(3)\left \{ \begin{array}{c} x_D=L_1cos\theta_1^{(1)}+|AD|cos(\theta_1^{(1)}+\theta_2^{(1)}+\alpha) \\ \tag 3 y_D=L_1sin\theta_1^{(1)}+|AD|sin(\theta_1^{(1)}+\theta_2^{(1)}+\alpha) \end{array}\right. {xD​=L1​cosθ1(1)​+∣AD∣cos(θ1(1)​+θ2(1)​+α)yD​=L1​sinθ1(1)​+∣AD∣sin(θ1(1)​+θ2(1)​+α)​(3)
  上式展开得:
{xD=L1cosθ1(1)+∣AD∣[cos(θ1(1)+θ2(1))cosα−sin(θ1(1)+θ2(1))sinα]yD=L1sinθ1(1)+∣AD∣[sin(θ1(1)+θ2(1))cosα+cos(θ1(1)+θ2(1))sinα](4)\left \{ \begin{array}{c} x_D=L_1cos\theta_1^{(1)}+|AD|[cos(\theta_1^{(1)}+\theta_2^{(1)})cos\alpha-sin(\theta_1^{(1)}+\theta_2^{(1)})sin\alpha] \\ \tag 4 y_D=L_1sin\theta_1^{(1)}+|AD|[sin(\theta_1^{(1)}+\theta_2^{(1)})cos\alpha+cos(\theta_1^{(1)}+\theta_2^{(1)})sin\alpha ] \end{array}\right. {xD​=L1​cosθ1(1)​+∣AD∣[cos(θ1(1)​+θ2(1)​)cosα−sin(θ1(1)​+θ2(1)​)sinα]yD​=L1​sinθ1(1)​+∣AD∣[sin(θ1(1)​+θ2(1)​)cosα+cos(θ1(1)​+θ2(1)​)sinα]​(4)
  设点DDD在坐标系{x1Ay1}\{x_1Ay_1\}{x1​Ay1​}的坐标为(xD′,yD′)(x_D',y_D')(xD′​,yD′​),则xD′=∣AD∣cosα,yD′=∣AD∣sinαx_D'=|AD|cos\alpha,y_D'=|AD|sin\alphaxD′​=∣AD∣cosα,yD′​=∣AD∣sinα,上式化简为:
{xD=L1cosθ1(1)+cos(θ1(1)+θ2(1))xD′−sin(θ1(1)+θ2(1))yD′yD=L1sinθ1(1)+sin(θ1(1)+θ2(1))xD′+cos(θ1(1)+θ2(1))yD′(5)\left \{ \begin{array}{c} x_D=L_1cos\theta_1^{(1)}+cos(\theta_1^{(1)}+\theta_2^{(1)})x_D'-sin(\theta_1^{(1)}+\theta_2^{(1)})y_D' \\ \tag 5 y_D=L_1sin\theta_1^{(1)}+sin(\theta_1^{(1)}+\theta_2^{(1)})x_D'+cos(\theta_1^{(1)}+\theta_2^{(1)})y_D' \end{array}\right. {xD​=L1​cosθ1(1)​+cos(θ1(1)​+θ2(1)​)xD′​−sin(θ1(1)​+θ2(1)​)yD′​yD​=L1​sinθ1(1)​+sin(θ1(1)​+θ2(1)​)xD′​+cos(θ1(1)​+θ2(1)​)yD′​​(5)

  在另一手系下,将点DDD对准机器人工作空间同一点,此时机器人两关节角度分别为θ1(2),θ2(2)\theta_1^{(2)},\theta_2^{(2)}θ1(2)​,θ2(2)​,同理可得:
{xD=L1cosθ1(2)+cos(θ1(2)+θ2(2))xD′−sin(θ1(2)+θ2(2))yD′yD=L1sinθ1(2)+sin(θ1(2)+θ2(2))xD′+cos(θ1(2)+θ2(2))yD′(6)\left \{ \begin{array}{c} x_D=L_1cos\theta_1^{(2)}+cos(\theta_1^{(2)}+\theta_2^{(2)})x_D'-sin(\theta_1^{(2)}+\theta_2^{(2)})y_D' \\ \tag 6 y_D=L_1sin\theta_1^{(2)}+sin(\theta_1^{(2)}+\theta_2^{(2)})x_D'+cos(\theta_1^{(2)}+\theta_2^{(2)})y_D' \end{array}\right. {xD​=L1​cosθ1(2)​+cos(θ1(2)​+θ2(2)​)xD′​−sin(θ1(2)​+θ2(2)​)yD′​yD​=L1​sinθ1(2)​+sin(θ1(2)​+θ2(2)​)xD′​+cos(θ1(2)​+θ2(2)​)yD′​​(6)
  令:
{a11=cos(θ1(2)+θ2(2))−cos(θ1(1)+θ2(1))a12=−sin(θ1(2)+θ2(2))+sin(θ1(1)+θ2(1))b1=L1(−cosθ1(2)+cosθ1(1))a21=sin(θ1(2)+θ2(2))−sin(θ1(1)+θ2(1))a22=cos(θ1(2)+θ2(2))+cos(θ1(1)+θ2(1))b2=L1(−sinθ1(2)+sinθ1(1))(7)\begin{cases} a_{11}=cos(\theta_1^{(2)}+\theta_2^{(2)}) - cos(\theta_1^{(1)}+\theta_2^{(1)}) \\ \tag 7 a_{12}= -sin(\theta_1^{(2)}+\theta_2^{(2)}) + sin(\theta_1^{(1)}+\theta_2^{(1)})\\ b_1 = L_1(-cos\theta_1^{(2)}+cos\theta_1^{(1)}) \\ a_{21}=sin(\theta_1^{(2)}+\theta_2^{(2)}) - sin(\theta_1^{(1)}+\theta_2^{(1)}) \\ a_{22}= cos(\theta_1^{(2)}+\theta_2^{(2)}) +cos(\theta_1^{(1)}+\theta_2^{(1)})\\ b_2 = L_1(-sin\theta_1^{(2)}+sin\theta_1^{(1)}) \\ \end{cases} ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧​a11​=cos(θ1(2)​+θ2(2)​)−cos(θ1(1)​+θ2(1)​)a12​=−sin(θ1(2)​+θ2(2)​)+sin(θ1(1)​+θ2(1)​)b1​=L1​(−cosθ1(2)​+cosθ1(1)​)a21​=sin(θ1(2)​+θ2(2)​)−sin(θ1(1)​+θ2(1)​)a22​=cos(θ1(2)​+θ2(2)​)+cos(θ1(1)​+θ2(1)​)b2​=L1​(−sinθ1(2)​+sinθ1(1)​)​(7)

  联立式(5)和式(6),解得:
{xD′=−(a12b2−a22b1)/(a11a22−a12a21)yD′=(a11b2−a21b1)/(a11a22−a12a21)(8)\begin{cases} x_D'=-(a_{12}b_2 - a_{22}b_1)/(a_{11}a_{22} - a_{12}a_{21}) \\ y_D'=(a_{11}b_2 - a_{21}b_1)/(a_{11}a_{22} - a_{12}a_{21}) \\ \tag {8} \end{cases} {xD′​=−(a12​b2​−a22​b1​)/(a11​a22​−a12​a21​)yD′​=(a11​b2​−a21​b1​)/(a11​a22​−a12​a21​)​(8)
  工具TCPTCPTCP为:
{txD=xD′−L2tyD=yD′(9)\begin{cases} t_{xD}=x_D'-L_2 \\ t_{yD}=y_D' \\ \tag {9} \end{cases} {txD​=xD′​−L2​tyD​=yD′​​(9)

2、工具固定在末端


  如上图,scara机器人大臂为L1=∣OA∣L_1=|OA|L1​=∣OA∣,小臂为L2=∣AB∣L_2=|AB|L2​=∣AB∣,固定在末端的工具为BDBDBD,其长度为RRR,θ1,θ2,θ4\theta_1,\theta_2,\theta_4θ1​,θ2​,θ4​为关节角度,坐标系{x0Oy0}\{x_0Oy_0\}{x0​Oy0​}为机器人基坐标系,坐标系{xeBye}\{x_eBy_e\}{xe​Bye​}为机器人末端坐标系。工具固定在末端的TCPTCPTCP即为点DDD在坐标系{xeBye}\{x_eBy_e\}{xe​Bye​}的坐标,可以利用两点法求得。
  将点DDD对准机器人工作空间里任意一点,此时机器人末端位姿为(xB(1),yB(1),cB(1))(x_B^{(1)},y_B^{(1)},c_B^{(1)})(xB(1)​,yB(1)​,cB(1)​),根据运动学正解得:
{xD=xB(1)+Rcos(cB(1)+α)yD=yB(1)+Rsin(cB(1)+α)(10)\left \{ \begin{array}{c} x_D=x_B^{(1)}+Rcos(c_B^{(1)}+\alpha)\\ \tag {10} y_D=y_B^{(1)}+Rsin(c_B^{(1)}+\alpha) \end{array}\right. {xD​=xB(1)​+Rcos(cB(1)​+α)yD​=yB(1)​+Rsin(cB(1)​+α)​(10)
  上式展开得:
{xD=xB(1)+R[cos(cB(1))cosα−sin(cB(1))sinα]yD=yB(1)+R[sin(cB(1))cosα+cos(cB(1))sinα](11)\left \{ \begin{array}{c} x_D=x_B^{(1)} +R[cos(c_B^{(1)})cos\alpha-sin(c_B^{(1)})sin\alpha]\\ \tag {11} y_D=y_B^{(1)} +R[sin(c_B^{(1)})cos\alpha+cos(c_B^{(1)})sin\alpha] \end{array}\right. {xD​=xB(1)​+R[cos(cB(1)​)cosα−sin(cB(1)​)sinα]yD​=yB(1)​+R[sin(cB(1)​)cosα+cos(cB(1)​)sinα]​(11)
  设点DDD在坐标系{xeBye}\{x_eBy_e\}{xe​Bye​}的坐标为(txD,tyD)(t_{xD},t_{yD})(txD​,tyD​),则txD=Rcosα,tyD=Rsinαt_{xD}=Rcos\alpha,t_{yD}=Rsin\alphatxD​=Rcosα,tyD​=Rsinα,上式化简为:
{xD=xB(1)+cos(cB(1))txD−sin(cB(1))tyDyD=yB(1)+sin(cB(1))txD+cos(cB(1))tyD(12)\left \{ \begin{array}{c} x_D=x_B^{(1)} +cos(c_B^{(1)})t_{xD}-sin(c_B^{(1)})t_{yD}\\ \tag {12} y_D=y_B^{(1)} +sin(c_B^{(1)})t_{xD}+cos(c_B^{(1)})t_{yD} \end{array}\right. {xD​=xB(1)​+cos(cB(1)​)txD​−sin(cB(1)​)tyD​yD​=yB(1)​+sin(cB(1)​)txD​+cos(cB(1)​)tyD​​(12)

  在另一位姿下,将点DDD对准机器人工作空间同一点,此时机器人末端位姿为(xB(2),yB(2),cB(2))(x_B^{(2)},y_B^{(2)},c_B^{(2)})(xB(2)​,yB(2)​,cB(2)​),同理可得:
{xD=xB(2)+cos(cB(2))txD−sin(cB(2))tyDyD=yB(2)+sin(cB(2))txD+cos(cB(2))tyD(13)\left \{ \begin{array}{c} x_D=x_B^{(2)} +cos(c_B^{(2)})t_{xD}-sin(c_B^{(2)})t_{yD}\\ \tag {13} y_D=y_B^{(2)} +sin(c_B^{(2)})t_{xD}+cos(c_B^{(2)})t_{yD} \end{array}\right. {xD​=xB(2)​+cos(cB(2)​)txD​−sin(cB(2)​)tyD​yD​=yB(2)​+sin(cB(2)​)txD​+cos(cB(2)​)tyD​​(13)

  令:
{a11=cos(cB(2))−cos(cB(1))a12=−sin(cB(2))+sin(cB(1))b1=−xB(2)+xB(1)a21=sin(cB(2))−sin(cB(1))a22=cos(cB(2))+cos(cB(1))b2=−yB(2)+yB(1)(14)\begin{cases} a_{11}=cos(c_B^{(2)}) - cos(c_B^{(1)}) \\ \tag {14} a_{12}= -sin(c_B^{(2)}) + sin(c_B^{(1)})\\ b_1 =-x_B^{(2)} +x_B^{(1)}\\ a_{21}=sin(c_B^{(2)}) - sin(c_B^{(1)}) \\ a_{22}= cos(c_B^{(2)}) +cos(c_B^{(1)})\\ b_2 = -y_B^{(2)} +y_B^{(1)} \\ \end{cases} ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧​a11​=cos(cB(2)​)−cos(cB(1)​)a12​=−sin(cB(2)​)+sin(cB(1)​)b1​=−xB(2)​+xB(1)​a21​=sin(cB(2)​)−sin(cB(1)​)a22​=cos(cB(2)​)+cos(cB(1)​)b2​=−yB(2)​+yB(1)​​(14)

  联立式(11)和式(12),解得工具TCPTCPTCP为:
{txD=−(a12b2−a22b1)/(a11a22−a12a21)tyD=(a11b2−a21b1)/(a11a22−a12a21)(15)\begin{cases} t_{xD}=-(a_{12}b_2 - a_{22}b_1)/(a_{11}a_{22} - a_{12}a_{21}) \\ t_{yD}=(a_{11}b_2 - a_{21}b_1)/(a_{11}a_{22} - a_{12}a_{21}) \\ \tag {15} \end{cases} {txD​=−(a12​b2​−a22​b1​)/(a11​a22​−a12​a21​)tyD​=(a11​b2​−a21​b1​)/(a11​a22​−a12​a21​)​(15)

scara机器人用户坐标系标定与工具坐标(TCP)标定相关推荐

  1. MotoSimEG-VRC软件:安川机器人用户坐标系介绍与标定方法

    目录 概述 用户坐标系标定方法 用户坐标系标定注意事项 用户坐标系标定检查 本文已经首发在个人微信公众号:工业机器人仿真与编程(微信号:IndRobSim),欢迎关注! 概述 在对安川机器人进行手动运 ...

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

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

  3. 机器人杆长标定_一种SCARA机器人标定方法与流程

    本发明涉及机器人零位标定技术领域,尤其涉及一种SCARA机器人标定方法. 背景技术: 零位是机器人坐标系的基准,没有零位机器人无法判断自身位置.在影响机器人绝对精度的因素中,零位误差所占比重高达97% ...

  4. abb机器人建立工件坐标系_【收藏】设定ABB机器人工具坐标的方法

    随着工业机器人需求量的不断上升,市场上的机器人品牌越来越多,ABB机器人在全球享有极高的声誉,产品质量有保障,超强的性能,为工业生产带来更多帮助.有些用户在购买机器人机器人系统后,对abb机器人工具坐 ...

  5. abb四点法做tcp_什么是机器人的工具中心点(TCP)? | 北岛夜话

    工业现场的机器人实际上是有多个轴的机械手臂.要想让机器人完成指定的生产任务,通常需要在机器人的末端固定一个工具,比如焊接机器人的焊枪.涂胶机器人的胶枪.搬运机器人的夹具等.由于各工具的大小.形状各不相 ...

  6. 机器人 工具坐标系的标定

    概念 工具坐标系是把机器人腕部法兰盘所握工具的有效方向定为Z轴,把坐标定义在工具尖端点,所以工具坐标的方向随腕部的移动而发生变化. 工具坐标的移动,以工具的有效方向为基准,与机器人的位置.姿势无关,所 ...

  7. scara机器人dh参数表_两分钟带你了解机器人标定的因素

    为什么机器人需要标定? 影响机器人本体精度因素分为两大类:运动学因素--加工误差.机械公差/装配误差.减速器精度.减速器空程等:动力学因素--质量.惯性张量.摩擦力.关节柔性.连杆柔性. 机器人本体的 ...

  8. 浅谈ABB机器人(工具坐标,工件坐标,有效载荷)

    工具坐标(tool): 使tcl坐标偏移到工具上,例如焊接工作,使机器人工作点切入焊枪点上 mass:工具的重量 xyz:偏移距离的大小 验证:通过手动模式,切换至自定义工具,重定向 工件坐标(wob ...

  9. 机器人抓取(五)—— 手眼标定 hand eye calibration

    1. 原理篇 参考:机器人手眼标定的基础理论分析 3D视觉之手眼标定 胡春旭:"手眼"结合完成物体抓取应用 在实际应用中,我们通常需要将相机观察到的外界环境中物体的姿态从相机坐标系 ...

  10. FANUC、ABB、YASKAWA、SCARA机器人入门书籍整理

    1.工业机器人入门实用教程(FANUC机器人) 本书基于FANUC工业机器人,从机器人应用过程中需要找我的技能触发,由浅入深.循序渐进地介绍了FANUC机器人实用入门知识. 2.工业机器人入门实用教程 ...

最新文章

  1. java+自定义异常类+输入若干成绩 为负数时输出抛出异常_java+自定义异常类+输入若干成绩 为...
  2. 服务器中加速BIOS启动的方法
  3. 一个关于nvarchar字段排序,中英文混合排序的问题
  4. maven pom resources标签的使用示例
  5. 员工离职时被HR回复“猝死了再说”!HR道歉:没控制好情绪
  6. 多线程共享java_java多线程之共享资源
  7. 鸟哥的私房菜Linux 学习笔记之 Bash语法
  8. phpcms后台系统怎么去掉html目录_高标准 Vue+Antd 后台系统VueAntdAdmin
  9. Django + Uwsgi + Nginx 实现生产环境部署1
  10. Struts2不扫描jar包中的action
  11. Jsoup爬虫新手一
  12. Beego 使用笔记
  13. data1 op data2 c语言,编写一个简单计算器程序,输入格式为:data1 op data2。其中data1和data2是参加...
  14. Linux 系统设置静态ip地址
  15. tomcat6url请求400错误(%2F与%5C)
  16. 【AI视野·今日CV 计算机视觉论文速览 第186期】Fri, 6 Nov 2020
  17. 马蹄集------函数的幂
  18. java如何设置直线的宽度_设置线条的宽度lineWidth
  19. WinExec、ShellExecute、CreateProcess iexplore.exe打开网页
  20. 怎么解决电脑USB接口不识别U盘

热门文章

  1. Q-Vision+Kvaser CAN/CAN FD/LIN总线解决方案
  2. 【机器视觉】线阵相机模型说明以及使用HALCON标定助手对线阵相机进行标定
  3. 爬虫学习——大碗宽面b站和网易云可视化分析代码
  4. F28335学习之ADC配置
  5. scanf函数读取缓冲区数据的问题
  6. python有道批量单词音标整理-python调用有道智云API实现文件批量翻译
  7. 2021图像检索综述
  8. 雷电html查看程序编辑程序,NC程序编辑器(nEditor)
  9. 让你的手机不输kindle的3款epub阅读器
  10. 荐书 | 5本数学科普让你不再“畏惧”数学,感受数学的内在美