Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Matthew L. Elwin is active.

Publication


Featured researches published by Matthew L. Elwin.


conference on decision and control | 2013

A systematic design process for internal model average consensus estimators

Matthew L. Elwin; Randy A. Freeman; Kevin M. Lynch

In the dynamic average consensus problem, agents in a communication network use information from their immediate neighbors to track the average of the groups time-varying inputs. Estimators based on the internal model principle solve this decentralized averaging problem with zero steady-state tracking error while providing robustness to network topology changes, agent failures, and communication faults. We develop a systematic process for designing these estimators. By formulating estimator synthesis as a robust control problem, we decouple the design process from specific networks. This formulation allows us to use an existing robust pole placement method to design estimators that meet performance specifications for a set of networks.


international conference on robotics and automation | 2017

Distributed Voronoi Neighbor Identification From Inter-Robot Distances

Matthew L. Elwin; Randy A. Freeman; Kevin M. Lynch

Algorithms for identifying Voronoi neighbors and constructing Voronoi regions are useful in many distributed robotics applications. Existing methods that perform these tasks using only the distances between robots assign coordinates to each potential neighbor before applying another algorithm to find the Voronoi neighbors. Our method finds the Voronoi neighbors more efficiently; identification occurs directly from inter-robot distances, without first assigning coordinates. We prove the algorithms correctness, analyze its computational complexity, and demonstrate its effectiveness in the presence of noise via simulation with an experimentally validated sensor model.


Embedded Computing and Mechatronics with the PIC32 | 2015

Feedback Control of LED Brightness

Kevin M. Lynch; Nicholas Marchuk; Matthew L. Elwin

This project-based chapter directs the reader to develop a PI feedback controller to control the brightness of an LED using a low-pass-filtered phototransistor light sensor for feedback. This project makes use of PWM to pulse the LED, analog input for the sensor feedback, a counter/timer for the fixed-frequency control loop, the parallel master port to print to an LCD screen, and a UART for communication with the host computer. The project includes a simple interface in MATLAB on the host computer that allows the user to enter PI gains, plot the step response of the controller, and iterate to manually tune the PI gains. This project exercises the reader’s skills in several areas of embedded control design: the use of an oscilloscope and multimeter; interfacing the PIC32 to external circuits; sensor characterization; and feedback control.


Embedded Computing and Mechatronics with the PIC32 | 2015

Harmony and Its Application to USB

Kevin M. Lynch; Nicholas Marchuk; Matthew L. Elwin

This chapter provides an introduction to Harmony, Microchip’s library of middleware, system services, and drivers intended to simplify the task of writing software portable to different PIC32 models. Harmony utilizes a number of abstractions and a programming model based on simultaneous tasks, and this chapter introduces the Harmony approach through a series of examples of increasing complexity. This chapter removes the mystery surrounding Harmony program structure, providing the reader with a firm foundation to explore the extensive Harmony applications created by Microchip. The chapter concludes with a USB human interface device (HID) library that the reader can use in PIC32 applications to talk to any host through its USB port.


Embedded Computing and Mechatronics with the PIC32 | 2015

PID Feedback Control

Kevin M. Lynch; Nicholas Marchuk; Matthew L. Elwin

This chapter provides a practical introduction to feedback control systems through the example of the common PID (proportional-integral-derivative) controller. The reader will gain an intuitive understanding of the meaning of proportional, integral, and derivative gains in a PID feedback controller, and will experiment with the effects of these gains on a system simulated in MATLAB. Practical issues in implementing a discrete-time PID controller in software are also discussed, such as delays, integrator anti-windup, and integer math vs. floating point math in calculating the control. Model-based feedforward control, combined with PID feedback control, is also introduced.


Embedded Computing and Mechatronics with the PIC32 | 2015

Chapter 3 – Software

Kevin M. Lynch; Nicholas Marchuk; Matthew L. Elwin

This chapter provides a comprehensive overview of the Microchip XC32 compiler and the process that takes a C program and turns it into an executable running on the PIC32. It begins by introducing the virtual memory map (used by the CPU) and its relationship to the physical memory map described in Chapter 2. Using a simple program as an example, this chapter explains how the C compiler finds the right Microchip header files to compile C code to object code, and how the linker finds the right Microchip object code to link with the user’s code to create an executable file. It makes clear how the user’s code, which reads from and writes to special function registers (SFRs), ends up controlling the PIC32’s peripherals. The chapter also describes the difference between bootloaded programs and standalone programs. This chapter is written to remove all mystery in the PIC32 C compilation process, even for a beginner in C. The emphasis on using command-line tools lays bare any steps that are hidden when using an Integrated Development Environment (IDE).


Embedded Computing and Mechatronics with the PIC32 | 2015

Brushed Permanent Magnet DC Motors

Kevin M. Lynch; Nicholas Marchuk; Matthew L. Elwin

This chapter introduces electromechanical modeling of brushed permanent magnet DC motors. Topics covered include the Lorentz force law, brushed commutation, motor equations, the speed-torque curve, and fundamental motor characteristics such as the torque constant, the motor constant, the electrical constant, the speed constant, the maximum continuous torque and current, the no-load speed and current, the stall torque and current, the electrical time constant, the mechanical time constant, and motor efficiency. The reader will learn how to read a motor’s data sheet and how to take an unknown brushed DC motor and perform experiments to determine most of the entries of its data sheet.


Embedded Computing and Mechatronics with the PIC32 | 2015

Time and Space

Kevin M. Lynch; Nicholas Marchuk; Matthew L. Elwin

This chapter examines the assembly code produced when compiling a C program, with a particular focus on the time of execution and the amount of flash memory occupied by the program. The core timer is introduced as a convenient tool for timing code. Examining the assembly code emitted by the compiler allows comparison of the efficiency of different code that performs the same function, as well as a comparison of code compiled with and without optimizations. The role of the prefetch cache module in maximizing program execution speed is also explored. The chapter concludes with an examination of map files, which indicate the amount of flash memory and global data RAM used by a program. This also reinforces the discussion of the virtual memory map from Chapter 3.


Embedded Computing and Mechatronics with the PIC32 | 2015

Sleep, Idle, and the Watchdog Timer

Kevin M. Lynch; Nicholas Marchuk; Matthew L. Elwin

This chapter discusses the power-saving modes of the PIC32, namely Sleep and Idle, and their relationship to the watchdog timer (WDT). In both Sleep and Idle, the CPU stops executing instructions. Peripherals can be configured to turn off during Idle, further saving power. In Sleep mode, the system and peripheral bus clocks halt, and only peripherals that do not depend on these clocks can continue to function. External events can wake the PIC32. This chapter describes the special function registers (SFRs) that control the operation of the PIC32 during Sleep and Idle, and it provides sample code that demonstrates how the WDT can be used to wake the PIC32 from Sleep or to allow the PIC32 to reset itself if it gets stuck in an infinite loop due to faulty code.


Embedded Computing and Mechatronics with the PIC32 | 2015

I 2 C Communication

Kevin M. Lynch; Nicholas Marchuk; Matthew L. Elwin

This chapter describes the PIC32’s inter-integrated circuit (I 2 C) communication peripherals. The PIC32 can be a master or a slave and communicate with one or more devices over a two-wire I 2 C bus. This chapter explains the I 2 C protocol, how the PIC32 special function registers (SFRs) are used to transmit and receive data, and provides sample code for the PIC32 to act as an I 2 C master, an I 2 C slave, and to communicate with an accelerometer and an OLED screen.

Collaboration


Dive into the Matthew L. Elwin's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Peng Yang

Northwestern University

View shared research outputs
Researchain Logo
Decentralizing Knowledge