CN112428271B - Real-time robot motion planning method based on multimodal information feature tree - Google Patents

Real-time robot motion planning method based on multimodal information feature tree Download PDF

Info

Publication number
CN112428271B
CN112428271B CN202011262159.2A CN202011262159A CN112428271B CN 112428271 B CN112428271 B CN 112428271B CN 202011262159 A CN202011262159 A CN 202011262159A CN 112428271 B CN112428271 B CN 112428271B
Authority
CN
China
Prior art keywords
feature
node
map
point set
new
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011262159.2A
Other languages
Chinese (zh)
Other versions
CN112428271A (en
Inventor
迟文政
袁媛
刘杰
丁智宇
陈国栋
孙立宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou University
Original Assignee
Suzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou University filed Critical Suzhou University
Priority to CN202011262159.2A priority Critical patent/CN112428271B/en
Publication of CN112428271A publication Critical patent/CN112428271A/en
Application granted granted Critical
Publication of CN112428271B publication Critical patent/CN112428271B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本发明公开了一种基于多模态信息特征树的机器人实时运动规划方法,包括获取环境地图,实时提取机器人的位姿信息,判断特征点对该环境地图的表征度是否已经完备,如果还未完备则使用角速度和距离融合对机器人的节点位姿进行特征初步提取,直到特征点的表征度完备获得最优特征点,得到最终特征点集,更新特征地图;如果已经完备则使用欧式距离对环境地图更新,得到特征地图;然后根据特征点集得到特征矩阵,根据起点、终点以及特征矩阵生成特征点的多模态信息特征树,得到启发式路径。本发明通过构建多模态信息特征树和实时提取特征点的方式快速找出可行区域的候选节点来优化基于随机采样的路径规划,解决陷阱空间、提高移动机器人的智能化。

Figure 202011262159

The invention discloses a real-time motion planning method for a robot based on a multimodal information feature tree, which includes acquiring an environment map, extracting the pose information of the robot in real time, and judging whether the representation degree of the feature point on the environment map is complete, and if not If it is complete, use angular velocity and distance fusion to perform preliminary feature extraction on the node pose of the robot, until the representation degree of the feature points is complete to obtain the optimal feature points, obtain the final feature point set, and update the feature map; if it is complete, use Euclidean distance to evaluate the environment. The map is updated to obtain the feature map; then the feature matrix is obtained according to the feature point set, and the multi-modal information feature tree of the feature points is generated according to the starting point, the end point and the feature matrix, and the heuristic path is obtained. The invention quickly finds out candidate nodes in feasible regions by constructing a multimodal information feature tree and extracting feature points in real time to optimize path planning based on random sampling, solve trap space and improve the intelligence of mobile robots.

Figure 202011262159

Description

基于多模态信息特征树的机器人实时运动规划方法Real-time robot motion planning method based on multimodal information feature tree

技术领域technical field

本发明涉及机器人运动规划技术领域,具体涉及一种基于多模态信息特征树的机器人实时运动规划方法。The invention relates to the technical field of robot motion planning, in particular to a real-time robot motion planning method based on a multimodal information feature tree.

背景技术Background technique

人工智能技术的发展给移动型服务机器人的研究带来了机遇,目前,引导机器人、扫地机器人、导购机器人、货物搬运机器人等移动型服务机器人已经成功应用到了机场、超市、博物馆、家庭等多种环境。移动型机器人路径规划是指在无人干预的条件下,在给定的初始点和目标点之间找到一条无碰撞且满足规定约束的路径。当前,主要的路径规划方法可以大致分为四种:基于栅格的路径规划、基于人工势场的路径规划、基于奖赏的路径规划和基于随机采样的运动规划。在这四种方法中,基于随机采样的路径规划算法计算量小、避障灵活并且不需要对环境建模,极大地减少了规划时间和内存成本,保障了路径规划的实时性,更适用于解决动态环境的路径规划问题。然而,在复杂的动态人机共融环境中,如迷宫、S弯道、狭缝等场景,同时存在行人等动态障碍物,机器人不是单纯地在纯粹静态的环境中运动的,还要顾及到动态的行人在随机的运动。由于可行区域在整个地图中的占比大大减少,随机采样到可行区域的概率随之下降,局部规划算法容易陷入陷阱空间,导致路径的规划时间变长甚至规划失败。同时,机器人没有被赋予“大脑记忆”的概念,同一场景机器人走过无数次,下次再走还是要重新规划路径,浪费计算资源。The development of artificial intelligence technology has brought opportunities for the research of mobile service robots. At present, mobile service robots such as guiding robots, sweeping robots, shopping guide robots, and cargo handling robots have been successfully applied to airports, supermarkets, museums, families, etc. surroundings. Path planning for mobile robots refers to finding a collision-free path between a given initial point and a target point that satisfies the specified constraints without human intervention. Currently, the main path planning methods can be roughly divided into four types: grid-based path planning, artificial potential field-based path planning, reward-based path planning, and random sampling-based motion planning. Among these four methods, the path planning algorithm based on random sampling has a small amount of calculation, flexible obstacle avoidance and no need to model the environment, which greatly reduces the planning time and memory cost, ensures the real-time performance of path planning, and is more suitable for Solve path planning problems in dynamic environments. However, in a complex dynamic human-machine integration environment, such as mazes, S-curves, slits and other scenes, there are dynamic obstacles such as pedestrians at the same time, the robot does not simply move in a purely static environment, but also takes into account Dynamic pedestrians in random movements. Since the proportion of feasible areas in the entire map is greatly reduced, the probability of randomly sampling feasible areas decreases, and the local planning algorithm is prone to fall into trap space, resulting in longer path planning time or even planning failure. At the same time, the robot is not given the concept of "brain memory". The robot has walked through the same scene countless times, and the next time it walks, it needs to re-plan the path and waste computing resources.

发明内容SUMMARY OF THE INVENTION

本发明要解决的技术问题是提供一种解决陷阱空间问题,实现节点复用,保证实时性和节省时间成本的基于多模态信息特征树的机器人实时运动规划方法。The technical problem to be solved by the present invention is to provide a real-time motion planning method for a robot based on a multimodal information feature tree that solves the trap space problem, realizes node multiplexing, ensures real-time performance and saves time and cost.

为解决上述技术问题,本发明提供了一种基于多模态信息特征树的机器人实时运动规划方法,包括以下步骤:In order to solve the above-mentioned technical problems, the present invention provides a real-time motion planning method for a robot based on a multimodal information feature tree, comprising the following steps:

步骤1:获取环境地图,实时提取机器人的节点位姿信息,判断特征点对该环境地图的表征度是否已经完备,如果还未完备则执行步骤2,如果已经完备则执行步骤4;Step 1: Obtain the environment map, extract the node pose information of the robot in real time, and determine whether the representation of the feature point to the environment map is complete, if not, go to step 2, and if it is complete, go to step 4;

步骤2:使用角速度通道和距离融合对机器人的节点位姿进行特征初步提取,获得初始特征点集,同时更新特征地图;Step 2: Use the angular velocity channel and distance fusion to perform preliminary feature extraction on the node pose of the robot, obtain the initial feature point set, and update the feature map at the same time;

步骤3:再次使用距离融合对初始特征点集进行进一步提取,直到特征点的表征度完备获得最优特征点,得到最终特征点集;Step 3: Use distance fusion again to further extract the initial feature point set, until the representation degree of the feature points is complete to obtain the optimal feature point, and obtain the final feature point set;

步骤4:使用欧式距离对环境地图更新,得到特征地图,完成实时特征提取;Step 4: Use the Euclidean distance to update the environment map, obtain the feature map, and complete the real-time feature extraction;

步骤5:根据特征点集得到特征矩阵,根据起点、终点以及特征矩阵生成特征点的多模态信息特征树,在特征地图上得到启发式路径。Step 5: Obtain a feature matrix according to the feature point set, generate a multimodal information feature tree of the feature points according to the starting point, the ending point and the feature matrix, and obtain a heuristic path on the feature map.

进一步地,所述步骤1中判断特征点对该环境地图的表征度是否已经完备的方法为,每次打开终端进行路径规划前,检查此次的环境地图是否有对应的特征文件,若有对应的特征文件则通过特征文件中的特征点判断表征度是否完备,若无对应的特征文件则表征度不完备;在机器人完成此次环境地图上的路径规划并关闭终端时,生成该环境地图的对应的特征文件。Further, in the step 1, the method for judging whether the representation degree of the feature point on the environmental map is complete is to check whether the environmental map has a corresponding feature file each time before opening the terminal for path planning, and if there is a corresponding feature file. If there is no corresponding feature file, the characterization degree is incomplete; when the robot completes the path planning on the environment map and closes the terminal, the environment map will be generated. corresponding feature file.

进一步地,所述步骤1的具体过程为:Further, the specific process of the step 1 is:

步骤1-1:给定导航目标,机器人基于Risk-RRT算法开始路径规划,实时获取机器人在路径规划过程中的节点位姿信息Gm=(xm,ym,ωm),其中,x、y表示节点的位置,ω表示节点的角速度大小;Step 1-1: Given a navigation target, the robot starts path planning based on the Risk-RRT algorithm, and obtains the node pose information G m =(x m , y m , ω m ) of the robot in the process of path planning in real time, where x , y represents the position of the node, and ω represents the angular velocity of the node;

步骤1-2:每次打开终端的时候判断特征文件是否存在,并通过特征文件计算地图上无障碍区域的点能找到它所对应的特征点编号的个数与无障碍区域的所有点的比值representative,用于表示表征度;Step 1-2: Determine whether the feature file exists every time you open the terminal, and calculate the ratio of the number of corresponding feature point numbers to all the points in the barrier-free area by calculating the points in the barrier-free area on the map through the feature file. representative, used to represent the degree of representation;

若不存在特征文件,则令representative=0,初始化特征地图MF为一个与环境地图同等大小的二维零矩阵,初始化特征点集GFP为空集,执行步骤2;If there is no feature file, set representative=0, initialize the feature map MF as a two-dimensional zero matrix of the same size as the environment map, initialize the feature point set GFP as an empty set, and execute step 2;

若存在特征文件但表征度不完备,则将特征文件里存储的节点Gnew=(xn,yn)存进特征点集GFP中,执行步骤2;If there is a feature file but the degree of representation is incomplete, store the node G new = (x n , y n ) stored in the feature file into the feature point set GFP , and execute step 2;

若存在特征文件且表征度完备,将特征文件里存储的节点Gnew=(xn,yn)存进特征点集GFP,执行步骤4。If the feature file exists and the degree of representation is complete, store the node G new =(x n , yn ) stored in the feature file into the feature point set G FP , and execute step 4 .

进一步地,所述步骤2的具体过程为:Further, the specific process of the step 2 is:

步骤2-1:使用角速度通道来提取角速度大于预设阈值的节点,记作Gnew=(xn,yn);Step 2-1: Use the angular velocity channel to extract nodes whose angular velocity is greater than the preset threshold, denoted as G new =(x n , y n );

步骤2-2:若表征度不完备,执行步骤2-3;若表征度完备,执行步骤2-5;Step 2-2: If the degree of characterization is incomplete, go to step 2-3; if the degree of characterization is complete, go to step 2-5;

步骤2-3:判断特征点集GFP是否为空,如果是空则直接将节点Gnew存进特征点集GFP,并返回执行步骤2-1;如果不是空,则执行步骤2-4;Step 2-3: Determine whether the feature point set G FP is empty, if it is empty, directly store the node G new in the feature point set G FP , and return to step 2-1; if it is not empty, execute step 2-4 ;

步骤2-4:使用欧氏距离通道将节点Gnew与特征点集GFP中的所有节点Gi=(xi,yi)依次进行欧氏距离计算,判断该欧式距离是否小于等于预设的第一次距离融合阈值,如果是,返回执行步骤2-1;Step 2-4: Use the Euclidean distance channel to calculate the Euclidean distance between the node G new and all the nodes G i =(x i ,y i ) in the feature point set G FP in turn, and determine whether the Euclidean distance is less than or equal to the preset The first distance fusion threshold of , if yes, return to step 2-1;

如果节点Gnew与特征点集GFP中的所有节点的距离都大于预设的第一次距离融合阈值,则将节点Gnew添加进特征点集GFP,将GFP带入步骤3并执行;If the distance between node G new and all nodes in feature point set G FP is greater than the preset first distance fusion threshold, add node G new into feature point set G FP , bring G FP into step 3 and execute ;

步骤2-5:将节点Gnew与特征点集GFP中的所有节点Gi=(xi,yi)依次进行欧氏距离计算,判断该欧氏距离是否小于等于预设的第一次距离融合阈值,如果是则执行步骤2-6,如果不是则执行步骤4;Step 2-5: Calculate the Euclidean distance between the node G new and all nodes G i =(x i ,y i ) in the feature point set G FP in turn, and determine whether the Euclidean distance is less than or equal to the preset first time Distance fusion threshold, if yes, go to step 2-6, if not, go to step 4;

步骤2-6:将特征地图MF中栅格点与节点Gnew依次进行碰撞检测,如果碰撞检测全部都通过且特征地图MF中的栅格点与节点Gnew的距离之和小于特征地图MF中的栅格点与原先的特征节点的距离之和,则节点Gnew替换原有特征节点Gi=(xi,yi),更新特征地图,将GFP带入步骤4并执行,否则执行步骤5。Step 2-6: Perform collision detection between the grid points in the feature map MF and the node G new in turn, if all the collision detections pass and the sum of the distances between the grid points in the feature map MF and the node G new is smaller than the feature map The sum of the distances between the grid points in MF and the original feature nodes, then the node G new replaces the original feature node G i =(x i , y i ), updates the feature map, brings the G FP into step 4 and executes , otherwise go to step 5.

进一步地,所述步骤2-1中使用角速度通道来提取角速度大于预设阈值的节点时,每隔一定数量的间隔提取节点,用于减少节点的冗余度。Further, when the angular velocity channel is used to extract the nodes whose angular velocity is greater than the preset threshold in the step 2-1, the nodes are extracted at intervals of a certain number to reduce the redundancy of the nodes.

进一步地,所述步骤3的具体过程为:Further, the specific process of the step 3 is:

步骤3-1:初始化计数c为0,初始化要保存的特征点集GR为空集;提取特征点集GFP中的每个节点Gi=(xi,yi)的相邻特征节点集合;Step 3-1: Initialize the count c to 0, initialize the feature point set GR to be saved as an empty set; extract the adjacent feature nodes of each node G i =(x i ,y i ) in the feature point set GFP gather;

步骤3-2:初始化i为1;Step 3-2: Initialize i to 1;

步骤3-3:判断i是否小于等于特征点集GFP的个数n,如果是则执行步骤3-4,如果不是则执行步骤3-6;Step 3-3: Determine whether i is less than or equal to the number n of the feature point set G FP , if so, go to step 3-4, if not, go to step 3-6;

步骤3-4:判断第i个节点的相邻特征节点集合的个数是否小于等于3,如果是则进行步骤3-5,如果不是则令i=i+1并返回执行步骤3-3;Step 3-4: Determine whether the number of adjacent feature node sets of the i-th node is less than or equal to 3, if so, go to step 3-5, if not, set i=i+1 and return to step 3-3;

步骤3-5:将节点Gi=(xi,yi)本身及其相邻特征节点集合里的节点添加进点集GR中;判断相邻特征节点集合的个数是否小于等于1,如果是,则计数c+1;如果i不等于特征点集GFP的个数n则令i=i+1并返回执行步骤3-3,否则执行步骤3-6;Step 3-5: Add the node G i =(x i , y i ) itself and the nodes in the adjacent feature node set into the point set GR ; determine whether the number of adjacent feature node sets is less than or equal to 1, If so, count c+1; if i is not equal to the number n of the feature point set G FP , then set i=i+1 and return to step 3-3, otherwise perform step 3-6;

步骤3-6:对点集GR进行删重处理,如果特征点集GFP的个数n大于等于点集GR的个数-1,则更新特征地图,将特征点集GFP带入步骤4并执行,否则执行步骤3-7;Step 3-6: Perform deduplication processing on the point set GR , if the number n of the feature point set G FP is greater than or equal to the number n of the point set GR -1, update the feature map, and bring the feature point set G FP into Step 4 and execute, otherwise execute steps 3-7;

步骤3-7:将特征点集GFP除去点集GR的其余所有节点添加到点集GD中,进行第二次距离融合删除特征点,更新特征地图,此时的特征点集GFP即为最终特征点集GFP',将GFP'带入步骤4并执行。Step 3-7: Add all the remaining nodes from the feature point set GFP except the point set GR to the point set GD , perform the second distance fusion to delete the feature points, and update the feature map. At this time, the feature point set GFP That is, the final feature point set G FP ', bring G FP ' into step 4 and execute.

进一步地,所述距离融合的具体方法为:Further, the specific method of the distance fusion is:

取点集中的节点Gx,与点集中的其余节点Gx1连线,在地图上做碰撞检测以及欧氏距离计算,如果碰撞检测通过且距离小于人为设定的距离融合的距离阈值,则从点集中删除节点Gx1,直到点集中的所有点都已经检测完毕。Take the node G x in the point set, connect it with the remaining nodes G x1 in the point set, and perform collision detection and Euclidean distance calculation on the map. If the collision detection passes and the distance is less than the artificially set distance fusion distance threshold, then from The node G x1 is deleted from the point set until all points in the point set have been detected.

进一步地,所述步骤4的具体过程为:Further, the specific process of the step 4 is:

步骤4-1:初始化标志位为0,用于表示地图上无障碍物区域的点是否都找到了它所对应的特征点编号,将GFP'中的所有节点坐标转换为栅格坐标,记作Gi1=(xi1,yi1);Step 4-1: The initialization flag bit is 0, which is used to indicate whether the points in the obstacle-free area on the map have found their corresponding feature point numbers, and convert all the node coordinates in the G FP ' into grid coordinates, and record Let G i1 =(x i1 , y i1 );

步骤4-2:遍历二维栅格地图MP中无障碍物区域的所有栅格点(ik,jk),初始化count为0,初始化min_dist为地图长度×地图宽度;将栅格点(ik,jk)依次与GFP'中的特征节点Gi1连线在地图上做碰撞检测,如果碰撞检测通过,则计算两点之间的欧氏距离dist1,如果dist1小于min_dist,则在特征地图MF中更新栅格点(ik,jk)的对应值为特征节点的编号i并且min_dist更新为dist1的值;如果碰撞检测未通过,则计数count+1;直至GFP'中的所有节点遍历结束,如果count=GFP'的个数n,则令标志位为1,并退出循环,返回步骤2;如果count≠GFP'的个数n,则重复步骤4-2直至二维栅格地图Mp中无障碍物区域的所有栅格点都遍历结束,得到特征地图MFStep 4-2: Traverse all grid points (i k , j k ) in the obstacle-free area in the two-dimensional grid map MP, initialize count to 0, and initialize min_dist to map length × map width; i k , j k ) are sequentially connected with the feature node G i1 in the GFP ' to perform collision detection on the map. If the collision detection passes, the Euclidean distance dist 1 between the two points is calculated. If dist 1 is less than min_dist, Then update the corresponding value of the grid point ( ik , jk ) in the feature map MF to the number i of the feature node and update min_dist to the value of dist 1 ; if the collision detection fails, count count+1; until G The traversal of all nodes in FP ' ends, if count=the number n of G FP ', set the flag bit to 1, and exit the loop, and return to step 2; if count ≠ the number n of G FP ', repeat step 4 -2 until all grid points in the obstacle-free area in the two-dimensional grid map M p are traversed, and the feature map M F is obtained;

步骤4-3:如果标志位等于0,则表征度完备,令representative等于1,否则令representative等于0。Step 4-3: If the flag bit is equal to 0, the representation degree is complete, and let the representative be equal to 1, otherwise, let the representative be equal to 0.

进一步地,所述步骤5的具体过程为:Further, the specific process of the step 5 is:

步骤5-1:选定GFP'中的某一节点GFPi,将其余节点GFPx与节点GFPi的连线在地图上做碰撞检测,如果碰撞检测通过,则将两点之间的欧氏距离存入特征矩阵PF(i,x),否则将0存入PF(i,x);Step 5-1: Select a node G FPi in G FP ', and check the connection between the remaining nodes G FPx and node G FPi on the map for collision detection. The distance is stored in the feature matrix P F (i, x), otherwise 0 is stored in P F (i, x);

步骤5-2:在特征地图MF中找到起点位置对应的特征节点编号,并将其加入到多模态信息特征树T中,完成多模态信息特征树T的初始化,初始化开放节点集合为Topen=T;Step 5-2: Find the feature node number corresponding to the starting point in the feature map MF, and add it to the multimodal information feature tree T , complete the initialization of the multimodal information feature tree T, and initialize the set of open nodes as: T open = T;

步骤5-3:判断开放节点的个数是否大于零,如果是,则进行步骤5-4;如果否,则进行步骤5-10;Step 5-3: determine whether the number of open nodes is greater than zero, if so, go to step 5-4; if not, go to step 5-10;

步骤5-4:提取第一个开放节点topen,将topen从开放节点集合Topen中移除;Step 5-4: extract the first open node t open , and remove t open from the open node set T open ;

步骤5-5:从特征地图MF中提取topen的兴趣区域AOI;Step 5-5: Extract the AOI of the open area of interest from the feature map MF;

步骤5-6:在兴趣区域AOI中提取topen的所有相邻特征节点XnewStep 5-6: Extract all adjacent feature nodes X new of t open in the area of interest AOI;

步骤5-7:判断相邻特征节点集合Xnew是否为空,如果为空,则执行步骤5-3;如果不为空,则执行步骤5-8;Step 5-7: Determine whether the adjacent feature node set X new is empty, if it is empty, go to step 5-3; if it is not empty, go to step 5-8;

步骤5-8:取Xnew的第一个节点xnew,在多模态信息特征树T上寻找xnew的最近邻点xparent,判断xparent是否存在,如果不存在,则将xnew从Xnew中移除,并返回执行步骤5-7;如果存在,则执行步骤5-9;Step 5-8: Take the first node x new of X new , find the nearest neighbor x parent of x new on the multimodal information feature tree T, and judge whether x parent exists . Remove from X new , and return to step 5-7; if it exists, execute step 5-9;

步骤5-9:将xnew加入到多模态信息特征树T和开放节点集合Topen中,将xnew从Xnew中移除,返回执行步骤5-7;Step 5-9: add x new to the multimodal information feature tree T and the open node set T open , remove x new from X new , and return to step 5-7;

步骤5-10:在特征地图MF中找到终点位置对应的特征节点,通过反向搜索多模态信息特征树T,找到从起点到终点的路径;Step 5-10: Find the feature node corresponding to the end position in the feature map MF, and find the path from the start point to the end point by reverse searching the multimodal information feature tree T ;

步骤5-11:返回执行步骤2-1。Step 5-11: Return to step 2-1.

进一步地,所述步骤5-5中从特征地图MF中提取topen的兴趣区域AOI的具体方法为,Further, the specific method for extracting the area of interest AOI of t open from the feature map MF in the step 5-5 is,

在特征地图MF中,搜索所有值为topen的点,记录所有点中坐标的极限值xmin、xmax、ymin、ymax,选取坐标极限值对应的方形区域为兴趣区域AOI。In the feature map MF , search for all points with a value of t open , record the limit values x min , x max , y min , and y max of the coordinates in all points, and select the square area corresponding to the coordinate limit value as the area of interest AOI.

本发明通过构建多模态信息特征树和实时提取特征点的方式快速找出可行区域的候选节点来优化基于随机采样的路径规划,解决陷阱空间、提高移动机器人的智能化,使得在复杂的动态人机共融环境中可以高效快速地找到移动机器人的最优运动轨迹。By constructing a multimodal information feature tree and extracting feature points in real time, the invention can quickly find out the candidate nodes of the feasible area to optimize the path planning based on random sampling, solve the trap space, and improve the intelligence of the mobile robot, so that in complex dynamic The optimal motion trajectory of the mobile robot can be found efficiently and quickly in the human-machine integrated environment.

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。The above description is only an overview of the technical solution of the present invention. In order to understand the technical means of the present invention more clearly, and implement it according to the content of the description, the preferred embodiments of the present invention are described in detail below with the accompanying drawings.

附图说明Description of drawings

图1是本发明的流程图。Figure 1 is a flow chart of the present invention.

图2是本发明实施例中通过角速度通道和距离融合提取特征点的示意图。FIG. 2 is a schematic diagram of extracting feature points through angular velocity channel and distance fusion in an embodiment of the present invention.

图3是本发明实施例中第二次距离融合的示意图。FIG. 3 is a schematic diagram of a second distance fusion in an embodiment of the present invention.

图4是本发明实施例中最终提取的特征点的示意图。FIG. 4 is a schematic diagram of finally extracted feature points in an embodiment of the present invention.

图5是本发明实施例中多模态信息特征树以及启发式路径的示意图。FIG. 5 is a schematic diagram of a multimodal information feature tree and a heuristic path in an embodiment of the present invention.

具体实施方式Detailed ways

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。The present invention will be further described below with reference to the accompanying drawings and specific embodiments, so that those skilled in the art can better understand the present invention and implement it, but the embodiments are not intended to limit the present invention.

在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第二”、“第一”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”意图在于覆盖不排他的包含,例如包含了一系列步骤或单元的过程、方法、系统、产品或设备,没有限定于已列出的步骤或单元而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。In the description of the present invention, it should be understood that the terms "first" and "second" are only used for description purposes, and cannot be interpreted as indicating or implying relative importance or the number of indicated technical features. Thus, a feature defined as "second" or "first" may expressly or implicitly include one or more of that feature. The term "comprising" is intended to cover non-exclusive inclusion, such as a process, method, system, product or device comprising a series of steps or elements, not limited to the listed steps or elements but optionally also including no listed out steps or units, or optionally also include other steps or units inherent to these processes, methods, products or devices.

参照图1-5所示,本发明一种基于多模态信息特征树的机器人实时运动规划方法的实施例,包括以下步骤:1-5, an embodiment of a real-time robot motion planning method based on a multimodal information feature tree of the present invention includes the following steps:

步骤1:获取环境地图,实时提取机器人的节点位姿信息,判断特征点对该环境地图的表征度是否已经完备(表征度完备的前提是每得到一个符合条件的特征点都要计算特征地图,特征地图会计算地图上的所有点有没有找到他所对应的特征点,只有当每个地图上的点都找到它所对应的那个特征点表征度就是完备的),如果还未完备则执行步骤2,如果已经完备则执行步骤4。判断特征点对该环境地图的表征度是否已经完备的方法为,每次打开终端进行路径规划前,检查此次的环境地图是否有对应的特征文件,若有对应的特征文件则通过特征文件判断表征度是否完备,若无对应的特征文件则表征度不完备;在机器人完成此次环境地图上的路径规划并关闭终端时,生成该环境地图的对应的特征文件。Step 1: Obtain the environment map, extract the node pose information of the robot in real time, and determine whether the representation degree of the feature point on the environment map is complete (the premise of the complete representation degree is that the feature map must be calculated for each qualified feature point, The feature map will calculate whether all the points on the map have found their corresponding feature points. Only when each point on the map finds its corresponding feature point, the characterization degree is complete). If it is not complete, go to step 2. , if it is complete, go to step 4. The method for judging whether the representation degree of the feature point on the environmental map is complete is to check whether the environmental map has a corresponding feature file each time before opening the terminal for path planning. If there is a corresponding feature file, judge by the feature file. Whether the characterization degree is complete, if there is no corresponding feature file, the characterization degree is incomplete; when the robot completes the path planning on the environment map and closes the terminal, the corresponding feature file of the environment map is generated.

本实施例中,设置fp.txt、feature_map.txt、feature_matrix.txt三个特征文件,其中fp.txt为特征点文件,存储了特征点的x、y坐标信息,fp.txt文件两列n行,n为特征点的个数,第一列为特征点的x坐标,第二列为特征点的y坐标;feature_map.txt为特征地图文件,存储了环境地图上的每一个栅格点所能连接的最近的特征点的编号;feature_matrix.txt为特征矩阵文件,文件存储了n个特征点的相连情况以及两两邻居节点之间的距离。每次打开终端的时候判断fp.txt、feature_map.txt、feature_matrix.txt这三个文件是否存在。若无对应的fp.txt特征点文件则机器人是第一次在该环境地图上进行运动规划,表征度不完备;若有对应的特征点文件fp.txt而无对应的feature_map.txt、feature_matrix.txt文件则机器人不是第一次在该环境地图上进行运动规划且表征度不完备;若有对应的fp.txt、feature_map.txt、feature_matrix.txt,则表征度完备。只在每次关闭终端时将此时的特征节点集合GFP写入fp.txt文件,可以减少运行过程的计算量,提高运行速度。并且,仅在表征度完备的时候关闭终端才会生成该环境地图对应的特征地图文件和特征矩阵文件,即表征度完备时才会在每次关闭终端时更新特征地图feature_map.txt文件和特征矩阵feature_matrix.txt文件,并写入对应的txt文件中。In this embodiment, three feature files, fp.txt, feature_map.txt, and feature_matrix.txt are set, wherein fp.txt is the feature point file, which stores the x and y coordinate information of the feature points, and the fp.txt file has two columns and n lines. , n is the number of feature points, the first column is the x-coordinate of the feature point, and the second column is the y-coordinate of the feature point; feature_map.txt is the feature map file, which stores the capabilities of each grid point on the environment map. The number of the closest feature points connected; feature_matrix.txt is the feature matrix file, which stores the connection of n feature points and the distance between two neighboring nodes. Every time you open the terminal, determine whether the three files fp.txt, feature_map.txt, and feature_matrix.txt exist. If there is no corresponding fp.txt feature point file, it is the first time that the robot performs motion planning on the environment map, and the degree of representation is incomplete; if there is a corresponding feature point file fp.txt but no corresponding feature_map.txt, feature_matrix. txt file, it is not the first time that the robot performs motion planning on the environment map and the characterization is incomplete; if there are corresponding fp.txt, feature_map.txt, feature_matrix.txt, the characterization is complete. The feature node set G FP at this time is written into the fp.txt file only every time the terminal is closed, which can reduce the calculation amount of the running process and improve the running speed. Moreover, the feature map file and feature matrix file corresponding to the environment map will be generated only when the terminal is closed when the characterization degree is complete, that is, the feature map feature_map.txt file and feature matrix will be updated every time the terminal is closed when the characterization degree is complete. The feature_matrix.txt file is written to the corresponding txt file.

步骤1-1:给定导航目标,机器人基于Risk-RRT方法(见文献“C.Fulgenzi,A.Spalanzani,C.Laugier,and C.Tay,“Risk based motion planning and navigationinuncertain dynamic environment,”Res.Rep.,pp.1–14,2010.”)开始路径规划,实时提取机器人的节点位姿信息的方法为通过订阅/amcl_pose和/robot_0/odom话题实时获取机器人在路径规划过程中的节点位姿信息。其中/amcl_pose话题记录了机器人实时的x、y坐标信息;/robot_0/odom话题记录了在前述位置所对应的机器人角速度信息,记作Gm=(xm,ym,ωm),其中,x、y表示节点的位置,ω表示节点的角速度大小。Step 1-1: Given a navigation target, the robot is based on the Risk-RRT method (see the literature "C.Fulgenzi, A.Spalanzani, C.Laugier, and C.Tay,"Risk based motion planning and navigationinuncertain dynamic environment,"Res. Rep., pp.1–14, 2010.”) Start path planning and extract the node pose information of the robot in real time by subscribing to the topics /amcl_pose and /robot_0/odom to obtain the node pose of the robot during the path planning process in real time information. The /amcl_pose topic records the real-time x and y coordinate information of the robot; the /robot_0/odom topic records the robot angular velocity information corresponding to the aforementioned position, which is denoted as G m =(x m , y m , ω m ), where, x and y represent the position of the node, and ω represents the angular velocity of the node.

步骤1-2:在ROS系统(Robot Operating System,ROS,机器人操作系统,是一种用于编写机器人软件程序的具有高度灵活性的软件架构)下,每次打开终端的时候判断特征文件是否存在,并通过特征文件计算地图上无障碍区域的点能找到它所对应的特征点编号的个数与无障碍区域的所有点的比值representative,用于表示表征度;在计算representative时为了简便,把该比值小于1的所有情况都设置为representative=0;该比值等于1时,表示表征度完备,此时设置representative=1,而且只有在表征度完备的时候生成特征地图与特征矩阵并分别写入feature_map.txt文件和feature_matrix.txt文件中。Step 1-2: Under the ROS system (Robot Operating System, ROS, a robot operating system, which is a highly flexible software architecture for writing robot software programs), determine whether the feature file exists every time the terminal is opened , and calculate the point in the barrier-free area on the map through the feature file to find the ratio of the number of the corresponding feature point numbers to all the points in the barrier-free area. The representative is used to represent the degree of representation; when calculating the representative, for simplicity, take All cases where the ratio is less than 1 are set to representative=0; when the ratio is equal to 1, it means that the representation degree is complete, at this time, representative=1 is set, and only when the representation degree is complete, the feature map and feature matrix are generated and written separately. feature_map.txt file and feature_matrix.txt file.

若fp.txt、feature_map.txt、feature_matrix.txt这三个文件都不存在,说明是第一次在此地图进行运动规划,则令representative=0,初始化特征地图MF为一个与环境地图同等大小的二维零矩阵(环境地图的像素是504*434,初始化特征地图为504*434的二维矩阵),初始化特征点集GFP为空集,执行步骤2,本实施例中执行步骤2-1;If the three files fp.txt , feature_map.txt, and feature_matrix.txt do not exist, it means that it is the first time to perform motion planning on this map, then let representative=0, and initialize the feature map MF to a size of the same size as the environment map The two-dimensional zero matrix (the pixel of the environment map is 504*434, the initialization feature map is a two-dimensional matrix of 504*434), the initialization feature point set GFP is an empty set, and step 2 is performed. In this embodiment, step 2- 1;

若存在特征文件但表征度不完备,即fp.txt文件存在但另外两个文件不存在,说明此前已经在此地图进行过运动规划,但是表征度不完备,则将特征点文件fp.txt里存储的节点Gnew=(xn,yn)存进特征点集GFP中,并在Rviz(Rviz是ROS自带的一个图形化工具,可以方便的对ROS的程序进行图形化操作,本发明主要是在Rviz平台进行模拟仿真实验的)中将特征点可视化,执行步骤2,本实施例中执行步骤2-2;If the feature file exists but the characterization degree is incomplete, that is, the fp.txt file exists but the other two files do not exist, it means that motion planning has been done on this map before, but the characterization degree is not complete, then the feature point file fp.txt The stored node G new = (x n , y n ) is stored in the feature point set GFP, and is stored in Rviz ( Rviz is a graphical tool that comes with ROS, which can easily perform graphical operations on ROS programs. The invention mainly visualizes the feature points in the Rviz platform for the simulation experiment), and executes step 2, and in this embodiment, executes step 2-2;

若存在特征文件且表征度完备,即fp.txt、feature_map.txt和feature_matrix.txt文件都存在,说明对环境地图的表征已经完备,将特征点fp.txt文件里存储的节点Gnew=(xn,yn)存进特征点集GFP,执行步骤4。If the feature file exists and the representation degree is complete, that is, the fp.txt, feature_map.txt and feature_matrix.txt files all exist, it means that the representation of the environment map is complete, and the node G new = (x n , y n ) are stored in the feature point set G FP , and step 4 is executed.

步骤2:使用角速度通道和距离融合对机器人的节点位姿进行特征初步提取,获得初始特征点集GFP,同时更新特征地图。Step 2: Use the angular velocity channel and distance fusion to perform preliminary feature extraction on the node pose of the robot, obtain the initial feature point set G FP , and update the feature map at the same time.

步骤2-1:使用角速度通道来提取角速度大于预设阈值的节点,记作Gnew=(xn,yn);提取角速度大于预设阈值的节点时,每隔一定数量的间隔提取节点,用于减少节点的冗余度。本实施例中,数量间隔设置为15,/amcl_pose和/robot_0/odom话题发布的消息频率高,点与点之间的差距很小,此处每隔15个数量间隔来提取节点数据,可以提取到存在有效差距的节点,减少节点的冗余度。Step 2-1: Use the angular velocity channel to extract the nodes whose angular velocity is greater than the preset threshold, denoted as G new =(x n , y n ); when extracting the nodes whose angular velocity is greater than the preset threshold, extract nodes at intervals of a certain number, Used to reduce the redundancy of nodes. In this embodiment, the quantity interval is set to 15, the frequency of messages published by the /amcl_pose and /robot_0/odom topics is high, and the gap between points is small. Go to the node with an effective gap to reduce the redundancy of the node.

步骤2-2:若表征度不完备,执行步骤2-3;若表征度完备,执行步骤2-5,即根据最优距离替换原有特征点。Step 2-2: If the degree of representation is incomplete, perform step 2-3; if the degree of representation is complete, perform step 2-5, that is, replace the original feature point according to the optimal distance.

步骤2-3:判断特征点集GFP是否为空,如果是空则直接将节点Gnew存进特征点集GFP,并返回执行步骤2-1;如果不是空,则执行步骤2-4。Step 2-3: Determine whether the feature point set G FP is empty, if it is empty, directly store the node G new in the feature point set G FP , and return to step 2-1; if it is not empty, execute step 2-4 .

步骤2-4:使用欧氏距离通道将节点Gnew与特征点集GFP中的所有节点Gi=(xi,yi)(i=1,2,3,……n,其中n为特征点集GFP的个数)依次进行欧氏距离计算(即步骤2中的距离融合操作,为与步骤3中再次进行的距离融合作区分,将此处称为第一次距离融合,步骤3中进行的为第二次距离融合,两次距离融合都是欧氏距离通道),记作d_once,判断该欧式距离d_once是否小于等于预设的第一次距离融合阈值(本实施例中该阈值为50。50是实际的2.7m除以分辨率0.054),如果是,返回执行步骤2-1;如果节点Gnew与特征点集GFP中的所有节点的距离都大于预设的第一次距离融合阈值,则将节点Gnew添加进特征点集GFP,将GFP带入步骤3并执行。Step 2-4: Use the Euclidean distance channel to connect the node G new to all nodes in the feature point set G FP G i =(x i ,y i )(i=1, 2, 3,...n, where n is The number of feature point sets G FP ) performs the Euclidean distance calculation in turn (that is, the distance fusion operation in step 2, in order to distinguish it from the distance fusion performed again in step 3, here is called the first distance fusion, step 3 is the second distance fusion, and the two distance fusions are Euclidean distance channels), denoted as d_once, and determine whether the Euclidean distance d_once is less than or equal to the preset first distance fusion threshold (in this embodiment, the The threshold is 50. 50 is the actual 2.7m divided by the resolution 0.054), if yes, return to step 2-1; if the distance between the node G new and all nodes in the feature point set G FP is greater than the preset first If the second distance fusion threshold is set, the node G new is added to the feature point set G FP , and the G FP is brought into step 3 and executed.

步骤2-5:此步骤为根据最优距离调整特征点位置,仅在特征点集GFP对该环境地图的表征度完备、即representative=1时才会执行,将节点Gnew与特征点集GFP中的所有节点Gi=(xi,yi)(i=1,2,3,……n)依次进行欧氏距离计算,记作d_once,判断该欧氏距离d_once是否小于等于预设的第一次距离融合阈值,如果是则执行步骤2-6,如果不是执行步骤4。Step 2-5: This step is to adjust the position of the feature points according to the optimal distance, which is only performed when the feature point set G FP has a complete representation of the environmental map, that is, representative=1, and the node G new is connected to the feature point set. All nodes in G FP G i =(x i ,y i )(i=1,2,3,...n) perform Euclidean distance calculation in turn, denoted as d_once, and judge whether the Euclidean distance d_once is less than or equal to the predetermined distance. Set the first distance fusion threshold, if yes, go to step 2-6, if not go to step 4.

根据最优距离调整特征点位置,最优距离即为计算距离之和选择最优的特征点,表示此时实时获取的新节点的不再添加,而是去调整原有特征点的位置。即为计算原来特征点与它所对应的那一片地图上的所有点的距离之和,以及计算新的节点与原来特征点所对应的那一片地图上的所有点的距离之和,比较两个距离之和选择距离小的那个替换原来的作为最优特征点。同时,计算距离之和的前提还是新的节点能和原来特征点所对应的那一片地图上的所有点都能连接的上,这样也保证了一旦表征度完备了,再怎么调整特征点的位置,表征度也不会还原成不完备的,反而是会一直迭代找到某片区域所能代表的最优的特征点。Adjust the position of the feature points according to the optimal distance. The optimal distance is to select the optimal feature point by calculating the sum of the distances, which means that the new nodes acquired in real time will not be added at this time, but to adjust the position of the original feature points. That is, to calculate the sum of the distances between the original feature point and all points on the map corresponding to it, and to calculate the sum of the distances between the new node and all the points on the map corresponding to the original feature point, compare the two The sum of the distances selects the one with the smaller distance to replace the original one as the optimal feature point. At the same time, the premise of calculating the sum of the distance is that the new node can be connected to all the points on the map corresponding to the original feature point, which also ensures that once the representation degree is complete, how to adjust the position of the feature point , the degree of representation will not be reduced to incomplete, but will iteratively find the optimal feature points that a certain area can represent.

步骤2-6:将特征地图MF中栅格值为i的栅格点与节点Gnew依次进行碰撞检测(两点之间的连线如果有障碍物就是碰撞检测不通过,否则就是通过),公式为:

Figure BDA0002775003760000121
如果碰撞检测全部都通过且特征地图MF中栅格值为i的栅格点与节点Gnew的距离之和小于特征地图MF中栅格值为i的栅格点与原先的特征节点的距离之和,则节点Gnew替换原有特征节点Gi=(xi,yi),更新特征地图,将GFP带入步骤4并执行,否则执行步骤5。如果能替换更优的特征点就替换,更新特征地图;如果没找到更优的特征点,那就还依据原来的那些特征点生成启发式路径,执行步骤5。Step 2-6: Perform collision detection on the grid point with grid value i in the feature map MF and the node G new in turn (if there is an obstacle in the connection between the two points, the collision detection will fail, otherwise, it will pass) , the formula is:
Figure BDA0002775003760000121
If all collision detections pass and the sum of the distances between the grid point with grid value i in the feature map MF and the node G new is less than the distance between the grid point with grid value i in the feature map MF and the original feature node The sum of the distances, the node G new replaces the original feature node G i =( xi , y i ), updates the feature map, and brings the GFP into step 4 and executes, otherwise, execute step 5. If a better feature point can be replaced, replace it and update the feature map; if no better feature point is found, generate a heuristic path based on the original feature points, and perform step 5.

如图2所示,机器人的轨迹用虚线表示,旗帜表示通过角速度通道和第一次距离融合提取的特征点,黑色矩形表示障碍物区域。As shown in Figure 2, the trajectory of the robot is represented by a dotted line, the flags represent the feature points extracted through the angular velocity channel and the first distance fusion, and the black rectangle represents the obstacle area.

步骤3:再次使用距离融合对初始特征点集GFP进行进一步提取,直到特征点的表征度完备获得最优特征点,得到最终特征点集GFP'。第一次距离融合是为了添加新的特征点,第二次距离融合是对新添加的特征点进行冗余特征点的删除。Step 3: Use distance fusion again to further extract the initial feature point set G FP , until the representation degree of the feature points is complete to obtain the optimal feature point, and obtain the final feature point set G FP '. The first distance fusion is to add new feature points, and the second distance fusion is to delete redundant feature points for the newly added feature points.

步骤3-1:初始化计数c(c用来计算特征点的邻居特征点个数≤1的个数)为0,初始化要保存的特征点集GR为空集(GR用来存储必须要保存的特征点的信息);提取特征点集GFP中的每个节点Gi=(xi,yi)(i=1,2,3,……n,其中n为特征点集GFP的个数)的相邻特征节点集合。Step 3-1: Initialize the count c (the number of neighbor feature points that c is used to calculate the feature point ≤ 1) to 0, and initialize the feature point set GR to be saved as an empty set ( GR is used to store the necessary Stored feature point information); extract each node G i =(x i , y i ) in the feature point set GFP (i=1, 2, 3, ... n, where n is the feature point set GFP The number of adjacent feature nodes set.

步骤3-2:初始化i(循环次数)为1。Step 3-2: Initialize i (number of cycles) to 1.

步骤3-3:判断i是否小于等于特征点集GFP的个数n,如果是则执行步骤3-4,如果不是则执行步骤3-6。Step 3-3: Determine whether i is less than or equal to the number n of the feature point set G FP , if yes, go to step 3-4, if not, go to step 3-6.

步骤3-4:判断第i个节点的相邻特征节点集合的个数是否小于等于3(一个特征点如果他的邻居特征点个数小于1,说明该特征点是孤点,他都参与不了特征树的生成,为了保证点与点之间的连接性,我们根据经验将邻居特征点的个数小于等于3的特征点以及它的邻居都保存下来,不参与第二次距离融合,剩余的点去参与第二次距离融合),如果是则进行步骤3-5,如果不是则令i=i+1并返回执行步骤3-3。Step 3-4: Determine whether the number of adjacent feature node sets of the i-th node is less than or equal to 3 (if the number of neighbor feature points of a feature point is less than 1, it means that the feature point is an outlier, and he cannot participate In the generation of the feature tree, in order to ensure the connectivity between points, we save the feature points with the number of neighbor feature points less than or equal to 3 and their neighbors based on experience, and do not participate in the second distance fusion. point to participate in the second distance fusion), if yes, go to step 3-5, if not, set i=i+1 and return to step 3-3.

步骤3-5:将节点Gi=(xi,yi)本身及其相邻特征节点集合里的节点添加进点集GR中;判断相邻特征节点集合的个数是否小于等于1,如果是,则计数c+1;如果i不等于特征点集GFP的个数n则令i=i+1并返回执行步骤3-3,否则执行步骤3-6。Step 3-5: Add the node G i =(x i , y i ) itself and the nodes in the adjacent feature node set into the point set GR ; determine whether the number of adjacent feature node sets is less than or equal to 1, If yes, count c+1; if i is not equal to the number n of the feature point set G FP , set i=i+1 and return to step 3-3, otherwise, execute step 3-6.

步骤3-6:对点集GR进行删重处理(步骤3-5里有些特征点被重复添加到了GR里,所以要删重,删重的方法是用c++里的迭代器判断的),如果特征点集GFP的个数n大于等于(点集GR的个数-1)(说明只有一个特征点是能参与第二次距离融合的,那就相当于不用参与了),则更新特征地图,将特征点集GFP带入步骤4并执行,否则执行步骤3-7。Step 3-6: Delete and deduplicate the point set GR (in step 3-5, some feature points are repeatedly added to GR , so it is necessary to delete duplicates. The method of deduplication is judged by the iterator in C++) , if the number n of the feature point set G FP is greater than or equal to (the number of point sets G R - 1) (indicating that only one feature point can participate in the second distance fusion, it is equivalent to not participating), then Update the feature map, bring the feature point set GFP into step 4 and execute, otherwise execute steps 3-7.

步骤3-7:将特征点集GFP除去点集GR的其余所有节点添加到点集GD(即能参与第二次距离融合的特征点集合)中,进行第二次距离融合删除特征点。进行第二次距离融合删除特征点的过程为取GD的第x个节点GDx(x=1,2,……n1-1,其中n1为点集GD的个数),依次与GD中的节点GDx1(x1=x+1,x+2,……n1)连线在地图上做碰撞检测以及欧氏距离计算,如果碰撞检测通过且距离小于人为设定的二次融合的距离阈值(本实施例中该阈值为80,比第一次距离融合的50大一点,80也是实际的米数除以0.054得到的),则从特征点集GFP中删除节点GDx1,直到点集GD中的所有点都已经检测完毕。第二次距离融合删除特征点后更新特征地图,此时的特征点集GFP即为最终特征点集GFP',将GFP'带入步骤4并执行。Step 3-7: Add all the remaining nodes from the feature point set GFP except the point set GR to the point set GD (that is, the feature point set that can participate in the second distance fusion), and perform the second distance fusion to delete features point. The process of performing the second distance fusion to delete the feature points is to take the xth node G Dx of G D (x=1, 2, ... n 1 -1, where n 1 is the number of point sets G D ), and sequentially Connect with the node G Dx1 (x1=x+1, x+2,...n 1 ) in G D to perform collision detection and Euclidean distance calculation on the map. If the collision detection passes and the distance is less than the artificially set two The distance threshold of the second fusion (in this embodiment, the threshold is 80, which is a little larger than the 50 of the first distance fusion, and 80 is also obtained by dividing the actual number of meters by 0.054), then delete the node G from the feature point set G FP . Dx1 until all points in the point set G D have been detected. After the second distance fusion deletes the feature points, the feature map is updated, and the feature point set G FP at this time is the final feature point set G FP ', and the G FP ' is brought into step 4 and executed.

如图3所示,r1表示第一次距离融合的阈值(50),r2表示第二次距离融合的阈值(80),叉号表示被第二次距离融合所删除的冗余特征点,实心圆表示最终提取的特征点,矩形表示障碍物区域。As shown in Figure 3, r 1 represents the threshold (50) of the first distance fusion, r 2 represents the threshold (80) of the second distance fusion, and the cross sign represents the redundant feature points deleted by the second distance fusion , the solid circle represents the final extracted feature points, and the rectangle represents the obstacle area.

步骤4:使用欧式距离对环境地图更新,得到特征地图,完成实时特征提取。在打开终端时,如果是表征度完备的情况,使用fp.txt中的特征点更新特征点集,如果是表征度不完备的情况,则为使用步骤3中得到的最终特征点集GFP'更新特征点集。Step 4: Use the Euclidean distance to update the environment map to obtain a feature map and complete real-time feature extraction. When opening the terminal, if the degree of representation is complete, use the feature points in fp.txt to update the feature point set; if the degree of representation is incomplete, use the final feature point set G FP ' obtained in step 3 ' Update the feature point set.

步骤4-1:初始化标志位grid_not_find=0,用于表示地图上无障碍物区域的点是否都找到了它所对应的特征点编号,将GFP'中的所有节点坐标转换为栅格坐标,记作Gi1=(xi1,yi1)(i1=1,2,……n,其中n为特征点集GFP'的个数),转化公式为:Step 4-1: Initialize the flag grid_not_find=0, which is used to indicate whether the points in the obstacle-free area on the map have found their corresponding feature point numbers, and convert all the node coordinates in the G FP ' into grid coordinates, Denoted as G i1 =(x i1 , y i1 ) (i1=1, 2,...n, where n is the number of feature point sets G FP '), the conversion formula is:

栅格坐标xi1=(x坐标-地图的原点x坐标)/地图分辨率,Grid coordinate x i1 = (x coordinate - x coordinate of the origin of the map)/map resolution,

栅格坐标yi1=(y坐标-地图的原点y坐标)/地图分辨率。Grid coordinate y i1 = (y coordinate - y coordinate of the origin of the map)/map resolution.

步骤4-2:遍历二维栅格地图MP(p=0,1,……p1,其中p1为二维栅格地图的大小)中无障碍物区域的所有栅格点(ik,jk),初始化count(count用来计数,若(ik,jk)找不到它所对应的特征点编号,则令count=count+1)为0,初始化min_dist为地图长度×地图宽度;将栅格点(ik,jk)依次与GFP'中的特征节点Gi1连线在地图上做碰撞检测,如果碰撞检测通过,则计算两点之间的欧氏距离dist1,如果dist1小于min_dist,则在特征地图MF中更新栅格点(ik,jk)的对应值为特征节点的编号i并且min_dist更新为dist1的值;如果碰撞检测未通过,则计数count+1;直至GFP'中的所有节点遍历结束,如果count=GFP'的个数n,则令grid_not_find=1,并退出循环,返回步骤2(此过程为只要发现地图上有一个点与GFP'中的所有点都碰撞检测不通过,那就退出循环,节省计算量,说明表征度还不够完备,需要回到步骤2继续添加新的特征点);如果count≠GFP'的个数n,则重复步骤4-2直至二维栅格地图Mp中无障碍物区域的所有栅格点都遍历结束。Step 4-2 : Traverse all grid points ( ik k , j k ), initialize count (count is used to count, if (i k , j k ) cannot find its corresponding feature point number, then set count=count+1) to 0, and initialize min_dist as map length × map Width; connect the grid points (i k , j k ) to the feature node G i1 in the GFP ' in order to perform collision detection on the map, if the collision detection passes, calculate the Euclidean distance between the two points dist 1 , if dist 1 is less than min_dist , update the corresponding value of grid point (i k , j k ) in feature map MF to the number i of feature node and min_dist is updated to the value of dist 1 ; if the collision detection fails, then Count count+1; until the traversal of all nodes in G FP ' ends, if count=the number n of G FP ', then set grid_not_find=1, and exit the loop, and return to step 2 (this process is as long as it is found that there is a If the point and all points in G FP ' fail to pass the collision detection, then exit the loop to save the amount of calculation, indicating that the degree of representation is not complete enough, and you need to go back to step 2 to continue adding new feature points); if count≠ GFP ' If the number n is n, repeat step 4-2 until all grid points in the obstacle-free area in the two-dimensional grid map M p are traversed.

步骤4-3:如果grid_not_find等于0,则表征度完备(说明地图上的所有栅格点都能找到它所对应的特征点的编号),令representative等于1,否则令representative等于0。Step 4-3: If grid_not_find is equal to 0, the degree of representation is complete (indicating that all grid points on the map can find the number of its corresponding feature point), let representative be equal to 1, otherwise let representative be equal to 0.

如图4所示,其中虚线表示机器人路径规划中提取的节点,实心圆点和叉号表示第一次距离融合提取的特征点,其中:叉号表示经过二次距离融合删除的冗余特征点,实心圆点表示经过第二次距离融合最终提取的特征节点;通过角速度通道和两次距离融合,特征节点个数明显减少。As shown in Figure 4, the dotted line represents the node extracted in the robot path planning, the solid circle and the cross represent the feature points extracted by the first distance fusion, where: the cross represents the redundant feature points deleted by the second distance fusion , the solid circles represent the feature nodes finally extracted after the second distance fusion; through the angular velocity channel and the two distance fusions, the number of feature nodes is significantly reduced.

步骤5:根据特征点集GFP'得到特征矩阵PF,根据起点、终点以及特征矩阵PF生成特征点的多模态信息特征树,在特征地图上得到启发式路径。Step 5: Obtain a feature matrix P F according to the feature point set GFP ', generate a multimodal information feature tree of the feature points according to the starting point, the end point and the feature matrix P F , and obtain a heuristic path on the feature map.

步骤5-1:选定GFP'中的某一节点GFPi(i=1,2,……n,其中n为特征点集GFP的个数),将其余节点GFPx(x=1,2,……n且x≠i)与节点GFPi的连线在地图上做碰撞检测,如果碰撞检测通过,则将两点之间的欧氏距离存入特征矩阵PF(i,x),否则将0存入PF(i,x)。Step 5-1: Select a certain node G FPi ( i=1, 2, ... n, where n is the number of feature point sets G , 2,...n and x≠i) and the node G FPi for collision detection on the map, if the collision detection passes, the Euclidean distance between the two points is stored in the feature matrix P F (i, x ), otherwise 0 is stored in PF (i,x).

步骤5-2:在特征地图MF中找到起点位置对应的特征节点编号,并将其加入到多模态信息特征树T中,完成多模态信息特征树T的初始化,初始化开放节点集合为Topen=T。Step 5-2: Find the feature node number corresponding to the starting point in the feature map MF, and add it to the multimodal information feature tree T , complete the initialization of the multimodal information feature tree T, and initialize the set of open nodes as: T open =T.

步骤5-3:判断开放节点的个数是否大于零,如果是,则进行步骤5-4;如果否,则进行步骤5-10。Step 5-3: Determine whether the number of open nodes is greater than zero, if yes, go to Step 5-4; if not, go to Step 5-10.

步骤5-4:提取第一个开放节点topen,将topen从开放节点集合Topen中移除。Step 5-4: Extract the first open node t open , and remove t open from the open node set T open .

步骤5-5:从特征地图MF中提取topen的兴趣区域AOI,在特征地图MF中,搜索所有值为topen的点,记录所有点中坐标的极限值xmin、xmax、ymin、ymax,选取坐标极限值对应的方形区域为兴趣区域AOI。Step 5-5: Extract the AOI of the t open area of interest from the feature map MF , search for all points with the value t open in the feature map MF, and record the limit values x min , x max , y of the coordinates in all the points min , y max , select the square area corresponding to the coordinate limit value as the area of interest AOI.

步骤5-6:在兴趣区域AOI中提取topen的所有相邻特征节点XnewStep 5-6: Extract all adjacent feature nodes X new of t open in the area of interest AOI.

步骤5-7:判断相邻特征节点集合Xnew是否为空,如果为空,则执行步骤5-3;如果不为空,则执行步骤5-8。Step 5-7: Determine whether the adjacent feature node set X new is empty, if it is empty, go to step 5-3; if not, go to step 5-8.

步骤5-8:取Xnew的第一个节点xnew,在多模态信息特征树T上寻找xnew的最近邻点xparent,判断xparent是否存在,如果不存在,则将xnew从Xnew中移除,并返回执行步骤5-7;如果存在,则执行步骤5-9。Step 5-8: Take the first node x new of X new , find the nearest neighbor x parent of x new on the multimodal information feature tree T, and judge whether x parent exists . X new , and go back to step 5-7; if it exists, go to step 5-9.

步骤5-9:将xnew加入到多模态信息特征树T和开放节点集合Topen中,将xnew从Xnew中移除,返回执行步骤5-7。Step 5-9: Add x new to the multimodal information feature tree T and the open node set T open , remove x new from X new , and return to step 5-7.

步骤5-10:在特征地图MF中找到终点位置对应的特征节点,通过反向搜索多模态信息特征树T,找到从起点到终点的路径。本来的环境地图只有0和255两个值,0代表无障碍物区域,255代表有障碍物区域,而特征地图把环境地图值为0的栅格值都用它对应的特征点的编号来填充了,255的还保持不变。这样子的话给定一个终点,就能迅速找到终点在特征地图里所填充的特征点编号,起点也是如此,给定终点的同时,以机器人当时所在位置为起点,找到该起点在特征地图里所对应特征点编号,然后用特征点来代替起点/终点去生成启发式路径。这样子的好处是只需要遍历数量级为十的特征点,而不是像传统的方法要遍历数量级为几十万的所有栅格值,大大降低了遍历的复杂度,保证了路径规划的实时性。Step 5-10: Find the feature node corresponding to the end position in the feature map MF , and find the path from the start point to the end point by reverse searching the multimodal information feature tree T. The original environment map has only two values of 0 and 255, 0 represents the area without obstacles, 255 represents the area with obstacles, and the feature map fills the raster value with the value of 0 in the environment map with the number of its corresponding feature point. Yes, the 255 remains the same. In this way, given an end point, you can quickly find the feature point number filled by the end point in the feature map, and the same is true for the starting point. When the end point is given, take the position of the robot at that time as the starting point, and find the starting point in the feature map. Corresponding feature point numbers, and then use feature points to replace start/end points to generate heuristic paths. The advantage of this is that it only needs to traverse the feature points of the order of ten, instead of traversing all the grid values of the order of hundreds of thousands as in the traditional method, which greatly reduces the complexity of the traversal and ensures the real-time performance of path planning.

步骤5-11:返回执行步骤2-1,用于更新特征点集,关闭终端时更新存储的特征文件为调整后的特征点,在下一次打开此地图时,就可以根据更新后的特征文件直接进行步骤5生成启发式路径,相比于进行步骤2至4边找特征点边更新特征地图的方式,大大节省了时间。Step 5-11: Return to step 2-1, which is used to update the feature point set. When the terminal is closed, the stored feature file is updated to be the adjusted feature point. When the map is opened next time, it can be directly Performing step 5 to generate a heuristic path saves a lot of time compared to performing steps 2 to 4 while finding feature points and updating the feature map.

如图5所示,给定终点,以机器人实时位置作为起点,通过碰撞检测模块,不断地把候选节点加入到多模态信息特征树上,完成多模态信息特征树的创建,得到虚线所示的搜索树,进而得到阴影所示的启发式路径。As shown in Figure 5, given the end point, the real-time position of the robot is used as the starting point, and the candidate nodes are continuously added to the multi-modal information feature tree through the collision detection module to complete the creation of the multi-modal information feature tree. The search tree shown, and then the heuristic path shown by the shadow.

本发明的有益效果:Beneficial effects of the present invention:

(1)通过实时提取特征点的方法,实现对环境结构的表征,不仅解决了传统GVD需要离线提前提取特征点的缺点,还大大节省了时间成本。通过文件保存特征点信息,并在路径规划前后进行检查和更新,占用内存小,解决了节点复用和节约计算资源问题,提取和创建完成后,在不同起点、终点的路径规划中可以重复利用,相当于赋予了机器人“大脑记忆”的功能。(1) Real-time feature point extraction is used to characterize the environmental structure, which not only solves the shortcomings of traditional GVD that need to extract feature points in advance offline, but also greatly saves time and cost. The feature point information is saved in the file, and checked and updated before and after the path planning, which occupies a small memory and solves the problem of node reuse and saving computing resources. After the extraction and creation are completed, it can be reused in the path planning of different starting points and ending points. , which is equivalent to giving the robot the function of "brain memory".

(2)本发明通过提取特征点对地图进行了更为简洁的表达,表达后的特征地图保留了环境的结构信息,去除了冗余信息,在路径规划的搜索过程中,仅需遍历特征点,而不是遍历所有的地图栅格点,大大降低了遍历的复杂度,保证了路径规划的实时性。(2) The present invention expresses the map more concisely by extracting feature points. The expressed feature map retains the structural information of the environment and removes redundant information. In the search process of path planning, it is only necessary to traverse the feature points. , instead of traversing all map grid points, which greatly reduces the complexity of traversal and ensures real-time path planning.

(3)在Risk-RRT运动规划方法的基础上,生成多模态信息特征树,多模态信息特征树由基于Risk-RRT所有时刻的节点提取出来的特征点组成,特征点不包含时间戳信息。不仅适用于动态的复杂环境,而且节点简洁、代表性很强,可以代表环境的结构信息。给定起点和终点可以迅速生成一条启发式路径,机器人可以按照启发式路径上的子目标依次进行运动规划,最终达到目标点,解决了基于随机采样的运动规划过程中的陷阱空间问题。(3) On the basis of the Risk-RRT motion planning method, a multi-modal information feature tree is generated. The multi-modal information feature tree is composed of feature points extracted based on nodes at all times of Risk-RRT, and the feature points do not contain timestamps. information. It is not only suitable for dynamic and complex environments, but also the nodes are concise and representative, and can represent the structural information of the environment. Given the starting point and the end point, a heuristic path can be quickly generated, and the robot can perform motion planning in sequence according to the sub-goals on the heuristic path, and finally reach the target point, which solves the trap space problem in the motion planning process based on random sampling.

以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。The above-mentioned embodiments are only preferred embodiments for fully illustrating the present invention, and the protection scope of the present invention is not limited thereto. Equivalent substitutions or transformations made by those skilled in the art on the basis of the present invention are all within the protection scope of the present invention. The protection scope of the present invention is subject to the claims.

Claims (7)

1.一种基于多模态信息特征树的机器人实时运动规划方法,其特征在于,包括以下步骤:1. a robot real-time motion planning method based on multimodal information feature tree, is characterized in that, comprises the following steps: 步骤1:获取环境地图,实时提取机器人的节点位姿信息,判断特征点对该环境地图的表征度是否已经完备,如果还未完备则执行步骤2,如果已经完备则执行步骤4;Step 1: Obtain the environment map, extract the node pose information of the robot in real time, and determine whether the representation of the feature point to the environment map is complete, if not, go to step 2, and if it is complete, go to step 4; 步骤2:使用角速度通道和距离融合对机器人的节点位姿进行特征初步提取,获得初始特征点集,同时更新特征地图,包括;Step 2: Use the angular velocity channel and distance fusion to perform preliminary feature extraction on the node pose of the robot, obtain the initial feature point set, and update the feature map at the same time, including; 步骤2-1:使用角速度通道来提取角速度大于预设阈值的节点,记作Gnew=(xn,yn);Step 2-1: Use the angular velocity channel to extract nodes whose angular velocity is greater than the preset threshold, denoted as G new =(x n , y n ); 步骤2-2:若表征度不完备,执行步骤2-3;若表征度完备,执行步骤2-5;Step 2-2: If the degree of characterization is incomplete, go to step 2-3; if the degree of characterization is complete, go to step 2-5; 步骤2-3:判断特征点集GFP是否为空,如果是空则直接将节点Gnew存进特征点集GFP,并返回执行步骤2-1;如果不是空,则执行步骤2-4;Step 2-3: Determine whether the feature point set G FP is empty, if it is empty, directly store the node G new in the feature point set G FP , and return to step 2-1; if it is not empty, execute step 2-4 ; 步骤2-4:使用欧氏距离通道将节点Gnew与特征点集GFP中的所有节点Gi=(xi,yi)依次进行欧氏距离计算,判断该欧式距离是否小于等于预设的第一次距离融合阈值,如果是,返回执行步骤2-1;Step 2-4: Use the Euclidean distance channel to calculate the Euclidean distance between the node G new and all the nodes G i =(x i ,y i ) in the feature point set G FP in turn, and determine whether the Euclidean distance is less than or equal to the preset The first distance fusion threshold of , if yes, return to step 2-1; 如果节点Gnew与特征点集GFP中的所有节点的距离都大于预设的第一次距离融合阈值,则将节点Gnew添加进特征点集GFP,将GFP带入步骤3并执行;If the distance between node G new and all nodes in feature point set G FP is greater than the preset first distance fusion threshold, add node G new into feature point set G FP , bring G FP into step 3 and execute ; 步骤2-5:将节点Gnew与特征点集GFP中的所有节点Gi=(xi,yi)依次进行欧氏距离计算,判断该欧氏距离是否小于等于预设的第一次距离融合阈值,如果是则执行步骤2-6,如果不是则执行步骤4;Step 2-5: Calculate the Euclidean distance between the node G new and all nodes G i =(x i ,y i ) in the feature point set G FP in turn, and determine whether the Euclidean distance is less than or equal to the preset first time Distance fusion threshold, if yes, go to step 2-6, if not, go to step 4; 步骤2-6:将特征地图MF中栅格点与节点Gnew依次进行碰撞检测,如果碰撞检测全部都通过且特征地图MF中的栅格点与节点Gnew的距离之和小于特征地图MF中的栅格点与原先的特征节点的距离之和,则节点Gnew替换原有特征节点Gi=(xi,yi),更新特征地图,将GFP带入步骤4并执行,否则执行步骤5;Step 2-6: Perform collision detection between the grid points in the feature map MF and the node G new in turn, if all the collision detections pass and the sum of the distances between the grid points in the feature map MF and the node G new is smaller than the feature map The sum of the distances between the grid points in MF and the original feature nodes, then the node G new replaces the original feature node G i =(x i , y i ), updates the feature map, brings the G FP into step 4 and executes , otherwise go to step 5; 步骤3:再次使用距离融合对初始特征点集进行进一步提取,直到特征点的表征度完备获得最优特征点,得到最终特征点集,具体包括:Step 3: Use distance fusion again to further extract the initial feature point set, until the representation degree of the feature points is complete to obtain the optimal feature point, and obtain the final feature point set, which specifically includes: 步骤3-1:初始化计数c为0,初始化要保存的特征点集GR为空集;提取特征点集GFP中的每个节点Gi=(xi,yi)的相邻特征节点集合;Step 3-1: Initialize the count c to 0, initialize the feature point set GR to be saved as an empty set; extract the adjacent feature nodes of each node G i =(x i ,y i ) in the feature point set GFP gather; 步骤3-2:初始化i为1;Step 3-2: Initialize i to 1; 步骤3-3:判断i是否小于等于特征点集GFP的个数n,如果是则执行步骤3-4,如果不是则执行步骤3-6;Step 3-3: Determine whether i is less than or equal to the number n of the feature point set G FP , if so, go to step 3-4, if not, go to step 3-6; 步骤3-4:判断第i个节点的相邻特征节点集合的个数是否小于等于3,如果是则进行步骤3-5,如果不是则令i=i+1并返回执行步骤3-3;Step 3-4: Determine whether the number of adjacent feature node sets of the i-th node is less than or equal to 3, if so, go to step 3-5, if not, set i=i+1 and return to step 3-3; 步骤3-5:将节点Gi=(xi,yi)本身及其相邻特征节点集合里的节点添加进点集GR中;判断相邻特征节点集合的个数是否小于等于1,如果是,则计数c+1;如果i不等于特征点集GFP的个数n则令i=i+1并返回执行步骤3-3,否则执行步骤3-6;Step 3-5: Add the node G i =(x i , y i ) itself and the nodes in the adjacent feature node set into the point set GR ; determine whether the number of adjacent feature node sets is less than or equal to 1, If so, count c+1; if i is not equal to the number n of the feature point set G FP , then set i=i+1 and return to step 3-3, otherwise perform step 3-6; 步骤3-6:对点集GR进行删重处理,如果特征点集GFP的个数n大于等于点集GR的个数-1,则更新特征地图,将特征点集GFP带入步骤4并执行,否则执行步骤3-7;Step 3-6: Perform deduplication processing on the point set GR , if the number n of the feature point set G FP is greater than or equal to the number n of the point set GR -1, update the feature map, and bring the feature point set G FP into Step 4 and execute, otherwise execute steps 3-7; 步骤3-7:将特征点集GFP除去点集GR的其余所有节点添加到点集GD中,进行第二次距离融合删除特征点,更新特征地图,此时的特征点集GFP即为最终特征点集GFP',将GFP'带入步骤4并执行;Step 3-7: Add all the remaining nodes from the feature point set GFP except the point set GR to the point set GD , perform the second distance fusion to delete the feature points, and update the feature map. At this time, the feature point set GFP That is, the final feature point set G FP ', bring G FP ' into step 4 and execute; 步骤4:使用欧式距离对环境地图更新,得到特征地图,完成实时特征提取;Step 4: Use the Euclidean distance to update the environment map, obtain the feature map, and complete the real-time feature extraction; 步骤5:根据特征点集得到特征矩阵,根据起点、终点以及特征矩阵生成特征点的多模态信息特征树,在特征地图上得到启发式路径,包括:Step 5: Obtain a feature matrix according to the feature point set, generate a multimodal information feature tree of the feature points according to the starting point, the ending point and the feature matrix, and obtain a heuristic path on the feature map, including: 步骤5-1:选定GFP'中的某一节点GFPi,将其余节点GFPx与节点GFPi的连线在地图上做碰撞检测,如果碰撞检测通过,则将两点之间的欧氏距离存入特征矩阵PF(i,x),否则将0存入PF(i,x);Step 5-1: Select a node G FPi in G FP ', and check the connection between the remaining nodes G FPx and node G FPi on the map for collision detection. The distance is stored in the feature matrix P F (i, x), otherwise 0 is stored in P F (i, x); 步骤5-2:在特征地图MF中找到起点位置对应的特征节点编号,并将其加入到多模态信息特征树T中,完成多模态信息特征树T的初始化,初始化开放节点集合为Topen=T;Step 5-2: Find the feature node number corresponding to the starting point in the feature map MF, and add it to the multimodal information feature tree T , complete the initialization of the multimodal information feature tree T, and initialize the set of open nodes as: T open = T; 步骤5-3:判断开放节点的个数是否大于零,如果是,则进行步骤5-4;如果否,则进行步骤5-10;Step 5-3: determine whether the number of open nodes is greater than zero, if so, go to step 5-4; if not, go to step 5-10; 步骤5-4:提取第一个开放节点topen,将topen从开放节点集合Topen中移除;Step 5-4: extract the first open node t open , and remove t open from the open node set T open ; 步骤5-5:从特征地图MF中提取topen的兴趣区域AOI;Step 5-5: Extract the AOI of the open area of interest from the feature map MF; 步骤5-6:在兴趣区域AOI中提取topen的所有相邻特征节点XnewStep 5-6: Extract all adjacent feature nodes X new of t open in the area of interest AOI; 步骤5-7:判断相邻特征节点集合Xnew是否为空,如果为空,则执行步骤5-3;如果不为空,则执行步骤5-8;Step 5-7: Determine whether the adjacent feature node set X new is empty, if it is empty, go to step 5-3; if it is not empty, go to step 5-8; 步骤5-8:取Xnew的第一个节点xnew,在多模态信息特征树T上寻找xnew的最近邻点xparent,判断xparent是否存在,如果不存在,则将xnew从Xnew中移除,并返回执行步骤5-7;如果存在,则执行步骤5-9;Step 5-8: Take the first node x new of X new , find the nearest neighbor x parent of x new on the multimodal information feature tree T, and judge whether x parent exists . Remove from X new , and return to step 5-7; if it exists, execute step 5-9; 步骤5-9:将xnew加入到多模态信息特征树T和开放节点集合Topen中,将xnew从Xnew中移除,返回执行步骤5-7;Step 5-9: add x new to the multimodal information feature tree T and the open node set T open , remove x new from X new , and return to step 5-7; 步骤5-10:在特征地图MF中找到终点位置对应的特征节点,通过反向搜索多模态信息特征树T,找到从起点到终点的路径;Step 5-10: Find the feature node corresponding to the end position in the feature map MF, and find the path from the start point to the end point by reverse searching the multimodal information feature tree T ; 步骤5-11:返回执行步骤2-1。Step 5-11: Return to step 2-1. 2.根据权利要求1所述的基于多模态信息特征树的机器人实时运动规划方法,其特征在于:所述步骤1中判断特征点对该环境地图的表征度是否已经完备的方法为,每次打开终端进行路径规划前,检查此次的环境地图是否有对应的特征文件,若有对应的特征文件则通过特征文件中的特征点判断表征度是否完备,若无对应的特征文件则表征度不完备;在机器人完成此次环境地图上的路径规划并关闭终端时,生成该环境地图的对应的特征文件。2. the robot real-time motion planning method based on the multimodal information feature tree according to claim 1, is characterized in that: in the described step 1, the method for judging whether the characterization degree of the feature point to this environmental map has been complete is that each Before opening the terminal for path planning, check whether there is a corresponding feature file in this environment map. If there is a corresponding feature file, judge whether the characterization degree is complete through the feature points in the feature file. If there is no corresponding feature file, the characterization degree Incomplete; when the robot completes the path planning on the environment map and closes the terminal, the corresponding feature file of the environment map is generated. 3.根据权利要求2所述的基于多模态信息特征树的机器人实时运动规划方法,其特征在于,所述步骤1的具体过程为:3. the robot real-time motion planning method based on multimodal information feature tree according to claim 2, is characterized in that, the concrete process of described step 1 is: 步骤1-1:给定导航目标,机器人基于Risk-RRT算法开始路径规划,实时获取机器人在路径规划过程中的节点位姿信息Gm=(xm,ym,ωm),其中,x、y表示节点的位置,ω表示节点的角速度大小;Step 1-1: Given a navigation target, the robot starts path planning based on the Risk-RRT algorithm, and obtains the node pose information G m =(x m , y m , ω m ) of the robot in the process of path planning in real time, where x , y represents the position of the node, and ω represents the angular velocity of the node; 步骤1-2:每次打开终端的时候判断特征文件是否存在,并通过特征文件计算地图上无障碍区域的点能找到它所对应的特征点编号的个数与无障碍区域的所有点的比值representative,用于表示表征度;Step 1-2: Determine whether the feature file exists every time you open the terminal, and calculate the ratio of the number of corresponding feature point numbers to all the points in the barrier-free area by calculating the points in the barrier-free area on the map through the feature file. representative, used to represent the degree of representation; 若不存在特征文件,则令representative=0,初始化特征地图MF为一个与环境地图同等大小的二维零矩阵,初始化特征点集GFP为空集,执行步骤2;If there is no feature file, set representative=0, initialize the feature map MF as a two-dimensional zero matrix of the same size as the environment map, initialize the feature point set GFP as an empty set, and execute step 2; 若存在特征文件但表征度不完备,则将特征文件里存储的节点Gnew=(xn,yn)存进特征点集GFP中,执行步骤2;If there is a feature file but the degree of representation is incomplete, store the node G new = (x n , y n ) stored in the feature file into the feature point set GFP , and execute step 2; 若存在特征文件且表征度完备,将特征文件里存储的节点Gnew=(xn,yn)存进特征点集GFP,执行步骤4。If the feature file exists and the degree of representation is complete, store the node G new =(x n , yn ) stored in the feature file into the feature point set G FP , and execute step 4 . 4.根据权利要求1所述的基于多模态信息特征树的机器人实时运动规划方法,其特征在于:所述步骤2-1中使用角速度通道来提取角速度大于预设阈值的节点时,每隔一定数量的间隔提取节点,用于减少节点的冗余度。4. the robot real-time motion planning method based on multimodal information feature tree according to claim 1, is characterized in that: when using angular velocity channel in described step 2-1 to extract the node that angular velocity is greater than preset threshold, every A certain number of interval extraction nodes are used to reduce the redundancy of nodes. 5.根据权利要求1所述的基于多模态信息特征树的机器人实时运动规划方法,其特征在于:所述距离融合的具体方法为:5. the robot real-time motion planning method based on multimodal information feature tree according to claim 1, is characterized in that: the concrete method of described distance fusion is: 取点集中的节点Gx,与点集中的其余节点Gx1连线,在地图上做碰撞检测以及欧氏距离计算,如果碰撞检测通过且距离小于人为设定的距离融合的距离阈值,则从点集中删除节点Gx1,直到点集中的所有点都已经检测完毕。Take the node G x in the point set, connect it with the remaining nodes G x1 in the point set, and perform collision detection and Euclidean distance calculation on the map. If the collision detection passes and the distance is less than the artificially set distance fusion distance threshold, then from The node G x1 is deleted from the point set until all points in the point set have been detected. 6.根据权利要求1所述的基于多模态信息特征树的机器人实时运动规划方法,其特征在于:所述步骤4的具体过程为:6. the robot real-time motion planning method based on multimodal information feature tree according to claim 1, is characterized in that: the concrete process of described step 4 is: 步骤4-1:初始化标志位为0,用于表示地图上无障碍物区域的点是否都找到了它所对应的特征点编号,将GFP'中的所有节点坐标转换为栅格坐标,记作Gi1=(xi1,yi1);Step 4-1: The initialization flag bit is 0, which is used to indicate whether the points in the obstacle-free area on the map have found their corresponding feature point numbers, and convert all the node coordinates in the G FP ' into grid coordinates, and record Let G i1 =(x i1 , y i1 ); 步骤4-2:遍历二维栅格地图MP中无障碍物区域的所有栅格点(ik,jk),初始化count为0,初始化min_dist为地图长度×地图宽度;将栅格点(ik,jk)依次与GFP'中的特征节点Gi1连线在地图上做碰撞检测,如果碰撞检测通过,则计算两点之间的欧氏距离dist1,如果dist1小于min_dist,则在特征地图MF中更新栅格点(ik,jk)的对应值为特征节点的编号i并且min_dist更新为dist1的值;如果碰撞检测未通过,则计数count+1;直至GFP'中的所有节点遍历结束,如果count=GFP'的个数n,则令标志位为1,并退出循环,返回步骤2;如果count≠GFP'的个数n,则重复步骤4-2直至二维栅格地图Mp中无障碍物区域的所有栅格点都遍历结束,得到特征地图MFStep 4-2: Traverse all grid points (i k , j k ) in the obstacle-free area in the two-dimensional grid map MP, initialize count to 0, and initialize min_dist to map length × map width; i k , j k ) are sequentially connected with the feature node G i1 in the GFP ' to perform collision detection on the map. If the collision detection passes, the Euclidean distance dist 1 between the two points is calculated. If dist 1 is less than min_dist, Then in the feature map MF, the corresponding value of the grid point ( ik , jk ) is updated to the number i of the feature node and min_dist is updated to the value of dist 1 ; if the collision detection fails, count count+1; until G The traversal of all nodes in FP ' ends, if count=the number n of G FP ', set the flag bit to 1, and exit the loop, and return to step 2; if count ≠ the number n of G FP ', repeat step 4 -2 until all grid points in the obstacle-free area in the two-dimensional grid map M p are traversed, and the feature map M F is obtained; 步骤4-3:如果标志位等于0,则表征度完备,令representative等于1,否则令representative等于0。Step 4-3: If the flag bit is equal to 0, the representation degree is complete, and let the representative be equal to 1, otherwise, let the representative be equal to 0. 7.根据权利要求1所述的基于多模态信息特征树的机器人实时运动规划方法,其特征在于:所述步骤5-5中从特征地图MF中提取topen的兴趣区域AOI的具体方法为,7. the robot real-time motion planning method based on multimodal information feature tree according to claim 1, is characterized in that: in described step 5-5, the concrete method that extracts the interest area AOI of t open from feature map MF for, 在特征地图MF中,搜索所有值为topen的点,记录所有点中坐标的极限值xmin、xmax、ymin、ymax,选取坐标极限值对应的方形区域为兴趣区域AOI。In the feature map MF , search for all points whose value is t open , record the limit values x min , x max , y min , and y max of the coordinates in all points, and select the square area corresponding to the coordinate limit value as the area of interest AOI.
CN202011262159.2A 2020-11-12 2020-11-12 Real-time robot motion planning method based on multimodal information feature tree Active CN112428271B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011262159.2A CN112428271B (en) 2020-11-12 2020-11-12 Real-time robot motion planning method based on multimodal information feature tree

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011262159.2A CN112428271B (en) 2020-11-12 2020-11-12 Real-time robot motion planning method based on multimodal information feature tree

Publications (2)

Publication Number Publication Date
CN112428271A CN112428271A (en) 2021-03-02
CN112428271B true CN112428271B (en) 2022-07-12

Family

ID=74700520

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011262159.2A Active CN112428271B (en) 2020-11-12 2020-11-12 Real-time robot motion planning method based on multimodal information feature tree

Country Status (1)

Country Link
CN (1) CN112428271B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113485373B (en) * 2021-08-12 2022-12-06 苏州大学 A Real-time Motion Planning Method for Robot Based on Gaussian Mixture Model
CN117870653B (en) * 2024-03-13 2024-05-14 中国科学技术大学 Method for establishing and updating two-dimensional differential Euclidean symbol distance field map

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108582073A (en) * 2018-05-02 2018-09-28 北京邮电大学 A kind of quick barrier-avoiding method of mechanical arm based on improved random road sign Map Method
CN108983780A (en) * 2018-07-24 2018-12-11 武汉理工大学 One kind is based on improvement RRT*The method for planning path for mobile robot of algorithm
CN110119144A (en) * 2019-04-19 2019-08-13 苏州大学 Based on the matched multirobot SLAM algorithm of sub- map feature
CN110962130A (en) * 2019-12-24 2020-04-07 中国人民解放军海军工程大学 Heuristic RRT manipulator motion planning method based on goal bias optimization

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102165437B1 (en) * 2014-05-02 2020-10-14 한화디펜스 주식회사 Path planning apparatus of mobile robot

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108582073A (en) * 2018-05-02 2018-09-28 北京邮电大学 A kind of quick barrier-avoiding method of mechanical arm based on improved random road sign Map Method
CN108983780A (en) * 2018-07-24 2018-12-11 武汉理工大学 One kind is based on improvement RRT*The method for planning path for mobile robot of algorithm
CN110119144A (en) * 2019-04-19 2019-08-13 苏州大学 Based on the matched multirobot SLAM algorithm of sub- map feature
CN110962130A (en) * 2019-12-24 2020-04-07 中国人民解放军海军工程大学 Heuristic RRT manipulator motion planning method based on goal bias optimization

Also Published As

Publication number Publication date
CN112428271A (en) 2021-03-02

Similar Documents

Publication Publication Date Title
CN110084272A (en) A kind of cluster map creating method and based on cluster map and the matched method for relocating of location expression
CN109948477B (en) A method for extracting road network topology points in pictures
Becker et al. Grammar-supported 3d indoor reconstruction from point clouds for “as-built” BIM
CN109163722B (en) Humanoid robot path planning method and device
CN111397598A (en) Sampling method and system for path planning of mobile robot in human-machine integration environment
CN112428271B (en) Real-time robot motion planning method based on multimodal information feature tree
CN106643721B (en) A Construction Method of Environmental Topology Map
CN113485373B (en) A Real-time Motion Planning Method for Robot Based on Gaussian Mixture Model
CN112543859B (en) Positioning method, positioning device, electronic equipment and storage medium
CN115077540A (en) Map construction method and device
CN110244716A (en) A Method of Robot Exploration Based on Wavefront Algorithm
CN114442629A (en) A Path Planning Method for Mobile Robots Based on Image Processing
CN113822332A (en) Road edge data labeling method, related system and storage medium
Xu et al. An efficient algorithm for environmental coverage with multiple robots
CN116105742A (en) Composite scene inspection navigation method, system and related equipment
CN113741461B (en) Multi-robot obstacle avoidance method oriented to limited communication under complex scene
Bastani et al. Inferring and improving street maps with data-driven automation
CN114419877A (en) Vehicle track prediction data processing method and device based on road characteristics
CN111504321A (en) Reusable search tree method based on expanded voronoi diagram characteristics
CN107016706A (en) A kind of method that application Visual Graph algorithms extract obstacles borders
CN116682018A (en) A vehicle trajectory prediction method, device, system and storage medium
CN112967317B (en) Visual odometry method based on convolutional neural network architecture in dynamic environment
RU2742394C1 (en) Method of creating an intelligent system for determining areas of flight routes for an unmanned aerial vehicle in simulation complexes
Demir et al. Robocodes: Towards generative street addresses from satellite imagery
Tutzauer et al. Processing of crawled urban imagery for building use classification

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant