Blogs

A short and incomplete history of control system tooling

· msthesis · history · control

In discussing tooling for hardware control systems, it’s interesting to talk about what tools have existed in the past. Indeed, the history of control systems is much longer than would be naively assumed. The development of control systems has been strongly linked with the development of tools for making them, from realizing controls with linkages connecting arcane sensors to outputs, to the advent of electrical mains enabling an easy-to-handle control medium, and the development of classical control theory and computers making development very accessible. Read more...

Building abstraction like the OSI model

· msthesis · theory · mechatronic

Layered abstraction models are an incredibly useful tool to reason about the myriad functions that even simple engineering systems must employ, especially when computers are involved. They take highly unique engineering components, identify commanality among them, and what interfaces they provide, and then in chaining several of these abstractions together, an engineering practitioner is provided with a relatively simple model to describe complex behaviour. Given how useful they are, how would one make a layered abstraction model? The Open Systems Interface, or OSI, model for network communication has an answer in ISO/IEC 7498-1. Read more...

Diving into a CAD library with call tree analysis, Part 2

· computer · occt

Previously, I showed how you can study which functions call what in a library by using gdb catchpoints to observe a running process’ call stack every time a syscall is made in the application. That was useful to understand the parts of the program related to external libraries, graphics, multi-threading, and compiler optimization, but it didn’t provide any insight into the mathematical and algorithmic core of the library which generally doesn’t do any syscalls. Here I’ll be showing how you can do this with the tool callgrind. Read more...

Diving into a CAD library with call tree analysis, Part 1

· computer · occt

I’ve for a while been interested in taking on some kind of project involving 3D CAD. The difficulty in that is all of the futzy computational geometry, when what I’m interested in is developing compelling tools for engineers to use. This means I need a library, and ideally an open-source one so I can easily share my work. Luckily, I found Open Cascade Technology, or OCCT. It’s a fully-featured, battle-tested CAD library with 30+ years of development, and it’s available under the LGPL 2.1 license. Read more...

Gravity Offload System

· mechatronic · mechanical · electrical · control · nasa · jpl · robosimian

In 2018 I did an internship at NASA Jet Propulsion Laboratory where I worked on a gravity-offload system to test mobility for a future rover mission to Saturn’s moon Enceladus. Read more...

Vine Robots

· mechanical · pneumatic · softrobot · ucsb

In 2019, I worked with the Hawkes Lab at UC Santa Barbara on developing a tool mount for their soft vine-like robots. I ultimately made two prototypes. Read more...

Presenting at the 2019 FIRST Tech Challenge Kickoff Workshop

· design · presentation

I was asked by the Los Angeles FIRST Tech Challenge organization to give a workshop on engineering design to high school students at the annual kickoff for the new season of competitive high school robotics. I gave two sessions of a 45 minute presentation on how to create innovative components for their robots to an audience of a few dozen students in each session. Read more...

Who should star in the next Shovel Knight game?

· programming · mathematica · fun

I did a poll in 2018 asking people what characters they’d like to see playable in a future installment of Shovel Knight. Rather than just counting the votes directly and finding a result, I created a method to find out what types of characters people would like and ultimately come up with a list of characters that the community wants that appeals to the most people while also giving the developers some freedom to pick what characters they want. You can read about it here. Read more...

A dolly with assisted stair climbing

· mechatronic · mechanical · electrical · ucsb

My bachelor thesis was to design and build a dolly that could carry a heavy, sensitive payload up and down stair with minimal force necessary from the user. The solution I and my group came up with was to build a motorized dolly. Read more...

Computational Olympic Rings

· programming · mathematica · fun

I’ve heard that the Olympic Rings logo’s colors are based on the colors of the world’s flags. With this project, I sought to find out if you would get a similar logo if you captured the colors of the world’s flags and made the Olympic Rings logo with them. I wrote this article to determine if that’s true. Turns out, it is! Read more...

1 of 2 Next Page