基于STM32单片机的智能搬运机器人的设计 .pdf
基于STM32单片机的智能搬运机器人的设
计
作者:王文东王楠
来源:《中国新通信》2017年第14期
一、引言
智能搬运机器人是能够通过传感器感知环境中存在的障碍,通过路径规划实现在有障碍物
的未知环境中面向目标的自主运动,并控制机械臂自主搬运物体的机器人系统。它的设计背景
是基于路径规划,涉及到机械、传感器技术、控制等多学科的设计融合。
二、智能搬运机器人控制系统设计
本智能搬运机器人是基于STM32单片机为控制核心,利用超声波传感器感知未知环境,并
通过基于模糊控制的路径规划算法来实现在未知环境中的自主运行。
1、微控制模块的选择。本系统采用STM32F103ZET6作为控制系统的主控制器,完成传感
器信息收集、电机控制、自主避障、自主搬运等任务。STM32F103ZET6是ST公司推出的以高
性能的ARMCorter-M3的RISC内核的芯片。处理器有三种低功耗的运行模式和灵活的时钟控
制机制,可根据系统设计要求对其进行合理的优化。
2、障碍物检测模块的设计。模块使用三个超声波传感器对前方障碍物信息进行检测。超声
波传感器采用HCSR04超声波测距模块,此测距模块可提供2~400cm的非接触式距离感测
功能。其测距精度可达到3cm。它与外界相连接的四个端口分别为Vcc,GND,TRIG,ECHO。其
工作原理为主控制器提供一个10μs以上脉冲触发信号到TRIG端,该模块内部将发出8个周
期为40kHz电平并检验回波,一旦检测有回波信号ECHO端则输出回响信号,在主控制器端产
生中断。通过主控制器内部通用定时器计算发出触发信号到收到回响信号的时间间隔,从而可
确定障碍物的距离。
3、电机驱动模块的设计。必须通过专门的电机驱动电路来进行控制。系统使采用L293D
专用电机驱动芯片作为小车左、右驱动轮的直流电机的核心功率模块。L293D为四重推挽驱动
电路,可驱动2个直流电机。EN为电机使能端。
使用主控制器通用计时器输出二路PWM信号给EN端。当EN端输入为高电平的时候,电
机处于使能状态,当EN端输入为低电平时,电机就停止。使用四个I/O引脚与L293D的
INPUT1,2,3,4引脚相连,用于改变电机的转速和方向。OUT1和OUT2分别与两个电机的输入相
连,可带动电机转动。
4、速度检测模块设计。智能搬运机器人的两个驱动轮上加装增量光电编码器,随被测轴一
起转动,在轴旋转一周中编码器在固定位置上产生一个脉冲,通过检测单位时间的脉冲数,即
可确认电机的转速。速度检测采用M/T测速法,也称为频率/周期法,即同时测量时间以及在
此时间内脉冲发生器发出的脉冲个数得到转速。
5、智能搬运机器人舵机模块设计。机械手臂是近几十年来涌现出的一种工业技术装备,它
能够模仿人体肢体的某些动作,在工业控制中可以代替人类搬运物件或者进行其他工作。本设
计方案采用机械手臂来实现搬运物体。机械手臂具有两个部分,控制部分和直接进行工作的部
分。控制系统采用舵机来控制,可以方便和简单的控制机器人实现搬运物体的目的。
三、智能搬运机器人控制系统软件的设计
1、基于模糊控制的路径规划。模糊控制是一种基于模糊数学理论的新型控制方法。模糊推
理控制方式借助模糊数学这一工具通过推理来实现控制。经典数学以精确方法来描述事物。模
糊数学与之不同,它以隶属函数恰当的描述事物的模糊性,并且把具有模糊现象和模糊概念的
事物处理成精确的东西。模糊控制器的结构如图所示。它是由模糊输入、模糊推理模块以及模
糊输出三个部分组成的。
2、基于模糊控制的路径规划算法解释。确定输入变量距离d和机器人前进的方向与目标
点的距离θ,确定输入变量之后,我们建立输入变量的模糊区间,即要考虑输入变量的范围区
间,建立隶属度函数表,模糊化输入变量,将输入变量规划到某一区间。参考机器人避障的规
则,根据距离障碍物的距离和距离目标点的角度,建立模糊规则库,根据模糊规则库来实现路
径规划的选择,确定机器人如何选择前进的方向。而要输出实际的输出变量,就必须反模糊化,
采用Mamdani和重心法来计算得到模糊化的输出结果。简要的介绍重心法,把每个输出变量的
隶属度值和输出隶属度集合看做是在同一平面的系统,每个输出变量的隶属度值和输出隶属度
集合看做是物体的重量,这个平面系统的重心就是输出量的最佳点,利用求重心的方法就可以
确定最佳输出。
总结:本设计选择