Brandon VanBuskirk

A life enthusiast, a robot and ML scholar, and a lover of a good cup of coffee.


Experience

Undergraduate Student Instructor

Machine Structures, UC Berkeley

Instructing, tutoring and guiding about 800 students through Machine Structures, CS61C, covering: Operating Systems, Parallel Computing, C and Assembly Programming, CPU Data Path design, error-correcting codes and much more.

Students have four main projects:

  • Advanced C programming project(varies by term): deals with memory allocation techniques, pointer manipulation, and gdb debugging.
  • ML classifier built in RISC-V assembly: implementing matrix operations like matrix multiplication, exponentiation, etc. in the RISC-V assembly language.
  • CPU data path digital design: designing a single-cycle and pipelined processor using only basic logic gates, flip flops, and multiplexers(DMEM is abstracted away), and then testing it by running custom RISC-V files.
  • Parallel computing matrix operations in C programming: using thread-level and data-level parallelism, as well as cache-blocking to implement highly optimized matrix operations in C.

June 2022 - Present

Undergraduate Researcher

Directly advised by Professor Ronald Fearing, I am leading a team of undergraduates to develop a network of underactuated, intelligent robots that cooperate to overcome tasks otherwise unattainable by a singular, well-equipped robot. This research is working to show that sample efficient reinforcement learning policies, like online Model Predictive Control, provide the ability for a single model to not only generalize across inconsistencies between robots, but also allow for the robot to adapt to the environment and achieve tasks without need of system identification. This study is currently underway and pushing to produce a research paper for the 2023 IEEE International Conference on Robotics and Automation (ICRA). Details on this are featured in the "Projects" section.

January 2022 - Present

Associate Researcher

Lunar Rover Research Team, UC Santa Barbara

Under the NASA Big Idea Challenge, our team designed a lunar rover to operate in deep craters of the Moon without access to solar energy, using directed energy and dual cooperative rovers. Details on this are featured in the "Projects" section.

September 2018 - March 2019

Touring Musician

I spent four years traveling the world, playing music with my friends. Growing up listening to punk rock, I always dreamt of being in a band myself, but never expected that I would have the opportunity to travel as a result of it. Out of love for the music, we found a way to grow as an artist in a financially broken music scene, and pave our own path, eventually leading to US and international tours. This experience taught me a lot about the DIY mindset and is still a fundamental aspect of my identity today.

November 2016 - March 2020

Education

University of California Berkeley

Electrical Engineering and Computer Science
Anticipated Gradutation: Dec, 2022

GPA: 3.6

Courses: Machine Learning, Embedded Systems, Discrete Signals Processing, Microelectronic Devices and Circuits, Machine Structures(OS, Parallel Programming, Computer Architecture Design), Data Structures, and more.
Projects: Underactuated Swarm Robotics Research with Professor Ronald Fearing, Video/Image Transmission via Radio Wave Modulated Signals, Fully Connected and Convolutional Neural Network Architecture, CPU Datapath Design, Multi-stage MOSFET Amplifier, and more.
Occupations: Undergraduate Student Instructor for CS61C - Machine Structures
August 2020 - Present

Santa Barbara City College

Physics, Mathematics and Computer Science
Associate's Degree

GPA: 4.0

Courses: Physics(Newtonian Mechanics, Modern Phyics, Thermodynamics, Electricity and Magnetism), Math(Multivariate Calculus, Linear Algebra and Differential Equations at UCSB), Computer Science(Python, C C++, Java Programming and Data Structures).
Projects: Directed Energy Lunar Rover Design for NASA's Big Idea Challenge(at UCSB)
August 2018 - June 2020

Skills

Design
  • Signal Processing, Spectrum Analysis
  • Radio Data Transmission/Compression(Video and Images)
  • Machine Learning and Optimization Algorithms
  • MOSFET Amplifier and Circuit Design - SPICE
  • FPGA Digital Integrated Circuit Design
  • PCB Design - KiCAD
Programming Languages
  • Python(Numpy, SciPy/SciLearn, PyTorch)
  • C
  • C++
  • Java
  • ROS
  • RISC-V Assembly
  • Lingua Franca
  • Verilog
Tools

Interests

Outside of my regular work, I enjoy anything that gets me out of the house. Typically it's summitting a new peak, or swimming in the ocean. I also gravitate towards any sport that involves a ball, but mainly the white ones with red laces.

When I'm home, I love a good woodworking project. I've built my desk, entertainment center, benches and bedframes. Of course, most design choices are credited to my woodshop supervisor Cricket(featured below).

Supervisor Music Hiking

Projects

Kamigami Swarm Robots

Biomimetic Milisystems Lab, Professor Ronald Fearing
Project Still in Development
Kamigami
  • What: Lightweight underactuated swarm robots built on Kamigami chases and designed using end-to-end Reinforcement Learning, communicate on a ROS network to push or pull objects in their environment that would otherwise be impossible for a single robot to achieve.
  • Why: Using end-to-end Reinforcement Learning methods like Model Predictive Control, these robots can move an object to a target location or through a desired trajectory by implicitly learning their own dynamics and the characteristics of their environment. This drastically cuts down on the efforts of programming classical feedback controls and system identification and allows allows for the system to adapt to changes in the environment and dynamics of the robot itself. In addition, once two or three agents have been trained in an environment, then an arbitrary number of similar robots can be deployed with no training required.
  • How: Each robot is equipped with:
    1. RaspberryPi Zero - fast computation and network capabilities at a low mass
    2. Inertial Mass Unit - measurements of orientation and movement
    3. ADC - processing battery voltage and RPM data
    A peripheral camera also tracks the location of the robots and updates destinations per unit. Additionally, a PCB was designed to embed all breakout boards and integrate connections, as well as a 3D printed electronics housing to abstract away the electronics on board(photos of these will be updated once the design meets all expectations).
January 2022 - Present

Video and Image Transmission using Radio Waves

  • What: A custom modem that compresses animated PNG files and using APRS packet format, transmits these packets to a reciever, which then is decoded and reconstructed.
  • Why: Every day we use devices that seamlessly transmit and recieve information and very few people stop to question the magic at our fingertips. This project is an exploration into signal processing and communications, with lots experimental design along the way. Everything is coded from scratch(except Huffman Encoding - thank you MIT).
  • How: Animated PNG files are transformed from RGB to Luma/Chroma channels and then processed separately. Using the 3D discrete cosine tranform, 3D laplacian quantization, and spiral, zero run-length, and Huffman encoding, the video is converted to byte code. This byte code is partitioned into APRS packet format and transmitted in NRZI byte stream. The reciever then uses a phase lock loop to detect the data stream and invert all encoding.

Compression: 240:1 (2.4MB to 10kB)

Takeaway: The goal of this wasn't to perfectly recreate the original video, but to find the limits of compression in which the recovered video is fairly close to the orginal but much much more efficient to transmit. This project taught me alot about communications and signal processing design. I had to learn many experimental video encoding techniques and made numerous experimental choices that ultimately did not improve my modellike PCA, frame differencing, motion detection, to name a few. But what's important is that I learned what works, and what doesn't, and how to take experimental concepts and apply them.

January 2022 - May 2022

Directed Energy Lunar Rover

Link to Proposal Here.

rover
  • What: In response to NASA's Big Idea challenge, this project was to propose and design a solution to the dilemma of traversing permanantly shaded regions(PSRs) of the lunar surface. We worked under alongside Professor Philip Lubin and adapted some of his work on directed energy as well as some of our own research to make it a viable solution.
  • Why: The lunar surface is known to contain ice and could some day be used as a rocket refuel station for deep space missions, greatly preserving fuel on Earth-based launches. The problem is that the Moon's ice is mainly in PSRs(deep craters of the polar regions), meaning that solar powered rovers are no longer an option. Thus there is a big energy dilemma and few ways to successfully and affordably study the ice of the lunar surface.
  • How: Our model is a system of two cooperative rovers. One with a laser and solar cells that remains at the rim of a crater collecting sunlight and directing energy to the recieving rover below, which deploys of its own for power supply.

Takeaway: This project posed many difficult challenges for our team to attempt to find solutions to. This project was a transformative experience for me as a Sophmore and taught me so much about insulation, power systems, optics, and design in general. We were ultimately eliminated from the challenge for having an overly ambitious design and righfully so. This was my first extracurricular research experience and showed me the beauty of space engineering and science for the first time.

January 2018 - May 2019