Difference between revisions of "ESE297 - Intro to Undergraduate Research"

From ESE497 Wiki
Jump to navigationJump to search
 
(184 intermediate revisions by 2 users not shown)
Line 1: Line 1:
* Meeting Time: Wednesday 8:30 - 10 am
+
[[File:IMG_1248.jpg|400px]]
* Office Hours: Monday 8:30 - 10 am or by appointment
+
 
* Team Members: Alex Gu, Andrew Wiens, Alexander Benjamin, Anisha Rastogi, Charlie Kang, Edison Kociu, Lisa Goldman, Michael Scholl, Sam Fok, Sarah Fern, Sophia (Xinyuan) Cui, Will Donnelly
+
ESE297 - Introduction to Undergraduate Research was created for students who wish to do Undergraduate Research projects in [[media:Robotic_Sensing_V4.pdf|Robotic Sensing]] under [http://ese.wustl.edu/people/Pages/faculty-bio.aspx?faculty=11 Professor Nehorai], the ESE Department Chair. This course is offered as ESE297 for 2 credits and is typically offered in the spring and summer. Students will learn how to implement sensor array signal processing algorithms on the [[LabVIEW for Robotics|LabVIEW for Robotics Starter Kit robots]] shown above using both Matlab and LabVIEW and develop Brain Computer Interface (BCI) algorithms using EEG signals. Students can then apply this knowledge to individual research projects in Robotic Sensing in subsequent semesters. ESE297 does not qualify as an EE elective.
* PhD Supervisor: Sandeep, Andrew, Phani
+
== Logistics ==
* Faculty Supervisor: Arye Nehorai
+
* '''Meeting Time''': Fri, 1:30-5:30 in Bryan 316
* Goal:
+
* '''Holidays''': Fall Break, Thanksgiving
** Part1: Case Study - Study acoustic source localization using Microphone array
+
* '''Instructor''': Ed Richter, Bryan 201E
*** Background and Theory
+
* '''T/A''': Stephen Gower (sgower@wustl.edu)
*** Data Acquisition Basics
+
* '''Office Hours''': Mon,Tues 2:30-4 (Ed), Thurs 8-10pm (Steve)
*** Introduction to Digital Signal Processing Tools
+
* '''[[media:Syllabus-FL15.pdf‎ |Syllabus]]'''
*** Graphical User Interface and Robot Control
+
* '''Expectations''': The work load is estimated to be 10 hours/week if you take it during the Fall or Spring semesters (20 hours/week for a summer semester). That is, students who earn an A will spend many unsupervised hours outside of the class meeting times. Grading is based on your Homework and your Projects. Late work will be accepted with a penalty of 3 points per day. Please see the syllabus for due dates.
** [[Part2: Implement algorithm using sbRIO robot and microphone array]]
+
 
 +
= Announcements =
 +
* Matlab available for Students now! Send email to support@seas.wustl.edu
 
== Lecture Notes ==
 
== Lecture Notes ==
* Topic 1: [http://classes.engineering.wustl.edu/ese497/index.php/File:Presentation_Robotic_Microphone_Array.pdf Acoustic Source Location Background and Theory]
+
* [[Accostic Source Location]]
** Additional references:
+
* [[Data Acquisition Basics]]
***[http://ese.wustl.edu/ContentFiles/Research/UndergraduateResearch/CompletedProjects/WebPages/fl08/JoshuaYork/index.html Joshua York, Acoustic Source Localization, ESE497, Fall 2008]
+
* [[Signal Processing Basics]]
***[http://ese.wustl.edu/ContentFiles/Research/UndergraduateResearch/CompletedProjects/WebPages/fl09/rms3/index.htm Raphael Schwartz and Zachary Knudsen, Robotic Microphone Sensing: Data Processing Architectures for Real-Time, Acoustic Source Position Estimation, ESE497, Fall 2009]
+
* [[Brain Computer Interface (BCI)]], [[media:BCI2000.zip|BCI2000.zip]]
** Task 1: Read the material that we discussed in our meeting today and the additional references listed above.
 
** Task 2: Derive the expressions presented in slide 10.
 
* Topic 2: Data Acquisition Basics
 
** [[media:LabVIEW_Introduction.pdf|LabVIEW Tutorial]]
 
*** Task 3 - Finish Exercises
 
*** [http://zone.ni.com/devzone/cda/tut/p/id/7521 Additional LabVIEW tutorials]
 
** [[media:Data_Acquisition_Basics.pdf|Data Acquisition Basics]]
 
*** Task 4 - Finish exercise
 
*** Task 5 (due 2/10/2010)  
 
**** Connect wires from A00 and AO1 to AI0+ and AI1+. Make sure that the Prototyping Power is on. Modify your vi to collect samples from both AI0 and AI1. Then open  [[media:DelayedChirp2DAC.zip|DelayedChirp2DAC.vi]] and run this vi. Zoom in in the time and frequency domain to examine the waveforms in detail. Describe in detail what you see. Measure the difference in time between both channels. Hint: Start and stop your Data Acquisition vi until the entire signal is in the middle of the buffer.
 
**** Plot the Cross Correlation of the 2 channels and see if the peak is shifted from the middle, the number of samples you measured from the previous step.
 
***** Hints:
 
****** Functions -> Express -> Conv & Coff -> Corss Correlation
 
****** This function requires that you extract the 2 channels from the DDT. To do this, use Functiions -> Express -> Sig Manip -> Single Waveform -> Channel 0 and then again for Channel 1. Connect the outputs of these to the X and Y inputs.
 
**** Plot the Spectrogram of Channel 0.
 
***** Hint: There is a good Spectrogram example that ships with LabVIEW. Go to Help -> Find Examples... and search for Spectrogram -> STFT Spectrogram Demo.vi. You can copy from this example and paste it into your code.
 
* Topic 3: Filters Basics
 
**[[Media:Filters_&_Application.pdf|Tutorial]]
 
***Task 6- Finish exercise from tutorial.
 
****[[Media:task1.zip|Solution]]
 
***Task 7- Use the signal processing palette in lab view to generate sinusoid waveform (Signal Processing -> Waveform Generation -> Sine Waveform) with two different frequencies and filter this signal to obtain two sinusoid signals corresponding to two frequencies of the input signal. Add Gaussian noise to this signal (Signal Processing -> Waveform Generation -> Gaussian White noise). Plot the spectrum (Express-> Signal Analysis -> Spectrum) of this signal and identify the frequencies corresponding to signal and noise. Use an appropriate filter (Express -> Signal Analysis -> Filter) to extract the original signal. Repeat with various filters and with increasing noise power. What is the relationship between the Standard Deviation of the WGN and the amplitude of the noise (Express -> Signal Analysis -> Histogram might help)? Note: If your graph X-axis is in absolute time instead of seconds, right click on the graph and select Properties -> Display Format -> X-Axis and set it to SI units.
 
  
== LabVIEW for Robotics Starter Kit ==
+
== Projects ==
* [[Media:LabVIEW_Robotics_Tutorial.pdf‎| LabVIEW for Robotics Starter Kit Tutorial]] - Running the demo Roaming.vi (obstacle avoidance)
+
* [[Project1:_Implement_algorithm_using_microphone_array| Project1: Implement algorithm using microphone array]]
* [[Media:Power_for_ASUS_Wireless_Bridge_and_USB_Dual_Pre.pdf‎ | Cabling Instructions for wireless bridge and Microphone Preamp to robot]]
+
* [[Project2:_Triangulation_with_sbRIO_robots|Project2: Triangulation with sbRIO robots]]
* [[Media:ASUS_WL-330gE_Setup_Instructions.pdf‎ | Instructions for connecting Robots to Wireless Network]]
+
* [[BCI Projects]]
* [http://www.ni.com/pdf/manuals/375052b.pdf sbRIO-9631 User Manual]
+
== 2013 Upgrade work-around ==
* [http://zone.ni.com/devzone/cda/tut/p/id/7492 sbRIO Training Module from National Instruments] - this is written for a different board but there is still a lot of good reference material in this.
+
* Copy [[media:RobotMicSourceLocator.vi|RobotMicSourceLocator.vi]] to RoboticSensing\MicSourceLocator
* [[Media:RoboticSensing.zip | Robotic Sensing LabVIEW Example Code]]
+
* Copy [[media:MoveWheels (Host).vi|MoveWheels (Host).vi]] to RoboticSensing\Examples\MoveWheels (Host).vi (***NOTE*** Change '_' to ' ')
** MicSourceLocator.lvproj - Project file
+
* Copy [[media:MoveRobot.vi|MoveRobot.vi]] to RoboticSensing\MicSourceLocator
*** My Computer
 
**** MicSourceLocator - folder containing simulation files to run on PC
 
*** Starter Kit sbRIO (IP)
 
**** Blink (Host).vi: Really simple FPGA/LabVIEW Real-Time example - Blinks the LED on the sbRIO and displays the value of a 32 bit counter running off a 40 MHz clock sampled every 100 ms.
 
**** DMA Buffered Acquisition (HOST).vi: - Acquires and displays samples from the ADC
 
**** Move Ultrasound Motor (Host).vi: - moves the servo motor on the top of the robot
 
**** MoveWheels (Host).vi: - moves the robot
 
**** Pending
 
***** Navigation Example
 
***** Wireless Networking
 
***** Shared Variables
 
**** FPGA
 
***** Pending
 
****** Final version of FPGA code
 

Latest revision as of 18:44, 2 October 2015

IMG 1248.jpg

ESE297 - Introduction to Undergraduate Research was created for students who wish to do Undergraduate Research projects in Robotic Sensing under Professor Nehorai, the ESE Department Chair. This course is offered as ESE297 for 2 credits and is typically offered in the spring and summer. Students will learn how to implement sensor array signal processing algorithms on the LabVIEW for Robotics Starter Kit robots shown above using both Matlab and LabVIEW and develop Brain Computer Interface (BCI) algorithms using EEG signals. Students can then apply this knowledge to individual research projects in Robotic Sensing in subsequent semesters. ESE297 does not qualify as an EE elective.

Logistics

  • Meeting Time: Fri, 1:30-5:30 in Bryan 316
  • Holidays: Fall Break, Thanksgiving
  • Instructor: Ed Richter, Bryan 201E
  • T/A: Stephen Gower (sgower@wustl.edu)
  • Office Hours: Mon,Tues 2:30-4 (Ed), Thurs 8-10pm (Steve)
  • Syllabus
  • Expectations: The work load is estimated to be 10 hours/week if you take it during the Fall or Spring semesters (20 hours/week for a summer semester). That is, students who earn an A will spend many unsupervised hours outside of the class meeting times. Grading is based on your Homework and your Projects. Late work will be accepted with a penalty of 3 points per day. Please see the syllabus for due dates.

Announcements

  • Matlab available for Students now! Send email to support@seas.wustl.edu

Lecture Notes

Projects

2013 Upgrade work-around