Neil's Projects

JPL Projects

Mars 2020 (Perseverance)

I developed new software modules and updated heritage software for the Mars 2020 rover mission, including: In addition to this software development I also conducted code and design reviews; performed unit, simulation, regression, and hardware testing; and supported mission operations.

Mars 2020 Mission Website

Mars 2020 Mobility


COLDArm was a flight technology demonstration (unfortunately descoped to a ground demonstration) of how bulk-metallic glass actuators could be used to control a robot arm in extremely cold environments without heaters.

I was a member of the very small flight software team. We worked quickly from initial requirements and architecture to a full flight software system, utilizing the new F' flight software framework.

Project Website


The MLNav project demonstrated how a heavily-utilized algorithm within the Mars 2020 rover's mobility software could potentially be augmented with a machine-learning heuristic for increased computational speed and efficiency, especially in complex terrains.

I identified the opportunity for enhancement, integrated the heuristic into the flight software, and ran monte carlo simulations to show significant computational improvement.

Safety-Critical Compression

In collaboration with Astrobotic Inc, I created open-source versions of the compressors used on the Mars2020 rover mission. These implementations of JPEG, LOCO, and zlib feature changes to make the code more compatible with safety standards such as MISRA-C. A library for Malvar demosaicing was also released.


The Freeclimber project demonstrated how a limbed robot with microspine grippers could traverse vertical surfaces such as lava tubes or canyon walls.

I designed the robot's kinematics, mobility, and autonomy algorithms. I deployed and operated the robot in coordinated desert and lava tube field trials with science teams.

Student Researcher Projects

The majority of my college research was dedicated to the Precision Flexible Factory Floor project, advised by Dr. Howie Choset. This work aimed to replace inflexible assembly lines with distributed assembly on a set of modular bases.

Coordinated Multi-Agent Carrying

The goal of the Precision Flexible Factory Floor project was to enable the transportation of large assemblies with a distributed set of agents. Instead of using cranes, a set of robots would carry the piece from point to point.

Thanks to the passive capability of the Hybrid Passive-Active Manipulators (see below), the robots could move without exerting stress on the assembly. One agent in the active mode could act as a master unit, guiding the other passive robots.

Humans were also capable of working together with these robots. As demonstrated at the end of the video, a human operator could guide the otherwise unwieldy piece with a relatively light grip. The sensing and actuation of the robots did the rest.

Hybrid Passive-Active Manipulator

The Hybrid Passive-Active Manipulator was part of the Precision Flexible Factory Floor project. Because mobile robot bases will never be 100% accurate, additional techniques are required for manipulation tasks. Fine manipulation could move objects to desired locations, but had little flexibility. Compliant members could adjust to fit into locations naturally, but could not be actuated.

The Hybrid Passive-Active Manipulator achieved the best of both worlds. In the active mode, the manipulator could move in three axes with millimeter precision using lead screws. But the lead screw mating could be released to put the manipulator in passive mode, where the x and y axes could move compliantly.

I designed all of the electronics and software for the manipulator, including serial interfaces with the Syndicate architecture used for the overall project. In the video, you can see both the passive/compliant mode and the active/fine manipulation mode. The system also includes a suction cup and vacuum pump for sealing to flat objects.

Low-Level Position Control for Omni-Directional Bases in a Manufacturing Environment

For my Senior Honors Thesis, I developed a dead-reckoning algorithm to estimate the position of the omni-directional bases and a control algorithm that used the position estimates to move from waypoint to waypoint, closing the loop.

This project was presented at the Meeting of the Minds Research Symposium at Carnegie Mellon, and was the recipient of the $1000 Boeing Blue Skies Award.

Class Projects

Mechatronic Design

Mechatronic Design is a capstone course focusing on the integration of mechanisms, electronics, and computer control.

My team and I designed and built a robot to automatically identify colored targets at ten foot range, adjust orientation, hop discs from storage, and hit targets accurately, precisely, and quickly. We placed second in class competition and received a nomination for the David Tuma Laboratory Project Award.

Sensor Systems Design

In the Sensor Systems Design capstone course, Rentaro Matsukata and I created a sensor system capable of detection and position estimation of electrical cables in walls. The time-varying current of the AC power lines creates a weak magnetic field. With an array of inductive coils with ferrite cores, we successfully picked up the signal and estimated the position of cables within walls.

Snake Charming: Constrained Kinematics for Unstable Manipulator Bases

For our class project in Kinematics, Dynamics, and Controls, Ellen Cappo, Steven Ford, and I worked to develop a constrained inverse kinematics solution for the modular snake robot.

A common task for the snake robot is headlook, where the operator uses the head module to look around the environment. This position is very stable, because 4 modules are used to look around, while 12 remain on the ground. But the vantage point is not very high.

For a better vantage point, we develop an approach using constrained inverse kinematics that would bring the head high into the air while controlling movement and maintaining balance.

Inverted Pendulum

For our final project in Embedded Control Systems, Geri Ilieva and I designed a state-space controller for an inverted pendulum. The blue pendulum is free to move and has no actuation. The only motor is on the rotary base. Using feedback from an encoder on the pendulum, we were able to control the pendulum and keep it in an upright position. The system was able to go from rest to upright and reject significant disturbances.

Other Projects


In the first week back from winter break, the ECE students don't have any lab and have lots of free time. So we went to lab for the Build18 Hackathon!

In 2013 my team engineered AC power pass-through nodes that monitored usage and switched power via Wi-Fi. From our laptop, we could monitor and control lights in the demo room and in the Robotics Club all the way across campus. We won the Outstanding Project Award, which was chosen by industry sponsors.