Recent Changes - Search:

Main

Robotics I Fall 2007

Robotics II Spring 2007

Robotics I Fall 2006

Vision Servoing Laboratories

FPGA-Based Vision

VDSP

LabVIEW Embedded

Code

Site Admin

edit SideBar

RoboticsIFall2007.Lab1 History

Hide minor edits - Show changes to output

Changed lines 61-63 from:
*[[http://www.inventiondb.com/browse.php?cubeid=2830 | VLAD Group Lab 1 ]]

* [[http://techcreation.cs.uml.edu/opdb/browse.php?cubeid=2874 | Rajesh Kaveti and Roland Neidert Lab1]]
to:
* [[http://www.inventiondb.com/browse.php?cubeid=2830 | VLAD Group Lab 1 ]]

* [[http://techcreation.cs.uml.edu/opdb/browse.php?cubeid=2874 | Rajesh Kaveti and Roland Neidert Lab1]]

* [[http://projects.cs.uml.edu/browse.php?cubeid=2896&tabid=&stabid=1 | Tor
]]
September 18, 2007, at 12:27 PM by 129.63.166.151 -
Changed line 63 from:
* [[http://www.inventiondb.com/browse.php?cubeid=2841 | Rajesh Kaveti and Roland Neidert Lab1]]
to:
* [[http://techcreation.cs.uml.edu/opdb/browse.php?cubeid=2874 | Rajesh Kaveti and Roland Neidert Lab1]]
September 18, 2007, at 12:24 PM by 129.63.166.151 -
Changed lines 61-63 from:
*[[http://www.inventiondb.com/browse.php?cubeid=2830 | VLAD Group Lab 1 ]]
to:
*[[http://www.inventiondb.com/browse.php?cubeid=2830 | VLAD Group Lab 1 ]]

* [[http://www.inventiondb.com/browse.php?cubeid=2841 | Rajesh Kaveti and Roland Neidert Lab1
]]
Changed lines 55-61 from:
* [[http://www.inventiondb.com/browse.php?cubeid=2823 | Mike Gagnon Lab 1]]
to:
* [[http://www.inventiondb.com/browse.php?cubeid=2823 | Mike Gagnon Lab 1 VLAD]]

* [[http://www.inventiondb.com/browse.php?cubeid=2836 | Kiersten Lemoine Lab 1 VLAD]]

* [[http://www.inventiondb.com/browse.php?cubeid=2838 | Brian Munroe Lab 1 VLAD]]

*[[http://www.inventiondb.com/browse.php?cubeid=2830 | VLAD Group Lab 1
]]
Changed lines 53-55 from:
* [[http://www.inventiondb.com/browse.php?cubeid=2827 | Brian Dukes and Andrew Sutton Robotics I Lab 1]]
to:
* [[http://www.inventiondb.com/browse.php?cubeid=2827 | Brian Dukes and Andrew Sutton Robotics I Lab 1]]

* [[http://www.inventiondb.com/browse.php?cubeid=2823 | Mike Gagnon
Lab 1]]
Changed line 53 from:
* ''next one goes here''
to:
* [[http://www.inventiondb.com/browse.php?cubeid=2827 | Brian Dukes and Andrew Sutton Robotics I Lab 1]]
Changed lines 51-53 from:
[[http://www.inventiondb.com/browse.php?cubeid=2832&tabid=&stabid=1 | Manuel Castillo and Jonah Choquette's Lab 1]]

*
to:
* [[http://www.inventiondb.com/browse.php?cubeid=2832&tabid=&stabid=1 | Manuel Castillo and Jonah Choquette's Lab 1]]

* ''next one goes here''
September 14, 2007, at 07:39 PM by Jonah Choquette - Added link to lab project
Added lines 51-52:
[[http://www.inventiondb.com/browse.php?cubeid=2832&tabid=&stabid=1 | Manuel Castillo and Jonah Choquette's Lab 1]]
September 07, 2007, at 05:12 PM by Fred Martin - fixed dates
Changed lines 3-5 from:
Assigned: Tuesday, September 5, 2006. \\
Due: Thursday, September 14, 2006, '''at the start of class.'''
to:
Assigned: Friday, September 7, 2007. \\
Due: Monday, September 15, 2007, '''at the start of class.'''
September 07, 2007, at 05:11 PM by Fred Martin - ported from 2006
Added lines 1-51:
!!Lab 1: Introduction to the Blackfin Handy Board, LabVIEW Embedded, and Braitenberg Vehicles

Assigned: Tuesday, September 5, 2006. \\
Due: Thursday, September 14, 2006, '''at the start of class.'''

!!Readings
Read the book excerpt ''Vehicles'' by Valentino Braitenberg that was handed out in class.  You have been given the first 2/3 of the book itself, the main section that presents a series of 14 hypothetical vehicles.  The subsequent section of the book describes the neurophysiology that motivates the stories.

'''Please be prepared to talk about the readings in class on Friday September 12.''' Thank you.


!!Implementation Projects

Build a base out of LEGO that can carry your Blackfin Handy Board.  It should have two motors: a left-side drive and a right-side drive.  You can use LEGO gear motors, DC motors, or servo motors (these will be explained).

'''Project 1.1:  LabVIEW Hello World.'''  LabVIEW will be new to most (or all) of you, and the Handy Board will be as well.  For this reason we have prepared a [[LabVIEW.HandyBoardTutorial | tutorial to get you started in creating programs on the Handy Board using LabVIEW.]]  In the tutorial, you will learn how to connect from the PC desktop to the Handy Board, and run a program that allows you to set the power of a motor output.  Please go through the tutorial.

'''Project 1.2: Vehicle 2 with LabVIEW Embedded.''' Having read Braitenberg, and also the presentation of his work in my text, mount two photocell light sensors on your robot and program it to drive in response to light sources per the Braitenberg Vehicle 2.

You should make a LabVIEW VI that performs the equivalent of the "normalize" function presented in my text.  This VI should take as input a raw light sensor reading (from 0 to 1023), and provide as output a motor power level (from 0 to 100).  Note that a bright light level yields a reading close to 0.  This should result in a normalized output near 100.

Then, using your Normalize VI, create a LabVIEW loop.  Inside the loop, wire each light sensor through an instance of the Normalize VI and then onto an output motor.  Set the motor to Sign-Magnitude PWM (''not'' Locked Antiphase).

Your LabVIEW wiring diagram should look like the Braitenberg Vehicle 2 schematic.  Does your vehicle seek and avoid the light, depending on whether the wiring is crossed?

'''Project 1.3: Touch sensors.''' Read through the discussion of building an obstacle-avoidance program in my text.  (Well, actually, the robot won't avoid obstacles; it will merely back up and turn away after it has hit them.)  Add two touch bumpers to your robot, and implement equivalent programs using LabVIEW.

'''Project 1.4: Touch sensors + Braitenberg.''' Figure out how to combine your obstacle-avoidance program with your Braitenberg light-seeking program.  When touch sensors are not pressed, the robot should perform light seeking.  When a touch sensor goes off, the robot should back up and turn away.  After a little while, it should continue with light seeking.

'''EXTRA CREDIT Project 1.5: Vehicle 4s – Non-monotonic relations.''' In your Vehicle 2, you created a Normalize VI, which essentially inverted and scaled the light reading.  In Braitenberg's Vehicle 4 chapter, ''Values and Special Tastes,'' he proposes non-monotonic (i.e., not continuously increasing) relationships between stimulus and output.  Add a 3rd or 4th light sensor to your robot and see if you can get some interesting behaviors going with multiple sensors feeding into each motor, and non-monotonic normalizers.

!!Write-Up

Projects 1.2 and onward should be documented on the [[http://inventiondb.com | Invention Database]].  Each member of your team should create an account for yourself.  Then create a team page (naming your robot, for example).  Whoever creates the page should list the other team members as co-authors so that you each can edit the pages.

Upload the VIs as source files for each of your projects.  Make sure they are clearly named.

Also make screen-captures of a close-up of the VI program (eliminate empty space as possible).  Upload these screen-snaps as images that show up in the main image area of your team's page.  Describe a bit about them in the caption area.

Use the InventionDB's blog feature to describe your results for each of the projects (1.2, 1.3, 1.4, and 1.5 if you did it).    Describe how your implementation works.  Describe the performance of the robot.  Explain what you tried that failed.  Lead the reader through the process you used to come up with your implementation

Also, make at least 1 movie of your robot doing its thing.  Use Quicktime Player or VLC to reduce the size of the MPG movie that's captured by the lab camera (InventionDB has an attachment size limit).  Upload to your team's site.


----

!Student Links to InventionDB Writeups

Link to your InventionDB cubes here.

*
Edit - History - Print - Recent Changes - Search
Page last modified on December 13, 2007, at 03:37 PM