主要内容

Planificación de rutas en entornos de diente complejidad

Este ejemplo muestra cómo calcular una ruta libre de obstáculos entre do ubicacones en undeterminado mapa uteluificador de rutas PRM (hoja de rutas probabilísticas)。我是一个有前途的人我是一个有前途的人我是一个有前途的人我是一个有前途的人我是一个有前途的人我是一个有前途的人conectándolos我是一个sí。那是我们的裁判,那是我们的裁判,那是我们的裁判,那是我们的裁判,那是我们的决定ubicación那是我们的决定ubicación最后的决定。

我爱你,我爱你,我爱你cuadrícula de ocupación我爱你,我爱你。在自由的空间和自由的环境中,我们实现了我们的梦想,PRM的事业representación de cuadrícula de ocupaciónAdemás, PRM没有tiene en cuenta la dimensión del robot al calcular una ruta libre de obstáculos en un mapa。好了,好了,好了,好了,好了,好了dimensión机器人的,自由的cálculo,自由的,自由的obstáculos,好了,好了,tamaño,机器人的,自由的,prevención,好了,机器人的,真正的。定义ubicación正式的最终的关于自由的规则规则规则规则规则规则规则规则规则规则规则规则obstáculos。

这是一个很重要的地图

负载exampleMaps.mat

Los mapas importados son:simpleMapcomplexMapyternaryMap

*地图*
名称大小字节类属性complexMap 41x52 2132 logical emptyMap 26x27 702 logical simpleMap 26x27 702 logical ternaryMap 501x501 2008008 double

这是我们的使命simpleMapY consolya una representación de cuadrícula de ocupación utizando el objetobinaryOccupancyMap.我的定义resolución我的家乡,我的家乡,我的家乡。

地图= binaryOccupancyMap (simpleMap 2);

Muestre el mapa utizando la función显示en el objetobinaryOccupancyMap

显示(图)

图中包含一个axes对象。标题为二进制占用网格的axis对象包含一个类型为image的对象。

定义机器人膨胀的空间

机器人的安全保卫ningún obstáculo,机器人的安全保卫dimensión机器人的安全保卫。

Aquí, podemos asumir que la dimensión del robot es un círculo con un radio de 0,2 metro。一个continuación,普雷达的马帕在那里dimensión por medium de la función膨胀

robotRadius = 0.2;

Como se ha señalado前方,PRM no tiene en cuenta la dimensión del robot y, por tanto, enviar un mapa inflado a PRM tiene en cuenta la dimensión del robot。Cree una copia del mapa antes de usar la función膨胀Para conservar el mapa原创。

mapInflated = (map)复印件;充气(mapInflated robotRadius);

Muestre el mapa inflado

显示(mapInflated)

图中包含一个axes对象。标题为二进制占用网格的axis对象包含一个类型为image的对象。

解释PRM y定义los parámetros

Ahora debe definir un planificador de rutas。克里族联合国objetomobileRobotPRM这就是我的定义。

人口、难民和移民事务局= mobileRobotPRM;

通货膨胀与PRM的关系

人口、难民和移民事务局。地图= mapInflated;

定义el número de nodos de PRM que se utilizará durante la construcción de PRM。PRM解释了如何处理问题,如何处理问题número解决问题的方法。Según我们dimensión我们完成了我们的使命,我们的使命,我们的使命,我们的使命,我们的使命,我们的使命,我们的使命,我们的使命,我们的使命,solución我们的使命,我们的使命。Un número伟大的曙光曙光曙光曙光曙光曙光曙光曙光曙光曙光曙光曙光曙光曙光曙光。好了,我知道了más我知道了,我知道了cálculo我知道了,我知道了solución。

人口、难民和移民事务局。NumNodes = 50;

远方的定义máxima允许你进入你的世界。我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说。我爱你,我爱你,我爱你,我爱你。遥远的地方conexión大的奥芒达,连在一起的,在中间的,在路上的,在路上的más fácilmente,在路上的,在路上的también,在路上的,在路上的cálculo,在路上的creación。

人口、难民和移民事务局。ConnectionDistance = 5;

因为这是合理的,所以是合理的

定义la ubicación正式的最终的el mapa que utilizará el planificador de rutas。

startLocation = [2 1];endLocation = [12 10];

Busque una ruta entre la ubicación正式的,最终的,最后的funciónfindpath.La solución es unconjunto de waypoints de La ubicación官方的,最终的。Tenga en cuenta que路径será diferente debido al carácter probabilístico del algorithm PRM。

path = findpath(prm, startLocation, endLocation)
路径=7×22.000 1.0000 1.9569 1.0546 1.8369 2.3856 3.2389 6.6106 7.8260 8.1330 11.4632 10.5857 12.0000 10.0000

Muestre la solución de PRM。

显示(人口、难民和移民事务局)

图中包含一个axes对象。标题为“概率路线图”的坐标轴对象包含图像、直线、散点类型的4个对象。

Usar PRM para un mapa grande y complicado

这是我们的使命complexMap, que代表UN plano de planta grande and complicado, y cucuya una representación de cuadrícula de ocupación双胞杆菌杆菌resolución (1 celda por metro)

地图= binaryOccupancyMap (complexMap, 1);

Muestre el mapa。

显示(图)

图中包含一个axes对象。标题为二进制占用网格的axis对象包含一个类型为image的对象。

这是机器人的一个维度的组成部分

复制在地图上的一段时间内的一种方式tamaño机器人的evadir obstáculos

mapInflated = (map)复印件;充气(mapInflated robotRadius);

Muestre el mapa inflado。

显示(mapInflated)

图中包含一个axes对象。标题为二进制占用网格的axis对象包含一个类型为image的对象。

我爱你,我爱你,我爱你

这是我们的目标,这是我们的目标,我们的目标。

人口、难民和移民事务局。地图= mapInflated;

Defina las propiedadesNumNodesyConnectionDistance

人口、难民和移民事务局。NumNodes = 20;人口、难民和移民事务局。ConnectionDistance = 15;

Muestre la gráfica de PRM。

显示(人口、难民和移民事务局)

图中包含一个axes对象。标题为概率路线图(Probabilistic Roadmap)的坐标轴对象包含图像、直线、散点类型的3个对象。

因为这是合理的,所以是合理的

定义ubicación正式的,最终的,在自由的道路上,自由的obstáculos。

startLocation = [3 3];endLocation = [45 35];

Busque una solución entre la ubicación正式的决赛。所有的事情都是一样的,有可能的,不存在的,有可能的,有可能的,有可能的número,有可能的,有可能的número,有可能的,有可能的。

path = findpath(prm, startLocation, endLocation);

Como está planificando una ruta en mapa grande y complicado, quizás必要的联合国市长número de nodos。罪恶的封锁,一个不可能的决定性的结果cuántos nodos serán足够。阿juste el número nodos para asegurarse de que exista una ruta facface entre la ubicación正式的,最终的。

isempty(路径)尚未找到可行路径,增加节点数量人口、难民和移民事务局。NumNodes =人口、难民和移民事务局。NumNodes + 10;使用|update|功能重新创建更改后的PRM路线图%属性更新(人口、难民和移民事务局);使用更新的PRM搜索可行路径path = findpath(prm, startLocation, endLocation);结束

Muestre太阳。

路径
路径=12×23.0000 3.0000 4.2287 4.2628 7.7686 5.6520 6.8570 8.2389 19.5613 8.4030 33.1838 8.7614 31.3248 16.3874 41.3317 17.5090 48.3017 25.8527 49.4926 36.8804

Muestre la solución de PRM。

显示(人口、难民和移民事务局)

图中包含一个axes对象。标题为“概率路线图”的坐标轴对象包含图像、直线、散点类型的4个对象。