一种智能小车控制系统开发的实验平台及其实验方法与流程

文档序号:11621500阅读:577来源:国知局
一种智能小车控制系统开发的实验平台及其实验方法与流程

本发明涉及电子开发教学领域,特别涉及一种智能小车控制系统开发的实验平台及其实验方法。



背景技术:

随着我国科学技术的发展,基于自动控制理论的应用越来越广泛。移动机器人技术随着计算机技术、软件技术、微电子技术、材料技术等相关领域的进步而发展,同航天技术一样,机器人的发展水平甚至代表了一个国家的综合科技实力。小车的平衡控制是一个理论与实践相结合的系统,能反映诸多小车控制的问题,可以运用多种方法进行控制,比如最优控制、变结构控制、模糊控制、神经网络控制、智能控制等,对各种控制方法提出挑战。matlab是一款优秀的数学软件,主要用于对算法的开发、数据分析等。然而当前智能小车研究中缺少对控制算法和行为逻辑分析的强有力的平台,为增加实现智能小车控制算法和复杂行为逻辑设计的可行性,因此有必要提供一种智能小车控制系统开发的实验平台及其实验方法。



技术实现要素:

鉴于上述内容,本发明提供一种智能小车控制系统开发的实验平台及其实验方法,该装置对matlab环境下arduino智能小车的控制进行研究,有效降低了智能小车控制系统的开发难度。

为解决上述技术问题,本发明所采用的技术方案是:一种智能小车控制系统开发的实验平台,包括用于验证小车控制算法的试验小车,所述试验小车包括自稳定三轮试验小车、不平衡两轮试验小车和控制终端;

所述自稳定三轮试验小车包括自稳定三轮小车、第一控制模块、第一驱动模块、第一电源模块和第一无线模块,所述第一控制模块、第一驱动模块、第一电源模块和第一无线模块安装于所述自稳定三轮小车上,所述自稳定三轮车包括一前轮、两后轮和底盘,所述前轮和后轮安装于底盘下端,所述前轮为万向轮,所述后轮沿其轴向设有若干通孔,所述通孔以所述后轮圆心为中心环形阵列;所述控制模块为arduino控制器;所述第一驱动模块包括两舵机和反射式数字编码器,所述舵机和反射式数字编码器分别和所述第一控制模块连接,所述舵机分别与所述后轮连接,所述数字编码器包括红外发射管、红外接收器和编码器,所述编码器用于处理所述红外接收器所接收的光信号并输出至所述第一控制模块,所述反射式数字编码器固定安装于所述底盘,所述红外发射管对准所述通孔,所述红外接受器接收所述车轮反射的红外光;所述第一电源模块与所述控制模块连接,用于给所述第一控制模块和第一驱动模块提供电源;所述第一无线模块与所述第一控制模块连接,用于所述第一控制模块与控制终端进行数据交换;

所述不平衡试验小车包括不平衡两轮小车、第二控制模块、第二驱动模块、串口模块、第二电源模块和第二无线模块;所述第二控制模块、第二驱动模块、串口模块、第二电源模块和第二无线模块安装于所述不平衡两轮小车上,所述不平衡两轮小车包括底盘和两滚轮,所述两滚轮通过一转动轴安装于底盘下端;所述控制模块为arduino控制器,所述第二驱动模块包括电机驱动单元、电机和增量式旋转编码器,所述电机驱动单元分别与所述控制模块和电机连接,用于控制所述电机的运动状态,所述增量式编码器与所述控制模块连接,所述增量式编码器包括两个光敏传感器和刻度盘、发光管,所述光敏传感器和发光管固定安装于小车底盘下端,所述刻度盘沿其轴向设有若干个通孔,所述刻度盘通孔以刻度盘圆心为中心环形阵列,所述刻度盘位于所述光敏传感器和发光管之间,且光敏传感器、刻度盘通孔和发光管位于同一条直线;所述串口模块与所述第二控制模块连接,用于对姿态算法的处理并输出至第二控制模块;所述第二电源模块与所述第二控制模块连接,用于给所述第二控制模块、第二驱动模块和串口模块提供电源;所述第二无线模块与所述第二控制模块连接,用于所述第二控制模块与控制终端进行数据交换。

所述控制终端为具有通讯功能的终端设备,用于与所述自稳定三轮试验小车、不平衡两轮试验小车进行数据交换;通过所述控制终端同时发送需测试实验的控制算法至所述自稳定三轮试验小车和不平衡两轮试验小车,分别记录所述自稳定三轮试验小车和不平衡两轮试验小车的运动状态并反馈至控制终端,控制终端根据反馈的信息得到需测试试验控制算法的测试报告。

本发明实验平台用于智能小车控制算法的研究,包括自稳定三轮试验小车和不平衡两轮试验小车,自稳定三轮实验小车用于研究智能小车的恒速控制,不平衡两轮试验小车用于智能小车的平衡控制。本实验平台控制模块采用arduino控制器,可以通过simulink可视化编程来设计智能小车控制系统并在arduino上运行。自稳定三轮小车通过舵机可以改变小车的速度和运动方向,当红外发射管被轮子的实体部分挡住时,红外发射管发出的红外光被发射回来,当自稳定三轮小车运动时,红外接收器交替接收到红外光和没有接收到红外光,这样在编码器的输出端就形成了一定频率的方波,此方波频率乘以一定的系数便测量出小车当前的速度,通过该自稳定三轮小车,可以设计基于stateflow的小车行为逻辑。对于无动力的两轮小车在直立状态时只要因为环境扰动稍有倾斜就会立即倒下,其原因是当小车存在倾角时,重力做正功,对小车产生加速度,加速小车倒下,通过串口模块对小车运动方向绕车轮的角速度值和角度值,通过simulink建立的小车自平衡模型,控制小车电机方向和加速度,使令小车倒下的加速度抵消。本发明功能全面,可以对两种不同智能小车模型同时进行研究,在仿真中验证自己的算法,大大降低开发智能小车控制算法的难度,有利于设计出优秀的智能小车控制系统。

作为进一步的改进方式,所述控制端为计算机。计算机广泛使用。

作为进一步的改进方式,所述自稳定三轮试验小车和不平衡两轮试验小车还包括显示模块,所述显示模块分别与所述第一控制模块和第二控制模块连接,用于显示所述电源模块的电源的电量。显示模块显示电池的电量,可以提前更换电池。

作为进一步的改进方式,所述arduino控制器为arduinouno主控芯片。arduinouno主控芯片是一款高性能、低功耗、哈佛结构的单片机,适合在其上设计控制算法和较为复杂的行为逻辑。

作为进一步的改进方式,所述电机为jga25-371金属电机,所述增量式旋转编码器为所述jga25-371金属电机自带的编码器。jga25-371金属电机自带的编码器为增量式旋转编码器,方便对小车速度和运动方向的测量。

作为进一步的改进方式,所述电机驱动单元为tb6612fng芯片。该芯片成本低。

作为进一步的改进方式,所述串口模块为mpu6050芯片。串口mpu6050模块是一款在mpu6050芯片基础上进行二次开发的陀螺仪加速度传感器,直接通过串口就能和姿态芯片进行通信,满足对两轮小车的平衡控制进行研究。

作为进一步的改进方式,所述的智能小车控制系统开发实验平台的实验方法,包括以下步骤:

步骤s1:通过所述控制终端构建智能小车需测试试验的控制算法,同时发送至所述自稳定三轮试验小车和不平衡两轮试验小车;

步骤s2:启动所述自稳定三轮试验小车和不平衡两轮试验小车;

步骤s3:记录所述自稳定三轮试验小车和不平衡两轮试验小车的运动状态,并把记录的数据和小车采集的数据反馈至所述控制终端,对数据进行分析;通过所述自稳定三轮试验小车的运动方向来验证控制算法的方向控制,通过所述自稳定三轮试验小车反馈的周期性信息计算出所述自稳定三轮试验小车的速度,与控制算法的理论速度进行验证;通过观察所述不平衡试验小车的运动状态来验证控制算法的平衡控制。

步骤s4:整理得出测试报告。

由于采用上述技术方案,本发明具有以下有益效果:

1.本发明结构简单,方便实用,应用广泛。

2.本发明采用arduino控制器,可以通过simulink可视化编程来设计智能小车控制系统,采用图形化编程,简单直观,理论设计就是实际编程。模型清晰,修改方便。

3.本发明容易操作,通过控制模块导入导出数据,观察智能小车的运动状况,分析控制模块导出的数据,方便实验人员对小车控制系统的学习和开发。

附图说明

图1是本发明自稳定三轮试验小车的电子元件连接示意图;

图2是本发明不平衡两轮试验小车的电子元件连接示意图;

图3是本发明自平衡小车的simulink模型程序流程图;

图4是本发明自平衡小车控制系统中对姿态偏移消除处理的程序流程图;

图5是本发明自平衡小车控制系统中左右轮的pd处理的程序流程图;

图6是本发明自平衡小车控制系统中对小车控制部分处理的程序流程图;

图7是本发明自平衡小车控制系统中对方向调节的simulink模型的程序流程图;

具体实施方式

以下结合附图对发明的具体实施进一步说明。

如图1和图2所示一种智能小车控制系统开发的实验平台,包括用于验证小车控制算法的试验小车,所述试验小车包括自稳定三轮试验小车、不平衡两轮试验小车和控制终端;

所述自稳定三轮试验小车包括自稳定三轮小车、第一控制模块、第一驱动模块、第一电源模块和第一无线模块,所述第一控制模块、第一驱动模块、第一电源模块和第一无线模块安装于所述自稳定三轮小车上,所述自稳定三轮车包括一前轮、两后轮和底盘,所述前轮和后轮安装于底盘下端,所述前轮为万向轮,所述后轮沿其轴向设有若干通孔,所述通孔以所述后轮圆心为中心环形阵列;所述控制模块为arduino控制器;所述第一驱动模块包括两舵机和反射式数字编码器,所述舵机和反射式数字编码器分别和所述第一控制模块连接,所述舵机分别与所述后轮连接,所述数字编码器包括红外发射管、红外接收器和编码器,所述编码器用于处理所述红外接收器所接收的光信号并输出至所述第一控制模块,所述反射式数字编码器固定安装于所述底盘,所述红外发射管对准所述通孔,所述红外接受器接收所述车轮反射的红外光;所述第一电源模块与所述控制模块连接,用于给所述第一控制模块和第一驱动模块提供电源;所述第一无线模块与所述第一控制模块连接,用于所述第一控制模块与控制终端进行数据交换;

所述不平衡试验小车包括不平衡两轮小车、第二控制模块、第二驱动模块、串口模块、第二电源模块和第二无线模块;所述第二控制模块、第二驱动模块、串口模块、第二电源模块和第二无线模块安装于所述不平衡两轮小车上,所述不平衡两轮小车包括底盘和两滚轮,所述两滚轮通过一转动轴安装于底盘下端;所述控制模块为arduino控制器,所述第二驱动模块包括电机驱动单元、电机和增量式旋转编码器,所述电机驱动单元分别与所述控制模块和电机连接,用于控制所述电机的运动状态,所述增量式编码器与所述控制模块连接,所述增量式编码器包括两个光敏传感器和刻度盘、发光管,所述光敏传感器和发光管固定安装于小车底盘下端,所述刻度盘沿其轴向设有若干个通孔,所述刻度盘通孔以刻度盘圆心为中心环形阵列,所述刻度盘位于所述光敏传感器和发光管之间,且光敏传感器、刻度盘通孔和发光管位于同一条直线;所述串口模块与所述第二控制模块连接,用于对姿态算法的处理并输出至第二控制模块;所述第二电源模块与所述第二控制模块连接,用于给所述第二控制模块、第二驱动模块和串口模块提供电源;所述第二无线模块与所述第二控制模块连接,用于所述第二控制模块与控制终端进行数据交换。

所述控制终端为具有通讯功能的终端设备,用于与所述自稳定三轮试验小车、不平衡两轮试验小车进行数据交换;通过所述控制终端同时发送需测试实验的控制算法至所述自稳定三轮试验小车和不平衡两轮试验小车,分别记录所述自稳定三轮试验小车和不平衡两轮试验小车的运动状态并反馈至控制终端,控制终端根据反馈的信息得到需测试试验控制算法的测试报告。

本发明的控制模块采用arduino控制器,matlab集成了基于arduino硬件平台的simulink支持包,可以通过simulink可视化编程来设计智能小车控制系统和智能小车行为逻辑并在arduino上运行。自稳定三轮小车通过舵机可以改变小车的速度和运动方向,当红外发射管被轮子的实体部分挡住时,红外发射管发出的红外光被发射回来,当自稳定三轮小车运动时,红外接收器交替接收到红外光和没有接收到红外光,这样在编码器的输出端就形成了一定频率的方波,此方波频率乘以一定的系数便测量出小车当前的速度,通过该自稳定三轮小车,可以设计基于stateflow的小车行为逻辑。对于无动力的两轮小车在直立状态时只要因为环境扰动稍有倾斜就会立即倒下,其原因是当小车存在倾角时,重力做正功,对小车产生加速度,加速小车倒下,通过串口模块对小车运动方向绕车轮的角速度值和角度值,通过simulink建立的小车自平衡模型,控制小车电机方向和加速度,使令小车倒下的加速度抵消。

所述控制终端为计算机。计算机广泛运用。

所述自稳定三轮试验小车和不平衡两轮试验小车还包括显示模块,所述显示模块分别与所述第一控制模块和第二控制模块连接,用于显示所述电源模块的电源的电量。显示模块显示电池的电量,可以提前更换电池。

所述arduino控制器为arduinouno主控芯片。arduinouno主控芯片是一款高性能、低功耗、哈佛结构的单片机,适合在其上设计控制算法和较为复杂的行为逻辑。

所述电机为jga25-371金属电机,所述增量式旋转编码器为所述jga25-371金属电机自带的编码器。jga25-371金属电机自带的编码器为增量式旋转编码器,方便对小车速度和运动方向的测量。

所述电机驱动单元为tb6612fng芯片。该芯片成本低。

所述串口模块为mpu6050芯片。串口mpu6050模块是一款在mpu6050芯片基础上进行二次开发的陀螺仪加速度传感器,直接通过串口就能和姿态芯片进行通信,满足对两轮小车的平衡控制进行研究。

所述的智能小车控制系统开发实验平台的实验方法,包括以下步骤:

步骤s1:通过所述控制终端构建智能小车需测试试验的控制算法,同时发送至所述自稳定三轮试验小车和不平衡两轮试验小车;

步骤s2:启动所述自稳定三轮试验小车和不平衡两轮试验小车;

步骤s3:记录所述自稳定三轮试验小车和不平衡两轮试验小车的运动状态,并把记录的数据和小车采集的数据反馈至所述控制终端,对数据进行分析;通过所述自稳定三轮试验小车的运动方向来验证控制算法的方向控制,通过所述自稳定三轮试验小车反馈的周期性信息计算出所述自稳定三轮试验小车的速度,与控制算法的理论速度进行验证;通过观察所述不平衡试验小车的运动状态来验证控制算法的平衡控制。

步骤s4:整理得出测试报告。

设计matlab/simulink环境下的自平衡两轮小车:pid的p、i、d参数分别表示比例、积分和微分,是目前广泛应用于自动控制的一种算法。对于无动力的两轮小车在直立状态时只要因为环境扰动稍有倾斜就会立即倒下,其原因是当小车存在倾角时,重力做正功,对小车产生加速度,加速小车倒下。其中:

重力mg在x方向上的分力为:

根据牛顿第二定律:小车将会在x方向上产生加速度。要让小车在竖直方向上平衡,就要克服小车在x方向上的加速度,即通过小车的加速减速来提供一个与x方向相反的力来抵消重力的分量。在pid算法中通过p参数就能提供这样一个分力来抵消重力的分量,借鉴单摆运动可知,在摆动过程中阻力越小,系统震荡的越久,因此单纯的p控制很容易产生震荡。为了消除这种震动,需要加入一个阻尼力来使系统尽快的收敛于平衡位置,这样就需要引入d参数。通过pd算法已经可以让小车站立。对于i参数,能帮助小车系统在静态时消除静差,但是在小车动态模型中,用pd算法能使系统的动态性能更好,因此本设计采用pd算法。

通过simulink建立的小车自平衡模型如图3所示,从“getsensorpara”模块输出角度和角速度经过“anglespeed_bias”和“angle_bias”进行偏移消除处理,如图4所示,“anglespeed_set”和“angle_set”是为后续速度和角度控制的预留接口。经过偏置处理后的姿态值送到后级进行pd处理,如图5所示。由于姿态传感器能直接输出角度和角速度,而角速度就是对角度的微分,因此此模型直接使用角速度运算,省略了微分处理。经过pd运算后的值会转化为控制电机旋转方向和旋转速度的控制量,如图6所示。其中“left_motor1”模块和“left_motor2”模块控制电机旋转的方向,它接收0或非0的信号代表此模块所对应的端口输出低或高电平;“left_pwm”模块控制电机的转速,它接收0到255之间的数,数值越高代表了输出方波的占空比越高。当经过pd处理的控制量为正时,经过“comparetozero”模块,将输出1,再经过“logicaloperator”操作,在“left_motor1”将输出0,这样电机正转;当经过pd处理的控制量为负时,“comparetozero”模块输出0,经过“logicaloperator”操作,在“left_motor1”将输出1,这样电机翻转。基于此原理,达到电机方向和速度的控制。将图7所示模型部署到arduinouno中,小车能够完成站立姿势。通过观察小车的运动状态,使小车的平衡控制得到改进。

本发明可以配合“simscape”工具箱对运动模型建模,可以把simulink算法在运动模型上软件仿真,如pid仿真,可以自动绘制系统的响应曲线和零极点分布图,软件仿真后再部署到实际硬件微调,大大增加算法的开发的效率。

上述说明是针对本发明较佳可行实施例的详细说明,但实施例并非用以限定本发明的专利申请范围,凡本发明所提示的技术精神下所完成的同等变化或修饰变更,均应属于本发明所涵盖专利范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1