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

Computer Engineering Commons

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

Theses/Dissertations

Computer Engineering

Discipline
Keyword
Publication Year
File Type

Articles 1 - 30 of 242

Full-Text Articles in Computer Engineering

Bpm: Blz Package Manager, Kenneth Huang Jun 2019

Bpm: Blz Package Manager, Kenneth Huang

Computer Engineering

bpm (BLZ Package Manager) is a package manager for the open-source programming language BLZ, built in Java. It allows users of the BLZ programming language to create and upload their own packages, as well as downloading necessary dependency packages for their packages. To do this, the program communicates with the “cardiovascular”, a web server designed for users to upload and download BLZ packages.

The program has three primary functions. The first one, “init”, initializes a package directory for use with the package manager. Part of this initialization is creating a “heartbeat” meta file, which holds information about the package’s ...


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.


Raspberry Pi Enterprise Network Wifi Bridge, Dylan Halland, Riley Barrett Jun 2019

Raspberry Pi Enterprise Network Wifi Bridge, Dylan Halland, Riley Barrett

Computer Engineering

The goal of this project is to allow an IoT device, such as a Weemo Smart Plug, Amazon Echo, Gaming Console, or any other Wi-Fi enabled device to connect to a WPA_EAP Enterprise Network by using a Raspberry Pi Zero W as a packet forwarding device. Extra configuration steps are required for devices connecting to an enterprise network, and many devices are not compatible at all. By using a Wi-Fi Bridge, any device can easily obtain internet access by connecting to the Pi.

The system can be implemented on either one wireless card or two separate cards depending on the ...


Weight Controlled Electric Skateboard, Zachary Barram, Carson Bertozzi, Vishnu Dodballapur Jun 2019

Weight Controlled Electric Skateboard, Zachary Barram, Carson Bertozzi, Vishnu Dodballapur

Computer Engineering

Technology and the way that humans interact is becoming more vital and omnipresent with every passing day. However, human interface device designers suffer from the increasingly popular “designed for me or people like me” syndrome. This design philosophy inherently limits accessibility and usability of technology to those like the designer. This places severe limits of usability to those who are not fully able as well as leaves non-traditional human interface devices unexplored. This project set out to explore a previously uncharted human interface device, on an electric skateboard, and compare it send user experience with industry leading human interface devices.


An Fpga Implementation Of Digital Guitar Effects, Carson James Robles Jun 2019

An Fpga Implementation Of Digital Guitar Effects, Carson James Robles

Computer Engineering

One of the most versatile aspects of the electric guitar is its ability to change its sound completely and on-the-fly through the use of effects pedals. Conventional guitar pedals contain one effect and can be chained together. The goal of this project is to serve as a contained multi-effects station with five popular electric guitar effects packed into one product. On top of this, the effects each have two tunable parameters to allow users to dial in the exact tone they are looking for. All of the signal processing done in this project is conducted on an FPGA which also ...


Planr.: Planar Learning Autonomous Navigation Robot, Gabrielle S. Santamorena, Daniel Kasman, Jesus Mercado, Ben Klave, Andrew Weisman, Anthony Fortner Jun 2019

Planr.: Planar Learning Autonomous Navigation Robot, Gabrielle S. Santamorena, Daniel Kasman, Jesus Mercado, Ben Klave, Andrew Weisman, Anthony Fortner

Computer Engineering

PLANR is a self-contained robot capable of mapping a space and generating 2D floor plans of a building while identifying objects of interest. It runs Robot Operating System (ROS) and houses four main hardware components. An Arduino Mega board handles the navigation, while an NVIDIA Jetson TX2, holds most of the processing power and runs ROS. An Orbbec Astra Pro stereoscopic camera is used for recognition of doors, windows and outlets and the RPLiDAR A3 laser scanner is able to give depth for wall detection and dimension measurements. The robot is intended to operate autonomously and without constant human monitoring ...


Tidalsim Senior Project Report, Kent Zhang, Colin Vandervoort Jun 2019

Tidalsim Senior Project Report, Kent Zhang, Colin Vandervoort

Computer Engineering

Throughout the course of this project, our team helped the Cal Poly Biological Sciences department refine an intertidal zone simulator. The aim of this device is to allow any marine biologist to easily simulate a vast range of tidal zones in order to test animal behaviors within these zones. Another goal of this project is to make each simulation tank independent from the others by using a single microcontroller to handle all inputs and outputs of the system as well as logging all relevant data. The current system is set up so that a separate microcontroller handles dissolved oxygen and ...


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 ...


Digital Forensics Challenge, Zoe Lie, Sydney Marie Mendoza Jun 2019

Digital Forensics Challenge, Zoe Lie, Sydney Marie Mendoza

Computer Engineering

No abstract provided.


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 ...


Keylime, Joshua Michael Magera Jun 2019

Keylime, Joshua Michael Magera

Computer Engineering

New freshmen arrive at Cal Poly every year, experience Week of Welcome, and, if they haven’t been to Firestone Grill within the first week, they can consider themselves an anomaly. But how long until those freshmen find the amazing sandwiches and breakfast burritos served at Gus’s Grocery or hear about the free burger promo at Sylvester’s? The goal of this senior project was to create an app, KeyLime, that makes it easy for college students to find new eateries and fresh deals that are local, affordable, and tasty. KeyLime aims to target college students and create a ...


Vehicle Control Unit, Ayusman Saha Jun 2019

Vehicle Control Unit, Ayusman Saha

Computer Engineering

The Vehicle Control Unit (VCU) is the central computer for Cal Poly’s Society of Automotive Engineers (SAE) formula electric race car. It is responsible for processing driver inputs, managing the electric motor, and providing a robust safety net in the case of system failure. Additional functionality of the system include a power limiting mechanism as well as a traction control system. All VCU logic had to abide by SAE International rules for the competition. This project focused solely on the firmware for the VCU.


Don't Trip! A Quicker Way To Plan Your Trip, Jose Cruz Arinaga, Ryan Wong Jun 2019

Don't Trip! A Quicker Way To Plan Your Trip, Jose Cruz Arinaga, Ryan Wong

Computer Engineering

Currently, Google Maps does not provide users with a way to find the optimal path for a user to travel given a list of points. Given a list of destinations you may want to visit, our web application will do all of the difficult planning for you and ultimately find the most optimal path for you to take to visit all of your destinations in a timely manner. The people who will benefit most from this application are tourists or people who travel often and want to explore an unfamiliar city. Even locals running their weekly errands could save time ...


The Soul Annoyed Robot: A Senior Project Report, Dayton Andrew Muxlow, Christian Johansen Jun 2019

The Soul Annoyed Robot: A Senior Project Report, Dayton Andrew Muxlow, Christian Johansen

Computer Engineering

Our goal for this senior project was to create a competitive robot designed to com- pete in Roborodentia 2019. Our project started during the Winter 2019 quarter, and ended with the competition on May 18, 2019. During that time, we developed an accurate solenoid shooting mechanism, an elevated conveyor belt to carry poker chips, and a servo arm to scoop in stacks of poker chips. These hardware compo- nents were attached to a circular differential-drive wooden base designed to be easy to control. We also planned out our match strategy and implemented this strategy with software written in C/Wiring ...


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.


Keylime, Matthew Orgill Jun 2019

Keylime, Matthew Orgill

Computer Engineering

This project creates an iOS mobile app geared specifically toward the students of California Polytechnic State University. The app aims to provide the ability for users to discover new restaurants to checkout in the central coast area. These restaurants can be filtered to the user’s choosing based on the price of food, rating the restaurant has received, distance away from the user, and type of food. In addition, featured deals that local restaurants currently offer can be found on the app. Each restaurant can be favorited by the user to allow for better filtering of discovering new restaurants and ...


Localization Using Convolutional Neural Networks, Shannon D. Fong Dec 2018

Localization Using Convolutional Neural Networks, Shannon D. Fong

Computer Engineering

With the increased accessibility to powerful GPUs, ability to develop machine learning algorithms has increased significantly. Coupled with open source deep learning frameworks, average users are now able to experiment with convolutional neural networks (CNNs) to solve novel problems. This project sought to train a CNN capable of classifying between various locations within a building. A single continuous video was taken while standing at each desired location so that every class in the neural network was represented by a single video. Each location was given a number to be used for classification and the video was subsequently titled locX. These ...


Otd 360 Corsa Plate And Pcb Recreation, Patrick Ryan Malapira Jun 2018

Otd 360 Corsa Plate And Pcb Recreation, Patrick Ryan Malapira

Computer Engineering

No abstract provided.


Modular Injection System And Sampling Template (M.I.S.S.T) Design Report, Froylan M. Aguirre Jun 2018

Modular Injection System And Sampling Template (M.I.S.S.T) Design Report, Froylan M. Aguirre

Computer Engineering

Digital systems are ubiquitous throughout modern life and their applications continue to grow. Thus system designers engineer and test modular systems to mitigate error rates. Smaller systems and their increasing importance in many applications demand the utmost reliability. Fault injection is the most common method used by researchers and engineers to test system reliability. However, most hardware fault injection implementations are ad hoc and only used to test a specific system or for specific tests. There is also software-implemented fault injection that adds overhead in the benchmark source code. The aim of this project is to develop a general use ...


Roborodentia, Bryan D. Hendricks Jun 2018

Roborodentia, Bryan D. Hendricks

Computer Engineering

This project is an autonomous robot, designed to perform a series of basic tasks without any human input. It’s based on the 2018 Roborodentia competition, in which teams of students design and build a small (roughly 1 square foot) robot that collects small foam spheres from vertical tubes on the edges of a table-sized arena, and shoot them into goals across the field. The more foam spheres the robot makes into the goals after a 3 minute time period, the more points they get. The challenge is doing so autonomously, without any human input after the initial timer for ...


A Basic, Four Logic Cluster, Disjoint Switch Connected Fpga Architecture, Joseph Prachar Jun 2018

A Basic, Four Logic Cluster, Disjoint Switch Connected Fpga Architecture, Joseph Prachar

Computer Engineering

This paper seeks to describe the process of developing a new FPGA architecture from nothing, both in terms of knowledge about FPGAs and in initial design material. Specifically, this project set out to design an FPGA architecture which can implement a simple state machine type design with 10 inputs, 10 outputs and 10 states. The open source Verilog-to-Routing FPGA CAD flow tool was used in order to synthesize, place, and route HDL files onto the architecture. This project was completed in terms of the spirit of the original goals of implementing an FPGA from scratch. Although, the project resulted in ...


Bicycle Power Meter, Andrew Mcguan Jun 2018

Bicycle Power Meter, Andrew Mcguan

Computer Engineering

No abstract provided.


Baseball Shagger, Nathaniel Kai Paresa, Anthony Velasquez, Nick Walker Jun 2018

Baseball Shagger, Nathaniel Kai Paresa, Anthony Velasquez, Nick Walker

Computer Engineering

The purpose of our project is to allow players to hit baseballs on a baseball field and not have to worry about picking them up. By combining our knowledge of software and hardware, we developed the first design of a robot that “shags” baseballs. Our endeavor was only partially successful. The device was tested on grass, turf, and concrete. The motors did not have enough torque to get moving on grass. The device faired better on turf where it could move, but was quite jerky as the motor drive needed to be high to start moving, but once it was ...


Lionfish Detection System, Carmelo Furlan, Andrew Boniface Jun 2018

Lionfish Detection System, Carmelo Furlan, Andrew Boniface

Computer Engineering

Deep neural networks have proven to be an effective method in classification of images. The ability to recognize objects has opened the door for many new systems which use image classification to solve challenging problems where conventional image classification would be inadequate. We trained a large, deep convolutional neural network to identify lionfish from other species that might be found in the same habitats. Google’s Inception framework served as a powerful platform for our fish recognition system. By using transfer learning, we were able to obtain exceptional results for the classification of different species of fish. The convolutional neural ...


"Dual Peaks" Analog Distortion Guitar Effects Pedal, Dave Raul Breuer Jun 2018

"Dual Peaks" Analog Distortion Guitar Effects Pedal, Dave Raul Breuer

Computer Engineering

No abstract provided.


Autonomous Navigation And Mapping Using Lidar, Steven E. Alsalamy, Ben C. Foo, Garrett C. Frels Jun 2018

Autonomous Navigation And Mapping Using Lidar, Steven E. Alsalamy, Ben C. Foo, Garrett C. Frels

Computer Engineering

The goal of this project was to make a fully autonomous robot, capable of mapping its surroundings and navigating through obstacles. This was done through the use of a chassis fitted with tracks and two motors, a lidar, a compass, and a Raspberry Pi. The robot also contains two batteries and is self powered. Encoders are used on the motors in order to track the distance traveled for more precise mapping and movements.


Roborodentia Final Report, Trevor James Gesell, Zeph Colby Nord, Mitchell Tyler Myjak Jun 2018

Roborodentia Final Report, Trevor James Gesell, Zeph Colby Nord, Mitchell Tyler Myjak

Computer Engineering

The Senior Project consisted of competing in Roborodentia, a competition in which groups build robots to complete a particular task. This event took place at the Cal Poly Open House on Saturday, April 12th, 2018. For the competition, the robot was to collect Nerf balls from supply tubes raised approximately 7” from the board and shoot them into nets placed along the opposite side of the course. The design, manufacture, and testing of the robot began the first week of Cal Poly winter quarter and lasted until the day of the competition.


Genetic Algorithm Amplifier Biasing System (Gaabs): Genetic Algorithm For Biasing On Differential Analog Amplifiers, Sean Whalen Jun 2018

Genetic Algorithm Amplifier Biasing System (Gaabs): Genetic Algorithm For Biasing On Differential Analog Amplifiers, Sean Whalen

Computer Engineering

Genetic Algorithm Amplifier Biasing System (GAABS) - Senior Project Analysis

Summary of Functional Requirements

This project integrates LTSpice with a python script that runs a genetic algorithm to bias a differential amplifier. The system biases the amplifier with 2 different voltages, the base voltage for the PNP BJTs of the active loads and a voltage controlling the current of the current sink. The project runs via a python script, gets data from LTSpice’s command line call, and iteratively runs until the system is biased to achieve the greatest gain on an arbitrary input voltage.

Primary Constraints

Some of the main ...


Learning Management Website, Brendan A. Baronia Jun 2018

Learning Management Website, Brendan A. Baronia

Computer Engineering

The following system was developed as a basic course management system for use by teachers and students. The project started as an alternative to existing platforms, such as Moodle, though because of a two quarter time constraint the complexity of the system was reduced to a more reasonable level. The resulting system requirements included a simple course creation/enrollment system, with separate sections, topics, and resources including videos, files, and a basic graph problem.


Senior Project - Roborodentia Robot, Nicholas Alexander Ilog Jun 2018

Senior Project - Roborodentia Robot, Nicholas Alexander Ilog

Computer Engineering

This project includes an autonomous robot capable of dispensing balls from a dispenser mounted on a wall and shooting the balls through targets five to eight feet away. The robot can hold up to five balls at a time and shoots balls one by one at targets.