Title: What Projects you can do in ECE 574
1What Projects you can do in ECE 574
- This is an old and new class
- Theory removed
- Projects added
- New Embedded Systems Platforms and Robotics
Platforms - Technologies used in Previous classes
- FPGA
- Microcontrollers
- Revolutionary new technologies
- Adiabatic Quantum Computer from DWAVE link
through Internet - GPU Supercomputers and CUDA
- Tetrix Robotic Platform for Serious Hobby
Robotics
2Old Projects
- Spectral Transforms and DSP
- FFT Matching Sebastian Winter 2008
- Hough for Ovulo-computer
- Hough for robot PSUBOT
- Radon Transform
Some can be redesigned and improved
Logic Machines and Problem Solving LDM CCM Tautolo
gy Machine of Sasao Graph Coloring Oracle Decompos
ition Machine Rough Set Machine
Medical Ovulocomputer Cervix Cancer Teeth
measurement apparatus and patent
3Old Projects and possible collaborations
VISION Morphological Image Processor Canny Edge
Detector Sobel Edge Detector
- Crazy Student Ideas and Interesting blocks
- Systolic Sorter
- Sorter Absorber
- Julia set Winter 2008
- Quaternions and octonions for this task
- Sharks and fish
- Strange life generator
Robotics PID controller Adaptive PID Controller
Very Old from Poland Cement Company Rolling
Machine Turing Machine Multi-Channel PID
controller Tracking camera Spy camera on
workers Plotter Interpolator
Kameyama Emotional robot Ball catching Robot
4New FPGA/GPU/Controller Projects
- Diagnosis of Autism
- Hough for eye tracking
- Eye tracking for autism
- Prosody for autism
GPU GPU for quantum simulation GPU for GA and
Quantum GA GPU for motion of walking robot Stock
Market Predictor Many Body Dynamics simulation
Transforms Hough Radon for cancer
therapy Poisonous Mushrooms recognition Julia and
Mandelbrot set
Robot Controllers To Save Human Life Robot to put
signs on a Highway
Products for Fun and Entertainment Modern
Sculpture for your house Julia and Mandelbrot
set Generators extended to Quaternions, Octonions
and Clifford Algebras
Walking Robot Controllers for Entertainment Tetrix
FPGA Sozobot FPGA or micro
5Simpler GPU Projects
- Cellular Automata
- Quantum Computer simulation or matrix-matrix and
matrix-vector multiplication - Genetic Algorithm
- World visualization
- SAT
- Graph Coloring
- Constraints Satisfaction
6Constraint Satisfaction Projects
- Swarm
- Emotion Recognition for DWAVE
- Motion control for complex motions such as dances
and gymnastics for KHR-1 or Sozobot Robots. - Waltz algorithm for object recognition
- Error Correcting code design
- Graph coloring various variants
7Vision
- Hough Transform for lines ovulation prediction
application - Hough Transform for robot
- Hough Transform for circles cancer of eye
application - Vision processor based on morphological algebra.
8Spectral Transforms
- Fast Fourier
- Cosine
- Walsh
- Haar
- Linearly Independent
- Adding/Arithmetic
- Hough optimized
- Radon
- Hartley
- Matching
- Filtering-convolution
- From Alan Coppola - industrial
9Reconfigurable Computers
- CCM
- Neural Networks for Prof. Starzyk
- Neuro-biologically inspired for Prof. Kameyama
10Embedded Systems for Robots
- Using quaternions for a robot
- CMU cam for tracking
- Use of ASC Controller for robot
- Use of MSC controller
- Advanced robot controller for Prof. Levin
- Motion generation based on curves and their
processing for Prof. Traczyk and Buller/De Garis
FFT processing - Biped that dances
- Sozobot control
11Projects for Fall 2008
- Projects can be continued
- Winter 2009 in 572 class (Combinational Logic
class) - Spring 2009 in 573 class (Sequential Systems
class) - Spring 2009 in 510 Quantum Computing class.
- As Master of Science Thesis (Mathias, Vishwanath,
everybody else) - As PhD Thesis (Vamsi, Scott, Carlos)
- As individual projects for credit.
Seven projects as seven is a lucky number
12Our system
QC Orion
Camera
Display
Internet
Microphone
Speaker
PC
Bluetooth
Bluetooth
FPGA board
GPU board
Robots motors and effectors
Robots sensors
13Our system
QC Orion
Internet
Camera
Display
CS API
OpenCV
Microphone
Speaker
SAPI
SAPI
PC
Robot C
RobotC
Bluetooth
Bluetooth
VHDL
CUDA
Robots motors and effectors
Robots sensors
GPU board
FPGA board
14Project number 1 Spectral Transforms for object
recognition with rotation, scaling and
translation Vamsi Srinivas Parasa Group
Leader, Omar Joshi Lead HDL programmer,
Sudheer G FPGA expert
- Learn and present Fast Fourier Transform (FFT)
and other transforms that are useful for image
matching - Develop the concept of FPGA architecture for
object recognition as in title. - Present the previous work of Sebastian Schueppel
and other students - Learn how to take image from camera (with others
in this class) - Write Verilog or VHDL code for FPGA for Altera
Board. You can reuse any software from our
previous projects or from internet but you must
specifically mention what is it and give it to me
to compare. - Download to board.
- Test the board.
- Analyze
- Write a journal and a conference papers (if
applicable)
This project is a candidate for submission to DAC
contest in FPGA category
SPECTRAL PROJECT
15Spectral project
QC Orion
Internet
Camera
Display
CS API
OpenCV
Microphone
Speaker
SAPI
SAPI
PC
Robot C
RobotC
Bluetooth
Bluetooth
VHDL
CUDA
Robots motors and effectors
Robots sensors
GPU board
FPGA board
16Project number 2 Fractal Images based on higher
order algebrasScott Blakely, Vishwanath Kusugal
and Tobias Oerstein
- Learn about Mandelbrot Set and Julia sets.
Understand concept of fractals. - Learn how to take image from camera (with others
in this class) - Learn about OpenCV and image preprocessing
- Learn about complex numbers, quaternions and
octonions as their generalizations in higher
order algebras. - Learn about FPGA fractal generator from last year
project. Understand the interface - Build a processing system that starts from
camera, creates initial image and next processes
it fractally, using old (complex numbers) and new
(quaternions and octonions) theories
FRACTAL PROJECT
This project is a candidate to submission to DAC
contest in FPGA category
17FRACTAL project
QC Orion
Internet
Camera
Display
CS API
OpenCV
Microphone
Speaker
SAPI
SAPI
PC
Robot C
RobotC
Bluetooth
Bluetooth
VHDL
CUDA
Robots motors and effectors
Robots sensors
GPU board
FPGA board
18Project number 3 GPU and CUDAScott Storms,
Sagar Raj, one more from class, one out of class
CUDA project
- Present the architecture of GPU
- Present examples of codes in CUDA
- SAT
- Matrix Matrix multiplication
- Matrix Vector multiplication
- Emotion Recognition or Face Recognition
- Any other CS, Systolic or CA problem that can be
done efficiently on CUDA - Write software
- Download to coprocessor
- Test, analyze and write paper for conference
This project is a candidate to submission to DAC
contest in FPGA category
19CUDA project
QC Orion
Internet
Camera
Display
CS API
OpenCV
Microphone
Speaker
SAPI
SAPI
PC
Robot C
RobotC
Bluetooth
Bluetooth
VHDL
CUDA
Robots motors and effectors
Robots sensors
GPU board
FPGA board
20Project number 4 Constraint Satisfaction
Problem Interface to Adiabatic Quantum
ComputerDmitriy Labunsky, Boshra Samy and Yasuda
ORION project
- Learn and present about Constraint Satisfaction
Problems (Samy) - Give examples of Constraint satisfaction problems
(Samy) - Learn OpenCV how to acquire face image (Yasuda)
- Face recognition, Emotion Recognition or similar
problems for human-robot interaction in real time
as CS problems. (Yasuda and Samy) - Learn API to interface CS problems to quantum
computer Orion (Samy) - Test software (Dmitriy, Yasuda and Samy)
- Analyze and write journal paper (Dmitriy, Yasuda
and Samy) - Think about and propose Killer Applications
for CS/Orion
This project is a candidate to submission to DAC
contest in conceptual category
21ORION project
QC Orion
Internet
Camera
Display
CS API
OpenCV
Microphone
Speaker
SAPI
SAPI
PC
Robot C
RobotC
Bluetooth
Bluetooth
VHDL
CUDA
Robots motors and effectors
Robots sensors
GPU board
FPGA board
22Project number 5 Testing Reversible Logic
CircuitsCarlos Nieva
- What are reversible gates?
- What are reversible circuits?
- What is test?
- Stuck-at model and other models of faults
- Why reversible circuits are easy to test
- Previous work on testing reversible circuits
(Markov Hayes, Patel etc) - Work of Jeff Allen in his MS thesis.
- Your ideas of improving Jeffs model.
- Examples of testing real reversible oracles.
- Write a conference paper
This project is a candidate to submission to Test
conference contest for students
23Project number 5 Lego NXT/Tetrix robot Quincy
Chiu
SENSORS PROJECT
- Learn RobotC language
- Learn LegoNXT/Tetrix platform
- Build a mobile robot with an arm that can grab
items and transport them to other location. - This project has to concentrate on programming
sensors in a mobile robot with hand. - The project can be continued towards Artificial
Intelligence and new type of Neural Networks
developed in Ohio University - collaboration
This project will be used in our collaboration
with Tears of Joy Puppet Theatre and Ohio
University
24QC Orion
SENSORS PROJECT
Internet
Camera
Display
CS API
OpenCV
Microphone
Speaker
SAPI
SAPI
PC
Robot C
RobotC
Bluetooth
Bluetooth
VHDL
CUDA
Robots motors and effectors
Robots sensors
GPU board
FPGA board
Lego/Tetrix Robot
25Project number 6 Emotion Learning and Mimicking
Robot Mathias Sunardi. This is individual
project but done together with Dmitriy and other
students
- This work should be included in Mathias Thesis
- This work should use all software already
developed by Mathias - The project has to be an illustration of
integration of image processing, speech and
motion generation. - Mathias has to present his work early as a
lecture - Final demo at the end of the class.
- Details to be discussed in person.
DANCING PROJECT
This project will be used in our collaboration
with Tears of Joy Puppet Theatre
26QC Orion
DANCING PROJECT
Internet
Camera
Display
CS API
OpenCV
Microphone
Speaker
SAPI
SAPI
PC
C
VHDL
CUDA
Robots motors and effectors
Robots sensors
GPU board
FPGA board
KHR-1 Robot
accelerometer
27Project number 7 Realistic Hand motion
generation for a humanoid robot Aditya Bhutada.
This is individual project but done together with
Dmitriy and other students
- Learn about how servo works and present in class.
- Learn how stepper motor works and present in
class. - Learn how the ASC-16 controller works and present
in class. - Learn about a realistic human-like hand for
Dmitriys big robot - Write software for typical behaviors of the hand
such as shaking hand, greeting a human, playing
drum, etc. - Analyze and conclude results. Collaborate with
group of students who work on robot puppet.
HAND PROJECT
This project will be used in our collaboration
with Tears of Joy Puppet Theatre
28QC Orion
HAND PROJECT
Internet
Camera
Display
CS API
OpenCV
Microphone
Speaker
SAPI
SAPI
PC
C
ASC-16 Controller
VHDL
CUDA
Robots motors and effectors
Robots sensors
GPU board
FPGA board
Dmitris Robot
Accelerometer inclinometer
29First Project Presentations. Graded as part of
final project grade.
- Project Spectral Wamsi Parasa - Next week.
(others will speak later) - Project CUDA Scott Storms- Next week (others
will speak later) - Project Orion Bosra Samy - Two weeks from
today. (others will speak later) - Project Hand Aditya Bhutada two weeks from
now - Project Fractal Scott Blakely, Vishwanath
Kusugal and Tobias Oerstein two weeks from now - Project Sensors - Quincy Chiu two weeks from now
- Project Dancing Mathias Sunardi next week
- You must be prepared to speak at this time,
regardless what happened, even Martian attack on
Oregon. - You may be rescheduled.
30Project Example NXT Robots Their Applications
in Machine Learning
31Gantt Charts
Please create such charts for your project for
this quarter
Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10
Familiarize with hardware
Research programming environments
Learn to interface with the robots
Construction
Program robots
Program swarm autonomous robots network
Testing and Troubleshooting
Prepare for Final Presentation
Documentation
Goals
Accomplishments
Delayed
32Project Overview
- Original project goal To Program a swarm of
autonomous Lego NXT robots to perform a specific
task without human interaction. - To learn more about both the accuracy and
functionality of sensors and motors packaged with
the Lego NXT Robots -
- To learn to program in one or all of three Lego
oriented programming languages (Lejos, NXC, and
Robot C) -
- To apply what we know about machine learning to
teach robots or rather to allow them to learn
and behave based upon their environment and each
other.
33Approach Research
- Acquire hardware
- 4 Lego NXT kits
- 4 Bluetooth adapters
- 1.5V Batteries
- Familiarize with hardware
- Motors
- Sensors
- Brick
- Learn various programming languages
- Developed specifically for Lego NXT
- RobotC
- leJOS
- NXC
- Bluetooth compatible?
34Approach Programming
- RobotC
- Line Tracking
- NXC
- Bitbot Program
- Stores values in arrays
- Communicates through Bluetooth
- Master -gt Slave
- Light Following
- Random Movement
- Python
- Establish Bluetooth communication
35Technical Details
- Bluetooth
- Frequency of 2.402GHz to 2.480 GHz
- Spread Spectrum Frequency Hopping
- NXT Bluetooth capabilities
- Hardware
- CSR BlueCore 4 v2.0EDR System
- Supporting the Serial Port Profile
- Master to Slave communication only
- Bluetooth Adapter
- Kensington Bluetooth USB Adapter 2.0
- Lego NXT, Windows XP compatible
- Allows communication between PC and NXT
- Serial Connection
36Technical Details
- Programming
- NXC
- Similar to C
- Easy to use IDE
- Limited Bluetooth capabilities
- Limited processing power
- Python
- Scripted Language
- Used in many other applications
- Communication is between PC and NXT
- Will use PC processing power
37Technical Details
- Lego NXT Mindstorm
- Ports similar to RJ12 connectors for sensors
motors - Input
- Light
- Sound
- Ultrasound
- Touch
- Output
- Motors
- Brick
- Supports Bluetooth and 1 USB 2.0 port
- 32-bit ARM7 microcontroller _at_ 48MHz
- 256 KB of Flash Memory
- 64 KB of RAM
- 8-bit Atmel AVR microcontroller _at_ 4MHz
- 4 KB of Flash Memory
- 512 Bytes of RAM
38Homework 4. Cellular AutomatonThis is the last
homework of the class
- Find any simulator of Cellular Automata on the
WWW. - Recommended simulators are on my webpage.
- Select your own application for simulation. You
cannot take it from Internet but you can take and
modify the application if you clearly mention the
web address and you write what you modified. - Describe the cellular automaton. It can be
whatever you want. Here are some examples. - Game of life with modified rules
- Sobel filter
- Any other filter, may be your invention?
- Thinning algorithm
- Two-dimensional sorter
- Logic gate simulator
- Sharks and fish simulation
- Spread of religion simulation
- Economic system simulation
- Particle simulation
- Simulate
- Change parameters
- Simulate
- Draw conclusions and write a report.
- Present in class and make it really exciting
Midterm 1 is at the end of October
39Some slides used from Anjum Gupta, Roanne
Manzano, Eric Tsai and Jacob Robison