基于AVR平台的六自由度仿人机械手臂控制算法研究

基于AVR平台的六自由度仿人机械手臂控制算法研究iiiiiiiiiiiiiiiiiiiiiiiiiii

基于AVR平台的六自由度

仿人机械手臂控制算法研究

Researchof6一DOFHumanoidRoboticArm

ControlAlgorithmBased

on

AVR

沈长青孔凡让刘永斌刘

(中国科学技术大学精密机械与精密仪器系,合肥230027)

摘要:传统机械手臂各关节常用电机来驱动,其驱动系统较为复杂,设计难度较大。提出以AVR为控制平台,以舵机作为机械臂各关节驱动,并着重介绍了基于舵机特有的工作方式而提出的一种可以对该机械臂各关

节运动速度、方向和运动冒:进行控制的算法。该算法同时还具备可扩展性等优点,即可以对由舵机驱动的更多自

由度的机械手臂进行实时控制。

关键词:AVR平台

仿人机械手臂可控速算法

DoI:10.3969/j.issn.1007—080X.2010.05.007

Abstract:Traditionalrobotic

essay,itreferedtotakeAVR

as

armwasdriven

bymotors,whosesystematicdesignofdriveistough.Inthis

use

servo

as

thecontrolplatformand

thedriveofeachsector,besides,itproposed

controlalgorithmthat

can

controlthespeed,directionandamount

as

as

focusbased

on

itsuniqueworkstyle.And

thenthiscontrolmethodhadadvantagessuchfreedom.

Keywords:AVRplatform

expansibilityand

can

controltheinstitutionswithmoredegreesof

humanoidroboticarm

speed-controllablealgorithm

0引言位置的干涉问题,因此,机器人机械手臂关节驱动系统的运动分析和控制方法已经成为研究中的重点问题之一。

本文在分析人体手臂各关节结构及长度比例分布的基础上,研制了一款六自由度仿人机械手臂,并利用AVR控制平台设计了相应的控制系统,实现了对其运动速度、方向和运动量的实时控制。文中重点描述了对该机械手臂运动进行控制的算法思想、控制平台以及程序实现等。

目前机械手臂是机械人技术领域中应用最广泛的

自动化机械装置,在工业制造、医学治疗、娱乐服务、军事以及太空探索等领域都能见到它的身影。尽管它们的形态各有不同,但它们都有一个共同的特点,就是能够接受指令,较为精确地定位到三维(或二维)空间上的某一点进行作业。

运动控制在机械手臂研制过程中可谓一大难点,需综合考虑机械臂各部分的质量、转动惯量,合理控制其运动角速度以及加速度,同时还要避免各关节运动

作者简介:沈长青1987年生,硕士研究生。研究方向为智能机器人。

孙凡让教授,博士生导师。研究方向为状态检测与故障诊断等。

柏机电一体化I

2010.5

万方数据

嗣麓i嗣iiii蕊iiii嗣窝i焉嗣葡蕊嗣赫Research.Developmenti团圆嘲

l仿人机械手臂简介

该六自由度仿人机械手臂根据人体手臂关节构造来布局自由度,其结构示意图如图1所示,主要分为肩部、肘部以及腕部三个部分共计六个自由度。与传统机械臂不同的是,各关节均通过可控旋转角度的舵机作为驱动电机实现,在驱动系统的设计上大大降低了难度,同时舵机0.8度的旋转精度满足普通场合下机械手臂的精度要求。机械手臂主体材料采用硬

铝、尼龙等轻质材料,以降低对舵机驱动扭矩的要求,

该机械臂在肩部设计了同定孔,用于与其他平台的衔

接同定。为了满足手臂各关节实现平稳运动所需的

驱动力,肩部两个自由度采用42kgcm的大扭矩舵机,其他自由度采用13kgcm的小型舵机,实物如图2

所示。

圈l六自由度仿人机械

图2六自由度仿人

手臂自由度示意图

机械手臂实物

2算法设计2.1电机控制原理

舵机的控制信号通常是周期为20ms的PWM(pulse-width-modulation)方波信号,其中高电平的持续时间对应为舵机的转角,舵机与对应转角的关系如图3、图4所示。

圈3脉宽一转角关系圈

万方数据

∞∞∞加∞∞∞加加O

(ms)

图4舵机控制波形

2.2

算法思想

舵机的运动量和方向可以通过脉冲命令间的占空比来控制。但是就速度控制而言,如果我们以普通的

方式进行控制,例如让它运动到200后再发一个50。的

脉冲命令,它就由20。直接以最大速度旋转至500,而不

存在所谓的速度控制,而且由于负载等因素的影响,往

往会对舵机和运动机构造成很大的损害。为了实现这个旋转过程的柔和速度控制,我们让舵机按照某条曲线进行角度运动。为此,我们设计了图5的曲线,在从

n到口所占用的时间间隔△t内,舵机运动速度先由快变慢,然后由慢变快,该曲线对应一个关于时间f的三

次函数:

p(t)=at3+bt2+ct+0。

(1)

圈5理想运动曲线

在理想情况下,t。时刻的脉冲命令对应角度口。应该是p(t。),但是脉冲命令是离散量,而且脉冲之间有一定的时间间隔限制,即表现出舵机的追随特性(图

6)。因此,它所发出的角度命令只能在t时刻逼近o(t)

2010.5I机电一体化们

基于AVR平台的六自由度仿人机械手臂控制算法研究ii—"——I—I————————I————II————II—III~iIIi

的值。分析图6,当△中越小,所需要的追随时间AT

越短。

田6舵机追随特性圈

鉴于此,从微分的思想出发,将角度由a到口的时间△‘分为Ⅳ份,则第1|}份时间对应的角度应为

p(t。+kAt/N)

(2)

当Ⅳ_00,这一系列的离散点无限逼近实际曲线,调整』、r值,舵机从a角度运动到口所花的时间也相应发生了变化。具体做法如下:如果希望舵机在角度变化过程中按照图5曲线,先快后慢,然后再快地运动到角度终点/3,我们将其“微元化”,见图7。设符合图5曲线趋势且满足边界条件的三次函数为

吣,:竺{过+字㈩

圈7舵机运动理想曲线“徽元化。

经过图7的“微元化”,同时以舵机初始运动时刻为0时刻,即第J|I步对应的时间为

…等

●0机电一体化I2010.5

万方数据

其中J『、r表示从a角度运动到卢角度所经过的“步数”,将

去=专

一=一I】●

、’

△rⅣ

代入

吣,:竺{过+字㈤

得到

吣卜一+字:迎盟掣+掣吨(7)2N

根据这样的设计,还可产生其他多种曲线运动,例

如先快后慢、先慢后快等多种运动方式均可实现(见图

=一+~:仃

I,-

圈8先慢后快再慢运动方式

圈9先快后慢运动方式

盔..

IllIIIIIIIlllniiiiiiiiii

赫Research.Development

l豳瞳—圜圜

图7和图8运动方式关于时间t的三次函数0(t)分别为:

o(t)=(fi-ot)x(3—2忐)(忐)+Or(8)o(t)=(口一卢)×(忐一1)州.(9)

第k步对应的角度

卟盟型型≥墨堕+n‘

(10)

盱堕型要生丛+卢‘

(11)

3程序实现3.1控制平台

由ATMEL公司研发出的AVR单片机具有高速度、高保密性、低功耗的特点,已广泛地应用于军事、工

业、家用电器、智能玩具、便携式智能仪表和机器人制

作等领域。本系统中采用AVR系列单片机中的ATmegal6L作为控制核心,内含可反复编程的Flash程

序存储器、SRAM和EEPROM两种数据存储器、定时器/计数器、方向可定义的I/O口及PWM等丰富的内

部资源,算术运算功能强,软件编程灵活,自由度大,可

用软件编程实现各种算法和逻辑控制。3.2关键程序

针对ATmegal6L芯片的处理特点,我们采用每次驱动四只舵机和分批驱动的方式对机械手臂进行驱动,驱动函数定义如下:

rotate(structservo

servo一1,unsigned

int

angle一1,……)其中:struct

8e/'vo

sel'vo一1为待转动的舵机变量,

angle一1为舵机的旋转角度对应的计数器值。angle—n

参数计算公式如下:

angle—n=TIMEl一BEGIN+TIMEl—500MS+angle宰178

单片机中计时通过计数器实现,上式中TIMEl一BEGIN对应计数器3ms溢出时间,TIMEl_500MS对应

计数器0.5ms时间,2ms时间对应计数器的计数值为

TIMEl_.500MS幸4(32040,计数器1分频),然后将该值

万方数据

分成180份,每份是178,于是得出上式。

为了方便对多只舵机的动作调试,可以先定义一

个二维矩阵:

const

prog_uehar

morel—matrix[

][COLUMN]2

{.…・・};

对于M只舵机的驱动函数,即可定义一个数组为肼+2列的矩阵,其中前M列对应各时刻各舵机的角度(0—180度),第肘+l列表示由该行角度运动到下一行角度所分的步数,第肘+2列对应由该行角度运动

到下一行角度的速度属性(即对先快后慢、先慢后快等

运动方式的设定)。执行程序时即可根据这些数据判

断第k步需要给什么样的脉冲命令。

最后建立矩阵扫描函数如下:

scan(eonst

prog—uchar

matrix[][],unsigned

char

begin,unsignedcharend)

三个参数分别对应保存运动数据的数组名称、起始扫描行、结束扫描行。

上述程序表示六自由度机械臂依次按照M1,M2,

M4,M3的运动方式(Mn代表的方式已先定义好)从

第一行数据对应角度依次运行到第五行数据对应角度,从而形成movel运动。其他运动的控制依靠重新

定义数组和运动函数即可实现。

综合以上分析,单片机程序执行流程图如图10所示。

j’初始f£毽

《扁动i铷一端口一

‰帝存嚣锈;

图lO单片机程序执行流程图

这样,反复执行这个函数若干次就可以实现对多

只舵机的并行控制。

结语

通过以上的分析及程序构架,大大方便了对多自由度机械臂运动的控制,而且易于扩展,该控制程序利用通用AVR处理器的片内资源,发挥了它潜在的计算能力,大大降低代码冗余度的过程。目前该机械臂运行平稳,响应速度快,能很好地满足科研要求。

2010.5I机电一体化柏

基于AVR平台的六自由度仿人机械手臂控制算法研究

作者:作者单位:刊名:英文刊名:年,卷(期):

沈长青, 孔凡让, 刘永斌, 刘方

中国科学技术大学精密机械与精密仪器系,合肥,230027机电一体化MECHATRONICS 2010(5)

本文链接:http://d.wanfangdata.com.cn/Periodical_jdyth201005009.aspx

基于AVR平台的六自由度仿人机械手臂控制算法研究iiiiiiiiiiiiiiiiiiiiiiiiiii

基于AVR平台的六自由度

仿人机械手臂控制算法研究

Researchof6一DOFHumanoidRoboticArm

ControlAlgorithmBased

on

AVR

沈长青孔凡让刘永斌刘

(中国科学技术大学精密机械与精密仪器系,合肥230027)

摘要:传统机械手臂各关节常用电机来驱动,其驱动系统较为复杂,设计难度较大。提出以AVR为控制平台,以舵机作为机械臂各关节驱动,并着重介绍了基于舵机特有的工作方式而提出的一种可以对该机械臂各关

节运动速度、方向和运动冒:进行控制的算法。该算法同时还具备可扩展性等优点,即可以对由舵机驱动的更多自

由度的机械手臂进行实时控制。

关键词:AVR平台

仿人机械手臂可控速算法

DoI:10.3969/j.issn.1007—080X.2010.05.007

Abstract:Traditionalrobotic

essay,itreferedtotakeAVR

as

armwasdriven

bymotors,whosesystematicdesignofdriveistough.Inthis

use

servo

as

thecontrolplatformand

thedriveofeachsector,besides,itproposed

controlalgorithmthat

can

controlthespeed,directionandamount

as

as

focusbased

on

itsuniqueworkstyle.And

thenthiscontrolmethodhadadvantagessuchfreedom.

Keywords:AVRplatform

expansibilityand

can

controltheinstitutionswithmoredegreesof

humanoidroboticarm

speed-controllablealgorithm

0引言位置的干涉问题,因此,机器人机械手臂关节驱动系统的运动分析和控制方法已经成为研究中的重点问题之一。

本文在分析人体手臂各关节结构及长度比例分布的基础上,研制了一款六自由度仿人机械手臂,并利用AVR控制平台设计了相应的控制系统,实现了对其运动速度、方向和运动量的实时控制。文中重点描述了对该机械手臂运动进行控制的算法思想、控制平台以及程序实现等。

目前机械手臂是机械人技术领域中应用最广泛的

自动化机械装置,在工业制造、医学治疗、娱乐服务、军事以及太空探索等领域都能见到它的身影。尽管它们的形态各有不同,但它们都有一个共同的特点,就是能够接受指令,较为精确地定位到三维(或二维)空间上的某一点进行作业。

运动控制在机械手臂研制过程中可谓一大难点,需综合考虑机械臂各部分的质量、转动惯量,合理控制其运动角速度以及加速度,同时还要避免各关节运动

作者简介:沈长青1987年生,硕士研究生。研究方向为智能机器人。

孙凡让教授,博士生导师。研究方向为状态检测与故障诊断等。

柏机电一体化I

2010.5

万方数据

嗣麓i嗣iiii蕊iiii嗣窝i焉嗣葡蕊嗣赫Research.Developmenti团圆嘲

l仿人机械手臂简介

该六自由度仿人机械手臂根据人体手臂关节构造来布局自由度,其结构示意图如图1所示,主要分为肩部、肘部以及腕部三个部分共计六个自由度。与传统机械臂不同的是,各关节均通过可控旋转角度的舵机作为驱动电机实现,在驱动系统的设计上大大降低了难度,同时舵机0.8度的旋转精度满足普通场合下机械手臂的精度要求。机械手臂主体材料采用硬

铝、尼龙等轻质材料,以降低对舵机驱动扭矩的要求,

该机械臂在肩部设计了同定孔,用于与其他平台的衔

接同定。为了满足手臂各关节实现平稳运动所需的

驱动力,肩部两个自由度采用42kgcm的大扭矩舵机,其他自由度采用13kgcm的小型舵机,实物如图2

所示。

圈l六自由度仿人机械

图2六自由度仿人

手臂自由度示意图

机械手臂实物

2算法设计2.1电机控制原理

舵机的控制信号通常是周期为20ms的PWM(pulse-width-modulation)方波信号,其中高电平的持续时间对应为舵机的转角,舵机与对应转角的关系如图3、图4所示。

圈3脉宽一转角关系圈

万方数据

∞∞∞加∞∞∞加加O

(ms)

图4舵机控制波形

2.2

算法思想

舵机的运动量和方向可以通过脉冲命令间的占空比来控制。但是就速度控制而言,如果我们以普通的

方式进行控制,例如让它运动到200后再发一个50。的

脉冲命令,它就由20。直接以最大速度旋转至500,而不

存在所谓的速度控制,而且由于负载等因素的影响,往

往会对舵机和运动机构造成很大的损害。为了实现这个旋转过程的柔和速度控制,我们让舵机按照某条曲线进行角度运动。为此,我们设计了图5的曲线,在从

n到口所占用的时间间隔△t内,舵机运动速度先由快变慢,然后由慢变快,该曲线对应一个关于时间f的三

次函数:

p(t)=at3+bt2+ct+0。

(1)

圈5理想运动曲线

在理想情况下,t。时刻的脉冲命令对应角度口。应该是p(t。),但是脉冲命令是离散量,而且脉冲之间有一定的时间间隔限制,即表现出舵机的追随特性(图

6)。因此,它所发出的角度命令只能在t时刻逼近o(t)

2010.5I机电一体化们

基于AVR平台的六自由度仿人机械手臂控制算法研究ii—"——I—I————————I————II————II—III~iIIi

的值。分析图6,当△中越小,所需要的追随时间AT

越短。

田6舵机追随特性圈

鉴于此,从微分的思想出发,将角度由a到口的时间△‘分为Ⅳ份,则第1|}份时间对应的角度应为

p(t。+kAt/N)

(2)

当Ⅳ_00,这一系列的离散点无限逼近实际曲线,调整』、r值,舵机从a角度运动到口所花的时间也相应发生了变化。具体做法如下:如果希望舵机在角度变化过程中按照图5曲线,先快后慢,然后再快地运动到角度终点/3,我们将其“微元化”,见图7。设符合图5曲线趋势且满足边界条件的三次函数为

吣,:竺{过+字㈩

圈7舵机运动理想曲线“徽元化。

经过图7的“微元化”,同时以舵机初始运动时刻为0时刻,即第J|I步对应的时间为

…等

●0机电一体化I2010.5

万方数据

其中J『、r表示从a角度运动到卢角度所经过的“步数”,将

去=专

一=一I】●

、’

△rⅣ

代入

吣,:竺{过+字㈤

得到

吣卜一+字:迎盟掣+掣吨(7)2N

根据这样的设计,还可产生其他多种曲线运动,例

如先快后慢、先慢后快等多种运动方式均可实现(见图

=一+~:仃

I,-

圈8先慢后快再慢运动方式

圈9先快后慢运动方式

盔..

IllIIIIIIIlllniiiiiiiiii

赫Research.Development

l豳瞳—圜圜

图7和图8运动方式关于时间t的三次函数0(t)分别为:

o(t)=(fi-ot)x(3—2忐)(忐)+Or(8)o(t)=(口一卢)×(忐一1)州.(9)

第k步对应的角度

卟盟型型≥墨堕+n‘

(10)

盱堕型要生丛+卢‘

(11)

3程序实现3.1控制平台

由ATMEL公司研发出的AVR单片机具有高速度、高保密性、低功耗的特点,已广泛地应用于军事、工

业、家用电器、智能玩具、便携式智能仪表和机器人制

作等领域。本系统中采用AVR系列单片机中的ATmegal6L作为控制核心,内含可反复编程的Flash程

序存储器、SRAM和EEPROM两种数据存储器、定时器/计数器、方向可定义的I/O口及PWM等丰富的内

部资源,算术运算功能强,软件编程灵活,自由度大,可

用软件编程实现各种算法和逻辑控制。3.2关键程序

针对ATmegal6L芯片的处理特点,我们采用每次驱动四只舵机和分批驱动的方式对机械手臂进行驱动,驱动函数定义如下:

rotate(structservo

servo一1,unsigned

int

angle一1,……)其中:struct

8e/'vo

sel'vo一1为待转动的舵机变量,

angle一1为舵机的旋转角度对应的计数器值。angle—n

参数计算公式如下:

angle—n=TIMEl一BEGIN+TIMEl—500MS+angle宰178

单片机中计时通过计数器实现,上式中TIMEl一BEGIN对应计数器3ms溢出时间,TIMEl_500MS对应

计数器0.5ms时间,2ms时间对应计数器的计数值为

TIMEl_.500MS幸4(32040,计数器1分频),然后将该值

万方数据

分成180份,每份是178,于是得出上式。

为了方便对多只舵机的动作调试,可以先定义一

个二维矩阵:

const

prog_uehar

morel—matrix[

][COLUMN]2

{.…・・};

对于M只舵机的驱动函数,即可定义一个数组为肼+2列的矩阵,其中前M列对应各时刻各舵机的角度(0—180度),第肘+l列表示由该行角度运动到下一行角度所分的步数,第肘+2列对应由该行角度运动

到下一行角度的速度属性(即对先快后慢、先慢后快等

运动方式的设定)。执行程序时即可根据这些数据判

断第k步需要给什么样的脉冲命令。

最后建立矩阵扫描函数如下:

scan(eonst

prog—uchar

matrix[][],unsigned

char

begin,unsignedcharend)

三个参数分别对应保存运动数据的数组名称、起始扫描行、结束扫描行。

上述程序表示六自由度机械臂依次按照M1,M2,

M4,M3的运动方式(Mn代表的方式已先定义好)从

第一行数据对应角度依次运行到第五行数据对应角度,从而形成movel运动。其他运动的控制依靠重新

定义数组和运动函数即可实现。

综合以上分析,单片机程序执行流程图如图10所示。

j’初始f£毽

《扁动i铷一端口一

‰帝存嚣锈;

图lO单片机程序执行流程图

这样,反复执行这个函数若干次就可以实现对多

只舵机的并行控制。

结语

通过以上的分析及程序构架,大大方便了对多自由度机械臂运动的控制,而且易于扩展,该控制程序利用通用AVR处理器的片内资源,发挥了它潜在的计算能力,大大降低代码冗余度的过程。目前该机械臂运行平稳,响应速度快,能很好地满足科研要求。

2010.5I机电一体化柏

基于AVR平台的六自由度仿人机械手臂控制算法研究

作者:作者单位:刊名:英文刊名:年,卷(期):

沈长青, 孔凡让, 刘永斌, 刘方

中国科学技术大学精密机械与精密仪器系,合肥,230027机电一体化MECHATRONICS 2010(5)

本文链接:http://d.wanfangdata.com.cn/Periodical_jdyth201005009.aspx


相关内容

  • 全向自动巡线搬运机器人
  • 课程设计报告书 题 目 全向自动巡线搬运机器人 学 院 湖南文理学院芙蓉学院 专 业 班 级 学 号 姓 名 指导教师 2014 年 1 月 1日 一.课程设计目的 自动机器人在现代工业和生产中广泛运用,大大减少了人力物力.而机器人要完成指定动作,不光需要机械手臂,驱动模块,还需要准确的定位.这不光 ...

  • 三自由度机械手臂设计说明书
  • SHANDONGUNIVERSITY OF TECHNOLOGY 课程设计说明书 三自由度机械手臂设计 学 院: 农业工程与食品科学学院 专 业: 农业机械化及其自动化 学生姓名: 赵国 0911034036 学生姓名: 李继飞 0911034030 学生姓名: 程小岩 0912034039 指导教 ...

  • 本科毕设题目(单片机相关)
  • 单片机毕业设计题目,电子毕业设计题目 1. 单片机接入Internet 技术在智能小区中的应用与研究 2. 基于PIC 单片机的高压智能同步开关控制系统设计 3. 基于单片机的刚性转子现场动平衡测试系统的研制 4. 基于单片机的现场多道核能谱数据采集系统研究 5. 单片机模糊控制晶闸管直流调压系统的 ...

  • 机器人手臂结构的力学特性分析及其优化
  • JOURNAL OF HEBEI UNIVERSITY OF TECHNOLOGY 1999年 第28卷 第4期 Vol.28 No.4 1999 机器人手臂结构的力学特性分析及其优化 高宝霞 马玉英 彭商贤 摘要 本研究采用高精度的数学分析方法,对机器人手臂进行动.静特性分析.在此基础上建立机器人 ...

  • 上海未来伙伴机器人
  • 上海未来伙伴机器人有限公司(原上海广茂达伙伴机器人有限公司)成立于1996年,是一家单核心多业务的高科技公司. 作为全球第一家专业从事伙伴机器人业务的尖端技术企业,未来伙伴致力于使机器人能够真正融入人类的教学.生活与工作中,我们的使命是为人类创建一种更智能.更便捷和更有益的生活方式. 当前,公司拥有 ...

  • 发电机励磁装置设计
  • 目 录 第一章 引 论 .......................................................................................................1 第一节 课题的提出 ....................... ...

  • 机械设计创新大赛
  • 第六届江苏省大学生机械创新设计大赛 项目技术报告 参赛学校: 江苏科技大学 作品名称: 可远程视频传输的全方位排障机器人 参赛项目: 机械设计创新大赛 领队老师: 唐炜.顾金凤 研制人员: 张玮文.顾宪成.聂俊杰.高志远 1.作品介绍 1.1研究背景 从世界范围来看,工业4.0概念引领了全世界制造业 ...

  • 机器人分类
  • 机器人是现代一种典型的光机电一体化产品,机器人学也是当今世界极为活跃的研究领域之一,它涉及计算机科学与工程.机械学.电子学.控制论与控制工程学.人工智能.生物学.人类学.社会学等多个学科. 在机器人技术快速发展的今天,作为一名现代工程师.理工科大学学生都有必要学习掌握一些机器人学方面的知识. 目前有 ...

  • 单片机毕业设计,电子毕业设计题目大全一
  • 单片机毕业设计题目,电子毕业设计题目 1. 单片机 单片机接入 Internet 技术在智能小区中的应用与研究 单片机的高压智能同步开关控制系统设计 2. 基于 PIC 单片机 3. 基于单片机 单片机的刚性转子现场动平衡测试系统的研制 单片机 4. 基于单片机 单片机的现场多道核能谱数据采集系统研 ...