分享

基于示教再现实现机械臂路径规划的方法

 GXF360 2017-05-31
基于示教再现实现机械臂路径规划的方法

基于示教再现实现机械臂路径规划的方法

刘欣 丁殿磊

(大连理工大学机械工程学院,辽宁大连,116000)

摘 要:本文介绍一种基于示教再现方式实现机械臂路径规划的方法。内容主要由三部分组成,以图形用户界面GUI为连接纽带,用Arduino UNO实现数据信号采集和算法处理的功能,通过舵机控制板控制机械臂进行运动操作。该方法将机械臂的初始位置和目标位置之间划分为一系列的单一动作,录制每一个动作后都会采集相关数据信号,最后组合在一起,完成机械臂的路径规划。这种方法简单易懂,实时性强,便于调节。

关键词:机器人,机械臂,路径规划,舵机

0 引言

在电子技术、信息技术、控制技术不断发展的今天,机器人与我们的生活息息相关。机械臂则是机器人技术领域中最广泛的实际应用,在工业制造、医学治疗、军事等领域都有它们的身影。谈到机械臂,就会涉及到路径规划,所谓路径规划是指给定移动机械手的初始位姿及机械手末端的目标位姿,在移动机械手各广义坐标的工作范围内寻找一条无碰撞路径[1]。本文以简单的机械臂操作为例,通过示教再现的方法,结合GUI图形用户界面,研究其运动控制原理,实现对机械臂的路径规划功能。文章从总体方案、信号数据采集处理、图形用户界面和机械臂操作控制等方面进行讲解。

1 总体方案

机械臂运动的关键是关节,关节处最重要的部件为舵机。舵机的主体结构主要有以下几个部分:外壳、减速齿轮组、电机、电位器、控制电路。当控制电路接收信号源的控制信号,就会驱动电机转动;齿轮组将电机的转速成大倍数缩小,同时将电机的输出扭矩放大相应的倍数后输出;电位器和齿轮组的末级一起转动,对舵机轴转动的角度进行测量;电路板检测并根据电位器判断舵机转动角度,然后控制舵机转动到目标角度或保持在目标角度。

舵机转动的角度可以通过建立电位器两端的电压信号和舵机转动角度的关系得出。将电位器两端的电压信号通过AD转换为相应的数字信号,再建立相应的数字信号和PWM 信号值之间的函数关系(对机器人控制而言,一般通过单片机输出 PWM 信号控制舵机)。这样,在机械臂关节转动时,相应舵机产生的电压信号借由单片机AD转换,进行函数关系处理后,可以得到控制其转动相应角度的PWM信号值,将此信号值发送到舵机控制板对机械臂进行控制,机械臂就会转动相应的角度。总体方案如图1所示。

图1 总体方案框图

2 信号数据采集处理

在本方案中,要选取多个角度值,具体方法是:通过单片机对舵机转动相应角度、电位器两端引出的电压值进

行AD转换,得到相应的数值,和对应的PWM信号值进行函数关系处理,得到函数关系式。

此处选用Arduino UNO控制板完成这个工作。因为它是一款便捷灵活、方便上手的开源电子原型平台[2],下载程序简单方便,并且可以通过USB接口和PC连接(作为键盘和鼠标的扩展),快速与其他互动软件结合。该控制板包括:12通道数字输入,6通道10bit模拟输入通道;12通道数字输出,和6通道PWM模拟输出。其中,模拟口可以用来进行AD转换,对应模拟电压值为0-5V,转换后的数字信号值为0-255。

2.1 舵机接线及标定

如图2所示,要测出舵机电位器两端的电压值,就要对舵机进行改造,即将舵机电位器两端(图2黑色线圈部位)的电源线接出,并且连接到Arduino UNO模拟口上。

图2 舵机接线位置

在使用前要对舵机进行标定,建立起舵机转动角度和PWM值之间的关系,以及PWM信号值和舵机内电位器两端电压值之间的关系。两者结合得到角度和电压值之间的关系,并可以对机械臂运动结果进行验证和确定。

2.2 对电压信号取值的算法

在使用Arduino UNO进行电压信号读取,将模拟信号转变为数字信号时,因为电压信号不稳定,读取多个同一电压值时并不相同,需要进行算法处理。可选的方法有算术平均值法、归一化加权平均值法等等[3-4]。考虑到算法消耗的时间(和后面GUI程序有关)和数值的精确性,发现下述方法比较适合:

1)取一定数量的值,按大小进行排序;

2)去掉一部分极大值和极小值;

3)将剩余的值求取平均值 。

2.3 函数关系的确定

选取多个角度值,通过Arduino UNO模拟口在单片机里读取电位器两端电压值所对应的数字信号值,进行直线拟合[5],然后转换为PWM值,并建立两者之间的关系(电压与PWM值)。

表1 舵机角度和PWM值关系

表2 舵机电位器两端电压值和PWM值关系

注:表中数据为使用5V电压驱动舵机所测。

3 图形用户界面

在对机械臂进行示教操作时,使用GUI图形交流用户界面可以方便快捷地对机械臂进行操作。

如图3所示,在这个操作界面中,所实现的功能有:

1)作为纽带连接舵机控制板和Arduino UNO,后者将示教时舵机电位器两端的电压值转换为对应的PWM值输入到GUI界面中,然后舵机控制板通过读取这些PWM信号值来控制机械臂重复示教时对机械臂设定的动作。

2)因为示教再现属于开环控制,所以会有误差产生,通过对GUI界面的设定,可以增加微调模块来调节,减小误差,达到提高机械臂示教精度的目的。

3)通过GUI界面,还可以产生存储PWM信号值的文件,将其写成舵机控制板的指令形式,按顺序排列,当和其他接口相连时,利用软件直接控制机械臂进行运动,实

现提高自动化程度的目的。

在图形用户界面,用户看到和操作的都是图形对象,具有轻型、占用资源少、高便于移植、可配置等特点,并且可以直接进行调节,输出舵机控制板控制舵机所需要的指令。

图3 GUI界面

4 机械臂操作控制

机械臂主要由连杆和关节组成,在传统的控制操作中,都离不开运动学中的正解与逆解,通过这两种方法进行直角坐标和关节坐标两者之间的转换, 然后通过关节空间的轨迹规划过程给出各个关节电机的进给量,驱动连杆运动,完成既定的动作[6]。根据本文提出的办法进行实验的各个模块组成如图4所示:

图4 模块组成

使用这种方法对机械臂进行示教,不仅省却大量的计算,在调试当中还可以通过GUI界面对动作进行误差补偿调节,通过输出带有舵机控制指令的文件方便地和外部软件连接,具有提高自动化程度的能力。

5 总结

综上所述,本文介绍了一种基于示教再现方式实现机械臂路径规划的方法。这种方法由舵机控制板、Arduino UNO板以及GUI操作界面构成,通过建立控制舵机的PWM信号值和舵机电位器两端电压值的函数关系,使用示教再现方式完成机械臂的路径规划目的,简单易懂,实时性强,便于调节。

参考文献:

[1] 李新春,赵冬斌,易建强,等.一种移动机械手分级协调路径规划方法[J].制造业自动化,2005(5):28-32.

[2] 蔡睿妍. Arduino的原理及应用[J].电子设计工程,2012,20(16):155-157.

[3] 刘小宁,张洪政,李庆祥.不同方法计算的气温平均值差异分析[J].应用气象学报,2005,16(3):345-356.

[4] 龙宏波,叶晓慧,谭思炜.归一化加权平均值算法在测量中的应用[J].电光与控制,2010(12):68-70.

[5] 许海涛,高彩霞.直线拟合算法[J].数字社区&智能家居,2009,5(2):864-867.

[6] 彭圣明,裴海龙,王清阳.基于机械臂的运动学研究与应用[J].机械设计与制造,2011(7):136-138.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多