# Project Description This project aims to replicate the movement patterns of a Roomba, the autonomous vacuum cleaner developed by iRobot. Unlike the actual Roomba, this project is implemented in Scratch, a visual block-based programming language primarily designed for educational purposes. ## Current Status The current version of this project focuses solely on replicating the fundamental movement aspects of a Roomba. It does not simulate collisions with obstacles or edges. However, there are plans to enhance this project in the near future. In the current state of this project, it is essential to note that the Roomba replication does not possess automatic turning capabilities. Instead, the user must manually press the arrow keys to instruct the Roomba to turn 90 degrees in the desired direction. This user-initiated turning mechanism is a fundamental aspect of the project's control scheme. ## Future Enhancements I intend to create a Roomba+ version of this project, which will incorporate collision detection and avoidance mechanisms. To achieve this, I will transition from Scratch to JavaScript programming. This transition will build upon the foundation of this project, which has been translated via the "Leopard" platform. The Leopard platform facilitates the translation of Scratch projects into JavaScript. ## Sharing and Repository Once the Roomba+ project is completed and fully functional, I will share the code repository on GitHub. This will provide an opportunity for those interested to explore the implementation details and experiment with more advanced features. The repository link will be included in this project's metadata, specifically in the "Instructions and Notes and Credits" section.
## Notes and Credits ### Credits: - This project is heavily based on the iconic Roomba autonomous vacuum cleaner developed by [iRobot](https://www.irobot.com/). We deeply appreciate iRobot for pioneering this innovative technology that inspired this recreation. ### Bug Notice: - The creator of this project acknowledges a known issue: The recreation exhibits reversed movement along the X-axis in comparison to the arrow direction. In other words, it moves in the opposite direction of the arrow (e.g., it moves right when the arrow points left). Please note that this behavior is not representative of a real Roomba's movement, and the creator has made multiple attempts to rectify this bug. If you have the expertise and would like to contribute to fixing this issue, please feel free to remix this project. ### Future Development: - The creator has plans to develop an enhanced version of this project titled "Roomba+" in JavaScript, which will include features such as collision detection and avoidance. Once completed, the code repository for the "Roomba+" project will be shared on GitHub. - If you are interested in backporting the "Roomba+" project to Scratch, please ensure that it is a remix of this original project and provide a link to the GitHub repository for proper attribution. Collaboration and improvement of this project are encouraged, and your contributions are highly appreciated.