发明名称 基于双核四轮微电脑鼠超快速探索控制器
摘要 本发明公开了一种基于双核四轮微电脑鼠快速探索控制器,所述探索控制器包括FPGA处理器、ARM处理器、电压传感器、光电补偿传感器、至少六个蔽障传感器和四个运动控制系统,所述FPGA处理器与每一个所述运动控制系统电性连接,所述ARM处理器分别与电压传感器、光电补偿传感器和每一个蔽障传感器电性连接。通过上述方式,本发明同时采用双核协同工作处理数据,运算速度较快,避免了大电流的产生;采用四轮驱动结构,可依据迷宫地面和周围环境状态不同而将需求扭矩按不同比例分布在前后所有的轮子上,转弯方便,稳定性较好,提高了微电脑鼠的行驶能力。
申请公布号 CN103472831B 申请公布日期 2016.08.03
申请号 CN201310418352.4 申请日期 2013.09.16
申请人 苏州工业园区职业技术学院 发明人 张好明;王应海
分类号 G05D1/02(2006.01)I;G05B19/042(2006.01)I 主分类号 G05D1/02(2006.01)I
代理机构 苏州广正知识产权代理有限公司 32234 代理人 刘述生
主权项  一种基于双核四轮微电脑鼠超快速探索控制器,应用于微电脑鼠中,其特征在于,所述基于双核四轮微电脑鼠超快速探索控制器包括FPGA处理器、ARM处理器、电压传感器、光电补偿传感器、至少六个蔽障传感器和四个运动控制系统,所述FPGA处理器与每一个所述运动控制系统电性连接,所述ARM处理器分别与FPGA处理器、电压传感器、光电补偿传感器和每一个蔽障传感器电性连接,所述基于双核四轮微电脑鼠超快速探索控制器的工作原理为:1)对于基于双核四轮微电脑鼠超快速探索控制器,先把微电脑鼠放在迷宫起始点,在电源打开状态下,微电脑鼠先进入自锁状态,然后微电脑鼠依靠前方、左右侧面蔽障传感器S1、S2、S3、S4、S5 、S6开始探索未知迷宫,传感器把实际导航环境传输参数给基于双核四轮微电脑鼠超快速探索控制器中的ARM9,ARM9把这些环境参数转化为微电脑鼠运动的位置、速度和加速度参数指令值,然后与FPGA通讯,FPGA结合外部的光电编码器和电流传感器的反馈信息生成四轴直流电机伺服系统的PWM波形和控制方向信号,并把处理数据通讯给ARM9,由ARM9继续处理后续探索的运行状态;2)在微电脑鼠未接到探索命令之前,它一般会在起点坐标(0,0)等待基于双核四轮微电脑鼠超快速探索控制器发出的探索命令,一旦接到任务后,会沿着起点开始向终点(7,7)、(7,8)、(8,7)、(8,8)探索;3)微电脑鼠放在起点坐标(0,0),接到任务后其前方的传感器S1、S6和会对前方的环境进行判断,确定有没有挡墙进入运动范围,如存在挡墙将向ARM9发出中断请求,ARM9会对中断做第一时间响应,如果ARM9的中断响应没有来得及处理,微电脑鼠的四个电机X、电机Y、电机Z和电机R将原地自锁,然后二次判断迷宫确定前方信息,防止信息误判;确定无误后,二次启动探索命令;4)在微电脑鼠正常探索加速启动瞬间,ARM9立即通过FPGA使能前轴和后轴的四个直流电机,把微电脑鼠需求扭矩平均分配到四个电机,然后通过按照既定的速度‑时间运动梯形图由FPGA结合光电编码器和电流传感器反馈信号生成四轴同步PWM波形,驱动微电脑鼠在预定的加速距离S1范围内加速至设定的直线探索速度,完成微电脑鼠的加速,然后ARM9立即通过FPGA释放前轴的两个直流电机,系统进入两轮驱动状态;5)在微电脑鼠沿着Y轴向前运动,在任何一个方格的中心如果确定没有迷宫挡墙进入前方的运动范围,则微电脑鼠将存储其坐标(X,Y),并把向前运动一格的位置参数传输给ARM9,然后ARM9会把此参数按照时间要求转化为位置参数、速度参数以及加速度参数指令值,然后通过中断控制把这些参考指令值传输给FPGA,FPGA使能后驱的电机X和电机Y,FPGA根据这些参数结合光电编码盘和电流传感器的反馈生成电机X和电机Y的PWM波形和方向信号,经驱动桥控制左右轮的电机X和电机Y向前运动,并记录下时刻运动的距离S;如果在探索运动过程中,出现打滑或者是灰尘较多的状况时, ARM9把剩余的距离转化为新的参考指令值传输给FPGA,FPGA使能四个电机,内部的梯形运动发生器会根据这些参数结合光电编码盘和电流传感器的反馈生成驱动前后左右四轮的PWM波形和方向信号,经驱动桥控制前后左右轮的电机X、电机Y、电机Z和电机R向前运动,当到达设定目标时,将更新其坐标为(X,Y+1),在Y+1<15的前提下,判断其坐标是不是(7,7)、(7,8)、(8,7)、(8,8)其中的一个,如果不是将继续更新其坐标,如果是的话通知基于双核四轮微电脑鼠超快速探索控制器已经搜索到目标,然后置返航探索标志为1,微电脑鼠准备返程探索;6)在微电脑鼠沿着Y轴向前运动过程中如果有迷宫挡墙进入前方的运动范围,并且此时左右的传感器S2、S3、S4、S5判断左右都有挡墙时,微电脑鼠将存储此时坐标(X,Y),根据传感器S1和S6的反馈计算出向前运动停车的位置参数S1,并把向前运动停止的位置参数S1传输给ARM9,然后ARM9会把此参数按照时间要求转化为位置参数、速度参数以及加速度参数传输给FPGA作为指令值,FPGA使能前驱和后驱的四个电机,系统进入四驱系统;FPGA内部的梯形运动发生器会根据这些参数结合光电编码器和电流传感器的反馈生成驱动前后左右四轮的PWM波形和方向信号,控制前后左右四轮的电机X、电机Y、电机Z和电机R在预定距离里准确停车;然后ARM9使能FPGA,使其发出的PWM信号控制左侧的电机正转,右侧的电机反转,微电脑鼠在陀螺仪的控制下原地调转180度,然后微电脑鼠沿着Y轴反向运动;在其Y轴反向运动过程中,把向前运动一格的位置参数传输给ARM9,然后ARM9会把此参数按照时间要求转化为速度参数以及加速度参数传输给FPGA,FPGA内部的梯形运动发生器会根据这些参数结合光电编码器和电流传感器的反馈生成驱动前后左右四轮的PWM波形,控制前后左右轮的电机X、电机Y、电机Z和电机R向Y轴反向运动,当达到设定探索速度时,FPGA会释放前驱的电机Z和电机R,系统进入两驱系统,有后驱的电机X和电机Y驱动微电脑鼠前进,当到达设定目标时,将更新其坐标为(X,Y‑1),在确定Y‑1>0的前提下,判断其坐标是不是(7,7)、(7,8)、(8,7)、(8,8)其中的一个,如果不是将继续更新其坐标,如果是的话通知基于双核四轮微电脑鼠超快速探索控制器已经搜索到目标,然后置返航探索标志为1,微电脑鼠准备返程探索;7)在微电脑鼠沿着Y轴向前运动过程中如果有迷宫挡墙进入前方的运动范围,并且此时左右的传感器S2、S3、S4、S5判断左方都有挡墙时,微电脑鼠将存储此时坐标(X,Y),根据传感器S1和S6的反馈计算出向前运动停车的位置参数S1,并把向前运动停止的位置参数S1传输给ARM9,然后ARM9会把此参数按照时间要求转化为位置参数、速度参数以及加速度参数传输给FPGA作为指令值,FPGA使能前驱和后驱的四个电机,系统进入四驱系统;FPGA内部的梯形运动发生器会根据这些参数结合光电编码器和电流传感器的反馈生成驱动前后左右四轮的PWM波形和方向信号,控制前后左右四轮的电机X、电机Y、电机Z和电机R在设定距离内停车;然后ARM9使能FPGA,使其发出的PWM信号控制左侧的电机正转,右侧的电机反转,微电脑鼠在陀螺仪的控制下原地向右调转90度,然后沿着X轴正向运动;在其X轴正向运动过程中,把向前运动一格的位置参数传输给ARM9,然后ARM9会把此参数按照时间要求转化为速度参数以及加速度参数传输给FPGA,FPGA内部的梯形运动发生器会根据这些参数结合光电编码器和电流传感器的反馈生成驱动前后左右四轮的PWM波形,控制前后左右轮的电机X、电机Y、电机Z和电机R向X轴正向运动,当达到设定探索速度时,FPGA会释放前驱的电机Z和电机R,系统进入两驱系统,有后驱的电机X和电机Y驱动微电脑鼠前进,当到达设定目标时,将更新其坐标为(X+1,Y),在确定X+1<15的前提下,判断其坐标是不是(7,7)、(7,8)、(8,7)、(8,8)其中的一个,如果不是将继续更新其坐标,如果是的话通知基于双核四轮微电脑鼠超快速探索控制器已经搜索到目标,然后置返航探索标志为1,微电脑鼠准备返程探索;8)在微电脑鼠沿着Y轴向前运动过程中如果有迷宫挡墙进入前方的运动范围,并且此时左右的传感器S2、S3、S4、S5判断右方都有挡墙时,微电脑鼠将存储此时坐标(X,Y),根据传感器S1和S6的反馈计算出向前运动停车的位置参数S1,并把向前运动停止的位置参数S1传输给ARM9,然后ARM9会把此参数按照时间要求转化为位置参数、速度参数以及加速度参数传输给FPGA作为指令值,FPGA使能前驱和后驱的四个电机,系统进入四驱系统;FPGA内部的梯形运动发生器会根据这些参数结合光电编码器和电流传感器的反馈生成驱动前后左右四轮的PWM波形和方向信号,控制前后左右四轮的电机X、电机Y、电机Z和电机R在设定距离内停车;然后ARM9使能FPGA,使其发出的PWM信号控制左侧的电机正转,右侧的电机反转,微电脑鼠在陀螺仪的控制下原地向左调转90度,然后沿着X轴反向运动;在其X轴反向运动过程中,把向前运动一格的位置参数传输给ARM9,然后ARM9会把此参数按照时间要求转化为速度参数以及加速度参数传输给FPGA,FPGA内部的梯形运动发生器会根据这些参数结合光电编码器和电流传感器的反馈生成驱动前后左右四轮的PWM波形,控制前后左右轮的电机X、电机Y、电机Z和电机R向X轴正向运动,当达到设定探索速度时,FPGA会释放前驱的电机Z和电机R,系统进入两驱系统,有后驱的电机X和电机Y驱动微电脑鼠前进,当到达设定目标时,将更新其坐标为(X‑1,Y),在确定X‑1>0的前提下,判断其坐标是不是(7,7)、(7,8)、(8,7)、(8,8)其中的一个,如果不是将继续更新其坐标,如果是的话通知基于双核四轮微电脑鼠超快速探索控制器已经搜索到目标,然后置返航探索标志为1,微电脑鼠准备返程探索;9)当微电脑鼠到达(7,7)、(7,8)、(8,7)、(8,8)准备返程探索时,基于双核四轮微电脑鼠超快速探索控制器会调出其已经存储的迷宫,然后计算出可能存在的最佳路径,然后返程开始进入其中认为最优的一条;10)在微电脑鼠进入迷宫正常返航运行时,用于导航的传感器S1、S2、S3、S4、S5、S6将工作,并把反射回来的光电信号送给ARM9,经ARM9判断后送给FPGA,由FPGA运算后与ARM9进行通讯,然后由基于双核四轮微电脑鼠超快速探索控制器送控制信号给导航的电机X和电机Y进行确定:如果进入已经搜索的区域将进行快速前进,如果是未知返回区域则采用正常速度搜索,并时刻更新其坐标(X,Y),并判断其坐标是不是(0,0),如果是的话置返航探索标志为0,微电脑鼠进入冲刺阶段,并置冲刺标志为1;11)为了能够实现微电脑鼠准确的坐标计算功能,在高速直流电机X、电机Y、电机Z和电机R上加入了512线的光电编码器,时刻对小车运行的距离进行计算并根据迷宫挡墙和柱子对传感器反馈信息不同的特点引入了补偿,使得微电脑鼠的坐标计算不会出现错误;12)在微电脑鼠运行过程中,ARM9会对电机的转矩进行在线辨识,当电机的转矩受到外界干扰出现较大抖动时,基于双核四轮微电脑鼠超快速探索控制器会利用电机力矩与电流的关系进行时候补偿,减少了电机转矩抖动对微电脑鼠快速探索的影响,保证了探索时迷宫的准确性;13)微电脑鼠在探索过程会时刻检测电池电压,当系统出现低压时,传感器S7将开启并发出报警提示,有效地保护了锂离子电池;14)在微电脑鼠整个探索运动过程中,传感器S8会时刻对外界干扰光源进行采集,然后传输给ARM9,ARM9会根据S8的自动补偿外界干扰,减少了外界干扰光源对微电脑鼠快速探索伺服系统的干扰;15)如果微电脑鼠在探索过程中遇到故障撞墙时,电机的电流将增大,当超过设定值时,FPGA的中断命令将会向ARM9发出中断请求,此时ARM9会立即控制FPGA停止工作,从而有效地解决了堵转问题;16)当微电脑鼠完成整个探索过程回到起始点(0,0),ARM9将响应FPGA的四个中断响应控制四个电机同时减速使微电脑鼠中心点停车,然后重新调整FPGA的四路PWM波输出,使得两侧的电机:电机X、电机Z和电机Y、电机R以相反的方向运动,并在陀螺仪的控制下原地旋转180度,然后停车1秒,调取迷宫信息,然后根据算法算出最优冲刺路径,然后置冲刺标志为1,系统进入快速冲刺阶段。
地址 215123 江苏省苏州市工业园区独墅湖高等教育区若水路1号