From emss Framework - iRobot Create C++ Framework
emss is a C++ framework designed to support iRobot Create developers with a comprehensive set of Controllers, Tasks, Schedulers, Movement Trackers, et cetera. It allows interfacing with hardware or in an emulated environment and compiles on Linux, OS X, and Windows.
The emss iRobot Create Framework is a collection of interacting modules written in C++ designed to support iRobot Create developers with a comprehensive set of Controllers, Tasks, Schedulers, Movement Trackers, et cetera. The framework provides not only an interface with the iRobot Create hardware, but also a completely emulated interface which mimics the hardware in every sense. Along with core components for controlling the robot, the framework also features a set of GUI widgets for drawing maps and navigational paths as well as joysticks, control panels and more. The emss framework compiles on Linux, OS X, and Windows.
The emss iRobot Create Framework is a great platform for anyone wishing to program the iRobot Create hardware. Written in C++ and utilizing the Qt framework, emss compiles on Linux, OS X, and Windows. It is designed for 'high-power' robots which feature some sort of x86 computer as a controller, such as a top-mounted laptop. With almost a year of development at the University of Applied Sciences in Rapperswil, the framework is now ready to be shared with the community. One of the most attractive features of the framework is the complete emulation of the iRobot Create hardware - a feature very valuable when writing and testing different algorithms. The framework is split into different modules which allow different implementations to be loaded. This design proves to be flexible for different project needs and remains as a useful source base.
 Open Source
The emss project is licensed under GPLv3, which in short features the following:
- the freedom to use the software for any purpose,
- the freedom to change the software to suit your needs,
- the freedom to share the software with your friends and neighbors, and
- the freedom to share the changes you make.
The entire source is available on our SourceForge project page. Anyone is welcome to make contributions in forms of code, suggestions, and bug reports, et cetera.