[发明专利]一种机器人行走路径生成方法有效
申请号: | 202110386328.1 | 申请日: | 2021-04-09 |
公开(公告)号: | CN113094456B | 公开(公告)日: | 2022-09-13 |
发明(设计)人: | 张卓;岳凤彬;王黎明;柴玉梅 | 申请(专利权)人: | 郑州大学 |
主分类号: | G06F16/29 | 分类号: | G06F16/29;G06Q10/04 |
代理公司: | 郑州红元帅专利代理事务所(普通合伙) 41117 | 代理人: | 杨妙琴 |
地址: | 450001 河南*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 机器人 行走 路径 生成 方法 | ||
1.一种机器人行走路径生成方法,其特征在于,包括如下步骤:
步骤一,根据机器人所在环境,生成栅格形式背景K=(O,A,I),然后进入步骤二;
所述栅格形式背景为一个三元组K=(O,A,I)其中O为连续对象集合,即O={o1,o2,...,om}中的每个对象元素的下标连续,表示栅格表的行;A为连续属性集合A={a1,a2,...,an}中的每个属性元素的下标连续,表示栅格表的列;I是O与A之间的二元关系,oIa,o∈O,a∈A当且仅当o行a列处没有障碍物存在;
步骤二,根据栅格形式背景K,生成域概念格(CSK,≤),然后进入步骤三;
所述域概念格为一个栅格形式背景K所产生的所有域概念CSK和其上的偏序关系≤,所形成一个完备格,记为(CSK,≤);
所述域概念为对于一个栅格形式背景K=(O,A,I),并且满足f(X)=Y,g(Y)=X,则称二元组(X,Y)为一个域概念,其中X为域概念的外延,Y为域概念的内涵;CSK为记栅格形式背景K的全体概念;其中,函数f、g分别为形式概念分析中的伽罗瓦联系;
所述域概念之间的偏序关系为设(X1,Y1)和(X2,Y2)是栅格形式背景K=(O,A,I)的任一两个域概念,则定义称(X1,Y1)为(X2,Y2)的子概念,(X2,Y2)为(X1,Y1)的父概念;所述≤为集合CSK上的偏序;
步骤三,由域概念格生成方域图Graph_SF,然后进入步骤四;
所述方域为设(X,Y)是栅格形式背景K=(O,A,I)的任意一个域概念,其中对象集合X由一个或多个连续对象集组成,即X=O1∪O2∪…∪Ok,k<‖O‖,并且任意两个连续对象集的并集不为连续对象集;属性集合Y由一个或多个连续属性集组成,即Y=A1∪A2∪…∪Aj,j<‖A‖,并且任意两个连续属性集的并集不为连续的属性集;则二元组(S,T),其中S∈{O1,O2,…,Ok},T∈{A1,A2,…,Aj},称之为域概念(X,Y)的一个方域;
所述方域图Graph_SF为一个栅格形式背景K的域概念格中的每个域概念(X,Y)∈CSK,都具有其概念方域集SFS(X,Y),即Graph_SF=(CSK,≤,SFS(X,Y));
所述方域集SFS(X,Y)为一个域概念的所有方域的集合;
步骤四,根据机器人的起始位置PStart和目标点位置PTarget,从方域图Graph_SF中生成起始域概念集CSstart和目标域概念集CStarget;
对于一个栅格形式背景K=(O,A,I),起始位置PStart为一个二元组(x0,y0),x0为栅格形式背景的对象,即x0∈O;y0为栅格形式背景的属性,即y0∈A;同理,目标点位置PTarget也为一个二元组(x1,y1);
所述起始域概念集CSstart为所有起始域概念的集合;所述目标域概念集CStarget为所有目标域概念Ctarget的集合;所述目标域概念Ctarget为包含目标方域SFtarget的域概念;所述目标方域SFtarget为包含目标点位置的方域;
步骤五,对由起始域概念集CSstart中的每个起始域概念Cstart和其起始方域SFstart构成的每个候选路径节点(Cstart,SFstart)进行评估,并得到一个评估值Value,进而构成评估后路径节点三元组(Value,Cstart,SFstart),进入步骤六;
所述起始方域SFstart为包含起始位置的方域;所述起始域概念Cstart为包含起始方域的域概念;
所述路径节点为对于一个二元组(C,S),其中C为域概念,S为域概念C的方域,即S∈SFSC;
步骤六,初始化路径Path;并且将所有评估后路径节点三元组(Value,Cstart,SFstart)和路径Path中的最后一个节点last_path_node所构成的四元组(Value,last_path_node,Cstart,SFstart)放入候选路径节点列表candidat_list中;然后进入步骤七;
所述路径为由路径节点组成的序列,即P=(N0,N2,…,Nn),其中Ni=(Ci,SFi),0≤i≤n,为路径节点,并且满足SFi与SFi+1,in,衔接邻接;
所述衔接邻接为对于一个栅格形式背景K,(O1,T1)和(O2,T2)为其任意方域;如果则称方域(O1,T1)和(O2,T2)衔接邻接连通;
在初始化时路径Path为空,所以其最后一个节点为None,即last_path_node=None;
步骤七,依据value值对候选路径节点列表candidat_list中每个四元组进行排序,以升序放入栈Stack中;进入步骤八;
步骤八,如果栈Stack不为空,则进入步骤九;否则进入步骤二十二;
步骤九,栈Stack退栈,获得当前候选路径节点四元组,表示为(value,pre_node,cur_C,cur_SF);然后从路径Path获得最后一个节点,表示为last_path_node;进入步骤十;
步骤十,如果last_path_node为None或者pre_node等于路径列表的最后一个路径节点last_path_node,则进入步骤十一;否则进入步骤十六;
步骤十一,last_path_node为None或者last_path_node中的方域与当前方域cur_SF邻接,则进入步骤是十二;否则,进入步骤八;
步骤十二,如何当前方域cur_SF中没有到达目标点的路径信息,表示为则进入步骤十三;否则,进入步骤十九;
步骤十三,标记当前方域cur_SF已访问,即cur_SF.visit_flag=True;然后,添加候选路径节点(cur_C,cur_SF)到路径Path中,并进入步骤十四;
步骤十四,如果当前方域cur_SF包含目标点,即cur_SF∈SFStarget,则找到一条有效路径;进入步骤十五;否则进入步骤十七;
步骤十五,记录有效路径相关信息;进入步骤十六;
步骤十六,从路径Path中移除最后一个路径节点(cur_C,cur_SF);然后,标记当前方域cur_SF为未访问,即cur_SF.visit_flag=False;进入步骤八;
步骤十七,如果该方法还没有找到任何有效路径,即cur_min_path_cost0,或者路径长度|path|加1小于cur_min_path_cost,则进入步骤十八;否则进入步骤十六;
步骤十八,通过当前路径节点(cur_C,cur_SF),获得下一个候选路径节点列表cadidate_list;并放入栈Stack中;进入步骤八;
步骤十九,令forecast_cost等于当前路径长度和当前方域中路径长度之和,即forecast_cost=|path|+|cur_SF.path_list|;进入步骤二十;
步骤二十,如果forecast_cost小于cur_min_path_cost,则进入步骤二十一;否则,进入步骤八;
步骤二十一,当前path和当前方域cur_SF中路径信息之和为有效路径;记录该有效路径;进入步骤八;
步骤二十二,搜索完毕,所记录的有效路径即为最优路径。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州大学,未经郑州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110386328.1/1.html,转载请声明来源钻瓜专利网。