一种基于三轮全向移动的交互式自主导引系统及方法转让专利

申请号 : CN201611180965.9

文献号 : CN107045342B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 肖宇峰张华刘冉吴志志张红阳雷杨浩樊海廷

申请人 : 西南科技大学绵阳伦奇机器人有限公司

摘要 :

本发明涉及一种基于三轮全向移动的交互式自主导引系统及方法。系统包括依次连接的导引交互单元、自主导航单元、三轮全向移动控制单元和三轮全向底盘单元。本发明提出的系统及方法摆脱了导轨对导引系统移动区域的限制,有效地解决了自主导航和人机交互的问题,同时,在运动机构上采用了三轮全向移动底盘,使其移动更加稳定灵活;该发明可应用于商场导购、医院导诊、景区导游、庆典迎宾等场合。

权利要求 :

1.一种基于三轮全向移动的交互式自主导引系统,其特征在于,包括依次连接的导引交互单元、自主导航单元、三轮全向移动控制单元和三轮全向底盘单元;

所述导引交互单元,用于设定目标位置,并将所述目标位置发送给自主导航单元,同时,接收自主导航单元反馈的最新当前位置和最佳路线以供查看;

所述自主导航单元,用于根据设定的目标位置计算导引系统从当前位置到目标位置的最佳路线,更新当前位置,并将最佳路线和最新当前位置反馈给导引交互单元,同时,计算前往目标位置的运动参数,并发送给三轮全向移动控制单元;

所述三轮全向移动控制单元,用于根据运动参数生成控制信号,发送给三轮全向底盘单元,同时,将里程数据反馈给自主导航单元用于定位;

所述三轮全向底盘单元,用于根据控制信号控制移动速度和方向,同时,将电机实时转速反馈给三轮全向移动控制单元用于里程计算;

所述导引交互单元包括依次连接的人机接口模块、场景地图管理模块和导航控制接口模块;

所述人机接口模块,用于提供图形化的人机操作界面,以场景地图的形式描述导引系统所处环境,将操作人员输入的场景地图目标位置点发送给场景地图管理模块;同时,以图形方式在场景地图中显示导引系统当前位置点和运动轨迹点;

所述场景地图管理模块,用于将目标位置点转换成概念地图数据后发送给导航控制接口模块;同时,将接收到的当前位置点和运动轨迹点转换成场景地图数据,并提交给人机接口模块;

所述导航控制接口模块,用于将概念地图表示的目标位置点发送给自主导航单元,同时,用于接收自主导航单元反馈的当前位置点和运动轨迹点,并将所述当前位置点和运动轨迹点提交给场景地图管理模块;

所述人机接口模块包括场景地图显示模块、当前位置显示模块、目标位置指定模块和路径标识模块;

所述场景地图显示模块,用于以图形方式把场景地图直观地显示在终端屏幕上;

所述当前位置显示模块,用于以图形方式把导引系统当前位置点显示在场景地图中;

所述目标位置指定模块,用于以交互式图形直观显示导引系统前往的目标位置点;

所述路径标识模块,用于以图形方式在场景地图中显示导引系统从当前位置点前往目标位置点的路径轨迹点;

所述场景地图管理模块包括场景地图模块和场景-概念地图映射模块;

所述场景地图模块,用于查看周围环境地形图,通过图形化的像素点来表示;

所述场景-概念地图映射模块,用于把场景地图中的“点”转换成自主导航单元的概念地图中的“点”,或者把自主导航单元的概念地图中的“点”转换成场景地图中的“点”。

2.根据权利要求1所述的基于三轮全向移动的交互式自主导引系统,其特征在于,所述自主导航单元包括依次连接的交互接口模块、路径规划模块、基础功能模块和底盘接口模块;

所述交互接口模块,用于接收导引交互单元发送的目标位置点,并发送给路径规划模块,同时把最新当前位置和路径轨迹点序列反馈给导引交互单元;

所述路径规划模块,用于计算概念地图中当前位置点前往目标位置点最佳路径、更新当前位置点,并将路径轨迹点序列和最新当前位置点提交给交互接口模块,同时,计算导引系统运动参数,并发送给底盘接口模块;

所述基础功能模块,用于根据里程计和激光雷达数据计算导引系统当前位置点,并表示成概念地图中的当前位置点;

所述底盘接口模块,用于从底盘读取里程计数据和激光雷达数据并反馈给基础功能模块,并将接收到的导引系统运动参数发送给三轮全向移动控制单元;

所述路径规划模块包括全局路径规划模块和局部路径规划模块;

所述全局路径规划模块,用于根据导引交互单元发来的目标位置点,在概念地图中按最短路径策略寻找一条从当前位置点前往目标位置点的最佳路径,并将概念地图中路径轨迹点序列提交给交互接口模块;

所述局部路径规划模块,用于通过自主定位模块更新概念地图中的当前位置点,并将当前位置点通过交互接口发送给导引交互单元;同时,根据概念地图中轨迹点序列中下一位置点,计算从当前位置点移动到所述下一位置点的线速度和角速度,并通过底盘接口模块把线速度和角速度参数发送给三轮全向移动控制单元;

所述基础功能模块包括概念地图管理模块和自主定位模块;

所述概念地图管理模块,用于创建概念地图并存储,包括概念地图模块;

所述概念地图模块,用于自主导航单元定位的方位图,通过坐标化的栅格点来表示;

所述自主定位模块,用于计算导引系统在概念地图中的当前位置点,并在概念地图中表示出来;

所述底盘接口模块包括传感器数据接口模块和运动控制接口模块;

所述传感器数据接口模块,用于读取里程计数据和激光雷达数据;

所述运动控制接口模块,用于把局部路径规划模块计算的速度参数发送给三轮全向移动控制单元。

3.根据权利要求1所述的基于三轮全向移动的交互式自主导引系统,其特征在于,所述三轮全向移动控制单元包括自主导航访问接口模块、里程计算模块、电机调速模块和电机控制接口模块;

所述自主导航访问接口模块,用于从里程计算模块得到导引系统位姿向量,并以里程计数据的形式反馈给自主导航单元用于自主定位;从激光雷达得到当前距离点信息,并以测距数据的形式反馈给自主导航单元用于自主定位;将自主导航单元发送的运动参数传递给电机调速模块;

所述里程计算模块,用于以固定周期计算导引系统的位姿向量,并通过自主导航访问接口模块将所述位姿向量反馈给自主导航单元;

所述电机调速模块,用于根据自主导航单元下发的运动参数计算电机转速,并发送给电机控制接口模块;

所述电机控制接口模块,用于从三轮全向底盘单元的电机驱动器返回电机当前转速值到里程计算模块,以及发送电机调速模块计算得到的转速值到电机驱动器。

4.一种基于三轮全向移动的交互式自主导引方法,其特征在于,包括步骤:(1)操作人员通过导引交互单元设定目标位置后,该位置点被发送给自主导航单元;

(2)自主导航单元根据设定的目标位置计算导引系统从当前位置到目标位置的最佳路线,并在更新当前位置后将最新当前位置点和最佳路线一并反馈给导引交互单元,同时,计算前往目标位置的运动参数,并发送给三轮全向移动控制单元;另外,收到反馈的当前位置和最佳路线后,导引交互单元以图形方式把它们显示在终端屏幕上;

(3)三轮全向移动控制单元根据运动参数生成控制信号,发送给三轮全向底盘单元;

(4)三轮全向底盘单元根据控制信号控制移动速度和方向;

所述步骤(1)中的导引交互单元工作过程为,

(11)人机接口模块的目标位置指定模块接收操作人员在场景地图中输入的位置点Pe;

(12)场景-概念地图映射模块把场景地图的当前位置点Pe转换成概念地图的Me;

(13)将概念地图的Me通过导航控制接口模块发送给自主导航单元;

(14)等待接收自主导航单元反馈的路径轨迹点,如果导航控制接口收到了概念地图的路径轨迹点{M1,M2…Mn},则继续下一步;否则,继续等待;

(15)等待接收自主导航单元反馈的最新当前位置点,如果导航控制接口收到了概念地图的最新当前位置点Ms,则继续下一步;否则,继续等待;

(16)场景-概念地图映射模块把Ms和{M1,M2…Mn}转换成场景地图的当前位置点Ps和路径轨迹点序列{P1,P2…Pn};

(17)人机接口模块通过当前位置显示模块、路径标识模块分别显示当前位置点Ps、最佳路径轨迹点{P1,P2…Pn},同时,通过场景地图显示模块描述完整的环境场景图;

(18)自主导航单元提示是否到达目标位置点;如果是,则退出;否则,返回到步骤(14)。

5.根据权利要求4所述的基于三轮全向移动的交互式自主导引方法,其特征在于,所述步骤(2)中的自主导航单元工作过程为,(21)交互接口模块接收导引交互单元发送的概念地图目标位置点Me,并转发给全局路径规划模块;

(22)在概念地图中,全局路径规划模块按最短路径策略寻找一条从当前位置点Ms前往目标位置点Me的最佳路径;

(23)全局路径规划模块根据最佳路径生成的概念地图路径轨迹点序列{M1,M2…Mn},再通过交互接口模块把该序列反馈给导引交互单元;

(24)局部路径规划模块根据轨迹点序列中下一位置点M1,计算从Ms移动到M1各速度参数:导引系统的局部坐标系XmRYm下Xm轴向线速度、Ym轴向线速度和角速度,通过运动控制接口模块以速度向量形式[um vm wm]向三轮全向移动控制单元发送调节电机速度命令;

(25)以T为周期,局部路径规划模块通过自主定位模块更新概念地图的当前位置点Ms,并通过交互接口模块把Ms反馈给导引交互单元;

(26)判断当前位置点Ms与目标位置点Me距离是否为0;如果是,则退出并通过交互接口模块提示到达目标位置点;否则,返回步骤(22)。

6.根据权利要求5所述的基于三轮全向移动的交互式自主导引方法,其特征在于,所述步骤(25)中的以T为周期,局部路径规划模块通过自主定位模块更新概念地图当前位置点Ms,其具体过程为,(251)将当前位置点Ms设置为滤波器初始状态x0;

(252)里程访问模块通过传感器数据接口模块发出访问里程计数据命令并得到里程计当前数据ut,再根据前一时刻状态xt-1和ut估算当前时刻状态(253)激光雷达数据访问模块通过传感器数据接口模块得到底盘上激光雷达测量的数据zt,再根据 和zt修正最新当前时刻状态xt;

(254)如果没有达到滤波器定位要求,跳转到步骤(252);否则,返回最新当前时刻状态xt,并将其具体值还原为最新当前位置点Ms。

7.根据权利要求4所述的基于三轮全向移动的交互式自主导引方法,其特征在于,所述步骤(3)中的三轮全向移动控制单元工作过程为,(31)三轮全向移动控制单元收到自主导航单元通过底盘控制接口发出的命令,并进行解析;

(32)判断命令是否为访问里程计数据,如果是,则由里程计算模块计算导引系统位姿向量,并通过自主导航访问接口把位姿向量反馈给自主导航单元,并等待下一条命令;

否则,判断命令是否为调节电机速度,如果是,则由电机调速模块计算出三台电机的转速值,并通过电机控制接口把转速值发送给三轮全向底盘单元的电机驱动器,并等待下一条命令;否则,执行其它处理,并返回到步骤(31)。

8.根据权利要求7所述的基于三轮全向移动的交互式自主导引方法,其特征在于,所述步骤(32)中的里程计算模块工作过程为,(321)通过电机控制接口模块读取三个电机的转速ω1、ω2和ω3,并根据转速计算出三个电机的线速度分别为q1、q2和q3;

(322)根据三轮全向移动模型的正向运动学方程 计算导引系统在世界坐标系XwOYw中的速度向量其中,向量 为底盘三个电机的线速度向量,θ为导引系统在世界坐标系XwOYw中的转角,P(θ)是电机速度与导引系统世界坐标系运动速度的关系矩阵,计算公式如下:其中,L为轮子中心与底盘中心的距离,δ为轮子正向轴线与坐标系XmRYm的Xm轴夹角;

(323)根据下述公式以固定周期⊿t推算导引系统的运动增量;再迭代累计x和y方向上的坐标以及旋转角度,即得里程数据[x,y,θ];

所述步骤(33)中的电机调速模块工作过程为,

(331)接收自主导航单元的局部路径规划模块发送的速度um,vm和wm;

(332)根据三轮全向移动模型的逆运动学方程 分别计算底盘三个电机的线速度向量其中,导引系统局部坐标系XmRYm中 P(δ)是导引系统局部坐标系移动速度与电机运动速度的关系矩阵,计算公式如下:其中,L为轮子中心与底盘中心的距离,δ为轮子正向轴线与坐标系XmRYm的Xm轴夹角;

(333)根据电机线速度分别计算出三个电机的转速ω1、ω2和ω3,并通过电机控制接口把转速值发给电机驱动器来调节电机转速。

说明书 :

一种基于三轮全向移动的交互式自主导引系统及方法

技术领域

[0001] 本发明涉及机器人系统领域,具体涉及了一种三轮全向移动的交互式自主导引系统及方法。

背景技术

[0002] 交互式自主导引系统在今天的商场导购、医院导诊、景区导游、庆典迎宾等场合大有用途。尤其是在劳动力成本不断攀升、服务行业劳动力不足的今天,自主导引系统不仅能帮助企业减少用工量,而且能帮助服务员分担客户接待量。传统的自主导引系统(比如,迎宾机器人)一般采用有轨移动底盘或两轮差分自主驱动底盘,前者的移动范围受限,后者的运动灵活性不足。总的来看,现有的导引系统智能水平比较低,自主导航能力不足、与人交互方式有限。

发明内容

[0003] 本发明所要解决的技术问题是提供一种三轮全向移动的交互式自主导引系统,有效地解决了自主导航和人机交互的问题;同时,在运动机构上采用了三轮全向移动底盘,摆脱了导轨对移动区域的限制、而且移动稳定灵活。
[0004] 本发明解决上述技术问题的技术方案如下:一种基于三轮全向移动的交互式自主导引系统,包括依次连接的导引交互单元、自主导航单元、三轮全向移动控制单元和三轮全向底盘单元;
[0005] 所述导引交互单元,用于设定目标位置,并将所述目标位置发送给自主导航单元,同时,接收自主导航单元反馈的最新当前位置和最佳路线以供查看;
[0006] 所述自主导航单元,用于根据设定的目标位置计算导引系统从当前位置到目标位置的最佳路线,更新当前位置,并将最佳路线和最新当前位置反馈给导引交互单元,同时,计算前往目标位置的运动参数,并发送给三轮全向移动控制单元;
[0007] 所述三轮全向移动控制单元,用于根据运动参数生成控制信号,发送给三轮全向底盘单元,同时,将里程数据反馈给自主导航单元用于定位;
[0008] 所述三轮全向底盘单元,用于根据控制信号控制移动速度和方向,同时,将电机实时转速反馈给三轮全向移动控制单元用于里程计算。
[0009] 本发明的有益效果是:
[0010] 本发明提出的导引系统在三轮全向移动底盘上实现了可人机交互的自主导引系统架构,将三轮全向移动机构、人机交互和自主导航融为一个整体,完成了一套移动灵活、自主运动且操作界面友好的导引系统。
[0011] 在上述技术方案的基础上,本发明还可以做如下改进。
[0012] 进一步,所述导引交互单元包括依次连接的人机接口模块、场景地图管理模块和导航控制接口模块;
[0013] 所述人机接口模块,用于提供图形化的人机操作界面,以场景地图的形式描述导引系统所处环境,将操作人员输入的场景地图目标位置点发送给场景地图管理模块;同时,以图形方式在场景地图中显示导引系统当前位置点和运动轨迹点;
[0014] 所述场景地图管理模块,用于将目标位置点转换成概念地图数据后发送给导航控制接口模块;同时,将接收到的当前位置点和运动轨迹点转换成场景地图数据,并提交给人机接口模块;
[0015] 所述导航控制接口模块,用于将概念地图表示的目标位置点发送给自主导航单元,同时,用于接收自主导航单元反馈的当前位置点和运动轨迹点,并将所述当前位置点和运动轨迹点提交给场景地图管理模块;
[0016] 所述人机接口模块包括场景地图显示模块、当前位置显示模块、目标位置指定模块和路径标识模块;
[0017] 所述场景地图显示模块,用于以图形方式把场景地图直观地显示在终端屏幕上;
[0018] 所述当前位置显示模块,用于以图形方式把导引系统当前位置点显示在场景地图中;
[0019] 所述目标位置指定模块,用于以交互式图形直观显示导引系统前往的目标位置点;
[0020] 所述路径标识模块,用于以图形方式在场景地图中显示导引系统从当前位置点前往目标位置点的路径轨迹点;
[0021] 所述场景地图管理模块包括场景地图模块和场景-概念地图映射模块;
[0022] 所述场景地图模块,用于查看周围环境地形图,通过图形化的像素点来表示;
[0023] 所述场景-概念地图映射模块,用于把场景地图中的“点”转换成自主导航单元的概念地图中的“点”,或者把自主导航单元的概念地图中的“点”转换成场景地图中的“点”。
[0024] 采用上述进一步方案的有益效果是实现了导引交互的框架,操作人员可通过图形化人机接口访问导航系统,直观地显示当前位置、目标位置和移动轨迹,便于使用者了解所处方位和导引路线。
[0025] 进一步,所述自主导航单元包括依次连接的交互接口模块、路径规划模块、基础功能模块和底盘接口模块;
[0026] 所述交互接口模块,用于接收导引交互单元发送的目标位置点,并发送给路径规划模块,同时把最新当前位置和路径轨迹点序列反馈给导引交互单元;
[0027] 所述路径规划模块,用于计算概念地图中当前位置点前往目标位置点最佳路径、更新当前位置点,并将路径轨迹点序列和最新当前位置点提交给交互接口模块,同时,计算导引系统运动参数,并发送给底盘接口模块;
[0028] 所述基础功能模块,用于根据里程计和激光雷达数据计算导引系统当前位置点,并表示成概念地图中的当前位置点;
[0029] 所述底盘接口模块,用于从底盘读取里程计数据和激光雷达数据并反馈给基础功能模块,并将接收到的导引系统运动参数发送给三轮全向移动控制单元;
[0030] 所述路径规划模块包括全局路径规划模块和局部路径规划模块;
[0031] 所述全局路径规划模块,用于根据导引交互单元发来的目标位置点,在概念地图中按最短路径策略寻找一条从当前位置点前往目标位置点的最佳路径,并将概念地图中路径轨迹点序列提交给交互接口模块;
[0032] 所述局部路径规划模块,用于通过自主定位模块更新概念地图中的当前位置点,并将当前位置点通过交互接口发送给导引交互单元;同时,根据概念地图中轨迹点序列中下一位置点,计算从当前位置点移动到所述下一位置点的线速度和角速度,并通过底盘接口模块把线速度和角速度参数发送给三轮全向移动控制单元;
[0033] 所述基础功能模块包括概念地图管理模块和自主定位模块;
[0034] 所述概念地图管理模块,用于创建概念地图并存储,包括概念地图模块;
[0035] 所述概念地图模块,用于自主导航单元定位的方位图,通过坐标化的栅格点来表示;
[0036] 所述自主定位模块,用于计算导引系统在概念地图中的当前位置点,并在概念地图中表示出来;
[0037] 所述底盘接口模块包括传感器数据接口模块和运动控制接口模块;
[0038] 所述传感器数据接口模块,用于读取里程计数据和激光雷达数据;
[0039] 所述运动控制接口模块,用于把局部路径规划模块计算的速度参数发送给三轮全向移动控制单元。
[0040] 采用上述进一步方案的有益效果是实现了自主导航单元框架,寻找从当前位置前往目标位置的最佳路径并避开障碍物,并能及时把导引系统当前位置和最新路径通过导引交互单元反映出来。
[0041] 进一步,所述三轮全向移动控制单元包括自主导航访问接口模块、里程计算模块、电机调速模块和电机控制接口模块;
[0042] 所述自主导航访问接口模块,用于从里程计算模块得到导引系统位姿向量,并以里程计数据的形式反馈给自主导航单元用于自主定位;从激光雷达得到当前距离点信息,并以测距数据的形式反馈给自主导航单元用于自主定位;将自主导航单元发送的运动参数传递给电机调速模块;
[0043] 所述里程计算模块,用于以固定周期计算导引系统的位姿向量,并通过自主导航访问接口模块将所述位姿向量反馈给自主导航单元;
[0044] 所述电机调速模块,用于根据自主导航单元下发的运动参数计算电机转速,并发送给电机控制接口模块;
[0045] 所述电机控制接口模块,用于从三轮全向底盘单元的电机驱动器返回电机当前转速值到里程计算模块,以及发送电机调速模块计算得到的转速值到电机驱动器。
[0046] 采用上述进一步方案的有益效果是实现三轮全向移动底盘控制框架,获取底盘里程数据,并对其运动进行控制,配合自主导航单元完成可自主移动的三轮全向式导引功能。
[0047] 本发明还提供了一种基于三轮全向移动的交互式自主导引方法,包括步骤:
[0048] (1)操作人员通过导引交互单元设定目标位置后,该位置点被发送给自主导航单元;
[0049] (2)自主导航单元根据设定的目标位置计算导引系统从当前位置到目标位置的最佳路线,并在更新当前位置后将最新当前位置点和最佳路线一并反馈给导引交互单元,同时,计算前往目标位置的运动参数,并发送给三轮全向移动控制单元;另外,收到反馈的当前位置点和最佳路线后,导引交互单元以图形方式把它们显示在终端屏幕上;
[0050] (3)三轮全向移动控制单元根据运动参数生成控制信号,发送给三轮全向底盘单元;
[0051] (4)三轮全向底盘单元根据控制信号控制移动速度和方向。
[0052] 采用上述进一步方案的有益效果是实现了三轮全向移动的交互式自主导航流程,摆脱了导轨对移动区域的限制、而且移动稳定灵活。
[0053] 进一步,所述步骤(1)中的导引交互单元工作过程为,
[0054] (11)人机接口模块的目标位置指定模块接收操作人员在场景地图中输入位置点Pe;
[0055] (12)场景-概念地图映射模块把场景地图的当前位置点Pe转换成概念地图的Me;
[0056] (13)将概念地图的Me通过导航控制接口模块发送给自主导航单元;
[0057] (14)等待接收自主导航单元反馈的路径轨迹点,如果导航控制接口收到了概念地图的路径轨迹点{M1,M2…Mn},n为轨迹点数目,则继续下一步;否则,继续等待;
[0058] (15)等待接收自主导航单元反馈的最新当前位置点,如果导航控制接口收到了概念地图的最新当前位置点Ms,则继续下一步;否则,继续等待。
[0059] (16)场景-概念地图映射模块把Ms和{M1,M2…Mn}转换成场景地图的当前位置点Ps和路径轨迹点序列{P1,P2…Pn},n为轨迹点数目;
[0060] (17)人机接口模块通过当前位置显示模块、路径标识模块分别显示当前位置点Ps、最佳路径轨迹点{P1,P2…Pn},同时,通过场景地图显示模块描述完整的环境场景图;
[0061] (18)自主导航单元是否提示到达目标位置点;如果是,则退出;否则,返回到步骤(14)。
[0062] 采用上述进一步方案的有益效果是实现了导引交互的功能流程,完成了使用者与底层系统的信息交互,把目标位置及时下达给最底层的控制模块,也保证把运动结果及时呈现给使用者。
[0063] 进一步,所述步骤(2)中的自主导航单元工作过程为,
[0064] (21)交互接口模块接收导引交互单元发送的概念地图目标位置点Me,并转发给全局路径规划模块;
[0065] (22)在概念地图中,全局路径规划模块按最短路径策略寻找一条从当前位置点Ms前往目标位置点Me的最佳路径;
[0066] (23)全局路径规划模块根据最佳路径生成的概念地图路径轨迹点序列{M1,M2…Mn},再通过交互接口模块把该序列反馈给导引交互单元;
[0067] (24)局部路径规划模块根据轨迹点序列中下一位置点M1,计算从Ms移动到M1各速度参数:导引系统的局部坐标系XmRYm下Xm轴向线速度、Ym轴向线速度和角速度,通过运动控制接口模块以速度向量形式[um vm wm]向三轮全向移动控制单元发送调节电机速度命令;
[0068] (25)以T为周期,局部路径规划模块通过自主定位模块更新概念地图的当前位置点Ms,并通过交互接口模块把Ms反馈给导引交互单元;
[0069] (26)判断当前位置点Ms与目标位置点Me距离是否为0;如果是,则退出并通过交互接口模块提示到达目标位置点;否则,返回步骤(22)。
[0070] 采用上述进一步方案的有益效果是实现了自主导航功能流程,完成自主定位、自主路径规划、自主运动控制并把运行信息反馈给上层人机交互单元。
[0071] 进一步,所述步骤(25)中的以T为周期,局部路径规划模块通过自主定位模块更新概念地图当前位置点Ms,其具体过程为,
[0072] (251)将当前位置点Ms设置为滤波器初始状态x0;
[0073] (252)里程访问模块通过传感器数据接口模块发出访问里程计数据命令并得到里程计当前数据ut,再根据前一时刻状态xt-1和ut估算当前时刻状态
[0074] (253)激光雷达数据访问模块通过传感器数据接口模块得到底盘上激光雷达测量的数据zt,再根据 和zt修正最新当前时刻状态xt;
[0075] (254)如果没有达到滤波器定位要求,跳转到步骤(252);否则,返回最新当前时刻状态xt,并将其具体值还原为最新当前位置点Ms。
[0076] 采用上述进一步方案的有益效果是实现了一个滤波器定位流程,利用概率方法计算出当前位置,完成导引系统的自主准确定位。
[0077] 进一步,所述步骤(3)中的三轮全向移动控制单元工作过程为,
[0078] (31)三轮全向移动控制单元收到自主导航单元通过底盘控制接口发出的命令,并进行解析;
[0079] (32)判断命令是否为访问里程计数据,如果是,则由里程计算模块计算导引系统位姿向量,并通过自主导航访问接口把位姿向量反馈给自主导航单元,并等待下一条命令;否则,判断命令是否为调节电机速度,如果是,则由电机调速模块计算出三台电机的转速值,并通过电机控制接口把转速值发送给三轮全向底盘单元的电机驱动器,并等待下一条命令;否则,执行其它处理,并返回到步骤(31)。
[0080] 进一步,所述步骤(32)中的里程计算模块工作过程为,
[0081] (321)通过电机控制接口模块读取三个电机的转速ω1、ω2和ω3,并根据转速计算出三个电机的线速度分别为q1、q2和q3;
[0082] (322)根据三轮全向移动模型的正向运动学方程 计算导引系统在世界坐标系XwOYw中的速度向量
[0083] 其中,向量 为底盘三个电机的线速度向量,θ为导引系统
[0084] 在世界坐标系XwOYw中的转角,P(θ)是电机速度与导引系统世界坐标系运[0085] 动速度的关系矩阵,计算公式如下:
[0086]
[0087] 其中,L为轮子中心与底盘中心的距离,δ为轮子正向轴线与坐标系XmRYm的Xm轴夹角;
[0088] (323)根据下述公式以固定周期⊿t推算导引系统的运动增量⊿x、⊿y和⊿θ;再迭代累计x和y方向上的坐标以及旋转角度,即得里程数据[x,y,θ];
[0089]
[0090] 所述步骤(33)中的电机调速模块工作过程为,
[0091] (331)接收自主导航单元的局部路径规划模块发送的速度um,vm和wm;
[0092] (332)根据三轮全向移动模型的逆运动学方程 分别计算底盘三个电机的线速度向量
[0093] 其中,导引系统局部坐标系XmRYm中 P(δ)是导引系统局部坐标系移动速度与电机运动速度的关系矩阵,计算公式如下:
[0094]
[0095] 其中,L为轮子中心与底盘中心的距离,δ为轮子正向轴线与坐标系XmRYm的Xm轴夹角;
[0096] (333)根据电机线速度分别计算出三个电机的转速ω1、ω2和ω3,并通过电机控制接口把转速值发给电机驱动器来调节电机转速。
[0097] 采用上述进一步方案的有益效果是实现里程和电机调节参数计算流程,为系统的定位和运动控制提供基础数据。

附图说明

[0098] 图1是基于三轮全向移动的交互式自主导引系统原理框图;
[0099] 图2是导引交互单元原理框图;
[0100] 图3是导引交互单元工作流程图;
[0101] 图4是自主导航单元原理框图;
[0102] 图5是自主导航单元工作流程图;
[0103] 图6是三轮全向移动控制单元原理框图;
[0104] 图7是三轮全向移动模型图;
[0105] 图8是三轮全向移动控制单元工作流程图;
[0106] 图9是三轮全向移动底盘结构图;
[0107] 图10是全向轮结构图。

具体实施方式

[0108] 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0109] 如图1所示,基于三轮全向移动的交互式自主导引系统包括依次连接的导引交互单元、自主导航单元、三轮全向移动控制单元和三轮全向底盘单元。导引交互单元是一台移动终端,其上运行的交互软件支持操作人员指定目标位置;自主导航单元根据目标位置计算导引系统从当前位置到目标位置的最佳路线,并反馈给导引交互单元显示出来,同时,计算前往目标位置的运动参数,并发送给三轮全向移动控制单元;三轮全向移动控制单元根据运动参数生成控制信号,发送给三轮全向底盘单元,控制其移动速度和方向。
[0110] 如图2所示,导引交互单元运行在一台有人机接口的移动终端上,通过交互软件来接收操作人员指定的目标位置,并通过人机接口的图形化界面显示导引系统当前位置与目标位置之间的最佳路径。
[0111] 导引交互单元包括:人机接口模块、场景地图管理模块和导航控制接口模块。
[0112] 其中,场景地图管理模块包括:场景地图模块和场景-概念地图映射模块。场景地图模块是指操作人员通过交互软件看到的周围环境地形图,通过图形化的像素点来表示(场景地图中,当前位置点表示为Ps,目标位置点表示为Pe);相对应的,概念地图模块是指自主导航单元用于定位的方位图,通过坐标化的栅格点来表示(概念地图中,当前位置点表示为Ms,目标位置点表示为Me);场景-概念地图映射模块把场景地图中的“点”转换成概念地图中的“点”,或者把概念地图中的“点”转换成场景地图中的“点”,只有表示成场景地图中的“点”,当前位置点、目标位置点和连接二者的路径轨迹点才能通过人机接口模块正确显示出来。
[0113] 人机接口模块提供图形化的人机操作界面,以场景地图的形式描述导引系统所处环境,将操作人员输入的场景地图目标位置点发送给场景地图管理模块;同时,以图形方式在场景地图中显示导引系统当前位置点和运动轨迹点,具体包括四个模块:场景地图显示模块、当前位置显示模块、目标位置指定模块和路径标识模块。场景地图显示模块以图形方式把环境地图直观地显示在移动终端屏幕上,当前位置显示以图形方式把导引系统当前位置点Ps显示在移动终端屏幕上,目标位置指定模块以交互式图形直观显示导引系统前往的目标位置点Pe,路径标识模块以图形方式在终端屏幕上显示Ps前往Pe的路径轨迹点{P1,P2…Pn},n为轨迹点数目。
[0114] 导航控制接口模块连接了导引交互单元和自主导航单元。导引交互单元通过场景-概念地图映射模块把Pe转换成Me,并通过导航控制接口模块发送给自主导航单元。同时,导引交互单元通过该导航控制接口模块接收自主导航单元反馈的最新当前位置点Ms、最佳路径轨迹点序列{M1,M2…Mn},n为轨迹点数目,并通过场景-概念地图映射模块把上述点转换成场景地图中的Ps和轨迹点序列{P1,P2…Pn}。
[0115] 如图3所示,导引交互单元工作流程如下:
[0116] 第一步,接收目标位置点Pe。人机接口的目标位置指定模块接收操作人员输入的位置点Pe;
[0117] 第二步,把场景地图的Pe转换成概念地图的Me。场景-概念地图映射模块把Pe转换成Me,便于后面的自主导航单元在概念地图中定位操作人员输入的目标位置点;
[0118] 第三步,把概念地图的Me发送给自主导航单元。概念地图中的目标位置Me生成后,导引交互单元通过导航控制接口把Me发送给自主导航单元。
[0119] 第四步,等待接收自主导航单元反馈的路径轨迹点{M1,M2…Mn}。如果导航控制接口收到了路径轨迹点{M1,M2…Mn},则继续下一步;否则,继续等待;
[0120] 第五步,等待接收自主导航单元反馈的最新当前位置Ms。如果导航控制接口收到了导引系统最新当前位置Ms,则继续下一步;否则,继续等待;
[0121] 第六步,把Ms和{M1,M2…Mn}分别转换成Ps和{P1,P2…Pn}。场景-概念地图映射模块把概念地图中的Ms和{M1,M2…Mn}转换成场景地图中的当前位置Ps和路径轨迹点序列{P1,P2…Pn};
[0122] 第七步,在场景地图中显示当前位置点Ps、最佳路径轨迹点{P1,P2…Pn},人机接口通过当前位置显示模块和路径标识模块分别显示Ps和{P1,P2…Pn},同时,通过场景地图显示模块描述完整的环境场景图;
[0123] 第八步,自主导航单元提示是否到达目标位置。如果是,则退出;否则,跳转至第四步。
[0124] 如图4所示,自主导航单元运行在一台嵌入式计算机上,根据设定的目标位置计算导引系统从当前位置到目标位置的最佳路线,更新当前位置,并将最佳路线和最新当前位置反馈给导引交互单元,同时,计算前往目标位置的运动参数,并发送给三轮全向移动控制单元;包括:交互接口模块、路径规划模块、基础功能模块和底盘接口模块。
[0125] 其中,交互接口模块:自主导航单元通过交互接口模块接收导引交互单元发送的目标位置Me,同时把最新当前位置Ms和路径轨迹点序列{M1,M2…Mn}反馈给导引交互单元。
[0126] 路径规划模块包括两个模块:全局路径规划模块和局部路径规划模块。其中,全局路径规划模块根据导引交互单元发来的目标位置Me,在概念地图中按最短路径策略寻找一条从当前位置Ms前往Me的最佳路径,并将沿途的轨迹点序列{M1,M2…Mn}通过交互接口模块发送给导引交互单元。局部路径规划模块通过自主定位模块更新当前位置Ms,并将Ms通过交互接口发送给导引交互单元;同时,根据轨迹点序列中下一位置点M1,计算从Ms移动到M1的线速度和角速度(在导引系统的局部坐标系XmRYm下Xm轴向线速度、Ym轴向线速度和角速度分别为um、vm和wm),并通过运动控制接口模块把速度向量[um vm wm]发送给三轮全向移动控制单元。
[0127] 基础功能模块包括概念地图管理和自主定位两个模块。其中,概念地图管理模块用来创建概念地图并存储。这里的概念地图是指自主导航单元用于定位的方位图,采用坐标化的栅格点来表示,通过SLAM方法来创建。自主定位模块用来计算导引系统在概念地图中的当前位置Ms,通过如下的贝叶斯滤波定位步骤得到:
[0128] 第一步,把当前位置Ms设置为滤波器初始状态x0;
[0129] 第二步,里程访问子模块通过传感器数据接口模块得到底盘里程计当前数据ut,再根据上一时刻状态xt-1和ut估算当前状态xt;
[0130] 第三步,激光雷达数据访问子模块通过传感器数据接口模块得到底盘上激光雷达测量的数据zt,再根据 和zt修正最新当前状态xt;
[0131] 第四步,如果没有达到滤波器定位要求,跳转到第二步;否则,返回最新当前状态xt,并将其具体值还原为最新当前位置Ms。
[0132] 底盘接口模块包括两个模块:传感器数据接口模块和运动控制接口模块。传感器数据接口模块支持从底盘读取里程计数据和激光雷达数据;而运动控制接口模块把局部路径规划模块计算的速度向量[um vm wm]发送给三轮全向移动控制单元。
[0133] 自主导航单元工作流程如图5所示,详细步骤如下:
[0134] 第一步,接收导引交互单元发送的目标位置Me,交互接口模块接收导引交互单元发送的概念地图中目标位置Me,并转发给全局路径规划模块;
[0135] 第二步,计算当前位置Ms与目标位置Me间的最佳路径。在概念地图中,全局路径规划模块按最短路径策略寻找一条从当前位置Ms前往Me的最佳路径;
[0136] 第三步,生成路径轨迹点序列{M1,M2…Mn}并反馈给导引交互单元。全局路径规划模块根据最佳路径生成的路径轨迹点序列{M1,M2…Mn},再通过交互接口模块把该序列反馈给导引交互单元;
[0137] 第四步,计算导引系统的运动参数[um vm wm]并发送给三轮全向移动控制单元。局部路径规划模块根据轨迹点序列中下一位置点M1,计算从Ms移动到M1各速度参数:导引系统的局部坐标系XmRYm下Xm轴向线速度、Ym轴向线速度和角速度,并通过运动控制接口模块以速度向量形式[um vm wm]发送给三轮全向移动控制单元;
[0138] 第五步,更新当前位置Ms并反馈给导引交互单元。以T为周期,局部路径规划模块通过自主定位模块更新当前位置Ms,并通过交互接口把Ms反馈给导引交互单元;
[0139] 第六步,判断Ms与Me距离是否为0,如果是,则退出并通过交互接口提示导航交互单元导航结束;否则,跳转至第二步。
[0140] 如图6所示,三轮全向移动控制单元运行在一台嵌入式处理器上,负责导引系统的移动控制,包括了自主导航访问接口模块、里程计算模块、电机调速模块和电机控制接口模块,其中,自主导航访问接口模块从里程计算模块得到导引系统位姿向量[x,y,θ],并以里程计数据ut的形式反馈给自主导航单元用于自主定位;从激光雷达得到当前距离点信息,并以测量数据zt的形式反馈给自主导航单元用于自主定位;以向量[um,vm,wm]的形式把自主导航单元发送的运动参数传递给电机调速模块。电机控制接口模块可返回电机转速、也可设置电机转速值。
[0141] 1)里程计算模块:里程计算模块以固定周期⊿t计算导引系统的世界坐标系XwOYw位姿向量[x,y,θ]。当导引系统需要自主定位时,自主导航单元的里程访问模块通过传感器数据接口模块获取上述位姿向量。
[0142] 基于图7中三轮全向移动模型,里程计算模块依如下步骤计算导引系统的世界坐标系XwOYw位姿向量[x,y,θ];
[0143] ①通过电机控制接口模块读取三个电机的转速ω1、ω2和ω3,并根据转速计算出三个电机的线速度分别为q1、q2和q3。
[0144] ②根据三轮全向移动模型的正向运动学方程 计算导引系统在世界坐标系XwOYw中的速度向量
[0145] 其中,向量 为底盘三个电机的线速度向量,θ为导引系统在世界坐标系XwOYw中的转角,P(θ)是电机速度与导引系统全局坐标系运动速度的关系矩阵,计算公式如下:
[0146]
[0147] 其中,L为轮子中心与导引系统中心的距离,δ为轮子正向轴线与坐标系XmRYm的Xm轴夹角。
[0148] ③根据下述公式以固定周期⊿t推算导引系统的运动增量;再迭代累计x和y方向上的坐标以及旋转角度,即得里程数据[x,y,θ];
[0149]
[0150] 2)电机调速模块:当局部路径规划模块需要驱动底盘移动时,运动控制参数通过运动控制接口发送给电机调速模块,这些速度可用向量[um,vm,wm]表示。基于图7中三轮全向移动模型,电机调速模块依如下步骤调节电机;
[0151] ①接收自主导航单元的局部路径规划模块发送的速度um,vm和wm。
[0152] ②根据三轮全向移动模型的逆运动学方程 计算底盘三个电机的线速度向量
[0153] 其中,导引系统局部坐标系XmRYm中 P(δ)是导引系统局部坐标系移动速度与电机运动速度的关系矩阵,可用如下公式计算,
[0154]
[0155] 其中,L为轮子中心与底盘中心的距离,δ为轮子正向轴线与坐标系XmRYm的Xm轴夹角。
[0156] ③根据电机线速度计算出三个电机的转速ω1,ω2和ω3,并通过电机控制接口把转速值发给电机驱动器来调节电机转速。
[0157] 三轮全向移动控制单元按图8流程工作,具体步骤如下:
[0158] 第一步,接收自主导航单元下发的命令。三轮全向移动控制单元收到自主导航单元通过底盘控制接口发出的命令,并进行解析;
[0159] 第二步,判断命令是否为访问里程计数据,如果是,则由里程计算模块计算导引系统位姿向量,并通过自主导航访问接口把位姿向量反馈给自主导航单元,并等待下一条命令;否则,判断命令是否为调节电机速度,如果是,则由电机调速模块计算出三台电机的转速值,并通过电机控制接口把转速值发送给电机驱动器,并等待下一条命令;否则,执行其它处理,并返回到第一步。
[0160] 三轮全向移动控制单元所控制的导引系统底盘结构如图9所示,三轮全向底盘单元安装了三个全向轮、三个电机、三个电机驱动器、激光雷达、电源以及底盘支架;全向轮为多方向可自由滚动的运动机构;电机用于给全向轮滚动提供动力;电机驱动器用于根据三轮全向移动控制单元发送的转速值控制电机转动、并反馈当前电机实际转速值;激光雷达用于提供导引系统到周围障碍物的测距信息;电源用于提供导引系统各组成单元及其模块的工作电源;底盘支架用于承载并固定导引系统各组成单元及其模块的机构。底盘支架中心通过连接轴把三个全向轮连接起来,轴间夹角120°,电机安装在连接轴上。这种结构非常适合机器人沿各个方向自由移动、并绕底盘中心360°旋转。
[0161] 全向轮结构如图10所示,包括两个相互错开的轮体,轮体上径向均匀排列着与轮圈外周切线方向垂直的从动轮,保证轮体在多个方向自由移动。在运动机构上设置三轮全向移动底盘,不仅摆脱了导轨对移动区域的限制、而且移动灵活;在自主导航上采用了自主路径规划和自定位,提高了导引系统的智能性;在人机交互上采用了图形化交互接口,方便使用者指定导引目标、了解当前位置和导引路线。
[0162] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。