Open Access. Powered by Scholars. Published by Universities.®

Computer Engineering Commons

Open Access. Powered by Scholars. Published by Universities.®

Articles 1 - 30 of 40

Full-Text Articles in Computer Engineering

Grammar-Based Procedurally Generated Village Creation Tool, Kevin Matthew Graves Jun 2019

Grammar-Based Procedurally Generated Village Creation Tool, Kevin Matthew Graves

Computer Engineering

This project is a 3D village generator tool for Unity. It consists of three components: a building, mountain, and river generator. All of these generators use grammar-based procedural generation in order to create a unique and logical village and landscape each time the program is run.


Labeling Paths With Convolutional Neural Networks, Sean Wallace, Kyle Wuerch Jun 2019

Labeling Paths With Convolutional Neural Networks, Sean Wallace, Kyle Wuerch

Computer Engineering

With the increasing development of autonomous vehicles, being able to detect driveable paths in arbitrary environments has become a prevalent problem in multiple industries. This project explores a technique which utilizes a discretized output map that is used to color an image based on the confidence that each block is a driveable path. This was done using a generalized convolutional neural network that was trained on a set of 3000 images taken from the perspective of a robot along with matching masks marking which portion of the image was a driveable path. The techniques used allowed for a labeling accuracy ...


Identifying Hourly Traffic Patterns With Python Deep Learning, Christopher L. Leavitt Jun 2019

Identifying Hourly Traffic Patterns With Python Deep Learning, Christopher L. Leavitt

Computer Engineering

This project was designed to explore and analyze the potential abilities and usefulness of applying machine learning models to data collected by parking sensors at a major metro shopping mall. By examining patterns in rates at which customer enter and exit parking garages on the campus of the Bellevue Collection shopping mall in Bellevue, Washington, a recurrent neural network will use data points from the previous hours will be trained to forecast future trends.


Reach - A Community Service Application, Samuel Noel Magana Jun 2019

Reach - A Community Service Application, Samuel Noel Magana

Computer Engineering

Communities are familiar threads that unite people through several shared attributes and interests. These commonalities are the core elements that link and bond us together. Many of us are part of multiple communities, moving in and out of them depending on our needs. These common threads allow us to support and advocate for each other when facing a common threat or difficult situation. Healthy and vibrant communities are fundamental to the operation of our society. These interactions within our communities define the way we as individuals interact with each other, and society at large. Being part of a community helps ...


Extension Of Cpe 454 Operating System, Joseph Nathaniel Arhar Jun 2018

Extension Of Cpe 454 Operating System, Joseph Nathaniel Arhar

Computer Science and Software Engineering

This project extended on the operating system I wrote in CPE 454 by adding additional features on top of the existing implementation. In order to implement them, I researched operating system design patterns and hardware details. I used wiki.osdev.org for most research, just like I did in CPE 454. The source code for the project is at https://github.com/josepharhar/jos.


Funqual: User-Defined, Statically-Checked Call Graph Constraints In C++, Andrew P. Nelson Jun 2018

Funqual: User-Defined, Statically-Checked Call Graph Constraints In C++, Andrew P. Nelson

Master's Theses and Project Reports

Static analysis tools can aid programmers by reporting potential programming mistakes prior to the execution of a program. Funqual is a static analysis tool that reads C++17 code ``in the wild'' and checks that the function call graph follows a set of rules which can be defined by the user. This sort of analysis can help the programmer to avoid errors such as accidentally calling blocking functions in time-sensitive contexts or accidentally allocating memory in heap-sensitive environments. To accomplish this, we create a type system whereby functions can be given user-defined type qualifiers and where users can define their ...


Underwater Computer Vision - Fish Recognition, Spencer Chang, Austin Otto Jun 2017

Underwater Computer Vision - Fish Recognition, Spencer Chang, Austin Otto

Computer Engineering

The Underwater Computer Vision – Fish Recognition project includes the design and implementation of a device that can withstand staying underwater for a duration of time, take pictures of underwater creatures, such as fish, and be able to identify certain fish. The system is meant to be cheap to create, yet still able to process the images it takes and identify the objects in the pictures with some accuracy. The device can output its results to another device or an end user.


Using Intel Realsense Depth Data For Hand Tracking In Unreal Engine 4, Granger Lang Mar 2017

Using Intel Realsense Depth Data For Hand Tracking In Unreal Engine 4, Granger Lang

Liberal Arts and Engineering Studies

This project describes how to build a hand tracking method for VR/AR using the raw data from a depth sensing camera.


Iota Pi Application For Ios, Deborah Newberry Mar 2017

Iota Pi Application For Ios, Deborah Newberry

Computer Science and Software Engineering

Kappa Kappa Psi is a national honorary fraternity for college band members. They meet every Sunday night, and during these meetings they plan events (both internal and external) that aim to meet our goal of making sure that the Cal Poly band programs have their social, financial, material, and educational needs satisfied. This paper details the steps I took to create an application for them to use internally to help ease organizational processes.


Android Drone: Remote Quadcopter Control With A Phone, Aubrey John Russell Dec 2016

Android Drone: Remote Quadcopter Control With A Phone, Aubrey John Russell

Computer Engineering

The purpose of the “Android Drone” project was to create a quadcopter that can be controlled by user input sent over the phone’s Wi-Fi connection or 4G internet connection. Furthermore, the purpose was also to be able to receive live video feedback over the internet connection, thus making the drone an inexpensive option compared to other, equivalent drones that might cost thousands of dollars. Not only that, but the Android phone also has a host of other useful features that could be utilized by the drone: this includes GPS, pathing, picture taking, data storage, networking and TCP/IP, a ...


Prosense, Johnny Favazza Ii, Casey Glasgow, Matt Epperson Jun 2016

Prosense, Johnny Favazza Ii, Casey Glasgow, Matt Epperson

Computer Engineering

This project aims to gather advanced data sets from MEMS sensors and GPS and deliver it to the user, who can capitalize on the data. The once negligible half-degree difference of your board barreling down a wave can be recorded from a gyro and exploited for the perfect turn. The exact speed dreaded by longboarders where speed wobbles turn into a road rash can be analysed and consequently avoided. Ascertaining the summit of your flight using combined GPS sensors from the ski ramp allows for the correct timing of tricks. When it comes to pursuing excellence in professional sports, amateur ...


Musictrakr, Benjamin Lin Jun 2016

Musictrakr, Benjamin Lin

Computer Engineering

MusicTrackr is an IoT device that musicians attach to their instruments. The device has a start and stop button that allows users to record their playing sessions. Each recorded session is sent wirelessly to a cloud database. An accompanying website displays all of the recorded sessions, organized by date. After picking a specific date, the user can view graphs showing total practice time and average session length as well play back any recordings during that date. In addition, the user may add comments to any specific date or recording. Lastly, the user may tag a specific date with a color ...


Rfid Microscope Lab, Patricia Carranza Sep 2015

Rfid Microscope Lab, Patricia Carranza

Computer Engineering

The RFID Microscope Lab is a new exhibit created for the San Luis Obispo Children's Museum. The goal of the project is to create a modern, interactive exhibit that will teach children about different natural specimens through the use of technology. A computer, custom software, and RFID technology, will be used to display facts, microscopic images, and short videos of ten different specimens.


Panorama: Multi-Path Ssl Authentication Using Peer Network Perspectives, William P. Harris Jun 2015

Panorama: Multi-Path Ssl Authentication Using Peer Network Perspectives, William P. Harris

Computer Engineering

SSL currently uses certificates signed by Certificate Authorities (CAs) to authenticate connections. e.g. Google will pay a CA to sign a certificate for them, so that they can prove that they're not someone pretending to be Google. Unfortunately, this system has had multiple problems, and many believe that an alternative needs to be found.

One of the ideas for alternatives is using multiple "network perspectives" to authenticate a server. The idea behind this is that, though playing man-in-the-middle (MITM) with one connection is easy, it should be difficult for an adversary to do so with many connections, especially ...


'Fo Fighter: 2d Real-Time Game, Cary Dobeck Jun 2015

'Fo Fighter: 2d Real-Time Game, Cary Dobeck

Computer Engineering

‘FO Fighter is a 2D real-time game for Android and iOS mobile devices. The game utilizes the motion sensors and touch screens built within these devices to give the player a great amount of control over their character’s position and firing direction. This control allows for a reactive environment set in outer space, where gravity is determined by the device’s orientation, while the player must dodge, fight and destroy multiple enemy fighters on each planet in the solar system. ‘FO Fighter has been tested throughout its development cycle on numerous devices on both the Android and iOS platforms ...


Fresh Bytes - Connected Hydroponics For Small-Scale Growing, Jack Bowen Dec 2014

Fresh Bytes - Connected Hydroponics For Small-Scale Growing, Jack Bowen

Liberal Arts and Engineering Studies

Many users are now transitioning to small-scale hydroponics and aquaponics at home. There can be a barrier to entry with these systems as there is a delicate balance of chemicals, pH, etc. that must be maintained. There are sensors for these various components but they are either aimed at commercial production or are un-automated. Fresh Bytes is a microcomputer with sensors to detect all of these unseen components in a hydroponic system. A prototype of this microcomputer is produced along with CAD plans for more professional versions of it. The sensors are verified and future development is contemplated.


Design Of Cpu Simulation Software For Armv7 Instruction Set Architecture, Dillon Tellier Jun 2014

Design Of Cpu Simulation Software For Armv7 Instruction Set Architecture, Dillon Tellier

Computer Engineering

Simulations have long been a part of the engineering process in both the professional and academic domain. From a pedagogic standpoint, simulations allow students to explore the dynamics of engineering scenarios by controlling variables, taking measurements, and observing behavior which would be difficult or impossible without simulation. One such tool is a CPU simulator used in Cal Poly’s Computer Architecture classes; this software simulates an instruction accurate operation of a computer processor and reports statistics regarding the execution of the supplied compiled machine code. For the last several years Cal Poly’s computer architecture classes have used a previous ...


Spirit: A Home Automation System, Andrew Choi Jun 2014

Spirit: A Home Automation System, Andrew Choi

Computer Engineering

Spirit is a multi device home automation system. Designed and implemented for California Polytechnic State University’s Senior Project program, this project was worked on during the duration of two school quarters from January 7, 2014 to June 13, 2014. The system consists of monitor/controllers designed to carry out everyday tasks in the average American household and an accompanying mobile application designed to receive information and control the devices. The monitor/controllers, or “Spirits”, are primarily developed using Arduino development tools and Arduino microcontroller boards. The spirits include a thermostat, named Tempus, an electrical outlet, Electrus, and a wall ...


Autotab - Automatic Guitar Tablature Generation, Shaun Boley, Anthony Cisneros, Eric Kauzlarich Jun 2014

Autotab - Automatic Guitar Tablature Generation, Shaun Boley, Anthony Cisneros, Eric Kauzlarich

Computer Engineering

Our project consists of two different parts:

The first part contains an analysis of various pitch estimation algorithms. A number of different open-source pitch estimation libraries were tested using guitar recordings in order to gauge how accurately and consistently they outputted the correct frequencies. The results showed that the algorithms did not perform up to expectations, especially when testing with guitars with wound strings and within certain frequency ranges.

The second part details the creation of a tablature generator. It reads in a note sequence as an input, then generates tablature in the form of ASCII text. A modified greedy ...


Regen: Optimizing Genetic Selection Algorithms For Heterogeneous Computing, Scott Kenneth Swinkleb Winkleblack Jun 2014

Regen: Optimizing Genetic Selection Algorithms For Heterogeneous Computing, Scott Kenneth Swinkleb Winkleblack

Master's Theses and Project Reports

GenSel is a genetic selection analysis tool used to determine which genetic markers are informational for a given trait. Performing genetic selection related analyses is a time consuming and computationally expensive task. Due to an expected increase in the number of genotyped individuals, analysis times will increase dramatically. Therefore, optimization efforts must be made to keep analysis times reasonable.

This thesis focuses on optimizing one of GenSel’s underlying algorithms for heterogeneous computing. The resulting algorithm exposes task-level parallelism and data-level parallelism present but inaccessible in the original algorithm. The heterogeneous computing solution, ReGen, outperforms the optimized CPU implementation achieving ...


A Comparison Of Image Processing Techniques For Bird Detection, Elsa Reyes Jun 2014

A Comparison Of Image Processing Techniques For Bird Detection, Elsa Reyes

Master's Theses and Project Reports

Orchard fruits and vegetable crops are vulnerable to wild birds and animals. These wild birds and animals can cause critical damage to the produce. Traditional methods of scaring away birds such as scarecrows are not long-term solutions but short-term solutions. This is a huge problem especially near areas like San Luis Obispo where there are vineyards. Bird damage can be as high as 50% for grapes being grown in vineyards. The total estimated revenue lost annually in the 10 counties in California due to bird and rodent damage to 22 selected crops ranged from $168 million to $504 million (in ...


Coffee: Context Observer For Fast Enthralling Entertainment, Anthony M. Lenz Jun 2014

Coffee: Context Observer For Fast Enthralling Entertainment, Anthony M. Lenz

Master's Theses and Project Reports

Desktops, laptops, smartphones, tablets, and the Kinect, oh my! With so many devices available to the average consumer, the limitations and pitfalls of each interface are becoming more apparent. Swimming in devices, users often have to stop and think about how to interact with each device to accomplish the current tasks at hand. The goal of this thesis is to minimize user cognitive effort in handling multiple devices by creating a context aware hybrid interface. The context aware system will be explored through the hybridization of gesture and touch interfaces using a multi-touch coffee table and the next-generation Microsoft Kinect ...


Virtual Reality Engine Development, Varun Varahamurthy Jun 2014

Virtual Reality Engine Development, Varun Varahamurthy

Master's Theses and Project Reports

With the advent of modern graphics and computing hardware and cheaper sensor and display technologies, virtual reality is becoming increasingly popular in the fields of gaming, therapy, training and visualization. Earlier attempts at popularizing VR technology were plagued by issues of cost, portability and marketability to the general public. Modern screen technologies make it possible to produce cheap, light head-mounted displays (HMDs) like the Oculus Rift, and modern GPUs make it possible to create and deliver a seamless real-time 3D experience to the user. 3D sensing has found an application in virtual and augmented reality as well, allowing for a ...


Conception, Design And Construction Of A Remote Wifi Vehicle Using Arduino, Clayton Broman Mar 2014

Conception, Design And Construction Of A Remote Wifi Vehicle Using Arduino, Clayton Broman

Physics

The scope of this senior project was to make a wireless vehicle controlled via Internet Protocol. This vehicle operates remotely and without direct line of sight. Commands are sent from a program running on a laptop and transmitted using a wireless router. Visual data is retrieved from a network camera, mounted on the vehicle, in real-time, to see where you are going.


Protocases, Christopher M. Polis Jun 2013

Protocases, Christopher M. Polis

Computer Engineering

Design and implementation of a 3D printing web application.


Inform 7 Usability Precompiler, Chad Robert Brantley, Timothy Phan Jun 2013

Inform 7 Usability Precompiler, Chad Robert Brantley, Timothy Phan

Computer Engineering

Inform 7 Usability Precompiler or I7UP is a project which helps Inform 7 authors with their stories by diversifying the possibilities in the author’s interactive fiction. I7UP reads and analyzes the Inform story that is passed in through python and natural language processing then provides the user with a selection of choices to add to his story and lastly automatically generates the corresponding Inform 7 code. By utilizing the combination of Python, Django, and HTML/CSS, I7UP is able to provide an easytouse interface which helps generate additional "Understand" statements and "Conjugated Verb" statements. I7UP is an authoring aid ...


Channels: Easy Video Content Consumption, Alexander R. Ledwith Jun 2013

Channels: Easy Video Content Consumption, Alexander R. Ledwith

Computer Engineering

The idea for this project is to take a user’s digital movie and television show library, and organize the individual videos into lists that will continuously and concurrently play like cable TV channels. This means that when a list of channels is switched to, video content will automatically start playing, possibly in the middle, based on a schedule. It should serve the needs of the user by allowing the user to quickly watch any of their existing channels, easily add a new channel based on chosen criteria or manual selection, and easily add new video content. In addition, the ...


Wireless Sensor Network For Wine Fermentation, Kerry Scharfglass, Andrew Lehmer Jun 2012

Wireless Sensor Network For Wine Fermentation, Kerry Scharfglass, Andrew Lehmer

Computer Engineering

This project implements an automated temperature monitoring system for wine fermentation which is affordable, easy to use, and scalable to typical small winery setups. To realize these requirements, we implemented the system as a wireless sensor network utilizing commercial off-the-shelf hardware. Temperature and system diagnostic information is communicated wirelessly in a peer-to-peer network topology such that all information flows toward an aggregating server. The server makes the temperature information available over the Internet via a web application and alerts the winemaker by email when the temperature has left acceptable bounds that the winemaker may configure. This project also involved materials ...


Beaglebone Webcam Server, Alexander Corcoran Jun 2012

Beaglebone Webcam Server, Alexander Corcoran

Computer Engineering

The Beaglebone Webcam Server is a Linux based IP webcam, based on an inexpensive ARM development board, which hosts its own web server to display the webcam feed. The server has the ability to either connect to a wired router, or to act as a wireless access point in order for users to connect and control its functions via any Wi-Fi enabled device.


Cuda Web Api Remote Execution Of Cuda Kernels Using Web Services, Massimo J. Becker Jun 2012

Cuda Web Api Remote Execution Of Cuda Kernels Using Web Services, Massimo J. Becker

Master's Theses and Project Reports

Massively parallel programming is an increasingly growing field with the recent introduction of general purpose GPU computing. Modern graphics processors from NVIDIA and AMD have massively parallel architectures that can be used for such applications as 3D rendering, financial analysis, physics simulations, and biomedical analysis. These massively parallel systems are exposed to programmers through in- terfaces such as NVIDIAs CUDA, OpenCL, and Microsofts C++ AMP. These frame- works expose functionality using primarily either C or C++. In order to use these massively parallel frameworks, programs being implemented must be run on machines equipped with massively parallel hardware. These requirements limit ...