当前位置: 首页 > 专利查询>郑州大学专利>正文

一种基于方域图的机器人行走路径生成方法技术

技术编号:31168231 阅读:58 留言:0更新日期:2021-12-04 13:27
本发明专利技术提供了一种基于方域图的机器人路径生成方法;首先,将栅格图转化为栅格形式背景,通过以概念格为基础构建方域图,根据方域之间的位置关系,采用广度优先策略,生成由连续矩形空间组成,从起点到终点的最短方域路径;然后,将该方域路径转化为由坐标点构成的最优驻点路径;方域路径是从起点到终点的最短连通区域,机器人使用该路径,可以在高效到达目标点的行进过程中,有一定的自主活动空间;机器人使用驻点路径,可以在坐标点之间直线行驶,达到转弯次数最少,且所经路途最短的效果。且所经路途最短的效果。且所经路途最短的效果。

【技术实现步骤摘要】
一种基于方域图的机器人行走路径生成方法


[0001]本专利技术涉及机器人行走路径生成
,具体涉及一种基于方域图的机器人行走路径生成方法。

技术介绍

[0002]机器人技术研究已发展到各行各业。在工业、医疗和军事等等多个领域得到了广泛的引用,涉及到各类学科。智能化的移动机器人通过自身传感器等装置感知周围环境的状态,将收集到的信息通过算法,快速而又准确的从起始点找到一条安全、没有碰撞绕过所有障碍物到达目标点的最优或次优路径。路径规划的方法根据获得的工作环境信息的程度,又可以将路径规划分为全局路径规划和局部路径规划两个方面。局部路径规划利用传感器获取未知环境中周围环境的信息,使机器人能够在不发生碰撞的情况下获得安全路径。全局路径规划是指机器人在移动之前已经获得了工作环境的信息,在已知环境信息下,找到起始点到目标点的最优路径。无论局部路径规划,还是全局路径规划都需要通过一定的技术方法来自动产生机器人行走路径。

技术实现思路

[0003]本专利技术的目的在于提供一种关于机器人的基于方域图的路径生成方法,给出一种生成机器人路径的技术方法。
[0004]本专利技术采用的技术方案为:
[0005]一种基于方域图的机器人路径生成方法,包括如下步骤:
[0006]步骤一,输入机器人的起始位置P
Start
、目标点位置P
Target
和方域图Graph_SF;进入步骤二;
[0007]所述方域图Graph_SF是由栅格形式背景K=(O,A,I)的域概念格生成,域概念格中的每个域概念都包含其概念方域集;
[0008]对于一个栅格形式背景K=(O,A,I),起始位置P
Start
为一个二元组(x0,y0),x0为栅格形式背景的对象,即x0∈O;y0为栅格形式背景的属性,即y0∈A;同理,目标点位置P
Target
也为一个二元组(x1,y1);
[0009]步骤二,生成起始域概念集CS
start
;进入步骤三;
[0010]所述起始域概念集为包含起始位置的方域,称之为起始方域,表示为SF
start
;包含起始方域的域概念,称之为起始域概念,表示为C
start
;所有起始域概念的集合,简称为起始域概念集,表示为CS
start

[0011]步骤三,对起始域概念集CS
start
中的每个起始域概念C
start
的起始方域SF
start
进行初始化赋值;
[0012]即SF
start
.flag_visit=true;
[0013]SF
start
.path_cost=0;
[0014]SF
start
.owner=C
start

[0015]SF
start
.pre_node=None;
[0016]并放入到队列queue中;进入步骤四;
[0017]步骤四,如果队列queue不为空,则进入步骤五;否则进入步骤二十七;
[0018]步骤五,队列queue第一个元素出队,即cur_SF=queue(0),进入步骤六;
[0019]步骤六,如果方域cur_SF不包含目标点位置P
Target
,则进入步骤七;否则进入步骤十四;
[0020]步骤七,获得方域cur_SF的所属域概念cur_C,即cur_C=cur_SF.owner;然后,将cur_C的所有直接子概念Sons(cur_C)和所有直接父概念Fathers(cur_C)放入候选列表candidate_concepts_list中,然后进入步骤八;
[0021]步骤八,如果候选列表candidate_concepts_list中还有未处理的域概念next_C,进入步骤九;否则进入步骤四;
[0022]步骤九,如果域概念next_C的方域集SFS
next_C
中有未处理的方域next_SF,进入步骤十;否则进入步骤八;
[0023]步骤十,如果方域next_SF与方域cur_SF衔接邻接,则进入步骤十一;否则进入步骤九;
[0024]方域之间的所述衔接邻接为:对于一个栅格形式背景K,(O1,T1)和(O2,T2)为其任意方域;如果则称方域(O1,T1)和(O2,T2)衔接邻接连通,简称衔接邻接;
[0025]步骤十一,如果方域还没有被访问过,即next_SF.flag_visit等于false,则进入步骤十二;否则进入步骤十三;
[0026]步骤十二,对next_SF进行操作,即令
[0027]next_SF.path_cost=cur_SF.path_cost+1;
[0028]next_SF.owner=next_C;
[0029]next_SF.pre_node=cur_SF;
[0030]next_SF.flag_visit=true;
[0031]然后将next_SF加入队列queue中,进入步骤九;
[0032]步骤十三,如果cur_SF.path_cost+1小于next_SF.path_cost,则令next_SF.pre_node=cur_SF;next_SF.path_cost=cur_SF.path_cost+1;进入步骤九;
[0033]步骤十四,由当前方域cur_SF生成到达目标点P
Target
的有效方域路径SF_path,进入步骤十五;
[0034]所述方域路径为由路径节点组成的序列,即SF_path=(N0,N2,

,N
n
),其中N
i
=(C
i
,S
i
),0≤i≤n,为路径节点,并且满足S
i
与S
i+1
,i<n,衔接邻接;
[0035]所述路径节点为:对于一个二元组(C,S),其中C是域概念,S是域概念C的方域,即S∈SFS
C

[0036]步骤十五,令cur_pos=P
start
=(x0,y0),驻点路径),驻点路径进入步骤十六;
[0037]所述驻点路径是由栅格形式背景K=(O,A,I)的点坐标组成的序列,即pos_path=(p0,p2,

,p
n
),其中点p
i
=(x
i
,y
i
),满足x
i
Iy
i
,x
i
∈O,y
i
∈A;所述点p
i
是机器人停留并且调整方向的位置,故称p
i
为驻点;
...

【技术保护点】

【技术特征摘要】
1.一种基于方域图的机器人路径生成方法,其特征在于,包括如下步骤:步骤一,输入机器人的起始位置P
Start
、目标点位置P
Target
和方域图Graph_SF;进入步骤二;所述方域图Graph_SF是由栅格形式背景K=(O,A,I)的域概念格生成,域概念格中的每个域概念都包含其概念方域集;对于一个栅格形式背景K=(O,A,I),起始位置P
Start
为一个二元组(x0,y0),x0为栅格形式背景的对象,即x0∈O;y0为栅格形式背景的属性,即y0∈A;同理,目标点位置P
Target
也为一个二元组(x1,y1);步骤二,生成起始域概念集CS
start
;进入步骤三;所述起始域概念集为包含起始位置的方域,称之为起始方域,表示为SF
start
;包含起始方域的域概念,称之为起始域概念,表示为C
start
;所有起始域概念的集合,简称为起始域概念集,表示为CS
start
;步骤三,对起始域概念集CS
start
中的每个起始域概念C
start
的起始方域SF
start
进行初始化赋值;即SF
start
.flag_visit=true;SF
start
.path_cost=0;SF
start
.owner=C
start
;SF
start
.pre_node=None;并放入到队列queue中;进入步骤四;步骤四,如果队列queue不为空,则进入步骤五;否则进入步骤二十七;步骤五,队列queue第一个元素出队,即cur_SF=queue(0),进入步骤六;步骤六,如果方域cur_SF不包含目标点位置P
Target
,则进入步骤七;否则进入步骤十四;步骤七,获得方域cur_SF的所属域概念cur_C,即cur_C=cur_SF.owner;然后,将cur_C的所有直接子概念Sons(cur_C)和所有直接父概念Fathers(cur_C)放入候选列表candidate_concepts_list中,然后进入步骤八;步骤八,如果候选列表candidate_concepts_list中还有未处理的域概念next_C,进入步骤九;否则进入步骤四;步骤九,如果域概念next_C的方域集SFS
next_C
中有未处理的方域next_SF,进入步骤十;否则进入步骤八;步骤十,如果方域next_SF与方域cur_SF衔接邻接,则进入步骤十一;否则进入步骤九;方域之间的所述衔接邻接为:对于一个栅格形式背景K,(O1,T1)和(O2,T2)为其任意方域;如果则称方域(O1,T1)和(O2,T2)衔接邻接连通,简称衔接邻接;步骤十一,如果方域还没有被访问过,即next_SF.flag_visit等于false,则进入步骤十二;否则进入步骤十三;步骤十二,对next_SF进行操作,即令next_SF.path_cost=cur_SF.path_cost+1;next_SF.owner=next_C;next_SF.pre_node=cur_SF;next_SF.flag_visit=true;
然后将next_SF加入队列queue中,进入步骤九;步骤十三,如果cur_SF.path_cost+1小于next_SF.path_cost,则令next_SF.pre_node=cur_SF;next_SF.path_cost=cur_SF.path_cost+1;进入步骤九;步骤十四,由当前方域cur_SF生成到达目标点P
Target
的有效方域路径SF_path,进入步骤十五;所述方域路径为由路径节点组成的序列,即SF_path=(N0,N2,

,N
n
),其中N
i
=(C
i
,S
i
),0≤i≤n,为路径节点,并且满足S
i
与S
i+1
,i<n,衔接邻接;所述路径节点为:对于一个二元组(C,S),其中C是域概念,S是域概念C的方域,即S∈SFS
C
;步骤十五,令cur_pos=P
start
=(x0,y0),驻点路径),驻点路径进入步骤十六;所述驻点路径是由栅格形式背景K=(O,A,I)的点坐标组成的序列,即pos_path=(p0,p2,

,p
n
),其中点p
i
=(x
i
,y
i
),满足x
i
Iy
i
,x
i
∈O,y
i
∈A;所述点p
i
是机器人停留并且调整方向的位置,故称p
i
为驻点;步骤十六,如果方域路径SF_path中有未处理的路径节点(cur_C,cur_SF),进入步骤十七;否则,进入步骤二十四;步骤十七,将candidate_list中属于当前方域cur_SF的点p,放入到list中,进入步骤十八;步骤十八,如果list不为空,则令candidate_list=list,进入步骤十六;否则进入步骤十九;步骤十九,pre_pos=cur_pos,进入步骤二十;步骤二十,如果candidate_list不为空,则从中根据欧式距离筛选距离目标点P
Target
最近的点cur_pos;进入步骤二十一;步骤二十一,将cur_pos加入到pos_path中,进入步骤二十二;步骤二十二,如果cur_pos.x==pre_p...

【专利技术属性】
技术研发人员:张卓皮揽宇岳风彬
申请(专利权)人:郑州大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1