CN110053054B - 基于Android手机IMU的机械臂示教方法 - Google Patents
基于Android手机IMU的机械臂示教方法 Download PDFInfo
- Publication number
- CN110053054B CN110053054B CN201910280528.1A CN201910280528A CN110053054B CN 110053054 B CN110053054 B CN 110053054B CN 201910280528 A CN201910280528 A CN 201910280528A CN 110053054 B CN110053054 B CN 110053054B
- Authority
- CN
- China
- Prior art keywords
- mobile phone
- mechanical arm
- android mobile
- imu
- android
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000001133 acceleration Effects 0.000 claims abstract description 29
- 238000006073 displacement reaction Methods 0.000 claims abstract description 17
- 239000012636 effector Substances 0.000 claims abstract description 12
- 238000001914 filtration Methods 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000005484 gravity Effects 0.000 claims description 7
- 230000003068 static effect Effects 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 5
- 238000002474 experimental method Methods 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims description 2
- 238000003672 processing method Methods 0.000 claims description 2
- 238000005070 sampling Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009776 industrial production Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/0081—Programme-controlled manipulators with master teach-in means
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
Description
技术领域
本发明涉及一种利用Android手机进行机械臂示教的方法。
背景技术
随着现代化工业的迅速发展以及“工业4.0”概念的提出,人们对于工业生产的要求越来越高。作为工业生产的重要一部分,工业机器人凭借其生产效率、工作精度以及成本等方面诸多优势,也越来越受到关注。示教器是工业机器人的重要组成部分,其功能以及操作的便捷性快速成为国内外的研究重点。
传统机器人示教器通过示教器上的按钮对机器人进行编程来控制机器人的运动,这使得示教器有着笨重的外壳,操作的便捷性很难得到保证。同时,市场上诸多厂商生产的机器人大都有自己研发控制器,示教器依赖不同的控制器很难进行平台间的移植。
随着各种移动终端的普及,机器人示教器也向着便携式的方向发展,目前,市场上针对移动智能终端开发的操作系统主要有苹果公司的iOS系统,谷歌公司的Android系统以及微软的Windows Phone系统。其中,Android操作系统以其强大的开放性、丰富的第三方开发、优秀的内置服务、Google强大的长期维护支持等特点,在机器人示教器行业应用较为广泛。
发明内容
本发明针对传统示教器外壳笨重,难以提供便捷操作,不同平台间可移植性差的缺点,提出一种适用于工业机械臂基于Android手机的示教方法。
本发明基于Android操作系统,通过调用手机内嵌式IMU数据,实时计算手机在三维空间中的姿态以及固连手机端坐标系各个轴上的速度、位移,将其给定为机械臂末端姿态与数据,通过控制器逆运动学求解实现路径跟踪,以达到机械臂示教目的。
一种基于Android手机IMU的机械臂示教方法,具体步骤如下:
(1)标定坐标系,设固连在手机上的IMU空间坐标系为x-y-z,机械臂末端执行器的坐标系为x'-y'-z',调整手机姿态,使得固连在手机上的传感器坐标轴x与机械臂末端执行器坐标轴x'重合,y轴与y'轴重合,z轴与z'轴重合。
(2)Android手机端采用如图1所示的姿态解析器,设定计算周期T,利用Android系统自带的底层接口函数获取嵌入式IMU器件采集到的加速度信号与陀螺仪信号,以此作为输入,进行姿态解析运算。同时,适当选取低通滤波系数β以滤除加速度计中的重力加速度成分来获得线性加速度值。位移xn与线性加速度an满足:
速度vn与线性加速度的关系为:
vn=anT (2)
对于轨迹路径的计算采用分段式,由于IMU传感器具有一定的误差,实验测定Android手机静止状态下各轴速度输出均值为vstop,当|vn|<vstop时,Android手机端判定为静止状态,此时设定vn=0m/s。因此,一条完整的示教路径可以被分解为若干条初速度为0m/s的直线运动轨迹。调节姿态解析器中的PI控制器参数Kp,Ki,可得到较为理想的控制效果。手机的空间姿态通过OpenGLES实时绘制在屏幕上,并将四元数q0,q1,q2,q3转化为俯仰角偏航角θ与横滚角γ,其中:
将姿态角与速度值包装成数据报通过Socket发送给Staubli机器人控制器。
(3)Staubli机器人控制器接收到Android手机发送的数据进行逆运动学求解并执行控制,将执行后末端执行器运动的位移通过Socket发送给Android手机端。
(4)Android手机接收控制器发送的位移数据x',结合步骤(2)中的位移xn构造位移误差ex,即
ex=xn-x' (6)
然后对ex做PI运算,结果计入下一周期的速度运算。
(5)重复运行步骤(1)、(2)、(3)、(4)。
优选地,步骤(1)中标定坐标系,通过事先调整手机姿态使得固连坐标系与机械臂末端执行器坐标系重合,使得之后的各项运算不用考虑坐标系映射关系,简化了计算步骤,节省CPU计算开销。
优选地,步骤(2)所述的利用低通滤波器滤除加速度计中的重力加速度成分来获得线性加速度值,具体是选取滤波系数β使得滤波器既能较准确的过滤重力,又能保证稳定的滤波效果。
优选地,步骤(2)所述的轨迹路径分段式计算方法,通过构造死区:
滤除了加速度计数据“漂移”现象所产生的影响,同时使得轨迹路径能够用多段直线运动来近似表示。
优选地,步骤(2)所述的误差的具体处理方法是:通过机械臂控制器Socket发送的数据与Android手机端计算数据构造误差表达式,采用PI反馈控制,将误差规划到下一周期的运算中,能够有效降低本发明运行中的动态误差。
优选地,步骤(2)中所需要计算的速度加速度传感器经过均值滤波方法得到较为平滑的加速度数据后积分得到:如图1所示,已知加速度传感器采样周期T内连续10次的采样值分别为a0,a1,…,a9,经均值滤波,T时间端内的平均速度满足下式
优选地,步骤(2)中采用Mahony互补滤波算法融合陀螺仪与加速度计数据进行姿态解析计算。将算法实现步骤封装成输入为三轴加速度数据与陀螺仪数据的姿态解析器,其中,通过陀螺仪的积分来获得四轴的旋转角度,再利用加速度计的比例积分运算来修正陀螺仪的积分结果。具体算法步骤如下:
(3)利用叉积计算估计的重力和实际的重力两个向量之间的误差,x轴误差为ex,y轴误差为ey,z轴误差为ez。
(4)在t0时刻,将计算得到的x,y,z轴误差进行PI运算,比例增益为Kp,积分系数为Ki,得到的结果用于修正陀螺仪数据,x轴陀螺仪测量值为gx,y轴陀螺仪测量值为gy,z轴测量值为gz。
(5)利用一阶近似毕卡算法更新四元数,得到经过T时间后新的姿态的四元数。
优选地,步骤(2)中线性加速度值由加速度计经过一阶低通滤波算法得到,滤波系数β大小取决于t/(t+dt),当前采样值为X(n),当前滤波输出值为Y(n),上一周期滤波输出值为Y(n-1)滤波算法公式为:
Y(n)=βX(n)+(1-β)Y(n-1) (25)
一阶低通滤波法采用本次采样值与上次滤波输出值进行加权,使得输出对输入又反馈作用。可见,β对滤波结果有很大影响,β偏大,则结果更偏向于当前采样值,系统灵敏度高,滤波效果不稳定;β偏小,结果偏向于前一周期滤波输出值,系统滤波效果稳定,但对于数据起伏变化敏感度较小。
本发明的优点是:利用Android手机嵌入式IMU数据计算手机姿态,并将计算结果反馈给控制器,实现了对机械臂的便捷示教;对于不同生产商的机械臂都具有适用性。
附图说明
图1为本发明的姿态解析器系统结构图。
图2为本发明实施例控制系统框图,系统采用位移反馈PI控制。
具体实施方式
以下结合附图和实施例对本发明技术方案作进一步描述。
实施例
以本发明配合STAUBLI TX90机械臂使用为例,具体实施本发明的步骤如下:
(1)标定坐标系,设固连在手机上的IMU空间坐标系为x-y-z,机械臂末端执行器的坐标系为x'-y'-z',调整手机姿态,使得固连在手机上的传感器坐标轴x与机械臂末端执行器坐标轴x'重合,y轴与y'轴重合,z轴与z'轴重合。
(2)Android手机端采用如图1所示的姿态解析器,设定计算周期T,利用An droid系统自带的底层接口函数获取嵌入式IMU器件采集到的加速度信号与陀螺仪信号,以此作为输入,进行姿态解析运算。同时,适当选取低通滤波系数β以滤除加速度计中的重力加速度成分来获得线性加速度值。位移xn与线性加速度an满足公式(1),速度vn与线性加速度的关系满足公式(2)。对于轨迹路径的计算采用分段式,由于IMU传感器具有一定的误差,实验测定Android手机静止状态下各轴速度输出均值为vstop,当|vn|<vstop时,Android手机端判定为静止状态,此时设定vn=0m/s。因此,一条完整的示教路径可以被分解为若干条初速度为0m/s的直线运动轨迹。调节姿态解析器中的PI控制器参数Kp,Ki,可得到较为理想的控制效果。手机的空间姿态通过OpenGLES实时绘制在屏幕上,并将四元数q0,q1,q2,q3转化为俯仰角偏航角θ与横滚角γ,转换关系如公式(3)、(4)、(5)所示,将姿态角与速度值包装成数据报通过Socket发送给Staubli机器人控制器。
(3)Staubli机器人控制器接收到Android手机发送的数据进行逆运动学求解并执行控制,将执行后末端执行器运动的位移通过Socket发送给Android手机端。
(4)Android手机接收控制器发送的位移数据x',结合步骤(2)中的位移xn构造如公式(6)位移误差ex,然后对ex做PI运算,结果计入下一周期的速度运算。
(5)重复运行步骤(1)、(2)、(3)、(4)。
通过以上设计的姿态解析器以及PI控制,结合Socket网络通信,实现了对StaubliTX90机械臂的运动轨迹示教。因此,通过实施本发明方法,实现了机械臂的智能示教,同时,由于Android系统基于Linux的架构,使得本发明方法在应对不同厂商生产的机械臂时具有较高的可移植性。
Claims (5)
1.一种基于Android手机IMU的机械臂示教方法,具体步骤如下:
(1)标定坐标系,设固连在手机上的IMU空间坐标系为x-y-z,机械臂末端执行器的坐标系为x'-y'-z',调整手机姿态,使得固连在手机上的传感器坐标轴x与机械臂末端执行器坐标轴x'重合,y轴与y'轴重合,z轴与z'轴重合;
(2)Android手机端采用姿态解析器,设定计算周期T,利用Android系统自带的底层接口函数获取嵌入式IMU器件采集到的加速度信号与陀螺仪信号,以此作为输入,进行姿态解析运算;同时,利用低通滤波器滤除加速度计中的重力加速度成分来获得线性加速度值;位移xn与线性加速度an满足:
速度vn与线性加速度的关系为:
vn=anT (2)
对于轨迹路径的计算采用分段式,由于IMU传感器具有一定的误差,实验测定Android手机静止状态下各轴速度输出均值为vstop,因此当|vn|<vstop时,Android手机端判定为静止状态,此时设定vn=0m/s;因此,一条完整的示教路径可以被分解为若干条初速度为0m/s的直线运动轨迹;调节姿态解析器中的PI控制器参数为Kp,Ki可得到较为理想的控制效果;手机的空间姿态通过OpenGLES实时绘制在屏幕上,并将四元数q0,q1,q2,q3转化为俯仰角偏航角θ与横滚角γ,其中:
将姿态角与速度值包装成数据报通过Socket发送给Staubli机器人控制器;
(3)Staubli机器人控制器接收到Android手机发送的数据进行逆运动学求解并执行控制,将执行后末端执行器运动的位移通过Socket发送给Android手机端;
(4)Android手机接收控制器发送的位移数据x',结合步骤(2)中的位移xn构造位移误差ex,即
ex=xn-x' (6)
然后对ex做PI运算,结果计入下一周期的速度运算;
(5)重复运行步骤(1)、(2)、(3)、(4)。
2.根据权利要求1所述的一种基于Android手机IMU的机械臂示教方法,其特征在于:在步骤(1)中标定坐标系,通过事先调整手机姿态使得固连坐标系与机械臂末端执行器坐标系重合,使得之后的各项运算不用考虑坐标系映射关系,简化了计算步骤,节省CPU计算开销。
3.根据权利要求1所述一种基于Android手机IMU的机械臂示教方法,其特征在于:步骤(2)所述的利用低通滤波器滤除加速度计中的重力加速度成分来获得线性加速度值,具体是选取滤波系数β使得滤波器既能较准确的过滤重力,又能保证稳定的滤波效果。
5.根据权利要求1所述的一种基于Android手机IMU的机械臂示教方法,步骤(2)所述的误差的具体处理方法是:通过Socket发送的数据与Android手机端计算数据构造误差表达式,采用PI反馈控制,将误差规划到下一周期的运算中,能够有效降低本发明运行中的动态误差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910280528.1A CN110053054B (zh) | 2019-04-09 | 2019-04-09 | 基于Android手机IMU的机械臂示教方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910280528.1A CN110053054B (zh) | 2019-04-09 | 2019-04-09 | 基于Android手机IMU的机械臂示教方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110053054A CN110053054A (zh) | 2019-07-26 |
CN110053054B true CN110053054B (zh) | 2020-07-28 |
Family
ID=67318671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910280528.1A Active CN110053054B (zh) | 2019-04-09 | 2019-04-09 | 基于Android手机IMU的机械臂示教方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110053054B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111531551A (zh) * | 2020-04-22 | 2020-08-14 | 实时侠智能控制技术有限公司 | 一种使用通用平板电脑的安全示教器和示教方法 |
CN112987723B (zh) * | 2021-02-04 | 2024-06-18 | 珠海一微半导体股份有限公司 | 一种基于智能终端控制的机器人系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100813668B1 (ko) * | 2006-12-20 | 2008-03-14 | 한국생산기술연구원 | 안드로이드 로봇의 감정표현 방법 |
KR20120043865A (ko) * | 2010-10-27 | 2012-05-07 | 주식회사 케이티 | 이동통신 단말의 위치정보를 활용한 로봇 인터랙션 서비스 제공 시스템, 방법 및 장치 |
JP5792226B2 (ja) * | 2013-05-29 | 2015-10-07 | 株式会社神戸製鋼所 | 多関節リンク機構の逆運動学解法、及びこの逆運動学解法を利用した教示データ作成装置 |
KR20150044241A (ko) * | 2013-10-16 | 2015-04-24 | 대우조선해양 주식회사 | 로봇 자세 교시장치 및 그 방법 |
US10059003B1 (en) * | 2016-01-28 | 2018-08-28 | X Development Llc | Multi-resolution localization system |
CN106182003A (zh) * | 2016-08-01 | 2016-12-07 | 清华大学 | 一种机械臂示教方法、装置及系统 |
JP6939024B2 (ja) * | 2017-03-31 | 2021-09-22 | セイコーエプソン株式会社 | ロボット制御装置、ロボットおよびロボットシステム |
CN106863308B (zh) * | 2017-04-14 | 2019-08-30 | 清研华翊(天津)教育科技有限公司 | 一种移动机器人轨迹修正控制算法 |
CN107309882B (zh) * | 2017-08-14 | 2019-08-06 | 青岛理工大学 | 一种机器人示教编程系统及方法 |
CN108356817A (zh) * | 2018-01-12 | 2018-08-03 | 宁波易拓智谱机器人有限公司 | 一种基于3d模型的示教方法 |
-
2019
- 2019-04-09 CN CN201910280528.1A patent/CN110053054B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110053054A (zh) | 2019-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111618857B (zh) | 一种机械臂的多负载自适应重力补偿方法 | |
CN108061855B (zh) | 一种基于mems传感器的球形电机转子位置检测方法 | |
CN110605721A (zh) | 一种基于末端六维力传感器的机械臂拖动示教方法 | |
CN110253574B (zh) | 一种多任务机械臂位姿检测和误差补偿方法 | |
CN105583824A (zh) | 力控牵引和摆位的多自由度机械臂控制装置及其控制方法 | |
CN110053054B (zh) | 基于Android手机IMU的机械臂示教方法 | |
CN111624941A (zh) | 一种面向未知环境的六自由度机器人力控方法 | |
CN104589304A (zh) | 机器人控制装置以及机器人 | |
CN107457783B (zh) | 基于pd控制器的六自由度机械臂自适应智能检测方法 | |
CN114216456B (zh) | 一种基于imu与机器人本体参数融合的姿态测量方法 | |
CN110977990A (zh) | 一种基于末端六维力传感器的机械臂拖动示教方法 | |
CN109352656B (zh) | 一种具有时变输出约束的多关节机械臂控制方法 | |
CN111590564A (zh) | 一种六维力传感器重力补偿方法及系统 | |
US20130338832A1 (en) | Robot controller which conducts a force control by using a three-axial force sensor | |
CN111515928B (zh) | 机械臂运动控制系统 | |
CN112797979B (zh) | 一种应用于agv的惯性姿态导航系统 | |
CN114131617A (zh) | 一种工业机器人的智能柔顺控制方法和装置 | |
CN106092053A (zh) | 一种机器人重复定位系统及其定位方法 | |
CN110142764B (zh) | 力矩姿态无线传感器的数据融合处理系统及处理方法 | |
CN111397605A (zh) | 一种基于惯性传感器的混凝土泵送车臂架姿态实时检测方法 | |
CN113218249B (zh) | 跟随式遥操作战车及控制方法 | |
CN113580131A (zh) | 一种基于动作映射的机械臂末端位姿控制装置及控制方法 | |
CN113733155A (zh) | 六轴工业机器人标定装置和标定方法 | |
CN113848780B (zh) | 一种多核异构处理器架构下的高机动平台姿态解算装置及方法 | |
CN115674188B (zh) | 基于双路滤波器的串联机械臂精确柔顺开环跟踪控制系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |