My name is Lindsey Woo and I am looking to progress into the field of robotic controls. I am eager to learn more about control systems, sensing and navigation, and automation.
Outside of work, my hobbies range from hiking and running to baking and playing piano.
I am currently assisting a postdoc and his research utilizing next-best-view path planning for uncertain environments and noisy camera sensors.
-----
For my MEng project, I researched under Professor Mark Campbell at his Autonomous Systems Lab at Cornell University. The goal of my research was to implement various SLAM methods onto Clearpath Robotics' Jackal UGV and perform trajectory-based comparison for accuracy analysis. I used RTAB-Map, GMapping, and Cartographer with the ZED2 stereocamera and Velodyne LIDAR3. Gmapping and Cartographer perform well in indoor environments where there are structured walls while RTAB-Map performs well in outdoor environments where there are more variations and features in the environment. To calculate error metrics, the ground truth was provided by a high-precision GPS. Upon outdoor testing, it became apparent the vibrations from the LIDAR reached the GPS' internal IMU, causing issues with the data shown in the figure above. Foam was installed to dampen the vibrations. A ground plane was installed as well underneath the GPS antenna to improve the signal.
-----
For the final competition for my Autonomous Mobile Robots course, iRobot's Create robot is placed in a map where it must localize using a depth sensor and navigate towards variously weighted goals within an alotted time frame. We utilized a particle filter for localization. To simultaneously avoid particle deprivation and resampling too often, a low variance sampler technique was implemented. A low dispersion probabilistic roadmap was generated, taking into account the robot's radius and the wall's thickness. Using this roadmap, a modified traveling salesman problem was used for path planning. Our group placed third out of 12 teams.
-----
My final project for Multivariable Control Theory tackled designing a model for a quadcopter to operate using model predictive control. The main control objective was waypoint following through an urban setting. MATLAB's Simulink was used to implement the plant and controller. Measured disturbances were added as noise to the MPC and unmeasured disturbances were added as noise to the plant model. When the control horizon is relatively small compared against the prediction horizon and the scale factors and weights are tuned according to the desired outputs, the response was faster, and the performance, stability, and disturbance rejection, was improved.
-----
Our senior capstone design group built a drone system that can autonomously navigate a forest trail and identify a person of interest in an environment with limited GPS signal and display a map of the path taken by the drone. We utilized NVIDIA's TrailNet DNN to estimate the next pose for the drone to navigate towards and OpenPose DNN for person detection and descriptions. Once the person is found, the logged IMU data is sent over LoRa, a long-range low-power communication protocol, to the base station, a computer with MATLAB. Using a dead-reckoning algorithm, we are able to calculate the directions and distances the drone flew. Rotating the data points to a real-world frame gives us cartesian coordinates to overlay on an exisiting map of the forest, ready to be used by rescue personnel to reach the lost person.
This project taught us the importance of integration and systems engineering because we had a lot of difficulty getting our separate but functional parts working in tandem. We placed second runner-up in Northeastern University's Spring 2019 Capstone Design competition.
-----
From conceptualization to manufacturing, I designed a board to test the accuracy of the current sensors on the power processing unit. The PCB is attached to a power source and a load. The user can flip DIP switches to change the current to various levels, allowing them to see if the measured current passing through the load is within allowable range of the expected current for that level. Being able to experience the full design cycle from start to finish, I was able to learn common practices and industry standards surrounding design requirements, trade studies, part selection, board protection, and signal integrity.
-----
Looking for a cheaper alternative to a waterproof touchscreen, a fellow coworker and I developed a capacitive touch board, which had all the benefits of a touchscreen and could be made waterproof with a simple plastic housing. I developed the firmware to control all inputs and outputs for the board using the MSP430 and Cypress’ CY8CMBR3116 capacitive touch IC. The board had various peripherals, including NeoPixels and a piezoelectric driver for visual and haptic feedback, and these components were connected through I2C stemming from the MSP430. I learned a lot about serial communication, interrupt service routines, and the strict timing discipline needed to make the components and visual animations work together in harmony. Much time went into troubleshooting both the hardware and software, where I learned about the consequences of parasitic capacitances and memory limitations.
-----
In this lab, I learned about PWM, wireless networking, and embedded systems to create a program where a WiiMote controls the movements of a robotic arm. Using the Xilinx development board to support the software and motor control of the robotic arm, I coded in C to instantiate the Bluetooth protocol to receive signals from the WiiMote and parse the acceleration data. I then modeled a system in MATLAB’s Simulink to produce pulse width modulations. From there, I continued to develop in C a program that would direct the PWMs to actuate the arm’s respective servos.
-----
This project tied together concepts I learned about radio receiver architectures, from L-C RF and IF filters to mixers and up/down frequency conversion. Starting with soldering components to the board, crystals, capacitors, and inductors were chosen with values required to achieve resonance. An oscilloscope was used debug the board by ensuring the necessary voltage was coming through at specific nodes. It was also used to fine tune the filters to a frequency necessary to communicate with other groups’ radios via Morse Code.
-----
I coded in HTML and CSS to make a personal website that is responsive to various screen sizes.
-----
For a mechatronics course, I designed my final project idea around the importance of masks.
-----
For a dynamics course, my final project was to calculate the equations of motions for the dynamics of a triple pendulum with various methods. Using Lagrange Equations, Newton-Euler, and Differential Algebraic Equations, I was able to animate the motion of a triple pendulum using MATLAB.
Volunter/Service Chair 2017-2018
Tutor 2016-2018
---
Choreographer 2017-2018
---
Upperclassman Representative 2016-2017
---
Instructor 2015