murtis robotics engineer yet another roboticist blog

About

I like to apply my experience in robotics toward unique applications. 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 experience.
  • Data visualization using Python and Houdini.
  • Dev-ops technologies including Docker, Mesos, Marathon, AWS, and Ansible.
  • Setting up CI systems.
  • Windows and Linux systems administration.
  • Prototyping using 3d printers.

Work Experience

May 2017 - Robotics Engineer @ area17

Developing devloper 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.
  • Manage software build and release onto devices.
  • Manage flight operations and integration with the Pixhawk flight control software.
  • Working with stereo vision depth estimates and occupancy grid based planning methodologies to enable safe autonomous flight.
  • Leading drone hardware integration projects and supporting customers integrating area17 autonomy software onto their existing hardware platforms.
  • Assisted 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

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

May 2017 - Robotics Engineer @ area17
May 2015 - May 2017 Robotics Engineer @ PreNav
2008 - 2015 Systems Administrator @ City of Roseville

Education