/rotfl

ROomba, The Fleet Management

Primary LanguageC++MIT LicenseMIT

ROTFL

ROomba, The Fleet Management

Rotfl uses external library copyright by Roowifi (roowifi.com) for communicating with Roomba over Wifi.

Hardware environment: Roomba Create robot platform, http://www.irobot.com/us/learn/Educators/Create.aspx and PC based control room software (either Windows or Linux) Problem describtion: We need a fleet management research environment, where work machines are replaced with Roomba robots. The fleet management is tracking location of the machines and giving them orders to optimize their tasks. The robots do collaborative tasks according to control room provided work plans. Special requirements: Roombas are autonomous parts of a fleet. They form a distributed system which employs WLAN to remotely connect the robots. The robots may also communicate machine-to-machine (M2M). The Roombas have some embedded features, so some knowledge of the hardware is desirable, Project group: The group would benefit from having some embedded software skills within the team. Also electronics skills can be utilized in making new features to Roomba. Some Linux skills are mandatory as Roomba runs on Linux. The project is done in an agile way, so some agile development skills for the project manager would be nice. Special issues: The project is an exellent way to get in touch with agile product development process with some research flavor. The group can test different technologies and techniques in their product and have impact on the technology solutions. The group also experiences embedded software development and new trends of moving machine control, such as M2M communication and fleet management. The work will eventually lead to some research papers and if the team has enthusiasm in that field, their input is greatly appreciated. The code will be published as open source and the documentation will be just light enough to other people to participate in development later on. If the project group wants to, the control room can be implemented in e.g. QT, so it will be easily portable to other platforms, even mobile ones.