基于GPS定位的移动机器人导航控制方法与流程

文档序号:16606390发布日期:2019-01-14 21:05阅读:822来源:国知局
基于GPS定位的移动机器人导航控制方法与流程

本发明涉及移动机器人控制技术,具体涉及一种基于gps定位的移动机器人导航控制方法。



背景技术:

随着科学技术的不断进步,机器人的应用越来越广泛,几乎渗透到各个领域。在机器人控制领域中,移动机器人的导航控制是至关重要的一部分。企业产品设计和高校机器人控制实验都是以移动机器人的导航控制为基础,例如大型变电站的智能巡检机器人,智能汽车自动驾驶技术等等。现有的导航控制方法技术门槛高,实现比较困难,需要耗费大量的人力物力,而高校实验教学对导航精度要求不高,采用现有的导航控制技术会浪费资源。



技术实现要素:

本发明的目的在于提供一种基于gps定位的移动机器人导航控制方法,容易实现,适用于高校实验教学使用。

实现本发明目的的技术解决方案为:一种基于gps定位的移动机器人导航控制方法,包括如下步骤:

步骤1、获取机器人当前定位、机器人车头方向角和目标点定位;

步骤2、根据机器人当前定位和目标点定位,计算两者连线与水平轴的夹角,结合机器人车头方向角,计算电机运行参数;

步骤3、根据电机运行参数,驱动电机在设定时间内正反转;

步骤4、重复步骤2、3,直至机器人到达目标点阈值范围内。

作为一种具体实施方式,步骤1中的定位信息包括经度、纬度信息。

作为一种具体实施方式,步骤2中,计算电机运行参数的具体方法为:

步骤2.1、将两轮差动移动机器人系统抽象成车轮、机器人体组成的系统,建立一阶连续机器人动力学模型,如下:

其中,x,y分别为移动机器人的经度坐标和纬度坐标,u1为移动机器人位移的微分量,u2为机器人角度的微分量,θ为机器人车头方向角(即以正东方向为x轴正方向,机器人车头与x轴正方向夹角,陀螺仪直接测得的角度是机器人车头与正北方向的夹角,将这个测得的角度加上即为方向角);

步骤2.2、根据机器人当前定位和目标点定位连线,计算连线与水平轴的夹角,确定目标位置的状态空间与当前位置之间的关系;

连线与水平轴的夹角θ*为:

θ*=atan2(y*-y,x*-x)

其中,(x,y)为机器人当前定位坐标,(x*,y*)为目标点定位坐标;

目标位置的状态空间与当前位置之间的关系为:

(k为不为0的任意系数)

其中,ql为目标位置的状态空间,表示为包含目标点的坐标即经度x1和纬度y1的列向量;

设δ1=x1-x,δ2=y1-y,整理上述公式得到:

此时,由上述一系列分析就可以得到u1,u2,结果如下:

u1,u2经过控制器设计,分别对u1做工程正切,u2做比例运算处理后得到两个数值w1,w2:

其中,k1、k2为非0的常数,根据实际情况选取数值;

步骤2.3、计算左右电机的运动状态参数ω1、ω2:

解得:

作为一种具体实施方式,步骤3中,电机旋转的方向取决于电机运行参数的符号,正号时正转,负号时反转,电机转速取决于电机运行参数的数值,是电机运行参数的整数倍。

作为一种具体实施方式,步骤4中,目标点阈值范围为以目标点为圆心,设定阈值为半径的圆形区域。

本发明与现有技术相比,其显著优点为:本发明简化了实验过程,只需要完成点到点的导航控制,事先不需要规划路径,提高了机器人导航的时效性。

附图说明

图1为本发明移动机器人定位信息获取流程图。

图2为本发明移动机器人导航控制算法流程图。

图3为本发明移动机器人运行控制流程图。

图4为本发明的实验仿真图。

图5为本发明基于gps定位的移动机器人导航控制方法的整体流程图。

具体实施方式

下面结合附图和具体实施例进一步说明本发明方案。

如图1所示,基于gps定位的移动机器人导航控制方法,包括如下步骤:

步骤1、主控制板通过无线通信模块接收目标点的定位信息(经度、纬度),读取定位模块发送的当前定位(精度、纬度)和机器人车头方向角,储存下来。如图1所示,具体包括以下步骤:

步骤1-1、已知一个点的精确定位信息,选取它为目标点,在控制终端输入这个点信息后,通过无线通信模块发送给主控板,主控板储存下来,方便接下来使用。

步骤1-2、gps传感器使用内置的定位算法获取到移动机器人当前的定位经度和纬度,通过串口通信发送给高精度姿态测量模块。姿态测量模块用自身内置的陀螺仪测得机器人车头和水平轴的夹角(实际陀螺仪直接测得的角度是车头与正北方向的夹角,加上即方向角),并通过编程将方向角和定位信息融合,再通过i2c通信发送给主控制板,主控制板接收,储存下来。

步骤2、移动机器人主控板在接收储存上述信息后,使用导航控制算法解算得到两个电机的运行参数,储存下来,发送给下一级。如图2所示,具体包括以下步骤:

步骤2-1、主控板得到目标点坐标、起始点坐标、机器人车头方向角,利用数学公式计算得到目标点与起始点连线与水平轴的夹角,储存这些数据信息。

步骤2-2、以上数据经过以unicycletrackingcontrol理论为依据的导航控制算法处理,推算得出一组合适的左右两电机的运行参数ω1、ω2,并储存下来;如图2所示,移动机器人导航控制算法步骤如下:

步骤2-2-1、首先将两轮差动移动机器人系统抽象成车轮、机器人体组成的系统,建立一个一阶连续机器人动力学模型,如下:

其中,x,y分别为移动机器人的经度坐标和纬度坐标,u1为移动机器人位移的微分量,u2为机器人角度的微分量,θ为机器人车头方向角(即以正东方向为x轴正方向,机器人车头与x轴正方向夹角,陀螺仪直接测得的角度是机器人车头与正北方向的夹角,将这个测得的角度加上即为方向角);

设移动机器人的当前定位(x,y)和目标点定位(x*,y*),可得到两点连线与水平轴的夹角θ*为:

θ*=atan2(y*-y,x*-x)

其中,(x,y)为机器人当前定位坐标,(x*,y*)为目标点定位坐标;

目标位置的状态空间与当前位置之间的关系为:

(k为不为0的系数)

其中,ql表示目标位置的状态空间,即目标点的坐标,表示为包含目标点坐标即经度x1和纬度y1的列向量;

设δ1=x1-x,δ2=y1-y,整理上述公式可得:

此时,由上述一系列分析就可以得到u1,u2,结果如下:

u1,u2经过控制器设计分别将u1做工程正切,u2做比例运算处理后得到两个数值w1,w2:

其中,k1、k2是不为0的常数,根据稳定性理论和仿真调试以及现场实验多次调试可取k1=50,k2=50,实验者亦可根据实际情况选取合适数值;

步骤2-2-3、参考论文fuzzylogictrackingcontrolforunicyclemobilerobots提到的unicycletrackingcontrol理论,可以得到左右电机的运动状态参数ω1、ω2与w1、w2的关系式,如下:

解得:

由以上公式即可得到电机运行状态的参数值,由于上式的系数还与机器人车轮的半径,两轮之间的轮距相关,系数应为的倍数,根据使用的移动机器人的实际情况,在实验时将系数取3,这样有利于机器人导航过程中稳定运行;

步骤3、所述电机驱动芯片接收主控板通过模拟信号发出的运行参数后,控制电机转向和转速,使电机运行。如图3所示,移动机器人在驱动电机时,首先判断是否获得电机运行参数,当确认电机驱动芯片被主控板写入运行参数后进行以下步骤:

步骤3-1、将电机运行参数的数值分解为两部分,正负号分别代表电机正转和反转,数值绝对值代表电机转速;

步骤3-2、电机驱动芯片开始控制左右电机按指定的转速和转动方向运行,移动机器人开始前进、后退、左转、右转、原地转向,向着指定目标点前进。指定五个目标点,机器人导航控制算法仿真效果如图4所示。

步骤4、机器人在移动过程中,它的当前定位坐标、方向角和两点连线与水平夹角都在不断变化,主控器利用导航控制算法以1ms延时间隔,不断更新电机运动状态,及时调整移动机器人运行,完成机器人的导航控制任务,移动过程中主控制器不断向控制终端发送机器人实时定位信息,具体包括以下步骤:

步骤4-1、机器人移动不是沿着直线,机器人当前定位坐标,方向角以及和目标点的连线与水平轴的夹角不断在变化,这时候需要以1ms的延时间隔更新计算电机运行参数,重复步骤2-3,及时调整机器人运行方向,向目标点前近。

步骤4-2、当移动机器人进入以目标点为圆心,ε(自定义的极小值)为半径的一个极小圆域时,主控制板给电机发送停止信号,直到主控板收到来自控制终端发送的下一个目标点,重复步骤1,2,3。

步骤4-3、移动机器人向目标运行过程中通过无线通讯模块向控制终端发送实时定位和方向角信息,在终端精确地从数字上清楚观察机器人是否到达目标点,保证实验完成有可靠的依据。控制终端接收数据后,储存下来,用软件可以绘制机器人任意点到目标点的运行路线和方向角随时间变化图。

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