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

Physical Sciences and Mathematics Commons

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

California Polytechnic State University, San Luis Obispo

Computer Engineering

Articles 1 - 30 of 49

Full-Text Articles in Physical Sciences and Mathematics

Developing A Miniature Smart Boat For Marine Research, Michael Isaac Eirinberg Jun 2022

Developing A Miniature Smart Boat For Marine Research, Michael Isaac Eirinberg

Computer Engineering

This project examines the development of a smart boat which could serve as a possible marine research apparatus. The smart boat consists of a miniature vessel containing a low-cost microcontroller to live stream a camera feed, GPS telemetry, and compass data through its own WiFi access point. The smart boat also has the potential for autonomous navigation. My project captivated the interest of several members of California Polytechnic State University, San Luis Obispo’s (Cal Poly SLO) Marine Science Department faculty, who proposed a variety of fascinating and valuable smart boat applications.


Procedural Plant Generation With Floragen, Christopher Wesley Wright Dec 2021

Procedural Plant Generation With Floragen, Christopher Wesley Wright

Computer Engineering

A particularly challenging aspect of game design revolves around asset creation. Often new developers become lost in nuances and time investment required to learn 3d asset creation software. While many game development platforms provide an internal asset store, these assets are often expensive or limited. These assets restrict the flexibility for a creator to fully control the product they create. A critical asset type in many games is flora. Good looking trees and plants add environmental variation when added properly. In this project, I designed and implemented an add-on dubbed FloraGen to the 3D modeling software Blender in which users …


Pier Ocean Pier, Brandon J. Nowak Jun 2021

Pier Ocean Pier, Brandon J. Nowak

Computer Engineering

Pier Ocean Peer is a weatherproof box containing a Jetson Nano, connected to a cell modem and camera, and powered by a Lithium Iron Phosphate battery charged by a 50W solar panel. This system can currently provide photos to monitor the harbor seal population that likes to haul out at the base of the Cal Poly Pier, but more importantly it provides a platform for future expansion by other students either though adding new sensors directly to the Jetson Nano or by connecting to the jetson nano remotely through a wireless protocol of their choice.


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 …


Robot Reporter Website Development, Samuel Verkruyse Jun 2019

Robot Reporter Website Development, Samuel Verkruyse

Computer Engineering

The Robot Reporter Website Development project created a front end interface for interacting with news stories generated by the Robot Reporter script that was originally developed for the Digital Democracy institute at Cal Poly. Various graphs, videos, and other interesting content is displayed to the user in order to create an automated news website focusing on activity in state legislatures.


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 …


Keylime, Eli William Partker Jun 2019

Keylime, Eli William Partker

Computer Engineering

Josh, Matt and I knew we wanted to develop a mobile app for our senior project because that is what we found ourselves to be most passionate about during our time here at Cal Poly. We started to think of problems we wanted to solve using an application and we came up with a couple ideas but chose to expand on one. Students come to Cal Poly every year new to the area and the food options San Luis Obispo provides. Many of the restaurants in SLO offer a variety of deals to the community and most of them to …


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.


Accessible And Responsive Website Design For Cal Poly Dbs Marine Education Program, Charles W. Alexander Jun 2019

Accessible And Responsive Website Design For Cal Poly Dbs Marine Education Program, Charles W. Alexander

Computer Engineering

In this project, I demonstrate how accessible and responsive designs are followed in order to implement a modern, multi-page website which both adapts to the size of the screen as well as has the logical, semantic structure needed for accessible technologies to accurately use the site. This website is designed for a marine education program, Dive Beneath the Surface, which hosts live streams of scientific divers as they interact in real time with students many miles away. Although this site will not be the streaming platform, it needs to host a repository of videos and lessons for those students and …


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.


Eye Pressure Monitior, Andrea Nella Levy Dec 2018

Eye Pressure Monitior, Andrea Nella Levy

Computer Engineering

The document describes a mobile application that takes information from an attached device which tests eye pressure. The device consists of an IOIO board connected to a custom device that measures the frequency of a given waveform. The device was designed by another student for their senior project, which I am taking over. This device is connected to an IOIO board which is a board designed by a Google employee which works with an android phone in order to create applications that work with embedded systems. The board comes with an API and connects to the phone via a micro-USB. …


Extractive Text Summarization With Deep Learning, Garrett G. Chan Jun 2018

Extractive Text Summarization With Deep Learning, Garrett G. Chan

Computer Engineering

This project explores extractive text summarization using the capabilities of Deep Learning. The goal of this project is to create an application with a neural network to take in text as its input, and create a summary that is a shorter, condensed version of the input text. This has been implemented in Python by configuring and training a neural network that takes in a vector of features that are extracted from the text using various Natural Language Processing libraries. The implementation demonstrates that we can train simple deep neural networks to successfully summarize text.


The Effect Of Endgame Tablebases On Modern Chess Engines, Christopher D. Peterson Jun 2018

The Effect Of Endgame Tablebases On Modern Chess Engines, Christopher D. Peterson

Computer Engineering

Modern chess engines have the ability to augment their evaluation by using massive tables containing billions of positions and their memorized solutions. This report examines the importance of these tables to better understand the circumstances under which they should be used. The analysis conducted in this paper empirically examines differences in size and speed of memorized positions and their impacts on engine strength. Using this technique, situations where memorized tables improve play (and situations where they do not) are discovered.


Raymarching The Mandelbulb Fractal In Vr, Timotheus Alexander Letz Jun 2018

Raymarching The Mandelbulb Fractal In Vr, Timotheus Alexander Letz

Computer Engineering

Elaborate 3D fractals, such as the mandelbulb, offer fascinating depths and structures that bear self-similarity as one zooms in closer and closer. Traditional rendering techniques focus on pre-rendering the fractal, to bypass the need for real-time display. To display and explore the mandelbulb in VR, this real-time display is needed, and can be provided through the use of “Raymarching”, a technique that allows for the rendering of scenes within the GPU. This paper explores various techniques and systems used to provide, augment, and accelerate this process.


Unreal Engine 4 Rpg, Jacob W. Russ, Jeffrey J. Nunez Jun 2017

Unreal Engine 4 Rpg, Jacob W. Russ, Jeffrey J. Nunez

Computer Engineering

Classic RPG videogames have become few and far between in the Western market over the years as modern RPG systems have gained popularity. The purpose of this project is to present a vertical slice of a hybrid RPG game that takes the gameplay mechanics and styles of classic RPG videogames and infuses them with a modern presentation. Through the use of the powerful Unreal Engine 4 graphics engine, this project is able to combine impressive graphical fidelity with modernized systems to fuel a videogame that is undeniably a classic RPG at heart. This is not a full game, but a …


Neural Network Ai For Fightingice, Alan D. Robison Jun 2017

Neural Network Ai For Fightingice, Alan D. Robison

Computer Engineering

Game AI in the fighting game genre, along the lines of Street Fighter, Mortal Kombat and Tekken, is traditionally script-based, with hard-coded reactions to various situations. Though this approach is often easy to understand and tweak, it requires substantial time and understanding of the game to implement in a way that is challenging and satisfying for the player due to the very large possibility space. This paper explores the use of neural networks as an alternative approach by implementing and training a network to select an action to take each frame based on the game state.


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.


Multispectral Identification Array, Zachary D. Eagan Jun 2017

Multispectral Identification Array, Zachary D. Eagan

Computer Engineering

The Multispectral Identification Array is a device for taking full image spectroscopy data via the illumination of a subject with sixty-four unique spectra. The array combines images under the illumination spectra to produce an approximate reflectance graph for every pixel in a scene. Acquisition of an entire spectrum allows the array to differentiate objects based on surface material. Spectral graphs produced are highly approximate and should not be used to determine material properties, however the output is sufficiently consistent to allow differentiation and identification of previously sampled subjects. While not sufficiently advanced for use as a replacement to spectroscopy the …


Procedurally Generating Genetic Keys, Adam A. Levasseur Jun 2017

Procedurally Generating Genetic Keys, Adam A. Levasseur

Computer Engineering

This project presents a method for creating multi-part models based on input keys to generate new, variant models via genetic algorithms. By utilizing 3D models as modular parts, this method allows for the generation of a unique, compound model based on one or multiple input keys. This paper explains the process of creating and testing such generation styles using simple geometry to create more complex, compound models.


Automated Grading Of Handwritten Numerical Answers, Mark T. Brown Jun 2017

Automated Grading Of Handwritten Numerical Answers, Mark T. Brown

Computer Engineering

The objective of this project was to automate the process of grading handwritten numerical answers in a classroom setting. The final program accepts a scanned answer sheet completed by the student along with a description of the correct answers and produces a detailed report describing the confidence of correctness for each answer.

Computer vision techniques are used to automatically locate the locations of the answers in the scan. Each digit is then passed through a convolutional neural network to predict what was written by the student. The individual probabilities of each digit produced by the network are aggregated into a …


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 Java software …


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 …


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 …


Real-Time, Non-Contact Heart Rate Monitor, Daniel Blike Jun 2016

Real-Time, Non-Contact Heart Rate Monitor, Daniel Blike

Computer Engineering

No abstract provided.


Battle Bot Ai – Patriot Bot, James Johnston Dec 2015

Battle Bot Ai – Patriot Bot, James Johnston

Computer Engineering

An entry in the the 'Battle Block AI' competition hosted by 'The AI Games'.


Mobilerp, Anthony Fata Dec 2015

Mobilerp, Anthony Fata

Computer Engineering

MobilERP is a system that increases traceability of parts in a manufacturing process in a simple paperless way. The system contains three components, a desktop application, a mobile app, and a database. The mobile application allows employees to scan (using a bar code scanner) parts that they are working/finishing on during the manufacturing process. As the part goes down the assembly line, individuals will barcode scan using the app to track the progress. These changes would get updated to the database, where then the designated person can track the progress of the part as well as any problems or concerns …


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.


'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, with testers …


Simple Macro: Addon For World Of Warcraft, Yemane Gebreyesus Jun 2015

Simple Macro: Addon For World Of Warcraft, Yemane Gebreyesus

Computer Engineering

This senior project was started to try and solve a problem within World of Warcraft. That particular problem is the underdeveloped default macro interface, which Simple Macro aims to remedy by creating a more user-friendly interface that is accessible by a wider audience. It employs a click through method of accessing and editing data to reduce the amount of typing necessary. The addon also has a feature to specifically help players that want to change a target in certain groups of macros all at once. The project was developed in both Lua and XML.


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 if they …