K. R. Lyons

Hey there, my name's Kenny 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 in mechanical engineering at UC Davis in 2008. Mechanical seemed to me to be the most general "how things work" major out there, so that suited me pretty well, though I ended up with an interest in computing and electronics as well. I also 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. 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. This would make 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 stayed at Davis in that research lab to do a PhD. My focus was on extracting information from these electrical signals generated by muscles, and toward the end, I shifted a bit toward trying to understand some of the properties of the brain producing them. I completed my PhD in the winter of 2018, and since then I've worked in inertial sensing and navigation.

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

Dissertation

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

Papers

(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) 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, and recently my interests have shifted toward trail running. My favorite way to explore a new place is to just go out run around. I currently track all my runs with Strava and sync the data to Smashrun.

As of November 2019, I've run every day since April 8, 2017. I don't really have a good reason, I guess I just felt like running.

Linux

I am a Linux enthusiast (Linux From Scratch is my idea of a fun weekend) and I served as typescript (secretary) for my local LUG (LUGOD) for a few years before moving away for work.

My setup generally includes the i3 tiling window manager, the fish shell, and vim. You can look at 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 quickly took an interest in embedded development. 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 ARM Cortex M3/M4 (TI, some ST), TI DSPs (floating and fixed point), and a bit on TI MSP430. I've also gotten some experience working with Xilinx Spartan-3 and Microsemi IGLOO FPGAs.

Aside from firmware dev, I can do a pretty decent job with system design through PCB layout and have had no total failures arrive from OSH Park.

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 since 2003. I'm currently making my way through Mick Goodrick's The Advancing Guitarist, which I should've bought a long time ago.