- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于DSP TMS320LF2407的自动避障小车设计
移动机器人是集环境感知、动态决策与规划、行为控制与执行等多功能于一体的综合系统 。近年来,对移动机器人的研究受到广泛的重视,仿照生物的功能而发明的各种移动机器人越来越多,小到娱乐机器人玩具、家用服务机器人,大到工程探险、反恐防爆、军事侦察机器人等,人们已经清楚地体会到地面移动机器人作为移动机器平台的优越性。移动机器人能够移动到固定式机器人无法到达的预定目标,完成设定的操作任务。相应地,这些领域对所应用的移动机器人系统也提出了更高的要求,特别是在机器人的运动速度、灵活性、自主性、作业能力等方面的要求越来越高。避障与导航是移动机器人研究的核心问题之一。使移动机器人无碰撞到达终点,需解决两方面的基本问题。一是在运动过程中利用传感器感知周围未知环境;二是采用适当的算法进行路径规划来实现机器人的实时避障。本设计是以TI公司生产的TMS320LF2407型DSP为核心,采集环境信息并控制智能小车,3个红外发收传感器检测智能小车前方的障碍物,并且根据障碍物位置进行自动避障。
1 自动避障小车总体设计
该系统主要由DSP控制、电机驱动、电源、测速以及视觉等模块组成,其结构如图1所示。
小车为3轮结构,前面2个轮分别由2个电机独立驱动控制,后面1个万向轮作为支撑轮。小车安装有3个红外传感器,分别位于车头的左、中、右部位,用于采集环境信息。车体规格为:车身板距地7.5 cm,车长25 cm,车宽12 cm,车轮半径5.5 cm。速度控制采用定频调宽的PWM调速,并应用速度反馈和闭环PID控制,从而实现小车精确的速度和位置控制。
2 自动避障小车的硬件设计
该系统以DSP TMS320LF2407A为核心,该DSP片内资源丰富,12路脉宽调制(PWM)输出。视觉模块采用E3FDS3-0P1型红外传感器,有效探测距离为30 cm,探测角度30°。将3个红外传感器分别接至I/OPE接口的I/OPE4、I/OPE5和I/OPE6。12 V电源首先经LM7805调压到5 V,先将5 V电压送入红外传感器,再送入MAX604降压为3.3 V,如图2所示。
采用L298驱动电机,0UTl,0UT2分别与小车的一个电机的正负极相连;OUT3,OUT4分别与小车的另一个电机的正负极相连;L298的INl和IN2引脚分别与DSP的IOPE0(方向4)、IOPE1(方向3)引脚连接,用于接收主控器件输出的转向电机的动作指令,用于接收主控器件输出的驱动电机的动作指令,而ENA和ENB引脚分别连接到DSP的IOPE0(PWM3)、IOPEl(PWM4)引脚,用于控制电机的速度。
其电路原理图如图3所示。
L298分别控制并调整前面2个电机的旋转方向,控制小车的前进、后退、向左、向右、停止。小车采用三轮结构,前面2个轮既是动力轮又是方向轮,当INl、IN2、ENA分别为l、0、1,同时IN3、IN4、ENB分别为0、l、l时,小车前进;当INl、IN2、ENA分别为1、O、l,同时IN3、IN4、ENB分别为l、0、l时,小车右转;当INl、IN2、ENA分别为0、1,1,与此同时IN3、IN4、ENB分别为1、0、1时,小车左转。
采用测速电机测量电机转速,以此来判断速度。电机转速转换为电脉冲信号,其输出经过HD74HCl4P,送至DSP的PA3(CAPl)和PA4(CAP2)引脚,根据软件设置使计数器对脉冲信号上升沿进行递增计数。如图4所示。
3 自动避障小车的软件设计
DSP每隔一段时间对I/OPE4,I/OPE5,I/OPE6这3个端口进行查询,没有障碍物时这3个端口为高电平。即111,左边有障碍物时为011,右边有障碍物时为110。前方有障碍物时则为010。小车根据红外传感器接收的信号判断前方障碍物的分布并做出相应的动作,如表1所示。
小车在普通情况下处于前进状态,当T3定时器发生周期中断时,进入程序开始检测光电开关的信号线端口,如果有障碍物则从避障程序中选择一个执行,如果没有障碍物则小车继续前进并且等待定时器的下一次中断,其程序流程如图5所示。
调节PID参数不仅可实现系统稳定。先给小车右轮电机一个初始速度,让小车以给定的初始速度运转起来。然后利用PID算法调速:在给定速度不变的情况下,每扫描一次程序。小车的实际反馈速度便与理想速度相比较,利用PID算法便可更新给定值。不断更新给定值,直到实际速度与理想速度保持一致或者到下一次赋值则停止更新(ek=O)。程序流程如图6所示,设右轮给定速度v对应的理想速度为V,仅限右轮电机,b’为给定速度b对应的实际速度。
4 试验
安装调试完成后,对小车性能进行测试:
①小车的避障能力试验测试 错落摆放障碍物,让小车向障碍物方向前进,当距障碍物约25 cm时,小车左转,然后再向前。发现小车的传感器对亮色反映比较明显,比如遇到白色障碍物,小车会在30 cm外就发现障碍物并产生动作;当小车遇到黑色障碍物时,一般约在15 cm时才能感应到障碍物。
②PID算法和PWM方法测试 分3次对小车进行测试,每次要求避开10个黑色障碍物。采用加入PID程序和PWM程序的小车进行测试,小车3次分别避开9、10、9个障碍物。试验表明加入PID算法和PWM方法的小车在调速方面明显优于不加入程序的,并在遇到障碍物时和避开障碍物后都能够快速调速,使小车避障能力大大提高。
5 结论
本文对避障小车的设计进行分析后,提出了在DSPTMS320LF2407技术平台上实现小车自动检测前方障碍物,并给出躲避动作方法。由于红外传感器探测信息有限,不能够判断障碍物的距离、大小及形状等。如果使用摄像头作为视觉探测系统,则可使避障小车性能更好,应用范围更广泛。