一种基于机器人的开放式自动化导航方法及系统与流程

文档序号:11198598阅读:675来源:国知局
一种基于机器人的开放式自动化导航方法及系统与流程

本发明涉及自动化导航系统技术领域,具体涉及一种基于机器人的开放式自动化导航方法及系统。



背景技术:

目前,对于医院、超市以及物流服务的场景,一般采用导航机器人完成货物的运输过程。传统的导航系统的导航方式采用红外、激光或ccd巡线方式,机器人沿指定规划路线精确运行且误差在毫米级别。但采用巡线方式导航中路径的为固定路径,对于一些需要避障以及自主规划路径的场合,巡线导航方式无法实现自主路径规划,使用具有局限性;另外由于是基于巡线进行导航,在空间大的情况下,需要全部贴条,耗费大量人力,物力,并且影响美观,有时还需要对导航环境做整体改造以保证足够的空间贴条。

有人提出采用定位配合最短路径规划算法的自动化导航方式;其中,所述定位为基于激光雷达或ccd成像的slam定位、基于无线基站的基站定位或利用陀螺仪/加速度计及码盘的基于里程的定位,定位精度为5~10cm,利用a*算法或改进的a*算法进行最短路径规划。采用定位配合最短路径规划算法的自动化导航方式,在路径规划过程对路径的规划有着不确定性,对于存在货架形成的窄道,或人流比较多以及需要机器人大幅度转角的场景,机器人如果把路径规划在上述场景中,机器人的运动会出现长时间堵塞、速度缓慢;另外,在一些特定的环境的局部区域中,需要对机器人进行高精度的导航。因此定位配合最短路径规划算法的自动化导航方式不能适用一些有特定需求的场景。



技术实现要素:

有鉴于此,本发明提供了一种基于机器人的开放式自动化导航方法及系统,实现在用户对部分路径干预下的自动化导航功能,同时实现不同的定位精度。

本发明通过以下技术方案来实现,基于机器人的开放式自动化导航方法包括如下步骤:

步骤1,依据机器人所运行的导航环境和用户需求,确定一般导航区、精确导航区、精确导航区入口、精确导航区出口、主路径区以及导航终点;

主路径区内设有两个以上的路径端点,每个路径端点都只与其相邻路径端点之间有路径;各路径端点之间的路径形成路径网络;其中以距离机器人当前位置最近的路径端点为主路径区入口,以距离导航终点最近的路径端点为主路径区出口;

步骤2,获取机器人实时数据,识别机器人当前位置,当机器人处在一般导航区时,利用自动化导航方式进行导航;当机器人处在精确导航区时,利用巡线导航方式进行导航;当机器人处在主路径区时,基于步骤1得到的路径网络,利用迪杰斯特拉算法,规划主路径区入口与主路径区出口之间的路径,得到主路径,机器人沿主路径运动,实现导航。

其中,精确导航区内设有缓冲条和巡线条;所述缓冲条连接精确导航区入口与巡线条起点,巡线条终点为精确导航区出口;自精确导航区入口到巡线条起点,缓冲条的宽度由5~10cm逐渐减小至0.5~1cm,缓冲条的长度介于20cm~100cm之间。

较佳地,自动化导航方式采用a*算法完成。

其中,缓冲条和巡线条为具有颜色辨识度的条。

基于机器人的开放式自动化导航系统包括服务器、传感器和控制器;

服务器用于设定一般导航区、精确导航区、精确导航区入口、精确导航区出口、主路径区以及导航终点,并将设定的数据传输至控制器;其中一般导航区内标定有两个以上路径端点;每个路径端点都只与其相邻路径端点之间有路径;各路径端点之间的路径形成路径网络;

传感器用于采集机器人及环境的实时数据并将实时数据发送给控制器;

控制器包括自动定位单元、精确定位单元和虚拟循迹单元;

控制器基于服务器提供的数据以及传感器发送的机器人及环境的实时数据,识别机器人处于一般导航区、精确导航区或主路径区,根据不同的识别结果控制机器人进行不同方式的导航:

当机器人处在一般导航区时,自动定位单元开启,自动定位单元用于控制机器人利用自动化导航方式进行自动化导航;

当机器人处在精确导航区时,精确定位单元开启,精确定位单元用于控制机器人利用巡线导航方式进行导航;

当机器人处在主路径区时,虚拟循迹单元开启,虚拟循迹单元基于路径网络,利用迪杰斯特拉算法,规划主路径区入口与主路径区出口之间的路径,得到主路径并控制机器人沿主路径运动。

其中,精确导航区内有缓冲条和巡线条;所述缓冲条连接精确导航区入口与巡线条起点,巡线条终点为精确导航区出口;自精确导航区入口到巡线条起点,缓冲条的宽度由5~10cm逐渐减小至0.5~1cm,缓冲条的长度介于20cm~100cm之间。

较佳地,系统还包括单片机处理器,在精确导航区,单片机处理器执行精确巡线任务,控制器导航功能暂时挂起或休眠;在主路径区与一般导航区,单片机处理器对传感器的数据进行初处理并将处理后的数据发送到控制器。

其中,控制器还包括安全控制单元,负责获取机器人与最近障碍物的方位与距离,当机器人与障碍物距离小于设定阈值时,控制机器人减速或暂停移动。

较佳地,控制器还包括时钟内核单元,时钟内核单元发布指定频率的激发消息,控制器在每收到一次激发消息后被唤醒一次,并执行一次路径规划。

其中,单片机处理器和控制器之间以及控制器和服务器之间通过无线通信方式连接。

有益效果:

1.本发明所述的基于机器人的开放式自动化导航方法,依据用户需求,将导航的场景确定为一般导航区、精确导航区与主路径区,在主路径区基于路径网络利用迪杰斯特拉算法,获得距离机器人当前位置最近的路径端点与距离终点端点距离最近的路径端点之间的路径;通过路径端点实现对路径规划的人为干预,使得导航准确可控、效率更高。

2.本发明所述的基于机器人的开放式自动化导航方法,将机器人自动导航和精确巡线定位结合,利用缓冲带实现一般导航区或主路径区到精确导航区的过渡。缓冲条的宽度由5~10cm逐渐减小至0.5~1cm,缓冲条的长度介于20cm~100cm之间,将不同精度的定位方式有效连接,实现了定位精度的适用性过渡,实现了顺畅的导航效果。

3.本发明所述的基于机器人的开放式自动化导航系统,基于控制器、传感器和服务器,实现了一种模块化的自动化导航系统,通过路径端点实现对路径规划的人为干预,实现准确、高效的导航。

4.本发明所述的基于机器人的开放式自动化导航系统,将机器人自动导航和精确巡线定位结合,实现了10cm~1mm不等的定位精度,适用于不同的场景需求。

5.本发明所述的基于机器人的开放式自动化导航系统,在精确导航区,由单片机处理器执行精确巡线任务,控制器导航功能暂时挂起或休眠,节约了系统能耗,减小了控制器的计算负荷;在主路径区与一般导航区,单片机处理器对传感器的数据进行初处理,利用无线通信方式与控制器进行通信,基于此,控制器能够不置于机器人内部,从而减小机器人重量,并延长机器人的续航时间。

附图说明

图1为本发明开放式自动化导航方法流程图。

图2为本发明系统硬件逻辑结构示意图,其中:

2.1为控制器;

2.2为单片机处理器;

2.3~2.n传感器;

图3为控制器内部示意图,其中:

3.1为slam定位节点;

3.2为外部接口节点;

3.3为系统的数据融合节点;

3.4为系统的pid控制节点;

3.5为系统的导航路径规划节点;

3.6为系统的路径规划节点;

3.7为系统的ccd精确定位节点;

3.0.1为单片机上传的,指定格式各硬件采集数据;

3.0.2为slam定位所需的数据流及地图数据;

3.0.3为slam定位节点计算得出的当前位置估计数据;

3.0.4为多数据融合后得到的当前位置估计数据;

3.0.5为系统采用a*等路径规划算法得到的任意路径数据;

3.0.6为系统采用节点间最短路径规划算法得到的路径轨迹数据;

3.0.7为系统经pid运算后向外部接口节点输出的轮胎控制数据;

3.0.8为外部接口节点向单片机输出的最终指令数据;

3.0.9为由ccd及固定线条计算得到的系统精确位置数据。

图4为系统整体导航过程示意图,其中:

4.1为导航起点;

4.2为导航终点;

4.3为虚拟路径起点;

4.4为虚拟路径终点;

4.5及4.6为a*算法规划的路径;

4.7为经迪杰斯特拉算法计算后,被抛弃的路径及端点;

4.8为障碍物。

图5为系统的机械结构示意图,其中:

5.1为指示灯;

5.2为slam所用激光雷达或景深ccd;

5.3为控制器;

5.4为单片机处理器;

5.5为驱动轮;

5.6为万向轮;

5.7为超声波壁障传感器;

5.8为线性ccd或激光精确定位单元。

图6为机器人在slam导航及精确导航状态切换的示意图,其中:

6.1为精确导航区;

6.2为机器人的精确运动路径;

6.3为规划路径与精确路径之间的缓冲带;

6.4为机器人基于slam定位的路径;

6.5为在slam路径下运动的机器人。

图7为本发明基于机器人的开放式自动化导航系统的组成示意图。

图8为本发明基于机器人的开放式自动化导航系统的控制器示意图。

具体实施方式

下面结合附图并举实施例,对本发明进行详细描述。

本发明提供了一种基于机器人的开放式自动化导航方法及系统,

一种基于机器人的开放式自动化导航方法,如图1所示,包括如下步骤:

步骤1,依据机器人所运行的导航环境和用户需求,确定一般导航区、精确导航区、精确导航区入口、精确导航区出口、主路径区以及导航终点;

主路径区内设有两个或两个以上的路径端点,并设定每个路径端点的相邻路径端点,每个路径端点都只与其相邻路径端点之间有路径;各路径端点之间的路径形成的路径网络;其中以距离机器人当前位置最近的路径端点为主路径区入口,以距离导航终点最近的路径端点为主路径区出口;

依据精确导航需求,在精确导航区内贴缓冲条和巡线条,进行人为路径规划;所述缓冲条一端与精确导航区入口相连,另一端与巡线条起点相连,巡线条终点位于精确导航区边界;沿精确导航区入口到巡线条起点方向,缓冲条的宽度由5~10cm逐渐减小至0.5~1cm,缓冲条的长度介于20cm~100cm之间;缓冲条和巡线条为具有颜色辨识度的条;

步骤2,获取机器人实时数据,识别机器人当前位置,确定出机器人是处在一般导航区、精确导航区或主路径区;

当机器人处在一般导航区时,利用自动化导航方式进行导航;

当机器人处在精确导航区时,利用巡线导航方式进行导航

当机器人处在主路径区时,基于步骤1得到的路径网络,利用迪杰斯特拉算法,规划主路径区入口与主路径区出口之间的路径,得到主路径,机器人沿主路径运动,实现导航。

本发明提供了一种基于机器人的开放式自动化导航系统,系统硬件逻辑结构示意图如图2所示,系统包括服务器、传感器和控制器;

服务器用于设定一般导航区、精确导航区、精确导航区入口、精确导航区出口、主路径区以及导航终点,并将设定的数据传输至控制器;其中一般导航区内标定有两个以上路径端点;每个路径端点都只与其相邻路径端点之间有路径;各路径端点之间的路径形成路径网络;

精确导航区内设有缓冲条和巡线条;所述缓冲条连接精确导航区入口与巡线条起点,巡线条终点为精确导航区出口;自精确导航区入口到巡线条起点,缓冲条的宽度由5~10cm逐渐减小至0.5~1cm,缓冲条的长度介于20cm~100cm之间;

传感器用于采集机器人及环境的实时数据并将实时数据发送给控制器;其中机器人及环境的实时数据包括机器人自身位置估计数据、机器人速度数据以及周围地形数据和机器人与障碍物的距离数据。

控制器包括自动定位单元、精确定位单元和虚拟循迹单元;

控制器基于服务器提供的数据和机器人及环境的实时数据,识别机器人处于一般导航区、精确导航区或主路径区,根据不同的识别结果控制机器人进行不同方式的导航:

当机器人处在一般导航区时,自动定位单元开启,自动定位单元用于控制机器人利用自动化导航方式进行自动化导航;

当机器人处在精确导航区时,精确定位单元开启,精确定位单元用于控制机器人利用巡线导航方式进行导航;

当机器人处在主路径区时,虚拟循迹单元开启,虚拟循迹单元基于路径网络,利用迪杰斯特拉算法,规划主路径区入口与主路径区出口之间的路径,得到主路径并控制机器人沿主路径运动。

优选地,系统还包括单片机处理器,在主路径区与一般导航区,对传感器的数据进行初处理,单片机处理器和控制器之间以及控制器和服务器之间通过无线通信方式连接。基于此,控制器能够不置于机器人内部,从而减小机器人重量,并延长机器人的续航时间;在精确导航区,由单片机处理器执行精确巡线任务,控制器导航功能暂时挂起或休眠,节约了系统能耗,减小了控制器的计算负荷。

系统组成示意图如图7所示,系统包括机器人外设、传感器、单片机处理器、控制器和服务器。控制器示意图如图8所示,除无线通信形式外,也可以通过接口单元进行通信;控制器还包括接口单元,接口单元包括输入连接端口以及控制连接端口,输入连接端口连接控制器与服务器,控制连接端口连接控制器与单片机处理器。

进一步地,控制器还包括安全控制单元,负责获取机器人与最近障碍物的方位与距离,当机器人与障碍物距离小于设定阈值时,控制机器人减速或暂停移动;控制器还包括时钟内核单元,时钟内核单元发布指定频率的激发消息,控制器在每收到一次激发消息后被唤醒一次,并执行一次运算,进行路径规划。控制器的各单元以程序节点的方式独立运行。

具体实施例:

控制器2.1为基于高运算速度处理器的主板,其本质为工控机硬件。控制器采用基于linux系统的ros软件包,可运行多个节点,安装位置如图5中5.3所示。

单片机处理器2.2通过io口或传感器设备2.3~2.n指定协议与各个传感器设备2.3~2.n之间进行通信,安装位置如图5中5.4所示。传感器设备2.3~2.n获取数据后,采用单片机处理器2.2内部程序对传感器设备2.3~2.n上传的各项数据进行初处理,将处理后的数据上传至控制器2.1。在精确导航区,控制器暂停路径规划功能,机器人由单片机处理器配合精确定位单元实现沿高光反射条的运动。

导航的实施由服务器发布目标点及相关请求进行激发。如图3与图4所示,服务器向控制器发布当前地图及固定障碍物4.8及所有主路径4.7与4.9数据。服务器经由外部接口节点3.2向控制器发送目标点4.2位置数据。系统经由slam定位节点3.1与多数据融合节点3.3计算出其自身位置数据3.0.4。在确定系统目标点以及自身位置数据后,软件系统开启路径规划节点3.5计算与导航机器人位置最近的主路径4.7与4.9路径端点,并采用a*路径规划算法规划导航机器人运动到主路径路径端点的路线4.5。同时开启路径规划节点3.6选择最优主路径4.9。

在主路径区,多条路径数据3.0.5与3.0.6由相应节点3.5与3.6以多点坐标格式送入pid控制节点3.4;pid控制节点调用slam定位3.1与多数据融合节点3.3计算出其自身位置数据3.0.4。经由其内部pid算法运算,最终向外部接口节点3.2输出能够沿指定路径运动的最佳轮胎驱动方案数据,该数据被输入单片机,单片机通过公式(1):

将该速度转化为左轮与右轮的速度,单片机通过航迹推演算法计算获得当前机器人的初步估计位置,该估计位置被上传至控制器。

控制器中的数据融合节点获取该估计位置,对该位置做卡尔曼滤波,滤波之后输出到slam定位节点,slam定位节点根据估计位置数据、周围地形数据以及周围地形数据所对应参考地图的部分,对估计位置数据进行修正,使得周围地形数据与其对应的参考地图部分相匹配。

控制器中的虚拟循迹单元基于路径网络,利用迪杰斯特拉算法,规划主路径区入口与主路径区出口之间的路径,得到主路径并控制机器人沿主路径运动。

本发明所述的导航系统如图5所示,自动定位单元采用slam定位方式,所需的传感器设备包括超声避障传感器5.1,激光雷达或景深ccd传感器5.2,轮胎码盘以及加速度传感器。这些传感器设备通过若干电缆与单片机处理器2.2相连接。单片机处理器通过usb,串口和网口总线与控制器2.1相连接,并进行基于总线协议的通信。采用激光雷达或景深ccd的slam算法定位精度为5~10cm。

在实际场景中,机器人在指定区域实现沿某指定规划路线精确运行且误差在毫米级别。如图6所示,需要精确运行的区域6.1为全局地图中的若干小块区域。机器人在该区域之外采用slam方式定位,并采用之前所述的自动化导航方式实现整体路径规划。当机器人企图进入精确运行区域并实现沿规划路径导航时,机器人首先自动化导航接近缓冲带6.3,并开启精确定位单元5.8。缓冲带与精确运动路径6.2为预先贴于指定区域的高光反射条。缓冲区域6.3为从区域边界到导航路径之间宽度由5~10cm不断减小至0.5~1cm的条带,条带长大于20cm,小于100cm。精确定位单元识别该条带,同时控制器暂停路径规划功能,机器人由单片机处理器配合精确定位单元实现沿高光反射条的运动。由于缓冲带的宽度不断减小,故机器人沿其路径横向的位置偏差也不断缩小,最后实现沿细路径6.2的精确导航。

当机器人脱离精确导航区时,重新采用slam定位,当机器人处在一般导航区时,自动定位单元开启,自动定位单元用于控制机器人利用自动化导航方式进行自动化导航;当机器人处在主路径区时,虚拟循迹单元开启,虚拟循迹单元基于路径网络,利用迪杰斯特拉算法,规划主路径区入口与主路径区出口之间的路径,得到主路径并控制机器人沿主路径运动。

综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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