diff options
author | Martin Miller | 2023-02-13 11:26:05 -0500 |
---|---|---|
committer | Martin Miller | 2023-02-13 11:26:05 -0500 |
commit | 19e9a0a384402d37624dd26094620730465c66f1 (patch) | |
tree | 559ad506028d5a8b67bc8ee8357078196f275add | |
parent | 3b89f999804f8cf83262b34c1fddf8054caaa1e9 (diff) | |
download | martin-resume-19e9a0a384402d37624dd26094620730465c66f1.zip martin-resume-19e9a0a384402d37624dd26094620730465c66f1.tar.gz |
add world model
-rw-r--r-- | martin-miller-resume.tex | 61 |
1 files changed, 41 insertions, 20 deletions
diff --git a/martin-miller-resume.tex b/martin-miller-resume.tex index d6b9a1a..435527b 100644 --- a/martin-miller-resume.tex +++ b/martin-miller-resume.tex @@ -26,8 +26,8 @@ \usepackage{bibentry} \name{Martin Miller} % Your name -\address{2275 Wabash St Apt 2 \\ Detroit MI 48216} % Your phone number and email -\address{313-530-7348 \\ mmill429@ford.com} % Your phone number and email +\address{41-45 47th Street Apt 2 \\ Sunnyside NY 11104} % Your address +\address{929-561-9562 \\ marty@millermart.in} % Your phone number and email \begin{document} \nobibliography{publications} @@ -39,34 +39,59 @@ \begin{rSection}{Experience} -\begin{rParSubsection}{Ford Motor Company}{October 2017 -- Present}{Driver Assistance Research Engineer}{Dearborn, MI} +\begin{rParSubsection}{Ford Motor Company}{November 2022 -- Present}{Driver Assistance Sensing Algorithm Supervisor}{Dearborn, MI} + Provide technical leadership on the world model scrum and building a small team of software developers. I plan the team's work to achieve short term goals while building a foundation for long term deliveries. I established an agile work process on the team, scheduling retrospectives, demos, and standups. I established standards for high quality code: test driven design, pair programming, and an emphasis on good design. I personally participate in coding with junior developers to set norms for high quality code. I investigate upcoming technical goals and constraints. For example, I identified an approach to implement a graph without pointers due to system constraints and communicated our plan to downstream customers. Mentor developers to understand the ``why'' of our work so that they can become self-sufficient. Lead hiring effort for three robotics software engineers. - Algorithm researcher for the MOGMAP project, which is a local environment model - that supplies spatial information to driver assistance features for obstacle - avoidance and path planning. It uses an occupancy gridmap approach to fuse - signals from radar, ultrasonic sensors, and computer vision inputs: + As a manager: + - Establish agile practices + - Coordinate with other groups + - Schedule and planning of work to meet priorities and build a foundation + - Hiring of new talent to build team + - Communicate to the team what we are doing and why, in order to grow the capability on team + - Communicate to customers what we are doing and why, in order to get feedback and set priorities + - Host an agile reading group to improve our development practice + + As a technical lead + - Identify solutions to technical challenges. E.g. static graph, B-Splines + - Establish practices for producing production code: TDD, pairing + - Write production quality C++ code for automotive embedded platform. Conform to style guid, clang-tidy, and MISRA + - Share design tips from sources such as a Clean Code + +\end{rParSubsection} +\begin{rParSubsection}{Ford Motor Company}{December 2021 -- November 2022}{Localization Mapping and Odometry Research Supervisor}{Dearborn, MI} + + Led a team of 10 advanced driver assistance system (ADAS) engineers on research projects for localization and mapping algorithm development. This was an established team, familiar with its role, and performing at a high level. I focused on identifying useful projects, setting priorities, and creating leadership opportunities for the team. I consolidated the team onto two focused projects: a ROS2-based framework for next generation hardware and a metrics framework for analyzing algorithm performance. These were agile teams and I grew the team's interest in agile by hosting a reading group. The ROS2 group developed visualization, logging, and data conversion tools that were later picked up by other teams. The metrics team developed a generic framework that users could write plugins for to compute their algorithm-specific metrics. The framework runs in parallel on an HPC and provides a browser-based visualization. This work is being carried on by a production team. + +\end{rParSubsection} + +\begin{rParSubsection}{Ford Motor Company}{October 2017 -- December 2021}{Driver Assistance Research Engineer}{Dearborn, MI} + + Led the porting effort of an occupancy gridmapping algorithm into production. This is an algorithm that fuses radar, ultrasonic sensors, and computer vision inputs to provide spatial information to ADAS features for use in obstacle avoidance and path planning. The porting effort was a total rewrite of the code to meet the hardware and software constraints of the target embedded platform. + + Algorithm researcher on occupancy gridmapping project, which is a local + environment model that supplies spatial information to driver assistance + features for obstacle avoidance and path planning. Fuse signals from radar, + ultrasonic sensors, and computer vision inputs: \smallskip \begin{itemize} \itemsep -0.5em \vspace{-0.5em} % Compress items in list together for aesthetics - \item Led two year project to rewrite the MOGMAP codebase. - \item Managed project scope and priorities to ensure on-time delivery of software to VCSE. + \item Led two year environment modeling software rewrite project. + \item Managed project scope and priorities to ensure on-time delivery of software to internal customer. \item Designed new classes and architecture using object-oriented approaches and C++11. - \item Used algorithm knowledge to target and reduce lengthy software execution times on production hardware. - \item Wrote mathematical proofs to support algorithmic optimizations. + \item Used algorithm knowledge to identify and reduce lengthy software execution times on target hardware. \item Delegated programming tasks to a team of four developers. \item Primary code reviewer for a team of ten developers. - \item Identified metrics for assessing algorithm performance. Advised team on the benefits and limitations of our chosen assessment approach and guided developers' approaches to streamline the data analysis process. \end{itemize} - Supported R\&A and VCSE efforts to integrate our development processes: + Supported efforts to integrate across departments: \smallskip \begin{itemize} \itemsep -0.5em \vspace{-0.5em} % Compress items in list together for aesthetics - \item Collaborated with management in both departments to select the best technical approach for code-sharing. - \item Delivered portable code that builds and runs in research and production environments, which has significantly increased collaboration between developers in both departments. The ability to backport bugfixes and compliance changes from VCSE enables faster deliveries of subsequent algorithm updates and reduces duplicated efforts. - \item Deployed a Linux-based Jenkins instance to validate research code in a dockerized production environment. + \item Collaborated with management in two departments to select the best technical approach for code-sharing. + \item Delivered portable code that builds and runs in multiple environments, which has significantly increased collaboration between developers in both departments. The ability to backport bugfixes and other changes from customer codebase enables faster deliveries and reduces duplicated efforts. + \item Deployed a Linux-based Jenkins instance to validate code in a dockerized target environment. \end{itemize} Collected data for sensing algorithm and driver assistance feature testing: @@ -94,16 +119,12 @@ \begin{rSubsection}{Aerospace Robotics and Controls Lab}{June 2013 -- July 2017}{Graduate Research Assistant}{Urbana, IL} \item Researched simultaneous localization and mapping (SLAM) techniques for a river environment. Fused camera and IMU data using an extended Kalman Filter (EKF). \item Extended SLAM vision measurement model to incorporate reflections of objects in a river. -\item Improved SLAM accuracy through the use of better noise models. \item Used campus computing cluster to tune EKF parameters. -\item Collected and published a high quality stereo-inertial dataset collected in a river environment. -\item Led effort to procure hardware for a high-fidelity stereo vision, GPS, and IMU based data collection platform. \item Defined the requirements for the data collection platform's vision needs and identified hardware for purchase. \item Designed and constructed a custom trigger circuit for synchronizing the data collection platform's GPS and camera units. \item Wrote custom software to control camera trigger parameters, image resolution, and perform custom exposure control for challenging lighting in a river environment. \item Performed stereo camera and IMU calibration, which identified the transform between the IMU and cameras and provided the camera extrinsic and intrinsic parameters including lens distortion terms. \item Developed infrared camera calibration technique for a standard checkerboard test pattern. -\item Measured and interpreted IMU Allan variance to determine accelerometer and gyroscope noise parameters. \end{rSubsection} %------------------------------------------------ |