Engineer in Boston, MA
gregoryhkaiser@gmail.com
I earned a B.S. in Applied & Engineering Physics (May 2020) and a M.Eng. in Electrical and Computer Engineering (Dec 2020) from Cornell University. I am currently an engineer for Lumia in Boston, MA.
In this class, I wrote a series of programs in C/C++ to simulate a variety of physical phenomena. For my final project, I decided to simulate crystal formation using diffusion-limited aggregation (DLA) as a working model (pictured above).
In an effort to refresh my familiarity with these problems, I am repeating these assignments using Python in Jupyter notebooks. Instead of single-shot scripts in C spitting out data to a text file, I am attempting to focus more on understandability and reusable methods. A detailed site with each assignment is in progress. Please see the more detailed description of each assignment on the separate Computational Engineering Physics site.
Computational Engineering Physics is an "introduction to numerical computation (e.g., derivatives, integrals, differential equations, matrices, boundary-value problems, FFT's, Monte Carlo methods) as applied to engineering physics problems that cannot be solved analytically (e.g., chaotic systems, three-body problem, electrostatic fields, quantum energy levels)."
In this class, I created a grid localizing and path planning robot which could determine its position on a map, and plan a route to an end goal, using a variety of on-board sensors and off-board computer calculations. After detecting wall distances around the vehicle using a time-of-flight sensor during a 360-degree rotation, the robot uses bluetooth communication to transmit that data to a laptop. That laptop uses a Bayes filter to probabilistically determine the vehicle's position and orientation on a known map.
Because this was a lab course, more complete documentation is available on a separate site where each stage of the build process was recorded for grading purposes. Please visit the Hot Wheels of Inquiry website for more details.
Fast Robots was a course designed to teach us principles of robotic mobility. It went beyond previous courses which centered on slower servo-based wheeled robots. It also served as an introduction to aspects of control theory relevant to the field.
My partner, Caeli, and I wanted to make use of a camera for our final project, so we taped one to the back of a Raspberry Pi and made a video game which could recognize objects using TensorFlow-Lite. We also wrote the physics and logic for the game ourselves after starting from a scaffold.
We were able to implement some basic game functions before the class ended, including environmental health effects, equipping a weapon, and consuming a food item to regain health. In order to gain these items, you must switch to the live camera feed and place a valid object in view. A couple of fruit options will spawn an apple on screen, various clothing items will spawn armor, and a pair of scissors or a knife will spawn your character a sword from the side of the screen.
ECE 5725: Embedded Operating Systems is a class dedicated to using the Raspberry Pi as a development platform for a variety of projects. We were taught about the distinctions between single threaded microcontrollers and multi-core computers like the one on the RPi and how to take advantage of them.
My project partner, Alex, and I were forced to complete this final project remotely due to the onset of the COVID-19 pandemic. We decided early on to keep hardware to a minimum to make remote collaboration smoother. The class was taught using a board that already had an inertial measurement unit and an LED, so we chose to combine those into a game that requires a player to flip the microcontroller in mid air and catch it again. We detected these flips and award points at the end of a round.
"Flip It!" turned out to be a pretty difficult game to play, but I like that we made something interesting from so little at our disposal. The player first aligns the microcontroller with Earth's magnetic field so that the flips can be detected accurately in each axis. The board blinks a series of lights to indicate which types of flips the player must perform. Only two axes are allowed, since only two rotations are stable for a rectangular prism like the device we taped together. A freefall detection is triggered when the board is in the air, and a full rotation around the correct axis must fully complete before the board comes out of freefall and is caught. More details can be found in the final report.
ECE 3140 - Embedded Systems is an introductory course that connects the hardware of a processor to the physical world. It discusses assembly language considerations, real-time constraints, concurrency management, process scheduling, interrupts, and I/O, among other factors required for successful embedded programming and design.
My project partner, Sam, and I created a ball balancing platform using PD control across two axes of a resistive touch screen. The ball is made of steel so that the touchscreen would register its position, and also to slow down its dynamics so that we could control it properly. Two servos controlled the angle of the plate, which was fixed at its center, but allowed to pivot about that point. The PIC32 microcontroller was used to drive the touchscreen for feedback as well as to control the servos.
In the end, we were able to keep the steel ball on the platform for about a minute at a time using PD control. Because the position wasn't stable at a single point, we never bothered to incorporate integral control to correct for steady state offsets. We describe the project a bit for Bruce Land's ECE YouTube channel.
A more in-depth report was generated for the class. We also wrote a similar article describing the project for Circuit Cellar. Hackaday also covered the project.
ECE 4760 - Designing with Microcontrollers is a class devoted to "...microcontrollers as components in electronic design and embedded control." Using the PIC32MX processor as a basis for all lab work, an understanding of real-time constraints is required to execute the digital systems design tasks.
For Kirstin Petersen’s Collective Embodied Intelligence Lab, I built a soft-robotic hexapod. The legs on this robot take advantage of viscous fluid propagation delay through thin tubing to create a gait-like motion allowing the robot to move at 0.05 body lengths/second.
When I first joined the CEI Lab as an undergrad, I worked on a few different projects. For example, I assembled one of the early versions of a robot studying granular media[1], and designed a large rack-and-pinion syringe pump for use in a soft shape-reconstruction sensor[2]. I started learning about Yoav Matia’s work on fluid-solid interactions, and began prototyping some of his ideas in the form of chained molded silicone chambers under his and Dr. Petersen’s guidance.
Once we had a good sense of how the real legs operated (like how fluids build hydrostatic pressure in lower cavities), we designed and assembled six functioning pneumatic legs using a flexible 3D-printed material, Sil-30, using a Carbon-3D printer. I also constructed a miniaturized syringe pump backpack to drive the pneumatic legs. The backpack was informed by my earlier rack-and-pinion pump used in the shape-reconstruction project, and I completed a working prototype of the hexapod for my M.Eng. in the winter of 2020.
Over the next six months or so, I was able to demonstrate untethered locomotion with the hexapod, and returned to campus to finish characterization of the real legs for use in Dr. Matia's simulated model. A paper detailing the physical model which characterized the legs as well as the robot was published in the winter of 2023. See Harnessing Nonuniform Pressure Distributions in Soft Robotic Actuators[3] for the full article! I’m extremely proud of this robot and was pleased to see it appear on a poster in the halls of the ECE department, as well as in an article from the Cornell Chronicle[4]!
I was a Mechanical/Electrical Engineer for Ras Labs, Inc. and redesigned their soft-robotic fingertip sensor for ease of manufacturing and functionality. Since there were only four employees at the time, I had sole responsibility for the mechanical aspects of the design.
I pushed the fingertip circuit boards to their minimum assembled thickness (an important parameter for grippers) using a combination of off-the-shelf connector components and creative redesigns of the soft silicone cover. I helped move the company towards injection-moldability by introducing a prototype overmold to join the plastic and silicone parts of the design. I expanded the sensitive surface area of the sensor, made the electrical connections more robust, and manufactured dozens of sensors for use in evaluation kits which were also outfitted with spare parts and instructions.
I designed and assembled a gripper adapter wrist with our electrical engineers which connected the two fingertips to each other, as well as to a controlling arm (in this case, a Universal Robotics UR5). This allowed the team to close the feedback loop and grip challenging objects which were delicate or flexible or both. I wrote SOPs for the assembly of both the fingertips and the wrist adapter for future use by employees of the company.
I also updated the company website to reflect progress made in the design and capabilities of the product. I am very happy with the final look of the product line that I was responsible for, and enjoyed getting exposure to industrial-style panel-mounted cable connections.
For my high school senior project, I built a cosmic ray cloud chamber to visualize charged radiation in the atmosphere. The tank ran on dry ice below a metal sheet which cooled isopropyl alcohol into supersaturated vapor that condensed upon interaction with alpha particles, electrons/positrons, and cosmic ray muons.
I ended up cutting a piece of foam so that the dry ice had a nice place to sit.
In an early run of the tank, I got to see a lot of particles for the first time.
The final tank had side lighting to accentuate the vapor trails.
Some examples of different particles:
Because the concept is so simple I've actually been able to rustle up smaller versions of the cloud chamber whenever dry ice is available. Sometimes a vendor of adhesives will send dry ice in their packaging and isopropanol, a metal sheet, and a clear container are relatively easy to find and put together.
I am a Mechanical Engineer for Lumia and helped bring the company from a few working prototypes in 2022 all the way through scaled production and assembly for a commercial launch in 2024. Lumia measures blood flow to the head as a Flow Index using photoplethysmography (PPG), which is an important value to track for people with POTS, ME/CFS, and other forms of dysautonomia which cause orthostatic symptoms. When I joined there were a handful of employees, so I had to use and develop many skills across disciplines to accomplish my work.
I worked on optical lenses, assembled prototypes for study support, and rapidly iterated to optimize signal quality, comfort, and stability in the ear. I designed the silicone jacket which adapts the device to many ear shapes. I developed the photovoltaic charging method through our Light Station design and flex circuit connection.
To test firmware settings, I created utility functions in Python to generate proper serial commands and designed experiments to measure signal quality across parameter sweeps. I also improved the internal signal-to-noise metric after discovering improper scaling with LED brightness. My background in physics was often useful for breaking down problems and modeling the situation accurately enough to debug critical issues.
To shepherd my designs through manufacturing and release, I worked on ICT fixtures for PCB testing, gluing robot setup and UV-curing fixtures, laser-deposited-structure (LDS) antenna design, photovoltaic and battery testing, cable attachment, waterproofing, SOP development, and other related tasks.
Often I was able to bring value to Lumia through my creative skills beyond the product design for which I was directly responsible. For example I generated laser-cut signage, diagrams for user communications, and made camera-ready prototypes of our device for our crowdfunding commercial.
Leading the mechanical team is very rewarding, offering lots of opportunities to learn about product design from the perspective of project management, vendor communications, and systems engineering.
At MITRE I was a Software Engineering Grad Intern and developed a user interface for a link-analysis data visualization application in Java. I also created a custom parser for text-based data logs using Python.
I am very grateful to MITRE for providing a meaningful internship and mentorship during the difficult summer of 2020.