Here are a few of the real company projects completed by our 2019 summer interns…
Ciholas interns spend their summers working on real projects, creating devices and solving technical problems like the full-time engineers on staff.
This summer, our interns worked almost exclusively on projects related to our new precision tracking and location system — the Ciholas Ultra-Wideband system, or CUWB. The The CUWB system represents Ciholas’ first significant venture into creating and selling our own intellectual property. The system uses ultra-wideband radio transmissions to calculate the real-time location of an object with extreme precision. Our system can track items to a precision of about ten centimeters. Other location systems that use bluetooth or wifi are nowhere near that precise.
“Let’s say you want to track a pallet in a warehouse, and you want to know it is on the third shelf, second rack,” said Director of Engineering Justin Bennett. “Those systems just aren’t precise enough to help you do something like that. We are precise enough.”
This summer our interns made valuable contributions to this CUWB system. Here are just a few examples of the projects our interns completed:
Automating data sharing
Conner Luebbehusen, a sophomore electrical engineering student at the University of Evansville, spent the summer developing a method for our engineers to automatically share new CUWB tools and updates with our customers.
This is a critical function because the CUWB system is not like an app on your phone. Once our customers purchase and install our hardware, they begin receiving sensor data , but it’s not always immediately clear to them how to use that data.
“It is not necessarily easy for our users to go from having sensor data to actually tracking a pallet in a warehouse,” Bennett said.
To make that job easier internally, Ciholas engineers have developed several tools that can do things like plot the data, print out an object’s precise location or create a database of positions. Prior to Luebbehusen’s work we did not have a reliable way of sharing those tools with customers. Instead, we provide written instructions on our website for them to follow. Many times customers called to have us walk them through those instructions. While our customers appreciate the detailed on-line documentation, the support calls were not sustainable as we continue to grow and sell more CUWB systems.
So, Luebbehusen took the summer months making those tools readily available to the public.
“It was not the easiest thing to do because when people write internal tools, they aren’t always thinking about the public having access to it,” Luebbehusen said. “So, there was a lot of cleanup to do.”
Luebbehusen also wanted the process to be simple for the Ciholas engineers to use. So, what he created was a program through which Ciholas employees can upload new tools to the software hosting site GitHub, where anyone can view and download them. To upload their tools, employees merely click a button.
“I really enjoyed doing it,” Luebbehusen said. “I learned a lot. I spent the first two weeks just reading code and trying to understand what it did. Now, I’m writing the code. That’s cool.
Keeping the system from crashing
Hagan Hollinger is only the second high school student to ever earn a Ciholas internship. Hollinger, a Mount Vernon High School senior, spent the summer creating an in-house test suite to ensure that firmware development updates don’t break the critical CUWB network timing requirements.
Firmware is basically software for hardware. Just about every piece of electronic equipment has what we call a “microcontroller,” which is a tiny computer that tells the electronics how to function. Those microcontrollers need instructions to operate that come in the form of firmware written by engineers.
In the CUWB system the firmware instructs the microcontroller on how to operate the Ultra-Wideband transceiver within the network. If two UWB signals are sent together, it can create interference in the network, and cause the system not to operate. The UWB signals are sent thousands of times per second and must be scheduled precisely not to overlap. A typical transmission is anywhere from 160 microseconds to one millisecond, with about 2 microseconds scheduled between transmissions.
“So, if somebody writes instructions in firmware that cause it to slip more than a microsecond, it causes a problem,” Bennett said.
To keep that from happening, Hollinger created a test that can be applied to any firmware update. First the test measures the amount of time it takes for the command to travel to the device. It then calculates how long the update itself will take. If the travel and update time exceed the time allocated for the update, Hollinger’s program automatically stops it from sending.
“That took me all summer,” Hollinger said. “I learned quite a bit. They did a good job of treating me like I was an actual engineer and that I was doing important things.”
Predicting an object’s true location
Cameron Ruggles, a Purdue University senior studying computer science, spent his summer using advanced mathematics to better work with occluded sensor signals.
Our CUWB system uses timed radio signals to determine the location of an object. Those radio signals can become blocked — or occluded. This happens frequently in warehouses, for example. When it does, the signal actually bounces off other objects, taking a “multipath” back to the sensor.
“It would actually be better if we didn’t get the signal at all,” Bennett said. “But, it turns out, we get the signal, and because it took this multipath to get there, we get bad data.”
That bad data causes the location on the monitor to bounce and gitter — sometimes erratically.
There’s no way to stop occlusion from ever happening. So, Ruggle’s job this summer was to find a way for the system to work better by anticipating this rogue data. He did this by learning about something called a Kalman filter, which is an algorithm that takes in noisy sensor data and makes accurate predictions of the sensor values based on mathematical modeling. The Kalman filter takes into account the physical characteristics of the object being tracked and applies them to the data to improve the outcome. In the case of the CUWB system, Ruggle’s was able to take in noise position data and predict the actual position of the object improving overall accuracy.