微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于DSP和模糊控制的寻线行走机器人设计与实现

基于DSP和模糊控制的寻线行走机器人设计与实现

时间:05-16 来源:www.ednchina.com 点击:

3 模糊控制策略

  机器人的设计思想是利用光电检测传感器检测车体偏离指引线的大小来调整左右驱动步进电机的行进速度,使机器人沿指引线行进。这恰好符合模糊控制的思想[5]。

  把前后光电检测板上的光电检测传感器编号,将检测到指引线的编号最大的光电检测传感器的编号作为车体偏离的距离,编号方法如表1。这样,模糊控制器有两个输入:前后光电检测板的输入编号;模糊控制器有两个输出:左右步进电机驱动脉冲数。



  模糊控制器的输入量的语言值模糊子集选取为:{LB,LS,ZO,RS,RB}。其中:LB=左大;LS=左小;ZO=中心;RS=右小;RB=右大。输出量的语言值模糊子集选取为:{NB,NM,NS,ZO,PS,PM,PB}。其中:NB=负大;NM=负中;NS=负小;ZO=零;PS=正小;PM=正中;PB=正大。

  根据隶属函数的定义和选取规则,输入变量前部位置iF 和后部位置iB的隶属度选择相同,如图5所示。输出变量左轮转速OUL和右轮转速OUR的隶属度选择相同,如图6所示。



  根据多次的实验和修正,得到如表2的左轮转速控制规则表(右轮的转速控制规则表内容与左轮的转速控制规则表对应,例如iF为RB、iB为LB时对应的OUL为NB,类似可得到右轮转速控制规则表)。模糊推理采用Mamdani法。反模糊化采用重心法,最终得到如表3所示的左轮转速控制信号输出表(右轮转速控制信号输出表可用类似于右轮转速控制规则表推导的方法得到)。在′F240存储空间中以表格的形式存储表3,根据输入可得到相应输出。





  上述模糊信号的获取通过EPM7128用VHDL语言编程实现,此部分的编程相对简单,不再赘述。由于光电传感器信号的改变可以实时反映在CPLD的输出上,′F240只需定时读取此信号并做相应从处理即可。假设前光电检测板和后光电检测板的信号分别保存在RE_CPLD字节的高半字节、低半字节中,若这两个信号大于10则保持原数据不变,否则根据信号的大小计算此值在转速控制信号输出表中的偏移量:



  其中#04h为保存转速表的页面,#MATRIXL为转速表起始地址在页面中的偏移量,ADDER_PS为查表值相对转速表起始地址的偏移量。若将查表得到的值变化后保存为控制步进电机转速的定时器的周期,则可以实时改变步进电机的转速:



  4 步进电机调速的实现

  步进电机是纯粹的数字控制电动机。它将电脉冲信号转换成角位移,即给一个脉冲信号,电机转一定角度。步进电机控制器的输入端口有:VDD--电机电源正极;GND--电源地线;OPTO--控制信号的公共阳极;DIR--电机方向控制端;FREE--脱机输入端;CP--脉冲输入端(CP停止施加脉冲时,要保证CP为高电平,使内部光耦截止)。此处给DIR端加高电平,使机器人只向前行进,在程序中只需对CP端进行处理。

  脉冲的产生通过控制I/O端口的电平变化实现。在设定了定时中断的各种参数后,在定时器中断处理程序中使一个标志字不停地加1:



  在主程序中可以设定行走距离,定时中断的时间间隔决定脉冲的频率,也即决定步进电机的运动速度:



  其中,数值2 000代表机器人行走的距离单位。利用模糊控制策略,改变控制两个步进电机的定时器定时周期的长短以及行进的距离,可以实现机器人的寻线行进。

  在总结近期参加的机器人比赛和电子设计竞赛的基础上,针对机器人寻线行走的普遍要求,提出了一种基于DSP+CPLD和模糊控制策略的机器人实现方法。利用该方法设计的机器人参加了多种不同的机器人比赛(如全国大学生机器人电视大赛、足球机器人比赛子项和电子设计竞赛等),运行状况良好,取得了较理想的成绩,进而证实了此设计的有效性。

  参考文献

  1 许 欢,唐竞新.调制光寻线及其在自动行走机器人中的应用.清华大学学报(自然科学版),2002;42(1):115~117

  2 万永伦,丁杰雄.一种机器人寻线控制系统.电子科技大学学报,2003;32(1):47~50

  3 TMS320C240X DSP Controllers CPU,System,and Instruction Set.Texas Instruments,1997

  4 曹卫华,吴 敏,陈 鑫.基于DSP控制的足球机器人小车的设计与实现.机器人技术应用,2002;3:19~21

  5 丛 爽.神经网络、模糊系统及其在运动控制中的应用.合肥:中国科技大学出版社,2001


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top