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

Computer Engineering Commons

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

Computer Engineering

Discipline
Keyword
Publication Year
File Type

Articles 1 - 30 of 252

Full-Text Articles in Computer Engineering

Rchex: A Radio-Controlled Hexapod, Dominique Sayo Jun 2020

Rchex: A Radio-Controlled Hexapod, Dominique Sayo

Computer Engineering

rcHex is a radio-controlled hexapod with 18 degrees of freedom, capable of positional and rotational body adjustment as well as omnidirectional travel at variable speeds using three common gaits. Its general-purpose design accessible to hobbyists makes rcHex an platform for further development, whether it be experimentation in advanced robotic movement or retrofitting sensors to utilize technologies such as computer vision and artificial intelligence. This report explores some of the design intricacies of hexapod movement, including gait sequencing and the application of inverse kinematics to multi-jointed limbs.


Wine Sampler, Lance L. Litten Jun 2020

Wine Sampler, Lance L. Litten

Computer Engineering

Quality testing is an important part of the wine industry. Without proper quality control, thousands of dollars could be wasted on bottling and recalling hundreds of gallons of wine. Due to this, labs are set up that collect wine samples from the tanks in a wine production plant and test them. A big part of this testing is determining exactly what tanks need to be tested and what tanks are at risk. My project aims to help automate this task by collecting data from the tanks wirelessly and keeping track of simple indicators such as pH and temperature. Automating this ...


Otter Vector Extension, Alexis A. Peralta Jun 2020

Otter Vector Extension, Alexis A. Peralta

Computer Engineering

This paper offers an implementation of a subset of the "RISC-V 'V' Vector Extension", v0.7.x. The "RISC-V 'V' Vector Extension" is the proposed vector instruction set for RISC-V open-source architecture. Vectors are inherently data-parallel, allowing for significant performance increases. Vectors have applications in fields such as cryptography, graphics, and machine learning. A vector processing unit was added to Cal Poly's RISC-V multi-cycle architecture, known as the OTTER. Computationally intensive programs running on the OTTER Vector Extension ran over three times faster when compared to the baseline multi-cycle implementation. Memory intensive applications saw similar performance increases.


Otter Debugger, Keefe Johnson Jun 2020

Otter Debugger, Keefe Johnson

Computer Engineering

This project is a debugger and programmer for the OTTER CPU, the implementation of the RISC-V ISA used by Cal Poly to teach computer architecture and assembly language in CPE 233/333 and usually implemented on the Basys3 FPGA development board. With this tool, students can quickly program their OTTER with a new/revised RISC-V program binary without resynthesizing the entire FPGA design. They can then use the debugger from a PC to pause/continue/single-step execution and set breakpoints, while inspecting and modifying register and memory contents. This enables real-time debugging of OTTER projects involving custom hardware such as ...


Fitness Plug, Evan Lee Ashley Jun 2020

Fitness Plug, Evan Lee Ashley

Computer Engineering

My parents only allowed me to play videogames or watch television for a certain number of minutes or hours per day. By limiting screen time, they encouraged me to be active and find other things to do outside of television or videogames. The Fitness Plug aims to do both by converting time exercised to entertainment time; you can only watch television or play videogames for as long as you have exercised.


Room Management Web Application And Movement And Temperature Sensors, Visalbotr Chan, Huy Anh Duong Mar 2020

Room Management Web Application And Movement And Temperature Sensors, Visalbotr Chan, Huy Anh Duong

Computer Engineering

There are three main parts of this system: micro-controller, database, and website. Micro-controller detects motion of people walking in and out and It also measures room temperature and humidity in a confined space then updates collected data to the database. Our system’s database contains 6 main columns: room number, room capacity, number of students, temperature in Celsius, humidity in percent and date created. Finally, this database is queried by the website to display the information on the webpage. Users could also navigate on our site to check the most and least occupy rooms, and they can also search for ...


Tiny Disco: A Cost-Effective, High-Fidelity Wireless Audio System, Luke Martin Liberatore Feb 2020

Tiny Disco: A Cost-Effective, High-Fidelity Wireless Audio System, Luke Martin Liberatore

Computer Engineering

The Tiny Disco is a WiFi based concert system, featuring improvements on popular “Silent Disco” concerts. Rather than being tied to compression and bandwidth restrictions present in traditional silent disco systems, the Tiny Disco system can deliver 320kbps+ audio quality, and allows listeners to bring their own headphones, further lending to the high quality audio experience.

Tiny Disco uses a Raspberry Pi as the audio server, and Espressif ESP32 microcontrollers as audio receivers/clients. The Tiny Disco is primarily geared toward smaller concerts and niche events where audio quality is valued, though due to its WiFi-based architecture, it can be ...


Reasoning From Point Clouds, Joey Wilson Dec 2019

Reasoning From Point Clouds, Joey Wilson

Computer Engineering

Over the past two years, 3D object detection has been a major area of focus across industry and academia. This is primarily due to the difficulty of learning data from point clouds. While camera images are fixed size and can therefore be easily trained on using convolution, point clouds are unstructured series of points in three dimensions. Therefore, there is no fixed number of features, or a structure to run convolution on. Instead, researchers have developed many ways of attempting to learn from this data, however there is no clear consensus on what is the best method, as each has ...


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


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.


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


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.


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


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


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


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


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


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

Digital Forensics Challenge, Zoe Lie, Sydney Marie Mendoza

Computer Engineering

No abstract provided.


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


A Database For Indexable Carbide Inserts, Andrew Yoder Jun 2019

A Database For Indexable Carbide Inserts, Andrew Yoder

Computer Engineering

The indexable inserts project is a collaborative effort to aggregate into a single database as many indexable carbide inserts from as many manufacturers as possible. Inserts are generally labeled with a part number following a specific standard determined by shapes and measurements, however specifications for certain aspects of carbide inserts—such as which materials they can cut—can vary by manufacturer. There currently is not a way to search a comprehensive database containing tools from multiple manufacturers for a handful of inserts that would satisfy some necessary parameters, making finding the correct tool in a shop a much more time-consuming ...


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


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


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.


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


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

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

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


Iot Power Bank And Control System, Dannick Liudzius Jun 2018

Iot Power Bank And Control System, Dannick Liudzius

Computer Engineering

The project aims to target the growing Internet of Things (IoT) market with a lightweight and cost effective IoT control system with a mobile power bank. Currently there are no easy to use battery-powered systems set-up for Internet of Things interactions. This project is an iteration of such a system that would be able to be installed in a desired home or business environment even if the location is not in reasonable distance from a power outlet. The rapidly expanding IoT market is ideal for the development of a device that can be molded for use with various chosen peripherals ...


Tracking Eye Movements Over Source Code, Faith Chan Jun 2018

Tracking Eye Movements Over Source Code, Faith Chan

Computer Engineering

Studies on software developers’ behavior guide the development of tools that facilitate source code reading and reviewing. Eye trackers have allowed researchers to study this behavior in more detail–to pinpoint where the developer is looking, or even to detect which source code element the developer is viewing. However, systems that map gaze to characteristics as specific as source code elements are often expensive, either because of the cost of compatible eye trackers or because of the cost of the required software. This project aims to use existing technology to create a lower-cost system that provides information on the source ...


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.