机器人覆盖路径规划算法简介
机器人覆盖路径规划算法
机器人路径规划算法的目标是找到从起点到终点的有效路径,同时避免碰到障碍物。在机器人覆盖路径规划中,任务不仅仅是找到一条从起点到终点的路径,还需要确保机器人能够覆盖整个区域,清扫、检查或者执行其他类似任务。以下是一些常见的覆盖路径规划算法:
- 网格法 (Grid-based method):
这种方法将地图分割成网格单元,然后机器人沿着网格移动。这种方法简单易行,但对于复杂的环境可能不够高效。一种常见的网格法策略是蛇形覆盖法,即机器人沿着行或列移动,形成类似蛇形的路径。 - 图搜索法 (Graph-based method):
图搜索法将地图表示为图,节点代表地图上的位置,边代表两个节点之间的可达性。常见的图搜索算法包括深度优先搜索(DFS)、广度优先搜索(BFS)、Dijkstra和A*等。这些算法可以找到从起点到终点的最短路径,但需要对其进行修改以满足覆盖路径规划的需求。 - 分治法 (Divide-and-conquer method):
分治法将地图划分为较小的区域,然后单独为每个区域规划路径。最后将这些子区域的路径连接起来,形成完整的覆盖路径。这种方法在处理复杂环境时表现较好,但可能需要更多的计算资源。 - 节点排序法 (Node sequencing method):
节点排序法首先将地图划分为节点,然后通过优化节点访问顺序来生成覆盖路径。这可以通过遗传算法、蚁群算法、粒子群优化等启发式方法实现。这种方法在寻找全局最优解方面表现良好,但计算复杂度较高。 - 概率方法 (Probabilistic method):
概率方法利用随机过程来规划覆盖路径。常见的概率方法包括基于马尔可夫决策过程(MDP)的方法,如Q-learning、价值迭代等。这些方法在不确定性环境下表现较好,但收敛速度较慢。 - 混合方法 (Hybrid method):
混合方法结合了多种路径规划方法,以提高覆盖性能。例如,可以将分治法与图搜索法结合,将地图划分为子区域,然后使用A*算法在子区域内规划路径 - Boustrophedon分解法 (Boustrophedon decomposition method):
这种方法基于空间分解,将地图分解成可用蛇形覆盖的细胞。机器人在每个细胞内按蛇形路径移动,然后通过相邻细胞的和出口进行连接。这种方法在环境边界复杂时表现良好,但可能需要较多的计算资源。 - 遗传算法 (Genetic Algorithm):
遗传算法是一种启发式搜索方法,受自然选择和遗传进化的启发。通过不断迭代种群中的个体,寻找最优覆盖路径。遗传算法的优点是可以在大型搜索空间中找到全局最优解,但收敛速度较慢。 - 粒子群优化算法 (Particle Swarm Optimization):
粒子群优化算法是一种群体智能方法,通过模拟鸟群觅食行为来寻找最优解。在覆盖路径规划问题中,粒子群优化算法可以用来优化节点访问顺序。这种方法在全局搜索方面表现较好,但可能陷入局部最优解。 - 蚁群算法 (Ant Colony Optimization):
蚁群算法是一种群体智能方法,通过模拟蚂蚁觅食行为来寻找最优解。在覆盖路径规划问题中,蚁群算法可以用来优化节点访问顺序。这种方法在全局搜索方面表现较好,但收敛速度较慢。 - 人工势场法 (Artificial Potential Field method):
人工势场法将机器人视为受力物体,地图上的障碍物和目标点产生吸引或排斥力。机器人根据这些力的合成作用来调整其移动方向。在覆盖路径规划问题中,这种方法可以实现实时规划,适用于动态环境,但容易陷入局部最优解。
应用场景:
- 室内清洁机器人:在室内环境中,机器人需要覆盖整个区域进行清洁,可以使用分治法、Boustrophedon分解法或节点排序法等。
- 农业机器人:在农田环境中,机器人需要覆盖整个区域进行耕作、播种或喷洒等任务,可以使用网格法、蛇形覆盖法等。
- 巡检机器人:在工厂、仓库等环境中,巡检机器人需要覆盖整个区域进行设备检查、安全巡逻等任务。在这些场景中,可以使用图搜索法、分治法或混合方法等进行覆盖路径规划。
- 搜索与救援机器人:在灾难现场或失踪人员搜索任务中,搜索与救援机器人需要覆盖整个区域。在这些场景中,可以使用概率方法、人工势场法或遗传算法等来规划覆盖路径,因为这些方法能够应对不确定性环境和动态变化。
- 无人机航拍:无人机在执行航拍任务时需要覆盖整个区域,以获取完整的图像数据。可以使用节点排序法、粒子群优化算法或蚁群算法等来规划覆盖路径。
- 环境监测机器人:在环境监测任务中,机器人需要覆盖整个区域进行空气质量、温度、湿度等参数的采集。在这些场景中,可以使用分治法、混合方法或概率方法等进行覆盖路径规划。
根据具体应用场景和需求,可以选择适当的覆盖路径规划算法。在实际应用中,可能需要对算法进行定制化修改,以满足特定任务的性能要求。同时,可以考虑将多种方法相互结合,以充分利用各自的优点,提高覆盖性能和计算效率。优缺点
以下是覆盖路径规划算法及其各自的优缺点: 网格法(Grid-based method)
优点:实现简单,容易理解。
缺点:对于复杂环境可能不够高效,覆盖路径可能较长。图搜索法(Graph-based method)
优点:适用于各种环境,可以找到最短路径。
缺点:需要修改以满足覆盖路径规划需求,可能需要较多的计算资源。分治法(Divide-and-conquer method)
优点:适用于复杂环境,可以减少计算复杂度。
缺点:需要将子区域的路径连接起来,可能导致覆盖路径较长。节点排序法(Node sequencing method)
优点:可以找到全局最优解,适用于各种环境。
缺点:计算复杂度较高,收敛速度可能较慢。概率方法(Probabilistic method)
优点:适用于不确定性环境,具有较好的适应性。
缺点:收敛速度较慢,可能需要较多的计算资源。混合方法(Hybrid method)
优点:结合多种方法的优点,提高覆盖性能和计算效率。
缺点:实现复杂度较高,需要调整多种方法的参数。Boustrophedon分解法
优点:适用于边界复杂的环境,能生成较短的覆盖路径。
缺点:计算复杂度较高,可能需要较多的计算资源。遗传算法(Genetic Algorithm)
优点:能在大型搜索空间中找到全局最优解,适用于各种环境。
缺点:收敛速度较慢,可能需要较多的计算资源。粒子群优化算法(Particle Swarm Optimization)
优点:全局搜索能力较强,适用于各种环境。
缺点:可能陷入局部最优解,收敛速度可能较慢。蚁群算法(Ant Colony Optimization)
优点:全局搜索能力较强,适用于各种环境。
缺点:收敛速度较慢,可能需要较多的计算资源。人工势场法(Artificial Potential Field method)
优点:适用于动态环境,可以实时规划。
缺点:容易陷入局部最优解,可能需要较多的计算资源。
综上所述,不同的覆盖路径规划算法具有各自的优缺点。在实际应用中,需要根据
具体的应用场景、环境复杂度、计算资源和性能要求来选择合适的覆盖路径规划算法。在一些情况下,可能需要将多种方法相互结合,以充分利用各自的优点,提高覆盖性能和计算效率。同时,针对特定任务和环境,可能需要对选定的算法进行定制化修改,以满足实际需求。
在选择合适的覆盖路径规划算法时,可以考虑以下因素:
环境复杂度:对于复杂环境,可以考虑使用分治法、Boustrophedon分解法或混合方法等。对于简单环境,网格法或图搜索法可能就足够了。
动态环境:如果环境中存在动态障碍物或目标点,可以考虑使用概率方法、人工势场法或混合方法等。
计算资源限制:如果计算资源有限,可以考虑使用较为简单的方法,如网格法或图搜索法。如果计算资源充足,可以考虑使用计算复杂度较高的方法,如遗传算法、粒子群优化算法等。
性能要求:根据覆盖路径长度、覆盖时间以及算法收敛速度等性能要求,选择合适的算法。例如,如果需要较短的覆盖路径,可以考虑使用节点排序法或Boustrophedon分解法等。
实际应用场景:根据实际应用场景的特点,选择适用的覆盖路径规划算法。例如,在无人机航拍任务中,可以考虑使用节点排序法、粒子群优化算法或蚁群算法等。
总之,在实际应用中选择合适的覆盖路径规划算法是非常重要的。同时,针对具体任务和环境的特点,灵活调整和优化算法参数以及实现方式,可以帮助提高覆盖路径规划的性能。
相关算法
在前面,我们已经讨论了多种覆盖路径规划算法及其应用场景。这里,我们将继续探讨一些其他相关算法及其应用。
- Tabu搜索(Tabu Search)
Tabu搜索是一种局部搜索算法,通过使用禁忌表来避免陷入局部最优解。该算法可以应用于覆盖路径规划问题,以寻找全局最优解。
参考文献:
Glover, F. (1989). Tabu search—Part I. ORSA Journal on Computing, 1(3), 190-206.
- 模拟退火算法(Simulated Annealing)
模拟退火算法是一种启发式优化算法,其灵感来源于固体退火过程。通过在搜索过程中以一定概率接受劣解,模拟退火算法可以在一定程度上避免陷入局部最优解。这种方法可以应用于覆盖路径规划问题,以寻找全局最优解。
参考文献:
Kirkpatrick, S., Gelatt, C. D., & Vecchi, M. P. (1983). Optimization by simulated annealing. Science, 220(4598), 671-680.
- 蜻蜓算法(Dragonfly Algorithm)
蜻蜓算法是一种基于自然界蜻蜓群体行为的优化算法。它可以在覆盖路径规划问题中用于寻找全局最优解。蜻蜓算法具有较强的全局搜索能力,且收敛速度较快。
参考文献:
Mirjalili, S. (2016). Dragonfly algorithm: a new meta-heuristic optimization technique for solving single-objective, discrete, and multi-objective problems. Neural Computing and Applications, 27(4), 1053-1073.
- 鲸鱼优化算法(Whale Optimization Algorithm)
鲸鱼优化算法是一种基于座头鲸捕食行为的优化算法。这种算法可以应用于覆盖路径规划问题,以寻找全局最优解。鲸鱼优化算法具有较强的全局搜索能力,且收敛速度较快。
参考文献:
Mirjalili, S., & Lewis, A. (2016). The whale optimization algorithm. Advances in Engineering Software, 95, 51-67.
- 草地火灾算法(Grassfire Algorithm)
草地火灾算法是一种基于草地火灾传播的启发式搜索算法。这种算法可以应用于覆盖路径规划问题,以寻找较短的覆盖路径。草地火灾算法可以处理复杂的环境和动态障碍物。
参考文献:
Latombe, J. C. (1991). Robot motion planning. Springer Science & Business Media.
- 鸟群优化算法(Bird Flocking Optimization Algorithm)
鸟群优化算法是一种基于鸟群觅食行为的优化算法。该算法可以应用于覆盖路径规划问题,以寻找全局最优解。鸟群优化算法具有较强的全局搜索能力,且收敛速度较快。
参考文献:
Yang, X. S., & Deb, S. (2010). Engineering optimisation by cuckoo search. International Journal of Mathematical Modelling and Numerical Optimisation, 1(4), 330-343.
- 贪婪算法(Greedy Algorithm)
贪婪算法是一种简单的优化算法,每一步都选择当前最优的解决方案。这种方法可以应用于覆盖路径规划问题,以寻找较短的覆盖路径。贪婪算法实现简单,但容易陷入局部最优解。
参考文献:
Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to algorithms. MIT press.
- 动态规划(Dynamic Programming)
动态规划是一种解决优化问题的数学方法,通过将问题分解成相互关联的子问题来求解。动态规划可应用于覆盖路径规划问题,以寻找全局最优解。动态规划适用于具有特定结构的问题,如有向无环图(DAG)等。
参考文献:
Bellman, R. (1957). Dynamic programming. Science, 153(3731), 34-37.
- 随机优化算法(Random Optimization Algorithm)
随机优化算法是一种基于随机搜索策略的优化算法。这种方法可以应用于覆盖路径规划问题,以寻找全局最优解。随机优化算法实现简单,但收敛速度较慢,且可能需要较多的计算资源。
参考文献:
Russell, S., & Norvig, P. (2009). Artificial intelligence: a modern approach. Prentice Hall.
- 支持向量机(Support Vector Machine, SVM)
支持向量机是一种监督学习方法,可用于分类和回归任务。将SVM应用于覆盖路径规划问题时,可以将问题转化为一个分类问题,通过训练数据来确定机器人的移动策略。
参考文献:
Vapnik, V. N. (1998). Statistical learning theory. Wiley-Interscience.
综上所述,各种覆盖路径规划算法具有不同的特点,可以根据具体的应用场景和需求选择合适的算法。在实际应用中,可能需要综合考虑多种因素,如环境复杂度、动态障碍物、计算资源和性能要求等,以选择最适合的方法。
- 卷积神经网络(Convolutional Neural Networks, CNN)
卷积神经网络是一种深度学习模型,主要用于处理具有网格结构的数据,如图像和视频。将CNN应用于覆盖路径规划问题时,可以将问题转化为一个像素级分类问题,通过训练数据来确定机器人的移动策略。
参考文献:
LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. Nature, 521(7553), 436-444.
- 强化学习(Reinforcement Learning)
强化学习是一种机器学习方法,目标是让智能体在与环境交互的过程中学会选择最优的行动策略。强化学习可应用于覆盖路径规划问题,以训练机器人在不同环境下自主选择最佳路径。
参考文献:
Sutton, R. S., & Barto, A. G. (2018). Reinforcement learning: An introduction. MIT press.
- 贝叶斯优化(Bayesian Optimization)
贝叶斯优化是一种基于贝叶斯模型的全局优化方法,主要用于优化具有噪声的黑箱函数。贝叶斯优化可应用于覆盖路径规划问题,以寻找全局最优解。
参考文献:
Shahriari, B., Swersky, K., Wang, Z., Adams, R. P., & de Freitas, N. (2016). Taking the human out of the loop: A review of Bayesian optimization. Proceedings of the IEEE, 104(1), 148-175.
- 基于概率的路径规划(Probabilistic Roadmaps)
基于概率的路径规划是一种用于解决多自由度机器人路径规划问题的方法。它通过构建一个概率性的地图来表示环境,并通过搜索算法找到一条从起点到终点的路径。
参考文献:
Kavraki, L. E., Svestka, P., Latombe, J. C., & Overmars, M. H. (1996). Probabilistic roadmaps for path planning in high-dimensional configuration spaces. IEEE Transactions on Robotics and Automation, 12(4), 566-580.
- 快速路径规划(Rapidly-exploring Random Trees, RRT)
快速路径规划是一种基于随机搜索的路径规划方法,通过构建一棵快速扩展的随机树来寻找从起点到终点的路径。RRT适用于解决高维度和复杂环境中的路径规划问题。
参考文献:
LaValle, S. M. (1998). Rapidly-exploring random trees: A new tool for path planning. Technical report, Computer Science Dept., Iowa State University.
- 扩展图搜索算法(Extended Graph Search Algorithms)
扩展图搜索算法是一类基于图搜索的路径规划方法,可以处理复杂环境中的路径规划问题。其中包括A*算法、Dijkstra算法等。这些算法可以在覆盖路径规划问题中用于寻找最短路径。
参考文献:
Hart, P. E., Nilsson, N. J., & Raphael, B. (1968). A formal basis for the heuristic determination of minimum cost paths. IEEE Transactions on Systems Science and Cybernetics, 4(2), 100-107.
Dijkstra, E. W. (1959). A note on two problems in connexion with graphs. Numerische Mathematik, 1(1), 269-271.
- 混合整数线性规划(Mixed-Integer Linear Programming, MILP)
混合整数线性规划是一种数学优化方法,可以处理具有整数和连续变量的线性约束问题。MILP可以用于覆盖路径规划问题,在某些情况下,可以找到全局最优解。
参考文献:
Wolsey, L. A. (1998). Integer programming. John Wiley & Sons.
- 粒子群优化算法(Particle Swarm Optimization, PSO)
粒子群优化算法是一种基于自然界鸟群觅食行为的全局优化算法。PSO可以用于覆盖路径规划问题,以寻找全局最优解。粒子群优化算法具有较强的全局搜索能力,且收敛速度较快。
参考文献:
Kennedy, J., & Eberhart, R. (1995). Particle swarm optimization. In Proceedings of IEEE international conference on neural networks (Vol. 4, pp. 1942-1948). IEEE.
- 蚁群优化算法(Ant Colony Optimization, ACO)
蚁群优化算法是一种模拟蚂蚁觅食行为的优化算法。ACO可以用于覆盖路径规划问题,以寻找全局最优解。蚁群优化算法具有较强的全局搜索能力,且收敛速度较快。
参考文献:
Dorigo, M., & Stützle, T. (2004). Ant colony optimization. MIT press.
- 遗传算法(Genetic Algorithm, GA)
遗传算法是一种模拟生物进化过程的全局优化算法。GA可以用于覆盖路径规划问题,以寻找全局最优解。遗传算法具有较强的全局搜索能力,但收敛速度可能较慢。
参考文献:
Holland, J. H. (1992). Adaptation in natural and artificial systems: an introductory analysis with applications to biology, control, and artificial intelligence. MIT press.
以上算法都可以用于解决覆盖路径规划问题。选择合适的算法取决于具体应用场景、环境复杂度、计算资源等因素。在实际应用中,可以将多种算法相互结合,以提高性能。同时,随着研究的深入,还可能出现新的算法和方法,为覆盖路径规划问题提供更多选择。在我们讨论了许多覆盖路径规划算法之后,接下来我们将介绍一些针对特定场景和约束条件的路径规划方法。
- 多机器人协同路径规划(Multi-Robot Cooperative Path Planning)
多机器人协同路径规划需要在多个机器人之间分配任务,并计划各自的路径,以完成覆盖任务。这种方法通常需要考虑机器人之间的通信、任务分配和协调。
参考文献:
Parker, L. E. (2008). Multiple mobile robot systems. In Springer handbook of robotics (pp. 921-941). Springer, Berlin, Heidelberg.
- 能量约束下的路径规划(Energy-Constrained Path Planning)
能量约束下的路径规划需要在给定的能量预算内完成覆盖任务。这种方法通常需要考虑能量消耗、充电策略和能量高效的路径规划。
参考文献:
Wang, L., & Yang, A. (2015). Energy-constrained path planning for unmanned aerial vehicles using an improved differential evolution algorithm. IEEE Transactions on Aerospace and Electronic Systems, 51(1), 740-753.
- 工具约束下的路径规划(Tool-Constrained Path Planning)
工具约束下的路径规划需要考虑机器人所携带的工具或设备对路径规划的影响。这种方法通常需要考虑工具限制、工具切换和工具相关的路径规划策略。
参考文献:
Galceran, E., & Carreras, M. (2013). A survey on coverage path planning for robotics. Robotics and Autonomous Systems, 61(12), 1258-1276.
- 鲁棒性路径规划(Robust Path Planning)
鲁棒性路径规划需要考虑环境中的不确定性和动态障碍物,以生成具有鲁棒性的路径。这种方法通常需要考虑环境建模、不确定性估计和鲁棒性路径规划策略。
参考文献:
Luders, B., Kothari, M., & How, J. P. (2010). Chance constrained RRT for probabilistic robustness to environmental uncertainty. In AIAA Guidance, Navigation, and Control Conference (pp. 1-12).
- 动态环境下的路径规划(Dynamic Environment Path Planning)
在动态环境下进行路径规划时,需要考虑环境中物体的移动和变化,以生成适应动态环境的路径。这种方法通常需要考虑实时环境建模、动态障碍物检测和避障策略。
参考文献:
Kala, R. (2016). Robot path planning using multi-objective evolutionary algorithms. In Intelligent Autonomous Systems 13 (pp. 129-142). Springer, Cham.
- 基于隐马尔可夫模型的路径规划(Hidden Markov Model-Based Path Planning)
隐马尔可夫模型是一种统计模型,可用于描述具有不确定性的系统。基于隐马尔可夫模型的路径规划方法可以处理环境中存在的不确定性和动态变化。
参考文献:
Hsiao, K., Chitta, S., Ciocarlie, M., & Jones, E. G. (2010). Contact-reactive grasping of objects with partial shape information. In 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems (pp. 1228-1235). IEEE.
- 基于模糊逻辑的路径规划(Fuzzy Logic-Based Path Planning)
模糊逻辑是一种处理模糊概念和不确定性的方法。基于模糊逻辑的路径规划方法可以在不确定性环境中生成鲁棒性路径。
参考文献:
Sugeno, M., & Nishida, M. (1992). Fuzzy control of a model car. Fuzzy Sets and Systems, 51(1), 1-10.
- 基于视觉的路径规划(Vision-Based Path Planning)
基于视觉的路径规划方法使用相机或其他视觉传感器来感知环境,从而实现对环境的建模和路径规划。这种方法需要考虑视觉传感器的特性、图像处理和视觉SLAM等技术。
参考文献:
Siciliano, B., & Khatib, O. (Eds.). (2016). Springer handbook of robotics. Springer.
- 基于梯度场的路径规划(Gradient Field-Based Path Planning)
基于梯度场的路径规划方法利用势场的概念来引导机器人沿着最优路径移动。这种方法通常可以处理复杂环境中的路径规划问题,且容易实现。
参考文献:
Khatib, O. (1986). Real-time obstacle avoidance for manipulators and mobile robots. The International Journal of Robotics Research, 5(1), 90-98.
- 基于神经网络的路径规划(Neural Network-Based Path Planning)
神经网络是一种非线性处理单元的网络结构,可以通过训练来解决复杂的问题。基于神经网络的路径规划方法通常可以处理高维度和复杂环境中的路径规划问题。
参考文献:
Minguez, J., Montano, L., & Santos-Victor, J. (2004). Reactive navigation for nonholonomic robots using the ego-kinodynamic space. Robotics and Autonomous Systems, 48(2-3), 77-97.
- 基于概率图模型的路径规划(Probabilistic Graphical Model-Based Path Planning)
概率图模型是一种用于描述随机变量之间关系的数学模型。基于概率图模型的路径规划方法可以处理不确定性和动态环境中的路径规划问题。
参考文献:
Kaelbling, L. P., Littman, M. L., & Cassandra, A. R. (1998). Planning and acting in partially observable stochastic domains. Artificial intelligence, 101(1-2), 99-134.
- 基于约束满足问题的路径规划(Constraint Satisfaction Problem-Based Path Planning)
约束满足问题是一类涉及变量和约束的问题,其目标是找到满足所有约束的变量取值。基于约束满足问题的路径规划方法可以处理具有多种约束条件的路径规划问题。
参考文献:
Dechter, R., & Pearl, J. (1988). Network-based heuristics for constraint-satisfaction problems. AI Magazine, 9(3), 50-60.
总结一下,以上我们讨论了许多不同类型的覆盖路径规划算法,包括启发式搜索、基于优化的方法、深度学习和强化学习等。这些方法各有特点,适用于不同的应用场景。在实际问题中,可能需要根据需求和具体环境选择合适的算法。此外,针对特定问题,有时可以将多种算法相互结合,以获得更好的性能。
参考文献
Choset, H., & Pignon, P. (1998). Coverage path planning: The boustrophedon cellular decomposition. In Field and service robotics (pp. 203-209). Springer, London.
Zelinsky, A., Jarvis, R. A., Byrne, J. C., & Yuta, S. (1993). Planning paths of complete coverage of an unstructured environment by a mobile robot. In Proceedings of International Conference on Advanced Robotics (pp. 533-538).
Huang, W. (2001). Optimal line-sweep-based decompositions for coverage algorithms. In Proceedings 2001 ICRA. IEEE International Conference on Robotics and Automation (Cat. No.01CH37164) (Vol. 1, pp. 27-32). IEEE.
Gabriely, Y., & Rimon, E. (2001). Spanning-tree based coverage of continuous areas by a mobile robot. Annals of Mathematics and Artificial Intelligence, 31(1-4), 77-98.
Englot, B., & Hover, F. (2012). Sampling-based coverage path planning for inspection of complex structures. In 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems (pp. 1818-1825). IEEE.
Hert, S., Tiwari, S., & Lumelsky, V. (1996). A terrain-covering algorithm for an AUV. Autonomous Robots, 3(2), 91-119.
Dorigo, M., & Stützle, T. (2004). Ant colony optimization: Overview and recent advances. In Handbook of metaheuristics (pp. 227-263). Springer, Boston, MA.
Eberhart, R., & Kennedy, J. (1995). A new optimizer using particle swarm theory. In Proceedings of the Sixth International Symposium on Micro Machine and Human Science (pp. 39-43). IEEE.
Goldberg, D. E. (1989). Genetic algorithms in search, optimization, and machine learning. Addison-Wesley Professional.
Khatib, O. (1986). Real-time obstacle avoidance for manipulators and mobile robots. The International Journal of Robotics Research, 5(1), 90-98.