ECE497 Project RoverGUI

From eLinux.org
Revision as of 05:35, 14 November 2012 by Chris.good (Talk | contribs)

Jump to: navigation, search

thumb‎ Embedded Linux Class by Mark A. Yoder


Team member: Chris Good

Grading Template

I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!

00 Executive Summary
00 Installation Instructions 
00 User Instructions
00 Highlights
00 Theory of Operation
00 Work Breakdown
00 Future Work
00 Conclusions
00 Demo
00 Late
Comments: I'm looking forward to seeing this.

Score:  00/100

Executive Summary

This project is to create a GUI that could be used to control the rover project found here:ECE497_Project_Rover The GUI will have two interfaces. The more simple one can control forward, backwards, and turning. The other will be GUI based on the Google Maps API so that users can click waypoints for the rover to travel.

The curent code will allow the user to place into a file either simple commands or a list of coordinates from the Google Maps API.

Although in itself this project would likely not be of much use, it will give certain projects a very useful and easy to integrate user interface.

Installation Instructions

First, ensure node.js is installed by running:

beagle$ opkg install nodejs

Next, the GUI can be downloaded from here. No compiling is needed so the GUI is now ready to be used.

User Instructions

Move to the top level of the directory GUI directory. To run the GUI server, run:

beagle$ node GUI.js

Then, from any networked browser point to:

beagle$ beagle:8081

where beagle is the IP of the BeagleBone. The browser will now be pointed to the home screen of the GUI. Either the simple direction GUI or the Google Maps GUI can now be selected by clicking the text of the option you would like to select.

RoverGUIHome.PNG

Selecting the simple control option will send you to the simple control GUI.

RoverGUISimple.PNG

Clicking on a button will cause create a file in the top directory of the GUI directory called inst.txt that will contain only the text from the button most recently clicked. In this way, the program to be controlled can watch this file and carry out the instruction currently in the file. With some easy modification to the source code more buttons can be created that will add any additional functionality.

(39.4824644923698, -87.32401371002197)
(41.88592102814744, -87.626953125)
(41.50857729743935, -81.683349609375)
(38.27268853598097, -85.75927734375)
(39.48246138709902, -87.32401169836521)

Highlights

The user will be able to go to the location they would like the rover to travel and click on positions. The rover will then travel to these locations in order.

More to come.

Theory of Operation

The server on the BeagleBone is running using socket.io with node.js. The GUI will then use either basic buttons or the Google Maps API to send instructions to the rover. The instructions are then saved to a file that can be read by the BeagleBone.

Work Breakdown

All work is done by Chris Good Future work: Implement basic control Implement files to save instructions to Parse clicks from Google Maps API

Future Work

Since the instructions will be saved in a very simple text format file, any number of devices that could make use of simple controls or waypoint data would be potentially able to use this data. Furthermore, it could be modified to send the instructions in another method in order to comply to a device that already exists.

Conclusions

This project will give a more natural feeling to controlling the rover project.




thumb‎ Embedded Linux Class by Mark A. Yoder