User:Dchiostri/ENES-100/Project 0

Week0 Preferences
CanBus LabView ComLock

Week1 Narrative
0/5/0 some communication on Canvas, but no back and forth dialogue that resulted in a task 1sfoerster (discuss • contribs) 18:43, 17 February 2014 (UTC)

Week2 Narrative
0/0/0 nothing to grade --1sfoerster (discuss • contribs) 14:42, 27 February 2014 (UTC)

Week3 Narrative
0/0/0 ... nothing to grade --1sfoerster (discuss • contribs) 15:11, 4 March 2014 (UTC)

Week4 Narrative
I watched the tutorial videos and found that only the first 10 were useful for learning LabView. The others dealt with either how LabView interacts with National Instrument products we don't have or were actually videos from a tutorial for a older versions of LabView. After that I began actually working with LabView to attempt to connect 2 computers (my laptop and home desktop) together through a LabView program. I decided to first learn how to open a notepad file so I would have a method of showing I had a practical (meaning capable of doing more than sending a ping or something along those lines) connection between the computers. A quick Google search found a VI called System Exec that can call a notepad file with the command "notepad filename.txt". Next I needed to know what VIs are used to make connections work. I decided the best way to learn this was to look at examples. Another Google search turned up 2 resources that may come in very handy in the future: NI's online database of examples and a more general purpose folder of example .vi's found per-installed with LabView that the online database is meant to supplement. These examples can be found at (install directory)\LabVIEW 2013\examples. I tested the examples "Simple TCP" and "TCP Named Service", both found in examples\Data Communication\Protocols\TCP, and was able to successfully connect my machines. I examined their block diagrams to see what VIs were used and how; then I tried to make a simplified version from scratch, with the exception that the data it was transmitting was a command to open notepad instead of a message or a random number. It met with limited success at first because the sending .vi moved too quickly and ended before the receiving was ready. I created a modified version of the sending that never ends, but cycles continuously to fix this. The programs now work for the most part, but their timing can still sometimes be off and I'm not sure why yet. Whats more, the endlessly repeating loop in the sending .vi will obviously have to go at some point.



I searched "DR Drone" on the internet and found out that it is in fact called an AR Drone. I next searched "Ar Drone LabView" and found 4 web sites of particular note:


 * AR Drone Toolkit for LabVIEW - LVH
 * AR Drone Control with Leap & Kinect using LabVIEW (YouTube)
 * AR Drone LabVIEW Toolkit Release 0.1
 * LabVIEW Interface for AR.Drone [LabVIEW Hacker]

The last is from a hackerspace devoted to LabView. Their AR Drone page in particular I found to be without merit, being largely a collection "to dos" and "coming soons", however the rest of the site may be of use in the future.

Moving up the list in reverse order, the "wordpress" toolkit (as I call it, after the host of the webpage) is an independent project created by one man for his master's thesis. In addition to being a potential alternative to the more "mainstream" toolkit, this website may also offer some insight into how LabView and the AR Drone interact at the more basic levels, since his actual master's thesis is available on the website as well as the toolkit itself.

Next is the video. The video is of minimal use to the AR Drone in the short run, but it is worth noting for 2 reasons. A: it may eventually be useful when learning how to "pilot" the drone, and B: it has a link to another toolkit used primarily for getting the kinect to interact with LabView, which maybe of more general interest.

Finally, on National Instruments' own website is a toolkit for download that is used to control the AR Drone, though it is categorized as a "Third-Party Standard Add-on". Both the hacker and video sites linked to this page. The page also includes a link to the developer's support page, though it doesn't have much on it. However you get the impression this may actually because it comes in fairly good working order with decent documentation to begin with and very little support has been needed up until now.

This research having been done I decided to download and install the tool kit off of NI's website. I clicked on Download and was redirected to a page with 2 step directions to install. I followed the 1st step and downloaded and installed the VI Package Manager (VIPM). When I installed I discovered it was actually already on the machine from the LabView installation, but it apparently needed an update as well. After the "install" I started up VIPM and it downloaded a list of toolkits, including AR Drone. This allowed me to install the toolkit right there and made step 2 on the install page unnecessary. During the installation 2 errors occurred. The first claimed that that VIPM couldn't communicate with LabView's VI Server. This was fixed by going to Options->VI Server->Machine Access and adding localhost to the list; and just below it in Exported VIs, adding * to that list. The other error was simply called error code 5. It was fixed by just trying again until the install worked; as far as I can tell, not even the developers know what causes it or how to actually fix it. I now have the toolkit installed on my home PC, but haven't had the opportunity to give it more than a quick glance to confirm it was indeed installed.


 * Way too wordy. Nobody is going to read it. Want summary here. Not dump of the chaos in your notebook. I am re-writing:

Starting point for learning VI: [videos Youtube Playlist] first 10 are general, after that the tutorials assume have NI hardware.

A VI is an icon that connects to things. System Exec is a VI that can launch programs. Searching for VI's is hard to do with the icon pallets, so NI's databases have been created that are searchable. Successfully tested the VI's "Simple TCP" and "TCP Named Service" to connect two machines where one launches a program on another. Had to send continuously in order for the receiver to work.

NEXT STEP: find some way to trigger the sender to stop sending commands when receiver starts program successfully

VI's are created by connecting icons of other VI's. Here is how the above VI's were connected:

Searched for a AR Drone VI. Found these sites
 * AR Drone Toolkit from LabVIEW website
 * video showing it work with LeapMotion & Kinect
 * Master's Thesis .. need to read
 * LabVIEW Hackerspace monitor this .. something useful may show up

Downloaded AR Done in VI Package Manager (VIPM). During the first installation, 2 errors occurred:


 * VIPM could not connect with the VI Server. This was fixed by going to Options->VI Server->Machine Access and adding localhost to the list; and just below it in Exported VIs, adding * to that list.
 * error code 5 fixed by just trying again until the install worked

Next Step: Try using this VI

10/10/60 ... very good ... I like the NEXT STEPS ... everyone should try to do this ... helps in the task negotiation ... I like the sideways graphics ... I like how just the facts are exposed ... I like how the links are described, why I may want to click on them --1sfoerster (discuss • contribs) 15:23, 11 March 2014 (UTC)