This project is solving the Lego Rovers challenge.
The Lego Explorer team has designed the remote operation system which provides a web interface to control, set rules and provide delays to the Lego Rover. The interface is such that a change or command on one platform will be reflected on every system.
As Lego Robot needs to be controlled through a computer, smartphone, or tablet, we decided to build web application so that we can control the robot through any web browser.
For lego rover we decided to use the existing firmware and not to flash any other firmware. Hence we used python's nxt-python library to control the rover over bluetooth.
For web application, after doing some research we found a simple web framework "Meteor". Meteor is an open-source platform for building top-quality web apps in java script in a fraction of the time. We found meteor very easy to setup. It provides automatic web page update when data changes, which is good for sensor data to publish. Meteor provides DDP, the Distributed Data Protocol which we use to communicate between nxt-python and meteor.
User interface is a web page implemented using java script, html and css.
For space apps challenge we gave demo of our project with basic controls and simple rules implemented. we were able to control the rover through a computer, an android and an apple smartphones.
We will continue to work on this project. Following are some of the details of future implementations:
- Add more settings.
- Implement rule builder.
- Add sensor data.
- Starting the application with single script.
- Cross Platform Application Development (Currently supported Linux, Win. Mac support soon)
- Support for arduino based rover.
Project InformationLicense: GNU General Public License
Source Code/Project URL: https://github.com/Space-Bangalore/LegoSpaceRovers
ResourcesProject Presentation at Bangalore - http://www.ustream.tv/recorded/31767409/highlight/346731
Video: Arduino Rover - http://www.youtube.com/watch?v=CYnxj0ic-tc