微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于DSP的自动避障小车

基于DSP的自动避障小车

时间:04-05 来源:电子设计工程 赵晓军 刘孟哲 曹建坤 高旭光 点击:

近年来研究移动机器人倍受重视,仿照生物功能发明的各种移动机器人越来越多,小到娱乐机器人玩具、家用服务机器人,大到矿产勘测、工程探险、军事侦察机器人等。避障小车是一种移动机器人,它通过传感器系统感知外界环境,在复杂环境中自主移动并完成避障,一般采用超声波、红外、激光、CCD等传感器设计。由于红外传感器探测视角小。方向性强,测量精度高,价格便宜,而且可在夜间工作,因此红外传感器作为视觉应用于移动机器人避障。本设计是以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。由于光电开关正常状态时信号高电平为5 V,而DSP标准高电平为3.3 V,所以应在光电开关与DSP之间串联分压电阻。电源采用12 V蓄电池供电。DSP是以+3.3 V电压供电,因此必须将+12 V标准电压转换成+3.3 V。该系统采用LM7805与MAX604作为电源转换器。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)引脚连接,用于接收主控器件输出的转向电机的动作指令,并通过0UTl和OUT2控制左电机的正转与反转,L298的IN3,IN4引脚分别与DSP的IOPE2(方向2)、IOPE3(方向1)引脚连接,用于接收主控器件输出的驱动电机的动作指令,并通过0U113,OUT4控制前方右电机的正转与反转,而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(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算法调速:在给定速度不变的情况下,每扫描一次程序。小车的实际反馈速度便与理想速度相比较,利用PID算法便可更新给定值。这样,不断更新给定值,直到实际速度与理想速度保

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

网站地图

Top