Link Search Menu Expand Document

Research Assistant
Colorado School of Mines

Dates

September 2017 to August 2018

Description

The idea behind this project is to improve brain stimulation through the use of a magnetically controlled needle to navigate through the brain to specific locations where electric stimulation will be applied for the treatment of neurological disorders.

I was tasked with the implementation of a trajectory planner using C++. This involved deriving the necessary equations, and then programming them into a provided code base that implemented model-predictive control to find the optimal trajectory from a start point to an endpoint.

I was also tasked with the design, fabrication, and software development of the device to control the insertion rate of the needle. This involved examining the previous design for defects and then using this knowledge to design a better device. I used engineering fundamentals and computer-aided design tools during this process, and then used manual machines such as the mill and lathe to fabricate the designed parts. In addition, I used Arduino C to implement the low-level state-space control for controlling the needle rate, as well as C++ to send desired state information (from the optimal trajectory) from a workstation to the device.

Work Summary

  • Found the matrix and tensor derivatives for the set of differential equations of the needle
  • Implemented these derivatives in a C++ code base for model-predictive control for trajectory planning
  • Used engineering fundamentals for preliminary needle device design analysis
  • Used computer-aided design software for advanced design and analysis
  • Fabricated parts using manual mill and manual lathe
  • Used engineering fundamentals to select appropriate device components, such as encoders, gears, and micro-controller
  • Implemented state-space control for controlling the needle insertion rate using Arduino C

Skills Applied

  • Vector and matrix mathematics, including matrix and tensor derivatives
  • C++ programming
  • Arduino C programming
  • Research
  • Engineering analysis
  • Engineering design
  • Computer-aided design (SolidWorks)
  • Manual mill
  • Manual lathe
  • 3D Printing
  • Device assembly
  • Part selection
  • Linux/Unix command line
  • Git