Difference between revisions of "Robotic Vacuum Algorithms Simulation (kulv05)"
Line 17: | Line 17: | ||
RANDOM | RANDOM | ||
− | [[File: | + | [[File:Kulv05_randomwalk.gif]] |
---- | ---- | ||
Revision as of 22:13, 25 January 2025
Introduction 123
Problem definition
The primary objective of this simulation is to analyze and compare different movement algorithms for a robotic vacuum cleaner. The focus is on identifying the most efficient algorithm in terms of cleaning speed, power consumption, and overall performance.
Method
The simulation will be developed using NetLogo, an agent-based modeling platform. NetLogo is ideal for simulating complex systems with numerous interacting agents (in case of this simulation - a robot vacuum and pieces of trash).
Model
Для этой симуляции мною было использовано agent-model based simulation with the help of the NetLogo software. Для каждой алгоритма был создан свой малый метод. Для сбора мусора был создан метод collect-trash. Спаунится мусор Комната и мебель была создана с помощью патчей. Изначально я хотела сделать их с помощью агентов, однако после применения этого способа поняла, что чем делать каждую мебель агентами. Это было легче устроить из-за
RANDOM
Wall-to-wall
Данный алгоритм, если применять его для того, чтобы пропылесосить комнату не является эффективным если применять его в одиночку или же если применять его в его изначальной форме. Его траектория движения такова – робот пылесос пытается найти стену, а потом двигается вдоль стен. Это хорошо вычищает мусор в углах комнаты, однако не вычищает его в центре комнаты. Поэтому я бы не назвала этот алгоритм оптимальным в его чистом виде.
Wall-to-wall + Horizontal zigzag
Spiral Идет спиралью до того как доходит до стен комнаты. When the front bumper is triggered the robot cleaner stops the spiral algorithm and proceeds with another algorithm since starting the spiral algorithm when close to a wall is meaningless. (источник) Я решила попробовать сделать другим алгоритмом спираль, однако в обратную сторону. Обратная спираль, хотя и выглядит логически последовательной, на практике часто оказывается менее эффективной, особенно в случаях, когда робот начинает повторно покрывать области, которые уже очищены. Этот алгоритм может быть полезен в некоторых специфических условиях, но на моем реальном примере показало худший результат чем random-walk. Что говорит о том, что в реальных задачах он может уступать другим стратегиям. Zigzag
Results
Conclusion
Citations
https://www.diva-portal.org/smash/get/diva2:1213349/FULLTEXT02.pdf https://ouster.com/insights/blog/introduction-to-slam-simultaneous-localization-and-mapping https://www.geeksforgeeks.org/a-search-algorithm/