轮椅机器人及其室内自主导航方法与流程

文档序号:16086111发布日期:2018-11-27 22:26阅读:305来源:国知局

本发明涉及轮椅机器人技术领域,具体涉及一种轮椅机器人及其室内自主导航方法。



背景技术:

目前,应用于日常生活中的轮椅,大部分功能较为单一,且需要人为参与的环节较多。而对于现今已有的智能轮椅,往往因生产成本较高、自身结构复杂以及代码复用率不足等因素,导致其未能得到广泛普及。虽然目前出现了一些能够手动控制的轮椅,但是在轮椅的行进过程仍需频繁的手动操控,且自身的避障及导航也需要人为的实时监控操作,进而使得自主化程度不高。



技术实现要素:

本发明所要解决的是现有轮椅需要手动控制而无法自动导航的问题,提供一种轮椅机器人及其室内自主导航方法。

为解决上述问题,本发明是通过以下技术方案实现的:

轮椅机器人,由座椅和移动平台组成,其中座椅安装在移动平台上,并随移动平台移动;上述移动平台主要由供电模块、以及与供电模块连接的微下位机、主控制器、通信模块、单目视觉传感器、触摸显示屏、超声波传感器、惯性测量单元、主动轮、从动轮、电机驱动电路、驱动电机、照明驱动电路和照明灯组成;微下位机通过通信模块与上位机相连;单目视觉传感器朝向移动平台的正前方,并与微下位机的输入端连接;触摸显示屏设在座椅上,并与微下位机相连;主控制器与微下位机相连;超声波传感器朝向移动平台的正前方,惯性测量单元位于移动平台内,超声波传感器和惯性测量单元分别与主控制器的输入端连接;主动轮和从动轮位于移动平台的下方;主控制器的输出端经由电机驱动电路连接驱动电机,该驱动电机与主动轮连接,驱动电机驱动主动轮滚动,主动轮带动从动轮滚动;照明灯朝向移动平台的正前方,主控制器的输出端经由照明驱动电路连接照明灯。

上述方案中,所述照明灯包括远光灯和近光灯。

上述方案中,所述座椅为可调节升降座椅。

轮椅机器人的室内自主导航方法,包括室内环境的地图构建、轮椅机器人的定位以及轮椅机器人的路径规划三个过程;其中室内环境的地图构建过程,即轮椅机器人通过单目视觉传感器感知环境信息,并结合视觉SLAM算法对获取的环境特征进行三维点云地图的构建;轮椅机器人的定位过程,即根据加载的地图,采用蒙特卡罗算法对运动中的轮椅机器人自定位处理;轮椅机器人的路径规划过程,即在轮椅机器人持续定位的同时,通过蚁群算法和动态栅格算法的结合使用,完成导航过程中的全局路径规划和局部路径规划。

上述室内环境的地图构建过程具体如下:

步骤1.1、建立上位机与轮椅机器人的微下位机之间的分布式通信,无线连接成功后在微下位机上启动机器人操作系统;

步骤1.2、运行上位机中的机器人操作系统,并对轮椅机器人的单目视觉传感器进行标定,以便其在后续的图像采集中获得更好地捕捉视角;

步骤1.3、单目视觉传感器标定完成后,在上位机中运行机器人操作系统开源的快速特征点提取和描述的同时定位及地图创建算法;

步骤1.4、通过手动控制上位机的键盘发布速度控制指令,以缓速在室内环境移动,进而获取实时图像数据,在此过程中,快速特征点提取和描述的同时定位及地图创建算法利用所依赖的开源计算机视觉库进行图像处理的同时,又利用所依赖的基于图像序列中快速位置识别的二进制字典库、矩阵运算库及通用图优化库,对轮椅机器人的单目视觉传感器进行实时的重定位和移动轨迹的解算,而且还对实时获得的三维点云图像进行图优化处理;

步骤1.5、保存构建完毕的三维室内点云地图,并通过栅格化处理后,将栅格地图加载至轮椅机器人的触摸显示屏中,供自主导航所使用。

上述轮椅机器人的定位过程具体如下:

步骤2.1、在地图的全部区域进行全局采样,形成由N个样本组成的轮椅机器人的状态样本集;其中N为设定值;

步骤2.2、计算状态样本集中的每个样本的置信度;

步骤2.3、根据观测数据计算状态样本集中的每个样本的后验概率,并根据后验概率更新置信度;

步骤2.4、基于置信度对地图的全部区域进行重新采样,形成由N个样本组成的移动机器人的状态样本集;

步骤2.5、对步骤2.2-2.4进行迭代,直到样本以预定的概率收敛于某一位置,即实现了轮椅机器人在当前时刻的定位。

上述轮椅机器人的路径规划过程具体如下:

步骤3.1、蚁群算法在栅格图所表示的环境中进行全局路径规划;

步骤3.1.1、设置初始化循环次数、最大循环次数、起始栅格序号、目标栅格序号、当前全局最短路径长度以及各相邻栅格中心点连线上的初始信息素浓度;

步骤3.1.2、将所有蚂蚁放置在起始栅格上,将起始栅格设为每只蚂蚁的当前栅格;初始化本次循环中当前最短路径长度,并令本次循环中当前已经到达目标栅格的蚂蚁数目为0;

步骤3.1.3、若当前循环次数小于最大循环次数,则转至步骤3.1.4,否则,转至步骤3.1.9;

步骤3.1.4、对于每只蚂蚁,依次计算从当前栅格到每个待选栅格的相应转移概率,并采用轮盘赌方法得到下一个行进栅格;

步骤3.1.5、将下一个行进栅格的序号加入到该蚂蚁的路径表中,同时更新该蚂蚁当前已走路径长度;若下一个行进栅格不是目标栅格,则转至步骤3.1.6;否则,更新当前已经到达目标栅格的蚂蚁数目,同时停止其他尚未到达目标栅格的蚂蚁的搜索行为,更新全局最短路径,并转至步骤3.1.9;

步骤3.1.6、若当前已经到达目标栅格的蚂蚁数目为0,则将下一个行进栅格作为当前栅格,并转至步骤3.1.4;否则,转至步骤3.1.7;

步骤3.1.7、本轮寻径结束,对各条路径上的信息量进行衰减,同时对本轮寻径中最优蚂蚁所走路径的信息素浓度进行更新;

步骤3.1.8、清空每只蚂蚁保存的路径表,相应路径长度置为0;并让当前循环次数加1后,转至步骤3.1.2;

步骤3.1.9、输出全局最短路径及其长度,算法结束;

步骤3.2、在全局规划的同时,对于轮椅机器人在行进过程中出现的动态障碍物,采用动态栅格算法完成局部路径规划;

步骤3.2.1、在轮椅机器人正前方以轮椅机器人的两轮间距中心开出一个以长度R为半径的半圆形假象活动窗口,在活动窗口中建立一个以窗口中心点为坐标系原点的窗口坐标系,X轴正向为轮椅机器人的正前方;

步骤3.2.2、在活动窗口中,分出180/γ个角度为γ的扇面,分别代表不同的行驶方向,并将窗口中的栅格映射到所在扇面内;其中γ为设定值;

步骤3.2.3、根据轮椅机器人的结构尺寸和栅格大小,根据经验确定每个窗口栅格贡献的障碍权值,并基于该障碍权值计算每一个扇区的障碍密度;

步骤3.2.4、当存在左右两个候选扇区的障碍密度均为最小,且所需转角也相同时,按照给定的扇区选择规则选择最优扇区:

步骤3.2.5、当某个扇区内存在障碍权值大于1的栅格时,放弃该扇区,并按扇区选择规则在其他扇区中选择一个扇区作为最优扇区;

步骤3.2.6、轮椅机器人每到达一个新位置,读取超声波传感器信息,当所有扇区均为候选区域时表示此时处于无障碍的环境中,否则仍旧存在障碍;如若周围仍存在障碍,则转至步骤3.2.5;如没有障碍物,则以目标点为吸引点调整轮椅机器人的位姿,使其能够沿直线运动到目标点位置。

上述扇区选择规则为:当轮椅机器人同目标之间的方位差Δθ<0时,表明目标在轮椅机器人的左侧,选择左边的候选扇区为最优扇区;当轮椅机器人同目标之间的方位差Δθ>0时,表明目标在轮椅机器人的右侧,选择右边候选扇区作为最优扇区;当轮椅机器人同目标之间的方位差Δθ=0时,表明轮椅机器人正对目标,可以在两个候选扇区中随机选取最优扇区。

与现有技术相比,本发明具有如下特点:

1、能够实现轮椅的自主导航,即首先通过单目视觉传感器感知环境信息,并结合视觉SLAM算法对获取的环境特征进行三维点云地图的构建;接着将成形的点云地图进行保存、完善及栅格化处理;加载处理完成的栅格地图,采用蒙特卡罗算法对运动中的轮椅机器人自定位;最后在持续定位的同时,轮椅机器人又通过蚁群算法和动态栅格算法的结合使用,完成导航过程中的全局路径规划和局部动态路径规划;

2、轮椅机器人采用双嵌入式开发板(微下位机和主控制器),其中之一负责运行ROS系统并与上位机保持分布式通信,而另外一个则主要用于数据传输、程序运行及电机控制等工作。这种分工协作机制,不仅提高了工作效率,而且还保证了系统的实时性。

3、采用目前流行的轮椅机器人操作系统ROS,由于其本身的开源性,使得在利用ROS进行轮椅机器人开发时,有更为丰富的轮椅机器人服务框架可以找到,大大降低了开发难度;

4、轮椅机器人开发成本相对低廉;外形构架轻量简洁,易于拆卸和组装;局部机构模块用途广泛。

附图说明

图1为轮椅机器人的机械结构图,其中(a)为立体结构图;(b)为前视图;(c)为侧视图;(d)为后视图。

图2为轮椅机器人的硬件系统连接图。

图3为轮椅机器人的室内自主导航方法流程图。

图4为动态栅格法的活动窗口与扇区划分示意图。

图中标号:1、椅体,2、扶手,3、升降调节杆,4、升降旋转支柱,5、椅子底座、6、移动平台,7、超声波传感器,8、从动轮,9、远光灯,10、单目视觉传感器,11、散热孔,12、近光灯;13、主动轮,14、外设接口,15、充电接口,16、手控按钮,17、支柱托盘。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实例,并参照附图,对本发明进一步详细说明。

一种轮椅机器人,由座椅和移动平台6组成。其中座椅安装在移动平台6上,并随移动平台6移动。

上述座椅为可调节升降座椅,其可以采用现有技术中常见的座椅。在本实施例中,座椅主要由椅体1、扶手2、升降调节杆3、升降旋转支柱4、椅子底座5、手控按钮16及支柱托盘17组成。椅体1的椅背可进行前置翻转折叠90°。例如,将椅子底座5与移动平台6进行上下分离后,前者所形成的构件可充当普通座椅功用。若将椅背翻转折叠至90°,则所形成的台面可用于餐桌面的转盘支撑主体。而后者可应用于室内环境的物件搬运工作中。扶手2采用了拉杆伸缩式设计。扶手2上安装有手控按钮16,该手控按钮16可以手动控制轮椅机器人的转向移动以及扶手2的伸缩。支柱托盘17固定在椅体1的下方,椅子底座5固定在移动平台6的上方。升降旋转支柱4的上端连接支柱托盘17,下端连接椅子底座5。升降调节杆3与升降旋转支柱4相连,用于实现升降旋转支柱4的升降控制。参见图1。

上述移动平台6主要由开有散热孔11的壳体,以及设置在壳体内的供电模块、以及与供电模块连接的微下位机、主控制器、通信模块、外设接口14、单目视觉传感器10、触摸显示屏、超声波传感器7、惯性测量单元、主动轮13、从动轮8、电机驱动电路、驱动电机、照明驱动电路和照明灯组成。参见图2。

供电模块,则主要由电池和电源转换模块组成,电池电压通过电源转换模块转换为其他电压,供其他设备使用。电源转换模块通过壳体上的充电接口15与外部电源相连。

微下位机通过通信模块与上位机相连。上位机与微下位机均安装有相同版本的ROS,而且两者之间通过Wi-Fi进行分布式通信。上位机为附载了ubuntu14.04LTS系统的笔记本电脑。

主控制器与微下位机相连。微下位机与主控制器之间则通过串口或USB接口连接。在本实施例中,主控制器为ARM控制器。

触摸显示屏设在座椅上,并与微下位机相连。触摸显示屏为人机交互界面,使用者可以很便捷的设定目标位置,丰富了人机交互功能。

单目视觉传感器10朝向移动平台6的正前方,并与微下位机的输入端连接。单目视觉传感器10用来获取轮椅机器人周围环境信息,构建三维点云导航地图。此单目视觉传感器10最大可支持2048*1536分辨率成像,与微下位机之间采用USB线连接。

超声波传感器7朝向移动平台6的正前方,超声波传感器7与主控制器的输入端连接。超声波传感器7为避障模块。主控制器通过IO端口与均布在轮椅机器人移动平台6前方的超声波传感器7相连接,来检测轮椅机器人小范围内的障碍物,进而实现自动紧急避障。为了提高避障的精确性和范围的广泛性,本实施包含3个超声波传感器7,且均布在轮椅机器人移动平台6的前方,其中1个位于正中,另外2个位于左右两侧。

惯性测量单元位于移动平台6内,惯性测量单元与主控制器的输入端连接。惯性测量单元为运动导航模块,其内置有3轴加速度计、3轴陀螺仪、3轴磁力计。其中,加速度计检测物体在轮椅机器人坐标系统独立三轴的加速度信号;陀螺仪检测轮椅机器人相对于导航坐标系的角速度信号,测量物体在三维空间中的角速度和加速度。主控制器通过串口和CAN总线分别连接至惯性测量单元,在获取轮椅机器人角、加速度及里程信息的同时,主控制器通过卡尔曼滤波算法对数据进行处理来解算出物体的位姿信息。

主动轮13和从动轮8位于移动平台6的下方。主控制器的输出端经由电机驱动电路连接驱动电机,该驱动电机与主动轮13连接,驱动电机驱动主动轮13滚动,主动轮13带动从动轮8滚动。

照明灯朝向移动平台6的正前方,主控制器的输出端经由照明驱动电路连接照明灯。照明灯一方面用于夜间环境的功能性照明,另一方面为单目传感器提供光亮的感知环境。在本实施例中,照明灯包括远光灯9和近光灯12。

外设接口14与主控制器相连。外设接口14为外接移动设备提供便捷,其主要用于移动平台6的数据传输及后续轮椅机器人的功能扩展。在本实施例中,外设接口14包括2个USB、1个Type-C接口和1个充电接口15。

上述轮椅机器人的室内自主导航方法,包括了室内环境的地图构建、轮椅机器人的定位以及路径规划三个过程。第一,通过单目视觉传感器10感知环境信息,并结合视觉SLAM算法对获取的环境特征进行三维点云地图的构建;第二,将成形的点云地图进行保存、完善及栅格化处理;第三,加载处理完成的栅格地图,采用蒙特卡罗算法对运动中的轮椅机器人自定位;最后,在持续定位的同时,轮椅机器人又通过蚁群算法和动态栅格算法的结合使用,完成导航过程中的全局路径规划和局部动态路径规划。参见图3。

为完成导航过程中的地图构建,轮椅机器人通过单目视觉传感器10感知环境信息,并结合视觉SLAM算法对获取的环境特征进行三维点云地图的构建。具体步骤如下:

①建立上位机与微下位机之间的分布式通信,无线连接成功后在微下位机上启动ROS;

②运行上位机中的ROS系统,并对单目视觉传感器10进行标定,以便其在后续的图像采集中获得更好地捕捉视角;

③单目视觉传感器10标定完成后,在上位机中运行ROS开源的ORB_SLAM(2)算法;

④通过手动控制上位机的键盘发布速度控制指令,以缓速在室内环境移动,进而获取实时图像数据。在此过程中,ORB_SLAM(2)算法利用所依赖的OpenCV库进行图像处理的同时,又利用所依赖的DBoW2库、Eigen库及g2o库,对单目视觉传感器10进行实时的重定位和移动轨迹的解算,而且还对实时获得的三维点云图像进行图优化处理;

⑤保存构建完毕的三维室内点云地图,并通过栅格化处理后,将栅格地图加载至轮椅机器人的触摸显示屏中,供自主导航所使用。

根据加载的地图,采用蒙特卡罗算法对运动中的轮椅机器人自定位处理。具体步骤如下:

①全局采样。在地图的全部区域进行全局采样,形成由N个样本组成的轮椅机器人的状态样本集st-1。st-1={s1,t-1,s2,t-1,...,sN,t-1},si,t-1的置信度为

②预测阶段。对状态样本集st中的每个样本,按照式(1)~(3)计算其置信度bel(st)。

st=Ast-1+Bvt (1)

式中:s为轮椅机器人的状态样本集;v为轮椅机器人的运动速度;A为含有系统误差校正的矩阵;B为运动模型矩阵,含有运动不确定性的非系统误差。

bel(st)=∫p(st|at-1,st-1,m)bel(st-1)dst-1 (2)

式中:bel(st)为样本st的置信度;p(st|at-1,st-1,m)为轮椅机器人在状态样本为st-1时,执行了动作at-1后,在地图m中的状态样本为st的概率。

式中:P(n|nd)——给轮椅机器人的运动量命令nd后,轮椅机器人运动量为n的概率;σ为运动量高斯分布的方差;nm为运动量高斯分布的均值。

③更新阶段。对状态样本集st中的每个样本,根据观测数据o(t),按照式(5)计算样本的后验概率,按照式(4)更新置信度bel(st)。

bel(st)=ηp(ot|st,m)bel(st) (4)

式中:η为归一化系数;p(ot|st,m)为轮椅机器人在状态样本为st时,在地图m中的观测数据为ot的后验概率。

式中:p(ot|sit,m)为轮椅机器人在状态样本st中的第i个样本,在地图m中的观测数据为ot的后验概率;dm为利用激光扫描仪或超声传感器测量出的距离;dri为第i个样本sit在地图中的参考距离。

④重新采样阶段。基于置信度bel(st)重新采样,形成由N个样本组成的轮椅机器人的状态样本集st。st={s1t,s2t,…,sNt},sit的置信度重新设置为

事实上,式(5)就是根据观测出的距离进行地图匹配。上述两个阶段的算法,可以利用式(6)描述:

bel(st)=ηp(ot|st,m)∫p(st|at-1,st-1,m)bel(st-1)dst-1 (6)

⑤对步骤②到④进行迭代,直到样本以较高的概率收敛于某一位置,即实现了轮椅机器人在当前时刻的定位。

在轮椅机器人持续定位的同时,又通过蚁群算法和动态栅格算法的结合使用,完成导航过程中的全局路径规划和局部动态路径规划。

蚁群算法在栅格图所表示的环境中进行全局路径搜索的具体步骤为:

①设置初始化循环次数ncycle、最大循环次数Nmax、起始栅格序号start_id、目标栅格序号end_id、当前全局最短路径长度shortestlen以及各相邻栅格中心点连线上的初始信息素浓度τij(0)=C。

②将m只蚂蚁放置在起始栅格上,对所有蚂蚁置初始Tabu(k),将起始栅格设为每只蚂蚁的当前栅格gi(i=1,2,...,m);初始化本次循环中当前最短路径长度shorterlen,令本次循环中当前已经到达目标栅格的蚂蚁数目reachnum=0。

③若ncycle<Nmax,转④;否则转⑨。

④m只蚂蚁开始同时寻找下一个栅格。根据式(7)依次计算从gi到每个待选栅格的相应转移概率,并采用轮盘赌方法得到下一个行进栅格gnexti。

式中,α、β分别表示蚂蚁在运动过程中所积累的信息素浓度和启发式信息对于路径选择所起作用的重要性权值;ηij(t)是表征蚂蚁能见度的局部启发式函数,通常取为距离的倒数,即ηij(t)=1/dij;allowed(k)={1,2,...,n}-tabu(k),表示蚂蚁k下一步允许选择的栅格,tabu(k)用以记录蚂蚁k当前所走过的栅格。随着时间的推移,信息素将会逐渐挥发,用p表示信息素挥发后的剩余度。经过n个时刻后,蚁群完成一个循环的移动,此时,各条路径上的信息素浓度将按照全局调整规则进行调整:

式中,表示蚂蚁k在本次循环中留在路径<i,j>上的信息素浓度,通常采用基于全局信息的ant-cycle计算模型进行信息素浓度的更新处理:

其中,Q是表示信息素浓度的常数;Lk表示蚂蚁k在本次循环中所走路径的总长度。

⑤将gnexti的序号加入第k只蚂蚁的路径表,同时更新蚂蚁k当前已走路径长度。若gnexti不是目标栅格,转⑥;若gnexti是目标栅格,则更新reachnum,同时停止其他尚未到达目标栅格的蚂蚁的搜索行为,更新全局最短路径。

⑥若reachnum=0,则令gi=gnexti,转④;若reachnum>0,转⑦。

⑦本轮寻径结束,根据式(8)和式(9)对各条路径上的信息量进行衰减,并只对本轮寻径中最优蚂蚁所走路径的信息素浓度进行更新。

⑧清空每只蚂蚁保存的路径表,相应路径长度置为0;ncycle=ncycle+1,转②。

⑨输出全局最短路径及其长度,算法结束。

在利用蚁群算法进行全局规划的同时,对于在行进过程中出现的动态障碍物,轮椅机器人采用动态栅格法完成局部路径的规划。该算法在栅格图所表示的室内环境中进行局部动态路径搜索的具体步骤为:

①在轮椅机器人正前方以轮椅机器人的两轮间距中心开出一个以长度R为半径的半圆形假象活动窗口,在活动窗口中建立一个以窗口中心点为坐标系原点的窗口坐标系,X轴正向为轮椅机器人的正前方。设在世界坐标系下,cell(i,j)的坐标为(xe,ye),轮椅机器人位姿的坐标为(xr,yr,θr),则可将栅格坐标由世界坐标系映射至窗口坐标系:

其中,(xw,yw)为栅格cell(i,j)在窗口坐标系下的坐标值。

②在活动窗口中,分出180/γ个角度为γ的扇面,分别代表不同的行驶方向,如图4所示。按照下式将窗口中的栅格映射到所在扇面内:

式中,K为cell(i,j)所在扇面的序号,int为取整运算。图4中γ取20°,R为3m,栅格大小为0.3m×0.3m。

③根据轮椅机器人的结构尺寸和栅格大小,将每个窗口栅格贡献的障碍权值CVij可以按如下经验方式确定:

其中,L为传感器检测到的障碍物距离。对于每一个扇区K,计算其障碍密度为

H(K)=∑cell(i,j)∈KCVij (13)

H(K)在一定程度上可以反映出扇面K中的障碍物密集程度和远近程度。把H(K)低于某个阈值的区域称为候选扇区,为轮椅机器人下步行驶的安全区域。在同时存在几个候选扇区的情况下,以轮椅机器人运动付出的代价最小为选择依据,选择所需转动角度最小的那个扇区作为最优候选扇区,并作为轮椅机器人当前的行走方向。

④当存在左右两个候选扇区的H(K)值均为最小,且所需转角也相同时,按照如下规则选择候选扇区:当轮椅机器人同目标之间的方位差Δθ<0时,表明目标在轮椅机器人的左侧,选择左边的候选扇区为最优扇区;Δθ>0时,表明目标在轮椅机器人的右侧,选择右边候选扇区作为最优扇区;Δθ=0时,表明轮椅机器人正对目标,可以在两个候选扇区中随机选取最优扇区。

⑤轮椅机器人在行驶过程中,如果遇到CVij>1时,首先应该躲避此障碍。为此,当某个扇区内存在CVij>1的栅格时,放弃该扇区,并按以上原则在其他扇区中选择一个扇区作为最优扇区。

⑥轮椅机器人每到达一个新位置,读取超声波传感器7信息,当所有扇区均为候选区域时表示此时处于无障碍的环境中,否则仍旧存在障碍。如若周围仍存在障碍,则进入上述避障运动控制模式;如没有障碍物,则以目标点为吸引点调整轮椅机器人的位姿,使其能够沿直线运动到目标点位置。

由上述所述,在本发明中借助ROS作为自主导航的系统服务框架,它为导航过程中所涉及的各种改进算法或传统算法的验证,提供了一个便捷的实践平台,从而可以在短期内以更低的研发成本实现轮椅机器人的室内自主导航。

需要说明的是,尽管以上本发明所述的实施例是说明性的,但这并非是对本发明的限制,因此本发明并不局限于上述具体实施方式中。在不脱离本发明原理的情况下,凡是本领域技术人员在本发明的启示下获得的其它实施方式,均视为在本发明的保护之内。

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