基于STM32巡线机器人软件系统的研究与分析.docVIP

  • 6
  • 0
  • 约3.39千字
  • 约 7页
  • 2018-12-15 发布于广东
  • 举报

基于STM32巡线机器人软件系统的研究与分析.doc

基于STM32巡线机器人软件系统的研究与分析.doc

基于STM32巡线机器人软件系统的研究与分 析 本文主要论述基于STM32的智能巡线机器人的软件 系统的设计思路与研发流程,阐述此过程中所遇到的各种问 题以及解决方法和改进方案,对比不同方案间的优劣,与此 同时对机器人的硬件系统做出了简要的说明。软件系统主要 包括视觉识别检测系统和动力控制系统,本文会对其中相应 的算法尤其是巡线算法做出深入分析与探讨。 【关键词】STM32巡线机器人视觉识别动力控制 机电一体化是综合应用机械技术、微电子技术、信息技 术、自动控制技术、传感测试技术、电力电子技术、接口技 术及软件编程技术等,机器人则是机电一体化的显著代表。 机器人技术作为20世纪人类最伟大的发明之一,自1960年 代初问世以来,经历40年的发展已取得长足的进步。机器 人的出现并高速发展是社会和经济发展的必然,是为了提高 社会的生产水平和人类的生活质量,让机器人代替人干那些 人干不了、干不好的工作。在现实生活中有些工作会对人体 造成伤害,比如喷漆、重物搬运等;有些工作要求质量很高, 人难以长时间胜任,比如汽车焊接、精密装配等;有些工作 人无法身临其境,比如火山探险、深海探密、空间探索等; 有些工作不适合人去干,比如一些恶劣的环境、一些枯燥单 调的重复性劳作等;这些都是机器人大显身手的地方。 巡线机器人是工业中运用得非常广泛的一类机器人,它 是以可见光摄像机、红外热成像仪、其它检测仪器作为载荷 系统,以机器视觉一电磁场_GPS GIS的多场信息融合作 为机器人自主移动与自主巡检的导航系统,以嵌入式计算机 作为控制系统的软硬件开发平台;具有障碍物检测识别与定 位、自主作业规划、自主越障、及其线路走廊自主巡检、巡 检图像和数据的机器人本体自动存储与远程无线传输、地面 远程无线遥控、后台巡检作业管理与分析诊断等功能。 本文所论述的自主研发的基于STM32巡线机器人具有自 主搜寻地面上黑线并自主巡线行走的功能,正文中展示相关 的软件系统的全面分析结果,并对未来应用做出一系列展 望。 1硬件系统概述 1.1视觉识别部分 巡线机器人完成巡线功能的前提是能够得到黑线的位 置,此机器人采用的是自制红外扫描板,它是由15对ST188 红外传感器和STM32芯片以及其他相关元器件所构成。其中 ST188传感器分别由红外发射管和红外接收管组成,发射管 发出的红外光经过地面反射被接收管接收,经过放大电路的 调制被STM32单片机采样。单片机系统根据15个接收管的 数据经行分析处理最终得出地面黑线的位置。如图1所示。 1.2动力部分 采用BTN7971芯片作为电机驱动芯片,机器人采用后轮 差动的方式进行一系列运动姿态矫正。STM32单片机引脚向 BTN7971输出一定占空比的P丽波,驱动电机以一定大小的 速度正反转。驱动PCB图如图2所示。 1.3整体系统 一个完整的巡线系统大致由右图组成:后轮(动力部 分)、主控部分、扫描器、黑线。机器人在通过扫描器得到 黑线的位置数据后,通过特定的通信协议传输至主控电路 板,主控通过一系列的位置姿态解算最终输出相应的运动调 整量到两个后轮电机。整个系统在不断地计算与调整,最终 实现了机器人在黑线上连贯而流畅的运动。如图3所示。 2软件系统分析 2. 1扫描算法 2. 1. 1算法流程图解 如图4所示。 2. 1.2算法思路理解 扫描算法的应用首先需采集各红外传感器在环境中动 态值的变化范围,而后利用各红外接收头ADC采样范围的大 小的变化量,即差分来进行计算和处理。黑线处的变化最为 明显,然而由于环境中的未知因素的影响,常常需要对的最 大值所对应的探头旁边的两个探头同时进行处理以修正外 界的因素对结果产生的干扰,与此同时引入卡尔曼滤波算法 (Kalman filtering),它是一种利用线性系统状态方程, 通过系统输入输出观测数据,对系统状态进行最优估计的算 法。由于得到的数据中包括系统中的噪声和干扰的影响,所 以最优估计也可看作是滤波过程。于是我们将最终得到的扫 描值Position经过卡尔曼滤波算法修正输出。 2. 2运动控制算法 2. 2. 1 PID控制器 PID 控制器(Proportion Integration Differentiation. 比例-积分-微分控制器),由比例单元P、积分单元I和微 分单元D组成。通过Kp, Ki和Kd三个参数的设定。PID 控制器主要适用于基本线性和动态特性不随时间变化的系 统。如图5所示。 PID控制器是一个在工业控制应用中常见的反馈回路 部件。这个控制器把收集到的数据和一个参考值进行比较, 然后把这个差别用于计算新的输入值,这个新的输入值的目 的是可以让系统的数据达到或者保持在参考值。和其他简单 的控制运算不同,PID控制器可以根据历史数据和差别的出 现率来调整输

文档评论(0)

1亿VIP精品文档

相关文档