K. R. Lyons

Hey there, my name's Kenh and I'm an engineer. This site is sort of a stylized or expanded resume for now, I suppose. If you want to get in touch, feel free to send me an email: ixjlyons at gmail dot com.

Story Time

I grew up in a small town in a somewhat remote region of coastal northern California until starting college at UC Davis in 2008. Mechanical engineering seemed to be a fairly broad "how things work" major, so that suited me pretty well. I pursued interests in computing and electronics on the side, and I took enough linguistics courses to end up with a minor. My capstone senior design project involved building a telepresence robot and a phone app to drive it around, combining quite a few of my interests. The project was sponsored by a research lab on campus, and the idea was to eventually replace the touch screen interface with one driven by electrical signals generated by a muscle behind the ear, making it possible for people with very limited or no mobility to gain some independence and presence in the home. I had to understand how such an interface worked and see what it could do, so I stuck around in that lab for my PhD. My focus was on extracting information from these muscle signals, and toward the end, I shifted a bit toward trying to understand some of the properties of the brain controlling them.

I finished my PhD in the end of 2018 and went to work as an embedded systems developer in inertial sensing at Systron Donner Inertial (now Emcore) for two years. I currently work at NASA Ames research center in the Systems Analysis Office, where I get to function something like a jack-of-all-trades type with emphases on high performance computing, uncertainty quantification, modeling, and optimization.

Some Projects

AxoPy

AxoPy logo

AxoPy is a Python library aiming to make setting up human-computer interface experiments as easy as possible. I spent a lot of time during my PhD thinking about how to implement experiments I wanted to run rather than focusing on the design of the experiments to begin with. AxoPy is essentially the result of a couple iterations on trying to create a general framework for setting up event-driven experiments in a friendly language.

PyGesture

Screenshot of PyGesture

PyGesture is an open source myoelectric gesture recognition suite for end-to-end prosthesis control experiments, written in Python. It includes data acquisition, signal processing, classification, graphical user interface, and communication with real-time simulation software. Predecessor of AxoPy.

Walk Again

Photo of the Walk Again LED feedback system

Walk Again was an international effort to demonstrate a brain-controlled exoskeleton at the 2014 World Cup opening ceremony in Brazil. I worked as a part of the human-machine interface team and created an LED-based feedback system to enable robust control during the demonstration.

This was a once-in-a-lifetime experience to work on a fast-paced project involving academic and industry teams.

MyoSwim

Screenshot of MyoSwim

MyoSwim is libGDX a game I made for demonstrating computer interface control through surface electromyography at the World Science Festival in 2015. It uses the microphone port of a smartphone, tablet, or computer to record a surface EMG signal, allowing the player to control a fish popping bubbles and avoiding bigger fish.

It was a lot of fun to make and we had kids of all ages lined up for hours to play it at the festival.

SecondEyes

SecondEyes logo

SecondEyes is a telepresence mobile robot meant to allow individuals with severe mobility impairments to view their surroundings. A WiFi-enabled camera mounted on the robot streams video to a custom Android application which acts as a noninvasive, hands-free control interface based on a single EMG sensor. This was my capstone senior design project in mechanical engineering, and it turned into my first graduate research project.

The robot was first used in a case study in which a man with a high-level spinal cord injury controlled the robot remotely and navigated a simple maze. I presented the results at the IEEE International Conference on Rehabilitation Robotics (ICORR) in 2013.

Publications

Papers

(2023) Advancement of the General Aviation Synthesis Program Using Python to Enable Optimization-Based Hybrid-Propulsion Aircraft Design
K. R. Lyons, B. W. L. Margolis, J. V. Bowles, J. D. Gratz, S. L. Schnulo, E. D. Aretskin-Hariton, J. S. Gray, and R. D. Falck
AIAA AVIATION Forum, San Diego, CA
 pdf    doi  

(2023) Analysis and Optimization of Baseline Single Aisle Aircraft for Future Electrified Powertrain Flight Demonstrator Comparisons
C. J. Recine, D. D. V. Pham, J. V. Bowles, K. R. Lyons, B. W. L. Margolis, and J. A. Garcia
AIAA AVIATION Forum, San Diego, CA
 doi  

(2023) Implementation of the Lifetime Method in Unsteady Pressure-Sensitive Paint Measurements
D. D. Murakami, M. Shaw-Lecerf, E. L. Lash, K. Lyons, and N. Roozeboom
AIAA SCITECH Forum, National Harbor, MD
 pdf    doi  

(2023) NASA's Unsteady Pressure-Sensitive Paint Research and Operational Capability Developments
N. Roozeboom, D. D. Murakami, J. Li, M. Shaw-Lecerf, E. L. Lash, N. Califano, P. Stremel, K. Lyons, J. Baerny, C. Barreras, J. Ortega, L. Hand
AIAA SCITECH Forum, National Harbor, MD
 pdf    doi  

(2022) SimuPy Flight Vehicle Toolkit
B. W. L. Margolis and K. R. Lyons
Journal of Open Source Software (JOSS)
 doi  

(2020) Compact In-Run Navigation Grade IMU Based on Quartz MEMS
S. Zotov, A. Srivastava, K. Kwon, J. Frank, E. Parco, M. Williams, S. Shtigluz, K. Lyons, M. Frazee, D. Hoyh, and A. Liu
IEEE/ION Position, Location, and Navigation Symposium (PLANS), Portland, OR
 doi  

(2020) In-Run Navigation Grade Quartz MEMS-Based IMU
S. Zotov, A. Srivastava, K. Kwon, J. Frank, E. Parco, M. Williams, S. Shtigluz, K. Lyons, M. Frazee, D. Hoyh, and A. Liu
IEEE Inertial Symposium on Inertial Sensors and Systems (INERTIAL), Hiroshima, Japan
 doi  

(2019) ndsplines: A Python Library for Tensor-Product B-Splines of Arbitrary Dimension
B. W. L. Margolis and K. R. Lyons
Journal of Open Source Software (JOSS)
 doi  

(2019) Comparing Two Different Cursor Control Methods which Use Single-Site Surface Electromyography
S. M. O'Meara, M. C. Shyr, K. R. Lyons, and S. S. Joshi
Proceedings of the IEEE/EMBS Neural Engineering Conference (NER), San Francisco, CA
 doi  

(2019) AxoPy: A Python Library for Implementing Human-Computer Interface Experiments
K. R. Lyons and B. W. L. Margolis
Journal of Open Source Software (JOSS)
 doi  

(2018) Human and Machine Learning in Myoelectric Control
K. R. Lyons
University of California, Davis, PhD Dissertation
 pdf  

(2018) Effects of Mapping Uncertainty on Visuomotor Adaptation to Trial-By-Trial Perturbations with Proportional Myoelectric Control
K. R. Lyons and S. S. Joshi
Proceedings of the IEEE Engineering in Medicine and Biology Society Conference (EMBC), Honolulu, HI
 pdf    doi  

(2018) Upper Limb Prosthesis Control for High-Level Amputees via Myoelectric Recognition of Leg Gestures
K. R. Lyons and S. S. Joshi
IEEE Transactions on Neural Systems and Rehabilitation Engineering, vol. 26, no. 4
 pdf    doi  

(2016) Real-Time Evaluation of a Myoelectric Control Method for High-Level Upper Limb Amputees Based on Homologous Leg Movements
K. R. Lyons and S. S. Joshi
Proceedings of the IEEE Engineering in Medicine and Biology Society Conference (EMBC), Orlando, FL
 pdf    doi  

(2016) Learning to Modulate the Partial Powers of a Single sEMG Power Spectrum Through a Novel Human-Computer Interface
I. M. Skavhaug, K. R. Lyons, A. Nemchuk, S. Muroff, and S. Joshi
Human Movement Science, vol. 47, pp. 60--69
 doi  

(2016) Human Robot Interface for Assistive Grasping
J. Varley, S. Sridhar, J. Weisz, E. Rand, K. Lyons, S. Joshi, J. Stein, and P. Allen
Socially & Physically Assistive Robotics for Humanity (workshop at Robotics: Science and Systems), Ann Arbor, MI
 pdf  

(2015) A Case Study on Classification of Foot Gestures via Surface Electromyography
K. R. Lyons and S. S. Joshi
Annual Conference of the Rehabiltation Engineering and Assistive Technology Society of North America (RESNA), Denver, CO
 pdf    poster  

(2013) Paralyzed Subject Controls Telepresence Mobile Robot Using Novel sEMG Brain-Computer Interface: Case Study
K. R. Lyons and S. S. Joshi
Proceedings of the IEEE International Conference on Rehabilitation Robotics (ICORR), Seattle, WA
 pdf    doi    poster  

Conference Posters and Abstracts

(2016) Fitts' Law Evaluation of a Passive Rotation Paradigm for Two-Dimensional Cursor Control with a Single sEMG Signal
I. M. Skavhaug, K. R. Lyons, S. D. Muroff, H. Chen, L. Barry, B. Korte, and S. S. Joshi
Proceedings of the IEEE Engineering in Medicine and Biology Society Conference (EMBC), Orlando, FL
 poster  

(2015) Real-Time Myoelectric Control of a Virtual Upper Limb Prosthesis via Lower Leg Gestures: Preliminary Results
K. R. Lyons and S. S. Joshi
Annual Meeting of the Society for Neuroscience (SfN), Chicago, IL
 poster    abstract

(2015) Control of a Cursor in Two Dimensions with One Single sEMG Signal: Learning of a Novel Motor Skill
I. M. Skavhaug, K. R. Lyons, A. Nemchuk, S. Muroff, and S. Joshi
Annual Meeting of the Society for Neuroscience (SfN), Chicago, IL
 abstract

(2014) Arm Prosthetic Control Through Electromyographic Recognition of Leg Gestures
K. R. Lyons and S. S. Joshi
Annual Meeting of the Society for Neuroscience (SfN), Washington D.C.
 poster    abstract

(2014) Use of an Ear-Mounted Myoelectric Human-Computer Interface in the Home: A Pediatric Case Study with Tetra-Amelia Syndrome Subject
I. M. Skavhaug, C. Dao, K. R. Lyons, A. Powell, L. Davidson, and S. Joshi
Annual Meeting of the Society for Neuroscience (SfN), Washington D.C.
 abstract

(2014) The Walk Again Project: Brain-Controlled Exoskeleton Locomotion
A. Lin, D. Schwarz, R. Sellaouti, S. Shokur, R. C. Moioli, F. L. Brasil, K. R. Fast, N. A. Peretti, A. Takigami, S. Gallo, K. R. Lyons, P. Miettendorfer, M. Lebedev, S. Joshi, G. Cheng, E. Morya, A. Rudolf, and M. Nicolelis
Annual Meeting of the Society for Neuroscience (SfN), Washington D.C.
 abstract

(2014) The Walk Again Project: An EEG/EMG Training Paradigm to Control Locomotion
F. L. Brasil, R. C. Moioli, S. Shokur, K. Fast, A. L. Lin, N. A. Peretti, A. Takigami, K. R. Lyons, D. J. Zielinski, L. Sawaki, S. Joshi, E. Morya, and M. A. P. Nicolelis
Annual Meeting of the Society for Neuroscience (SfN), Washington D.C.
 abstract

Talks

SciPy 2018: Resonance: Learning Mechanical Vibrations Through Computational Thinking

This is a talk I gave at SciPy 2018 presenting some work on really rethinking how to teach mechanical vibrations to undergraduate engineering students. I gave the talk on behalf of the instructor of the course which I was a TA for. We wrote a library, set up a JupyterHub, and wrote tons of notebooks for in-class and homework materials to bring computing to the forefront as an approach to understanding fundamental concepts of vibratory systems.

SciPy 2017: Automatic Code Generation with SymPy

This is a tutorial session that I co-delivered at SciPy 2017. My portion of the tutorial was on using Cython to work with SymPy-generated C code from Python. The video below begins where I come in and start talking.

Other Interests

Running

Running has been a semi-serious hobby of mine since about 2012. My favorite way to explore a new place is to just go out and run around. In the last couple years, my interests have shifted toward trail running, and this has spawned curiosity about mapping, ecology, and weather.

I've tracked all my running with Strava for quite a while and sync the data to Smashrun as well.

I ran every day between April 8, 2017 and June 20, 2021. I don't really have a good reason, I guess I just felt like running.

Free (as in freedom) Software

I've been a Linux enthusiast (Linux From Scratch is my idea of a fun weekend) since 2008 or so and I served as typescript (secretary) for my local LUG (LUGOD) for a few years before leaving Davis.

My setup generally involves the i3 tiling window manager, the fish shell, and vim. You can look at some of my config files if you want.

Electronics

I'm a mechanical engineer by training, but I've always loved taking electronic devices apart. When I got started with programming, I pretty much immediately took an interest in embedded development. The interactions between code and electrical signals still fascinates me to this day, probably because of the wonderful variety of bugs you can find in embedded systems.

Like many, I started out with Arduino and then moved on learn more about the details closer to the metal. Since then, I've had the opportunity to develop on a variety of processor families and I've even gotten to work with FPGAs a bit. One of the bigger projects I've worked on involved porting a fairly complex bootloader and a runtime application to a TI TMS32028335. I learned a ton of neat stuff doing that.

Other

I enjoy craft beer. North Coast's Old Rasputin is my favorite (in the picture above, I'm about to enjoy a flight at North Coast Brewing Co. in Fort Bragg, CA).

I've been playing the guitar and dabbling with music production since about 2003. I'm currently making my way through Mick Goodrick's The Advancing Guitarist, which is fantastic.

I've gone through several phases of learning the German language. I still can't say Lehrerin properly...