CN105116895A - 双核高速六轮全数字导航伺服控制器及其控制方法 - Google Patents
双核高速六轮全数字导航伺服控制器及其控制方法 Download PDFInfo
- Publication number
- CN105116895A CN105116895A CN201510521174.7A CN201510521174A CN105116895A CN 105116895 A CN105116895 A CN 105116895A CN 201510521174 A CN201510521174 A CN 201510521174A CN 105116895 A CN105116895 A CN 105116895A
- Authority
- CN
- China
- Prior art keywords
- motor
- sensor
- slight mouse
- stm32f407
- speed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Motorcycle And Bicycle Frame (AREA)
Abstract
本发明公开了双核高速六轮全数字导航伺服控制器,包括底盘,所述底盘上设有电池装置、传感器装置、辅助导航装置、真空抽吸装置和控制单元模块,所述底盘两侧连接运动轮;所述运动轮分为三对,首部、中部、尾部各设有一对;所述辅助导航装置包括方向传感器D1、陀螺仪G1和加速度计A1。本发明通过位于底盘下的真空抽吸装置解决了微微鼠在导航中打滑的现象,同时根据微微鼠前进的速度以及地面情况自动调节真空抽吸直流电机M的伺服控制,使得微微鼠不再受制于迷宫地面路况。
Description
技术领域
本发明涉及微型迷宫导航机器人领域,尤其涉及一种双核高速六轮全数字导航伺服控制器及其控制方法。
背景技术
微电脑鼠是使用嵌入式微控制器、传感器和机电运动部件构成的一种智能行走机器人,在国外已经竞赛了将近30年,其常采用两轮结构,两轮微电脑鼠二维结构如图1所示。
微电脑鼠可以在不同“迷宫”中自动记忆和选择路径,采用相应的算法,快速地到达所设定的目的地。其求解的迷宫之一示意如图2所示。
随着微电子技术、计算机控制技术的不断进步,国外专家在微电脑鼠求解迷宫的技术基础之上提出了一种更具有挑战性的迷宫机器人---微微鼠:为了增强迷宫复杂程度以及老鼠求解迷宫的难度,迷宫挡墙由原有的180mm变成了90mm,原有的迷宫由16*16格变成了32*32格,新的迷宫二维结构如图3所示。电源一旦打开,微微鼠全程完全依靠自身携带的传感器自动导航,并求解由1024个迷宫格组成的各种复杂迷宫,能够快速从起点找到一条到达设定目标点的最佳路径,然后以最快的速度冲刺到终点。作为一种自助导航智能机器人,因为通过无线装置可以向控制器输入迷宫信息,微微鼠或者微电脑鼠国际准则拒绝使用无线装置,为了能够得到微微鼠或者是微电脑鼠探索、冲刺后的信息,只能通过算法快速寄存并储存其导航信息,当完成任务后通过控制器的232串口或者是USB串口读取存储信息。
微微鼠在迷宫中导航过程中要时刻判断周围的环境,然后传输参数到控制器,由控制器反复控制其在迷宫方格中精确的加速和减速进行运动。一只优秀的微微鼠必须具备良好的感知能力,有良好的行走能力,优秀的智能算法,否则将无法完成任务。微微鼠技术综合了多学科知识,对于提升在校学生的动手能力、团队协作能力和创新能力,促进学生课堂知识的消化和扩展学生的知识面都非常有帮助,并且微微鼠走迷宫技术的开展可以培养大批相关领域的人才,进而促进相关领域的技术发展和产业化进程。
如果认为微微鼠只是微电脑鼠的简单拷贝,按照微电脑鼠技术来设计微微鼠,在实践中则会发现如下问题:
(1)基于轮式的微微鼠只能被动的适应迷宫地面的打滑程度,随着微微鼠速度的提高,其打滑概率也极大增加,导致求解迷宫失败。
(2)由于求解迷宫数目的大量增加,原有的微电脑鼠求解迷宫技术无法求解现有的复杂迷宫。
(3)由于微微鼠尺寸的大幅减少,如果微微鼠采用图1中的六组传感器技术探测迷宫,经常出现传感器相互干扰的状况,导致其读取迷宫信息失败。
(4)由于微电脑鼠伺服系统采用的都是比较低级的算法,使得微微鼠在迷宫当中的导航一般都要花费较长的时间,这使得在真正的大赛中无法取胜。
(5)由于迷宫挡墙尺寸的减少,使得微微鼠单格运行的距离减少,微微鼠频繁的刹车和启动加重了单片机的工作量,单一的单片机无法满足微微鼠快速启动和停车的要求。
(6)对于两轮驱动的微微鼠来说一般要求驱动其运动的两个电机PWM控制信号要同步,受计算能力的限制单一单片机伺服系统很难满足这一条件,微微鼠在直道上行驶时不能准确的行走在中线上,在高速导航时很容易撞到迷宫挡墙,导致任务失败。
(7)由于受单片机容量影响,现有的微微鼠基本上都只有两个动力驱动轮,采用两轮差速方式行驶,使得系统对两轴的伺服要求较高,特别是直线导航时,要求速度和加速度要追求严格的一致,否则直线导航将会失败,导致微微鼠出现撞墙的现象发生;
(8)两轮微微鼠系统在加速时由于重心后移,使得老鼠前部轻飘,即使在良好的路面上微微鼠也会打滑,有可能导致撞墙的现象出现,不利于高速微微鼠的发展。
(9)两轮微微鼠系统在正常行驶时如果设计不当造成重心前偏,将导致驱动轮上承受的正压力减小,这时微微鼠系统更加容易打滑,也更容易走偏,导致导航失败。
(10)两轮微微鼠系统在正常行驶时如果设计不当造成重心侧偏将导致两个驱动轮承受的正压力不同,在快速启动时两轮打滑程度不一致,瞬间就偏离轨迹,转弯时,其中正压力小的轮子可能打滑,导致转弯困难。
(11)由于采用两个动力轮驱动,为了满足复杂状态下的加速和减速,使得单个驱动电机的功率较大,不仅占用的空间较大,而且有时候在一些相对需求能量较低的状态下造成“大马拉小车”的现象出现,不利于微微鼠本体微型化发展和微微鼠系统能源的节省。
(12)如果采用前驱+后驱的全时四驱,虽然动态性能较好,但是全时四驱顾名思义随时随地都保持四驱状态,但是其耗能较高,而且电机没有工作在最优状态。
(13)如果采用前驱+后驱的分时四驱,无论是采用前驱或者是后驱时都具有一定的弱点,转弯角度不是过大,就是不够,转弯动态性能较差;
(13)如果采用中驱+后驱的四轮驱动方式,通过释放后驱两轮采用中驱两轮转弯,虽然微微鼠转弯性能有所提高,电机的效率也得到一定优化,但是在高速行驶时会造成重心后偏,需要软件对此进行保护。
(14)无论是两轮驱动或者是四轮驱动,遇到迷宫接缝处具有一定的高度差时,动态性能都会收到严重影响。
微微鼠求解迷宫是国际新兴的一门技术,由于微微鼠技术的难度较高以及迷宫设计的复杂性,导致国内还没有研发此机器人的单位。因此,需要设计一种满足初级者学习微微鼠求解迷宫的全数字导航伺服控制器。
发明内容
本发明的目的是解决现有技术的不足,提供一种双核高速六轮全数字导航伺服控制器,以解决微微鼠在导航过程中打滑、传感器相互干扰、处理时间慢等问题。
本发明采用的技术方案是:为了提高运算速度,保证六轮微微鼠系统的稳定性和可靠性,本发明在基于STM32F407的控制器中引入FPGA,形成基于STM32F407+FPGA的全新七轴直流伺服控制器,此控制器充分考虑电池在这个系统的作用,把控制系统中工作量最大的七轴直流电机同步伺服系统(六轴微微鼠行走伺服系统+单轴真空抽吸电机伺服控制)由FPGA处理,充分发挥FPGA数据处理速度较快的特点,而人机界面、迷宫探知、迷宫存储、加速度、速度和位置数据存储、I/O控制等功能交给STM32F407完成,这样就实现了STM32F407与FPGA的分工,同时二者之间也可以进行通讯,实时进行数据交换和调用。
本发明采用的有益效果是:1:在运动过程中,充分考虑了电池在这个系统中的作用,基于STM32F407+FPGA双核控制器时刻都在对微微鼠的运行状态进行监测和运算,通过电流传感器C1~C6实时对电机的电流可以进行采集,从根本上避免了大电流的产生,所以解决了大电流对锂离子电池的冲击,避免了由于大电流放电而引起的锂离子电池过度老化现象的发生。
2:为了进一步提高四轮微微鼠系统的稳定性和行驶能力,并兼顾两轮中置转向的优点,并保证微微鼠的重心位置有利于各种运动,本发明采用六轮驱动结构:中置驱动的功率较大,后置和前置驱动的四个个电机功率较小,只有在动力需求较高时才启动,起到助力作用。由于采用六轮驱动技术,微微鼠前后中六个动力轮都有动力,可按迷宫地面和周围环境状态不同而将需求扭矩按不同比例分布在前后所有的轮子上,以提高微微鼠适应复杂迷宫的能力。
3:根据需要实现两驱、四驱和六驱的功能。在正常行驶环境下,微微鼠一般会采用释放前后四轮,采用中置两轮驱动的方式;而一旦需要稍微提速,此时的加速度较小,STM32407会根据加速度大小并立即将微微鼠需求扭矩分配给后置两个助力驱动轮,同时FPGA自动电机M的伺服控制,微微鼠系统自然切换到四轮驱动状态。而一旦需要快速提速或者是地面灰尘较多时,STM32407会根据加速度大小并立即将微微鼠需求扭矩分配给前后置四个助力驱动轮,同时FPGA改变电机M的伺服控制,微微鼠系统自然切换到六轮驱动状态,不仅满足其动力需求,而且还增加了其平衡性,增强了微微鼠的附着力和操控性。
4:由于采用多轮驱动的复合驱动方式,当需要加速行驶时,把动力分配到四个或者是六个电机,一旦一个动力轮由于地面、机械结构等造成暂时离开地面,STM32407可以重新分配扭矩,把更多的扭矩分配在未失速的驱动轮上,使系统迅速脱离不稳定状态,重新回到四轴动力或者是六轴动力平衡状态,使得六轮微微鼠具有更好的直线导航功能。
5:微微鼠转向时,为了保证旋转的稳定性,采用中置的两驱动轮实现转弯,并释放前后置的四个助力驱动轮,并利用方向传感器D1、陀螺仪G1、加速度计A1实时测量微微鼠的瞬时角度、角速度和加速度,为微微鼠精确转弯提供反馈。
7:多轮驱动方式下微微鼠系统在正常行驶时如果设计不当造成重心偏移,将导致一侧驱动轮上承受的正压力减小,STM32F407会自动调整这一侧的动力分配,使系统处于一种新的平衡状态,防止微微鼠打滑。
8:在微微鼠导航过程中,控制器实时对其行走速度、地面等状况进行检测,并通过调节电机M的伺服控制来有效调节真空吸盘对地面的吸附力,增加了微微鼠与地面的摩擦系数,彻底消除了微微鼠在导航时打滑现象的发生。
9、在此微微鼠系统引入了方向传感器D1、陀螺仪G1和加速度计A1,可以精确测量出微微鼠运动时的动态参数,方向传感器D1、陀螺仪G1和加速度计A1的加入可以实现微微鼠速度大小和方向的独立控制,实现全程导航和二次补偿,有利于提高微微鼠的稳定性和动态性能。
10:由FPGA处理微微鼠的七只直流电机的伺服控制,充分发FPGA处理数据较快方面的特长,使得控制比较简单,大大提高了运算速度,解决了单片机软件运行较慢的瓶颈,缩短了开发周期短,并且程序可移植能力强。
11:由于本控制器采用FPGA处理大量的数据与算法,把STM32F4079从繁重的七轴伺服系统求解工作量中解脱出来,有效地防止了程序的“跑飞”,抗干扰能力大大增强。
12:由FPGA输出七轴PWM调制信号和方向信号,通过驱动电路MX118可以直接驱动电机,不仅减轻了STM32F407的负担,简化了接口电路,而且省去了STM32F407内部编写位置、速度控制程序,以及各种PID算法的麻烦,使得系统的调试简单。
13:在微微鼠导航过程中,FPGA会对电机X、电机Y、电机Z、电机R、电机U和电机W的转矩进行在线辨识并利用电机力矩与电流的关系进行补偿,减少了电机转矩抖动对微微鼠导航的影响。
14:在控制算法中,FPGA可以根据传感器S1、S2、S5、S6的采集值与预设值之间的偏差大小自动调整内部三闭环伺服系统的PID参数,轻松实现分段P、PD、PID控制和非线性PID控制,使系统具有一定的自适应。
15:本发明基本实现全贴片元器件材料,不仅节省了控制板占用空间,而且有利于体积和重量的减轻,有利于提高微微鼠的稳定性和动态性能。
附图说明
图1为原二轮六眼微电脑鼠二维图。
图2为微电脑鼠16*16迷宫示意图。
图3为微微鼠32*32迷宫示意图
图4为微微鼠伺服控制系统控制器程序框图。
图5为本发明示意图。
图6为本发明的原理框图。
图7为本发明的STM32F407处理器与FPGA的连接原理图。
图8为微微鼠前进示意图。
图9为本发明的MX118的示意图。
具体实施方式
下面结合图1至图9,对本发明做进一步的说明。
STM32F4系列除引脚和软件兼容高性能的F2系列外,F4的主频(168MHz)高于F2系列(120MHz),并支持单周期DSP指令和浮点单元、更大的SRAM容量(192电机U和电机WB,F2为128电机U和电机WB)、512电机U和电机WB-1MB的嵌入式闪存以及影像、网络接口和数据加密等更先进的外设。STM32F4系列基于最新的ARMCortexM4内核,在现有出色的STM32微控制器产品组合中新增了信号处理功能,并提高了运行速度;STM32F405x集成了定时器、3个ADC、2个DAC、串行接口、外存接口、实时时钟、CRC计算单元和模拟真随机数发生器在内的整套先进外设。STM32F407在STM32F405产品基础上增加了多个先进外设。这些性能使得F4系列可以较容易满足控制和信号处理功能混合的数字信号控制需求。高效的信号处理功能与Cortex-M4处理器系列的低能耗、低成本和易于使用的优点的组合,使得其可以为多轴电动机控制提供灵活解决方案。这些特点使得STM32F407特别适合微微鼠多轴伺服系统的信号处理。
FPGA是英文FieldProgrammableGateArray的缩写,即现场可编程门阵列,是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,即解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA使得用户可以根据自己的设计需要,通过特定的布局布线工具对其内部进行重新组合连接,在最短的时间内设计出自己的专用集成电路,这样就减小成本、缩短开发周期。由于FPGA采用软件化的设计思想实现硬件电路的设计,这样就使得基于FPGA设计的系统具有良好的可复用和修改性,特别适合高速控制的多轴伺服系统使用。
为了减少驱动电路所占的空间,本发明用MX118替代了L6207D,为了能够对电机的电流能够进行检测保护,每轴电机配备一个0.01欧姆的贴片电阻传感器来进行电流采样,并把采样结果反馈给STM32F407,为微微鼠的电流环控制提供反馈。MX118是为低电压下工作的系统而设计的单通道直流电机驱动集成电路。它具有H桥驱动器,为对空间敏感的系统设计提供理想选择,内置功率MOSFET开关,可实现对负载直流电机正转、反转、刹车以及待机四个功能的控制,刹车功能能使负载电机快速停止转动。MX118内置温度保护功能,当低内阻的负载电机堵转或者输出短路时,MX118输出电流瞬间增大,电路功耗急剧上升,芯片温度急剧升高,当芯片温度超过内部温度保护电路设置得最高温度点(典型值150℃)后,内部电路关断MX118内置的功率开关管,切断负载电流,避免温度过高造成塑料封装冒烟、起火等安全隐患。MX118常用封装为SOT23-6,MX118管脚分布和其真值表如图4所示。
在实验中发现,由于微微鼠体积的大幅度降低,图1中传感器S2和S3以及S4和S5经常产生相互干扰;同时由于每组传感器采集迷宫挡墙参数都需要一定的时间,加重了采样周期,导致采样频率降低,延长了处理器STM32F407的处理时间。本发明为克服六组传感器探测迷宫的缺陷,参考国外微微鼠硬件设计,自主研发了基于四组传感器探测迷宫的全新控制模式,所发明的微微鼠二维结构如图5所示:传感器S1、S6共同作用判断前方挡墙,同时传感器S1和S6也可以为微微鼠各种运动提供加速或者是减速判据,有效提高其运动速度;传感器S2判断其左边挡墙的存在,传感器S5判断其右边挡墙的存在,同时S2和S5合作为微微鼠直线运动提供导航依据。为了使用智能算法计算迷宫挡墙信息,在微微鼠校正阶段,微微鼠被人为放在迷宫不同设定位置,红外传感器S1、S2、S5、S6的红外光经侧边挡墙反馈后会被对应的红外接收器TSL262接收,然后TSL262的接收值经控制器计算后作为当前位置的设定阀值,然后微微鼠在导航过程中通过与这些阀值比较得到其迷宫信息。在相同位置,图1中传感器S2的计算阀值明显比S3精确,传感器S5的计算阀值明显比S4精确,而且S2和S5还可以精确测量到迷宫从有挡墙到无挡墙以及无挡墙到有挡墙的变化,这个位置的传感器信号变化可以被控制器捕捉到,然后在此位置可以对微微鼠进行精确补偿,这对于复杂迷宫计算至关重要,如果没有此智能补偿的话,微微鼠在复杂迷宫中的累计误差足以使求解迷宫失败。因此本控制器采用图6中的结构来求解迷宫,以确保迷宫的准确性。
为了进一步提高六轮微微鼠在迷宫导航时的稳定性,由于陀螺仪G1通过积分其角速度得到微微鼠偏离中心的角度,在长期运动中会造成积分误差,本发明了为了能够精确测量微鼠偏离中心的角度,本发明在微微鼠伺服硬件系统中加入了方向传感器D1,三轴陀螺仪G1和三轴加速度计A1,控制器舍弃了单一陀螺仪工作模式。在微微鼠导航迷宫期间全程开启方向传感器D1、陀螺仪G1和加速度计A1,方向传感器D1实时测量微微鼠偏离中心的角度,三轴陀螺仪G1准确测量微微鼠三个转动方向的角度运动,三轴加速度计用来测量微微鼠三个平移运动的加速度。方向传感器D1、陀螺仪G1和加速度计A1时刻准确记录微微鼠的瞬时参数并输送给控制器,当微微鼠的姿态发生变化超过设定阀值时,在一个新的采样周期就立即对其位置补偿,避免了微微鼠远远偏离中心位置现象的发生,提高了其快速导航时的稳定性;同时方向传感器D1也可以为微微鼠校正阶段提供一定的帮助,在早期设置微微鼠姿态阀值时,由于没有方向传感器辅助,微微鼠的放置方向一旦有一定偏差,造成微微鼠稍微有点偏头,通过红外测量作为最后给定的参数阀值就一定错误,微微鼠在实际运动中即使姿态正确也要被控制器调整到错误的设定姿态,方向传感器D1的加入避免了这种不必要的失误,也为微微鼠的精确导航提供了可靠判据;
为了进一步提高微微鼠数字导航伺服系统的稳定性,防止微微鼠在高速导航时打滑导致微微鼠迷宫信息错误,本发明在微微鼠伺服硬件系统中加入了微型直流电机M,在微微鼠运动过程中,电机M通过真空抽吸装置不停抽吸微型真空吸盘内的空气,使微型真空吸盘的内外压力不一样,产生一定的负压,使其对迷宫地面产生一定的吸附力,有效防止了微微鼠在高速导航时的地面打滑。
本发明为克服单一单片机不能满足微微鼠导航的稳定性和快速性的要求,舍弃了国产微微鼠所采用的单一单片机工作模式,在吸收国外先进控制思想的前提下,自主发明了基于STM32F407+FPGA的全新控制模式,其原理框图如图6所示:控制板以FPGA为处理核心,以光电编码器、电流传感器C1~C6、方向传感器D1、陀螺仪G1和加速度计A1为反馈元件来构成七轴直流电机伺服系统,来完成微微鼠七轴伺服控制器的三闭环调节功能。把STM32F407从复杂的工作当中解脱出来,实现部分的信号处理算法和FPGA的控制逻辑,控制板以FPGA为处理核心来产生七轴伺服系统PWM波控制信号,经驱动桥MX118放大后驱动微微鼠快速前进。在微微鼠运动过程中,控制器自动实现真空抽吸电机M的伺服控制,有效调整微微鼠与地面的吸附力,增加其与地面的摩擦系数。
如图所示,双核高速六轮全数字导航伺服控制器,包括底盘,所述底盘上设有电池装置、传感器装置、辅助导航装置、真空抽吸装置和控制单元模块,所述底盘两侧连接运动轮;所述运动轮分为三对,首部、中部、尾部各设有一对;所述辅助导航装置包括方向传感器D1、陀螺仪G1和加速度计A1;所述电池装置电连接控制单元模块,所述传感器装置和陀螺仪装置分别信号连接控制单元模块,所述控制单元模块分别信号连接电机X、Y、Z、U、R、W和M;所述电机X和电机Y分别传动联接中部运动轮,电机Z和电机R传动联接尾部运动轮,电机U和电机W传动联接首部运动轮;所述电机M传动联接真空抽吸装置,所述抽真空装置连接真空吸盘,所述真空吸盘位于底盘底部;所述传感器装置包括位于底盘两侧的红外传感器S1和S6,位于底盘前端的红外传感器S2和S5,所述传感器S1、S6共同作用判断前方挡墙,传感器S2判断其左边挡墙的存在,传感器S5判断其右边挡墙的存在,同时S2和S5合作为直线运动提供导航依据;所述控制单元模块包括STM32F407处理器、FPGA处理器、六轴行走伺服控制单元和单轴真空吸附伺服控制单元,所述STM32F407处理器电性连接FPGA处理器,所述六轴行走伺服控制单元信号连接单轴真空吸附伺服控制单元。
为了保护大电流对电池装置的冲击,还包括有电压传感器V1,所述电压传感器V1电连接电池装置,信号连接控制单元模块的STM32F407处理器。
为了减少和杜绝外界光源对传感器的干扰,从而影响整个系统的使用,还包括光补偿传感器L1,所述光补偿传感器L1信号连接控制单元模块的STM32F407处理器。
为了进一步使得本发明的伺服控制器精确控制微微鼠的前进和转向,还包括有电流传感器C1、C2、C3、C4、C5和C6,所述电流传感器C1、C2、C3、C4、C5和C6信号连接STM32F407处理器。
为进一步拓展两核处理器的处理能力,做到分工明确,工作不受干扰,所述FPGA处理器通过I/O端口与STM32F407处理器实时通讯,STM32F407处理器控制FPGA处理器开通和关断。
为了进一步提高微微鼠的性能,所述电机X、Y、Z、U、R和W为高速永磁直流电机,所述电机M为微型直流电机。
为进一步消除红外传感器之间的干扰,提高传感器装置的感应精度,所述红外传感器S1和S2信号发射方向间的夹角为75°~90°角,所述红外传感器S5和S6信号发射方向间的夹角为75°~90°角。
双核高速六轮全数字导航伺服控制方法,步骤如下:1)电压检测:检测电池电压、传感器电路和时钟电路;2)底盘真空抽吸:STM32F407控制器首先开启真空抽吸直流电机M,通过真空抽吸装置先对真空吸盘抽吸,使真空吸盘对地面具有一定的吸附力,STM32F407控制器实时检测;3)迷宫行走:判断周围的环境并送给STM32F407,STM32F407把这些环境参数转化为微微鼠左右轮要运行的位置、速度和加速度指令值,并把这些值传输给FPGA,然后FPGA再结合光电编码器的反馈、电流传感器C1~C6的反馈经其内部三闭环伺服系统算法得到驱动六轴直流电机运行的PWM波,并通过驱动桥驱动六个独立直流电机X、Y、Z、U、R和W向前运动;4)调整纠错:光补偿传感器L1会时刻对外界干扰光源进行采集,然后传输给STM32F407,STM32F407会根据L1的数值自动补偿外界干扰,减少了外界干扰光源对微微鼠导航时的干扰;5)坐标检测:装在微微鼠上的电机X、电机Y、电机Z、电机R、电机U和电机W上的光电编码器的位置信号A脉冲、B脉冲和Z脉冲同时为低电平时,就产生一个INDEX信号给FPGA内部寄存器,此数值经内部算法换算为电机的绝对位置,然后换算成微微鼠在迷宫中的具体位置;6)路径计算:STM32F407根据微微鼠在迷宫的具体位置,送相应的加速度、速度和位置数据指令值给FPGA,然后由FPGA结合光电编码器、电流传感器C1~C6的反馈计算出微微鼠需要更新的实际加速度、速度和位置信号,生成新的速度-时间运动梯形图。
本发明是如下工作的:
1)为了能够实现分时两驱、四驱和六驱的功能,驱动六轴微微鼠进行运动,本控制系统引入了FPGA,但是通过I/O口与STM32F407连接,由FPGA根据实际需要控制七个独立电机的开通和关断。
2)打开电源瞬间,STM32F407会对电池电压进行检测,如果低压的话,将禁止FPGA工作,封锁直流电机X、电机Y、电机Z、电机R、电机U、电机W和电机M的PWM控制信号,微微鼠不能启动,同时电压传感器V1将工作,并发出报警信号。如果系统电压正常,FPGA首先控制开启真空抽吸电机M工作,通过抽吸装置先对微型真空吸盘抽吸,使真空吸盘对地面具有一定的吸附力,控制器并实时检测,如果地面不干净,FPGA会自动调节电机M加大真空吸盘对地面的吸附力。然后控制器解锁微微鼠,微微鼠参考方向传感器D1的反馈通过电机X和电机Y的差速运动自动调节其与运动方向的夹角直至二者之间夹角为零,完成姿态调整,彻底消除了微微鼠刚启动瞬间就出现偏头现象的发生。
3)在微电脑运动过程中,传感器S1、S2、S5、S6(四个独立的红外发射管OPE5594A发出的红外光经四个独立的红外接收器TSL262接受后转化为周围迷宫的信息)判断周围的环境并送给STM32F407,STM32F407把这些环境参数转化为微微鼠前后左右六轮要运行的距离、速度和加速度指令值,然后与FPGA通讯,由FPGA结合光电编码器、电流传感器C1~C6的反馈经其内部三闭环伺服控制算法生成六轴直流电机的PWM波控制信号,由MX118驱动六个独立电机运动,此时FPGA实时检测电机X、电机Y、电机Z、电机R、电机U和电机W的光电编码器的数值,并根据微微鼠速度大小自动调节电机M的伺服控制,改变真空吸盘对地面的吸附能力。
4)在微微鼠运动过程中如果控制器发现迷宫求解出现死循环将向STM32F407发出中断请求,STM32F407立即与FPGA通讯,FPGA会对中断做第一时间响应,封锁六轴的PWM控制信号,进而释放微微鼠的电机X、电机Y、电机Z、电机R、电机U和电机W。
5)装在电机X、电机Y、电机Z、电机R、电机U和电机W上的光电编码器会输出其位置信号A和位置信号B,光电编码器的位置信号A脉冲和B脉冲逻辑状态每变化一次,FPGA内的位置寄存器会根据左右轮的运行方向加1或者是减1;
6)光电编码器的位置信号A脉冲和B脉冲和Z脉冲同时为低电平时,就产生一个INDEX信号给FPGA寄存器,记录电机的绝对位置,然后换算成微微鼠在迷宫中的具体位置,并储存当前迷宫信息。
7)STM32F407根据微微鼠在迷宫的具体位置,送相应的加速度、速度和位置数据等给FPGA作为参考值,由FPGA再结合光电编码器、电流传感器C1~C6的反馈计算出微微鼠需要更新的实际加速度、速度和位置信号以及控制七轴电机运转的PWM控制信号,满足伺服系统的快速性要求。
8)FPGA根据实际外围传感信号确定电机X(或者电机Y、电机Z、电机R、电机U、电机W和电机M)正反转信号,然后通过调整IN1和IN2的电平高低来实现电机的方向控制,进而实现微微鼠系统电机X(或者电机Y、电机Z、电机R、电机U、电机W和电机M)的方向控制。
9)当传感器S2、S5和方向传感器D1、陀螺仪G1、加速度计A1共同作用探测到微微鼠处于正常直线匀速行驶时,FPGA一般会封锁前后助力四轮的PWM控制信号,释放微微鼠的后轮电机Z和R和前轮电机U和电机W,采用电机X和电机Y中置驱动的方式。
10)微微鼠一旦加速、减速、路面灰尘较多时,STM32F407会根据控制器功率需求计算,然后与FPGA通讯,FPGA使能前后四个助力轮的PWM波控制信号,把微微鼠需求扭矩部分配给电机Z和电机R、电机U和电机W,微微鼠自然切换到四轮或者是六轮驱动状态,增强了微微鼠的附着力和操控性。
11)在微微鼠向前运动过程中,FPGA实时调节电机M的伺服控制来有效调节真空吸盘对地面的吸附力,改变微微鼠与地面的摩擦系数,同时传感器S2和S5会对左右的挡墙进行判断,并记录储存当前迷宫挡墙信息。微微鼠根据前进方向左右挡墙的迷宫信息进入双墙导航模式、单墙导航模式或者惯性导航模式:当传感器S2、S5探测到左右均有挡墙时,全数字微微鼠进入双墙导航模式,此时传感器S2、S5会把探测到的迷宫信息输入到全数字导航伺服控制器,控制器把红外实时探测的值与预设定值相比较。当微微鼠快速导航时受到外界干扰脱离了设定中心位置时,探测值将与设定值产生较大偏差,此时方向传感器D1、陀螺仪G1和加速度计A1记录下当前微微鼠的瞬时运动加速度、速度和偏移角度送给FPGA,在新的采样周期到来后,FPGA结合光电编码器的反馈和电流传感器C1~C6的反馈生成微调电机的PWM波控制信号,经驱动桥MX118放大后,微微鼠在方向传感器D1、陀螺仪G1和加速度计A1的控制下完成姿态的调整,使其重新回到设定中心位置;当传感器S2探测到左侧面有挡墙而S5探测到右侧无挡墙时,全数字微微鼠进入左墙导航模式,此时传感器S2会把探测到的迷宫信息输入到全数字导航伺服控制器,控制器会把实时探测的值与预设定值想比较,当微微鼠快速导航时受到外界干扰脱离了设定中心位置时,探测值将与设定值产生较大偏差,此时方向传感器D1、陀螺仪G1和加速度计A1记录下当前微微鼠的瞬时运动加速度、速度和偏移角度送给FPGA,在新的采样周期到来后,FPGA结合光电编码器的反馈和电流传感器C1~C6的反馈生成微调电机的PWM波控制信号,经驱动桥MX118放大后,微微鼠在方向传感器D1、陀螺仪G1和加速度计A1的控制下完成姿态的调整,使其重新回到设定中心位置;当传感器S5探测到右侧面有挡墙而S2探测到左侧无挡墙时时,全数字微微鼠进入右墙导航模式,此时传感器S5会把探测到的迷宫信息输入到全数字导航伺服控制器,控制器会把实时探测的值与预设定值想比较,当微微鼠快速导航时受到外界干扰脱离了设定中心位置时,探测值将与设定值产生较大偏差,此时方向传感器D1、陀螺仪G1和加速度计A1记录下当前微微鼠的瞬时运动加速度、速度和偏移角度送给FPGA,在新的采样周期到来后,FPGA结合光电编码器的反馈和电流传感器C1~C6的反馈生成微调电机的PWM波控制信号,经驱动桥MX118放大后,微微鼠在方向传感器D1、陀螺仪G1和加速度计A1的控制下完成姿态的调整,使其重新回到设定中心位置;当传感器S2、S5探测到左右均无迷宫挡墙时,全数字微微鼠进入惯性导航模式,此时传感器S2、S5无法为微微鼠伺服系统提供位置参考。一旦进入此状态,方向传感器D1、陀螺仪G1和加速度计A1就显得非常重要,它实时测量微微鼠的加速度和角速度和偏移角度并输送给FPGA,在新的采样周期到来后,FPGA结合光电编码器的反馈和电流传感器C1~C6的反馈生成微调电机的PWM波控制信号,经驱动桥MX118放大后,微微鼠在方向传感器D1、陀螺仪G1和加速度计A1的控制下完成姿态的调整,使其重新回到设定中心位置,使得微微鼠顺利通过无红外导航的迷宫,直至红外传感器S2、S5开启为止。
当微微鼠在方向传感器D1、陀螺仪G1和加速度计A1的控制下运动到新地址时,微处理器将更新其坐标,并判断其坐标是不是(F,F)、(F,10)、(10,F)、(10,10)其中的一个,如果不是将继续更新其坐标,如果是的话通知控制器已到达目标,然后置返航探索标志为1,微微鼠准备返程探索;
12)为了能够实现微微鼠在导航时准确的坐标计算,微微鼠左右的传感器S2和S5会时刻对周围的迷宫挡墙和柱子进行探测,如果S2或者S5发现传感器信号发生了较大数值的跃变,则说明微微鼠进入了从有迷宫挡墙到无迷宫挡墙(或者是从无迷宫挡墙到有迷宫挡墙)状态的变化,STM32F407会根据微微鼠当前运行状态精确补偿,彻底消除微微鼠在复杂迷宫中已经累计的误差。
13)当微微鼠转向时,为了保证旋转的稳定性,FPGA立即使能前中后六轮伺服调节的PWM信号输出,采用六轮同步伺服控制来实现转弯:在前进停车时,由STM32F407结合停车距离、停车时间生成前后左右六轮要运行的距离、速度和加速度指令值,然后与FPGA通讯,FPGA再结合光电编码器反馈、电流传感器反馈以及陀螺仪的反馈生成六路PWM信息控制直流电机X、电机Y、电机R、电机Z、电机U和电机W,完成六轴伺服系统的同步停车控制,然后FPGA禁止控制电机Z、电机R、电机U和电机W的四路PWM波控制信号输出,并使能控制电机X和电机Y的两路PWM波控制信号,然后微微鼠在方向传感器D1、陀螺仪G1和加速度计A1控制下原地旋转需要转弯的角度;在加速前进时,由STM32F407结合加速距离、加速时间生成前后左右六轮要运行的距离、速度和加速度指令值,然后与FPGA通讯,FPGA再结合光电编码器反馈、电流传感器反馈以及陀螺仪的反馈生成六路PWM信息控制直流电机X、电机Y、电机R、电机Z、电机U和电机W,完成六轴伺服系统的同步加速控制。
14)如果微微鼠在导航过程中遇到故障撞墙时,电机X、电机Y、电机Z、电机R、电机U和电机W的电流将增大,当超过设定值时,电流传感器C1~C6采集电路电压将超过设定值,STM32F407将与FPGA通讯,FPGA封锁电机X、电机Y、电机Z、电机R、电机U和电机W的控制信号,进而释放电机X、电机Y、电机Z、电机R、电机U和电机W,从而有效地解决了堵转问题。
15)微微鼠在导航过程会时刻检测电池电压,当系统出现低压时,传感器V1将开启并发出报警提示,有效地保护了锂离子电池。
16)在微微鼠运动过程中,如果系统转矩出现了脉动干扰,FPGA会根据当前状态对电流加以补偿,快速调整其内部三闭环伺服调节器的PID参数,使得系统快速稳定下来,防止转矩脉动对伺服系统性能的影响。
17)在微微鼠整个导航过程中,传感器L1会时刻对外界干扰光源进行采集,然后传输给STM32F407,STM32F407会根据L1的自动补偿外界干扰,减少了外界干扰光源对微微鼠导航伺服控制器的干扰。
17)当双核六轮微微鼠在方向传感器D1、陀螺仪G1和加速度计A1的控制下回到坐标起点(0,0),控制器会根据微微鼠原有的状态更新其信息,如果是第一次返程探索回来,则控制器会根据已有的探测迷宫信息采用改进蚁群算法(Improvedantcolonyalgorithm)求解出最佳路径;如果是冲刺返程探索回来,则控制器会根据更新的探测迷宫信息采用改进蚁群算法(Improvedantcolonyalgorithm)二次求解出最佳路径,然后FPGA根据冲刺速度的大小自动调整电机M的伺服控制,改变真空吸盘对地面的吸附能力,满足快速冲刺时的摩擦需要。
本领域技术人员应当知晓,本发明的保护方案不仅限于上述的实施例,还可以在上述实施例的基础上进行各种排列组合与变换,在不违背本发明精神的前提下,对本发明进行的各种变换均落在本发明的保护范围内。
Claims (9)
1.双核高速六轮全数字导航伺服控制器,其特征是包括底盘,所述底盘上设有电池装置、传感器装置、辅助导航装置、真空抽吸装置和控制单元模块,所述底盘两侧连接运动轮;所述运动轮分为三对,首部、中部、尾部各设有一对;
所述辅助导航装置包括方向传感器D1、陀螺仪G1和加速度计A1;
所述电池装置电连接控制单元模块,所述传感器装置和陀螺仪装置分别信号连接控制单元模块,所述控制单元模块分别信号连接电机X、Y、Z、U、R、W和M;
所述电机X和电机Y分别传动联接中部运动轮,电机Z和电机R传动联接尾部运动轮,电机U和电机W传动联接首部运动轮;所述电机M传动联接真空抽吸装置,所述抽真空装置连接真空吸盘,所述真空吸盘位于底盘底部;
所述传感器装置包括位于底盘两侧的红外传感器S1和S6,位于底盘前端的红外传感器S2和S5,所述传感器S1、S6共同作用判断前方挡墙,传感器S2判断其左边挡墙的存在,传感器S5判断其右边挡墙的存在,同时S2和S5合作为直线运动提供导航依据;
所述控制单元模块包括STM32F407处理器、FPGA处理器、六轴行走伺服控制单元和单轴真空吸附伺服控制单元,所述STM32F407处理器电性连接FPGA处理器,所述六轴行走伺服控制单元信号连接单轴真空吸附伺服控制单元。
2.根据权利要求1所述的双核高速六轮全数字导航伺服控制器,其特征是还包括有电压传感器V1,所述电压传感器V1电连接电池装置,信号连接控制单元模块的STM32F407处理器。
3.根据权利要求1所述的双核高速六轮全数字导航伺服控制器,其特征是还包括光补偿传感器L1,所述光补偿传感器L1信号连接控制单元模块的STM32F407处理器。
4.根据权利要求1所述的双核高速六轮全数字导航伺服控制器,其特征是还包括有电流传感器C1、C2、C3、C4、C5和C6,所述电流传感器C1、C2、C3、C4、C5和C6信号连接STM32F407处理器。
5.根据权利要求1至4中任意一项所述的双核高速六轮全数字导航伺服控制器,其特征是所述FPGA处理器通过I/O端口与STM32F407处理器实时通讯,STM32F407处理器控制FPGA处理器开通和关断。
6.根据权利要求5所述的双核高速六轮全数字导航伺服控制器,其特征是所述电机X、Y、Z、U、R和W为高速永磁直流电机,所述电机M为微型直流电机。
7.根据权利要求1至4中任意一项所述的双核高速六轮全数字导航伺服控制器,其特征是所述红外传感器S1和S2信号发射方向间的夹角为75°~90°角,所述红外传感器S5和S6信号发射方向间的夹角为75°~90°角。
8.一种如权利要求1所述的双核高速六轮全数字导航伺服控制方法,其特征是步骤如下:
1)电压检测:检测电池电压、传感器电路和时钟电路;
2)底盘真空抽吸:STM32F407控制器首先开启真空抽吸直流电机M,通过真空抽吸装置先对真空吸盘抽吸,使真空吸盘对地面具有一定的吸附力,STM32F407控制器实时检测;
3)迷宫行走:判断周围的环境并送给STM32F407,STM32F407把这些环境参数转化为微微鼠左右轮要运行的位置、速度和加速度指令值,并把这些值传输给FPGA,然后FPGA再结合光电编码器的反馈、电流传感器C1~C6的反馈经其内部三闭环伺服系统算法得到驱动六轴直流电机运行的PWM波,并通过驱动桥驱动六个独立直流电机X、Y、Z、U、R和W向前运动;
4)调整纠错:光补偿传感器L1会时刻对外界干扰光源进行采集,然后传输给STM32F407,STM32F407会根据L1的数值自动补偿外界干扰,减少了外界干扰光源对微微鼠快速探索和冲刺时的干扰;
5)坐标检测:装在微微鼠上的电机X、电机Y、电机Z、电机R、电机U和电机W上的光电编码器的位置信号A脉冲、B脉冲和Z脉冲同时为低电平时,就产生一个INDEX信号给FPGA内部寄存器,此数值经内部算法换算为电机的绝对位置,然后换算成微微鼠在迷宫中的具体位置;
6)路径计算:STM32F407根据微微鼠在迷宫的具体位置,送相应的加速度、速度和位置数据指令值给FPGA,然后由FPGA结合光电编码器、电流传感器C1~C6的反馈计算出微微鼠需要更新的实际加速度、速度和位置信号,生成新的速度-时间运动梯形图。
9.根据权利要求8所述的双核高速六轮全数字导航伺服控制方法,其特征是所述迷宫行走的运动过程中,传感器S2和S5会对左右的挡墙进行判断,并记录储存当前迷宫挡墙信息,微微鼠根据前进方向左右挡墙的迷宫信息进入双墙导航模式、单墙导航模式或者惯性导航模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510521174.7A CN105116895A (zh) | 2015-08-24 | 2015-08-24 | 双核高速六轮全数字导航伺服控制器及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510521174.7A CN105116895A (zh) | 2015-08-24 | 2015-08-24 | 双核高速六轮全数字导航伺服控制器及其控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105116895A true CN105116895A (zh) | 2015-12-02 |
Family
ID=54664913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510521174.7A Pending CN105116895A (zh) | 2015-08-24 | 2015-08-24 | 双核高速六轮全数字导航伺服控制器及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105116895A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060238156A1 (en) * | 2005-04-25 | 2006-10-26 | Lg Electronics Inc. | Self-moving robot capable of correcting movement errors and method for correcting movement errors of the same |
CN201886351U (zh) * | 2010-10-25 | 2011-06-29 | 陕西科技大学 | 一种用于迷宫冲刺的电脑鼠 |
CN103472830A (zh) * | 2013-09-16 | 2013-12-25 | 苏州工业园区职业技术学院 | 基于双核两轮微电脑鼠超快速探索控制器 |
CN103472837A (zh) * | 2013-09-16 | 2013-12-25 | 苏州工业园区职业技术学院 | 一种基于双核两轮微电脑鼠快速冲刺控制器 |
CN103472832A (zh) * | 2013-09-16 | 2013-12-25 | 苏州工业园区职业技术学院 | 基于双核两轮微电脑鼠全数字伺服控制器 |
CN204086988U (zh) * | 2014-09-05 | 2015-01-07 | 西安建筑科技大学 | 一种用于迷宫解算的迷宫机器鼠系统 |
CN104648510A (zh) * | 2013-11-20 | 2015-05-27 | 苏州科沃斯商用机器人有限公司 | 可增大摩擦力的吸盘及吸附式自移动装置 |
-
2015
- 2015-08-24 CN CN201510521174.7A patent/CN105116895A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060238156A1 (en) * | 2005-04-25 | 2006-10-26 | Lg Electronics Inc. | Self-moving robot capable of correcting movement errors and method for correcting movement errors of the same |
CN201886351U (zh) * | 2010-10-25 | 2011-06-29 | 陕西科技大学 | 一种用于迷宫冲刺的电脑鼠 |
CN103472830A (zh) * | 2013-09-16 | 2013-12-25 | 苏州工业园区职业技术学院 | 基于双核两轮微电脑鼠超快速探索控制器 |
CN103472837A (zh) * | 2013-09-16 | 2013-12-25 | 苏州工业园区职业技术学院 | 一种基于双核两轮微电脑鼠快速冲刺控制器 |
CN103472832A (zh) * | 2013-09-16 | 2013-12-25 | 苏州工业园区职业技术学院 | 基于双核两轮微电脑鼠全数字伺服控制器 |
CN104648510A (zh) * | 2013-11-20 | 2015-05-27 | 苏州科沃斯商用机器人有限公司 | 可增大摩擦力的吸盘及吸附式自移动装置 |
CN204086988U (zh) * | 2014-09-05 | 2015-01-07 | 西安建筑科技大学 | 一种用于迷宫解算的迷宫机器鼠系统 |
Non-Patent Citations (1)
Title |
---|
PETER HARRISON: "《Minos 2015 Presentations》", 《MICROMOUSE ONLINE》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105334853A (zh) | 双核高速四轮微微鼠冲刺控制器 | |
CN105137975A (zh) | 六轮双核全自动高速灭火机器人伺服控制器 | |
CN105159325A (zh) | 一种基于stm32f407和fpga两轮高速灭火机器人伺服控制器 | |
CN105005249A (zh) | 一种全自动四轮双核高速灭火机器人伺服控制器 | |
CN105116897A (zh) | 双核高速四轮微微鼠全数字导航伺服控制器 | |
CN105045289A (zh) | 一种单轮全自动高速灭火机器人伺服控制系统 | |
CN103472840A (zh) | 基于arm9四轮微电脑鼠探索控制器 | |
CN105169610A (zh) | 基于两轮高速全自动灭火机器人的双核伺服控制系统 | |
CN105137983A (zh) | 双核高速两轮微微鼠冲刺控制器及其控制方法 | |
CN105045288A (zh) | 一种单轮全自动中速灭火机器人伺服控制系统 | |
CN105137988A (zh) | 单核低速两轮微微鼠全数字导航伺服控制器及控制方法 | |
CN103529846B (zh) | 基于双核四轮高速微电脑鼠连转冲刺伺服系统 | |
CN105204502A (zh) | 双核中速六轮微微鼠探索控制器及其控制方法 | |
CN105137979A (zh) | 双核中速六轮微微鼠冲刺控制器及其控制方法 | |
CN105116891A (zh) | 双核中速两轮微微鼠冲刺控制器及其控制方法 | |
CN105116898A (zh) | 单核低速两轮微微鼠冲刺控制器 | |
CN105302133A (zh) | 单核低速六轮微微鼠全数字导航伺服系统控制器 | |
CN105137978A (zh) | 双核高速四轮微微鼠探索控制器 | |
CN105116896A (zh) | 单核低速六轮微微鼠探索控制器 | |
CN105137991A (zh) | 单核低速两轮微微鼠探索控制器 | |
CN105068558A (zh) | 一种单轮双核高速灭火机器人伺服控制系统 | |
CN105137981A (zh) | 单核低速四轮微微鼠探索控制器及其控制方法 | |
CN105137982A (zh) | 单核低速四轮微微鼠冲刺控制器及其控制方法 | |
CN105320147A (zh) | 一种单轮双核中低速灭火机器人伺服控制系统 | |
CN105137985A (zh) | 双核中速四轮微微鼠探索控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151202 |
|
RJ01 | Rejection of invention patent application after publication |