四足机器人中各关节的控制_第1页
四足机器人中各关节的控制_第2页
四足机器人中各关节的控制_第3页
四足机器人中各关节的控制_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第10卷 第1期Vol.10 No.12008年1月Electronic Component & Device ApplicationsJan. 2008四足机器人中各关节的控制成光华,毛建国(南京航空航天大学能源与动力学院,江苏南京210016)摘 要: 为了实现对机器人的控制。文中阐述了四足机器人中所使用的舵机执行机构的工作模型, 给出了用89C51单片机作为控制芯片来完成其协调工作, 从而使四足机器人各个关节按照一定的规律运动, 并使机器人能够按照给定的步态平稳行走的系统设计方法。关键词: 四足机器人; 单片机; 舵机控制; 机电控制0 引言随着科学技术的发展和不同的应用要求, 机器人的

2、设计也朝着不同的方向发展。本文所讨论的机器人电机控制系统是基于类似壁虎的小型四足机器人的控制模型, 适合在一些狭小恶劣、人无法到达或承受的环境中工作, 另外, 该机器人的四个脚类似于壁虎的四足, 能像壁虎一样在平面、垂直面上行走, 所以, 其活动范围较广, 不易被发现 , 可用于某些侦查活动 (如军事侦查 , 科学探索等)。 该模型中使用了很多的电机 , 每个电机在不同的时刻和不同的状况都需要有不同的控制信号, 如何来协调电机的控制将是一个相对复杂的地过程。1 四足机器人模型四足机器人的结构设计是以壁虎的形状为依据的。该机器人共有四条腿, 前后各两条, 每条腿均由小腿和大腿组成, 在小腿与大腿

3、, 大腿与身体的连接处共有三个关节, 这相当于人胳膊的肩关节、肘关节、腕关节, 它们分别控制着机器人前后左右和上下等不同方向的运动, 这样, 四条腿、12个关节协调起来就能行走。该机器人的行动模型示意图如图1所示。图1所示是机器人的一条腿 (线条 1, 2, 3) 以及机器人的身体部分 (矩形框) 的行动模型示意图, 在身体的其他相应位置安装有同样的三条收稿日期: 2007- 06- 09腿。图中各坐标系的原点即是电机安装的位置。坐标系的原点电机负责腿1在平面内的活动, 而坐标系原点的电机负责腿2在平面的活动, 第三个坐标系原点的电机则负责腿3在平面Y3Z3内的运动。三个电机协调起来就能实现整

4、个一条腿在空间内6个自由度内的运动。对应的, 机器人的其他三条腿同样也能够在空间内自由地运动, 然后配合适当的步态, 机器人就能够行走起来。图2所示为其仿真试验的模型效果图。2 四足机器人中的舵机控制在谈及电机的控制时, 首先应明确一下该四足机器人所需的电机特征。由于四足机器人要求尽量轻巧, 故在选择电机时不能选质量太大的电机 , 另外, 机器人的各个关节的运动是在一定的范围之内, 即每一关节不可能需要在0360度的范围内运动, 只需要一个相对较小的角度范围就可以了。在对市场上现有的各种电机的比较中,本设计选择了重量为4.3克的BA- TS- 4.3型舵机 ,44 2008.1www.ecda

5、.cn第10卷第1期2008年1月Vol.10 No.1设计参考Jan. 2008式 , 并在定时寄存器中设置一个特定的值 , 这样, 当1.8 ms的时刻到达时, 该值由于不断的增加而在这一时刻正好溢出, 然后就进入定时中断程序。定时中断程序的任务是把原来的高电平设置为低, 同时在定时寄存器中设置新的数值, 使单片机在接下来的18.2 ms后再一次进入中断, 并在进入中断后把定时寄存器的值设为原先的值,如此循环,就能持续产生脉宽为1.8 ms的脉冲了。图2机器人仿真模型图3BA- TS- 4.3舵机该舵机的外观如图3所示。在机器人机电控制系统中, 舵机的控制效果是性能的重要影响因素。舵机可以

6、在微机电系统和航模中作为基本的输出执行机构, 其简单的控制和输出使得单片机系统非常容易与之接口。该舵机的控制是采用89C51芯片产生控制信号, 并通过单片机的 I/O口输入到舵机信号调制芯片 , 以获得直流偏置电压。 舵机内部有一个基准电路 , 可产生周期为20 ms、宽度为1.5 ms 的基准信号。将获得的直流偏置电压与电位器的电压进行比较即可获得电压差输出。最后将该电压差的正负信号输出到电机驱动芯片即可决定电机的正反转。当电机转速一定时, 通过级联减速齿轮带动电位器旋转, 可使电压差为0, 进而使电机停止。舵机控制采用PWM信号, 利用其占空比的变化可改变舵机的位置 , 其控制信号如图 4

7、所示 。当脉宽为1 ms时, 舵机转到右极限位置; 而当脉宽为2 ms时, 舵机转到左极限位置。可见, 对于单个的20 ms周期脉冲的调制是相对容易的 , 设计时可利用89C51单片机中的定时器来实现。若调制脉宽为1.8 ms的脉冲, 则可选择一种定时方图4PWM脉冲信号3 舵机的转速调节市场上的舵机转速一般都是固定的。如果要改变其转速, 只能改变其内部电路结构, 如改变内部电阻或电流的大小。这种方法对于四足机器人来说, 要调节舵机转速是不切实际的, 因为你无法在四足机器人运动时去调节舵机内部的电路结构。而另一方面, 机器人行走时, 不同的环境要求步伐的速度是不一样的, 也就是舵机的转速是适时

8、变化的。因此, 要改变舵机转速, 只能通过软件控制的方法来实现。如机器人的某个舵机要转过30度, 则可把30度划分成60等份, 每等份0.5度。以将舵机转过30度的过程看成是舵机转过60个0.5度等份的过程。这样, 在每个等份之间作恰当的延时 (例如延时0.05 s), 那么 , 转过整个30度就需要3 s的时间, 从而达到使舵机转速减低之目的 。 当然 , 由于延时时间为0.05 s, 对于人的感官来说是很难感觉到这个停顿, 舵机转过60个0.5度的非连续过程对人来说就象是一个连续转动的过程。图5是一个舵机调速的程序流程图。图5舵机调速流程图 2008.145第10卷

9、第1期Vol.10 No.12008年1月Electronic Component & Device ApplicationsJan. 2008调节舵机的转速一方面可满足机器人不同的步伐速度要求, 另一方面, 由于舵机直接与各关节相连 , 舵机的转速就是各个腿转动的角速度,这如果转化为脚尖的线速度是相当的大, 因而会使机器人行走产生较大的振动。而降低舵机的转速就能使各条腿的线速度降下来, 从而减小脚与地面快速接触时产生的冲击。4 各关节的协调控制过程对一个关节的控制仅需要一个舵机就行了 , 而对一个舵机的控制是十分简单的事情。但是在这个机器人中, 要达到既节省硬件资源, 又同时控制12个舵机

10、(12个关节) 协调工作却不是容易的事情。芯片89C51仅有两个定时器、两个外部中断和一个串口中断, 可见, 要利用这些资源来产生12路周期为20 ms的脉冲是不可能的 。 而在硬件设计时, 考虑到该芯片共有24个I/O口 (分别为P1、P2、P3, 每个口各有8个输入输出端口),可 以利用这些口中的一部分来作为脉冲的输出口。由于每一条指令的执行需要一定的时间, 本机器人控制芯片所选用的是12MH晶振 , 每一个机器周期需要1 s的时间 。 而89C51指令系统中的一条指令执行时间需要14个机器周期, 那么,执行一段代码所需的时间就可以通过下面的公式来计算:t=n+2m+3l+4k式中 , t

11、为执行代码段所需的时间 , 单位为 s; n、m、l、k分别为代码段中单、双、三和四个周期指令的个数。由此就可通过指令本身执行所需要的时间来代替定时器的功能。假如某个I/ O口开始时的输出电平为高电平, 程序将循环执行某几条指令, 然后使程序在某处停止下来, 之后当1.8 ms的时刻到达时再使程序跳出循环。接下来再把这个I/O口输出电平设置为低电平 , 接着再一次进入循环, 并当18.2 ms的时刻到达时,再把 I/O口输出电平恢复成高电平 。 如此循环 , 就能产生所需要的脉冲信号, 以P1.0输出为例的单脉冲产生的流程图如图6所示。以上所述是如何在没有使用定时器的情况下输出一路脉冲的过程。

12、当然, 其他的11路脉冲也可以用同样的方法实现。接下来介绍下如何来协调这12路脉冲信号的发送过程, 从而控制12个舵机的转动, 使四足机器人能够按照要求的步态行走。从舵机控制原理可知, 周期脉冲中, 高电平所占的脉宽不同, 舵机所转过的角度就不同。在四足机器人行走时, 各个舵机在某一时刻所转过的位置是各不相同的, 这就要求单片机89C51在不同时刻发出12路占空比各不相同的脉冲控制信号。另外, 四足机器人是按照一个步态接一个步态有规律的行走, 即在某一时刻有几个舵机所控制的脚在行走, 而在接下来的一个时刻又会有另外的几个舵机所控制的脚在行走, 如此反复, 经过若干个步态之后, 四足机器人又会回

13、到初始的状态, 接下去就是不断地循环以前的步态, 从而让四足机器人在地面上行走。根据这两个特点,设计程序时, 一方面可以利用指令本身执行需要一定的时间这一特点来代替定时器的功能, 以节省硬件资源, 另一方面, 根据四足机器人行走时步态的反复性, 也可以用循环的方式, 使其按照指定的步态行走。当然, 这里是以机器人直线行走的方式为例来说明的, 而机器人如果是以转弯的方式行走, 也可以按照这样的分析方法来设计程序, 这样所设计的程序比较简练, 代码量少,可以节省89C51芯片内部的4 KB的ROM空间。图7所示是12个舵机的控制流程图。5 结束语四 足机器人模型中需要控制的关节多达 12个 , 对

14、于一般的芯片来说, 如果选用定时方式来产 生舵机控制所需要的脉冲信号显然是不合理的。而该模型中选用的芯片89C51仅有两个定时器,因此,如何来产生12路(下转第50页)46 2008.1第10卷 第1期Vol.10 No.12008年1月Electronic Component & Device ApplicationsJan. 2008图3PHY0的调度结果仿真度请求信号 ( S_Req有效时进行调度) , clr_S是调度请求清除信号, PHY是选中的物理设备的地址(即要进行调度的物理设备地址), chn是调度到的ATM的连接号, APCLC是当前调度到的连接所连接的

15、下一个连接号, PCR是峰值信元速率对应的时隙调度速率 , CPS是每个时隙发送的信元数 , CPS_CNT是信元计数, ATT是ATM通信类型指示(00表示PCR通信类型)。本设计中的CBR和UBR都是 PCR通信类型, 所以ATT均为00。从仿真结果可以看出, 调度到的连接号依次为0、0、2、1、3、 0、 1、 2、 4、 5、 2、 1、 3、 6、 1、 2 , 可 见, 与上面调度算法的分析结果一致。4 结束语本文主要研究了在FPGA上利用VerilogHDL实现ATM流量控制的方法,提出了一种较为实用的算 法机制 , 并在此基础上给出了对应的 IP核设计。通过对其进行的功能仿真结

16、果表明, 该算法运行良好且高效, 可以满足实际系统的需要。参考文献1 Motorola. MPC8260 PowerQUICC Users Manual, 1999.2 The ATM Forum Technical Committee. Utopia Level 2. Version 1.0, 1995.3 夏宇闻.Verilog 数字系统设计教程 M.北京 : 北京航空航天大学出版社, 2003.4 陈锡生.ATM交换技术 M. 北京: 人民邮电出版社,2000.5 EDA先锋工作室.ALTERA FPGA/CPLD设计M.北京 :人民邮电出版社, 2006.(上接第46页)脉冲变得尤为关键。本文利用指令执行需要一定简单,这是一种相对合理的方法。同时,该控制时间的特点来代替定时器功能 ,不仅可以节省器还可以进行准确的舵机调速,降低舵机的速度89C51芯片内部的硬件资源,也可利用单片机来可减小机器人行走时产生的振动,满足机器人不控制12个舵机,从而使舵机之间的协调变得相对同环境中的步伐速度要求。目前,按照本设计的控制方法所设计的四足机器人可以按照给定步态平稳行走。参考文献1刘本伟.机器人制作宝典M.北京: 科学出版社, 2002.2时玮.利用单片机PWM信号进行舵机控制J.今日电子 ,2005,(10): 80- 82

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论