基于CCD和STM32的两轮智能机器人系统

时间:2022-10-14 03:19:18

基于CCD和STM32的两轮智能机器人系统

摘 要

本文介绍了一种基于STM32单片机的新型两轮智能机器人系统的设计,该控制系统不仅通过MPU6050运动处理传感器实现机器人的直立平衡和速度及转向控制,通过线性ccd摄像头实现了机器人的智能寻迹功能。本文对该控制系统的硬件设计和软件开发进行了介绍。

【关键词】智能 stm32 机器人

1 引言

两轮智能机器人是一个多变量、强耦合、非线性的机电系统,具有结构简单、运动灵活的特点。本文设计了一种采用STM32为核心的两轮智能机器人系统,增加了自动壁障功能和基于CCD的图像采集和处理功能。

2 系统整体设计方案

两轮智能机器人总体设计如图1所示,从控制角度来看,可以将小车作为一个控制对象,控制输入量是两个车轮的转动速度。整个控制系统可以分为三个子系统:小车平衡控制,小车速度控制,小车方向控制。三个子系统各自独立进行控制。由于最终都是对同一个控制对象(小车的电机)进行控制,所以各个子系统之间存在着耦合。这三个任务中平衡控制是系统的最基本要求,也是整个控制系统的难点。

3 硬件电路设计

3.1 姿态检测模块设计

本文采用MPU6050设计姿态检测模块。在姿态检测系统中,加速度计主要用于检测车体倾斜角,能够准确测量车体静态时的角度,本文采用卡尔曼滤波的方法进行数据融合。

3.2 线性CCD图像处理模块设计

本文采用线性CCD摄像头,通过编写线性CCD的接口和底层驱动,实现了CCD图像的采集,再通过编写自动巡线算法,实现平衡小车巡线功能。CCD摄像头对采集的像素点进行分析,找出其中最小和最大值,以它们的平均值为基准,进行二值化处理,根据相对位置便可决定机器人转向以及转向大小。

4 软件设计与控制策略

两轮智能机器人控制系统软件设计流程如图2所示,初始化完成后,将MPU6050姿态检测模块采集的姿态信息、电流检测模块采集到的电机电流和电机编码器采集的电机转速,进行相应的PID控制,输出PWM信号给电机驱动模块,实现智能机器人的直立控制、速度控制和转向控制。

CCD采集的图像采用阈值法,阈值法是一种最常用的方法,基本思想是利用阈值来区分不同目标的灰度值,从而提取目标。CCD摄像头控制机器人运动的过程如图3所示。本文采用动态阈值的方法来提取黑线。通过算法可以测量出机器人与路面边界的相对位置,利用偏移量与机器人速度控制和平衡控制信号相加减,使两边电机形成一个差值电压,这样就能改变左右轮的速度,改变机器人的行驶方向。

5 结论

本文设计的基于STM单片机的新型两轮智能机器人系统,样机在实验室通过竞赛跑道进行试验。主要内容包括平衡控制、速度控制、转向控制、CCD图像处理和无线远程通信监控试验。

参考文献

[1]X Ruan,J Cai,J Chen.Learning to Control Two-Wheeled Self-Balancing Robot Using Reinforcement Learning Rules and Fuzzy Neural Networks.IEEE.2008.4.

[2]WU Gang,Z Tang.Distance Measurement in Visual Navigation of Monocular Autonomous Robots.Jiqiren/robot,2010,32(06).

[3]杨凌霄等.两轮智能机器人的自适应模糊平衡控制[J].计算机仿真,2015(05).

[4]陈梅等.基于轮廓跟踪的两轮寻迹小车设计[J].合肥工业大学学报,2015(03).

作者简介

陈国军(1981-),男。硕士学位。现为南京工程学院实验师。研究方向为机器人与人工智能。

作者单位

南京工程学院 江苏省南京市 211167

上一篇:全面“营改增”对高校财务管理的影响及建议 下一篇:推动大型集团化企业对参控股公司股权管理精细...