murtis robotics engineer yet another roboticist blog
Downloadable pdf resume

About

Robotics generalist with wide array of skillsets. I like to describe myself as a "full stack roboticist", as I've owned or worked on the entire robotic stack. I have experience in --
  • Bazel build systems. I love hermetic, deterministic builds.
  • State estimation and sensor fusion using Kalman filters, including EKFs and UKFs.
  • Visual odometry (primarily monocular)
  • Computer vision algorithms using OpenCV and Matlab.
  • Embedded systems and Yocto Linux.
  • System integration and debugging using Robot Operating System (ROS) and similar distributed computing systems.
  • Motion capture systems.
  • Algorithm development and simulations using Matlab and Python.
  • PID controllers and controller tuning.
  • Data visualization using Python, Houdini, Grafana, Foxglove.
  • Dev-ops technologies including Docker, Mesos, Marathon, and Ansible.
  • Cloud computing on GCE using terraform, kubernetes.
  • CI systems.
  • 3d printing.

Work Experience

December 2023 - Senior Software Engineer @ 280 Earth

Developing software and infrastructure related to direct air carbon capture.

  • Current role leading build systems and infrastructure related work.
January 2021 - December 2023 Software Engineer @ Google X

Performed contract software engineer work for Google X via PRO Unlimited on a non-public team.

  • Converted legacy embedded build system into bazel build, enabling deterministic embedded development.
  • Developed custom yocto based embedded linux distribution shipping a real time linux kernel.
  • Developed yocto layers to enable embedded linux over the air updates using systemd-repartd, systemd-updated.
  • Adapted open source, open hardware motor controller with torque feedback sensor, enabling torque control for robotics applications.
July 2019 - January 2021 Software Engineer @ Postmates-X (now Serve Robotics)

Developed software for last-mile delivery robot.

  • Intially part of the Robotics team, but moved to Infrastructure team.
  • Maintained CI / CD / Releases for a team of 50+ engineers and 20+ robots.
  • Maintained Bazel build infrastructure for C++ / Python code base.
  • Developed Bazel workflows for integration testing suites and embedded linux deployment including cross copmilation workflows.
  • Implemented tooling to aggregate device usage (CPU / memory / cgroup usage) into custom middleware.
  • Implemented automated flashing utilities to enable contract manufacturers to fully provision robots without engineering assistance.
May 2017 - July 2019 Robotics Engineer @ area17

Developed tools and software for aerial and terrestrial robots capable of physical automation tasks within GPS denied environments.

  • Converted a local CMake build system to a Bazel cross compile workflow, allowing for a massive increase in developer productivity.
  • Managed software build and release onto devices.
  • Managed flight operations and integration with the PX4 flight control software.
  • Worked with stereo vision depth estimates and occupancy grid based planning methodologies to enable safe autonomous flight.
  • Led drone hardware integration projects and supporting customers integrating area17 autonomy software onto their existing hardware platforms.
  • Assisted in development of a gRPC API allowing third parties to interface our drones.
  • Set up a motion capture system for use in QA testing and automated capturing of flight performance metrics.
May 2015 - May 2017 Robotics Engineer @ PreNav

Specializing in state estimation, controls engineering, flight operations, systems integration, and dev-ops. Wrote and maintained code for autonomous drones, allowing for automated inspection of cell towers and wind turbines.

  • Implemented a custom UKF estimation library for sensor fusion of local and global coordinate sensors, allowing for centimeter precision drone flight.
  • Implemented a monocular visual odometery system.
  • Set up a safety indoor flight cage using motion capture system for controller and estimator validation.
  • Built tools for flight log analysis and analyzed flight data to determine root cause of field reports.
  • Managed a Yocto Linux project for creating customized Linux installs for our embedded Linux systems.
  • Set up and maintain a local compute cluster consisting of networked computers using Mesos, Marathon, ZFS, Docker, and Ansible technologies.
  • Used this cluster to perform automated, full system offline integration tests. Tests utilized automated, procedural, environment generation allowing simulation of sensors and photo-realistic cameras. These inputs were used to simulate and test our full system on any number of use cases.
2008 - 2015 Systems Administrator @ City of Roseville

Windows / Linux Sysadmin for a local government IT department.

  • Managed servers on an on-premise datacenter

Open Source Projects

witness

An API controllable webcam project.

GitHub
Bazel Examples

A repository showing examples of how I use bazel including CROSSTOOL setups, resin integrations, and more!

GitHub
Bazel compilers

Easy to include bazel cross compiler definitions.

GitHub
Bazel tools

Common tools that are useful for many bazel projects.

GitHub
PUBG Automontage

An automated montage maker for pubg shadowplay clips.

GitHub
Jetson WiFi Connect

Dynamic WiFi configuration container for aarch64 using balena wifi-connect.

GitHub

School Projects

Senior Project - SLAM Robot

Implemented a Simultaneous Localization and Mapping algorithm on an autonomous robotics platform. The robot is able to autonomously navigate around a room without prior knowledge of the environment using an Extended Kalman Filter to fuse wheel encoder odometry and monocular visual odometry data.

6-DOF Manipulator

Developed software for controlling a 6 degree of freedom robotic manipulator. Created debugging GUI in PYQT4 to expedite calibration and algorithm development. Inverse kinematics were performed numerically by using Monte Carlo simulations.

Stereoscopic Object Tracking

Object detection with real world position and velocity estimation using stereoscopic camera correspondence.

Servo Motor

Custom servo built using PID position control of a brushed DC motor, gear reduction, and an IMU as a feedback sensor. Reconfigured system using ROS to use a webcam as a feedback sensor to track objects and keep them in frame.

GitHub
Camera Gimbal

Implemented a two axis gimbal system in order to maintain a constant attitude of a camera through the control of two servo motors. I2C used to interface a digital gyroscope and accelerometer, sensor fusion performed using a digital filter.

Skills

Bio

December 2023 - Senior Software Engineer @ 280 Earth
January 2021 - December 2023 Software Engineer @ Google X
July 2019 - January 2021 Software Engineer @ Postmates-X (now Serve Robotics)
May 2017 - July 2019 Robotics Engineer @ area17
May 2015 - May 2017 Robotics Engineer @ PreNav
2008 - 2015 Systems Administrator @ City of Roseville

Education