本发明涉及到智能跟随机器人的技术领域,具体来说是一套基于人体动态行为追踪的智能跟随机器人系统和方法,该系统是基于单片机和传感器的无线传输控制系统,主要分为三部分:动态行为分析系统、无线传输系统与运动控制系统。动态行为分析系统主要是利用陀螺仪传感器获得人体运动的三维方向参数,同时设置超声波测距模块;无线传输系统利用蓝牙模块的数据通信协议进行串口通信,进行数据的发送与接收;运动控制系统主要是利用PWM调速、PID速度反馈和超声波测距等模块,控制小车的机械特性如速度、转向等。这样就构成了一套完整的智能跟随机器人系统和方法。
背景技术:
随着科技的进步与智能化技术的普及,机器人领域技术得到了突飞猛进的发展,无论是工业机器人还是服务机器人都得到了空前的关注,机器人已经不再只是存在于科幻电影当中,而是慢慢渗透我们的生活,进入万千家庭当中。当前越来越多的孩子开始把兴趣由传统玩具转向智能化玩具,这样既符合孩子爱玩的天性,又可以培养孩子产生科技方面的爱好。本设计应用扩展性较强,可以将外形进行加工,制成跟随宠物。同时,也可做成小型跟随行李箱,满足那些因外出旅行或出差苦恼行李太多的人群。
当前定位技术主要有以下几种:1.传感器定位。2.蓝牙三角定位技术。3.激光定位。其中应用最多的是传感器定位技术,通过将陀螺仪传感器和超声波传感器获得方位数据和距离数据进行建模,获得空间中物体与人之间的相对位置。蓝牙三角定位技术是在跟随机器人装两个蓝牙模块(假定为A和B),且A和B之间的距离已知,用户身上安装一个蓝牙模块C,通过测量蓝牙模块之间信号强度的衰减来标定两蓝牙模块之间的距离,以实现定位的效果。激光定位方案则通过激光传感器向前方发射一束射线,根据射线发出返回的时间差来计算跟随机器人与用户之间的距离,根据发射激光的角度来确定跟随机器人与用户的相对位置。
技术实现要素:
本发明的目的在于针对服务机器人在市场上的需求,提供一种基于人体动态行为追踪的智能跟随机器人系统和方法,可将其运用到服务机器人领域,生产出满足市场需求的服务机器人等,给人们的生活带来便利。
为达到上述目的,本发明的构思是:
1.建立以单片机为核心的人体行为检测装置和跟随机器人,当附着在人身上的人体行为检测装置计算出用户的转向信息后,将这些信息通过蓝牙模块无线发送至机器人的K22单片机,单片机接收到信息后通过舵机控制机器人的转向,通过电机更改机器人的行进速度,以实现实时跟随的效果。人体行为检测装置和机器人两子系统组成部分如下:
2.人体行为检测装置:由STM32单片机及其核心板、陀螺仪模块、精密超声波测距模块和蓝牙模块组成。该装置以STM32单片机为核心处理单元,负责接收数据以及发送指令;陀螺仪模块负责检测人体运动过程中的姿态角信息,超声波测距模块负责计算人体行为检测装置与机器人之间的距离。
3.机器人部分:以Freecars公司的车模为载体,MK22单片机及其核心板,超声波模块、蓝牙模块组成。该部分以MK22单片机为核心处理单元,负责接收和处理数据,并向各模块发送指令;蓝牙模块用于实现无线传输数据的功能;超声波模块与人体行为检测装置的超声波模块配对使用,负责测量人体与机器人之间的距离。
4.获取人体姿态角信息,首先通过陀螺仪模块获取原始数据,之后经过卡尔曼滤波算法等进行处理,便得到了人体转向角度的数据。
5.获取人体与机器人之间的距离数据。为获取此数据,本系统采用的是精密超声波测距模块,该模块由发送部分和接收部分组成,分别安装在附着在人身上的人体行为检测装置和机器人部分,开始运行后,接收装置会不断向单片机输送50HZ的方波,高电平脉冲的宽度即人体与机器人之间距离所对应的声波传送的时间,运用单片机的定时器来计算出此时间数据,在均值滤波处理之后,乘以声波的速度,即得到了人体与机器人之间的距离。
6.控速处理,当机器人遇到不同的路况时,会因地面摩擦力的不同导致行进速度偏离预设速度,导致跟随效果不稳定,故需要对机器人进行控速处理。通过编码器对电机轮转数进行计数,并将其保存到单片机中,之后运用闭环增量式PID算法进行处理,使机器人的速度稳定在预设速度值。
7.远程数据通信的实现。本系统采用蓝牙模块实现无线数据传输的功能,蓝牙模块分为主机和从机两个子模块;其中主机和人体行为检测装置中的STM32单片机进行连接,从机则与机器人部分的MK22单片机进行连接,通过串口数据传送通道实现远程无线数据传输的功能。
根据上述发明构思,本发明的技术方案是:
一种基于人体动态行为追踪的智能跟随机器人系统,包括动态行为分析系统(Ⅰ)经无线传输系统(Ⅱ)连接运动控制系统(Ⅲ),其特征在于动态行为分析系统(Ⅰ)实时读取人体行为参数,通过无线传输系统(Ⅱ)实时且高效地将人体行为参数传递给运动控制系统(Ⅲ),人体行为参数被接收处理转化为机械参数从而来控制智能跟随机器人的小车机械运动;
所述动态行为分析系统(Ⅰ)由一个陀螺仪(1)和一个超声波测距模块A(2)连接一个STM32单片机(3)构成,陀螺仪(1)需要将感应到的参数传递给STM32单片机(3),超声波测距模块A(2)需由STM32单片机(3)供电;
所述无线传输系统(Ⅱ)由一个蓝牙设备A—主机(4)连接一个蓝牙设备B—从机(5)构成,蓝牙设备A—主机(4)连接动态行为分析系统(Ⅰ)中的STM32单片机(3),主要负责传送人体动态行为追踪时获取的人体行为参数,蓝牙设备B—从机(5)连接运动控制系统(Ⅲ)中的一个MK22单片机(6),主要负责接收从蓝牙设备A—主机(4)传递过来的人体行为参数和发送这些参数给MK22单片机(6);
所述运动控制系统(Ⅲ)由所述MK22单片机(6)连接一个超声波测距模块B(7)、一个前轮舵机(8)和一个后轮电机(9)构成,MK22单片机(6)连接蓝牙设备B—从机(5)、超声波测距模块B(7)、前轮舵机(8)和后轮电机(9),主要是对其进行供电和接收、处理和发送数据。
一种基于人体动态行为追踪的智能跟随机器人方法,采用上述的基于人体动态行为追踪的智能跟随机器人系统进行操作,其特征在于具体的操作步骤如下:
①动态行为分析系统(Ⅰ)和无线传输系统(Ⅱ)中的蓝牙设备A—主机(4)由人体携带,无线传输系统(Ⅱ)中的蓝牙设备B—从机(5)和运动控制系统(Ⅲ)由智能跟随机器人小车携带;
②动态行为分析系统(Ⅰ)由人体随身携带,当人体有身体转向变化时,陀螺仪(1)通过感应人体的自由空间移动,获取到人体转向的姿态参数,将该参数通过接口传递给STM32单片机(3);
③STM32(3)单片机对陀螺仪(1)接口传送过来的角度数据进行处理与运算,提取出三维空间中表示人体转向角度的数据,通过串口数据传输通道将此数据传送给蓝牙设备A—主机(4)的接收RX端;蓝牙设备A—主机(4)通过蓝牙数据传输协议将数据传输给蓝牙设备B—从机(5),蓝牙设备B—从机(5)通过发送TX接口将数据传送给MK22单片机(6),从而完成了人和智能跟随机器人小车的角度数据实时无线传输部分;
④MK22单片机(6)接收数据并进行处理,将其转换为适合智能跟随机器人小车状态改变的机械参数值,再通过接口将人体转向角度等效值传递给前轮舵机(8),从而控制前轮的转动方向与转动角度;
⑤智能跟随机器人小车携带的超声波测距模块B(7)发送超声波,当人体携带的超声波测距模块A(2)接收到信号时会反射回给超声波测距模块B(7),超声波测距模块B(7)接收信号并产生一个脉冲波通过接口传递给MK22单片机(6),MK22单片机(6)处理数据计算出人机距离传递给后轮电机(9),从而控制后轮电机(9)的速度大小。
所述的步骤③④即设计陀螺仪感应角度来控制前轮舵机(8)的过程,具体方法如下:
人体携带的陀螺仪(1)根据人体的动向获取一系列人体动态行为参数,并传送给STM32单片机(3)进行数据处理,提取出三维空间中表示人体转向角度的Z轴变化角度,利用设置标识符的方法拼接字符串,以便之后提取出某个瞬时角度,STM32单片机(3)通过串口数据传输通道将此字符串发送给蓝牙设备A—主机(4);
蓝牙设备A—主机(4) 将拼接好的字符串数据传递给蓝牙设备B—从机(5),MK22单片机(6)再通过串口数据传输通道接收此数据,计算陀螺仪(1)当前角度与上一次角度的差值,判断是否大于0来决定PWM值的增减,最后利用PWM原理控制前轮舵机(8)的转动方向和转动角度。
所述的步骤⑤即设计利用超声波测距模块检测人与小车的距离从而控制后轮电机(9)的过程,智能跟随机器人小车上的超声波测距模块B(7)将接收到的脉冲信号传送给MK22单片机(6),在单片机上利用定时器中断计算出一个高电平脉冲的时间,从而计算出人与小车的距离,使用增量式PID控速算法调节后轮电机的速度以维持一个稳定的状态;在此部分中对数据进行了均值滤波处理,减少了误差,提高了数据的精度。
本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著技术进步:
1.相比起市面上所使用的传统8位的8051单片机,本系统所使用STM32单片机和MK22单片机均为32位单片机,可同时处理32位的数据,数据处理能力大大提升。同时具有四路串口数据传输通道,16路A/D转换通道等,资源十分丰富,对于将来扩展本系统功能是十分有益的。
2.针对于测量距离这一功能,大多数超声波模块测量角度仅为90°左右,当两超声波模块的发射管与接收器之间的角度差大于90°后,数据就会丢失,严重影响系统的稳定性。本系统采用的超声波模块测量角度可达180°,增加了系统的稳定性,同时测量精度<1mm,增加了跟随的精确性。
3.在进行控速处理时,通过编码器对车模后轮的轮转数进行计数,并保存在单片机中,之后使用增量式PID算法计算出实际速度值,在此过程中需要不断地调试PID参数以获得能使实际速度稳定在预设速度值的PID参数。相比起机器人开环行进,本系统使用的控速处理大大提升了系统的稳定性,使得机器人在摩擦力不同的地方做跟随处理时仍能稳定的维持在预设速度值。
附图说明
图1是本发明整体结构框图。
图2是本发明整体程序框图。
图3是人体姿态角检测装置程序框图。
图4是跟随机器人程序框图。
具体实施方式
本发明的优选实施例结合附图浅述如下:
实施例一:
参见图1,一种基于人体动态行为追踪的智能跟随机器人系统,包括动态行为分析系统(Ⅰ)经无线传输系统(Ⅱ)连接运动控制系统(Ⅲ),其特征在于动态行为分析系统(Ⅰ)实时读取人体行为参数,通过无线传输系统(Ⅱ)实时且高效地将人体行为参数传递给运动控制系统(Ⅲ),人体行为参数被接收处理转化为机械参数从而来控制智能跟随机器人的小车机械运动;
所述动态行为分析系统(Ⅰ)由一个陀螺仪(1)和一个超声波测距模块A(2)连接一个STM32单片机(3)构成,陀螺仪(1)需要将感应到的参数传递给STM32单片机(3),超声波测距模块A(2)需由STM32单片机(3)供电;
所述无线传输系统(Ⅱ)由一个蓝牙设备A—主机(4)连接一个蓝牙设备B—从机(5)构成,蓝牙设备A—主机(4)连接动态行为分析系统(Ⅰ)中的STM32单片机(3),主要负责传送人体动态行为追踪时获取的人体行为参数,蓝牙设备B—从机(5)连接运动控制系统(Ⅲ)中的一个MK22单片机(6),主要负责接收从蓝牙设备A—主机(4)传递过来的人体行为参数和发送这些参数给MK22单片机(6);
所述运动控制系统(Ⅲ)由所述MK22单片机(6)连接一个超声波测距模块B(7)、一个前轮舵机(8)和一个后轮电机(9)构成,MK22单片机(6)连接蓝牙设备B—从机(5)、超声波测距模块B(7)、前轮舵机(8)和后轮电机(9),主要是对其进行供电和接收、处理和发送数据。
实施例二:
参见图2,一种基于人体动态行为追踪的智能跟随机器人方法,采用上述的基于人体动态行为追踪的智能跟随机器人系统进行操作,其特征在于具体的操作步骤如下:
①动态行为分析系统(Ⅰ)和无线传输系统(Ⅱ)中的蓝牙设备A—主机(4)由人体携带,无线传输系统(Ⅱ)中的蓝牙设备B—从机(5)和运动控制系统(Ⅲ)由智能跟随机器人小车携带;
②动态行为分析系统(Ⅰ)由人体随身携带,当人体有身体转向变化时,陀螺仪(1)通过感应人体的自由空间移动,获取到人体转向的姿态参数,将该参数通过接口传递给STM32单片机(3);
③STM32(3)单片机对陀螺仪(1)接口传送过来的角度数据进行处理与运算,提取出三维空间中表示人体转向角度的数据,通过串口数据传输通道将此数据传送给蓝牙设备A—主机(4)的接收RX端;蓝牙设备A—主机(4)通过蓝牙数据传输协议将数据传输给蓝牙设备B—从机(5),蓝牙设备B—从机(5)通过发送TX接口将数据传送给MK22单片机(6),从而完成了人和智能跟随机器人小车的角度数据实时无线传输部分;
④MK22单片机(6)接收数据并进行处理,将其转换为适合智能跟随机器人小车状态改变的机械参数值,再通过接口将人体转向角度等效值传递给前轮舵机(8),从而控制前轮的转动方向与转动角度;
⑤智能跟随机器人小车携带的超声波测距模块B(7)发送超声波,当人体携带的超声波测距模块A(2)接收到信号时会反射回给超声波测距模块B(7),超声波测距模块B(7)接收信号并产生一个脉冲波通过接口传递给MK22单片机(6),MK22单片机(6)处理数据计算出人机距离传递给后轮电机(9),从而控制后轮电机(9)的速度大小。
参见图3、图4,所述的步骤③④即设计陀螺仪感应角度来控制前轮舵机(8)的过程,具体方法如下:
①人体携带的陀螺仪(1)根据人体的动向获取一系列人体动态行为参数,并传送给STM32单片机(3)进行数据处理,提取出三维空间中表示人体转向角度的Z轴变化角度,利用设置标识符的方法拼接字符串,以便之后提取出某个瞬时角度,STM32单片机(3)通过串口数据传输通道将此字符串发送给蓝牙设备A—主机(4);
②蓝牙设备A—主机(4)将拼接好的字符串数据传递给蓝牙设备B—从机(5),MK22单片机(6)再通过串口数据传输通道接收此数据,计算陀螺仪(1)当前角度与上一次角度的差值,判断是否大于0来决定PWM值的增减,最后利用PWM原理控制前轮舵机(8)的转动方向和转动角度。
参见图4,所述的步骤⑤即设计利用超声波测距模块检测人与小车的距离从而控制后轮电机(9)的过程,智能跟随机器人小车携带的超声波测距模块B(7)将接收到的脉冲信号传送给MK22单片机(6),在该单片机上利用定时器中断计算出一个高电平脉冲的时间,从而计算出人与小车的距离,使用增量式PID控速算法调节后轮电机的速度以维持一个稳定的状态;在此部分中对数据进行了均值滤波处理,减少了误差,提高了数据的精度。
实施例三:
基于人体动态行为追踪的智能跟随机器人系统和方法不仅跟随效果稳定而且性价比较高。本实施例可分为硬件设计和软件设计两个阶段,详细步骤如下:
1.硬件设计
本驱动电路主要由HIP4082驱动芯片、LR7843 MOS管、电阻、电容、二极管等构成。釆用经典的直流电机H桥驱动电路,性能稳定可靠,整个电路使用12V的输入电压,经驱动后,在直流电机接入端可得到500mA左右的电流,7V左右的电压差,经检验对飞思卡尔B车模电机的驱动效果良好。H桥驱动电路因外形酷似一个大写的字母“H”而得名,4个MOS管组成H的4条垂直腿,而电机就是H中的横杠,要使电机运转必须导通对角线上的一对MOS管,根据不同MOS管对的导通情况,电流可能从左至右或从右至左流过电机,从而控制电机的转向。
2.软件设计
2.1增量式PID处理
机器人以小车为载体来实现移动的功能,通过电机的转动带动车轮的转动,通过给电机赋予PWM值来控制车速,但是小车在行进过程中,地面摩擦力或者长坡的阻力会使得小车移动速度大大降低,无法按照固定的速度前进。针对此情况,本设计采用增量式闭环控制算法来使得车轮维持固定的速度前进,增量式PID是指数字控制器的输出只是控制量的增量Δu(k)。采用增量式算法时,计算机输出的控制量Δu(k)对应的是本次执行机构位置的增量,而不是对应执行机构的实际位置,因此要求执行机构必须具有对控制量增量的累积功能,才能完成对被控对象的控制操作。执行机构的累积功能可以采用硬件的方法实现;也可以采用软件来实现。增量式PID公式如下:
2.2陀螺仪数据与滤波处理
由于外界环境的影响,陀螺仪测得的姿态角数据和超声波模块测得的距离数据会产生小范围的波动。针对这种情况,我们采用均值滤波的方式使其数据变得平滑,从而使系统趋于稳定。