├── 2. cubic_obst ├── neighbourPoint ├── came_from ├── init.pyc ├── visualization.pyc ├── heapq_test.py ├── keys ├── start_pub.py ├── obst_pub.py ├── end_pub.py ├── obstacles ├── test.py └── visualization.py ├── 5. DstarLite ├── Experiment data │ ├── 08-25 15:48 executionTime │ ├── DstarStaticObstRes10 │ │ ├── 08-25 16:10 heapPercolation │ │ ├── 08-25 16:13 heapPercolation │ │ ├── 08-25 16:14 heapPercolation │ │ ├── 08-25 16:15 heapPercolation │ │ ├── 08-25 16:16 heapPercolation │ │ ├── 08-25 16:17 heapPercolation │ │ ├── 08-25 16:14 executionTime │ │ ├── 08-25 16:15 executionTime │ │ ├── 08-25 16:13 executionTime │ │ ├── 08-25 16:16 executionTime │ │ ├── 08-25 16:12 DstarPath │ │ ├── 08-25 16:13 DstarPath │ │ ├── 08-25 16:15 DstarPath │ │ ├── 08-25 16:17 executionTime │ │ ├── 08-25 16:14 DstarPath │ │ ├── 08-25 16:10 DstarPath │ │ ├── 08-25 16:17 DstarPath │ │ ├── 08-25 16:16 DstarPath │ │ └── 08-25 16:10 executionTime │ ├── 08-25 12:48 DstarPath │ ├── 08-25 15:02 DstarPath │ ├── 08-25 15:47 DstarPath │ ├── 08-25 15:49 DstarPath │ ├── 09-02 20:58 DstarPath │ ├── 08-25 12:48 executionTime │ ├── DstarStaticObstRes15 │ │ ├── 08-25 16:26 executionTime │ │ ├── 08-25 16:23 executionTime │ │ ├── 08-25 16:26 DstarPath │ │ └── 08-25 16:23 DstarPath │ └── 08-25 15:47 executionTime ├── inc.pyc ├── init.pyc ├── initEnv.pyc ├── prioQ.pyc ├── test2.pyc ├── test2.py ├── test.py ├── inc.py ├── init.py └── prioQ.py ├── 4. two-step ├── init.pyc ├── visualization.pyc ├── test.py ├── pub_target.py ├── pub_current.py └── pub_obst.py ├── 1. orig ├── initialization.pyc ├── visualization.pyc ├── global_variables.py ├── heapq_test.py ├── start_pub.py ├── obst_pub.py ├── end_pub.py ├── visualization.py └── initialization.py ├── 3. cylinder_obst ├── init.pyc ├── visualization.pyc ├── heapq_test.py ├── test.py ├── start_pub.py ├── obst_pub.py ├── end_pub.py └── visualization.py ├── 6. Multi-agent A* ├── init.pyc ├── astar1.pyc ├── visualization.pyc ├── Experiment data │ ├── test0 │ │ ├── 08-25 14:00_UAV2_rufPath │ │ ├── 08-25 14:00_UAV1_rufPath │ │ ├── 08-25 14:00_UAV1_heapPerc │ │ ├── 08-25 14:00_UAV1_pathL │ │ └── 08-25 14:00_UAV1_execT │ ├── twoStepStaticObstRes50 │ │ ├── 08-25 18:40_UAV1_rufPath │ │ ├── 08-25 18:26_UAV1_rufPath │ │ ├── 08-25 18:27_UAV1_rufPath │ │ ├── 08-25 18:28_UAV1_rufPath │ │ ├── 08-25 18:30_UAV1_rufPath │ │ ├── 08-25 18:31_UAV1_rufPath │ │ ├── 08-25 18:32_UAV1_rufPath │ │ ├── 08-25 18:34_UAV1_rufPath │ │ ├── 08-25 18:35_UAV1_rufPath │ │ ├── 08-25 18:36_UAV1_rufPath │ │ ├── 08-25 18:37_UAV1_rufPath │ │ ├── 08-25 18:38_UAV1_rufPath │ │ ├── 08-25 18:39_UAV1_rufPath │ │ ├── 08-25 18:33_UAV1_rufPath │ │ ├── 08-25 18:31_UAV1_heapPerc │ │ ├── 08-25 18:30_UAV1_heapPerc │ │ ├── 08-25 18:31_UAV1_pathL │ │ ├── 08-25 18:31_UAV1_execT │ │ ├── 08-25 18:38_UAV1_heapPerc │ │ ├── 08-25 18:40_UAV1_heapPerc │ │ ├── 08-25 18:30_UAV1_pathL │ │ └── 08-25 18:30_UAV1_execT │ ├── test1 │ │ ├── 08-25 14:10_UAV1_rufPath │ │ ├── 08-25 14:10_UAV1_heapPerc │ │ ├── 08-25 14:11_UAV1_rufPath │ │ ├── 08-25 14:10_UAV1_pathL │ │ └── 08-25 14:10_UAV1_execT │ ├── twoStepStaticObstRes20 │ │ ├── 08-25 14:21_UAV1_heapPerc │ │ ├── 08-25 14:21_UAV1_rufPath │ │ ├── 08-25 14:22_UAV1_rufPath │ │ ├── 08-25 14:24_UAV1_rufPath │ │ ├── 08-25 14:25_UAV1_rufPath │ │ ├── 08-25 14:26_UAV1_rufPath │ │ ├── 08-25 14:21_UAV1_pathL │ │ ├── 08-25 14:21_UAV1_execT │ │ ├── 08-25 14:20_UAV1_rufPath │ │ ├── 08-25 14:27_UAV1_rufPath │ │ ├── 08-25 14:20_UAV1_heapPerc │ │ └── 08-25 14:22_UAV1_heapPerc │ ├── twoStepStaticObstRes30 │ │ ├── 08-25 17:14_UAV1_rufPath │ │ ├── 08-25 17:15_UAV1_rufPath │ │ ├── 08-25 17:16_UAV1_rufPath │ │ ├── 08-25 17:17_UAV1_rufPath │ │ ├── 08-25 17:18_UAV1_rufPath │ │ ├── 08-25 17:19_UAV1_rufPath │ │ └── 08-25 17:13_UAV1_rufPath │ ├── multi302 │ │ ├── 08-25 19:20_UAV2_rufPath │ │ ├── 08-25 19:19_UAV2_rufPath │ │ ├── 08-25 19:19_UAV1_rufPath │ │ └── 08-25 19:20_UAV2_heapPerc │ └── multi303 │ │ ├── 08-25 19:27_UAV2_rufPath │ │ ├── 08-25 19:28_UAV2_rufPath │ │ ├── 08-25 19:26_UAV2_rufPath │ │ ├── 08-25 19:30_UAV1_rufPath │ │ ├── 08-25 19:31_UAV1_rufPath │ │ ├── 08-25 19:31_UAV2_rufPath │ │ ├── 08-25 19:32_UAV2_rufPath │ │ ├── 08-25 19:32_UAV1_rufPath │ │ ├── 08-25 19:29_UAV2_rufPath │ │ ├── 08-25 19:28_UAV1_rufPath │ │ ├── 08-25 19:27_UAV1_rufPath │ │ ├── 08-25 19:26_UAV1_rufPath │ │ ├── 08-25 19:30_UAV2_rufPath │ │ ├── 08-25 19:29_UAV2_heapPerc │ │ ├── 08-25 19:29_UAV2_pathL │ │ └── 08-25 19:29_UAV2_execT ├── test.py ├── pub_target.py ├── pub_current.py └── pub_obst.py ├── 0. Astar tutorial ├── .main.py.swp ├── readme.txt ├── heap.py ├── SimpleGraph.py ├── Queue.py └── SquareGrid.py ├── Experiment 3D Figures ├── .DS_Store ├── MultiAgentTSA │ ├── .DS_Store │ ├── Multi_1.jpg │ ├── Multi_2.jpg │ ├── TestTime1926.fig │ ├── TestTime1927.fig │ ├── TestTime1928.fig │ ├── TestTime1930.fig │ ├── TestTime1931.fig │ └── TestTime1932.fig ├── Dstar_Resoluston_15 │ ├── .DS_Store │ └── TestTime1623.fig ├── Dstar_Resolution_10 │ ├── .DS_Store │ ├── Test 1-3.jpg │ ├── Test 4-6.jpg │ ├── TestTime1610.fig │ ├── TestTime1613.fig │ ├── TestTime1614.fig │ ├── TestTime1615.fig │ ├── TestTime1616.fig │ └── TestTime1617.fig ├── TSAstar_Resolution_20 │ ├── .DS_Store │ ├── 20-1.jpg │ ├── 20-2.jpg │ ├── TestTime1420.fig │ ├── TestTime1421.fig │ ├── TestTime1424.fig │ ├── TestTime1425.fig │ ├── TestTime1426.fig │ └── TestTime1427.fig ├── TSAstar_Resolution_30 │ ├── .DS_Store │ ├── 30-1.jpg │ ├── 30-2.jpg │ ├── TestTime1713.fig │ ├── TestTime1714.fig │ ├── TestTime1715.fig │ ├── TestTime1716.fig │ ├── TestTime1717.fig │ ├── TestTime1718.fig │ └── TestTime1719.fig └── TSAstar_Resolution_50 │ ├── .DS_Store │ ├── 50-1.jpg │ ├── 50-2.jpg │ ├── 50_spec.jpg │ ├── TestTime1826.fig │ ├── TestTime1827.fig │ ├── TestTime1828.fig │ ├── TestTime1832.fig │ ├── TestTime1833.fig │ ├── TestTime1834.fig │ ├── TestTime1835.fig │ ├── TestTime1836.fig │ ├── TestTime1838.fig │ ├── TestTime1840.fig │ └── TestTime1829_spec.fig └── test.py /2. cubic_obst/neighbourPoint: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /2. cubic_obst/came_from: -------------------------------------------------------------------------------- 1 | (8, -5, 11):None -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/08-25 15:48 executionTime: -------------------------------------------------------------------------------- 1 | newPath 0.00445985794067 2 | -------------------------------------------------------------------------------- /4. two-step/init.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/4. two-step/init.pyc -------------------------------------------------------------------------------- /5. DstarLite/inc.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/5. DstarLite/inc.pyc -------------------------------------------------------------------------------- /5. DstarLite/init.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/5. DstarLite/init.pyc -------------------------------------------------------------------------------- /2. cubic_obst/init.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/2. cubic_obst/init.pyc -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes10/08-25 16:10 heapPercolation: -------------------------------------------------------------------------------- 1 | refinedPath 446 2 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes10/08-25 16:13 heapPercolation: -------------------------------------------------------------------------------- 1 | refinedPath 395 2 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes10/08-25 16:14 heapPercolation: -------------------------------------------------------------------------------- 1 | refinedPath 388 2 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes10/08-25 16:15 heapPercolation: -------------------------------------------------------------------------------- 1 | refinedPath 393 2 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes10/08-25 16:16 heapPercolation: -------------------------------------------------------------------------------- 1 | refinedPath 415 2 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes10/08-25 16:17 heapPercolation: -------------------------------------------------------------------------------- 1 | refinedPath 593 2 | -------------------------------------------------------------------------------- /5. DstarLite/initEnv.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/5. DstarLite/initEnv.pyc -------------------------------------------------------------------------------- /5. DstarLite/prioQ.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/5. DstarLite/prioQ.pyc -------------------------------------------------------------------------------- /5. DstarLite/test2.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/5. DstarLite/test2.pyc -------------------------------------------------------------------------------- /1. orig/initialization.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/1. orig/initialization.pyc -------------------------------------------------------------------------------- /1. orig/visualization.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/1. orig/visualization.pyc -------------------------------------------------------------------------------- /3. cylinder_obst/init.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/3. cylinder_obst/init.pyc -------------------------------------------------------------------------------- /6. Multi-agent A*/init.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/6. Multi-agent A*/init.pyc -------------------------------------------------------------------------------- /4. two-step/visualization.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/4. two-step/visualization.pyc -------------------------------------------------------------------------------- /6. Multi-agent A*/astar1.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/6. Multi-agent A*/astar1.pyc -------------------------------------------------------------------------------- /0. Astar tutorial/.main.py.swp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/0. Astar tutorial/.main.py.swp -------------------------------------------------------------------------------- /2. cubic_obst/visualization.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/2. cubic_obst/visualization.pyc -------------------------------------------------------------------------------- /Experiment 3D Figures/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/.DS_Store -------------------------------------------------------------------------------- /3. cylinder_obst/visualization.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/3. cylinder_obst/visualization.pyc -------------------------------------------------------------------------------- /6. Multi-agent A*/visualization.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/6. Multi-agent A*/visualization.pyc -------------------------------------------------------------------------------- /0. Astar tutorial/readme.txt: -------------------------------------------------------------------------------- 1 | Codes from http://www.redblobgames.com/pathfinding/a-star/implementation.html by Amit Patel. 2 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/test0/08-25 14:00_UAV2_rufPath: -------------------------------------------------------------------------------- 1 | 14:00:03 2 | [(10, 9, 6), (10, 10, 5), (10, 10, 4)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /Experiment 3D Figures/MultiAgentTSA/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/MultiAgentTSA/.DS_Store -------------------------------------------------------------------------------- /Experiment 3D Figures/MultiAgentTSA/Multi_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/MultiAgentTSA/Multi_1.jpg -------------------------------------------------------------------------------- /Experiment 3D Figures/MultiAgentTSA/Multi_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/MultiAgentTSA/Multi_2.jpg -------------------------------------------------------------------------------- /Experiment 3D Figures/Dstar_Resoluston_15/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/Dstar_Resoluston_15/.DS_Store -------------------------------------------------------------------------------- /Experiment 3D Figures/Dstar_Resolution_10/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/Dstar_Resolution_10/.DS_Store -------------------------------------------------------------------------------- /Experiment 3D Figures/Dstar_Resolution_10/Test 1-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/Dstar_Resolution_10/Test 1-3.jpg -------------------------------------------------------------------------------- /Experiment 3D Figures/Dstar_Resolution_10/Test 4-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/Dstar_Resolution_10/Test 4-6.jpg -------------------------------------------------------------------------------- /Experiment 3D Figures/MultiAgentTSA/TestTime1926.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/MultiAgentTSA/TestTime1926.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/MultiAgentTSA/TestTime1927.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/MultiAgentTSA/TestTime1927.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/MultiAgentTSA/TestTime1928.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/MultiAgentTSA/TestTime1928.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/MultiAgentTSA/TestTime1930.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/MultiAgentTSA/TestTime1930.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/MultiAgentTSA/TestTime1931.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/MultiAgentTSA/TestTime1931.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/MultiAgentTSA/TestTime1932.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/MultiAgentTSA/TestTime1932.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_20/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_20/.DS_Store -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_20/20-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_20/20-1.jpg -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_20/20-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_20/20-2.jpg -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_30/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_30/.DS_Store -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_30/30-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_30/30-1.jpg -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_30/30-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_30/30-2.jpg -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_50/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_50/.DS_Store -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_50/50-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_50/50-1.jpg -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_50/50-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_50/50-2.jpg -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_50/50_spec.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_50/50_spec.jpg -------------------------------------------------------------------------------- /Experiment 3D Figures/Dstar_Resoluston_15/TestTime1623.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/Dstar_Resoluston_15/TestTime1623.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/Dstar_Resolution_10/TestTime1610.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/Dstar_Resolution_10/TestTime1610.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/Dstar_Resolution_10/TestTime1613.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/Dstar_Resolution_10/TestTime1613.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/Dstar_Resolution_10/TestTime1614.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/Dstar_Resolution_10/TestTime1614.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/Dstar_Resolution_10/TestTime1615.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/Dstar_Resolution_10/TestTime1615.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/Dstar_Resolution_10/TestTime1616.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/Dstar_Resolution_10/TestTime1616.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/Dstar_Resolution_10/TestTime1617.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/Dstar_Resolution_10/TestTime1617.fig -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/test0/08-25 14:00_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 14:00:11 2 | [(14, 15, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | 14:00:17 6 | [(16, 14, 6)] 7 | 8 | 9 | -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_20/TestTime1420.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_20/TestTime1420.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_20/TestTime1421.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_20/TestTime1421.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_20/TestTime1424.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_20/TestTime1424.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_20/TestTime1425.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_20/TestTime1425.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_20/TestTime1426.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_20/TestTime1426.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_20/TestTime1427.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_20/TestTime1427.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_30/TestTime1713.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_30/TestTime1713.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_30/TestTime1714.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_30/TestTime1714.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_30/TestTime1715.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_30/TestTime1715.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_30/TestTime1716.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_30/TestTime1716.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_30/TestTime1717.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_30/TestTime1717.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_30/TestTime1718.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_30/TestTime1718.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_30/TestTime1719.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_30/TestTime1719.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_50/TestTime1826.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_50/TestTime1826.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_50/TestTime1827.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_50/TestTime1827.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_50/TestTime1828.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_50/TestTime1828.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_50/TestTime1832.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_50/TestTime1832.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_50/TestTime1833.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_50/TestTime1833.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_50/TestTime1834.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_50/TestTime1834.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_50/TestTime1835.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_50/TestTime1835.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_50/TestTime1836.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_50/TestTime1836.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_50/TestTime1838.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_50/TestTime1838.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_50/TestTime1840.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_50/TestTime1840.fig -------------------------------------------------------------------------------- /Experiment 3D Figures/TSAstar_Resolution_50/TestTime1829_spec.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngranLi/Astar/HEAD/Experiment 3D Figures/TSAstar_Resolution_50/TestTime1829_spec.fig -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:40_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 18:40:13 2 | [(8, 10, 3), (9, 11, 4), (10, 11, 4), (11, 11, 4), (12, 11, 4), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/test1/08-25 14:10_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 14:10:37 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 2), (8, 8, 2), (8, 9, 2), (9, 10, 3), (10, 11, 4), (11, 12, 5), (12, 12, 5), (13, 13, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes20/08-25 14:21_UAV1_heapPerc: -------------------------------------------------------------------------------- 1 | roughPath 288 2 | refinedPath 172 3 | refinedPath 172 4 | refinedPath 172 5 | refinedPath 172 6 | refinedPath 172 7 | refinedPath 172 8 | refinedPath 172 9 | refinedPath 172 10 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes20/08-25 14:21_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 14:21:52 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes20/08-25 14:22_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 14:22:00 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes20/08-25 14:24_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 14:24:26 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes20/08-25 14:25_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 14:25:14 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes20/08-25 14:26_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 14:26:08 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes30/08-25 17:14_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 17:14:48 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes30/08-25 17:15_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 17:15:41 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes30/08-25 17:16_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 17:16:26 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes30/08-25 17:17_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 17:17:12 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes30/08-25 17:18_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 17:18:05 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes30/08-25 17:19_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 17:19:04 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:26_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 18:26:28 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:27_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 18:27:20 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:28_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 18:28:11 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:30_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 18:30:36 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:31_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 18:31:01 2 | [(7, 8, 2), (8, 9, 3), (9, 10, 4), (10, 11, 4), (11, 12, 5), (12, 12, 5), (13, 13, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | 18:31:23 6 | [(16, 14, 6)] 7 | 8 | 9 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:32_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 18:32:04 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:34_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 18:34:54 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:35_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 18:35:51 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:36_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 18:36:50 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:37_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 18:37:49 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:38_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 18:38:48 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /0. Astar tutorial/heap.py: -------------------------------------------------------------------------------- 1 | from heapq import * 2 | 3 | def heapsort(iterable): 4 | h = [] 5 | for value in iterable: 6 | heappush(h,value) 7 | return [heappop(h) for i in range(len(h))] 8 | 9 | if __name__=="__main__": 10 | print heapsort([1,3,5,9,2]) 11 | -------------------------------------------------------------------------------- /6. Multi-agent A*/test.py: -------------------------------------------------------------------------------- 1 | # lst = [0, 1, 2] 2 | # for i in range(5): 3 | # try: 4 | # print lst[i] 5 | # except IndexError: 6 | # print 'i is ', i 7 | # 8 | # print 'last elemnt: ', lst[-1] 9 | 10 | f = open('test', 'w') 11 | f.write('yo yo covered') 12 | f.close() 13 | -------------------------------------------------------------------------------- /5. DstarLite/test2.py: -------------------------------------------------------------------------------- 1 | # def percolateup(): 2 | # global heap_percolation 3 | # heap_percolation += 1 4 | # 5 | # def percolatedown(): 6 | # global heap_percolation 7 | # heap_percolation += 1 8 | # 9 | # heap_percolation = 0 10 | # heap_percolation += 1 11 | 12 | 13 | def return2values(): 14 | return 1, 2 15 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi302/08-25 19:20_UAV2_rufPath: -------------------------------------------------------------------------------- 1 | 19:20:49 2 | [(3, 2, 0), (4, 2, 1), (5, 2, 1), (6, 2, 2), (7, 2, 3), (8, 2, 3), (9, 2, 4), (10, 2, 4), (11, 3, 5), (12, 3, 5), (13, 4, 6), (14, 4, 6)] 3 | 4 | 5 | 19:20:57 6 | [(7, 1, 9), (8, 2, 8), (9, 2, 8), (10, 2, 8), (11, 2, 8), (12, 3, 7), (13, 4, 6), (14, 4, 6)] 7 | 8 | 9 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi303/08-25 19:27_UAV2_rufPath: -------------------------------------------------------------------------------- 1 | 19:27:28 2 | [(4, 17, 2), (5, 16, 2), (6, 15, 2), (7, 14, 2), (8, 13, 3), (9, 12, 3), (10, 11, 3), (11, 10, 4), (12, 9, 5), (12, 8, 5), (13, 7, 5), (13, 6, 5), (14, 5, 6), (14, 4, 6)] 3 | 4 | 5 | 19:27:48 6 | [(9, 7, 2), (10, 6, 3), (11, 5, 4), (12, 5, 5), (13, 4, 6), (14, 4, 6)] 7 | 8 | 9 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi303/08-25 19:28_UAV2_rufPath: -------------------------------------------------------------------------------- 1 | 19:28:44 2 | [(4, 17, 2), (5, 16, 2), (6, 15, 2), (7, 14, 2), (8, 13, 3), (9, 12, 3), (10, 11, 3), (11, 10, 4), (12, 9, 5), (12, 8, 5), (13, 7, 5), (13, 6, 5), (14, 5, 6), (14, 4, 6)] 3 | 4 | 5 | 19:29:10 6 | [(9, 7, 1), (10, 6, 2), (11, 5, 3), (12, 5, 4), (13, 4, 5), (14, 4, 6)] 7 | 8 | 9 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes20/08-25 14:21_UAV1_pathL: -------------------------------------------------------------------------------- 1 | roughPath 4.70692454172 2 | refinedPath 0.747469149469 3 | refinedPath 0.747469149469 4 | refinedPath 0.747469149469 5 | refinedPath 0.747469149469 6 | refinedPath 0.747469149469 7 | refinedPath 0.747469149469 8 | refinedPath 0.747469149469 9 | refinedPath 0.747469149469 10 | -------------------------------------------------------------------------------- /0. Astar tutorial/SimpleGraph.py: -------------------------------------------------------------------------------- 1 | class SimpleGraph: 2 | def __init__(self): 3 | self.edges = {} 4 | 5 | def neighbors(self, id): 6 | return self.edges[id] 7 | 8 | example_graph = SimpleGraph() 9 | example_graph.edges = { 10 | 'A':['B'], 11 | 'B':['A', 'C', 'D'], 12 | 'C':['A'], 13 | 'D':['A', 'E'] 14 | 'E':['B'] 15 | } 16 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes20/08-25 14:21_UAV1_execT: -------------------------------------------------------------------------------- 1 | roughPath 0.00736498832703 2 | refinedPath 0.00370192527771 3 | refinedPath 0.00309205055237 4 | refinedPath 0.0048840045929 5 | refinedPath 0.00149488449097 6 | refinedPath 0.00318312644958 7 | refinedPath 0.00304007530212 8 | refinedPath 0.00261402130127 9 | refinedPath 0.00432705879211 10 | -------------------------------------------------------------------------------- /0. Astar tutorial/Queue.py: -------------------------------------------------------------------------------- 1 | import collections 2 | 3 | class Queue: 4 | def __init__(self): 5 | self.elements = collections.deque() 6 | 7 | def empty(self): 8 | return len(self.elements) == 0 9 | 10 | def put(self, x): 11 | self.elements.append(x) 12 | 13 | def get(self): 14 | return self.elements.popleft() 15 | -------------------------------------------------------------------------------- /4. two-step/test.py: -------------------------------------------------------------------------------- 1 | # lst = [0, 1, 2] 2 | # for i in range(5): 3 | # try: 4 | # print lst[i] 5 | # except IndexError: 6 | # print 'i is ', i 7 | # 8 | # print 'last elemnt: ', lst[-1] 9 | 10 | import math 11 | 12 | for i in range(5, -1, -1): 13 | try: 14 | print 5/float(i) 15 | except ZeroDivisionError: 16 | print 'i is ', i 17 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi302/08-25 19:19_UAV2_rufPath: -------------------------------------------------------------------------------- 1 | 19:20:00 2 | [(4, 17, 2), (5, 16, 2), (6, 15, 2), (7, 14, 2), (8, 13, 3), (9, 12, 3), (10, 11, 3), (11, 10, 4), (12, 9, 5), (12, 8, 5), (13, 7, 5), (13, 6, 5), (14, 5, 6), (14, 4, 6)] 3 | 4 | 5 | 19:20:44 6 | [(6, 10, 3), (7, 9, 3), (8, 8, 4), (9, 7, 4), (10, 6, 4), (11, 5, 5), (12, 5, 5), (13, 4, 6), (14, 4, 6)] 7 | 8 | 9 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi303/08-25 19:26_UAV2_rufPath: -------------------------------------------------------------------------------- 1 | 19:26:12 2 | [(4, 17, 2), (5, 16, 2), (6, 15, 2), (7, 14, 2), (8, 13, 3), (9, 12, 3), (10, 11, 3), (11, 10, 4), (12, 9, 5), (12, 8, 5), (13, 7, 5), (13, 6, 5), (14, 5, 6), (14, 4, 6)] 3 | 4 | 5 | 19:26:40 6 | [(6, 8, 0), (7, 7, 1), (8, 6, 2), (9, 6, 3), (10, 5, 4), (11, 5, 5), (12, 5, 5), (13, 4, 6), (14, 4, 6)] 7 | 8 | 9 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi303/08-25 19:30_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 19:30:06 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | 19:30:20 6 | [(8, 11, 3), (9, 11, 3), (10, 12, 4), (11, 12, 4), (12, 12, 4), (13, 13, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 7 | 8 | 9 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi303/08-25 19:31_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 19:31:22 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | 19:31:36 6 | [(6, 9, 3), (7, 10, 3), (8, 10, 3), (9, 11, 3), (10, 12, 4), (11, 12, 4), (12, 12, 4), (13, 13, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 7 | 8 | 9 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:39_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 18:39:08 2 | [(7, 10, 2), (8, 10, 2), (9, 11, 3), (10, 11, 3), (11, 11, 3), (12, 12, 4), (13, 13, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | 18:39:56 6 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 7 | 8 | 9 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi303/08-25 19:31_UAV2_rufPath: -------------------------------------------------------------------------------- 1 | 19:31:21 2 | [(4, 17, 2), (5, 16, 2), (6, 15, 2), (7, 14, 2), (8, 13, 3), (9, 12, 3), (10, 11, 3), (11, 10, 4), (12, 9, 5), (12, 8, 5), (13, 7, 5), (13, 6, 5), (14, 5, 6), (14, 4, 6)] 3 | 4 | 5 | 19:31:37 6 | [(2, 7, 0), (3, 7, 0), (4, 6, 1), (5, 5, 2), (6, 5, 2), (7, 4, 3), (8, 4, 4), (9, 4, 4), (10, 4, 4), (11, 4, 5), (12, 4, 5), (13, 4, 6), (14, 4, 6)] 7 | 8 | 9 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi303/08-25 19:32_UAV2_rufPath: -------------------------------------------------------------------------------- 1 | 19:32:19 2 | [(4, 17, 2), (5, 16, 2), (6, 15, 2), (7, 14, 2), (8, 13, 3), (9, 12, 3), (10, 11, 3), (11, 10, 4), (12, 9, 5), (12, 8, 5), (13, 7, 5), (13, 6, 5), (14, 5, 6), (14, 4, 6)] 3 | 4 | 5 | 19:32:33 6 | [(2, 8, 0), (3, 7, 1), (4, 6, 2), (5, 5, 3), (6, 5, 3), (7, 4, 4), (8, 4, 4), (9, 4, 4), (10, 4, 4), (11, 4, 5), (12, 4, 5), (13, 4, 6), (14, 4, 6)] 7 | 8 | 9 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes20/08-25 14:20_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 14:20:13 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | 14:20:47 6 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 7 | 8 | 9 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes20/08-25 14:27_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 14:27:07 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | 14:27:46 6 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 7 | 8 | 9 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes30/08-25 17:13_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 17:13:02 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | 17:13:56 6 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 7 | 8 | 9 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:33_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 18:33:03 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | 18:33:56 6 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 7 | 8 | 9 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi303/08-25 19:32_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 19:32:20 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | 19:32:33 6 | [(8, 10, 3), (9, 11, 4), (10, 11, 4), (11, 11, 4), (12, 11, 4), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 7 | 8 | 9 | 19:32:38 10 | [(11, 12, 5), (12, 12, 5), (13, 13, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 11 | 12 | 13 | -------------------------------------------------------------------------------- /1. orig/global_variables.py: -------------------------------------------------------------------------------- 1 | global variables 2 | 3 | def set by user at first(): 4 | length_of_map 5 | width_of_map 6 | height_of_map 7 | 8 | scale_rough 9 | scale_fine 10 | 11 | gotPath 12 | 13 | def changed by feedback data(): 14 | current_point 15 | target_point 16 | obstArray.range 17 | 18 | def others(): 19 | execution_time 20 | len_of_path 21 | vertex_expension 22 | heap_percolation 23 | 24 | only callBack functions change current & target-points, 25 | main function use start & end point 26 | -------------------------------------------------------------------------------- /1. orig/heapq_test.py: -------------------------------------------------------------------------------- 1 | import heapq 2 | import math 3 | 4 | class PriorityQueue: 5 | def __init__(self): 6 | self.elements = [] 7 | 8 | def empty(self): 9 | return len(self.elements) == 0 10 | 11 | def put(self, item, priority): 12 | heapq.heappush(self.elements, (priority, item)) 13 | 14 | def get(self): 15 | return heapq.heappop(self.elements)[1] 16 | 17 | frontier = PriorityQueue() 18 | priority = math.sqrt(2**2+3**2) 19 | frontier.put((0,0), priority) 20 | priority = math.sqrt(1**2+2**2) 21 | frontier.put((1,1), priority) 22 | print frontier.get() 23 | -------------------------------------------------------------------------------- /2. cubic_obst/heapq_test.py: -------------------------------------------------------------------------------- 1 | import heapq 2 | import math 3 | 4 | class PriorityQueue: 5 | def __init__(self): 6 | self.elements = [] 7 | 8 | def empty(self): 9 | return len(self.elements) == 0 10 | 11 | def put(self, item, priority): 12 | heapq.heappush(self.elements, (priority, item)) 13 | 14 | def get(self): 15 | return heapq.heappop(self.elements)[1] 16 | 17 | frontier = PriorityQueue() 18 | priority = math.sqrt(2**2+3**2) 19 | frontier.put((0,0), priority) 20 | priority = math.sqrt(1**2+2**2) 21 | frontier.put((1,1), priority) 22 | print frontier.get() 23 | -------------------------------------------------------------------------------- /3. cylinder_obst/heapq_test.py: -------------------------------------------------------------------------------- 1 | import heapq 2 | import math 3 | 4 | class PriorityQueue: 5 | def __init__(self): 6 | self.elements = [] 7 | 8 | def empty(self): 9 | return len(self.elements) == 0 10 | 11 | def put(self, item, priority): 12 | heapq.heappush(self.elements, (priority, item)) 13 | 14 | def get(self): 15 | return heapq.heappop(self.elements)[1] 16 | 17 | frontier = PriorityQueue() 18 | priority = math.sqrt(2**2+3**2) 19 | frontier.put((0,0), priority) 20 | priority = math.sqrt(1**2+2**2) 21 | frontier.put((1,1), priority) 22 | print frontier.get() 23 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes10/08-25 16:14 executionTime: -------------------------------------------------------------------------------- 1 | newPath 0.0611579418182 2 | oldPath 0.00171995162964 3 | oldPath 0.00342106819153 4 | oldPath 0.00121903419495 5 | oldPath 0.00118207931519 6 | oldPath 0.00206089019775 7 | oldPath 0.00166416168213 8 | oldPath 0.000937938690186 9 | oldPath 0.000663042068481 10 | oldPath 0.00170588493347 11 | oldPath 0.000982999801636 12 | oldPath 0.000489950180054 13 | oldPath 0.00164389610291 14 | oldPath 0.00151515007019 15 | oldPath 0.0012059211731 16 | oldPath 0.00058388710022 17 | oldPath 0.00247311592102 18 | oldPath 0.00186681747437 19 | oldPath 0.00224590301514 20 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi303/08-25 19:29_UAV2_rufPath: -------------------------------------------------------------------------------- 1 | 19:29:22 2 | [(15, 11, 4), (15, 10, 4), (15, 9, 4), (15, 8, 4), (15, 7, 4), (14, 6, 5), (14, 5, 6), (14, 4, 6)] 3 | 4 | 5 | 19:29:22 6 | [(15, 11, 4), (15, 10, 4), (15, 9, 4), (15, 8, 4), (15, 7, 4), (14, 6, 5), (14, 5, 6), (14, 4, 6)] 7 | 8 | 9 | 19:29:22 10 | [(15, 11, 4), (15, 10, 4), (15, 9, 4), (15, 8, 4), (15, 7, 4), (14, 6, 5), (14, 5, 6), (14, 4, 6)] 11 | 12 | 13 | 19:29:22 14 | [(16, 11, 5), (16, 10, 5), (16, 9, 5), (16, 8, 5), (16, 7, 5), (15, 6, 6), (14, 5, 6), (14, 4, 6)] 15 | 16 | 17 | 19:29:28 18 | [(13, 3, 6), (14, 4, 6)] 19 | 20 | 21 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes10/08-25 16:15 executionTime: -------------------------------------------------------------------------------- 1 | newPath 0.0541210174561 2 | oldPath 0.00356793403625 3 | oldPath 0.00207901000977 4 | oldPath 0.00250720977783 5 | oldPath 0.00185704231262 6 | oldPath 0.00433087348938 7 | oldPath 0.00164389610291 8 | oldPath 0.00239515304565 9 | oldPath 0.00237488746643 10 | oldPath 0.00382113456726 11 | oldPath 0.0042998790741 12 | oldPath 0.00138998031616 13 | oldPath 0.0014271736145 14 | oldPath 0.00173401832581 15 | oldPath 0.00666117668152 16 | oldPath 0.00277805328369 17 | oldPath 0.0010941028595 18 | oldPath 0.00137376785278 19 | oldPath 0.00106000900269 20 | oldPath 0.00124788284302 21 | oldPath 0.0030369758606 22 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes10/08-25 16:13 executionTime: -------------------------------------------------------------------------------- 1 | newPath 0.0617921352386 2 | oldPath 0.00182390213013 3 | oldPath 0.00113606452942 4 | oldPath 0.00404405593872 5 | oldPath 0.00156402587891 6 | oldPath 0.00412106513977 7 | oldPath 0.00368595123291 8 | oldPath 0.00172305107117 9 | oldPath 0.00259280204773 10 | oldPath 0.0024938583374 11 | oldPath 0.00400805473328 12 | oldPath 0.00248599052429 13 | oldPath 0.00207591056824 14 | oldPath 0.00124883651733 15 | oldPath 0.0035400390625 16 | oldPath 0.00159192085266 17 | oldPath 0.000602006912231 18 | oldPath 0.00133609771729 19 | oldPath 0.00242304801941 20 | oldPath 0.00184607505798 21 | oldPath 0.00116205215454 22 | -------------------------------------------------------------------------------- /0. Astar tutorial/SquareGrid.py: -------------------------------------------------------------------------------- 1 | class SquareGrid: 2 | def __init__(self, width, height): 3 | self.width = width 4 | self.height = height 5 | self.walls = [] 6 | 7 | def in_bounds(self, id): 8 | (x, y) = id 9 | return 0 <= x < self.width and 0 <= y < self.height 10 | 11 | def passable(self, id): 12 | return id not in self.walls 13 | 14 | def neighbors(self, id): 15 | (x, y) = id 16 | results = [(x+1, y), (x, y-1), (x-1, y), (x, y+1)] 17 | if (x + y) % 2 == 0: results.reverse() # aesthetics 18 | results = filter(self.in_bounds, results) 19 | results = filter(self.passable, results) 20 | return results 21 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi303/08-25 19:28_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 19:28:44 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | 19:29:03 6 | [(8, 9, 2), (9, 10, 3), (10, 11, 4), (11, 12, 4), (12, 12, 4), (13, 13, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 7 | 8 | 9 | 19:29:05 10 | [(7, 11, 3), (8, 11, 3), (9, 11, 3), (10, 12, 4), (11, 12, 4), (12, 12, 4), (13, 13, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 11 | 12 | 13 | 19:29:10 14 | [(11, 13, 4), (12, 13, 4), (13, 13, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 15 | 16 | 17 | 19:29:14 18 | [(15, 13, 6), (16, 14, 6)] 19 | 20 | 21 | 19:29:16 22 | [(15, 14, 6), (16, 14, 6)] 23 | 24 | 25 | 19:29:19 26 | [(16, 14, 6)] 27 | 28 | 29 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes10/08-25 16:16 executionTime: -------------------------------------------------------------------------------- 1 | newPath 0.0545980930328 2 | oldPath 0.00250101089478 3 | oldPath 0.0031681060791 4 | oldPath 0.000890016555786 5 | oldPath 0.00336790084839 6 | oldPath 0.000560998916626 7 | oldPath 0.00352597236633 8 | oldPath 0.00253295898438 9 | oldPath 0.00151205062866 10 | newPath 0.012549161911 11 | oldPath 0.00419497489929 12 | oldPath 0.000769138336182 13 | oldPath 0.00100207328796 14 | oldPath 0.000514030456543 15 | oldPath 0.00123190879822 16 | oldPath 0.00283694267273 17 | oldPath 0.000494003295898 18 | oldPath 0.00207710266113 19 | oldPath 0.00137591362 20 | oldPath 0.000835180282593 21 | oldPath 0.000514984130859 22 | oldPath 0.000553131103516 23 | oldPath 0.00147891044617 24 | oldPath 0.000584840774536 25 | oldPath 0.00114393234253 26 | oldPath 0.00217294692993 27 | oldPath 0.000994205474854 28 | oldPath 0.000380992889404 29 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi303/08-25 19:27_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 19:27:29 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | 19:27:41 6 | [(8, 8, 2), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 13, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 7 | 8 | 9 | 19:27:41 10 | [(9, 8, 2), (10, 9, 3), (11, 10, 4), (12, 11, 4), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 11 | 12 | 13 | 19:27:42 14 | [(9, 10, 2), (10, 11, 3), (11, 12, 4), (12, 12, 4), (13, 13, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 15 | 16 | 17 | 19:27:42 18 | [(10, 10, 2), (11, 11, 3), (12, 12, 4), (13, 13, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 19 | 20 | 21 | 19:27:44 22 | [(10, 12, 2), (11, 12, 3), (12, 12, 3), (13, 12, 4), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 23 | 24 | 25 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/08-25 12:48 DstarPath: -------------------------------------------------------------------------------- 1 | 12:48:20 2 | [(10, 10, 10), (10, 11, 10), (10, 12, 10), (10, 13, 10), (10, 14, 10), (10, 15, 10), (10, 16, 10), (10, 17, 10), (10, 18, 10), (10, 19, 10), (10, 20, 10), (11, 20, 10), (11, 21, 10), (12, 21, 10), (12, 22, 10), (13, 22, 10), (14, 22, 10), (15, 22, 10), (16, 22, 10), (16, 23, 10), (17, 23, 10), (18, 23, 10), (19, 23, 10), (20, 23, 10), (20, 24, 10), (21, 24, 10), (22, 24, 10), (22, 25, 10), (23, 25, 10), (23, 26, 10), (23, 27, 10), (24, 27, 10), (25, 27, 10), (25, 28, 10), (26, 28, 10), (27, 28, 10), (27, 29, 10), (27, 30, 10), (27, 31, 10), (27, 32, 10), (27, 33, 10), (28, 33, 10), (29, 33, 10), (30, 33, 10), (31, 33, 10), (32, 33, 10), (32, 34, 10), (33, 34, 10), (34, 34, 10), (35, 34, 10), (35, 35, 10), (35, 36, 10), (35, 37, 10), (36, 37, 10), (37, 37, 10), (37, 38, 10), (38, 38, 10), (39, 38, 10), (40, 38, 10), (40, 39, 10), (40, 40, 10)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/08-25 15:02 DstarPath: -------------------------------------------------------------------------------- 1 | 15:02:50 2 | [(10, 10, 10), (10, 11, 10), (10, 12, 10), (11, 12, 10), (12, 12, 10), (13, 12, 10), (14, 12, 10), (15, 12, 10), (15, 13, 10), (15, 14, 10), (15, 15, 10), (16, 15, 10), (16, 16, 10), (16, 17, 10), (17, 17, 10), (17, 18, 10), (17, 19, 10), (18, 19, 10), (19, 19, 10), (20, 19, 10), (21, 19, 10), (22, 19, 10), (23, 19, 10), (23, 20, 10), (24, 20, 10), (25, 20, 10), (26, 20, 10), (26, 21, 10), (27, 21, 10), (28, 21, 10), (29, 21, 10), (29, 22, 10), (30, 22, 10), (31, 22, 10), (32, 22, 10), (33, 22, 10), (33, 23, 10), (33, 24, 10), (34, 24, 10), (34, 25, 10), (35, 25, 10), (36, 25, 10), (37, 25, 10), (37, 26, 10), (37, 27, 10), (37, 28, 10), (37, 29, 10), (37, 30, 10), (37, 31, 10), (38, 31, 10), (38, 32, 10), (38, 33, 10), (38, 34, 10), (38, 35, 10), (38, 36, 10), (39, 36, 10), (40, 36, 10), (40, 37, 10), (40, 38, 10), (40, 39, 10), (40, 40, 10)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/08-25 15:47 DstarPath: -------------------------------------------------------------------------------- 1 | 15:47:39 2 | [(10, 10, 10), (10, 11, 10), (10, 12, 10), (11, 12, 10), (11, 13, 10), (12, 13, 10), (13, 13, 10), (13, 14, 10), (13, 15, 10), (13, 16, 10), (13, 17, 10), (14, 17, 10), (15, 17, 10), (15, 18, 10), (15, 19, 10), (16, 19, 10), (17, 19, 10), (17, 20, 10), (17, 21, 10), (17, 22, 10), (17, 23, 10), (18, 23, 10), (18, 24, 10), (18, 25, 10), (19, 25, 10), (20, 25, 10), (20, 26, 10), (21, 26, 10), (22, 26, 10), (22, 27, 10), (23, 27, 10), (24, 27, 10), (24, 28, 10), (25, 28, 10), (26, 28, 10), (27, 28, 10), (28, 28, 10), (28, 29, 10), (29, 29, 10), (30, 29, 10), (30, 30, 10), (30, 31, 10), (31, 31, 10), (32, 31, 10), (33, 31, 10), (33, 32, 10), (33, 33, 10), (33, 34, 10), (34, 34, 10), (35, 34, 10), (35, 35, 10), (36, 35, 10), (37, 35, 10), (37, 36, 10), (37, 37, 10), (37, 38, 10), (38, 38, 10), (38, 39, 10), (39, 39, 10), (39, 40, 10), (40, 40, 10)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/08-25 15:49 DstarPath: -------------------------------------------------------------------------------- 1 | 15:49:11 2 | [(10, 10, 10), (11, 10, 10), (12, 10, 10), (12, 11, 10), (13, 11, 10), (14, 11, 10), (15, 11, 10), (16, 11, 10), (16, 12, 10), (17, 12, 10), (17, 13, 10), (18, 13, 10), (18, 14, 10), (19, 14, 10), (19, 15, 10), (20, 15, 10), (21, 15, 10), (21, 16, 10), (22, 16, 10), (23, 16, 10), (24, 16, 10), (25, 16, 10), (25, 17, 10), (25, 18, 10), (26, 18, 10), (26, 19, 10), (26, 20, 10), (27, 20, 10), (27, 21, 10), (28, 21, 10), (28, 22, 10), (29, 22, 10), (30, 22, 10), (31, 22, 10), (31, 23, 10), (32, 23, 10), (32, 24, 10), (33, 24, 10), (34, 24, 10), (34, 25, 10), (34, 26, 10), (34, 27, 10), (34, 28, 10), (35, 28, 10), (35, 29, 10), (35, 30, 10), (36, 30, 10), (36, 31, 10), (36, 32, 10), (36, 33, 10), (37, 33, 10), (37, 34, 10), (37, 35, 10), (38, 35, 10), (38, 36, 10), (38, 37, 10), (39, 37, 10), (39, 38, 10), (39, 39, 10), (39, 40, 10), (40, 40, 10)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/09-02 20:58 DstarPath: -------------------------------------------------------------------------------- 1 | 20:58:13 2 | [(10, 10, 10), (10, 11, 10), (10, 12, 10), (10, 13, 10), (10, 14, 10), (10, 15, 10), (10, 16, 10), (10, 17, 10), (10, 18, 10), (10, 19, 10), (10, 20, 10), (11, 20, 10), (11, 21, 10), (11, 22, 10), (11, 23, 10), (11, 24, 10), (12, 24, 10), (13, 24, 10), (14, 24, 10), (15, 24, 10), (15, 25, 10), (16, 25, 10), (16, 26, 10), (17, 26, 10), (18, 26, 10), (19, 26, 10), (19, 27, 10), (19, 28, 10), (20, 28, 10), (21, 28, 10), (22, 28, 10), (22, 29, 10), (23, 29, 10), (24, 29, 10), (24, 30, 10), (25, 30, 10), (25, 31, 10), (26, 31, 10), (27, 31, 10), (27, 32, 10), (28, 32, 10), (29, 32, 10), (30, 32, 10), (31, 32, 10), (31, 33, 10), (31, 34, 10), (31, 35, 10), (31, 36, 10), (31, 37, 10), (31, 38, 10), (31, 39, 10), (32, 39, 10), (33, 39, 10), (33, 39, 11), (33, 39, 12), (33, 39, 13), (33, 40, 13), (34, 40, 13), (34, 40, 14), (34, 40, 15), (35, 40, 15)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi303/08-25 19:26_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 19:26:11 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | 19:26:35 6 | [(8, 9, 3), (9, 10, 3), (10, 10, 3), (11, 11, 3), (12, 12, 4), (13, 13, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 7 | 8 | 9 | 19:26:36 10 | [(9, 10, 3), (10, 11, 4), (11, 12, 5), (12, 12, 5), (13, 13, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 11 | 12 | 13 | 19:26:37 14 | [(9, 11, 4), (10, 11, 4), (11, 12, 5), (12, 12, 5), (13, 12, 5), (14, 13, 6), (15, 14, 6), (16, 14, 6)] 15 | 16 | 17 | 19:26:38 18 | [(9, 12, 4), (10, 12, 4), (11, 12, 4), (12, 12, 4), (13, 13, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 19 | 20 | 21 | 19:26:38 22 | [(10, 12, 4), (11, 12, 4), (12, 12, 4), (13, 13, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 23 | 24 | 25 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi303/08-25 19:30_UAV2_rufPath: -------------------------------------------------------------------------------- 1 | 19:30:05 2 | [(4, 17, 2), (5, 16, 2), (6, 15, 2), (7, 14, 2), (8, 13, 3), (9, 12, 3), (10, 11, 3), (11, 10, 4), (12, 9, 5), (12, 8, 5), (13, 7, 5), (13, 6, 5), (14, 5, 6), (14, 4, 6)] 3 | 4 | 5 | 19:30:17 6 | [(1, 11, 2), (2, 10, 2), (2, 9, 2), (3, 8, 2), (3, 7, 2), (4, 6, 3), (5, 5, 3), (6, 5, 3), (7, 4, 4), (8, 4, 4), (9, 4, 4), (10, 4, 4), (11, 4, 5), (12, 4, 5), (13, 4, 6), (14, 4, 6)] 7 | 8 | 9 | 19:30:39 10 | [(14, 4, 6)] 11 | 12 | 13 | 19:30:42 14 | [(8, 1, 5), (9, 2, 5), (10, 2, 5), (11, 3, 5), (12, 3, 5), (13, 4, 6), (14, 4, 6)] 15 | 16 | 17 | 19:30:47 18 | [(6, -1, 3), (7, 0, 3), (8, 0, 3), (9, 1, 3), (10, 2, 4), (11, 3, 5), (12, 3, 5), (13, 4, 6), (14, 4, 6)] 19 | 20 | 21 | 19:30:49 22 | [(7, 0, 3), (8, 1, 4), (9, 2, 5), (10, 2, 5), (11, 3, 5), (12, 3, 5), (13, 4, 6), (14, 4, 6)] 23 | 24 | 25 | 19:30:54 26 | [(14, 4, 6)] 27 | 28 | 29 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes10/08-25 16:12 DstarPath: -------------------------------------------------------------------------------- 1 | 16:12:10 2 | [(7, 8, 4), (7, 9, 4), (7, 10, 4), (7, 11, 4), (7, 12, 4), (7, 13, 4), (7, 14, 4), (7, 15, 4), (7, 16, 4), (8, 16, 4), (9, 16, 4), (9, 17, 4), (9, 18, 4), (9, 19, 4), (10, 19, 4), (10, 20, 4), (11, 20, 4), (12, 20, 4), (13, 20, 4), (13, 21, 4), (14, 21, 4), (14, 22, 4), (15, 22, 4), (16, 22, 4), (17, 22, 4), (17, 23, 4), (18, 23, 4), (18, 24, 4), (19, 24, 4), (19, 25, 4), (20, 25, 4), (21, 25, 4), (22, 25, 4), (23, 25, 4), (23, 26, 4), (23, 27, 4), (24, 27, 4), (24, 28, 4), (24, 29, 4), (24, 30, 4), (25, 30, 4), (25, 30, 5), (25, 31, 5), (25, 31, 6), (25, 32, 6), (25, 32, 7), (25, 32, 8), (25, 33, 8), (26, 33, 8), (26, 34, 8), (26, 35, 8), (26, 36, 8), (27, 36, 8), (28, 36, 8), (29, 36, 8), (29, 37, 8), (30, 37, 8), (30, 37, 9), (30, 37, 10), (30, 37, 11), (31, 37, 11), (31, 37, 12), (32, 37, 12), (32, 38, 12), (33, 38, 12), (33, 38, 13), (33, 39, 13), (33, 39, 14), (33, 39, 15), (33, 40, 15), (34, 40, 15), (35, 40, 15)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes10/08-25 16:13 DstarPath: -------------------------------------------------------------------------------- 1 | 16:13:54 2 | [(7, 8, 4), (8, 8, 4), (9, 8, 4), (10, 8, 4), (11, 8, 4), (12, 8, 4), (13, 8, 4), (14, 8, 4), (15, 8, 4), (16, 8, 4), (17, 8, 4), (18, 8, 4), (19, 8, 4), (19, 9, 4), (20, 9, 4), (20, 10, 4), (20, 11, 4), (20, 12, 4), (20, 13, 4), (20, 14, 4), (21, 14, 4), (22, 14, 4), (22, 15, 4), (22, 16, 4), (22, 17, 4), (23, 17, 4), (24, 17, 4), (25, 17, 4), (25, 18, 4), (25, 19, 4), (26, 19, 4), (26, 20, 4), (26, 20, 5), (27, 20, 5), (27, 20, 6), (27, 21, 6), (27, 22, 6), (27, 23, 6), (27, 23, 7), (28, 23, 7), (28, 24, 7), (28, 25, 7), (28, 26, 7), (29, 26, 7), (29, 27, 7), (29, 27, 8), (29, 28, 8), (29, 29, 8), (29, 30, 8), (29, 30, 9), (29, 31, 9), (29, 32, 9), (30, 32, 9), (31, 32, 9), (31, 33, 9), (31, 34, 9), (32, 34, 9), (32, 34, 10), (32, 34, 11), (32, 35, 11), (32, 36, 11), (32, 37, 11), (33, 37, 11), (34, 37, 11), (34, 38, 11), (34, 38, 12), (34, 38, 13), (35, 38, 13), (35, 39, 13), (35, 40, 13), (35, 40, 14), (35, 40, 15)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes10/08-25 16:15 DstarPath: -------------------------------------------------------------------------------- 1 | 16:15:39 2 | [(7, 8, 4), (8, 8, 4), (9, 8, 4), (10, 8, 4), (10, 9, 4), (11, 9, 4), (11, 10, 4), (11, 11, 4), (11, 12, 4), (11, 13, 4), (12, 13, 4), (12, 14, 4), (13, 14, 4), (14, 14, 4), (15, 14, 4), (16, 14, 4), (16, 15, 4), (16, 16, 4), (16, 17, 4), (17, 17, 4), (17, 18, 4), (18, 18, 4), (19, 18, 4), (20, 18, 4), (21, 18, 4), (21, 19, 4), (21, 20, 4), (21, 21, 4), (22, 21, 4), (22, 22, 4), (22, 23, 4), (22, 24, 4), (23, 24, 4), (23, 25, 4), (23, 26, 4), (23, 27, 4), (23, 28, 4), (23, 29, 4), (23, 30, 4), (23, 31, 4), (24, 31, 4), (25, 31, 4), (26, 31, 4), (26, 32, 4), (27, 32, 4), (27, 33, 4), (28, 33, 4), (28, 34, 4), (28, 35, 4), (28, 35, 5), (28, 36, 5), (28, 36, 6), (29, 36, 6), (30, 36, 6), (31, 36, 6), (31, 37, 6), (31, 37, 7), (31, 38, 7), (31, 39, 7), (31, 39, 8), (31, 40, 8), (31, 40, 9), (31, 40, 10), (31, 40, 11), (32, 40, 11), (32, 40, 12), (32, 40, 13), (33, 40, 13), (34, 40, 13), (35, 40, 13), (35, 40, 14), (35, 40, 15)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes10/08-25 16:17 executionTime: -------------------------------------------------------------------------------- 1 | newPath 0.0565240383148 2 | oldPath 0.00147795677185 3 | oldPath 0.00195407867432 4 | oldPath 0.0011031627655 5 | oldPath 0.00185298919678 6 | oldPath 0.00401401519775 7 | oldPath 0.00133991241455 8 | oldPath 0.00145292282104 9 | oldPath 0.00269198417664 10 | oldPath 0.00144195556641 11 | oldPath 0.000827789306641 12 | oldPath 0.00196099281311 13 | oldPath 0.00141716003418 14 | oldPath 0.00252509117126 15 | oldPath 0.00311803817749 16 | oldPath 0.00240802764893 17 | oldPath 0.00249695777893 18 | oldPath 0.00382900238037 19 | newPath 0.0503931045532 20 | oldPath 0.00194883346558 21 | oldPath 0.0010359287262 22 | oldPath 0.00170493125916 23 | oldPath 0.00114607810974 24 | oldPath 0.00062894821167 25 | oldPath 0.000881910324097 26 | oldPath 0.000761985778809 27 | oldPath 0.00186204910278 28 | oldPath 0.000916004180908 29 | oldPath 0.000650882720947 30 | oldPath 0.000629901885986 31 | oldPath 0.00188088417053 32 | oldPath 0.00101399421692 33 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/08-25 12:48 executionTime: -------------------------------------------------------------------------------- 1 | newPath 0.00432682037354 2 | oldPath 0.00033712387085 3 | oldPath 0.000152826309204 4 | oldPath 0.000234127044678 5 | oldPath 0.000473976135254 6 | oldPath 0.000173091888428 7 | oldPath 0.000252962112427 8 | oldPath 0.00018310546875 9 | oldPath 0.000327825546265 10 | oldPath 0.00074291229248 11 | oldPath 0.000248193740845 12 | oldPath 8.51154327393e-05 13 | oldPath 9.08374786377e-05 14 | oldPath 8.79764556885e-05 15 | oldPath 0.00010085105896 16 | oldPath 0.000143051147461 17 | oldPath 8.51154327393e-05 18 | oldPath 8.39233398438e-05 19 | oldPath 0.000125885009766 20 | oldPath 8.58306884766e-05 21 | oldPath 8.17775726318e-05 22 | oldPath 0.000134944915771 23 | oldPath 8.29696655273e-05 24 | oldPath 8.01086425781e-05 25 | oldPath 8.60691070557e-05 26 | oldPath 7.60555267334e-05 27 | oldPath 9.89437103271e-05 28 | oldPath 0.00012993812561 29 | oldPath 9.3936920166e-05 30 | oldPath 8.41617584229e-05 31 | oldPath 9.20295715332e-05 32 | oldPath 0.000128030776978 33 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes10/08-25 16:14 DstarPath: -------------------------------------------------------------------------------- 1 | 16:14:38 2 | [(7, 8, 4), (7, 9, 4), (7, 10, 4), (7, 11, 4), (7, 12, 4), (7, 13, 4), (7, 14, 4), (8, 14, 4), (9, 14, 4), (10, 14, 4), (11, 14, 4), (11, 15, 4), (12, 15, 4), (13, 15, 4), (14, 15, 4), (15, 15, 4), (16, 15, 4), (16, 16, 4), (16, 17, 4), (16, 18, 4), (17, 18, 4), (17, 19, 4), (17, 20, 4), (18, 20, 4), (19, 20, 4), (19, 21, 4), (19, 22, 4), (20, 22, 4), (21, 22, 4), (22, 22, 4), (23, 22, 4), (23, 23, 4), (23, 24, 4), (23, 24, 5), (23, 25, 5), (23, 25, 6), (24, 25, 6), (25, 25, 6), (25, 26, 6), (25, 26, 7), (26, 26, 7), (26, 27, 7), (26, 28, 7), (27, 28, 7), (27, 29, 7), (28, 29, 7), (28, 29, 8), (29, 29, 8), (29, 29, 9), (29, 30, 9), (29, 30, 10), (30, 30, 10), (31, 30, 10), (31, 30, 11), (32, 30, 11), (32, 30, 12), (32, 31, 12), (32, 31, 13), (33, 31, 13), (33, 32, 13), (33, 33, 13), (33, 34, 13), (33, 35, 13), (33, 36, 13), (33, 36, 14), (34, 36, 14), (34, 37, 14), (34, 38, 14), (34, 38, 15), (35, 38, 15), (35, 39, 15), (35, 40, 15)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes15/08-25 16:26 executionTime: -------------------------------------------------------------------------------- 1 | newPath 0.122568130493 2 | oldPath 0.00149202346802 3 | oldPath 0.000914096832275 4 | oldPath 0.00137805938721 5 | oldPath 0.00100517272949 6 | oldPath 0.00158715248108 7 | oldPath 0.00194120407104 8 | oldPath 0.0031430721283 9 | oldPath 0.0017728805542 10 | oldPath 0.00162696838379 11 | oldPath 0.00145387649536 12 | oldPath 0.00164699554443 13 | oldPath 0.00194692611694 14 | oldPath 0.000958919525146 15 | oldPath 0.00126481056213 16 | oldPath 0.000936985015869 17 | oldPath 0.00269985198975 18 | oldPath 0.00104784965515 19 | oldPath 0.00101518630981 20 | oldPath 0.00507092475891 21 | oldPath 0.000110149383545 22 | oldPath 0.000102043151855 23 | oldPath 8.29696655273e-05 24 | oldPath 8.20159912109e-05 25 | oldPath 8.10623168945e-05 26 | oldPath 8.20159912109e-05 27 | oldPath 8.10623168945e-05 28 | oldPath 8.39233398438e-05 29 | oldPath 8.29696655273e-05 30 | oldPath 7.9870223999e-05 31 | oldPath 9.10758972168e-05 32 | oldPath 7.70092010498e-05 33 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi302/08-25 19:19_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 19:19:59 2 | [(3, 3, 2), (4, 4, 2), (5, 5, 2), (6, 6, 2), (7, 7, 3), (8, 8, 3), (9, 9, 3), (10, 10, 4), (11, 11, 4), (12, 12, 5), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 3 | 4 | 5 | 19:20:37 6 | [(7, 10, 3), (8, 10, 3), (9, 11, 4), (10, 11, 4), (11, 11, 4), (12, 12, 5), (13, 13, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 7 | 8 | 9 | 19:20:38 10 | [(8, 10, 3), (9, 11, 4), (10, 11, 4), (11, 11, 4), (12, 11, 4), (13, 12, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 11 | 12 | 13 | 19:20:40 14 | [(9, 11, 3), (10, 12, 4), (11, 12, 4), (12, 12, 4), (13, 12, 4), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 15 | 16 | 17 | 19:20:41 18 | [(9, 12, 3), (10, 12, 3), (11, 13, 4), (12, 13, 4), (13, 13, 4), (14, 14, 5), (15, 14, 6), (16, 14, 6)] 19 | 20 | 21 | 19:20:42 22 | [(10, 12, 3), (11, 13, 4), (12, 13, 4), (13, 13, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 23 | 24 | 25 | 19:20:43 26 | [(10, 13, 3), (11, 13, 4), (12, 13, 4), (13, 13, 5), (14, 13, 5), (15, 14, 6), (16, 14, 6)] 27 | 28 | 29 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/test0/08-25 14:00_UAV1_heapPerc: -------------------------------------------------------------------------------- 1 | roughPath 45 2 | refinedPath 119 3 | refinedPath 119 4 | refinedPath 124 5 | refinedPath 124 6 | refinedPath 118 7 | refinedPath 118 8 | refinedPath 109 9 | refinedPath 109 10 | refinedPath 100 11 | refinedPath 91 12 | refinedPath 91 13 | refinedPath 82 14 | refinedPath 73 15 | refinedPath 73 16 | refinedPath 69 17 | refinedPath 60 18 | refinedPath 60 19 | refinedPath 45 20 | refinedPath 45 21 | refinedPath 41 22 | refinedPath 26 23 | refinedPath 26 24 | refinedPath 26 25 | refinedPath 0 26 | refinedPath 0 27 | refinedPath 26 28 | refinedPath 26 29 | refinedPath 26 30 | refinedPath 41 31 | refinedPath 41 32 | refinedPath 41 33 | refinedPath 26 34 | refinedPath 26 35 | refinedPath 0 36 | refinedPath 0 37 | refinedPath 26 38 | refinedPath 26 39 | refinedPath 26 40 | refinedPath 26 41 | refinedPath 0 42 | refinedPath 0 43 | refinedPath 26 44 | refinedPath 26 45 | refinedPath 26 46 | refinedPath 26 47 | refinedPath 26 48 | refinedPath 26 49 | refinedPath 0 50 | refinedPath 0 51 | refinedPath 26 52 | refinedPath 26 53 | refinedPath 26 54 | refinedPath 26 55 | refinedPath 26 56 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/test1/08-25 14:10_UAV1_heapPerc: -------------------------------------------------------------------------------- 1 | roughPath 547 2 | refinedPath 178 3 | refinedPath 178 4 | refinedPath 178 5 | refinedPath 178 6 | refinedPath 178 7 | refinedPath 178 8 | refinedPath 178 9 | refinedPath 178 10 | refinedPath 178 11 | refinedPath 178 12 | refinedPath 178 13 | refinedPath 178 14 | refinedPath 178 15 | refinedPath 178 16 | refinedPath 178 17 | refinedPath 178 18 | refinedPath 178 19 | refinedPath 178 20 | refinedPath 178 21 | refinedPath 178 22 | refinedPath 178 23 | refinedPath 178 24 | refinedPath 178 25 | refinedPath 178 26 | refinedPath 178 27 | refinedPath 178 28 | refinedPath 178 29 | refinedPath 178 30 | refinedPath 178 31 | refinedPath 178 32 | refinedPath 178 33 | refinedPath 178 34 | refinedPath 178 35 | refinedPath 178 36 | refinedPath 178 37 | refinedPath 178 38 | refinedPath 178 39 | refinedPath 178 40 | refinedPath 178 41 | refinedPath 178 42 | refinedPath 178 43 | refinedPath 178 44 | refinedPath 178 45 | refinedPath 178 46 | refinedPath 178 47 | refinedPath 178 48 | refinedPath 178 49 | refinedPath 178 50 | refinedPath 178 51 | refinedPath 178 52 | refinedPath 178 53 | refinedPath 178 54 | refinedPath 178 55 | refinedPath 178 56 | -------------------------------------------------------------------------------- /2. cubic_obst/keys: -------------------------------------------------------------------------------- 1 | [(16, 49), (20, 50), (16, 42), (11, 40), (10, 48), (17, 43), (19, 48), (18, 48), (10, 46), (13, 50), (15, 50), (14, 46), (11, 47), (17, 46), (15, 47), (12, 40), (11, 48), (18, 45), (10, 43), (13, 45), (15, 48), (19, 49), (19, 41), (15, 42), (19, 47), (13, 40), (12, 48), (15, 49), (14, 43), (11, 42), (17, 41), (12, 45), (18, 46), (10, 44), (13, 48), (14, 44), (16, 48), (20, 43), (17, 44), (15, 41), (12, 42), (11, 50), (18, 43), (17, 49), (10, 41), (13, 43), (20, 45), (14, 49), (16, 41), (20, 49), (11, 41), (20, 41), (12, 50), (16, 46), (14, 41), (16, 44), (11, 44), (17, 47), (15, 44), (12, 47), (11, 49), (16, 47), (10, 42), (13, 46), (14, 50), (19, 50), (15, 43), (19, 44), (18, 41), (13, 41), (20, 47), (16, 43), (14, 42), (11, 43), (10, 49), (20, 42), (17, 42), (12, 44), (18, 49), (16, 50), (10, 47), (13, 49), (14, 47), (11, 46), (19, 40), (17, 45), (15, 46), (20, 48), (12, 41), (19, 43), (18, 42), (17, 50), (10, 40), (13, 44), (20, 44), (14, 48), (16, 40), (19, 42), (19, 46), (10, 50), (12, 49), (18, 50), (16, 45), (14, 40), (11, 45), (20, 40), (17, 40), (15, 45), (12, 46), (18, 47), (10, 45), (13, 47), (14, 45), (15, 40), (12, 43), (19, 45), (18, 44), (18, 40), (17, 48), (13, 42), (20, 46)] -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes10/08-25 16:10 DstarPath: -------------------------------------------------------------------------------- 1 | 16:10:23 2 | [(7, 8, 4), (7, 9, 4), (7, 10, 4), (7, 11, 4), (7, 12, 4), (7, 13, 4), (7, 14, 4), (7, 15, 4), (7, 16, 4), (7, 17, 4), (7, 18, 4), (7, 19, 4), (7, 20, 4), (7, 21, 4), (7, 22, 4), (7, 23, 4), (7, 24, 4), (7, 25, 4), (7, 26, 4), (8, 26, 4), (9, 26, 4), (10, 26, 4), (10, 27, 4), (11, 27, 4), (12, 27, 4), (12, 28, 4), (12, 29, 4), (13, 29, 4), (14, 29, 4), (15, 29, 4), (16, 29, 4), (17, 29, 4), (17, 30, 4), (18, 30, 4), (18, 31, 4), (19, 31, 4), (19, 32, 4), (20, 32, 4), (20, 33, 4), (20, 34, 4), (21, 34, 4), (21, 35, 4), (22, 35, 4), (22, 36, 4), (22, 37, 4), (22, 38, 4), (23, 38, 4), (24, 38, 4), (25, 38, 4), (26, 38, 4), (26, 38, 5), (26, 38, 6), (26, 38, 7), (27, 38, 7), (27, 38, 8), (27, 38, 9), (28, 38, 9), (28, 39, 9), (28, 39, 10), (29, 39, 10), (29, 39, 11), (29, 39, 12), (29, 39, 13), (30, 39, 13), (31, 39, 13), (32, 39, 13), (33, 39, 13), (33, 40, 13), (33, 40, 14), (34, 40, 14), (35, 40, 14), (35, 40, 15)] 3 | 4 | 5 | 16:10:58 6 | [(25, 38, 4), (25, 38, 5), (26, 38, 5), (26, 38, 6), (26, 38, 7), (27, 38, 7), (27, 38, 8), (27, 38, 9), (28, 38, 9), (28, 39, 9), (28, 39, 10), (29, 39, 10), (29, 39, 11), (29, 39, 12), (29, 39, 13), (30, 39, 13), (31, 39, 13), (32, 39, 13), (33, 39, 13), (33, 40, 13), (33, 40, 14), (34, 40, 14), (35, 40, 14), (35, 40, 15)] 7 | 8 | 9 | -------------------------------------------------------------------------------- /3. cylinder_obst/test.py: -------------------------------------------------------------------------------- 1 | import timeit 2 | # length_of_map = 10 3 | # width_of_map = 10 4 | # height_of_map = 5 5 | # 6 | # obst = Obstacle([2, 2, 2], 'obst_UAV') 7 | # obst.setSize([4, 2, 2]) 8 | # print obst.range 9 | # print 10 | # 11 | # point = (1,1,6) 12 | # print obst.conflict(point) 13 | # print 14 | # print obst.points 15 | 16 | # number1 = 2.1 17 | # number2 = 2.4 18 | # number3 = 2.5 19 | # number4 = 2.9 20 | # 21 | # print int(number1) 22 | # print int(number2) 23 | # print int(number3) 24 | # print int(number4) 25 | 26 | 27 | # def gridalize(value, scale): 28 | # if isinstance(value, tuple): 29 | # result = [] 30 | # value = list(value) 31 | # for i in range(len(value)): 32 | # result.append(int(round(value[i] *scale))) 33 | # return tuple(result) 34 | # else: 35 | # return int(round(value *scale)) 36 | # 37 | # 38 | # 39 | # (l, w, h) = gridalize((1.5, 2.8, 3), 3) 40 | # print l 41 | # print w 42 | # print h 43 | 44 | 45 | # lst = [[1,2,3], [2,4,5]] 46 | # for point in lst: 47 | # print point 48 | 49 | 50 | # dct = {(2, 2, 2): (4, 4, 4), (3, 3, 3): (5, 5, 5)} 51 | # f = open('test.txt', 'w') 52 | # for key in dct: 53 | # string = str(key) + ':' + str(dct[key]) + ' ' 54 | # f.write(string) 55 | # f.close() 56 | 57 | 58 | a = (1, 2, 3) 59 | b = (4, 5, 6) 60 | print timeit.timeit('(4-1)**2 + (5-2)**2', number = 100000) 61 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/test1/08-25 14:11_UAV1_rufPath: -------------------------------------------------------------------------------- 1 | 14:11:02 2 | [(3, 3, 2), (4, 3, 2), (5, 3, 2), (6, 3, 2), (7, 3, 2), (8, 3, 2), (9, 3, 2), (10, 3, 2), (11, 3, 2), (12, 2, 2), (13, 3, 3), (14, 3, 3), (15, 4, 4), (16, 5, 5), (16, 6, 5), (17, 7, 5), (17, 8, 5), (17, 9, 5), (17, 10, 5), (17, 11, 5), (17, 12, 5), (16, 13, 6), (16, 14, 6)] 3 | 4 | 5 | 14:11:18 6 | [(3, 3, 2), (4, 3, 2), (5, 3, 2), (6, 3, 2), (7, 3, 2), (8, 3, 2), (9, 3, 2), (10, 3, 2), (11, 2, 2), (12, 3, 3), (13, 3, 3), (14, 4, 3), (15, 5, 3), (15, 6, 3), (16, 7, 4), (16, 8, 4), (16, 9, 4), (16, 10, 4), (16, 11, 5), (16, 12, 5), (16, 13, 6), (16, 14, 6)] 7 | 8 | 9 | 14:11:19 10 | [(3, 3, 2), (4, 3, 2), (5, 3, 2), (6, 3, 2), (7, 3, 2), (8, 3, 2), (9, 3, 2), (10, 2, 2), (11, 3, 2), (12, 3, 2), (13, 4, 3), (14, 5, 4), (14, 6, 4), (15, 7, 5), (15, 8, 5), (15, 9, 5), (15, 10, 5), (15, 11, 5), (15, 12, 5), (16, 13, 6), (16, 14, 6)] 11 | 12 | 13 | 14:11:37 14 | [(3, 3, 2), (4, 3, 2), (5, 3, 2), (6, 3, 2), (7, 3, 2), (8, 3, 2), (9, 3, 2), (10, 2, 2), (11, 1, 2), (12, 2, 2), (13, 2, 2), (14, 3, 3), (15, 4, 4), (15, 5, 4), (16, 6, 4), (16, 7, 4), (16, 8, 4), (16, 9, 4), (16, 10, 4), (16, 11, 5), (16, 12, 5), (16, 13, 6), (16, 14, 6)] 15 | 16 | 17 | 14:11:37 18 | [(3, 3, 2), (4, 4, 3), (5, 5, 4), (6, 6, 5), (7, 7, 6), (8, 8, 6), (9, 9, 6), (10, 10, 6), (11, 11, 6), (12, 12, 6), (13, 13, 6), (14, 13, 6), (15, 14, 6), (16, 14, 6)] 19 | 20 | 21 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes15/08-25 16:23 executionTime: -------------------------------------------------------------------------------- 1 | newPath 0.0809979438782 2 | oldPath 0.00189280509949 3 | oldPath 0.00212001800537 4 | oldPath 0.00269389152527 5 | oldPath 0.00179195404053 6 | oldPath 0.00170588493347 7 | oldPath 0.00215291976929 8 | oldPath 0.00204014778137 9 | oldPath 0.00335907936096 10 | oldPath 0.00298118591309 11 | oldPath 0.0021870136261 12 | oldPath 0.00112199783325 13 | oldPath 0.0011842250824 14 | oldPath 0.0011510848999 15 | oldPath 0.00313901901245 16 | oldPath 0.00139999389648 17 | oldPath 0.000685930252075 18 | oldPath 0.00130605697632 19 | oldPath 0.00205397605896 20 | oldPath 0.00523781776428 21 | oldPath 0.00118899345398 22 | oldPath 0.0019199848175 23 | oldPath 0.00302696228027 24 | oldPath 0.00116395950317 25 | oldPath 0.00125813484192 26 | oldPath 0.00079607963562 27 | oldPath 0.00262999534607 28 | oldPath 0.00162410736084 29 | oldPath 0.000733137130737 30 | oldPath 0.00226020812988 31 | oldPath 0.00108313560486 32 | oldPath 0.00192999839783 33 | oldPath 0.000777006149292 34 | oldPath 0.00174498558044 35 | oldPath 0.000848054885864 36 | oldPath 0.00149703025818 37 | oldPath 0.00307607650757 38 | oldPath 0.000792026519775 39 | oldPath 0.00227093696594 40 | oldPath 0.00137495994568 41 | oldPath 0.00142908096313 42 | oldPath 0.000149011611938 43 | oldPath 0.000112056732178 44 | oldPath 9.3936920166e-05 45 | oldPath 9.89437103271e-05 46 | oldPath 9.60826873779e-05 47 | oldPath 9.3936920166e-05 48 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes10/08-25 16:17 DstarPath: -------------------------------------------------------------------------------- 1 | 16:17:19 2 | [(7, 8, 4), (7, 9, 4), (7, 10, 4), (7, 11, 4), (7, 12, 4), (7, 13, 4), (7, 14, 4), (7, 15, 4), (7, 16, 4), (7, 17, 4), (7, 18, 4), (7, 19, 4), (8, 19, 4), (9, 19, 4), (9, 20, 4), (9, 21, 4), (9, 22, 4), (10, 22, 4), (10, 23, 4), (10, 24, 4), (11, 24, 4), (12, 24, 4), (12, 25, 4), (13, 25, 4), (14, 25, 4), (15, 25, 4), (15, 26, 4), (15, 27, 4), (16, 27, 4), (16, 28, 4), (17, 28, 4), (18, 28, 4), (19, 28, 4), (19, 29, 4), (20, 29, 4), (21, 29, 4), (21, 30, 4), (21, 31, 4), (22, 31, 4), (22, 32, 4), (22, 32, 5), (23, 32, 5), (23, 32, 6), (24, 32, 6), (25, 32, 6), (25, 32, 7), (26, 32, 7), (26, 32, 8), (27, 32, 8), (28, 32, 8), (28, 33, 8), (28, 34, 8), (28, 35, 8), (28, 35, 9), (28, 35, 10), (29, 35, 10), (29, 35, 11), (30, 35, 11), (31, 35, 11), (31, 36, 11), (31, 36, 12), (32, 36, 12), (33, 36, 12), (33, 37, 12), (33, 38, 12), (33, 39, 12), (33, 39, 13), (33, 39, 14), (34, 39, 14), (34, 39, 15), (34, 40, 15), (35, 40, 15)] 3 | 4 | 5 | 16:17:37 6 | [(22, 32, 4), (22, 33, 4), (23, 33, 4), (24, 33, 4), (25, 33, 4), (26, 33, 4), (26, 33, 5), (26, 33, 6), (26, 33, 7), (27, 33, 7), (27, 33, 8), (28, 33, 8), (28, 34, 8), (28, 35, 8), (28, 35, 9), (28, 35, 10), (29, 35, 10), (29, 35, 11), (30, 35, 11), (31, 35, 11), (31, 36, 11), (31, 36, 12), (32, 36, 12), (33, 36, 12), (33, 37, 12), (33, 38, 12), (33, 39, 12), (33, 39, 13), (33, 39, 14), (34, 39, 14), (34, 39, 15), (34, 40, 15), (35, 40, 15)] 7 | 8 | 9 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/test0/08-25 14:00_UAV1_pathL: -------------------------------------------------------------------------------- 1 | roughPath 0.683012701892 2 | refinedPath 0.509807621135 3 | refinedPath 0.509807621135 4 | refinedPath 0.543915758876 5 | refinedPath 0.543915758876 6 | refinedPath 0.523205080757 7 | refinedPath 0.523205080757 8 | refinedPath 0.473205080757 9 | refinedPath 0.473205080757 10 | refinedPath 0.423205080757 11 | refinedPath 0.373205080757 12 | refinedPath 0.373205080757 13 | refinedPath 0.323205080757 14 | refinedPath 0.273205080757 15 | refinedPath 0.273205080757 16 | refinedPath 0.257313218497 17 | refinedPath 0.207313218497 18 | refinedPath 0.207313218497 19 | refinedPath 0.157313218497 20 | refinedPath 0.136602540378 21 | refinedPath 0.120710678119 22 | refinedPath 0.0707106781187 23 | refinedPath 0 24 | refinedPath 0 25 | refinedPath 0 26 | refinedPath 0 27 | refinedPath 0 28 | refinedPath 0 29 | refinedPath 0 30 | refinedPath 0.120710678119 31 | refinedPath 0.120710678119 32 | refinedPath 0.120710678119 33 | refinedPath 0.0707106781187 34 | refinedPath 0.0707106781187 35 | refinedPath 0 36 | refinedPath 0 37 | refinedPath 0 38 | refinedPath 0 39 | refinedPath 0 40 | refinedPath 0 41 | refinedPath 0 42 | refinedPath 0 43 | refinedPath 0 44 | refinedPath 0.0707106781187 45 | refinedPath 0.0707106781187 46 | refinedPath 0.0707106781187 47 | refinedPath 0.0707106781187 48 | refinedPath 0.0707106781187 49 | refinedPath 0 50 | refinedPath 0 51 | refinedPath 0 52 | refinedPath 0 53 | refinedPath 0 54 | refinedPath 0 55 | refinedPath 0 56 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes15/08-25 16:26 DstarPath: -------------------------------------------------------------------------------- 1 | 16:26:58 2 | [(10, 10, 10), (10, 11, 10), (10, 12, 10), (10, 13, 10), (10, 14, 10), (11, 14, 10), (11, 15, 10), (12, 15, 10), (13, 15, 10), (14, 15, 10), (14, 16, 10), (15, 16, 10), (16, 16, 10), (16, 17, 10), (17, 17, 10), (18, 17, 10), (18, 18, 10), (18, 19, 10), (18, 20, 10), (19, 20, 10), (20, 20, 10), (20, 21, 10), (21, 21, 10), (22, 21, 10), (22, 22, 10), (22, 23, 10), (22, 24, 10), (22, 25, 10), (22, 26, 10), (23, 26, 10), (24, 26, 10), (24, 27, 10), (25, 27, 10), (26, 27, 10), (27, 27, 10), (27, 28, 10), (27, 29, 10), (27, 30, 10), (28, 30, 10), (28, 31, 10), (28, 32, 10), (29, 32, 10), (29, 33, 10), (30, 33, 10), (31, 33, 10), (31, 34, 10), (32, 34, 10), (33, 34, 10), (34, 34, 10), (34, 35, 10), (35, 35, 10), (35, 36, 10), (35, 37, 10), (36, 37, 10), (37, 37, 10), (38, 37, 10), (39, 37, 10), (39, 38, 10), (39, 39, 10), (40, 39, 10), (40, 39, 11), (41, 39, 11), (41, 39, 12), (41, 40, 12), (41, 41, 12), (41, 42, 12), (41, 42, 13), (41, 42, 14), (42, 42, 14), (42, 42, 15), (42, 43, 15), (42, 44, 15), (42, 44, 16), (43, 44, 16), (43, 45, 16), (43, 45, 17), (43, 45, 18), (43, 46, 18), (43, 47, 18), (44, 47, 18), (44, 48, 18), (44, 49, 18), (45, 49, 18), (45, 50, 18), (45, 51, 18), (45, 51, 19), (45, 51, 20), (45, 52, 20), (45, 52, 21), (45, 53, 21), (46, 53, 21), (47, 53, 21), (48, 53, 21), (48, 53, 22), (48, 54, 22), (48, 55, 22), (49, 55, 22), (50, 55, 22), (50, 56, 22), (51, 56, 22), (52, 56, 22), (52, 56, 23), (52, 57, 23), (52, 58, 23), (52, 59, 23), (52, 60, 23), (53, 60, 23)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes15/08-25 16:23 DstarPath: -------------------------------------------------------------------------------- 1 | 16:23:47 2 | [(7, 9, 4), (7, 10, 4), (7, 11, 4), (7, 12, 4), (7, 13, 4), (7, 14, 4), (7, 15, 4), (7, 16, 4), (7, 17, 4), (7, 18, 4), (7, 19, 4), (8, 19, 4), (9, 19, 4), (10, 19, 4), (11, 19, 4), (12, 19, 4), (13, 19, 4), (13, 20, 4), (14, 20, 4), (14, 21, 4), (14, 22, 4), (15, 22, 4), (16, 22, 4), (17, 22, 4), (18, 22, 4), (18, 23, 4), (19, 23, 4), (20, 23, 4), (20, 24, 4), (21, 24, 4), (21, 25, 4), (22, 25, 4), (23, 25, 4), (24, 25, 4), (24, 26, 4), (24, 27, 4), (24, 28, 4), (24, 29, 4), (24, 30, 4), (25, 30, 4), (26, 30, 4), (26, 31, 4), (26, 32, 4), (26, 33, 4), (26, 34, 4), (26, 35, 4), (27, 35, 4), (27, 36, 4), (27, 37, 4), (27, 38, 4), (28, 38, 4), (29, 38, 4), (29, 39, 4), (30, 39, 4), (31, 39, 4), (31, 40, 4), (32, 40, 4), (32, 40, 5), (32, 41, 5), (32, 41, 6), (32, 42, 6), (32, 42, 7), (33, 42, 7), (33, 42, 8), (33, 42, 9), (33, 43, 9), (34, 43, 9), (34, 44, 9), (35, 44, 9), (36, 44, 9), (37, 44, 9), (38, 44, 9), (38, 44, 10), (39, 44, 10), (40, 44, 10), (41, 44, 10), (42, 44, 10), (42, 44, 11), (42, 44, 12), (42, 45, 12), (42, 45, 13), (42, 45, 14), (42, 45, 15), (42, 46, 15), (43, 46, 15), (44, 46, 15), (45, 46, 15), (46, 46, 15), (46, 46, 16), (47, 46, 16), (48, 46, 16), (48, 46, 17), (48, 46, 18), (48, 47, 18), (48, 48, 18), (49, 48, 18), (49, 48, 19), (49, 48, 20), (49, 49, 20), (49, 49, 21), (49, 50, 21), (49, 51, 21), (49, 51, 22), (49, 52, 22), (50, 52, 22), (50, 53, 22), (50, 54, 22), (50, 55, 22), (51, 55, 22), (51, 55, 23), (52, 55, 23), (52, 56, 23), (52, 57, 23), (52, 58, 23), (53, 58, 23), (53, 59, 23), (53, 60, 23)] 3 | 4 | 5 | -------------------------------------------------------------------------------- /5. DstarLite/test.py: -------------------------------------------------------------------------------- 1 | import time 2 | import timeit 3 | import random 4 | import rospy 5 | from visualization_msgs.msg import Marker, MarkerArray 6 | from geometry_msgs.msg import PointStamped, Point, PoseStamped 7 | 8 | 9 | # lst = [] 10 | # for i in range(5000): 11 | # lst.append((random.randint(0,500), random.randint(0,500))) 12 | 13 | 14 | # f = open('l1', 'w') 15 | # f.write(str(lst)) 16 | # f.close() 17 | # 18 | # start_time = timeit.default_timer() 19 | # lst2 = list(set(lst)) 20 | # execution_time = timeit.default_timer() - start_time 21 | # 22 | # f = open('l2', 'w') 23 | # f.write(str(lst2)) 24 | # f.close() 25 | # 26 | # print execution_time 27 | # 28 | # f = open('l2', 'r') 29 | # temp_lst = list(f.read()) 30 | # print temp_lst 31 | # print type(temp_lst) 32 | 33 | 34 | # start/ goal/ current point 35 | path = Marker() 36 | 37 | path.header.frame_id = 'path_planner' 38 | path.ns = "path_planner" 39 | path.action = 0 # add/modify an object 40 | path.id = 4 41 | # path.text = 'path' 42 | path.type = 4 # Line Strip 43 | 44 | path.pose.orientation.w = 1.0 45 | 46 | path.scale.x = 0.5 # scale.x controls the width of the line segments 47 | 48 | path.color.r = 0.2 49 | path.color.g = 0.2 50 | path.color.b = 1.0 51 | path.color.a = 1.0 52 | 53 | 54 | tempPoint = Point() 55 | tempPoint.x = 7 56 | tempPoint.y = 5 57 | tempPoint.z = 8 58 | path.points.append(tempPoint) 59 | 60 | tempPoint = Point() 61 | tempPoint.x = 7 62 | tempPoint.y = 5 63 | tempPoint.z = 8 64 | path.points.append(tempPoint) 65 | 66 | tempList = [] 67 | for i in range(len(path.points)): 68 | tempList.append((path.points[i].x, path.points[i].y, path.points[i].z)) 69 | 70 | f= open('test.txt', 'w') 71 | f.write(str(tempList)) 72 | f.close() 73 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/test1/08-25 14:10_UAV1_pathL: -------------------------------------------------------------------------------- 1 | roughPath 4.85337115113 2 | refinedPath 0.768179827587 3 | refinedPath 0.768179827587 4 | refinedPath 0.768179827587 5 | refinedPath 0.768179827587 6 | refinedPath 0.768179827587 7 | refinedPath 0.768179827587 8 | refinedPath 0.768179827587 9 | refinedPath 0.768179827587 10 | refinedPath 0.768179827587 11 | refinedPath 0.768179827587 12 | refinedPath 0.768179827587 13 | refinedPath 0.768179827587 14 | refinedPath 0.768179827587 15 | refinedPath 0.768179827587 16 | refinedPath 0.768179827587 17 | refinedPath 0.768179827587 18 | refinedPath 0.768179827587 19 | refinedPath 0.768179827587 20 | refinedPath 0.768179827587 21 | refinedPath 0.768179827587 22 | refinedPath 0.768179827587 23 | refinedPath 0.768179827587 24 | refinedPath 0.768179827587 25 | refinedPath 0.768179827587 26 | refinedPath 0.768179827587 27 | refinedPath 0.768179827587 28 | refinedPath 0.768179827587 29 | refinedPath 0.768179827587 30 | refinedPath 0.768179827587 31 | refinedPath 0.768179827587 32 | refinedPath 0.768179827587 33 | refinedPath 0.768179827587 34 | refinedPath 0.768179827587 35 | refinedPath 0.768179827587 36 | refinedPath 0.768179827587 37 | refinedPath 0.768179827587 38 | refinedPath 0.768179827587 39 | refinedPath 0.768179827587 40 | refinedPath 0.768179827587 41 | refinedPath 0.768179827587 42 | refinedPath 0.768179827587 43 | refinedPath 0.768179827587 44 | refinedPath 0.768179827587 45 | refinedPath 0.768179827587 46 | refinedPath 0.768179827587 47 | refinedPath 0.768179827587 48 | refinedPath 0.768179827587 49 | refinedPath 0.768179827587 50 | refinedPath 0.768179827587 51 | refinedPath 0.768179827587 52 | refinedPath 0.768179827587 53 | refinedPath 0.768179827587 54 | refinedPath 0.768179827587 55 | refinedPath 0.768179827587 56 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes10/08-25 16:16 DstarPath: -------------------------------------------------------------------------------- 1 | 16:16:25 2 | [(7, 8, 4), (7, 9, 4), (7, 10, 4), (7, 11, 4), (7, 12, 4), (7, 13, 4), (7, 14, 4), (7, 15, 4), (8, 15, 4), (9, 15, 4), (10, 15, 4), (10, 16, 4), (10, 17, 4), (11, 17, 4), (12, 17, 4), (13, 17, 4), (13, 18, 4), (13, 19, 4), (13, 20, 4), (13, 21, 4), (14, 21, 4), (15, 21, 4), (15, 22, 4), (16, 22, 4), (16, 23, 4), (17, 23, 4), (18, 23, 4), (19, 23, 4), (20, 23, 4), (20, 24, 4), (20, 25, 4), (21, 25, 4), (21, 26, 4), (22, 26, 4), (22, 27, 4), (23, 27, 4), (23, 28, 4), (24, 28, 4), (24, 29, 4), (25, 29, 4), (25, 29, 5), (25, 30, 5), (26, 30, 5), (26, 30, 6), (27, 30, 6), (27, 30, 7), (28, 30, 7), (28, 31, 7), (28, 31, 8), (29, 31, 8), (29, 32, 8), (29, 33, 8), (30, 33, 8), (31, 33, 8), (31, 33, 9), (31, 34, 9), (31, 35, 9), (31, 36, 9), (31, 37, 9), (31, 37, 10), (31, 37, 11), (31, 37, 12), (31, 38, 12), (32, 38, 12), (32, 39, 12), (33, 39, 12), (33, 39, 13), (33, 39, 14), (34, 39, 14), (35, 39, 14), (35, 39, 15), (35, 40, 15)] 3 | 4 | 5 | 16:16:34 6 | [(11, 17, 4), (11, 18, 4), (12, 18, 4), (13, 18, 4), (13, 19, 4), (13, 20, 4), (13, 21, 4), (14, 21, 4), (15, 21, 4), (15, 22, 4), (16, 22, 4), (16, 23, 4), (17, 23, 4), (18, 23, 4), (19, 23, 4), (20, 23, 4), (20, 24, 4), (20, 25, 4), (21, 25, 4), (21, 26, 4), (22, 26, 4), (22, 27, 4), (23, 27, 4), (23, 28, 4), (24, 28, 4), (24, 29, 4), (25, 29, 4), (25, 29, 5), (25, 30, 5), (26, 30, 5), (26, 30, 6), (27, 30, 6), (27, 30, 7), (28, 30, 7), (28, 31, 7), (28, 31, 8), (29, 31, 8), (29, 32, 8), (29, 33, 8), (30, 33, 8), (31, 33, 8), (31, 33, 9), (31, 34, 9), (31, 35, 9), (31, 36, 9), (31, 37, 9), (31, 37, 10), (31, 37, 11), (31, 37, 12), (31, 38, 12), (32, 38, 12), (32, 39, 12), (33, 39, 12), (33, 39, 13), (33, 39, 14), (34, 39, 14), (35, 39, 14), (35, 39, 15), (35, 40, 15)] 7 | 8 | 9 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/test1/08-25 14:10_UAV1_execT: -------------------------------------------------------------------------------- 1 | roughPath 0.0194759368896 2 | refinedPath 0.00231194496155 3 | refinedPath 0.0022919178009 4 | refinedPath 0.00242185592651 5 | refinedPath 0.00306916236877 6 | refinedPath 0.00283098220825 7 | refinedPath 0.0030460357666 8 | refinedPath 0.00302004814148 9 | refinedPath 0.00298094749451 10 | refinedPath 0.00334906578064 11 | refinedPath 0.00319790840149 12 | refinedPath 0.00315189361572 13 | refinedPath 0.00281715393066 14 | refinedPath 0.00328707695007 15 | refinedPath 0.0029399394989 16 | refinedPath 0.00288200378418 17 | refinedPath 0.0027859210968 18 | refinedPath 0.00257420539856 19 | refinedPath 0.00241303443909 20 | refinedPath 0.00255703926086 21 | refinedPath 0.00261211395264 22 | refinedPath 0.00271391868591 23 | refinedPath 0.00282502174377 24 | refinedPath 0.00302290916443 25 | refinedPath 0.00324320793152 26 | refinedPath 0.00322008132935 27 | refinedPath 0.0032320022583 28 | refinedPath 0.00302481651306 29 | refinedPath 0.00284314155579 30 | refinedPath 0.00286197662354 31 | refinedPath 0.0028510093689 32 | refinedPath 0.00284600257874 33 | refinedPath 0.00295186042786 34 | refinedPath 0.00296187400818 35 | refinedPath 0.00323009490967 36 | refinedPath 0.00290393829346 37 | refinedPath 0.0031259059906 38 | refinedPath 0.00279903411865 39 | refinedPath 0.00210380554199 40 | refinedPath 0.00237107276917 41 | refinedPath 0.00298500061035 42 | refinedPath 0.00299286842346 43 | refinedPath 0.00275492668152 44 | refinedPath 0.00294208526611 45 | refinedPath 0.00303888320923 46 | refinedPath 0.00301694869995 47 | refinedPath 0.00325298309326 48 | refinedPath 0.00305604934692 49 | refinedPath 0.00298595428467 50 | refinedPath 0.0029878616333 51 | refinedPath 0.00320911407471 52 | refinedPath 0.00301289558411 53 | refinedPath 0.00300002098083 54 | refinedPath 0.00307703018188 55 | refinedPath 0.00317287445068 56 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi303/08-25 19:29_UAV2_heapPerc: -------------------------------------------------------------------------------- 1 | roughPath 124 2 | refinedPath 219 3 | roughPath 124 4 | refinedPath 219 5 | roughPath 124 6 | refinedPath 233 7 | roughPath 137 8 | refinedPath 210 9 | refinedPath 191 10 | refinedPath 195 11 | refinedPath 192 12 | refinedPath 189 13 | refinedPath 186 14 | refinedPath 187 15 | refinedPath 184 16 | refinedPath 182 17 | refinedPath 246 18 | refinedPath 234 19 | refinedPath 220 20 | refinedPath 211 21 | refinedPath 268 22 | refinedPath 256 23 | refinedPath 256 24 | refinedPath 240 25 | refinedPath 243 26 | refinedPath 240 27 | refinedPath 228 28 | refinedPath 223 29 | refinedPath 214 30 | refinedPath 363 31 | refinedPath 345 32 | refinedPath 336 33 | refinedPath 318 34 | refinedPath 303 35 | refinedPath 281 36 | refinedPath 272 37 | refinedPath 244 38 | refinedPath 231 39 | refinedPath 212 40 | refinedPath 199 41 | refinedPath 180 42 | refinedPath 161 43 | refinedPath 138 44 | refinedPath 119 45 | refinedPath 104 46 | refinedPath 84 47 | refinedPath 69 48 | refinedPath 60 49 | refinedPath 41 50 | refinedPath 54 51 | refinedPath 54 52 | refinedPath 45 53 | refinedPath 64 54 | refinedPath 79 55 | refinedPath 79 56 | refinedPath 69 57 | refinedPath 69 58 | refinedPath 69 59 | refinedPath 54 60 | refinedPath 54 61 | refinedPath 54 62 | roughPath 26 63 | refinedPath 35 64 | refinedPath 35 65 | refinedPath 41 66 | refinedPath 26 67 | refinedPath 26 68 | refinedPath 26 69 | refinedPath 26 70 | refinedPath 45 71 | refinedPath 63 72 | refinedPath 78 73 | refinedPath 96 74 | refinedPath 120 75 | refinedPath 140 76 | refinedPath 158 77 | refinedPath 180 78 | refinedPath 185 79 | refinedPath 197 80 | refinedPath 215 81 | refinedPath 231 82 | refinedPath 259 83 | refinedPath 277 84 | refinedPath 295 85 | refinedPath 314 86 | refinedPath 338 87 | refinedPath 374 88 | refinedPath 434 89 | refinedPath 435 90 | refinedPath 435 91 | refinedPath 435 92 | refinedPath 435 93 | -------------------------------------------------------------------------------- /5. DstarLite/inc.py: -------------------------------------------------------------------------------- 1 | ''' D* Lite (final version) - Maxim Likhachev (CMU) and Sven Koenig (USC) ''' 2 | import rospy 3 | import random 4 | 5 | LARGE = 1000000 6 | 7 | # DISPLAY = True # display what happens (in ASCII) 8 | RANDOMIZESUCCS = True # randomize the order in which successors of a node are generated 9 | # WALLSTOREMOVE = 4 # number of walls to remove if RANDOMMAZE is NOT defined - infinite loop if too large 10 | # DEBUG = True # whether debugging is on - debugging takes time but performs various checks 11 | MAZELENGTH = 46 # the length of the maze 12 | MAZEWIDTH = 46 # the width of the maze 13 | MAZEHEIGHT = 31 14 | MAZEDENSITY = 0.10 # percentage of blocked cells if RANDOMMAZE is defined 15 | ''' 16 | STARTX = random.randint(0,5) # x coordinate of the start cell 17 | STARTY = random.randint(0,5) # y coordinate of the start cell 18 | STARTZ = random.randint(0,5) 19 | GOALX = random.randint(int(0.8*MAZELENGTH),MAZELENGTH-1) # x coordinate of the goal cell 20 | GOALY = random.randint(int(0.8*MAZEWIDTH), MAZEWIDTH-1) # y coordinate of the goal cell 21 | GOALZ = random.randint(int(0.8*MAZEHEIGHT),MAZEHEIGHT-1) 22 | ''' 23 | STARTX = 40 # random.randint(int(0.8*MAZELENGTH),MAZELENGTH-1) 24 | STARTY = 35 # random.randint(int(0.8*MAZEWIDTH), MAZEWIDTH-1) 25 | STARTZ = 15 # random.randint(int(0.8*MAZEHEIGHT),MAZEHEIGHT-1) 26 | GOALX = random.randint(0,5) 27 | GOALY = random.randint(0,5) 28 | GOALZ = random.randint(0,5) 29 | INFORMEDSEARCH = True # use Manhattandistance rather than zero heuristics 30 | RUNS = 3 # number of different runs 31 | TIEBREAKING = True # tie breaking towards larger g-values (otherwise: smaller g-values) 32 | 33 | DIRECTIONS = 6 34 | dx = [1, 0, 0, -1, 0, 0] 35 | dy = [0, 1, 0, 0, -1, 0] 36 | dz = [0, 0, 1, 0, 0, -1] 37 | reverse = [3, 4, 5, 0, 1, 2] 38 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/test0/08-25 14:00_UAV1_execT: -------------------------------------------------------------------------------- 1 | roughPath 0.000778913497925 2 | refinedPath 0.00155997276306 3 | refinedPath 0.00185894966125 4 | refinedPath 0.0014340877533 5 | refinedPath 0.00233888626099 6 | refinedPath 0.00218892097473 7 | refinedPath 0.00203585624695 8 | refinedPath 0.00180721282959 9 | refinedPath 0.00176501274109 10 | refinedPath 0.00214815139771 11 | refinedPath 0.00209617614746 12 | refinedPath 0.00100302696228 13 | refinedPath 0.00131797790527 14 | refinedPath 0.00106596946716 15 | refinedPath 0.000947952270508 16 | refinedPath 0.000801086425781 17 | refinedPath 0.000643014907837 18 | refinedPath 0.00081205368042 19 | refinedPath 0.000558853149414 20 | refinedPath 0.000440835952759 21 | refinedPath 0.000447988510132 22 | refinedPath 0.00019097328186 23 | refinedPath 0.000332832336426 24 | refinedPath 0.000339984893799 25 | refinedPath 2.69412994385e-05 26 | refinedPath 2.09808349609e-05 27 | refinedPath 0.000278949737549 28 | refinedPath 0.000392913818359 29 | refinedPath 0.000316858291626 30 | refinedPath 0.000553846359253 31 | refinedPath 0.000579118728638 32 | refinedPath 0.000648021697998 33 | refinedPath 0.000420093536377 34 | refinedPath 0.000825881958008 35 | refinedPath 1.31130218506e-05 36 | refinedPath 1.90734863281e-05 37 | refinedPath 0.000477075576782 38 | refinedPath 0.000304937362671 39 | refinedPath 0.000419139862061 40 | refinedPath 0.000771045684814 41 | refinedPath 2.40802764893e-05 42 | refinedPath 1.50203704834e-05 43 | refinedPath 0.000286102294922 44 | refinedPath 0.00034499168396 45 | refinedPath 0.000367879867554 46 | refinedPath 0.000580072402954 47 | refinedPath 0.000205993652344 48 | refinedPath 0.00062084197998 49 | refinedPath 1.59740447998e-05 50 | refinedPath 1.59740447998e-05 51 | refinedPath 0.000308990478516 52 | refinedPath 0.000262022018433 53 | refinedPath 0.00046706199646 54 | refinedPath 0.000281810760498 55 | refinedPath 0.000412940979004 56 | roughPath 0.648803949356 57 | -------------------------------------------------------------------------------- /1. orig/start_pub.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import random 4 | import rospy 5 | from geometry_msgs.msg import PoseStamped 6 | 7 | ''' 8 | This publishes a simulated current point PoseStamped every 10 seconds. 9 | The point is redefined randomly at certain frequancy. 10 | ''' 11 | 12 | class start_pub(): 13 | 14 | def __init__(self): 15 | markerPub = rospy.Publisher('start_request', PoseStamped, queue_size=10) 16 | rospy.Subscriber('start_request', PoseStamped, self.callback) 17 | rospy.init_node('pp_pub', anonymous=True) 18 | 19 | rate = rospy.Rate(1) 20 | 21 | self.current_point = PoseStamped() 22 | self.current_point.header.frame_id = "path_planner" 23 | self.current_point.header.stamp = rospy.get_rostime() 24 | 25 | self.current_point.pose.position.x = 0.0 26 | self.current_point.pose.position.y = 0.0 27 | self.current_point.pose.position.z = 0.0 28 | self.current_point.pose.orientation.w = 1.0 29 | 30 | #a counter so the location changes 31 | 32 | self.counterMax = 10; # waiting time = counterMax*rospy.Rate 33 | self.counter = self.counterMax; 34 | 35 | while not rospy.is_shutdown(): 36 | 37 | self.counter = self.counter + 1; 38 | 39 | if (self.counter > self.counterMax): 40 | 41 | markerPub.publish(self.current_point) 42 | 43 | self.counter = 0 44 | 45 | self.current_point.pose.position.x = 0.0 46 | self.current_point.pose.position.y = 0.0 47 | self.current_point.pose.position.z = 0.0 48 | self.current_point.pose.orientation.w = 1.0 49 | 50 | rate.sleep() 51 | 52 | def callback(self, data): 53 | #data is of type Marker 54 | #lets print some information 55 | print "Current position received!" 56 | print data.pose.position.x, data.pose.position.y, data.pose.position.z 57 | 58 | start_pub() 59 | -------------------------------------------------------------------------------- /1. orig/obst_pub.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import random 4 | import rospy 5 | from geometry_msgs.msg import PoseStamped 6 | 7 | ''' 8 | This publishes a simulated centre point of obstacle PoseStamped every 10 seconds. 9 | The point is redefined randomly at certain frequancy. 10 | ''' 11 | 12 | class obst_pub(): 13 | 14 | def __init__(self): 15 | markerPub = rospy.Publisher('obst_request', PoseStamped, queue_size=10) 16 | rospy.Subscriber("obst_request", PoseStamped, self.callback) 17 | rospy.init_node('obst_pub', anonymous=True) 18 | 19 | rate = rospy.Rate(1) 20 | 21 | self.obst_request = PoseStamped() 22 | self.obst_request.header.frame_id = "path_planner" 23 | self.obst_request.header.stamp = rospy.get_rostime() 24 | 25 | self.obst_request.pose.position.x = 0.0 26 | self.obst_request.pose.position.y = 0.0 27 | self.obst_request.pose.position.z = 0.0 28 | self.obst_request.pose.orientation.w = 1.0 29 | 30 | #a counter so the location changes 31 | 32 | self.counterMax = 10; # waiting time = counterMax*rospy.Rate 33 | self.counter = self.counterMax; 34 | 35 | while not rospy.is_shutdown(): 36 | 37 | self.counter = self.counter + 1; 38 | 39 | if (self.counter > self.counterMax): 40 | 41 | markerPub.publish(self.obst_request) 42 | 43 | self.counter = 0 44 | 45 | self.obst_request.pose.position.x = random.uniform(0,5) 46 | self.obst_request.pose.position.y = random.uniform(0,5) 47 | self.obst_request.pose.position.z = random.uniform(0,5) 48 | 49 | rate.sleep() 50 | 51 | def callback(self, data): 52 | #data is of type Marker 53 | #lets print some information 54 | print "Obstacle received!" 55 | print "centre_point:\t", data.pose.position.x, ", ", data.pose.position.y, ", ", data.pose.position.z 56 | 57 | obst_pub() 58 | -------------------------------------------------------------------------------- /2. cubic_obst/start_pub.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import random 4 | import rospy 5 | from geometry_msgs.msg import PoseStamped 6 | 7 | ''' 8 | This publishes a simulated current point PoseStamped every 10 seconds. 9 | The point is redefined randomly at certain frequancy. 10 | ''' 11 | 12 | class start_pub(): 13 | 14 | def __init__(self): 15 | markerPub = rospy.Publisher('start_request', PoseStamped, queue_size=10) 16 | rospy.Subscriber('start_request', PoseStamped, self.callback) 17 | rospy.init_node('pp_pub', anonymous=True) 18 | 19 | rate = rospy.Rate(1) 20 | 21 | self.current_point = PoseStamped() 22 | self.current_point.header.frame_id = "path_planner" 23 | self.current_point.header.stamp = rospy.get_rostime() 24 | 25 | self.current_point.pose.position.x = 0.0 26 | self.current_point.pose.position.y = 0.0 27 | self.current_point.pose.position.z = 0.0 28 | self.current_point.pose.orientation.w = 1.0 29 | 30 | #a counter so the location changes 31 | 32 | self.counterMax = 10; # waiting time = counterMax*rospy.Rate 33 | self.counter = self.counterMax; 34 | 35 | while not rospy.is_shutdown(): 36 | 37 | self.counter = self.counter + 1; 38 | 39 | if (self.counter > self.counterMax): 40 | 41 | markerPub.publish(self.current_point) 42 | 43 | self.counter = 0 44 | 45 | self.current_point.pose.position.x = 0.0 46 | self.current_point.pose.position.y = 0.0 47 | self.current_point.pose.position.z = 0.0 48 | self.current_point.pose.orientation.w = 1.0 49 | 50 | rate.sleep() 51 | 52 | def callback(self, data): 53 | #data is of type Marker 54 | #lets print some information 55 | print "Current position received!" 56 | print data.pose.position.x, data.pose.position.y, data.pose.position.z 57 | 58 | start_pub() 59 | -------------------------------------------------------------------------------- /2. cubic_obst/obst_pub.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import random 4 | import rospy 5 | from geometry_msgs.msg import PoseStamped 6 | 7 | ''' 8 | This publishes a simulated centre point of obstacle PoseStamped every 10 seconds. 9 | The point is redefined randomly at certain frequancy. 10 | ''' 11 | 12 | class obst_pub(): 13 | 14 | def __init__(self): 15 | markerPub = rospy.Publisher('obst_request', PoseStamped, queue_size=10) 16 | rospy.Subscriber("obst_request", PoseStamped, self.callback) 17 | rospy.init_node('obst_pub', anonymous=True) 18 | 19 | rate = rospy.Rate(1) 20 | 21 | self.obst_request = PoseStamped() 22 | self.obst_request.header.frame_id = "path_planner" 23 | self.obst_request.header.stamp = rospy.get_rostime() 24 | 25 | self.obst_request.pose.position.x = 0.0 26 | self.obst_request.pose.position.y = 0.0 27 | self.obst_request.pose.position.z = 0.0 28 | self.obst_request.pose.orientation.w = 1.0 29 | 30 | #a counter so the location changes 31 | 32 | self.counterMax = 10; # waiting time = counterMax*rospy.Rate 33 | self.counter = self.counterMax; 34 | 35 | while not rospy.is_shutdown(): 36 | 37 | self.counter = self.counter + 1; 38 | 39 | if (self.counter > self.counterMax): 40 | 41 | markerPub.publish(self.obst_request) 42 | 43 | self.counter = 0 44 | 45 | self.obst_request.pose.position.x = random.uniform(0,5) 46 | self.obst_request.pose.position.y = random.uniform(0,5) 47 | self.obst_request.pose.position.z = random.uniform(0,5) 48 | 49 | rate.sleep() 50 | 51 | def callback(self, data): 52 | #data is of type Marker 53 | #lets print some information 54 | print "Obstacle received!" 55 | print "centre_point:\t", data.pose.position.x, ", ", data.pose.position.y, ", ", data.pose.position.z 56 | 57 | obst_pub() 58 | -------------------------------------------------------------------------------- /3. cylinder_obst/start_pub.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import random 4 | import rospy 5 | from geometry_msgs.msg import PoseStamped 6 | 7 | ''' 8 | This publishes a simulated current point PoseStamped every 10 seconds. 9 | The point is redefined randomly at certain frequancy. 10 | ''' 11 | 12 | class start_pub(): 13 | 14 | def __init__(self): 15 | markerPub = rospy.Publisher('start_request', PoseStamped, queue_size=10) 16 | rospy.Subscriber('start_request', PoseStamped, self.callback) 17 | rospy.init_node('pp_pub', anonymous=True) 18 | 19 | rate = rospy.Rate(1) 20 | 21 | self.current_point = PoseStamped() 22 | self.current_point.header.frame_id = "path_planner" 23 | self.current_point.header.stamp = rospy.get_rostime() 24 | 25 | self.current_point.pose.position.x = 0.0 26 | self.current_point.pose.position.y = 0.0 27 | self.current_point.pose.position.z = 0.0 28 | self.current_point.pose.orientation.w = 1.0 29 | 30 | #a counter so the location changes 31 | 32 | self.counterMax = 10; # waiting time = counterMax*rospy.Rate 33 | self.counter = self.counterMax; 34 | 35 | while not rospy.is_shutdown(): 36 | 37 | self.counter = self.counter + 1; 38 | 39 | if (self.counter > self.counterMax): 40 | 41 | markerPub.publish(self.current_point) 42 | 43 | self.counter = 0 44 | 45 | self.current_point.pose.position.x = 0.0 46 | self.current_point.pose.position.y = 0.0 47 | self.current_point.pose.position.z = 0.0 48 | self.current_point.pose.orientation.w = 1.0 49 | 50 | rate.sleep() 51 | 52 | def callback(self, data): 53 | #data is of type Marker 54 | #lets print some information 55 | print "Current position received!" 56 | print data.pose.position.x, data.pose.position.y, data.pose.position.z 57 | 58 | start_pub() 59 | -------------------------------------------------------------------------------- /3. cylinder_obst/obst_pub.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import random 4 | import rospy 5 | from geometry_msgs.msg import PoseStamped 6 | 7 | ''' 8 | This publishes a simulated centre point of obstacle PoseStamped every 10 seconds. 9 | The point is redefined randomly at certain frequancy. 10 | ''' 11 | 12 | class obst_pub(): 13 | 14 | def __init__(self): 15 | markerPub = rospy.Publisher('obst_request', PoseStamped, queue_size=10) 16 | rospy.Subscriber("obst_request", PoseStamped, self.callback) 17 | rospy.init_node('obst_pub', anonymous=True) 18 | 19 | rate = rospy.Rate(1) 20 | 21 | self.obst_request = PoseStamped() 22 | self.obst_request.header.frame_id = "path_planner" 23 | self.obst_request.header.stamp = rospy.get_rostime() 24 | 25 | self.obst_request.pose.position.x = 0.0 26 | self.obst_request.pose.position.y = 0.0 27 | self.obst_request.pose.position.z = 0.0 28 | self.obst_request.pose.orientation.w = 1.0 29 | 30 | #a counter so the location changes 31 | 32 | self.counterMax = 10; # waiting time = counterMax*rospy.Rate 33 | self.counter = self.counterMax; 34 | 35 | while not rospy.is_shutdown(): 36 | 37 | self.counter = self.counter + 1; 38 | 39 | if (self.counter > self.counterMax): 40 | 41 | markerPub.publish(self.obst_request) 42 | 43 | self.counter = 0 44 | 45 | self.obst_request.pose.position.x = random.uniform(0,5) 46 | self.obst_request.pose.position.y = random.uniform(0,5) 47 | self.obst_request.pose.position.z = random.uniform(0,5) 48 | 49 | rate.sleep() 50 | 51 | def callback(self, data): 52 | #data is of type Marker 53 | #lets print some information 54 | print "Obstacle received!" 55 | print "centre_point:\t", data.pose.position.x, ", ", data.pose.position.y, ", ", data.pose.position.z 56 | 57 | obst_pub() 58 | -------------------------------------------------------------------------------- /1. orig/end_pub.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import random 4 | import rospy 5 | from geometry_msgs.msg import PoseStamped 6 | 7 | ''' 8 | This publishes a target point PoseStamped every 10 seconds. 9 | The point is redefined randomly at certain frequancy. 10 | ''' 11 | 12 | class end_pub(): 13 | 14 | def __init__(self): 15 | markerPub = rospy.Publisher('end_request', PoseStamped, queue_size=10) 16 | rospy.Subscriber("end_request", PoseStamped, self.callback) 17 | rospy.init_node('pp_pub', anonymous=True) 18 | 19 | rate = rospy.Rate(1) 20 | 21 | self.target_point = PoseStamped() 22 | self.target_point.header.frame_id = "path_planner" 23 | self.target_point.header.stamp = rospy.get_rostime() 24 | 25 | self.target_point.pose.position.x = 2.0 26 | self.target_point.pose.position.y = 2.0 27 | self.target_point.pose.position.z = 2.0 28 | self.target_point.pose.orientation.w = 1.0 29 | 30 | #a counter so the location changes 31 | 32 | self.counterMax = 10; # waiting time = counterMax*rospy.Rate 33 | self.counter = self.counterMax; 34 | 35 | while not rospy.is_shutdown(): 36 | 37 | self.counter = self.counter + 1; 38 | 39 | if (self.counter > self.counterMax): 40 | 41 | markerPub.publish(self.target_point) 42 | 43 | self.counter = 0 44 | 45 | self.target_point.pose.position.x = random.uniform(2,3) 46 | self.target_point.pose.position.y = random.uniform(2,3) 47 | self.target_point.pose.position.z = random.uniform(2,3) 48 | self.target_point.pose.orientation.w = 1.0 49 | 50 | rate.sleep() 51 | 52 | def callback(self, data): 53 | #data is of type Marker 54 | #lets print some information 55 | print "Destination position received!" 56 | print data.pose.position.x, data.pose.position.y, data.pose.position.z 57 | 58 | end_pub() 59 | -------------------------------------------------------------------------------- /2. cubic_obst/end_pub.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import random 4 | import rospy 5 | from geometry_msgs.msg import PoseStamped 6 | 7 | ''' 8 | This publishes a target point PoseStamped every 10 seconds. 9 | The point is redefined randomly at certain frequancy. 10 | ''' 11 | 12 | class end_pub(): 13 | 14 | def __init__(self): 15 | markerPub = rospy.Publisher('end_request', PoseStamped, queue_size=10) 16 | rospy.Subscriber("end_request", PoseStamped, self.callback) 17 | rospy.init_node('pp_pub', anonymous=True) 18 | 19 | rate = rospy.Rate(1) 20 | 21 | self.target_point = PoseStamped() 22 | self.target_point.header.frame_id = "path_planner" 23 | self.target_point.header.stamp = rospy.get_rostime() 24 | 25 | self.target_point.pose.position.x = 2.0 26 | self.target_point.pose.position.y = 2.0 27 | self.target_point.pose.position.z = 2.0 28 | self.target_point.pose.orientation.w = 1.0 29 | 30 | #a counter so the location changes 31 | 32 | self.counterMax = 10; # waiting time = counterMax*rospy.Rate 33 | self.counter = self.counterMax; 34 | 35 | while not rospy.is_shutdown(): 36 | 37 | self.counter = self.counter + 1; 38 | 39 | if (self.counter > self.counterMax): 40 | 41 | markerPub.publish(self.target_point) 42 | 43 | self.counter = 0 44 | 45 | self.target_point.pose.position.x = random.uniform(2,3) 46 | self.target_point.pose.position.y = random.uniform(2,3) 47 | self.target_point.pose.position.z = random.uniform(2,3) 48 | self.target_point.pose.orientation.w = 1.0 49 | 50 | rate.sleep() 51 | 52 | def callback(self, data): 53 | #data is of type Marker 54 | #lets print some information 55 | print "Destination position received!" 56 | print data.pose.position.x, data.pose.position.y, data.pose.position.z 57 | 58 | end_pub() 59 | -------------------------------------------------------------------------------- /4. two-step/pub_target.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import random 4 | import rospy 5 | from geometry_msgs.msg import PoseStamped 6 | 7 | ''' 8 | This publishes a target point PoseStamped every 10 seconds. 9 | The point is redefined randomly at certain frequancy. 10 | ''' 11 | 12 | class end_pub(): 13 | 14 | def __init__(self): 15 | markerPub = rospy.Publisher('end_request', PoseStamped, queue_size=10) 16 | rospy.Subscriber("end_request", PoseStamped, self.callback) 17 | rospy.init_node('pp_pub', anonymous=True) 18 | 19 | rate = rospy.Rate(1) 20 | 21 | self.target_point = PoseStamped() 22 | self.target_point.header.frame_id = "path_planner" 23 | self.target_point.header.stamp = rospy.get_rostime() 24 | 25 | self.target_point.pose.position.x = 2.0 26 | self.target_point.pose.position.y = 2.0 27 | self.target_point.pose.position.z = 2.0 28 | self.target_point.pose.orientation.w = 1.0 29 | 30 | #a counter so the location changes 31 | 32 | self.counterMax = 10; # waiting time = counterMax*rospy.Rate 33 | self.counter = self.counterMax; 34 | 35 | while not rospy.is_shutdown(): 36 | 37 | self.counter = self.counter + 1; 38 | 39 | if (self.counter > self.counterMax): 40 | 41 | markerPub.publish(self.target_point) 42 | 43 | self.counter = 0 44 | 45 | self.target_point.pose.position.x = random.uniform(2,3) 46 | self.target_point.pose.position.y = random.uniform(2,3) 47 | self.target_point.pose.position.z = random.uniform(2,3) 48 | self.target_point.pose.orientation.w = 1.0 49 | 50 | rate.sleep() 51 | 52 | def callback(self, data): 53 | #data is of type Marker 54 | #lets print some information 55 | print "Destination position received!" 56 | print data.pose.position.x, data.pose.position.y, data.pose.position.z 57 | 58 | end_pub() 59 | -------------------------------------------------------------------------------- /3. cylinder_obst/end_pub.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import random 4 | import rospy 5 | from geometry_msgs.msg import PoseStamped 6 | 7 | ''' 8 | This publishes a target point PoseStamped every 10 seconds. 9 | The point is redefined randomly at certain frequancy. 10 | ''' 11 | 12 | class end_pub(): 13 | 14 | def __init__(self): 15 | markerPub = rospy.Publisher('end_request', PoseStamped, queue_size=10) 16 | rospy.Subscriber("end_request", PoseStamped, self.callback) 17 | rospy.init_node('pp_pub', anonymous=True) 18 | 19 | rate = rospy.Rate(1) 20 | 21 | self.target_point = PoseStamped() 22 | self.target_point.header.frame_id = "path_planner" 23 | self.target_point.header.stamp = rospy.get_rostime() 24 | 25 | self.target_point.pose.position.x = 2.0 26 | self.target_point.pose.position.y = 2.0 27 | self.target_point.pose.position.z = 2.0 28 | self.target_point.pose.orientation.w = 1.0 29 | 30 | #a counter so the location changes 31 | 32 | self.counterMax = 10; # waiting time = counterMax*rospy.Rate 33 | self.counter = self.counterMax; 34 | 35 | while not rospy.is_shutdown(): 36 | 37 | self.counter = self.counter + 1; 38 | 39 | if (self.counter > self.counterMax): 40 | 41 | markerPub.publish(self.target_point) 42 | 43 | self.counter = 0 44 | 45 | self.target_point.pose.position.x = random.uniform(2,3) 46 | self.target_point.pose.position.y = random.uniform(2,3) 47 | self.target_point.pose.position.z = random.uniform(2,3) 48 | self.target_point.pose.orientation.w = 1.0 49 | 50 | rate.sleep() 51 | 52 | def callback(self, data): 53 | #data is of type Marker 54 | #lets print some information 55 | print "Destination position received!" 56 | print data.pose.position.x, data.pose.position.y, data.pose.position.z 57 | 58 | end_pub() 59 | -------------------------------------------------------------------------------- /6. Multi-agent A*/pub_target.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import random 4 | import rospy 5 | from geometry_msgs.msg import PoseStamped 6 | 7 | ''' 8 | This publishes a target point PoseStamped every 10 seconds. 9 | The point is redefined randomly at certain frequancy. 10 | ''' 11 | 12 | class end_pub(): 13 | 14 | def __init__(self): 15 | markerPub = rospy.Publisher('end_request', PoseStamped, queue_size=10) 16 | rospy.Subscriber("end_request", PoseStamped, self.callback) 17 | rospy.init_node('pp_pub', anonymous=True) 18 | 19 | rate = rospy.Rate(1) 20 | 21 | self.target_point = PoseStamped() 22 | self.target_point.header.frame_id = "path_planner" 23 | self.target_point.header.stamp = rospy.get_rostime() 24 | 25 | self.target_point.pose.position.x = 2.0 26 | self.target_point.pose.position.y = 2.0 27 | self.target_point.pose.position.z = 2.0 28 | self.target_point.pose.orientation.w = 1.0 29 | 30 | #a counter so the location changes 31 | 32 | self.counterMax = 10; # waiting time = counterMax*rospy.Rate 33 | self.counter = self.counterMax; 34 | 35 | while not rospy.is_shutdown(): 36 | 37 | self.counter = self.counter + 1; 38 | 39 | if (self.counter > self.counterMax): 40 | 41 | markerPub.publish(self.target_point) 42 | 43 | self.counter = 0 44 | 45 | self.target_point.pose.position.x = random.uniform(2,3) 46 | self.target_point.pose.position.y = random.uniform(2,3) 47 | self.target_point.pose.position.z = random.uniform(2,3) 48 | self.target_point.pose.orientation.w = 1.0 49 | 50 | rate.sleep() 51 | 52 | def callback(self, data): 53 | #data is of type Marker 54 | #lets print some information 55 | print "Destination position received!" 56 | print data.pose.position.x, data.pose.position.y, data.pose.position.z 57 | 58 | end_pub() 59 | -------------------------------------------------------------------------------- /4. two-step/pub_current.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import random 4 | import rospy 5 | from geometry_msgs.msg import PoseStamped 6 | 7 | ''' 8 | This publishes a simulated current point PoseStamped every 10 seconds. 9 | The point is redefined randomly at certain frequancy. 10 | ''' 11 | 12 | class start_pub(): 13 | 14 | def __init__(self): 15 | markerPub = rospy.Publisher('/UAV_1/pose', PoseStamped, queue_size=10) 16 | rospy.Subscriber('/UAV_1/pose', PoseStamped, self.callback) 17 | rospy.init_node('pp_pub', anonymous=True) 18 | 19 | rate = rospy.Rate(1) 20 | 21 | self.current_point = PoseStamped() 22 | self.current_point.header.frame_id = "path_planner" 23 | self.current_point.header.stamp = rospy.get_rostime() 24 | 25 | self.current_point.pose.position.x = 0.5 26 | self.current_point.pose.position.y = 0.5 27 | self.current_point.pose.position.z = 0.5 28 | self.current_point.pose.orientation.w = 1.0 29 | 30 | #a counter so the location changes 31 | 32 | self.counterMax = 4; # waiting time = counterMax*rospy.Rate 33 | self.counter = self.counterMax; 34 | 35 | while not rospy.is_shutdown(): 36 | 37 | self.counter = self.counter + 1; 38 | 39 | if (self.counter > self.counterMax): 40 | 41 | markerPub.publish(self.current_point) 42 | 43 | self.counter = 0 44 | 45 | self.current_point.pose.position.x += 0.1 +random.uniform(-0.01, 0.01) 46 | self.current_point.pose.position.y += 0.1 +random.uniform(-0.01, 0.01) 47 | self.current_point.pose.position.z += 0.075 +random.uniform(-0.01, 0.01) 48 | self.current_point.pose.orientation.w = 1.0 49 | 50 | rate.sleep() 51 | 52 | def callback(self, data): 53 | #data is of type Marker 54 | #lets print some information 55 | print "Current position received!" 56 | print data.pose.position.x, data.pose.position.y, data.pose.position.z 57 | 58 | start_pub() 59 | -------------------------------------------------------------------------------- /6. Multi-agent A*/pub_current.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import random 4 | import rospy 5 | from geometry_msgs.msg import PoseStamped 6 | 7 | ''' 8 | This publishes a simulated current point PoseStamped every 10 seconds. 9 | The point is redefined randomly at certain frequancy. 10 | ''' 11 | 12 | class start_pub(): 13 | 14 | def __init__(self): 15 | markerPub = rospy.Publisher('/UAV_1/pose', PoseStamped, queue_size=10) 16 | rospy.Subscriber('/UAV_1/pose', PoseStamped, self.callback) 17 | rospy.init_node('pp_pub', anonymous=True) 18 | 19 | rate = rospy.Rate(1) 20 | 21 | self.current_point = PoseStamped() 22 | self.current_point.header.frame_id = "path_planner" 23 | self.current_point.header.stamp = rospy.get_rostime() 24 | 25 | self.current_point.pose.position.x = 0.5 26 | self.current_point.pose.position.y = 0.5 27 | self.current_point.pose.position.z = 0.5 28 | self.current_point.pose.orientation.w = 1.0 29 | 30 | #a counter so the location changes 31 | 32 | self.counterMax = 4; # waiting time = counterMax*rospy.Rate 33 | self.counter = self.counterMax; 34 | 35 | while not rospy.is_shutdown(): 36 | 37 | self.counter = self.counter + 1; 38 | 39 | if (self.counter > self.counterMax): 40 | 41 | markerPub.publish(self.current_point) 42 | 43 | self.counter = 0 44 | 45 | self.current_point.pose.position.x += 0.1 +random.uniform(-0.01, 0.01) 46 | self.current_point.pose.position.y += 0.1 +random.uniform(-0.01, 0.01) 47 | self.current_point.pose.position.z += 0.075 +random.uniform(-0.01, 0.01) 48 | self.current_point.pose.orientation.w = 1.0 49 | 50 | rate.sleep() 51 | 52 | def callback(self, data): 53 | #data is of type Marker 54 | #lets print some information 55 | print "Current position received!" 56 | print data.pose.position.x, data.pose.position.y, data.pose.position.z 57 | 58 | start_pub() 59 | -------------------------------------------------------------------------------- /2. cubic_obst/obstacles: -------------------------------------------------------------------------------- 1 | {(16, 49): [0, 20], (20, 50): [0, 20], (16, 42): [0, 20], (11, 40): [0, 20], (10, 48): [0, 20], (17, 43): [0, 20], (19, 48): [0, 20], (18, 48): [0, 20], (10, 46): [0, 20], (13, 50): [0, 20], (15, 50): [0, 20], (14, 46): [0, 20], (11, 47): [0, 20], (17, 46): [0, 20], (15, 47): [0, 20], (12, 40): [0, 20], (11, 48): [0, 20], (18, 45): [0, 20], (10, 43): [0, 20], (13, 45): [0, 20], (15, 48): [0, 20], (19, 49): [0, 20], (19, 41): [0, 20], (15, 42): [0, 20], (19, 47): [0, 20], (13, 40): [0, 20], (12, 48): [0, 20], (15, 49): [0, 20], (14, 43): [0, 20], (11, 42): [0, 20], (17, 41): [0, 20], (12, 45): [0, 20], (18, 46): [0, 20], (10, 44): [0, 20], (13, 48): [0, 20], (14, 44): [0, 20], (16, 48): [0, 20], (20, 43): [0, 20], (17, 44): [0, 20], (15, 41): [0, 20], (12, 42): [0, 20], (11, 50): [0, 20], (18, 43): [0, 20], (17, 49): [0, 20], (10, 41): [0, 20], (13, 43): [0, 20], (20, 45): [0, 20], (14, 49): [0, 20], (16, 41): [0, 20], (20, 49): [0, 20], (11, 41): [0, 20], (20, 41): [0, 20], (12, 50): [0, 20], (16, 46): [0, 20], (14, 41): [0, 20], (16, 44): [0, 20], (11, 44): [0, 20], (17, 47): [0, 20], (15, 44): [0, 20], (12, 47): [0, 20], (11, 49): [0, 20], (16, 47): [0, 20], (10, 42): [0, 20], (13, 46): [0, 20], (14, 50): [0, 20], (19, 50): [0, 20], (15, 43): [0, 20], (19, 44): [0, 20], (18, 41): [0, 20], (13, 41): [0, 20], (20, 47): [0, 20], (16, 43): [0, 20], (14, 42): [0, 20], (11, 43): [0, 20], (10, 49): [0, 20], (20, 42): [0, 20], (17, 42): [0, 20], (12, 44): [0, 20], (18, 49): [0, 20], (16, 50): [0, 20], (10, 47): [0, 20], (13, 49): [0, 20], (14, 47): [0, 20], (11, 46): [0, 20], (19, 40): [0, 20], (17, 45): [0, 20], (15, 46): [0, 20], (20, 48): [0, 20], (12, 41): [0, 20], (19, 43): [0, 20], (18, 42): [0, 20], (17, 50): [0, 20], (10, 40): [0, 20], (13, 44): [0, 20], (20, 44): [0, 20], (14, 48): [0, 20], (16, 40): [0, 20], (19, 42): [0, 20], (19, 46): [0, 20], (10, 50): [0, 20], (12, 49): [0, 20], (18, 50): [0, 20], (16, 45): [0, 20], (14, 40): [0, 20], (11, 45): [0, 20], (20, 40): [0, 20], (17, 40): [0, 20], (15, 45): [0, 20], (12, 46): [0, 20], (18, 47): [0, 20], (10, 45): [0, 20], (13, 47): [0, 20], (14, 45): [0, 20], (15, 40): [0, 20], (12, 43): [0, 20], (19, 45): [0, 20], (18, 44): [0, 20], (18, 40): [0, 20], (17, 48): [0, 20], (13, 42): [0, 20], (20, 46): [0, 20]} -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:31_UAV1_heapPerc: -------------------------------------------------------------------------------- 1 | roughPath 258 2 | refinedPath 610 3 | refinedPath 624 4 | refinedPath 624 5 | refinedPath 624 6 | refinedPath 624 7 | refinedPath 616 8 | refinedPath 602 9 | refinedPath 599 10 | refinedPath 595 11 | refinedPath 570 12 | refinedPath 564 13 | refinedPath 553 14 | refinedPath 540 15 | refinedPath 532 16 | refinedPath 524 17 | refinedPath 524 18 | refinedPath 510 19 | refinedPath 497 20 | refinedPath 495 21 | refinedPath 490 22 | refinedPath 494 23 | refinedPath 488 24 | refinedPath 492 25 | refinedPath 490 26 | refinedPath 598 27 | refinedPath 588 28 | refinedPath 580 29 | refinedPath 561 30 | refinedPath 546 31 | refinedPath 554 32 | refinedPath 543 33 | refinedPath 532 34 | refinedPath 530 35 | refinedPath 523 36 | refinedPath 521 37 | refinedPath 510 38 | refinedPath 512 39 | refinedPath 642 40 | refinedPath 629 41 | refinedPath 627 42 | refinedPath 625 43 | refinedPath 612 44 | refinedPath 610 45 | refinedPath 608 46 | refinedPath 591 47 | refinedPath 589 48 | refinedPath 629 49 | refinedPath 614 50 | refinedPath 600 51 | refinedPath 600 52 | refinedPath 597 53 | refinedPath 597 54 | refinedPath 597 55 | refinedPath 600 56 | refinedPath 600 57 | refinedPath 597 58 | refinedPath 603 59 | refinedPath 608 60 | refinedPath 604 61 | refinedPath 606 62 | refinedPath 614 63 | refinedPath 610 64 | refinedPath 602 65 | refinedPath 610 66 | refinedPath 610 67 | refinedPath 635 68 | refinedPath 717 69 | refinedPath 723 70 | refinedPath 753 71 | refinedPath 759 72 | refinedPath 789 73 | refinedPath 804 74 | refinedPath 825 75 | refinedPath 831 76 | refinedPath 869 77 | refinedPath 910 78 | refinedPath 920 79 | refinedPath 980 80 | refinedPath 975 81 | refinedPath 1047 82 | refinedPath 1068 83 | refinedPath 1152 84 | refinedPath 1152 85 | refinedPath 1183 86 | refinedPath 1304 87 | refinedPath 1484 88 | refinedPath 1567 89 | refinedPath 1659 90 | refinedPath 1627 91 | refinedPath 2029 92 | refinedPath 2087 93 | refinedPath 2106 94 | refinedPath 2582 95 | refinedPath 3522 96 | refinedPath 4477 97 | refinedPath 4685 98 | refinedPath 5412 99 | refinedPath 4454 100 | refinedPath 5283 101 | refinedPath 8733 102 | refinedPath 17778 103 | refinedPath 9743 104 | refinedPath 37369 105 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/08-25 15:47 executionTime: -------------------------------------------------------------------------------- 1 | newPath 0.00469493865967 2 | oldPath 0.000208139419556 3 | oldPath 0.00018310546875 4 | oldPath 0.000149011611938 5 | oldPath 0.000210046768188 6 | oldPath 0.000375986099243 7 | oldPath 0.000166177749634 8 | oldPath 0.000313997268677 9 | oldPath 7.10487365723e-05 10 | oldPath 0.000267028808594 11 | oldPath 0.000184774398804 12 | oldPath 0.000602006912231 13 | oldPath 0.000244140625 14 | oldPath 0.000166893005371 15 | oldPath 0.000171899795532 16 | oldPath 8.20159912109e-05 17 | oldPath 8.10623168945e-05 18 | oldPath 8.20159912109e-05 19 | oldPath 8.29696655273e-05 20 | oldPath 0.000342130661011 21 | oldPath 8.39233398438e-05 22 | oldPath 8.10623168945e-05 23 | oldPath 7.82012939453e-05 24 | oldPath 7.29560852051e-05 25 | oldPath 8.17775726318e-05 26 | oldPath 8.01086425781e-05 27 | oldPath 8.51154327393e-05 28 | oldPath 9.01222229004e-05 29 | oldPath 8.60691070557e-05 30 | oldPath 8.20159912109e-05 31 | oldPath 8.20159912109e-05 32 | oldPath 8.20159912109e-05 33 | oldPath 9.20295715332e-05 34 | oldPath 8.20159912109e-05 35 | oldPath 0.000107049942017 36 | oldPath 9.48905944824e-05 37 | oldPath 8.70227813721e-05 38 | oldPath 7.29560852051e-05 39 | oldPath 8.20159912109e-05 40 | oldPath 8.39233398438e-05 41 | oldPath 8.9168548584e-05 42 | oldPath 8.98838043213e-05 43 | oldPath 8.70227813721e-05 44 | oldPath 9.01222229004e-05 45 | oldPath 8.29696655273e-05 46 | oldPath 8.39233398438e-05 47 | oldPath 9.51290130615e-05 48 | oldPath 8.60691070557e-05 49 | oldPath 0.000277996063232 50 | oldPath 0.000213861465454 51 | oldPath 0.000270128250122 52 | oldPath 0.000153064727783 53 | oldPath 0.000185966491699 54 | oldPath 0.000262022018433 55 | oldPath 0.000486850738525 56 | oldPath 0.000296831130981 57 | oldPath 0.000153064727783 58 | oldPath 0.000301122665405 59 | oldPath 0.000323057174683 60 | oldPath 0.00019097328186 61 | oldPath 0.000220060348511 62 | oldPath 0.000204086303711 63 | oldPath 0.000168085098267 64 | oldPath 0.000303983688354 65 | oldPath 0.000305891036987 66 | oldPath 0.000205039978027 67 | oldPath 0.000107049942017 68 | oldPath 0.000161170959473 69 | oldPath 0.000180959701538 70 | oldPath 0.000567197799683 71 | oldPath 0.000249862670898 72 | oldPath 0.000294208526611 73 | oldPath 0.000174045562744 74 | oldPath 0.000418901443481 75 | oldPath 0.000330924987793 76 | oldPath 0.000223159790039 77 | oldPath 0.00031304359436 78 | oldPath 0.000345945358276 79 | oldPath 0.000116109848022 80 | oldPath 0.000318050384521 81 | -------------------------------------------------------------------------------- /5. DstarLite/Experiment data/DstarStaticObstRes10/08-25 16:10 executionTime: -------------------------------------------------------------------------------- 1 | newPath 0.0553689002991 2 | oldPath 0.00193810462952 3 | oldPath 0.00278186798096 4 | oldPath 0.000777006149292 5 | oldPath 0.00365400314331 6 | oldPath 0.00302004814148 7 | oldPath 0.00135803222656 8 | oldPath 0.00170207023621 9 | oldPath 0.00222992897034 10 | oldPath 0.00211310386658 11 | oldPath 0.00319814682007 12 | oldPath 0.00186395645142 13 | oldPath 0.00324892997742 14 | oldPath 0.00375509262085 15 | oldPath 0.00273108482361 16 | oldPath 0.00188684463501 17 | oldPath 0.00186610221863 18 | oldPath 0.00222992897034 19 | oldPath 0.00186204910278 20 | oldPath 0.00126814842224 21 | oldPath 0.00187802314758 22 | oldPath 0.00111889839172 23 | oldPath 0.000939130783081 24 | oldPath 0.00147986412048 25 | oldPath 0.00181603431702 26 | oldPath 0.00469493865967 27 | oldPath 0.00478792190552 28 | oldPath 0.00233316421509 29 | oldPath 0.00241494178772 30 | oldPath 0.000542163848877 31 | oldPath 0.00127387046814 32 | oldPath 0.00114488601685 33 | oldPath 0.00196194648743 34 | oldPath 0.00185203552246 35 | oldPath 0.000923156738281 36 | oldPath 0.00429701805115 37 | oldPath 0.00257086753845 38 | oldPath 0.000725030899048 39 | oldPath 0.00311493873596 40 | newPath 0.01935505867 41 | oldPath 0.000823974609375 42 | oldPath 0.000242948532104 43 | oldPath 0.00116181373596 44 | oldPath 0.000504970550537 45 | oldPath 0.00118398666382 46 | oldPath 0.0011899471283 47 | oldPath 0.00158500671387 48 | oldPath 0.00140595436096 49 | oldPath 0.00148487091064 50 | oldPath 0.000468015670776 51 | oldPath 0.00452184677124 52 | oldPath 0.00153589248657 53 | oldPath 0.00163006782532 54 | oldPath 0.000940799713135 55 | oldPath 0.00120806694031 56 | oldPath 0.000900983810425 57 | oldPath 0.00173902511597 58 | oldPath 0.000441074371338 59 | oldPath 0.00179100036621 60 | oldPath 0.000169038772583 61 | oldPath 0.0012891292572 62 | oldPath 0.00250101089478 63 | oldPath 0.00280690193176 64 | oldPath 0.000996828079224 65 | oldPath 0.00145602226257 66 | oldPath 0.00179195404053 67 | oldPath 0.000593185424805 68 | oldPath 0.000838041305542 69 | oldPath 0.00109601020813 70 | oldPath 0.0018138885498 71 | oldPath 0.000298023223877 72 | oldPath 0.000669002532959 73 | oldPath 0.000278949737549 74 | oldPath 0.00095009803772 75 | oldPath 0.00122404098511 76 | oldPath 0.00088906288147 77 | oldPath 0.000984907150269 78 | oldPath 0.00112700462341 79 | oldPath 0.000587940216064 80 | oldPath 0.00253105163574 81 | oldPath 0.000425100326538 82 | oldPath 0.000471115112305 83 | oldPath 0.000339984893799 84 | oldPath 0.000423192977905 85 | oldPath 0.000455141067505 86 | oldPath 0.000939130783081 87 | oldPath 0.000249862670898 88 | oldPath 0.000526905059814 89 | oldPath 0.000355005264282 90 | oldPath 0.000494003295898 91 | oldPath 0.000221014022827 92 | oldPath 9.01222229004e-05 93 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi303/08-25 19:29_UAV2_pathL: -------------------------------------------------------------------------------- 1 | roughPath 2.03656609249 2 | refinedPath 0.773205080757 3 | roughPath 2.03656609249 4 | refinedPath 0.773205080757 5 | roughPath 2.03656609249 6 | refinedPath 0.767485984915 7 | roughPath 2.03656609249 8 | refinedPath 0.685349264411 9 | refinedPath 0.627614237492 10 | refinedPath 0.638208812331 11 | refinedPath 0.618682597744 12 | refinedPath 0.599156383156 13 | refinedPath 0.579630168569 14 | refinedPath 0.570698528821 15 | refinedPath 0.551172314233 16 | refinedPath 0.522714459898 17 | refinedPath 0.747116153484 18 | refinedPath 0.694256605563 19 | refinedPath 0.638184513736 20 | refinedPath 0.618658299149 21 | refinedPath 0.799132084561 22 | refinedPath 0.74627253664 23 | refinedPath 0.74627253664 24 | refinedPath 0.708063724309 25 | refinedPath 0.727589938896 26 | refinedPath 0.733309034738 27 | refinedPath 0.680449486817 28 | refinedPath 0.657710728324 29 | refinedPath 0.62437739499 30 | refinedPath 1.13829784001 31 | refinedPath 1.07163117335 32 | refinedPath 1.03829784001 33 | refinedPath 0.971631173348 34 | refinedPath 0.924490721269 35 | refinedPath 0.847229479762 36 | refinedPath 0.813896146429 37 | refinedPath 0.722827786177 38 | refinedPath 0.678899878003 39 | refinedPath 0.621164851084 40 | refinedPath 0.577236942911 41 | refinedPath 0.519501915992 42 | refinedPath 0.461766889073 43 | refinedPath 0.393437287314 44 | refinedPath 0.335702260396 45 | refinedPath 0.288561808316 46 | refinedPath 0.218682597744 47 | refinedPath 0.171542145665 48 | refinedPath 0.138208812331 49 | refinedPath 0.0942809041582 50 | refinedPath 0.124401693586 51 | refinedPath 0.124401693586 52 | refinedPath 0.115470053838 53 | refinedPath 0.148803387171 54 | refinedPath 0.19594383925 55 | refinedPath 0.19594383925 56 | refinedPath 0.171542145665 57 | refinedPath 0.171542145665 58 | refinedPath 0.171542145665 59 | refinedPath 0.124401693586 60 | refinedPath 0.124401693586 61 | refinedPath 0.124401693586 62 | roughPath 0.353553390593 63 | refinedPath 0 64 | refinedPath 0 65 | refinedPath 0.0804737854124 66 | refinedPath 0.0471404520791 67 | refinedPath 0.0471404520791 68 | refinedPath 0 69 | refinedPath 0.0471404520791 70 | refinedPath 0.0910683602523 71 | refinedPath 0.157735026919 72 | refinedPath 0.204875478998 73 | refinedPath 0.271542145665 74 | refinedPath 0.352015931077 75 | refinedPath 0.42189514165 76 | refinedPath 0.488561808316 77 | refinedPath 0.565823049823 78 | refinedPath 0.588561808316 79 | refinedPath 0.641421356237 80 | refinedPath 0.708088022904 81 | refinedPath 0.771542145665 82 | refinedPath 0.862610505917 83 | refinedPath 0.929277172584 84 | refinedPath 0.99594383925 85 | refinedPath 1.05367886617 86 | refinedPath 1.13415265158 87 | refinedPath 1.26748598492 88 | refinedPath 1.51462643699 89 | refinedPath 1.54795977033 90 | refinedPath 1.54795977033 91 | refinedPath 1.54795977033 92 | refinedPath 1.54795977033 93 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:30_UAV1_heapPerc: -------------------------------------------------------------------------------- 1 | roughPath 288 2 | refinedPath 362 3 | refinedPath 362 4 | refinedPath 362 5 | refinedPath 362 6 | refinedPath 362 7 | refinedPath 362 8 | refinedPath 362 9 | refinedPath 362 10 | refinedPath 362 11 | refinedPath 362 12 | refinedPath 362 13 | refinedPath 362 14 | refinedPath 362 15 | refinedPath 362 16 | refinedPath 362 17 | refinedPath 362 18 | refinedPath 362 19 | refinedPath 362 20 | refinedPath 362 21 | refinedPath 362 22 | refinedPath 362 23 | refinedPath 362 24 | refinedPath 362 25 | refinedPath 362 26 | refinedPath 362 27 | refinedPath 362 28 | refinedPath 362 29 | refinedPath 362 30 | refinedPath 362 31 | refinedPath 362 32 | refinedPath 362 33 | refinedPath 362 34 | refinedPath 362 35 | refinedPath 362 36 | refinedPath 362 37 | refinedPath 362 38 | refinedPath 362 39 | refinedPath 362 40 | refinedPath 362 41 | refinedPath 362 42 | refinedPath 362 43 | refinedPath 362 44 | refinedPath 362 45 | refinedPath 362 46 | refinedPath 362 47 | refinedPath 362 48 | refinedPath 362 49 | refinedPath 372 50 | refinedPath 362 51 | refinedPath 362 52 | refinedPath 362 53 | refinedPath 362 54 | refinedPath 362 55 | refinedPath 362 56 | refinedPath 362 57 | refinedPath 362 58 | refinedPath 362 59 | refinedPath 362 60 | refinedPath 362 61 | refinedPath 362 62 | refinedPath 362 63 | refinedPath 362 64 | refinedPath 362 65 | refinedPath 372 66 | refinedPath 362 67 | refinedPath 362 68 | refinedPath 362 69 | refinedPath 362 70 | refinedPath 362 71 | refinedPath 362 72 | refinedPath 362 73 | refinedPath 362 74 | refinedPath 362 75 | refinedPath 362 76 | refinedPath 362 77 | refinedPath 362 78 | refinedPath 362 79 | refinedPath 362 80 | refinedPath 372 81 | refinedPath 362 82 | refinedPath 362 83 | refinedPath 362 84 | refinedPath 362 85 | refinedPath 362 86 | refinedPath 362 87 | refinedPath 362 88 | refinedPath 362 89 | refinedPath 362 90 | refinedPath 362 91 | refinedPath 362 92 | refinedPath 362 93 | refinedPath 368 94 | refinedPath 372 95 | refinedPath 362 96 | refinedPath 372 97 | refinedPath 368 98 | refinedPath 372 99 | refinedPath 372 100 | refinedPath 372 101 | refinedPath 372 102 | refinedPath 372 103 | refinedPath 368 104 | refinedPath 372 105 | refinedPath 372 106 | refinedPath 372 107 | refinedPath 368 108 | refinedPath 372 109 | refinedPath 372 110 | refinedPath 366 111 | refinedPath 353 112 | refinedPath 357 113 | refinedPath 357 114 | refinedPath 357 115 | refinedPath 342 116 | refinedPath 342 117 | refinedPath 333 118 | refinedPath 314 119 | refinedPath 476 120 | refinedPath 452 121 | refinedPath 426 122 | refinedPath 406 123 | refinedPath 380 124 | refinedPath 373 125 | refinedPath 366 126 | refinedPath 359 127 | refinedPath 352 128 | refinedPath 573 129 | refinedPath 577 130 | refinedPath 600 131 | refinedPath 608 132 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi303/08-25 19:29_UAV2_execT: -------------------------------------------------------------------------------- 1 | roughPath 0.00248098373413 2 | refinedPath 0.00403308868408 3 | roughPath 0.00225400924683 4 | refinedPath 0.0042130947113 5 | roughPath 0.00170302391052 6 | refinedPath 0.0040020942688 7 | roughPath 0.00237798690796 8 | refinedPath 0.00425696372986 9 | refinedPath 0.0036289691925 10 | refinedPath 0.00336790084839 11 | refinedPath 0.00346207618713 12 | refinedPath 0.0029468536377 13 | refinedPath 0.00308895111084 14 | refinedPath 0.00285005569458 15 | refinedPath 0.00285983085632 16 | refinedPath 0.00214004516602 17 | refinedPath 0.00353407859802 18 | refinedPath 0.00282716751099 19 | refinedPath 0.00168299674988 20 | refinedPath 0.00211596488953 21 | refinedPath 0.00184988975525 22 | refinedPath 0.00322008132935 23 | refinedPath 0.00315713882446 24 | refinedPath 0.00157999992371 25 | refinedPath 0.00348901748657 26 | refinedPath 0.00374579429626 27 | refinedPath 0.00167679786682 28 | refinedPath 0.00164604187012 29 | refinedPath 0.00130701065063 30 | refinedPath 0.00479602813721 31 | refinedPath 0.00400996208191 32 | refinedPath 0.00348210334778 33 | refinedPath 0.0024619102478 34 | refinedPath 0.00381398200989 35 | refinedPath 0.00208210945129 36 | refinedPath 0.00318908691406 37 | refinedPath 0.00283598899841 38 | refinedPath 0.002277135849 39 | refinedPath 0.00271010398865 40 | refinedPath 0.00198817253113 41 | refinedPath 0.0015709400177 42 | refinedPath 0.00123906135559 43 | refinedPath 0.00196218490601 44 | refinedPath 0.00129699707031 45 | refinedPath 0.000920057296753 46 | refinedPath 0.00112104415894 47 | refinedPath 0.000630855560303 48 | refinedPath 0.000541925430298 49 | refinedPath 0.000346899032593 50 | refinedPath 0.000965118408203 51 | refinedPath 0.00061297416687 52 | refinedPath 0.000511169433594 53 | refinedPath 0.000612020492554 54 | refinedPath 0.0011510848999 55 | refinedPath 0.000828981399536 56 | refinedPath 0.00110101699829 57 | refinedPath 0.0010039806366 58 | refinedPath 0.00103902816772 59 | refinedPath 0.000776052474976 60 | refinedPath 0.000900983810425 61 | refinedPath 0.000941038131714 62 | roughPath 0.000312089920044 63 | refinedPath 0.000555038452148 64 | refinedPath 0.000502109527588 65 | refinedPath 0.000720024108887 66 | refinedPath 0.000368118286133 67 | refinedPath 0.000256061553955 68 | refinedPath 0.000252962112427 69 | refinedPath 0.000306844711304 70 | refinedPath 0.000455141067505 71 | refinedPath 0.000620126724243 72 | refinedPath 0.000818014144897 73 | refinedPath 0.000923156738281 74 | refinedPath 0.00150394439697 75 | refinedPath 0.00138807296753 76 | refinedPath 0.00255012512207 77 | refinedPath 0.00257396697998 78 | refinedPath 0.0019838809967 79 | refinedPath 0.00299620628357 80 | refinedPath 0.00460696220398 81 | refinedPath 0.00399208068848 82 | refinedPath 0.00193905830383 83 | refinedPath 0.00425004959106 84 | refinedPath 0.00282883644104 85 | refinedPath 0.00293397903442 86 | refinedPath 0.00389313697815 87 | refinedPath 0.00563311576843 88 | refinedPath 0.00510597229004 89 | refinedPath 0.00870800018311 90 | refinedPath 0.0059540271759 91 | refinedPath 0.00430607795715 92 | refinedPath 0.00645017623901 93 | refinedPath 0.00100612640381 94 | -------------------------------------------------------------------------------- /test.py: -------------------------------------------------------------------------------- 1 | import rospy 2 | import time 3 | from std_msgs.msg import String, Float32 4 | from geometry_msgs.msg import Point, Quaternion, Twist, PoseStamped 5 | from visualization_msgs.msg import Marker 6 | from sensor_msgs.msg import Imu 7 | 8 | class logger: 9 | #global variable - and default values 10 | def __init__(self): 11 | self.battery = 0 12 | self.angular_acc_x = 0 13 | self.angular_acc_y = 0 14 | self.angular_acc_z = 0 15 | self.linear_acc_x = 0 16 | self.linear_acc_y = 0 17 | self.linear_acc_z = 0 18 | self.position_x = 0 19 | self.position_y = 0 20 | self.position_z = 0 21 | 22 | self.pointlist = [] 23 | 24 | self.goal_x = 0 25 | self.goal_y = 0 26 | self.goal_z = 0 27 | 28 | def callback(self, data): 29 | print 'X: ', data.pose.position.x 30 | 31 | def battery_listener(self, data): 32 | self.battery = data.data 33 | 34 | def imu_listener(self, data): 35 | self.angular_acc_x = data.angular_velocity.x 36 | self.angular_acc_y = data.angular_velocity.y 37 | self.angular_acc_z = data.angular_velocity.z 38 | self.linear_acc_x = data.linear_acceleration.x 39 | self.linear_acc_y = data.linear_acceleration.y 40 | self.linear_acc_z = data.linear_acceleration.z 41 | 42 | def position_listener(self, data): 43 | self.position_x = data.pose.position.x 44 | self.position_y = data.pose.position.y 45 | self.position_z = data.pose.position.z 46 | 47 | def goal_listener(self, data): 48 | self.goal_x = data.pose.position.x 49 | self.goal_y = data.pose.position.y 50 | self.goal_z = data.pose.position.z 51 | 52 | def path_listener(self, data): 53 | self.pointlist = [] 54 | for i in data.points: 55 | self.pointlist.append(kVec(i.x * scale_path, i.y * scale_path, i.z * scale_path)) 56 | 57 | def setup_logfile(self, file_writer): 58 | #Header: 59 | # Start location 60 | # End Location 61 | # Start time 62 | print 'setup_logfile' 63 | file_writer.write("# Flight Log\n") 64 | file_writer.write(time.strftime("# %d %m %y - %H:%M:%S\n")) 65 | # time position goal linear acceleration angular acceleration battery level 66 | file_writer.write("Time\t\tX,Y,Z\t\t\t\tgoalX,goalY,goalZ\t\tddx,ddy,ddz\t\t\tangularx,angulary,angularz\tbattery\n") 67 | 68 | def record_data(self, file_writer): 69 | file_writer.write(time.strftime("%H:%M:%S\t")) 70 | file_writer.write("%f,%f,%f\t" % (self.position_x, self.position_y, self.position_z)) 71 | file_writer.write("%f,%f,%f\t" % (self.goal_x, self.goal_y, self.goal_z)) 72 | file_writer.write("%f,%f,%f\t" % (self.linear_acc_x, self.linear_acc_y, self.linear_acc_z)) 73 | file_writer.write("%f,%f,%f\t" % (self.position_x, self.position_y, self.position_z)) 74 | file_writer.write(str(self.battery)) 75 | file_writer.write("\n") 76 | #print self.battery 77 | 78 | tempDict = {} 79 | for i in range(3): 80 | tempDict[i] = logger() 81 | 82 | f = open('testfile.txt', 'w') 83 | print type(f.name) 84 | print f.name -------------------------------------------------------------------------------- /2. cubic_obst/test.py: -------------------------------------------------------------------------------- 1 | # length_of_map = 10 2 | # width_of_map = 10 3 | # height_of_map = 5 4 | # 5 | # obst = Obstacle([2, 2, 2], 'obst_UAV') 6 | # obst.setSize([4, 2, 2]) 7 | # print obst.range 8 | # print 9 | # 10 | # point = (1,1,6) 11 | # print obst.conflict(point) 12 | # print 13 | # print obst.points 14 | 15 | # number1 = 2.1 16 | # number2 = 2.4 17 | # number3 = 2.5 18 | # number4 = 2.9 19 | # 20 | # print int(number1) 21 | # print int(number2) 22 | # print int(number3) 23 | # print int(number4) 24 | 25 | 26 | # def gridalize(value, scale): 27 | # if isinstance(value, tuple): 28 | # result = [] 29 | # value = list(value) 30 | # for i in range(len(value)): 31 | # result.append(int(round(value[i] *scale))) 32 | # return tuple(result) 33 | # else: 34 | # return int(round(value *scale)) 35 | # 36 | # 37 | # 38 | # (l, w, h) = gridalize((1.5, 2.8, 3), 3) 39 | # print l 40 | # print w 41 | # print h 42 | 43 | 44 | # lst = [[1,2,3], [2,4,5]] 45 | # for point in lst: 46 | # print point 47 | 48 | 49 | # dct = {(2, 2, 2): (4, 4, 4), (3, 3, 3): (5, 5, 5)} 50 | # f = open('test.txt', 'w') 51 | # for key in dct: 52 | # string = str(key) + ':' + str(dct[key]) + ' ' 53 | # f.write(string) 54 | # f.close() 55 | 56 | 57 | class SquareGrid(object): 58 | def __init__(self, length, width, height): 59 | self.length = length 60 | self.width = width 61 | self.height = height 62 | self.walls = [] 63 | 64 | def in_bounds(self, point): 65 | (x, y, z) = point 66 | return 0 <= x <= self.length and 0 <= y <= self.width and 0<= z <= self.height 67 | 68 | def passable(self, point, obstArray): 69 | 70 | for i in range(len(obstArray)): 71 | if obstArray[i].conflict(point): 72 | return False 73 | else: 74 | return True 75 | # return point not in self.walls 76 | 77 | def neighbors(self, point): 78 | (x, y, z) = point 79 | # results = [(x+1, y), (x, y-1), (x-1, y), (x, y+1)] 80 | results = [(x+1, y, z), (x+1, y, z+1), (x, y, z+1), (x+1, y+1, z), (x+1, y+1, z+1), 81 | (x, y+1, z), (x, y+1, z+1), (x-1, y+1, z), (x-1, y+1, z+1), 82 | (x-1, y, z), (x-1, y, z+1), (x-1, y-1, z), (x-1, y-1, z+1), 83 | (x, y-1, z), (x, y-1, z+1), (x+1, y-1, z), (x+1, y-1, z+1), 84 | (x, y, z-1), (x+1, y, z-1), (x+1, y+1, z-1), (x, y+1, z-1), (x-1, y+1, z-1), 85 | (x-1, y, z-1), (x-1, y-1, z-1), (x, y-1, z-1), (x+1, y-1, z-1)] 86 | # if (x + y) % 2 == 0: results.reverse() # aesthetics [Attention!] 87 | results = filter(self.in_bounds, results) 88 | global obstArray 89 | results = filter(self.passable, results, obstArray) 90 | return results 91 | 92 | 93 | class GridWithWeights(SquareGrid): 94 | def __init__(self, length, width, height): 95 | super(GridWithWeights, self).__init__(length, width, height) 96 | self.weights = {} 97 | 98 | def cost(self, from_node, to_node): 99 | return self.weights.get(to_node, 1) # default is 1 100 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:31_UAV1_pathL: -------------------------------------------------------------------------------- 1 | roughPath 3.18915758876 2 | refinedPath 1.18259394628 3 | refinedPath 1.18895069118 4 | refinedPath 1.18895069118 5 | refinedPath 1.18895069118 6 | refinedPath 1.18895069118 7 | refinedPath 1.19087821753 8 | refinedPath 1.15816472772 9 | refinedPath 1.13180798282 10 | refinedPath 1.10737876425 11 | refinedPath 1.06195178464 12 | refinedPath 1.05116582117 13 | refinedPath 1.03845233137 14 | refinedPath 1.01302535175 15 | refinedPath 1.00031186194 16 | refinedPath 0.987598372136 17 | refinedPath 0.987598372136 18 | refinedPath 0.94660061108 19 | refinedPath 0.920243866176 20 | refinedPath 0.918316339833 21 | refinedPath 0.904673084737 22 | refinedPath 0.911029829641 23 | refinedPath 0.902745558393 24 | refinedPath 0.909102303297 25 | refinedPath 0.907174776954 26 | refinedPath 1.14717477695 27 | refinedPath 1.1325337608 28 | refinedPath 1.11982027099 29 | refinedPath 1.08517925484 30 | refinedPath 1.0568949836 31 | refinedPath 1.0696084734 32 | refinedPath 1.04768094706 33 | refinedPath 1.02575342072 34 | refinedPath 1.02382589437 35 | refinedPath 1.00825511293 36 | refinedPath 1.00632758659 37 | refinedPath 0.984400060246 38 | refinedPath 0.988829278806 39 | refinedPath 1.25003206859 40 | refinedPath 1.2261770159 41 | refinedPath 1.22424948955 42 | refinedPath 1.22232196321 43 | refinedPath 1.19846691052 44 | refinedPath 1.19653938418 45 | refinedPath 1.19461185784 46 | refinedPath 1.16440006025 47 | refinedPath 1.1624725339 48 | refinedPath 1.38054500756 49 | refinedPath 1.37226073631 50 | refinedPath 1.35418826266 51 | refinedPath 1.35418826266 52 | refinedPath 1.34783151775 53 | refinedPath 1.34783151775 54 | refinedPath 1.34783151775 55 | refinedPath 1.38783151775 56 | refinedPath 1.3795472465 57 | refinedPath 1.3731905016 58 | refinedPath 1.38147477285 59 | refinedPath 1.42340229919 60 | refinedPath 1.40876128304 61 | refinedPath 1.41068880938 62 | refinedPath 1.44433206448 63 | refinedPath 1.43797531958 64 | refinedPath 1.42526182977 65 | refinedPath 1.45547362736 66 | refinedPath 1.45547362736 67 | refinedPath 1.53839891476 68 | refinedPath 1.74333430342 69 | refinedPath 1.74333430342 70 | refinedPath 1.82475565966 71 | refinedPath 1.82475565966 72 | refinedPath 1.9061770159 73 | refinedPath 1.94274555839 74 | refinedPath 1.97931410089 75 | refinedPath 1.9920275907 76 | refinedPath 2.04666860685 77 | refinedPath 2.081309623 78 | refinedPath 2.09938209666 79 | refinedPath 2.14230738405 80 | refinedPath 2.14037985771 81 | refinedPath 2.17502087386 82 | refinedPath 2.18966189001 83 | refinedPath 2.21601863492 84 | refinedPath 2.21601863492 85 | refinedPath 2.23601863492 86 | refinedPath 2.28430290616 87 | refinedPath 2.31258717741 88 | refinedPath 2.33258717741 89 | refinedPath 2.35894392232 90 | refinedPath 2.37894392232 91 | refinedPath 2.40722819356 92 | refinedPath 2.42722819356 93 | refinedPath 2.43894392232 94 | refinedPath 2.46722819356 95 | refinedPath 2.50379673606 96 | refinedPath 2.55743999115 97 | refinedPath 2.62087144866 98 | refinedPath 2.66379673606 99 | refinedPath 2.61551246481 100 | refinedPath 2.59743999115 101 | refinedPath 2.71108324625 102 | refinedPath 2.85108324625 103 | refinedPath 2.78629842828 104 | refinedPath 2.96322257019 105 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:31_UAV1_execT: -------------------------------------------------------------------------------- 1 | roughPath 0.00896096229553 2 | refinedPath 0.00520205497742 3 | refinedPath 0.0107989311218 4 | refinedPath 0.0124001502991 5 | refinedPath 0.00532484054565 6 | refinedPath 0.0121080875397 7 | refinedPath 0.00730085372925 8 | refinedPath 0.00519394874573 9 | refinedPath 0.00540280342102 10 | refinedPath 0.00987482070923 11 | refinedPath 0.00885510444641 12 | refinedPath 0.00803685188293 13 | refinedPath 0.00971817970276 14 | refinedPath 0.00556015968323 15 | refinedPath 0.00461483001709 16 | refinedPath 0.00456809997559 17 | refinedPath 0.00881600379944 18 | refinedPath 0.00479102134705 19 | refinedPath 0.00907611846924 20 | refinedPath 0.00514197349548 21 | refinedPath 0.00458478927612 22 | refinedPath 0.00439620018005 23 | refinedPath 0.00994205474854 24 | refinedPath 0.00597500801086 25 | refinedPath 0.00865793228149 26 | refinedPath 0.0106229782104 27 | refinedPath 0.0122170448303 28 | refinedPath 0.0102388858795 29 | refinedPath 0.00773215293884 30 | refinedPath 0.00608205795288 31 | refinedPath 0.00966811180115 32 | refinedPath 0.010281085968 33 | refinedPath 0.0109541416168 34 | refinedPath 0.00877285003662 35 | refinedPath 0.00515508651733 36 | refinedPath 0.00862193107605 37 | refinedPath 0.00775003433228 38 | refinedPath 0.00849914550781 39 | refinedPath 0.0131180286407 40 | refinedPath 0.0115649700165 41 | refinedPath 0.0157852172852 42 | refinedPath 0.0113768577576 43 | refinedPath 0.0128979682922 44 | refinedPath 0.0239489078522 45 | refinedPath 0.0139210224152 46 | refinedPath 0.0141479969025 47 | refinedPath 0.0115818977356 48 | refinedPath 0.013818025589 49 | refinedPath 0.0135300159454 50 | refinedPath 0.0112071037292 51 | refinedPath 0.01296210289 52 | refinedPath 0.0105020999908 53 | refinedPath 0.00911998748779 54 | refinedPath 0.0148808956146 55 | refinedPath 0.0122079849243 56 | refinedPath 0.0116190910339 57 | refinedPath 0.00882196426392 58 | refinedPath 0.00894618034363 59 | refinedPath 0.0110468864441 60 | refinedPath 0.0125801563263 61 | refinedPath 0.014261007309 62 | refinedPath 0.0112800598145 63 | refinedPath 0.0152080059052 64 | refinedPath 0.0151479244232 65 | refinedPath 0.00935101509094 66 | refinedPath 0.00871896743774 67 | refinedPath 0.0128271579742 68 | refinedPath 0.0108890533447 69 | refinedPath 0.0108270645142 70 | refinedPath 0.0179200172424 71 | refinedPath 0.0120639801025 72 | refinedPath 0.0129728317261 73 | refinedPath 0.0157551765442 74 | refinedPath 0.0097599029541 75 | refinedPath 0.0121219158173 76 | refinedPath 0.0150139331818 77 | refinedPath 0.0106780529022 78 | refinedPath 0.0185480117798 79 | refinedPath 0.0195908546448 80 | refinedPath 0.0137000083923 81 | refinedPath 0.0158040523529 82 | refinedPath 0.019562959671 83 | refinedPath 0.0259659290314 84 | refinedPath 0.0334599018097 85 | refinedPath 0.0374979972839 86 | refinedPath 0.0337829589844 87 | refinedPath 0.0360028743744 88 | refinedPath 0.0512340068817 89 | refinedPath 0.0687811374664 90 | refinedPath 0.0426831245422 91 | refinedPath 0.0574719905853 92 | refinedPath 0.0838439464569 93 | refinedPath 0.0892999172211 94 | refinedPath 0.0986869335175 95 | refinedPath 0.258226156235 96 | refinedPath 0.329308986664 97 | refinedPath 0.359968900681 98 | refinedPath 0.352710008621 99 | refinedPath 0.264605998993 100 | refinedPath 0.387504816055 101 | refinedPath 0.680714845657 102 | refinedPath 1.97618293762 103 | refinedPath 0.820950984955 104 | refinedPath 3.89168906212 105 | refinedPath 0.00142312049866 106 | roughPath 0.00104188919067 107 | -------------------------------------------------------------------------------- /5. DstarLite/init.py: -------------------------------------------------------------------------------- 1 | import rospy 2 | # from std_msgs.msg import String 3 | from visualization_msgs.msg import Marker, MarkerArray 4 | 5 | def initPathMarkers(): 6 | # start/ goal/ current point 7 | path = Marker() 8 | 9 | path.header.frame_id = 'path_planner' 10 | path.header.stamp = rospy.get_rostime() 11 | path.ns = "path_planner" 12 | path.action = 0 # add/modify an object 13 | path.id = 4 14 | # path.text = 'path' 15 | path.type = 4 # Line Strip 16 | 17 | path.pose.orientation.w = 1.0 18 | 19 | path.scale.x = 0.5 # scale.x controls the width of the line segments 20 | 21 | path.color.r = 0.2 22 | path.color.g = 0.2 23 | path.color.b = 1.0 24 | path.color.a = 1.0 25 | 26 | return path 27 | 28 | def initPointMarkers(): 29 | # start/ goal/ current point 30 | point = Marker() 31 | 32 | point.header.frame_id = 'path_planner' 33 | point.header.stamp = rospy.get_rostime() 34 | point.ns = "path_planner" 35 | point.action = 0 # add/modify an object 36 | # point.text = 'point' 37 | point.type = 2 # Sphere 38 | 39 | point.pose.orientation.w = 1.0 40 | point.pose.position.x = 0.0 41 | point.pose.position.y = 0.0 42 | point.pose.position.z = 0.0 43 | point.scale.x = point.scale.y = point.scale.z = 1.0 44 | point.color.a = 1.0 45 | 46 | return point 47 | 48 | def initBoundMarker(): 49 | boundary = Marker() 50 | 51 | boundary.header.frame_id = 'path_planner' 52 | boundary.header.stamp = rospy.get_rostime() 53 | boundary.ns = "path_planner" 54 | boundary.action = 0 # add/modify an object 55 | boundary.id = 110 56 | boundary.type = 4 # Line Strip 57 | 58 | boundary.pose.orientation.w = 1.0 59 | boundary.scale.x = 1 # scale.x controls the width of the line segments 60 | 61 | boundary.color.r = 0.0 62 | boundary.color.g = 0.0 63 | boundary.color.b = 0.0 64 | boundary.color.a = 1.0 65 | 66 | return boundary 67 | 68 | 69 | def initObstMarkers(): 70 | obstacle = Marker() 71 | 72 | obstacle.header.frame_id = 'path_planner' 73 | obstacle.header.stamp = rospy.get_rostime() 74 | obstacle.ns = "path_planner" 75 | obstacle.action = 0 76 | obstacle.id = 30 77 | # obstacle.text = 'obstacle' 78 | obstacle.type = 8 # Points 79 | 80 | obstacle.pose.orientation.w = 1.0 81 | obstacle.pose.position.x = 0.0 82 | obstacle.pose.position.y = 0.0 83 | obstacle.pose.position.z = 0.0 84 | 85 | obstacle.scale.x = obstacle.scale.y = obstacle.scale.z = 0.5 86 | 87 | obstacle.color.r = 0.0 88 | obstacle.color.g = 0.0 89 | obstacle.color.b = 0.0 90 | obstacle.color.a = 1.0 91 | 92 | return obstacle 93 | 94 | 95 | def initPublishers(): 96 | pathPub = rospy.Publisher('path_planner_rrt', Marker, queue_size=10) # rostopic name 97 | pointPub = rospy.Publisher('points_markers', Marker, queue_size=10) 98 | boundPub = rospy.Publisher('bound_markers', Marker, queue_size=10) 99 | obstPub = rospy.Publisher('obstMarkers', Marker, queue_size=10) 100 | # roughPub = rospy.Publisher('roughPath_markers', Marker, queue_size=10) 101 | return (pathPub, pointPub, boundPub, obstPub) 102 | 103 | def gridalize(value, scale): 104 | if isinstance(value, tuple): 105 | result = [] 106 | value = list(value) 107 | for i in range(len(value)): 108 | result.append(int(round(value[i] *scale))) 109 | return tuple(result) 110 | else: 111 | return int(round(value *scale)) 112 | -------------------------------------------------------------------------------- /5. DstarLite/prioQ.py: -------------------------------------------------------------------------------- 1 | import rospy 2 | import inc 3 | import initEnv 4 | 5 | '''heap.c''' 6 | 7 | def keyless(cell1, cell2): 8 | global keylength 9 | for keyindex in range (keylength): 10 | if cell1.key[keyindex] < cell2.key[keyindex]: 11 | return True 12 | elif cell1.key[keyindex] > cell2.key[keyindex]: 13 | return False 14 | return False 15 | 16 | 17 | def testheap(): 18 | global heap 19 | global heapsize 20 | 21 | for d in range(heapsize/2, 0, -1): 22 | if not keyless(heap[2*d],heap[d]): 23 | rospy.signal_shutdown() 24 | if 2*d+1 <= heapsize: 25 | if not keyless(heap[2*d+1],heap[d]): 26 | rospy.signal_shutdown() 27 | 28 | 29 | def percolatedown(hole, tmpcell): 30 | global heap 31 | global heapsize 32 | global heap_percolation 33 | 34 | if heapsize != 0: 35 | while 2*hole <= heapsize: 36 | child = 2*hole 37 | if child != heapsize and keyless(heap[child+1], heap[child]): 38 | child = child + 1 39 | if (keyless(heap[child], tmpcell)): 40 | heap[hole] = heap[child] 41 | heap[hole].heapindex = hole 42 | else: 43 | break 44 | hole = child 45 | 46 | heap[hole] = tmpcell 47 | heap[hole].heapindex = hole 48 | 49 | heap_percolation += 1 50 | 51 | 52 | def percolateup(hole, tmpcell): 53 | global heap 54 | global heapsize 55 | global heap_percolation 56 | 57 | if heapsize != 0: 58 | while hole > 1 and keyless(tmpcell, heap[hole/2]): 59 | heap[hole] = heap[hole/2] 60 | heap[hole].heapindex = hole 61 | hole = hole/2 62 | heap[hole] = tmpcell 63 | heap[hole].heapindex = hole 64 | 65 | heap_percolation += 1 66 | 67 | 68 | def percolateupordown(hole, tmpcell): 69 | global heap 70 | global heapsize 71 | 72 | if heapsize != 0: 73 | if hole > 1 and keyless(tmpcell, heap[hole/2]): 74 | percolateup(hole, tmpcell) 75 | else: 76 | percolatedown(hole, tmpcell) 77 | 78 | 79 | def emptyheap(length): 80 | global keylength 81 | global heapsize 82 | 83 | keylength = length 84 | heapsize = 0 85 | 86 | 87 | def topheap(): 88 | global heap 89 | global heapsize 90 | 91 | if heapsize == 0: 92 | return None 93 | return heap[1] 94 | 95 | 96 | def deleteheap(thiscell): 97 | global heap 98 | global heapsize 99 | 100 | if thiscell.heapindex != 0 and thiscell.generated == initEnv.mazeiteration: 101 | percolateupordown(thiscell.heapindex, heap[heapsize]) 102 | heapsize = heapsize - 1 103 | thiscell.heapindex = 0 104 | 105 | 106 | def popheap(): 107 | global heap 108 | global heapsize 109 | 110 | if (heapsize == 0): 111 | return None 112 | thiscell = heap[1] 113 | thiscell.heapindex = 0 114 | percolatedown(1, heap[heapsize]) 115 | heapsize = heapsize - 1 116 | return thiscell 117 | 118 | 119 | def insertheap(thiscell): 120 | global heap 121 | global heapsize 122 | 123 | if thiscell.heapindex == 0 or thiscell.generated != initEnv.mazeiteration: 124 | thiscell.heapindex = 0 125 | # if DEBUG: 126 | # if heapsize < HEAPSIZE-1: 127 | # rospy.signal_shutdown() 128 | heapsize = heapsize + 1 129 | percolateup(heapsize, thiscell) 130 | else: 131 | percolateupordown(thiscell.heapindex, heap[thiscell.heapindex]) 132 | 133 | 134 | ################################################################################# 135 | heap = {0:None} 136 | heapsize = 0 137 | keylength = 3 138 | heap_percolation = 0 139 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:38_UAV1_heapPerc: -------------------------------------------------------------------------------- 1 | roughPath 288 2 | refinedPath 366 3 | refinedPath 366 4 | refinedPath 366 5 | refinedPath 375 6 | refinedPath 375 7 | refinedPath 375 8 | refinedPath 375 9 | refinedPath 375 10 | refinedPath 366 11 | refinedPath 375 12 | refinedPath 366 13 | refinedPath 375 14 | refinedPath 375 15 | refinedPath 366 16 | refinedPath 366 17 | refinedPath 366 18 | refinedPath 366 19 | refinedPath 375 20 | refinedPath 366 21 | refinedPath 375 22 | refinedPath 375 23 | refinedPath 375 24 | refinedPath 375 25 | refinedPath 366 26 | refinedPath 375 27 | refinedPath 366 28 | refinedPath 375 29 | refinedPath 375 30 | refinedPath 366 31 | refinedPath 366 32 | refinedPath 375 33 | refinedPath 375 34 | refinedPath 366 35 | refinedPath 366 36 | refinedPath 366 37 | refinedPath 375 38 | refinedPath 375 39 | refinedPath 366 40 | refinedPath 375 41 | refinedPath 366 42 | refinedPath 366 43 | refinedPath 375 44 | refinedPath 366 45 | refinedPath 366 46 | refinedPath 366 47 | refinedPath 366 48 | refinedPath 375 49 | refinedPath 375 50 | refinedPath 375 51 | refinedPath 366 52 | refinedPath 375 53 | refinedPath 375 54 | refinedPath 375 55 | refinedPath 366 56 | refinedPath 366 57 | refinedPath 366 58 | refinedPath 366 59 | refinedPath 366 60 | refinedPath 375 61 | refinedPath 375 62 | refinedPath 366 63 | refinedPath 375 64 | refinedPath 375 65 | refinedPath 375 66 | refinedPath 375 67 | refinedPath 366 68 | refinedPath 366 69 | refinedPath 366 70 | refinedPath 366 71 | refinedPath 375 72 | refinedPath 375 73 | refinedPath 366 74 | refinedPath 375 75 | refinedPath 366 76 | refinedPath 366 77 | refinedPath 366 78 | refinedPath 366 79 | refinedPath 366 80 | refinedPath 375 81 | refinedPath 375 82 | refinedPath 375 83 | refinedPath 375 84 | refinedPath 366 85 | refinedPath 366 86 | refinedPath 366 87 | refinedPath 366 88 | refinedPath 366 89 | refinedPath 375 90 | refinedPath 375 91 | refinedPath 375 92 | refinedPath 366 93 | refinedPath 366 94 | refinedPath 375 95 | refinedPath 366 96 | refinedPath 366 97 | refinedPath 375 98 | refinedPath 366 99 | refinedPath 375 100 | refinedPath 366 101 | refinedPath 375 102 | refinedPath 375 103 | refinedPath 375 104 | refinedPath 375 105 | refinedPath 375 106 | refinedPath 375 107 | refinedPath 366 108 | refinedPath 366 109 | refinedPath 366 110 | refinedPath 375 111 | refinedPath 366 112 | refinedPath 375 113 | refinedPath 366 114 | refinedPath 366 115 | refinedPath 366 116 | refinedPath 366 117 | refinedPath 375 118 | refinedPath 375 119 | refinedPath 366 120 | refinedPath 375 121 | refinedPath 375 122 | refinedPath 366 123 | refinedPath 366 124 | refinedPath 366 125 | refinedPath 366 126 | refinedPath 371 127 | refinedPath 371 128 | refinedPath 366 129 | refinedPath 371 130 | refinedPath 377 131 | refinedPath 377 132 | refinedPath 377 133 | refinedPath 368 134 | refinedPath 372 135 | refinedPath 372 136 | refinedPath 368 137 | refinedPath 372 138 | refinedPath 368 139 | refinedPath 372 140 | refinedPath 372 141 | refinedPath 372 142 | refinedPath 363 143 | refinedPath 359 144 | refinedPath 359 145 | refinedPath 350 146 | refinedPath 335 147 | refinedPath 320 148 | refinedPath 301 149 | refinedPath 463 150 | refinedPath 435 151 | refinedPath 414 152 | refinedPath 399 153 | refinedPath 384 154 | refinedPath 376 155 | refinedPath 355 156 | refinedPath 347 157 | refinedPath 330 158 | refinedPath 319 159 | refinedPath 530 160 | refinedPath 528 161 | refinedPath 511 162 | refinedPath 511 163 | refinedPath 509 164 | refinedPath 494 165 | refinedPath 492 166 | refinedPath 481 167 | refinedPath 476 168 | refinedPath 621 169 | refinedPath 557 170 | refinedPath 544 171 | refinedPath 539 172 | refinedPath 541 173 | refinedPath 545 174 | refinedPath 536 175 | refinedPath 550 176 | refinedPath 537 177 | refinedPath 523 178 | -------------------------------------------------------------------------------- /6. Multi-agent A*/pub_obst.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import random 4 | import rospy 5 | from geometry_msgs.msg import PoseStamped 6 | 7 | ''' 8 | This publishes a simulated centre point of obstacle PoseStamped every 10 seconds. 9 | The point is redefined randomly at certain frequancy. 10 | ''' 11 | 12 | class pub_obst(): 13 | 14 | def __init__(self): 15 | UAV1_Pub = rospy.Publisher('/UAV_2/pose', PoseStamped, queue_size=10) 16 | UGV1_Pub = rospy.Publisher('/UAV_3/pose', PoseStamped, queue_size=10) 17 | person1_Pub = rospy.Publisher('/UAV_4/pose', PoseStamped, queue_size=10) 18 | rospy.Subscriber("/UAV_2/pose", PoseStamped, self.callback_UAV_2) 19 | rospy.Subscriber("/UAV_3/pose", PoseStamped, self.callback_UAV_3) 20 | rospy.Subscriber("/UAV_4/pose", PoseStamped, self.callback_UAV_4) 21 | rospy.init_node('obst_pub', anonymous=True) 22 | 23 | rate = rospy.Rate(1) 24 | 25 | self.UAV1 = PoseStamped() 26 | self.UAV1.header.frame_id = "path_planner" 27 | self.UAV1.header.stamp = rospy.get_rostime() 28 | 29 | self.UAV1.pose.position.x = 2.0 30 | self.UAV1.pose.position.y = 2.0 31 | self.UAV1.pose.position.z = 1.0 32 | self.UAV1.pose.orientation.w = 1.0 33 | 34 | 35 | self.UGV1 = PoseStamped() 36 | self.UGV1.header.frame_id = "path_planner" 37 | self.UGV1.header.stamp = rospy.get_rostime() 38 | 39 | self.UGV1.pose.position.x = 2.0 40 | self.UGV1.pose.position.y = 2.0 41 | self.UGV1.pose.position.z = 1.0 42 | self.UGV1.pose.orientation.w = 1.0 43 | 44 | self.person1 = PoseStamped() 45 | self.person1.header.frame_id = "path_planner" 46 | self.person1.header.stamp = rospy.get_rostime() 47 | 48 | self.person1.pose.position.x = 2.0 49 | self.person1.pose.position.y = 2.0 50 | self.person1.pose.position.z = 1.0 51 | self.person1.pose.orientation.w = 1.0 52 | 53 | # a counter so the location changes 54 | self.counterMax = 4; # waiting time = counterMax*rospy.Rate 55 | self.counter = self.counterMax; 56 | 57 | while not rospy.is_shutdown(): 58 | self.counter = self.counter + 1; 59 | if (self.counter > self.counterMax): 60 | 61 | self.counter = 0 62 | UAV1_Pub.publish(self.UAV1) 63 | self.UAV1.pose.position.x = random.uniform(0.25, 3.75) 64 | self.UAV1.pose.position.y = random.uniform(0.25, 3.75) 65 | self.UAV1.pose.position.z = random.uniform(1.0, 2.5) 66 | 67 | UGV1_Pub.publish(self.UGV1) 68 | self.UGV1.pose.position.x = random.uniform(1.5, 3.5) 69 | self.UGV1.pose.position.y = random.uniform(1.5, 3.5) 70 | self.UGV1.pose.position.z = random.uniform(1.9, 2.1) 71 | 72 | person1_Pub.publish(self.person1) 73 | self.person1.pose.position.x = random.uniform(2.0, 3.0) 74 | self.person1.pose.position.y = random.uniform(2.0, 3.0) 75 | self.person1.pose.position.z = random.uniform(1.5, 2.0) 76 | 77 | rate.sleep() 78 | 79 | def callback_UAV_2(self, data): 80 | #lets print some information 81 | print "obst_UAV2:\t", data.pose.position.x, ", ", data.pose.position.y, ", ", data.pose.position.z 82 | print 83 | 84 | def callback_UAV_3(self, data): 85 | #lets print some information 86 | print "obst_UAV3:\t", data.pose.position.x, ", ", data.pose.position.y, ", ", data.pose.position.z 87 | print 88 | 89 | def callback_UAV_4(self, data): 90 | #lets print some information 91 | print "obst_UAV4:\t", data.pose.position.x, ", ", data.pose.position.y, ", ", data.pose.position.z 92 | print 93 | 94 | pub_obst() 95 | -------------------------------------------------------------------------------- /4. two-step/pub_obst.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import random 4 | import rospy 5 | from geometry_msgs.msg import PoseStamped 6 | 7 | ''' 8 | This publishes a simulated centre point of obstacle PoseStamped every 10 seconds. 9 | The point is redefined randomly at certain frequancy. 10 | ''' 11 | 12 | class pub_obst(): 13 | 14 | def __init__(self): 15 | UAV1_Pub = rospy.Publisher('/UAV_2/pose', PoseStamped, queue_size=10) 16 | UGV1_Pub = rospy.Publisher('/UAV_3/pose', PoseStamped, queue_size=10) 17 | person1_Pub = rospy.Publisher('/UAV_4/pose', PoseStamped, queue_size=10) 18 | rospy.Subscriber("/UAV_2/pose", PoseStamped, self.callback_UAV_2) 19 | rospy.Subscriber("/UAV_3/pose", PoseStamped, self.callback_UAV_3) 20 | rospy.Subscriber("/UAV_4/pose", PoseStamped, self.callback_UAV_4) 21 | rospy.init_node('obst_pub', anonymous=True) 22 | 23 | rate = rospy.Rate(1) 24 | 25 | self.UAV1 = PoseStamped() 26 | self.UAV1.header.frame_id = "path_planner" 27 | self.UAV1.header.stamp = rospy.get_rostime() 28 | 29 | self.UAV1.pose.position.x = 2.0 30 | self.UAV1.pose.position.y = 2.0 31 | self.UAV1.pose.position.z = 1.0 32 | self.UAV1.pose.orientation.w = 1.0 33 | 34 | 35 | self.UGV1 = PoseStamped() 36 | self.UGV1.header.frame_id = "path_planner" 37 | self.UGV1.header.stamp = rospy.get_rostime() 38 | 39 | self.UGV1.pose.position.x = 2.0 40 | self.UGV1.pose.position.y = 2.0 41 | self.UGV1.pose.position.z = 1.0 42 | self.UGV1.pose.orientation.w = 1.0 43 | 44 | self.person1 = PoseStamped() 45 | self.person1.header.frame_id = "path_planner" 46 | self.person1.header.stamp = rospy.get_rostime() 47 | 48 | self.person1.pose.position.x = 2.0 49 | self.person1.pose.position.y = 2.0 50 | self.person1.pose.position.z = 1.0 51 | self.person1.pose.orientation.w = 1.0 52 | 53 | # a counter so the location changes 54 | self.counterMax = 4; # waiting time = counterMax*rospy.Rate 55 | self.counter = self.counterMax; 56 | 57 | while not rospy.is_shutdown(): 58 | self.counter = self.counter + 1; 59 | if (self.counter > self.counterMax): 60 | 61 | self.counter = 0 62 | UAV1_Pub.publish(self.UAV1) 63 | self.UAV1.pose.position.x = random.uniform(0.25, 3.75) 64 | self.UAV1.pose.position.y = random.uniform(0.25, 3.75) 65 | self.UAV1.pose.position.z = random.uniform(1.0, 2.5) 66 | 67 | UGV1_Pub.publish(self.UGV1) 68 | self.UGV1.pose.position.x = random.uniform(1.5, 3.5) 69 | self.UGV1.pose.position.y = random.uniform(1.5, 3.5) 70 | self.UGV1.pose.position.z = random.uniform(1.9, 2.1) 71 | 72 | person1_Pub.publish(self.person1) 73 | self.person1.pose.position.x = 2 # random.uniform(2.0, 3.0) 74 | self.person1.pose.position.y = 2 # random.uniform(2.0, 3.0) 75 | self.person1.pose.position.z = 2 # random.uniform(1.5, 2.0) 76 | 77 | rate.sleep() 78 | 79 | def callback_UAV_2(self, data): 80 | #lets print some information 81 | print "obst_UAV2:\t", data.pose.position.x, ", ", data.pose.position.y, ", ", data.pose.position.z 82 | print 83 | 84 | def callback_UAV_3(self, data): 85 | #lets print some information 86 | print "obst_UAV3:\t", data.pose.position.x, ", ", data.pose.position.y, ", ", data.pose.position.z 87 | print 88 | 89 | def callback_UAV_4(self, data): 90 | #lets print some information 91 | print "obst_UAV4:\t", data.pose.position.x, ", ", data.pose.position.y, ", ", data.pose.position.z 92 | print 93 | 94 | pub_obst() 95 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:40_UAV1_heapPerc: -------------------------------------------------------------------------------- 1 | roughPath 229 2 | refinedPath 526 3 | refinedPath 535 4 | refinedPath 537 5 | refinedPath 538 6 | refinedPath 549 7 | refinedPath 554 8 | refinedPath 544 9 | refinedPath 534 10 | refinedPath 522 11 | refinedPath 510 12 | refinedPath 500 13 | refinedPath 479 14 | refinedPath 464 15 | refinedPath 449 16 | refinedPath 434 17 | refinedPath 425 18 | refinedPath 410 19 | refinedPath 404 20 | refinedPath 383 21 | refinedPath 377 22 | refinedPath 371 23 | refinedPath 356 24 | refinedPath 350 25 | refinedPath 344 26 | refinedPath 329 27 | refinedPath 319 28 | refinedPath 306 29 | refinedPath 297 30 | refinedPath 288 31 | refinedPath 284 32 | refinedPath 275 33 | refinedPath 262 34 | refinedPath 361 35 | refinedPath 357 36 | refinedPath 348 37 | refinedPath 335 38 | refinedPath 330 39 | refinedPath 321 40 | refinedPath 316 41 | refinedPath 316 42 | refinedPath 311 43 | refinedPath 306 44 | refinedPath 297 45 | refinedPath 301 46 | refinedPath 292 47 | refinedPath 298 48 | refinedPath 289 49 | refinedPath 295 50 | refinedPath 292 51 | refinedPath 289 52 | refinedPath 280 53 | refinedPath 277 54 | refinedPath 268 55 | refinedPath 268 56 | refinedPath 259 57 | refinedPath 358 58 | refinedPath 364 59 | refinedPath 364 60 | refinedPath 355 61 | refinedPath 365 62 | refinedPath 365 63 | refinedPath 356 64 | refinedPath 362 65 | refinedPath 357 66 | refinedPath 348 67 | refinedPath 339 68 | refinedPath 345 69 | refinedPath 332 70 | refinedPath 323 71 | refinedPath 314 72 | refinedPath 305 73 | refinedPath 305 74 | refinedPath 296 75 | refinedPath 293 76 | refinedPath 389 77 | refinedPath 389 78 | refinedPath 370 79 | refinedPath 361 80 | refinedPath 361 81 | refinedPath 365 82 | refinedPath 365 83 | refinedPath 359 84 | refinedPath 363 85 | refinedPath 367 86 | refinedPath 356 87 | refinedPath 360 88 | refinedPath 351 89 | refinedPath 350 90 | refinedPath 345 91 | refinedPath 330 92 | refinedPath 334 93 | refinedPath 325 94 | refinedPath 310 95 | refinedPath 305 96 | refinedPath 578 97 | refinedPath 573 98 | refinedPath 567 99 | refinedPath 552 100 | refinedPath 546 101 | refinedPath 527 102 | refinedPath 517 103 | refinedPath 507 104 | refinedPath 478 105 | refinedPath 459 106 | refinedPath 449 107 | refinedPath 424 108 | refinedPath 405 109 | refinedPath 390 110 | refinedPath 374 111 | refinedPath 467 112 | refinedPath 454 113 | refinedPath 439 114 | refinedPath 430 115 | refinedPath 424 116 | refinedPath 411 117 | refinedPath 402 118 | refinedPath 383 119 | refinedPath 374 120 | refinedPath 374 121 | refinedPath 369 122 | refinedPath 354 123 | refinedPath 349 124 | refinedPath 331 125 | refinedPath 322 126 | refinedPath 322 127 | refinedPath 307 128 | refinedPath 298 129 | refinedPath 298 130 | refinedPath 295 131 | refinedPath 286 132 | refinedPath 283 133 | refinedPath 270 134 | refinedPath 271 135 | refinedPath 268 136 | refinedPath 259 137 | refinedPath 256 138 | refinedPath 247 139 | refinedPath 238 140 | refinedPath 238 141 | refinedPath 225 142 | refinedPath 216 143 | refinedPath 207 144 | refinedPath 188 145 | refinedPath 179 146 | refinedPath 161 147 | refinedPath 146 148 | refinedPath 137 149 | refinedPath 132 150 | refinedPath 117 151 | refinedPath 117 152 | refinedPath 108 153 | refinedPath 93 154 | refinedPath 84 155 | refinedPath 75 156 | refinedPath 60 157 | refinedPath 45 158 | refinedPath 41 159 | refinedPath 26 160 | refinedPath 26 161 | refinedPath 26 162 | refinedPath 26 163 | refinedPath 26 164 | refinedPath 26 165 | refinedPath 26 166 | refinedPath 26 167 | refinedPath 26 168 | refinedPath 26 169 | refinedPath 26 170 | refinedPath 26 171 | refinedPath 41 172 | refinedPath 41 173 | refinedPath 60 174 | refinedPath 69 175 | refinedPath 87 176 | refinedPath 110 177 | refinedPath 150 178 | refinedPath 181 179 | refinedPath 219 180 | refinedPath 251 181 | refinedPath 297 182 | refinedPath 339 183 | refinedPath 385 184 | refinedPath 416 185 | refinedPath 452 186 | refinedPath 488 187 | refinedPath 515 188 | refinedPath 555 189 | refinedPath 618 190 | refinedPath 709 191 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:30_UAV1_pathL: -------------------------------------------------------------------------------- 1 | roughPath 4.70692454172 2 | refinedPath 0.668187117166 3 | refinedPath 0.668187117166 4 | refinedPath 0.668187117166 5 | refinedPath 0.668187117166 6 | refinedPath 0.668187117166 7 | refinedPath 0.668187117166 8 | refinedPath 0.668187117166 9 | refinedPath 0.668187117166 10 | refinedPath 0.668187117166 11 | refinedPath 0.668187117166 12 | refinedPath 0.668187117166 13 | refinedPath 0.668187117166 14 | refinedPath 0.668187117166 15 | refinedPath 0.668187117166 16 | refinedPath 0.668187117166 17 | refinedPath 0.668187117166 18 | refinedPath 0.668187117166 19 | refinedPath 0.668187117166 20 | refinedPath 0.668187117166 21 | refinedPath 0.668187117166 22 | refinedPath 0.668187117166 23 | refinedPath 0.668187117166 24 | refinedPath 0.668187117166 25 | refinedPath 0.668187117166 26 | refinedPath 0.668187117166 27 | refinedPath 0.668187117166 28 | refinedPath 0.668187117166 29 | refinedPath 0.668187117166 30 | refinedPath 0.668187117166 31 | refinedPath 0.668187117166 32 | refinedPath 0.668187117166 33 | refinedPath 0.668187117166 34 | refinedPath 0.668187117166 35 | refinedPath 0.668187117166 36 | refinedPath 0.668187117166 37 | refinedPath 0.668187117166 38 | refinedPath 0.668187117166 39 | refinedPath 0.668187117166 40 | refinedPath 0.668187117166 41 | refinedPath 0.668187117166 42 | refinedPath 0.668187117166 43 | refinedPath 0.668187117166 44 | refinedPath 0.668187117166 45 | refinedPath 0.668187117166 46 | refinedPath 0.668187117166 47 | refinedPath 0.668187117166 48 | refinedPath 0.668187117166 49 | refinedPath 0.682828133317 50 | refinedPath 0.668187117166 51 | refinedPath 0.668187117166 52 | refinedPath 0.668187117166 53 | refinedPath 0.668187117166 54 | refinedPath 0.668187117166 55 | refinedPath 0.668187117166 56 | refinedPath 0.668187117166 57 | refinedPath 0.668187117166 58 | refinedPath 0.668187117166 59 | refinedPath 0.668187117166 60 | refinedPath 0.668187117166 61 | refinedPath 0.668187117166 62 | refinedPath 0.668187117166 63 | refinedPath 0.668187117166 64 | refinedPath 0.668187117166 65 | refinedPath 0.682828133317 66 | refinedPath 0.668187117166 67 | refinedPath 0.668187117166 68 | refinedPath 0.668187117166 69 | refinedPath 0.668187117166 70 | refinedPath 0.668187117166 71 | refinedPath 0.668187117166 72 | refinedPath 0.668187117166 73 | refinedPath 0.668187117166 74 | refinedPath 0.668187117166 75 | refinedPath 0.668187117166 76 | refinedPath 0.668187117166 77 | refinedPath 0.668187117166 78 | refinedPath 0.668187117166 79 | refinedPath 0.668187117166 80 | refinedPath 0.682828133317 81 | refinedPath 0.668187117166 82 | refinedPath 0.668187117166 83 | refinedPath 0.668187117166 84 | refinedPath 0.668187117166 85 | refinedPath 0.668187117166 86 | refinedPath 0.668187117166 87 | refinedPath 0.668187117166 88 | refinedPath 0.668187117166 89 | refinedPath 0.668187117166 90 | refinedPath 0.668187117166 91 | refinedPath 0.668187117166 92 | refinedPath 0.668187117166 93 | refinedPath 0.676471388414 94 | refinedPath 0.682828133317 95 | refinedPath 0.668187117166 96 | refinedPath 0.682828133317 97 | refinedPath 0.676471388414 98 | refinedPath 0.682828133317 99 | refinedPath 0.682828133317 100 | refinedPath 0.682828133317 101 | refinedPath 0.682828133317 102 | refinedPath 0.682828133317 103 | refinedPath 0.676471388414 104 | refinedPath 0.682828133317 105 | refinedPath 0.682828133317 106 | refinedPath 0.682828133317 107 | refinedPath 0.676471388414 108 | refinedPath 0.682828133317 109 | refinedPath 0.682828133317 110 | refinedPath 0.67454386207 111 | refinedPath 0.648187117166 112 | refinedPath 0.65454386207 113 | refinedPath 0.65454386207 114 | refinedPath 0.65454386207 115 | refinedPath 0.626259590823 116 | refinedPath 0.626259590823 117 | refinedPath 0.606259590823 118 | refinedPath 0.571618574671 119 | refinedPath 0.871029829641 120 | refinedPath 0.822745558393 121 | refinedPath 0.772533760802 122 | refinedPath 0.730606234459 123 | refinedPath 0.688678708115 124 | refinedPath 0.664823655428 125 | refinedPath 0.649252873988 126 | refinedPath 0.633682092549 127 | refinedPath 0.618111311109 128 | refinedPath 1.01823272349 129 | refinedPath 1.02458946839 130 | refinedPath 1.07823272349 131 | refinedPath 1.10359170733 132 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/multi302/08-25 19:20_UAV2_heapPerc: -------------------------------------------------------------------------------- 1 | roughPath 473 2 | refinedPath 156 3 | refinedPath 156 4 | refinedPath 149 5 | refinedPath 140 6 | refinedPath 140 7 | refinedPath 140 8 | refinedPath 138 9 | refinedPath 138 10 | refinedPath 138 11 | refinedPath 138 12 | refinedPath 134 13 | refinedPath 130 14 | refinedPath 142 15 | refinedPath 138 16 | refinedPath 138 17 | refinedPath 137 18 | refinedPath 137 19 | refinedPath 150 20 | refinedPath 156 21 | refinedPath 156 22 | refinedPath 153 23 | refinedPath 153 24 | refinedPath 149 25 | refinedPath 149 26 | refinedPath 144 27 | refinedPath 147 28 | refinedPath 138 29 | refinedPath 132 30 | refinedPath 228 31 | refinedPath 228 32 | refinedPath 224 33 | refinedPath 228 34 | refinedPath 232 35 | refinedPath 230 36 | refinedPath 234 37 | refinedPath 232 38 | refinedPath 226 39 | refinedPath 215 40 | refinedPath 213 41 | refinedPath 206 42 | refinedPath 208 43 | refinedPath 201 44 | refinedPath 203 45 | refinedPath 204 46 | refinedPath 273 47 | roughPath 218 48 | refinedPath 165 49 | refinedPath 165 50 | refinedPath 183 51 | refinedPath 198 52 | refinedPath 213 53 | refinedPath 232 54 | refinedPath 256 55 | refinedPath 275 56 | refinedPath 284 57 | refinedPath 318 58 | refinedPath 333 59 | refinedPath 358 60 | refinedPath 377 61 | refinedPath 396 62 | refinedPath 430 63 | refinedPath 458 64 | refinedPath 483 65 | refinedPath 493 66 | refinedPath 499 67 | refinedPath 505 68 | refinedPath 505 69 | refinedPath 505 70 | refinedPath 505 71 | refinedPath 505 72 | refinedPath 505 73 | refinedPath 505 74 | refinedPath 505 75 | refinedPath 505 76 | refinedPath 505 77 | refinedPath 505 78 | refinedPath 505 79 | refinedPath 505 80 | refinedPath 505 81 | refinedPath 505 82 | refinedPath 505 83 | refinedPath 505 84 | refinedPath 505 85 | refinedPath 505 86 | refinedPath 505 87 | refinedPath 505 88 | refinedPath 505 89 | refinedPath 505 90 | refinedPath 505 91 | refinedPath 505 92 | refinedPath 505 93 | refinedPath 505 94 | refinedPath 505 95 | refinedPath 505 96 | refinedPath 505 97 | refinedPath 505 98 | refinedPath 505 99 | refinedPath 505 100 | refinedPath 505 101 | refinedPath 505 102 | refinedPath 505 103 | refinedPath 505 104 | refinedPath 505 105 | refinedPath 505 106 | refinedPath 505 107 | refinedPath 505 108 | refinedPath 505 109 | refinedPath 505 110 | refinedPath 505 111 | refinedPath 505 112 | refinedPath 505 113 | refinedPath 505 114 | refinedPath 505 115 | refinedPath 505 116 | refinedPath 505 117 | refinedPath 505 118 | refinedPath 505 119 | refinedPath 505 120 | refinedPath 505 121 | refinedPath 505 122 | refinedPath 505 123 | refinedPath 505 124 | refinedPath 505 125 | refinedPath 505 126 | refinedPath 505 127 | refinedPath 505 128 | refinedPath 505 129 | refinedPath 505 130 | refinedPath 505 131 | refinedPath 505 132 | refinedPath 505 133 | refinedPath 505 134 | refinedPath 505 135 | refinedPath 505 136 | refinedPath 505 137 | refinedPath 505 138 | refinedPath 505 139 | refinedPath 505 140 | refinedPath 505 141 | refinedPath 505 142 | refinedPath 505 143 | refinedPath 505 144 | refinedPath 505 145 | refinedPath 505 146 | refinedPath 505 147 | refinedPath 505 148 | refinedPath 505 149 | refinedPath 505 150 | refinedPath 505 151 | refinedPath 505 152 | refinedPath 505 153 | refinedPath 505 154 | refinedPath 505 155 | refinedPath 505 156 | refinedPath 505 157 | refinedPath 505 158 | refinedPath 505 159 | refinedPath 505 160 | refinedPath 505 161 | refinedPath 505 162 | refinedPath 505 163 | refinedPath 505 164 | refinedPath 505 165 | refinedPath 505 166 | refinedPath 505 167 | refinedPath 505 168 | refinedPath 505 169 | refinedPath 505 170 | refinedPath 505 171 | refinedPath 505 172 | refinedPath 505 173 | refinedPath 505 174 | refinedPath 505 175 | refinedPath 505 176 | refinedPath 505 177 | refinedPath 505 178 | refinedPath 505 179 | refinedPath 505 180 | refinedPath 505 181 | refinedPath 505 182 | refinedPath 505 183 | refinedPath 505 184 | refinedPath 505 185 | refinedPath 505 186 | refinedPath 505 187 | refinedPath 505 188 | refinedPath 505 189 | refinedPath 505 190 | refinedPath 505 191 | refinedPath 505 192 | refinedPath 505 193 | refinedPath 505 194 | refinedPath 505 195 | refinedPath 505 196 | refinedPath 505 197 | refinedPath 505 198 | refinedPath 505 199 | refinedPath 505 200 | refinedPath 505 201 | refinedPath 505 202 | refinedPath 505 203 | refinedPath 505 204 | refinedPath 505 205 | refinedPath 505 206 | refinedPath 505 207 | refinedPath 505 208 | refinedPath 505 209 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes50/08-25 18:30_UAV1_execT: -------------------------------------------------------------------------------- 1 | roughPath 0.00691509246826 2 | refinedPath 0.00346899032593 3 | refinedPath 0.007080078125 4 | refinedPath 0.0042769908905 5 | refinedPath 0.00401091575623 6 | refinedPath 0.00379991531372 7 | refinedPath 0.00396919250488 8 | refinedPath 0.0042519569397 9 | refinedPath 0.00425386428833 10 | refinedPath 0.00417613983154 11 | refinedPath 0.00759315490723 12 | refinedPath 0.0075409412384 13 | refinedPath 0.00492596626282 14 | refinedPath 0.00694990158081 15 | refinedPath 0.0053379535675 16 | refinedPath 0.00602793693542 17 | refinedPath 0.00488996505737 18 | refinedPath 0.00804018974304 19 | refinedPath 0.00433993339539 20 | refinedPath 0.00646805763245 21 | refinedPath 0.00496077537537 22 | refinedPath 0.00701689720154 23 | refinedPath 0.00773811340332 24 | refinedPath 0.00353789329529 25 | refinedPath 0.0036768913269 26 | refinedPath 0.0048360824585 27 | refinedPath 0.00447487831116 28 | refinedPath 0.00399494171143 29 | refinedPath 0.00580596923828 30 | refinedPath 0.00724101066589 31 | refinedPath 0.00568509101868 32 | refinedPath 0.00405120849609 33 | refinedPath 0.00435900688171 34 | refinedPath 0.00574088096619 35 | refinedPath 0.00783920288086 36 | refinedPath 0.00436902046204 37 | refinedPath 0.00738310813904 38 | refinedPath 0.00665307044983 39 | refinedPath 0.00645804405212 40 | refinedPath 0.00609993934631 41 | refinedPath 0.00546884536743 42 | refinedPath 0.00388884544373 43 | refinedPath 0.00542116165161 44 | refinedPath 0.00363421440125 45 | refinedPath 0.00719094276428 46 | refinedPath 0.00642991065979 47 | refinedPath 0.00506210327148 48 | refinedPath 0.00752401351929 49 | refinedPath 0.00685095787048 50 | refinedPath 0.00700998306274 51 | refinedPath 0.0071280002594 52 | refinedPath 0.00672507286072 53 | refinedPath 0.00554084777832 54 | refinedPath 0.00753808021545 55 | refinedPath 0.00563502311707 56 | refinedPath 0.00290894508362 57 | refinedPath 0.0044538974762 58 | refinedPath 0.00488305091858 59 | refinedPath 0.00684404373169 60 | refinedPath 0.00408983230591 61 | refinedPath 0.00741100311279 62 | refinedPath 0.00791001319885 63 | refinedPath 0.00546979904175 64 | refinedPath 0.00389385223389 65 | refinedPath 0.00727701187134 66 | refinedPath 0.00614786148071 67 | refinedPath 0.00450205802917 68 | refinedPath 0.00540709495544 69 | refinedPath 0.00712490081787 70 | refinedPath 0.00410294532776 71 | refinedPath 0.00363397598267 72 | refinedPath 0.00387811660767 73 | refinedPath 0.00436806678772 74 | refinedPath 0.0067880153656 75 | refinedPath 0.00711894035339 76 | refinedPath 0.0065450668335 77 | refinedPath 0.00521492958069 78 | refinedPath 0.00638103485107 79 | refinedPath 0.00661516189575 80 | refinedPath 0.00390911102295 81 | refinedPath 0.0042769908905 82 | refinedPath 0.00435400009155 83 | refinedPath 0.00682997703552 84 | refinedPath 0.00428700447083 85 | refinedPath 0.00443506240845 86 | refinedPath 0.00801587104797 87 | refinedPath 0.00453805923462 88 | refinedPath 0.00692105293274 89 | refinedPath 0.00344800949097 90 | refinedPath 0.00413990020752 91 | refinedPath 0.00438404083252 92 | refinedPath 0.00751304626465 93 | refinedPath 0.00647807121277 94 | refinedPath 0.00662612915039 95 | refinedPath 0.0069420337677 96 | refinedPath 0.00539898872375 97 | refinedPath 0.00559997558594 98 | refinedPath 0.00445604324341 99 | refinedPath 0.00425100326538 100 | refinedPath 0.00741910934448 101 | refinedPath 0.00592303276062 102 | refinedPath 0.00649809837341 103 | refinedPath 0.00614190101624 104 | refinedPath 0.00405883789062 105 | refinedPath 0.00495886802673 106 | refinedPath 0.00322699546814 107 | refinedPath 0.0069100856781 108 | refinedPath 0.00686502456665 109 | refinedPath 0.00505304336548 110 | refinedPath 0.00666499137878 111 | refinedPath 0.00303792953491 112 | refinedPath 0.00461196899414 113 | refinedPath 0.00445413589478 114 | refinedPath 0.00675797462463 115 | refinedPath 0.00596308708191 116 | refinedPath 0.00758981704712 117 | refinedPath 0.00603199005127 118 | refinedPath 0.00393199920654 119 | refinedPath 0.00534510612488 120 | refinedPath 0.00477290153503 121 | refinedPath 0.00680708885193 122 | refinedPath 0.00527787208557 123 | refinedPath 0.00566387176514 124 | refinedPath 0.00410509109497 125 | refinedPath 0.00623488426208 126 | refinedPath 0.00442981719971 127 | refinedPath 0.00424599647522 128 | refinedPath 0.0051109790802 129 | refinedPath 0.00635504722595 130 | refinedPath 0.00956392288208 131 | refinedPath 0.00804901123047 132 | refinedPath 0.00266909599304 133 | -------------------------------------------------------------------------------- /2. cubic_obst/visualization.py: -------------------------------------------------------------------------------- 1 | import rospy 2 | from visualization_msgs.msg import Marker 3 | from geometry_msgs.msg import PointStamped, Point 4 | import init 5 | 6 | def setPathMarkers(finalTrajectory, came_from): 7 | (sourcePoint, goalPoint, neighbourPoint, finalPath) = init.initPathMarkers() 8 | 9 | # neighbourPoint 10 | searchedPoints = [] 11 | for key in came_from: 12 | searchedPoints.append(came_from[key]) 13 | searchedPoints.remove(None) 14 | 15 | for i in range(len(searchedPoints)): 16 | tempPoint = Point() 17 | tempPoint.x = searchedPoints[i][0] 18 | tempPoint.y = searchedPoints[i][1] 19 | tempPoint.z = searchedPoints[i][2] 20 | neighbourPoint.points.append(tempPoint) 21 | 22 | # finalPath 23 | for i in range(3, len(finalTrajectory)): 24 | tempPoint = Point() 25 | tempPoint.x = finalTrajectory[i][0] 26 | tempPoint.y = finalTrajectory[i][1] 27 | tempPoint.z = finalTrajectory[i][2] 28 | finalPath.points.append(tempPoint) 29 | 30 | # sourcePoint 31 | tempPoint = Point() 32 | tempPoint.x = finalTrajectory[0][0] 33 | tempPoint.y = finalTrajectory[0][1] 34 | tempPoint.z = finalTrajectory[0][2] 35 | sourcePoint.points.append(tempPoint) 36 | sourcePoint.pose.position.x = finalTrajectory[0][0] 37 | sourcePoint.pose.position.y = finalTrajectory[0][1] 38 | sourcePoint.pose.position.z = finalTrajectory[0][2] 39 | 40 | # goalPoint 41 | tempPoint = Point() 42 | tempPoint.x = finalTrajectory[len(finalTrajectory)-1][0] 43 | tempPoint.y = finalTrajectory[len(finalTrajectory)-1][1] 44 | tempPoint.z = finalTrajectory[len(finalTrajectory)-1][2] 45 | goalPoint.points.append(tempPoint) 46 | goalPoint.pose.position.x = finalTrajectory[len(finalTrajectory)-1][0] 47 | goalPoint.pose.position.y = finalTrajectory[len(finalTrajectory)-1][1] 48 | goalPoint.pose.position.z = finalTrajectory[len(finalTrajectory)-1][2] 49 | 50 | return (sourcePoint, goalPoint, neighbourPoint, finalPath) 51 | 52 | 53 | def setBoundary(length_of_map, width_of_map, height_of_map): 54 | boundary= init.initBoundMarker() 55 | 56 | # first point 57 | tempPoint = Point() 58 | tempPoint.x = 0 59 | tempPoint.y = 0 60 | tempPoint.z = 0 61 | boundary.points.append(tempPoint) 62 | 63 | # second point 64 | tempPoint = Point() 65 | tempPoint.x = length_of_map 66 | tempPoint.y = 0 67 | tempPoint.z = 0 68 | boundary.points.append(tempPoint) 69 | 70 | # third point 71 | tempPoint = Point() 72 | tempPoint.x = length_of_map 73 | tempPoint.y = width_of_map 74 | tempPoint.z = 0 75 | boundary.points.append(tempPoint) 76 | 77 | # fourth point 78 | tempPoint = Point() 79 | tempPoint.x = 0 80 | tempPoint.y = width_of_map 81 | tempPoint.z = 0 82 | boundary.points.append(tempPoint) 83 | 84 | # first point again to complete the box 85 | tempPoint = Point() 86 | tempPoint.x = 0 87 | tempPoint.y = 0 88 | tempPoint.z = 0 89 | boundary.points.append(tempPoint) 90 | 91 | # first point on the top 92 | tempPoint = Point() 93 | tempPoint.x = 0 94 | tempPoint.y = 0 95 | tempPoint.z = height_of_map 96 | boundary.points.append(tempPoint) 97 | 98 | # second point 99 | tempPoint = Point() 100 | tempPoint.x = length_of_map 101 | tempPoint.y = 0 102 | tempPoint.z = height_of_map 103 | boundary.points.append(tempPoint) 104 | 105 | # third point 106 | tempPoint = Point() 107 | tempPoint.x = length_of_map 108 | tempPoint.y = width_of_map 109 | tempPoint.z = height_of_map 110 | boundary.points.append(tempPoint) 111 | 112 | # fourth point 113 | tempPoint = Point() 114 | tempPoint.x = 0 115 | tempPoint.y = width_of_map 116 | tempPoint.z = height_of_map 117 | boundary.points.append(tempPoint) 118 | 119 | # first point again to complete the box 120 | tempPoint = Point() 121 | tempPoint.x = 0 122 | tempPoint.y = 0 123 | tempPoint.z = height_of_map 124 | boundary.points.append(tempPoint) 125 | 126 | return boundary 127 | 128 | 129 | def setObstacle(walls): 130 | obstacle = init.initObstMarker() 131 | for point in walls: 132 | tempPoint = Point() 133 | tempPoint.x = point[0] 134 | tempPoint.y = point[1] 135 | tempPoint.z = point[2] 136 | obstacle.points.append(tempPoint) 137 | return obstacle 138 | -------------------------------------------------------------------------------- /1. orig/visualization.py: -------------------------------------------------------------------------------- 1 | import rospy 2 | from visualization_msgs.msg import Marker 3 | from geometry_msgs.msg import PointStamped, Point 4 | import initialization 5 | 6 | def setPathMarkers(finalTrajectory, came_from): 7 | (sourcePoint, goalPoint, neighbourPoint, finalPath) = initialization.initPathMarkers() 8 | 9 | # neighbourPoint 10 | searchedPoints = [] 11 | for key in came_from: 12 | searchedPoints.append(came_from[key]) 13 | searchedPoints.remove(None) 14 | 15 | for i in range(len(searchedPoints)): 16 | tempPoint = Point() 17 | tempPoint.x = searchedPoints[i][0] 18 | tempPoint.y = searchedPoints[i][1] 19 | tempPoint.z = searchedPoints[i][2] 20 | neighbourPoint.points.append(tempPoint) 21 | 22 | # finalPath 23 | for i in range(len(finalTrajectory)): 24 | tempPoint = Point() 25 | tempPoint.x = finalTrajectory[i][0] 26 | tempPoint.y = finalTrajectory[i][1] 27 | tempPoint.z = finalTrajectory[i][2] 28 | finalPath.points.append(tempPoint) 29 | 30 | # sourcePoint 31 | tempPoint = Point() 32 | tempPoint.x = finalTrajectory[0][0] 33 | tempPoint.y = finalTrajectory[0][1] 34 | tempPoint.z = finalTrajectory[0][2] 35 | sourcePoint.points.append(tempPoint) 36 | sourcePoint.pose.position.x = finalTrajectory[0][0] 37 | sourcePoint.pose.position.y = finalTrajectory[0][1] 38 | sourcePoint.pose.position.z = finalTrajectory[0][2] 39 | 40 | # goalPoint 41 | tempPoint = Point() 42 | tempPoint.x = finalTrajectory[len(finalTrajectory)-1][0] 43 | tempPoint.y = finalTrajectory[len(finalTrajectory)-1][1] 44 | tempPoint.z = finalTrajectory[len(finalTrajectory)-1][2] 45 | goalPoint.points.append(tempPoint) 46 | goalPoint.pose.position.x = finalTrajectory[len(finalTrajectory)-1][0] 47 | goalPoint.pose.position.y = finalTrajectory[len(finalTrajectory)-1][1] 48 | goalPoint.pose.position.z = finalTrajectory[len(finalTrajectory)-1][2] 49 | 50 | return (sourcePoint, goalPoint, neighbourPoint, finalPath) 51 | 52 | 53 | def setBoundary(length_of_map, width_of_map, height_of_map): 54 | boundary= initialization.initBoundMarker() 55 | 56 | # first point 57 | tempPoint = Point() 58 | tempPoint.x = 0 59 | tempPoint.y = 0 60 | tempPoint.z = 0 61 | boundary.points.append(tempPoint) 62 | 63 | # second point 64 | tempPoint = Point() 65 | tempPoint.x = length_of_map 66 | tempPoint.y = 0 67 | tempPoint.z = 0 68 | boundary.points.append(tempPoint) 69 | 70 | # third point 71 | tempPoint = Point() 72 | tempPoint.x = length_of_map 73 | tempPoint.y = width_of_map 74 | tempPoint.z = 0 75 | boundary.points.append(tempPoint) 76 | 77 | # fourth point 78 | tempPoint = Point() 79 | tempPoint.x = 0 80 | tempPoint.y = width_of_map 81 | tempPoint.z = 0 82 | boundary.points.append(tempPoint) 83 | 84 | # first point again to complete the box 85 | tempPoint = Point() 86 | tempPoint.x = 0 87 | tempPoint.y = 0 88 | tempPoint.z = 0 89 | boundary.points.append(tempPoint) 90 | 91 | # first point on the top 92 | tempPoint = Point() 93 | tempPoint.x = 0 94 | tempPoint.y = 0 95 | tempPoint.z = height_of_map 96 | boundary.points.append(tempPoint) 97 | 98 | # second point 99 | tempPoint = Point() 100 | tempPoint.x = length_of_map 101 | tempPoint.y = 0 102 | tempPoint.z = height_of_map 103 | boundary.points.append(tempPoint) 104 | 105 | # third point 106 | tempPoint = Point() 107 | tempPoint.x = length_of_map 108 | tempPoint.y = width_of_map 109 | tempPoint.z = height_of_map 110 | boundary.points.append(tempPoint) 111 | 112 | # fourth point 113 | tempPoint = Point() 114 | tempPoint.x = 0 115 | tempPoint.y = width_of_map 116 | tempPoint.z = height_of_map 117 | boundary.points.append(tempPoint) 118 | 119 | # first point again to complete the box 120 | tempPoint = Point() 121 | tempPoint.x = 0 122 | tempPoint.y = 0 123 | tempPoint.z = height_of_map 124 | boundary.points.append(tempPoint) 125 | 126 | return boundary 127 | 128 | 129 | def setObstacle(walls): 130 | obstacle = initialization.initObstMarker() 131 | for point in walls: 132 | tempPoint = Point() 133 | tempPoint.x = point[0] 134 | tempPoint.y = point[1] 135 | tempPoint.z = point[2] 136 | obstacle.points.append(tempPoint) 137 | return obstacle 138 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes20/08-25 14:20_UAV1_heapPerc: -------------------------------------------------------------------------------- 1 | roughPath 288 2 | refinedPath 172 3 | refinedPath 172 4 | refinedPath 172 5 | refinedPath 172 6 | refinedPath 172 7 | refinedPath 172 8 | refinedPath 172 9 | refinedPath 172 10 | refinedPath 172 11 | refinedPath 172 12 | refinedPath 172 13 | refinedPath 172 14 | refinedPath 172 15 | refinedPath 172 16 | refinedPath 172 17 | refinedPath 172 18 | refinedPath 172 19 | refinedPath 172 20 | refinedPath 172 21 | refinedPath 172 22 | refinedPath 172 23 | refinedPath 172 24 | refinedPath 172 25 | refinedPath 172 26 | refinedPath 172 27 | refinedPath 172 28 | refinedPath 172 29 | refinedPath 172 30 | roughPath 288 31 | refinedPath 172 32 | refinedPath 172 33 | refinedPath 172 34 | refinedPath 172 35 | refinedPath 172 36 | refinedPath 172 37 | refinedPath 172 38 | refinedPath 172 39 | refinedPath 172 40 | refinedPath 172 41 | refinedPath 172 42 | refinedPath 172 43 | refinedPath 172 44 | refinedPath 172 45 | refinedPath 172 46 | refinedPath 172 47 | refinedPath 172 48 | refinedPath 172 49 | refinedPath 172 50 | refinedPath 172 51 | refinedPath 172 52 | refinedPath 172 53 | refinedPath 172 54 | refinedPath 172 55 | refinedPath 172 56 | refinedPath 172 57 | refinedPath 172 58 | refinedPath 172 59 | refinedPath 172 60 | refinedPath 172 61 | refinedPath 172 62 | refinedPath 172 63 | refinedPath 172 64 | refinedPath 172 65 | refinedPath 172 66 | refinedPath 172 67 | refinedPath 172 68 | refinedPath 172 69 | refinedPath 172 70 | refinedPath 172 71 | refinedPath 172 72 | refinedPath 172 73 | refinedPath 172 74 | refinedPath 172 75 | refinedPath 163 76 | refinedPath 163 77 | refinedPath 163 78 | refinedPath 163 79 | refinedPath 163 80 | refinedPath 163 81 | refinedPath 163 82 | refinedPath 163 83 | refinedPath 163 84 | refinedPath 163 85 | refinedPath 163 86 | refinedPath 163 87 | refinedPath 163 88 | refinedPath 163 89 | refinedPath 163 90 | refinedPath 163 91 | refinedPath 148 92 | refinedPath 148 93 | refinedPath 139 94 | refinedPath 139 95 | refinedPath 199 96 | refinedPath 184 97 | refinedPath 173 98 | refinedPath 158 99 | refinedPath 143 100 | refinedPath 223 101 | refinedPath 208 102 | refinedPath 193 103 | refinedPath 174 104 | refinedPath 174 105 | refinedPath 155 106 | refinedPath 215 107 | refinedPath 205 108 | refinedPath 199 109 | refinedPath 180 110 | refinedPath 170 111 | refinedPath 151 112 | refinedPath 220 113 | refinedPath 201 114 | refinedPath 195 115 | refinedPath 182 116 | refinedPath 167 117 | refinedPath 161 118 | refinedPath 150 119 | refinedPath 150 120 | refinedPath 222 121 | refinedPath 203 122 | refinedPath 197 123 | refinedPath 182 124 | refinedPath 163 125 | refinedPath 157 126 | refinedPath 217 127 | refinedPath 202 128 | refinedPath 196 129 | refinedPath 181 130 | refinedPath 181 131 | refinedPath 166 132 | refinedPath 160 133 | refinedPath 246 134 | refinedPath 231 135 | refinedPath 231 136 | refinedPath 218 137 | refinedPath 203 138 | refinedPath 199 139 | refinedPath 190 140 | refinedPath 171 141 | refinedPath 171 142 | refinedPath 197 143 | refinedPath 191 144 | refinedPath 178 145 | refinedPath 168 146 | refinedPath 159 147 | refinedPath 146 148 | refinedPath 140 149 | refinedPath 198 150 | refinedPath 189 151 | refinedPath 180 152 | refinedPath 161 153 | refinedPath 152 154 | refinedPath 146 155 | refinedPath 137 156 | refinedPath 128 157 | refinedPath 117 158 | refinedPath 108 159 | refinedPath 104 160 | refinedPath 95 161 | refinedPath 165 162 | refinedPath 152 163 | refinedPath 191 164 | refinedPath 182 165 | refinedPath 163 166 | refinedPath 154 167 | refinedPath 154 168 | refinedPath 141 169 | refinedPath 132 170 | refinedPath 128 171 | refinedPath 113 172 | refinedPath 113 173 | refinedPath 108 174 | refinedPath 99 175 | refinedPath 99 176 | refinedPath 96 177 | refinedPath 87 178 | refinedPath 83 179 | refinedPath 74 180 | refinedPath 71 181 | refinedPath 71 182 | refinedPath 56 183 | refinedPath 41 184 | refinedPath 41 185 | refinedPath 45 186 | refinedPath 41 187 | refinedPath 41 188 | refinedPath 26 189 | refinedPath 26 190 | refinedPath 26 191 | refinedPath 26 192 | refinedPath 26 193 | refinedPath 26 194 | refinedPath 41 195 | refinedPath 41 196 | refinedPath 41 197 | refinedPath 41 198 | refinedPath 41 199 | refinedPath 26 200 | refinedPath 26 201 | refinedPath 26 202 | refinedPath 26 203 | refinedPath 26 204 | refinedPath 26 205 | refinedPath 26 206 | refinedPath 26 207 | refinedPath 26 208 | refinedPath 26 209 | refinedPath 26 210 | refinedPath 26 211 | refinedPath 26 212 | refinedPath 26 213 | refinedPath 26 214 | refinedPath 26 215 | refinedPath 26 216 | refinedPath 26 217 | refinedPath 26 218 | refinedPath 26 219 | refinedPath 26 220 | refinedPath 26 221 | refinedPath 26 222 | refinedPath 26 223 | refinedPath 26 224 | refinedPath 26 225 | refinedPath 26 226 | refinedPath 26 227 | refinedPath 26 228 | -------------------------------------------------------------------------------- /1. orig/initialization.py: -------------------------------------------------------------------------------- 1 | import rospy 2 | # from std_msgs.msg import String 3 | from visualization_msgs.msg import Marker 4 | 5 | 6 | def initPathMarkers(): 7 | 8 | # cannot write in one equation!!! 9 | sourcePoint = Marker() 10 | goalPoint = Marker() 11 | neighbourPoint = Marker() 12 | finalPath = Marker() 13 | 14 | sourcePoint.header.frame_id = 'path_planner' 15 | goalPoint.header.frame_id = 'path_planner' 16 | neighbourPoint.header.frame_id = 'path_planner' 17 | finalPath.header.frame_id = 'path_planner' 18 | 19 | sourcePoint.header.stamp = rospy.get_rostime() 20 | goalPoint.header.stamp = rospy.get_rostime() 21 | neighbourPoint.header.stamp = rospy.get_rostime() 22 | finalPath.header.stamp = rospy.get_rostime() 23 | 24 | sourcePoint.ns = "path_planner" 25 | goalPoint.ns = "path_planner" 26 | neighbourPoint.ns = "path_planner" 27 | finalPath.ns = "path_planner" 28 | 29 | sourcePoint.action = 0 # add/modify an object 30 | goalPoint.action = 0 31 | neighbourPoint.action = 0 32 | finalPath.action = 0 33 | 34 | sourcePoint.id = 0 35 | goalPoint.id = 1 36 | neighbourPoint.id = 2 37 | finalPath.id = 3 38 | 39 | # sourcePoint.text = 'sourcePoint' 40 | # goalPoint.text = 'goalPoint' 41 | # neighbourPoint.text = 'neighbourPoint' 42 | # finalPath.text = 'finalPath' 43 | 44 | sourcePoint.type = 2 # Sphere 45 | goalPoint.type = 2 46 | neighbourPoint.type = 8 # Points 47 | finalPath.type = 4 # Line Strip 48 | 49 | sourcePoint.pose.orientation.w = 1.0 50 | goalPoint.pose.orientation.w = 1.0 51 | neighbourPoint.pose.orientation.w = 1.0 52 | finalPath.pose.orientation.w = 1.0 53 | 54 | sourcePoint.pose.position.x = 0.0 55 | sourcePoint.pose.position.y = 0.0 56 | sourcePoint.pose.position.z = 0.0 57 | 58 | goalPoint.pose.position.x = 10.0 59 | goalPoint.pose.position.y = 10.0 60 | goalPoint.pose.position.z = 0.0 61 | 62 | neighbourPoint.pose.position.x = 0.0 63 | neighbourPoint.pose.position.y = 0.0 64 | neighbourPoint.pose.position.z = 0.0 65 | 66 | sourcePoint.scale.x = sourcePoint.scale.y = sourcePoint.scale.z = 1.0 67 | goalPoint.scale.x = goalPoint.scale.y = goalPoint.scale.z = 1.0 68 | neighbourPoint.scale.x = neighbourPoint.scale.y = neighbourPoint.scale.z = 0.1 69 | finalPath.scale.x = 0.5 # scale.x controls the width of the line segments 70 | 71 | sourcePoint.color.g = 1.0 72 | goalPoint.color.r = 1.0 73 | neighbourPoint.color.r = 0.8 74 | neighbourPoint.color.g = 0.4 75 | 76 | finalPath.color.r = 0.2 77 | finalPath.color.g = 0.2 78 | finalPath.color.b = 1.0 79 | 80 | sourcePoint.color.a = 1.0 81 | goalPoint.color.a = 1.0 82 | neighbourPoint.color.a = 0.5 83 | finalPath.color.a = 1.0 84 | 85 | return (sourcePoint, goalPoint, neighbourPoint, finalPath) 86 | 87 | def initBoundMarker(): 88 | boundary = Marker() 89 | 90 | boundary.header.frame_id = 'path_planner' 91 | boundary.header.stamp = rospy.get_rostime() 92 | boundary.ns = "path_planner" 93 | boundary.action = 0 # add/modify an object 94 | boundary.id = 110 95 | boundary.type = 4 # Line Strip 96 | 97 | boundary.pose.orientation.w = 1.0 98 | boundary.scale.x = 1 # scale.x controls the width of the line segments 99 | 100 | boundary.color.r = 0.0 101 | boundary.color.g = 0.0 102 | boundary.color.b = 0.0 103 | boundary.color.a = 1.0 104 | 105 | return boundary 106 | 107 | 108 | def initObstMarker(): 109 | obstacle = Marker() 110 | 111 | obstacle.header.frame_id = 'path_planner' 112 | obstacle.header.stamp = rospy.get_rostime() 113 | obstacle.ns = "path_planner" 114 | obstacle.action = 0 # add/modify an object 115 | obstacle.id = 111 116 | obstacle.type = 8 # Points 117 | 118 | obstacle.pose.orientation.w = 1.0 119 | obstacle.pose.position.x = 0.0 120 | obstacle.pose.position.y = 0.0 121 | obstacle.pose.position.z = 0.0 122 | 123 | obstacle.scale.x = obstacle.scale.y = obstacle.scale.z = 0.5 124 | 125 | obstacle.color.r = 0.0 126 | obstacle.color.g = 0.0 127 | obstacle.color.b = 0.0 128 | obstacle.color.a = 1.0 129 | 130 | return obstacle 131 | 132 | 133 | def initPublishers(): 134 | pathPub = rospy.Publisher('path_planner_rrt', Marker, queue_size=10) # rostopic name 135 | obstPub = rospy.Publisher('obst_markers', Marker, queue_size=10) 136 | pointsPub = rospy.Publisher('obst_markers', Marker, queue_size=10) 137 | return (pathPub, obstPub, pointsPub) 138 | -------------------------------------------------------------------------------- /6. Multi-agent A*/Experiment data/twoStepStaticObstRes20/08-25 14:22_UAV1_heapPerc: -------------------------------------------------------------------------------- 1 | roughPath 288 2 | refinedPath 172 3 | refinedPath 172 4 | refinedPath 172 5 | refinedPath 172 6 | refinedPath 172 7 | refinedPath 172 8 | refinedPath 172 9 | refinedPath 172 10 | refinedPath 172 11 | refinedPath 172 12 | refinedPath 172 13 | refinedPath 172 14 | refinedPath 172 15 | refinedPath 172 16 | refinedPath 172 17 | refinedPath 172 18 | refinedPath 172 19 | refinedPath 172 20 | refinedPath 172 21 | refinedPath 172 22 | refinedPath 172 23 | refinedPath 172 24 | refinedPath 172 25 | refinedPath 172 26 | refinedPath 172 27 | refinedPath 172 28 | refinedPath 172 29 | refinedPath 172 30 | refinedPath 172 31 | refinedPath 172 32 | refinedPath 172 33 | refinedPath 172 34 | refinedPath 172 35 | refinedPath 172 36 | refinedPath 172 37 | refinedPath 172 38 | refinedPath 172 39 | refinedPath 172 40 | refinedPath 172 41 | refinedPath 172 42 | refinedPath 172 43 | refinedPath 172 44 | refinedPath 172 45 | refinedPath 172 46 | refinedPath 172 47 | refinedPath 172 48 | refinedPath 172 49 | refinedPath 172 50 | refinedPath 172 51 | refinedPath 172 52 | refinedPath 172 53 | refinedPath 172 54 | refinedPath 172 55 | refinedPath 172 56 | refinedPath 172 57 | refinedPath 172 58 | refinedPath 163 59 | refinedPath 163 60 | refinedPath 163 61 | refinedPath 163 62 | refinedPath 163 63 | refinedPath 163 64 | refinedPath 163 65 | refinedPath 163 66 | refinedPath 163 67 | refinedPath 163 68 | refinedPath 163 69 | refinedPath 163 70 | refinedPath 163 71 | refinedPath 163 72 | refinedPath 163 73 | refinedPath 163 74 | refinedPath 163 75 | refinedPath 154 76 | refinedPath 148 77 | refinedPath 139 78 | refinedPath 199 79 | refinedPath 184 80 | refinedPath 178 81 | refinedPath 169 82 | refinedPath 148 83 | refinedPath 228 84 | refinedPath 228 85 | refinedPath 213 86 | refinedPath 207 87 | refinedPath 192 88 | refinedPath 173 89 | refinedPath 173 90 | refinedPath 154 91 | refinedPath 223 92 | refinedPath 204 93 | refinedPath 194 94 | refinedPath 179 95 | refinedPath 173 96 | refinedPath 154 97 | refinedPath 223 98 | refinedPath 208 99 | refinedPath 208 100 | refinedPath 193 101 | refinedPath 178 102 | refinedPath 163 103 | refinedPath 157 104 | refinedPath 237 105 | refinedPath 222 106 | refinedPath 218 107 | refinedPath 209 108 | refinedPath 190 109 | refinedPath 186 110 | refinedPath 177 111 | refinedPath 229 112 | refinedPath 223 113 | refinedPath 210 114 | refinedPath 195 115 | refinedPath 189 116 | refinedPath 170 117 | refinedPath 170 118 | refinedPath 246 119 | refinedPath 240 120 | refinedPath 231 121 | refinedPath 221 122 | refinedPath 212 123 | refinedPath 193 124 | refinedPath 180 125 | refinedPath 174 126 | refinedPath 155 127 | refinedPath 187 128 | refinedPath 183 129 | refinedPath 168 130 | refinedPath 164 131 | refinedPath 164 132 | refinedPath 155 133 | refinedPath 155 134 | refinedPath 146 135 | refinedPath 150 136 | refinedPath 141 137 | refinedPath 193 138 | refinedPath 193 139 | refinedPath 184 140 | refinedPath 178 141 | refinedPath 169 142 | refinedPath 156 143 | refinedPath 150 144 | refinedPath 141 145 | refinedPath 141 146 | refinedPath 132 147 | refinedPath 126 148 | refinedPath 117 149 | refinedPath 117 150 | refinedPath 108 151 | refinedPath 104 152 | refinedPath 95 153 | refinedPath 95 154 | refinedPath 181 155 | refinedPath 177 156 | refinedPath 168 157 | refinedPath 162 158 | refinedPath 198 159 | refinedPath 194 160 | refinedPath 194 161 | refinedPath 181 162 | refinedPath 175 163 | refinedPath 166 164 | refinedPath 160 165 | refinedPath 151 166 | refinedPath 151 167 | refinedPath 136 168 | refinedPath 127 169 | refinedPath 127 170 | refinedPath 118 171 | refinedPath 118 172 | refinedPath 109 173 | refinedPath 105 174 | refinedPath 90 175 | refinedPath 90 176 | refinedPath 81 177 | refinedPath 81 178 | refinedPath 72 179 | refinedPath 59 180 | refinedPath 59 181 | refinedPath 50 182 | refinedPath 41 183 | refinedPath 35 184 | refinedPath 26 185 | refinedPath 26 186 | refinedPath 0 187 | refinedPath 0 188 | refinedPath 26 189 | refinedPath 26 190 | refinedPath 26 191 | refinedPath 26 192 | refinedPath 26 193 | refinedPath 26 194 | refinedPath 26 195 | refinedPath 26 196 | refinedPath 0 197 | refinedPath 0 198 | refinedPath 0 199 | refinedPath 26 200 | refinedPath 26 201 | refinedPath 26 202 | refinedPath 26 203 | refinedPath 26 204 | refinedPath 26 205 | refinedPath 26 206 | refinedPath 41 207 | refinedPath 41 208 | refinedPath 41 209 | refinedPath 41 210 | refinedPath 45 211 | refinedPath 45 212 | refinedPath 45 213 | refinedPath 26 214 | refinedPath 26 215 | refinedPath 26 216 | refinedPath 26 217 | refinedPath 26 218 | refinedPath 26 219 | refinedPath 26 220 | refinedPath 26 221 | refinedPath 26 222 | refinedPath 26 223 | refinedPath 45 224 | refinedPath 59 225 | refinedPath 72 226 | refinedPath 96 227 | refinedPath 124 228 | refinedPath 143 229 | refinedPath 167 230 | refinedPath 193 231 | refinedPath 212 232 | refinedPath 236 233 | refinedPath 251 234 | refinedPath 275 235 | refinedPath 290 236 | refinedPath 308 237 | refinedPath 323 238 | refinedPath 323 239 | refinedPath 323 240 | refinedPath 323 241 | -------------------------------------------------------------------------------- /3. cylinder_obst/visualization.py: -------------------------------------------------------------------------------- 1 | import rospy 2 | from visualization_msgs.msg import Marker, MarkerArray 3 | from geometry_msgs.msg import PointStamped, Point 4 | import init 5 | 6 | def setPathMarkers(finalTrajectory, came_from): 7 | (sourcePoint, goalPoint, neighbourPoint, finalPath) = init.initPathMarkers() 8 | 9 | # neighbourPoint 10 | searchedPoints = [] 11 | for key in came_from: 12 | searchedPoints.append(came_from[key]) 13 | searchedPoints.remove(None) 14 | 15 | for i in range(len(searchedPoints)): 16 | tempPoint = Point() 17 | tempPoint.x = searchedPoints[i][0] 18 | tempPoint.y = searchedPoints[i][1] 19 | tempPoint.z = searchedPoints[i][2] 20 | neighbourPoint.points.append(tempPoint) 21 | 22 | # finalPath 23 | for i in range(len(finalTrajectory)): 24 | tempPoint = Point() 25 | tempPoint.x = finalTrajectory[i][0] 26 | tempPoint.y = finalTrajectory[i][1] 27 | tempPoint.z = finalTrajectory[i][2] 28 | finalPath.points.append(tempPoint) 29 | 30 | # sourcePoint 31 | tempPoint = Point() 32 | tempPoint.x = finalTrajectory[0][0] 33 | tempPoint.y = finalTrajectory[0][1] 34 | tempPoint.z = finalTrajectory[0][2] 35 | sourcePoint.points.append(tempPoint) 36 | sourcePoint.pose.position.x = finalTrajectory[0][0] 37 | sourcePoint.pose.position.y = finalTrajectory[0][1] 38 | sourcePoint.pose.position.z = finalTrajectory[0][2] 39 | 40 | # goalPoint 41 | tempPoint = Point() 42 | tempPoint.x = finalTrajectory[len(finalTrajectory)-1][0] 43 | tempPoint.y = finalTrajectory[len(finalTrajectory)-1][1] 44 | tempPoint.z = finalTrajectory[len(finalTrajectory)-1][2] 45 | goalPoint.points.append(tempPoint) 46 | goalPoint.pose.position.x = finalTrajectory[len(finalTrajectory)-1][0] 47 | goalPoint.pose.position.y = finalTrajectory[len(finalTrajectory)-1][1] 48 | goalPoint.pose.position.z = finalTrajectory[len(finalTrajectory)-1][2] 49 | 50 | return (sourcePoint, goalPoint, neighbourPoint, finalPath) 51 | 52 | 53 | def setBoundary(length_of_map, width_of_map, height_of_map): 54 | boundary= init.initBoundMarker() 55 | 56 | # first point 57 | tempPoint = Point() 58 | tempPoint.x = 0 59 | tempPoint.y = 0 60 | tempPoint.z = 0 61 | boundary.points.append(tempPoint) 62 | 63 | # second point 64 | tempPoint = Point() 65 | tempPoint.x = length_of_map 66 | tempPoint.y = 0 67 | tempPoint.z = 0 68 | boundary.points.append(tempPoint) 69 | 70 | # third point 71 | tempPoint = Point() 72 | tempPoint.x = length_of_map 73 | tempPoint.y = width_of_map 74 | tempPoint.z = 0 75 | boundary.points.append(tempPoint) 76 | 77 | # fourth point 78 | tempPoint = Point() 79 | tempPoint.x = 0 80 | tempPoint.y = width_of_map 81 | tempPoint.z = 0 82 | boundary.points.append(tempPoint) 83 | 84 | # first point again to complete the box 85 | tempPoint = Point() 86 | tempPoint.x = 0 87 | tempPoint.y = 0 88 | tempPoint.z = 0 89 | boundary.points.append(tempPoint) 90 | 91 | # first point on the top 92 | tempPoint = Point() 93 | tempPoint.x = 0 94 | tempPoint.y = 0 95 | tempPoint.z = height_of_map 96 | boundary.points.append(tempPoint) 97 | 98 | # second point 99 | tempPoint = Point() 100 | tempPoint.x = length_of_map 101 | tempPoint.y = 0 102 | tempPoint.z = height_of_map 103 | boundary.points.append(tempPoint) 104 | 105 | # third point 106 | tempPoint = Point() 107 | tempPoint.x = length_of_map 108 | tempPoint.y = width_of_map 109 | tempPoint.z = height_of_map 110 | boundary.points.append(tempPoint) 111 | 112 | # fourth point 113 | tempPoint = Point() 114 | tempPoint.x = 0 115 | tempPoint.y = width_of_map 116 | tempPoint.z = height_of_map 117 | boundary.points.append(tempPoint) 118 | 119 | # first point again to complete the box 120 | tempPoint = Point() 121 | tempPoint.x = 0 122 | tempPoint.y = 0 123 | tempPoint.z = height_of_map 124 | boundary.points.append(tempPoint) 125 | 126 | return boundary 127 | 128 | 129 | def setObstacle(obstArray): 130 | obstMarkerArray = MarkerArray() 131 | i = 0 132 | for item in obstArray: 133 | obstMarker = init.initObstMarker() 134 | obstMarker.scale.x = 2*item.radius 135 | obstMarker.scale.y = 2*item.radius 136 | obstMarker.scale.z = item.height 137 | obstMarker.pose.position.x = item.centre_point[0] 138 | obstMarker.pose.position.y = item.centre_point[1] 139 | if item.text == 'obst_UAV': 140 | obstMarker.pose.position.z = item.centre_point[2] 141 | elif item.text == 'obst_UGV': 142 | obstMarker.pose.position.z = item.centre_point[2] - item.height/2 143 | elif item.text == 'obst_person': 144 | obstMarker.pose.position.z = 30/2 145 | obstMarker.id = i 146 | i += 1 147 | obstMarkerArray.markers.append(obstMarker) 148 | return obstMarkerArray 149 | --------------------------------------------------------------------------------