Previous Research

Quadratic and Linear Optimization with Analog Circuits (UC Berkeley MPC Lab)

The purpose of this research project was converting LP and QP optimization problem to an equivalent analog circuit whose steady-state voltages are optimizers of LP/QP problem. The analog programmable optimization circuit contains programmable resistors (digital potentiometers) and diods. By changing the resistance of the potentiometers, and also connectivity of the switches, the board is highly configurable and can solve different linear and quadratic optimization problems. We used Arduino DUE micro-controller to program, calibrate, and monitor the functionality of the analog board. More details can be found on MPC Lab webpage.

SUPERball Tensegrity Robot (NASA Ames Research Center and UC Berkeley BEST Lab)

The purpose of this research project was to design a tensegrity robot, named as SUPERball (Spherical Underactuated Planetary Exploration Robot). Our team designed and built SUPERball as a 6-rod compliant icosahedron modular tensegrity robot for planetary landing and exploration applications. Tensegrity (“tensile-integrity”) structures are composed of interlocking rods and cables, and are able to compliantly absorb forces and interact with unstructured environments. We have designed each rod as a fully autonomous unit compromised of multiple circuit boards for sensing, wireless communication, motor control, and power control.

Course Projects

Computer Vision (CS 280)

Semantic Segmentation for Urban Scenes, and its Application in Autonomous Driving: Case Study for CityScape Dataset

We fine-tuned two standard semantic image segmentation networks, the Fully Convolutional Network (FCN) and the Segmentation Net (SegNet). We trained these nets on Google Cloud Platform using tensorflow and the CityScape dataset, which is an urban scene dataset mostly used for training the nets for autonomous driving applications. We compared the performance of the two neural networks by using standard performance metrics for semantic segmentation and analyzed the underlying reasons of observing different behaviours in each model. The FCN net was pre-trained using ADE20K dataset and the SegNet was pre-trained using CamVid dataset. After implementing both networks, FCN-8s and SegNet (shallow version), the results show that the FCN-8s model requires more memory. This is because the FCN-8s decoder model requires storing encoder feature maps during inference while the SegNet only needs to store max-pooling indices and is therefore more memory efficient during inference. So FCN-8s is memory intensive and it is not suitable for embedded applications, but it achieves better performances. In addition, both FCN-8s and SegNet use modified image classification neural networks for their encoder parts. However, their decoder parts are different. SegNet uses max-unpooling method for upsampling which is a fixed function, while FCN-8s uses transpose convolution (learnable upsampling) which is much more sophisticated method for upsampling compared to max-unpooling. This is one reason that FCN-8s yields much better accuracy compared to SegNet (another reason is that the Segnet model we used is shallower). When it comes to training time, smaller networks like the SegNet learns to perform better in a shorter time. However, when the training time becomes longer, FCN-8s will outperform the SegNet. Therefore, FCN-8s has higher accuracy, higher memory consumption and lower inference speed compared to SegNet and upsampling in each architecture causes theses differences.


Advanced Robotics (CS 287)

Robot Trajectory Optimization Using Approximate Inference and Iterative LQG

In this project, two algorithms for trajectory optimization, iterative Linear Quadratic Gaussian (iLQG) and Approximate inference control (AICO), were implemented and their performance were illustrated using two settings: a random Linear Quadratic system, and a single-link robot arm. Iterative LQG is an instance of Sequential Quadratic Programming (SQP) which iteratively solves the approximated version of the original problem for non-LQG cases. While iLQG method uses Bellman equation to find the optimal policy, approximate inference translates the stochastic optimal control problem (SOC) to a Bayesian inference framework, by reformulating the Bellman equation.


Hybrid Systems (EECS 291E )

State Estimation for Stochastic Hybrid Systems

Hybrid systems interact with their environment through several discrete-event dynamics (operating modes) and continuous-time dynamics for each mode. Online monitoring and diagnosis of hybrid systems can be considered as hybrid state estimation problem. Sequential Monte Carlo also known as particle filtering is an approach for state estimation of general (non-Gaussian, non-linear) problems. In this project, particle filter (PF) and Rao-Blackwellised particle filter (RBPF) algorithms were implemented and their performance compared and demonstrated for two different test settings: a random state space model and aircraft trajectory tracking.