Lego Rovers engages school children with the challenges of remote space exploration. Web-Rover-1 improves both its user-interface and underlying system architecture. A mobile-compatible HTML interface mimics a tele-operated planetary rover complete with remote-control, command delays, and the ability to create autonomous rules for the robot. Our simpler, modularised backend code is demonstrated through multiple prototypes which integrate different robots and interfaces into the same system.
This project is solving the Lego Rovers challenge.
The Webrover1 team tackled the Lego Rovers challenge. This challenge was to build a demonstration system which mimicked a tele-operated interplanetary rover complete with a remote control interface, the possibility to add delays, and the ability to construct and deploy autonomous rules onto the robot. The end system is intended as a STEM activity that can be taken into schools.
The Webrover1 team focused on building a touch-friendly web and mobile compatible interface for the control of Lego Rovers, at the same time we worked on modularising the back end code. This enabled us to build several prototype systems demonstrating that different interfaces and back end hardware could be integrated easily within the same basic system.
Our design effort focused on two key areas, user interface design for a web based interface and the underlying system architecture.
User Interface Design
The web-based user interface was designed in two phases, the first focussed on tele-operation of the robot with delays and a camera feed (based on an idea mentioned on the Challenge web page by the Gothenburg project team). The second was based on the design of a rule-building system which was accomplished in collaboration with the LegoRoversUI team from Brasil.
For the rule builder, we took as our starting point the design from the LegoRoversUI team:
And then refined it via "paper prototypes" into a form that would display well on mobile devices as well as web browsers:
At an abstract level our architecture consisted of three layers with clear links between each layer. At the top we have the UI, underneath that a "Robot Service" layer which ran a loop that took in commands from the user interface, polled sensors for data and then triggered any rules in the autonomous system. This was implemented in a generic fashion which did not make particular assumptions about the user interface, nor the underlying hardware. At the bottom layer we had hardware specific control which could, for instance, interpret the instruction "forward" from the Robot Service in a way that was specific to the hardware being controlled. This basic architecture is shown below:
We succeeded in producing a number of prototype systems using lego robots, mobile devices, an electric imp based Curiosity model and a controller made from cardboard and a Makey Makey board.
Front End Interfaces
Our key focus was on mobile interface devices. Our first interface was for simple tele-operation of the robot with delays and a single rule that could be switched on and off:
We successfully deployed this interface and were able to control both the lego and electric imp based robots with it.
We also developed a prototype rule builder, demonstrations of which can be seen in the links to resources and on the project tumblr. While this wasn't linked to the back end system we were confident that we had the necessary software hooks in place to make this a comparatively simple task.
Lastly, thanks to resources and equipment supplied by the University of Dundee, we were able to construct a simple interface using a Makey Makey board, cardboard and conductive ink. Again this was used to control both the lego and electric imp robots.
Hardware Specific Control
At the robot end we were able to control both a Lego robot running the leJOS operating system, and a different [Mini Mars Rover] (http://productresearch.dundee.ac.uk/mini-mars-rover/), built using a Wild Thumper chasis, an Arduino and an Electric Imp by the University of Dundee, from our working interfaces. We also experimented with mounting a mobile phone on the hardware platforms, allowing us to stream video from the phone back to the mobile interface.
Videos of these robots in action are available from the resources list and on the project tumblr.
In the immediate future we intend to link the rule building interface into the underlying system, allowing the construction of a richer set of rules to be used with the robots. Dr. Dennis intends to continue taking the lego rovers into schools and is also discussing with the University of Liverpool the possibility of adapting the activity, specifically the new rule building interface, for use in the Dangerous Science Summer School the university runs for Year 10 children.
We are also investigating AISB and STFC Small Grant awards for public engagement. These would let us invest in NXT2Wifi and Camera sensors for the existing rovers which would both extend the activity and help improve its accessibility to teachers and parents.
- Project Blog, charting our progress: http://legorovers.tumblr.com/
- Video: Demo of Prototype Rule Builder: http://legorovers.tumblr.com/post/48794573686/the-prototype-rulebuilder-in-action
- Video: The Cardboard Controller: http://legorovers.tumblr.com/post/48520072008/the-cardboard-controller-in-action
- Video: Controlling the University of Dundee Mini Mars Rover: http://legorovers.tumblr.com/post/48512921932/weve-adapted-the-web-rover-1-system-so-we-can
- Video: user testing with a toddler: http://legorovers.tumblr.com/post/48514281809/successfully-testing-our-new-child-friendly-touch
- Video: paper-prototype of the rule bulder: http://legorovers.tumblr.com/post/48519287091/walkthrough-of-the-paper-prototype-of-the-vision
The following projects are solving this challenge:
We intend to : Simplify the networking and integration so it needs fewer components and doesn't required reprogramming the Lego Mindstorms robot or changing its OS/ROM. Outcomes: see presentatation pdf and github.com/legorovers/legoflask/ repo Refactor the rulebuilder UI prototype developed... Visit Project
PiStorms Mars Rover
We are building on the platform developed by Lego Rovers Devon - see http://fullmeasure.co.uk/legoroversdevon. This is a LEGO Mindstorms NXT-2.0 with a Raspberry Pi attached - we connect to the Pi over WiFi and control the Mindstorms robot 'PiStorms' using the NXT-Python library https://code.goog... Visit Project
Video: https://www.youtube.com/watch?v=vFT_0SC_O3w Immediate objective -. The aim is to produce an electronic kit with OpenSource Hardware and Free Software tools to view live broadcast, control and program robots and prototypes over the Internet. Motivation -. Wanted thereby produce an onl... Visit Project
the aim of this project was to create a robot similar to the ones which go and have fun in mars. the additional feature is that astronauts can now show off to the other astronauts by using the leap motion to play with the robot on mars.. just kidding, the leap motion makes it simpler by copying y... Visit Project
Gesture Controlled Robo
Our project can help astronauts do a multitude of tasks. We want to make this robot efficient enough to be faster and better that the astronaut at particular task, independent of environmental issues. We will do this through different robots which will do the particular task well. Visit Project
Our project can help astronauts do a multitude of tasks. We want to make a robot efficient enough to be faster and better than the astronaut at a particular task, independent of environmental issues. We can do this through different robots with different purposes, all controlled with Leap Motion ... Visit Project
We made a LEGO NXT rover which could for example go through places untouchable by the mankind like earthquake ruins or something like that. And for obstacles like fires where an NXT couldn't go we also made a web remote control for quadcopter AR DRONE, so he could go above forests with widespread... Visit Project
Welcome to the collaborative hackpad! You can use this open document to collaborate with others, self organize, or share important data. Please keep in mind that this document is community created and any views, opinions, or links do not reflect an official position of the Space Apps Challenge, NASA, or any of our partners.
Building a team or looking for one to join? Feel free to create a Matchmaking section at the bottom of the document to help in gathering great minds together!
If you want to edit the Hackpad, or have trouble viewing it, please create an account at Hackpad.com