Research Samples

Student:  Jamie Border
Professor/Sponsor:  Professor David Auslander
Mentor:  Jonathan Shum
Research Project Title:  Analysis and Design of a Dynamic CubeSat for Increased Precision Measurements of Plasma, Electric Fields and Magnetic Fields.



Plasma, electric fields and magnetic fields in LEO are currently measured using satellites equipped with a spinning boom on a single axis. These measurements lack precision due to short spinning booms and the inability to measure in orthogonal axes, where the perpendicular electric field is typically an order-of-magnitude larger than in the parallel electric field. A satellite with orthogonally arranged booms allows for more accurate data, however extra moments are applied to the spacecraft that must be resisted by the attitude determination and control system (ACDS) to maintain an orientation or track a point of interest. This study aims to utilize a workflow consisting of Inventor, Modelica, and Labview to develop and demonstrate an ACDS for this application in a CubeSat. After modelling the CubeSat in Inventor with accurate mass properties, a simulation model was developed in Modelica to verify the dynamics and add constraints. A prototype was manufactured to allow for validation of the simulation model in Labview by testing single axis control. The satellite is capable of regulating after a disturbance is exerted on the satellite body. It can also track a moving setpoint.


Student: Eric Bourgain-Chang
Professor/Sponsor: Professor Francesco Borrelli
Mentor: Jason Kong
Research Project Title: Berkeley Library for Optimization Modeling 2.0


The Berkeley Library for Optimization Modeling (BLOM) was originally developed at the UC Berkeley Model Predictive Control (MPC) Lab as a language for modeling nonlinear dynamical systems for optimization problems, in particular for MPC. BLOM allows the creation of a model in block diagram form using Simulink for the purposes of forward simulation and model validation. Models are automatically translated to an optimization problem and then exported to an appropriate solver, such as IPOPT. BLOM 2.0 is the second iteration of BLOM, focusing on improving efficiency, scope and scalability, ease of debugging, and expanded features. One major area for improvement is increasing the variety of Simulink blocks that can interface with the BLOM. This would allow for seamless integration of BLOM with existing models, instead of requiring the user to re-implement the entire model using BLOM. Another improvement is increasing the number of solvers that BLOM can export optimization problems to, since different optimization solvers achieve varying benchmarks in speed and accuracy depending on the characteristics of the optimization problem. Once these tasks have been completed, the next goal is to extend the capabilities and user interface of BLOM to handle stochastic problems. This would require the development of algorithms for the propagation of uncertainty over nonlinear dynamic models, as well as data format standardization to quantify input uncertainties.


Student: Kai Ho Edgar Cheung
Professor/Sponsor: Professor Karl Hedrick
Mentors: Dr. Stephanie Lefevre and Theresa Lin
Research Project Title: Driver Behavioral Modeling via PWARX Identi cation: Vehicle Following on Highway


To supplement a vehicle model, a driver model is essential for a driver assisting system. However, due to the nonlinearity nature of human behaviour, it is difficult to be represented by a linear model. In this project, we focused on investigating the driver's behaviour when following a vehicle on highway with no lane changes. In this case, instead of creating one single linear model, we identified a PieceWise Auto Regressive eXogenous (PWARX) hybrid model containing different linear models of different modes; a PWRAX model can feature the nonlinear human behaviour, while maintaining a lower computational cost. Using actual vehicle following data, the optimized number of modes are identified through K-mean clustering algorithm in form of polytopes. We validated the model by comparing the actual driving data with the model predicted data.


Student: Jung Eun (Melanie) Choi
Professor/Sponsor: Professor Karl Hedrick
Research Project Title: Human Driver Model and Sliding Mode Control-Road Tracking Capability of the Vehicle Model


My research intended to compare and assess the accuracy of two model-based methods for the vehicles in tracking a given road path. In normal driving conditions, the driver uses preview information of a look-ahead point to generate a steering behavior. Nowadays, many researchers incorporate driver modeling in designing an active safety system or autonomous driving vehicle system. Preview control takes account of the human's capability to predict future vehicle response and builds a model based upon it. While preview control considers the difference between the current state and the preview state at the look-ahead point, sliding mode control is a nonlinear control method that defines sliding surfaces to achieve tracking of a desired value. Assessing and comparing the accuracy of the two methods in a path-following task and ultimately incorporating the two methods together will provide a good visualization of two promising methodologies used in the automotive research field.

Student: Jeffrey Dinakar
Professor/Sponsor: Professor Karl Hedrick
Mentor: Andreas Hansen
Research Project Title: dSPACE Implementation of a Receding Horizon Sliding Controller


Throughout the 21st Century, there have been major developments in the world of autonomous vehicles. As technology evolves at a more rapid rate every day, new control strategies are also being developed to further progress in the development of autonomous vehicles. One of these strategies is to utilize Model Predictive Control (MPC) in steering control of an autonomous vehicle. Receding Horizon Sliding Control (RHSC) is a developmental control methodology that aims at combining benefits from model predictive control and sliding mode control. By implementing a Receding Horizon Sliding Controller, autonomous vehicles can more accurately follow given desired trajectories, ultimately creating a more smooth and safe driving experience for both the users of the autonomous vehicles as well as the world around them. In this experiment, a RHSC was implemented in a test vehicle utilizing dSpace for the user interface as well as MATLAB and Simulink for the simulation. The effectiveness of the approach is shown with the results obtained from experimentation, using a test vehicle at the UC Berkeley Richmond Field Station. In further studies this controller will be tested through various trials at the Hyundai California Proving Grounds, which will allow for more complex trajectories and maneuvers.


Student:  Nicole Greene
Professor/Sponsor:  Professor Robert Full and Dr. George Anwar
Dwight Springthorpe
Research Project Title:  Bio-Inspired Burrowing Robot



In recent years, the field of bio-inspired robotics has experienced unprecedented advancements. We now have robots that run, fly and swim. Despite these advancements, the animals that inspired these robots remain substantially more versatile; the same animal is often capable of all three tasks. By understanding how physiology, behavior and the environment all contribute to animal multifunctionality, we can better understand animal motion and translate these discoveries into new technologies in the fields of robotics, prosthetics and rehabilitation.


The ghost crab is a prime specimen exhibiting multifunctional use of its appendages. Ongoing research has evaluated live specimens’ ability to use their walking limbs to burrow, finding that ghost crabs use relatively unspecialized appendages to perform many different aspects of burrowing. However, it is difficult to quantify the effect of many appendage and substrate properties due to experimental limitations. My objective was to address these limitations and quantify the effect of appendage and substrate properties using a robotic model. The model allows for repeatable and controlled manipulations that are impossible with live specimens. The model additionally carries instrumentation for quantifying burrowing performance in previously unachievable detail. The results of this work aim to provide new information on the biomechanics of ghost crab burrowing, enhance our understanding of animal multifunctionality, and potentially inspire new technologies.

Student: Matt Fay
Professor/Sponsor: Professor Karl Hedrick
Research Project Title: Investigating the Robustness of Electronic Stability Control in Electric Vehicles

Electric vehicles utilizing multiple traction motors, thus having independent control of torque at each drive wheel, have enabled new forms of electronic stability control. This paper formulates and simulates one such implementation, stabilizing yaw rate and vehicle slip angle by varying the torque applied to each motor in an independent rear-wheel drive go-kart. An upper controller utilizing non-linear sliding mode control determines the requested yaw moment as a function of the vehicles current velocity, acceleration, yaw rate, and the drivers steering angle. This requested moment, along with the vehicle's throttle position, is then sent to a lower controller. Also utilizing non-linear sliding mode control, this controller then determines the optimal torque for each rear wheel given a linear tire model to achieve the desired vehicle trajectory. Through simulation, this implementation's robustness with respect to the cornering and longitudinal tire stiffness coefficients is evaluated.


Student:  Andrew Ficek
Professor/Sponsor:  Professor David Auslander
Research Project Title:  Integrated Tool Suite


The purpose of this research project is to create a streamlined process for creating control systems using Autodesk Inventor, OpenModelica, and LabVIEW software. The current method for developing control systems for complex mechanical systems is usually reliant on having a physical system present that can then be manipulated using trial-and-error type methods. The proposed method for dealing with these systems would be to first design the mechanical portion of the system in Inventor (a CAD software). The data from the Inventor model would then be transferred into a modeling and simulation language Modelica (using OpenModelica software) and augmented with the proper multi-media components that could not be modeled in Inventor. The final stage of this method would be to transfer the data from OpenModelica into LabVIEW, where simulation and control loops could be ran on the model, without ever having a physical system present.


I am specifically working on two things: the modeling of a slider crank system pictured below and creating a step-by-step tutorial for future students for using OpenModelica, specifically in its treatment of springs.  So far I have modeled the system in both Inventor and OpenModelica and I am currently working on bringing the system into the LabVIEW environment in order to develop a control scheme.


Student: Roya Fallah Firoozi and Saman Fahandezhsaadi
Professor/Sponsor: Professor Francesco Borrelli
Mentor: Sergey Vichik
Research Project Title: Solving Linear and Quadratic Programs With an Analog Circuit


The purpose of this project is to design a fast model predictive controller using an analog circuit, which solves an optimization problem. Arduino DUE controller has been used to program, calibrate, and monitor the functionality of the analog board. The analog board consists of digital potentiometers, switches, and multiplexers. By changing the resistance of the potentiometers, and also connectivity of the switches, the board can solve different linear and quadratic optimization problems.

During the semester we built a circuit prototype to program and calibrate a simple setup, and then expanded the software for the real analog board. The prototype circuit consists of three digital potentiometers, which are connected through daisy chain. We programmed Arduino to transfer data to each device via SPI protocol. The last phase of the project was to develop a software architecture to program, calibrate, and monitor the analog board.


Student: Felix Sebastian Frank
Professor/Sponsor: Professor Karl Hedrick
Mentor: Andreas Hansen
Research Project Title: Car Engine Exhaust Gas Control


Automotive powertrains are highly nonlinear systems and as such pose a great challenge to control engineers. One of the goals in working with modern car engines is the reduction of hydrocsrbon emissions, especially during cold start. Using engine spark timing to drive the exhaust gas temperature according to a desired trajectory is a popular strategy. For this purpose a discrete sliding mode controller combined with a Luenberger observer was designed. Validation was done in form of implementation of the controller in computer simulations. Comparing the results to collected real engine data provides further insights and verification of this control strategy.


Student: Rushil Goradia
Professor/Sponsor: Professor Francesco Borelli
Mentor: Jon Gonzales
Research Project Title: Design and Testing of new Encoders for the Berkeley Autonomous Race Car (BARC)
Research Areas:  Controls, Dynamics


This paper describes the setup and process used to install and test new encoders for the Berkeley Autonomous Race Car (BARC).  It describes how both the hardware and software were integrated to link the encoders to the BARC using the ROS (Robot Operating System) as the operating system and an Arduino board as the hardware interface. The encoders were tested at different speeds and on different wheel rims to obtain average velocity readings and these readings were compared for accuracy. In the end it was determined that these encoders were infeasible to use on the car because of inconsistencies in their readings at high velocities. The main cause for this was that since these were light sensitive encoders that used capacitor discharge to calculate speed, their readings were highly sensitive to noise in the form of the ambient light and wheel rim design.


Student: Zachary Hammond
Professors/Sponsors: Professor Dorian Liepmann and Professor Robert Full
Mentor: Dr. Chen Li
Research Project Title: Robotic Models of Insect Righting Strategies


I am working as an undergraduate researcher in the Poly-PEDAL (Performance, Energetics, Dynamics, Animal, Locomotion) lab at the University of California, Berkeley, under the direction of Dr. Robert Full and Dr. Dorian Liepmann. Dr. Full and his students utilize biology and engineering to take an interdisciplinary approach to studying biological, bio-inspired and human-engineered systems. As one part of this mutual relationship between biology and engineering, we integrate principles and analogies from biological systems with human engineering to create bio-inspired robotics. I am currently working with a team of researchers who are interested in studying the righting reflexes of animals and applying these righting strategies to robotic systems. Small scale robots have broad applications in search and rescue, reconnaissance, and environmental monitoring. But without a mechanism for correcting their orientation when they become capsized, they cannot be deployed in rugged environments. My partner and I work together to design and test robots that mimic the righting reflexes of a winged cockroach (Periplaneta americana) to correct itself while inverted.

Our robotic cockroach models were built on the chassis of a simple hexapod robot with an alternating tripod gait. We equipped the robot with motors, servos, and various appendages to mimic the righting reflexes of the cockroach. These additions are designed with modularity in mind to enable us to study the effects of various parameters including wing shape, wing orientation, wing retraction, and actuation speed. Fabricating these additions were accomplished using 3D printing and laser cutting. A microcontroller was programmed to control servo and motor actuation and perform automated testing. A tangible user interface was created to allow us to adjust programmable testing parameters in real-time.


Student:  Andrew “Drew” McPherson

Professor/Sponsor:  Professor Masayoshi Tomizuka

Mentor:  Robert Mathews

Research Project Title:  Passive, Variable Stiffness Assistive Devices for Human Assistance Controls



For individuals suffering from loss of tricep strength many daily and recreational activities are rendered impossible. Although bicep function and thus flexion is preserved there is no controlled means of forearm extension thus eliminating a subject’s ability to position one’s hand in space against gravity or apply force in extension. Current options for such subjects are tendon transfer surgeries or upper limb assistive devices such as exoskeletons. Recovery from these surgeries however requires extensive rehabilitation, and often provide limited functionality, while assistive devices are often limited by power source and device complexity. This work focuses on the development of a fully passive assistive device which eliminates most of the drawbacks of conventional exoskeletons, while affording the user increased functionality. By allowing the user to mechanically switch between multiple settings of passively sprung mechanisms, the user has the ability to both move against gravity, as well as provide high stiffness support to the forearm. Our current benchtop results show the necessary torque around the elbow for gravity compensation to be approximately 5 Newton meters with an upper limit of approximately 200 Newton meters for the intended use with outriggers by a tetraplegic for downhill skiing on a bi ski. It is expected that this robust and lightweight device will be useful for many other activities including transfers, weight shifts, manual wheelchair propulsion, and general daily use which we plan to prove in future experiments. Additional applications such as injury reduction for maintenance and janitorial staff and improved productivity for luggage and package handlers by reducing fatigue through high load position support of the elbow.


Student: Isaac Moreno
Professor/Sponsor: Professor Masayoshi Tomizuka
Mentor: Raechel Tan
Research Project Title: Turbocharged Spark-Ignition Engine Control


The research we did consisted of troubleshooting a Mazda engine's start and idle issues. We noticed, through data collected from the engine, the amount of fuel being combusted was not consistent throughout all cylinders and needed to be further looked into. We then conducted three tests that would help narrow the reason behind this issue. First we conducted the compression test, which checked if any pressure was being lost in the cylinders. We then got the fuel injectors cleaned to make sure each cylinder was getting the proper spray and amount of fuel. Lastly, we made sure to get new spark plugs and had them properly gapped to the manufacturer recommended distance in order to create an optimal combustion environment in each cylinder. After each test the engine was then tested again to see if any improvements were made. Unfortunately, the results of all the experiments were non positive and the start and idle issues still persist.


Student:  Eric Noordam
Professor/Sponsor:  Professor David Auslander



I have been working in Professor Auslander’s lab.  The goals of our research are to create a simple work flow from computer aided designs of systems, to simulations, to control.  Such a work flow would allow students and engineers to check how their designs will work in real life and allow them to prototype controllers for the system before having to build a physical prototype. This would save companies and individuals large amounts of time and money wasted on iterating physical prototypes.


This research is being conducted in partnership with Autodesk and National Instruments, therefore the CAD  translation  is done from Autodesk Inventor  and the control of the system is done in labVIEW. The user should be able to design a mechanical system in Autodesk and then export it for simulation. Simulation is being done using the Modelica modeling language inside the OpenModelica program.  The goal is for Autodesk Inventor models to be translated with  their masses, inertias, locations, and physical mates into Modelica code. The Modelica model will then be able to simulate the system and solve for motion of the components.


This model is then packaged as a Functional Mockup Unit (FMU) and imported in LabVIEW. In lab- VIEW a controller design can be implemented  and eventually run on physical National Instruments hardware.


Student: Alejandro Ortega
Professor/Sponsor: Professor Masayoshi Tomizuka
Mentor: Raechel Tan
Research Project Title: Mazda Engine Pectel Integration


Improvement in implementing an external after market engine control unit (ECU) is a key goal in enhancing engine functions. This research will focus on troubleshooting and the integration of an external after-market Pectel ECU with the adaptation process for a fully functioning turbo direct injection four cylinder Mazda L3-VDT engine. The Pectel ECU allows alterations to particular engine parameters, which allows for improvements on overall engine functions. With these implications it was necessary to inspect certain components to improve the functionality of the engine and the adapted ECU. Inspections were necessary after discovering the engines revolutions per minute at idle were fluctuating drastically. Further inspection of the accompanying program, Pie Cal, proved to show irregularities in the cylinder opening time, which could have been caused by impurities in spark plugs and fuel injectors. We began by inspecting the spark plugs, compression and fuel injectors. These tests were carried out separately and the engine was tested after each implication to observe any changes in the overall state of the engine. The results proved helpful in diagnosing other issues within the engine. Fuel map tuning appeared to be a crucial factor that needed improving. The process of adapting the after-market ECU proved insightful into how a mechanical system functions alongside an electrical system and how it may lead to improvements in overall engine functions.

Student: Steven van Leewuen
Professor/Sponsor: Professor Karl Hedrick
Mentor: Ashwin Carvalho
Research Project Title: Comparison of Different Steering Control Strategies for Autonomous Vehicle Lane Maneuvers/Obstacle Avoidance


This paper compares different control strategies for a vehicle on a highway where the vehicle would ideally track the centerline of its current lane, but might need to switch to a different reference, bringing the vehicle temporarily outside the lane. The vehicle dynamics will always be considered the plant. Classical control methods will be compared to a predictive control that considers the future trajectory of states. Situations are presented where a lane-exiting maneuver would need to take place and the vehicle now follows a different reference path; breaking would not be enough to ensure safety or accident avoidance. Hence lateral control is the primary interest. The human inclusion in the control loop is not considered; this paper deals with a fully autonomous setting. As we advance towards a more autonomous age for vehicles fully autonomous control strategies and not just aided Driver systems that are on many of today's models will have to be implemented to handle unexpected situations.


Student:  Waiman Meinhold
Professor/Sponsor:  Professor Masayoshi Tomizuka
Mentor:  Robert Mathew
Research Project Title:  Characterization of Pneumatic Actuators for Novel Exoskeleton Design



The development of novel actuation methods for assistive robotics is critical for improvements in usability, effectiveness and accessibility. Pneumatic cylinder actuators are capable of large assistive  forces  with  very  low power consumption for  versatile and cost effective device design.  While assistive exoskeletons already incorporate pneumatic piston actuators, control of these actuators has been severely limited by the lack of a model for the force output of these actuators.Neither isothermal nor adiabatic assumptions accurately capture the behavior of the chamber volumes over normal operating speeds and pressures. A model is developed, presented and validated that is capable of accurately predicting output forces with simple calibration. This model is suited to control of assistive devices, as it requires minimal inputs, and outputs force as a function of only initial conditions, direction and position, eliminating the need for continuous pressure measurements. This work will enable control of pneumatic actuators already in use on existing assistive exoskeletons, as well as guide future development of such devices and their accompanying control methods.


Student:  Yara Najdi
Professor/Sponsor:  Professor Homayoon Kazerooni
Research Project Title: 
Height Adjustable Mechanism for Orthotic Legs



During the research period with Professor H. Kazerooni, I designed an adjustable, two degrees of freedom mechanism for orthotic legs that allows the user to control the height of an exoskeleton between the ankle and the knee.


The adjustable mechanism consisted of two stacked bars sliding through a channel box. The bottom bar is fixed to an ankle joint support on the exoskeleton. It allows the top bar, connected to the knee support, to slide vertically for height adjustment. The top stacked bar contains rack with 20 pressure angle and a 72 diametral pitch that mates with a gear stationed in the channel box. The gear rotates through a winding shaft by the user when the mechanism is unlocked. The rotary motion translates into linear motion which causes an increase or a decrease in the overall height of the system. Once the desired height is set, two safety pins located inside the box channel with 8-pitch mating rack teeth are horizontally lowered and secured by a safety pin in order to lock the stacked bars in place.


By using the user’s maximum allowed weight in addition to the weight of the exoskeleton, an FEA test was done on the parts of the system to insure that the parts will not fail under maximum conditions. The system design used different tolerance fits based on the application it performed, such as the stacked bars with the channel box channel were at a close running clearance fit.


Using this mechanism, the user gets a high resolution of height adjustability due to the fine teeth of the rack and the gear. The adjustability time is also at a minimum as there are no detached parts requiring realignment upon locking.


Student:  Arnav Sharma

Professor/Sponsor:  Professor Francesco Borrelli
Mentor:  Jon Gonzales
Research Project Title:  Berkeley Autonomous Race Car (BARC): Lane-Keeping




This paper presents an introduction to the Berkeley Autonomous Race Car (BARC) Project, Robot Operating System (ROS) OpenCV package, and a proportional-integral controller for allowing lane-keeping maneuvers. Using the current position, steering angle, and heading angle of the car, and the location of the center of the lane, a control decision is made in order to keep the car in the center of the lane. The controller corrects the car's position by inputting a voltage to the servo driving the orientation of the front wheels. The methods indicate that the car would travel as desired on any path whether straight or curved.


Student:  Jonathan Shum
Professor/Sponsor:  Professor David Auslander
Research Project Title:  CubeSat with Orthogonal Spinning Sensors




Currently, several spacecrafts measure plasma, electric field, and magnetic fields using spinning probes on a single axis to gather data.  However, current space- crafts do not have the required sensitivities necessary to make accurate field measurements.  To improve the sensitivities of the measurements, we examine the design of a spacecraft capable of using spinning probes on two orthogonal axes to gather data. The objective of this research project is to build simulation models of the design and run experiments to improve our confidence the control of the spacecraft in a zero-gravity environment.


There are several design challenges present in building a satellite with two spinning booms. Some challenges include coordinating the spinning booms, maintaining functionality when there is no power, and stabilizing the platform in the presence of several possible disturbances.


We perform lab experiments to build and test simulation models and control systems. First we create a 3D CAD model of our proposed satellite that encapsulates the kinematics of the system using Autodesk Inventor.  The spacecraft would be built within existing CubeSat envelope dimensions and must be capa- ble of releasing the two platforms for the spinning probes correctly. The CAD model must also contain models of the potential hardware needed to manufacture the spacecraft to accurately capture their mass properties.


Then we develop a simulation model of the system to verify the dynamics of the spacecraft and add multimedia elements and constraints that may not be encapsulated in the CAD model of the spacecraft. Currently, mathematical models can be generated using SimMechanics but we use Modelica to generate the simulation model. Modelica provides a good interface for modeling physical media (mechanical, electrical, thermal, etc.) in the presence of constraints and provides a good opportunity to open up an additional means for satellite dynamic simulation.


Finally, we validate our simulation models using lab experiments comparing the operation of the mechanical components in real time with their behavior in the simulation models. Although the completed spacecraft cannot be tested in a zero gravity environment, we test isolated components of the spacecraft to verify portions of the control system before deployment.


Student:  Wesley Wang
Professor/Sponsor:  Professor Wesley Wang
Mentor:  Lee‐Huang Chen
Research Project Title:  Contact Sensor for Tensegrity Robot
Controls and Design



When an environment becomes inaccessible to humans due to physical limitations such as distance or danger, a robot can be an invaluable tool to send in. A tensegrity robot can act as one such robot with the ability to successfully perform operations in a foreign and potentially dangerous environment. The six bar tensegrity robot consists of 6 rods that are constantly in compression and 24 cables that are constantly in tension that connect the ends of the rods to each other. This forms an icosahedron shape. In the center of each rod is a module that houses a printed circuit board which runs the electronics necessary for operation. The cables pass along the inside of the compression rods and attach to the motors in the module. Actuation occurs when the motors spool cable inward or outward, which shortens or lengthens the distance between two rods. Robot motion occurs by punctuated rolling. When cables are spooled inward, the center of mass of the robot falls outside of the triangular face that the robot sits on, and the robots tips over and rolls. The cables are then spooled back to their original lengths, marking one successfully completed step.


One challenge in operating the robot is knowing which face the robot is resting on, as it must be known which of the 24 cables to actuate for proper movement. A solution for this it to attach contact sensors that gather this information. These sensors are designed for easy attaching and removing from the ends of each rod. The contact sensor mechanism consists of a hemispherical cap that comes in contact with the ground. When force is applied on this cap, the cap will depress a button that sends a signal that an end of the rod is in contact with a surface. This cap can be spring loaded which allows the sensor to activate only after reaching threshold amounts of force. Future work consists of expanding the capabilities of the sensor from contact acknowledgement to numerical force readings.


Student:  Ankita Joshi
Professor/Sponsor:  Professor Alice Agogino
Mentor:  Andrew Sabelhaus

Research Project Title:  Distributed Proportional Controller for Vertical Ultra Spine


A distributed controller system is implement to separately control rest lengths of all the cables on a vertical spine. NTRT is used to implement a proportional controller and seeing its effects on a single cable, four cables on one side, and all vertical cables. A range for proportional gain values is found for each of the conditions and observations are made regarding improving the type of controller used.


Student:  Neil Karpe
Professor/Sponsor:  Professor Andrew Packard
Research Project Title:  Identification and Control of a Lego logrolling Robot



The goal of this research project is to identify and control a Lego logrolling robot with three degrees of freedom. To do this, we first started by identifying and controlling an already working
system consisting of a Lego robot with one degree of freedom made by a previous group. This group had already developed an aluminum structure that served to work as a model of a log.
Furthermore, they had calculated the identification matrix of the Lego robot using Newtonian Mechanics. Our object was to develop system identification techniques to obtain a similar
system model and then control it.

Since we were using the EV3 platform, the sensors we were using were quantized to one degree measurements and the sample frequency was limited to a maximum of 50 Hz. In
addition, while the states of the model included angular velocities, the sensors only measured angle. To see if it was possible to use system identification methods, we first started by
developing a working technique of differentiating the quantized and discrete signal in simulation.  We wrote various various algorithms in MATLAB to either filter or fit curves to the discrete
quantized data. The final algorithm we developed used Quadratic Programming to fit an Nth order polynomials to the data. The Nth order polynomial was then differentiated to get the
necessary states. With the system identification working in simulation, we used LQR to find gains that would stabilize the simulated model. Currently, we have gotten the entire identification and control technique working in simulation. The next goal is to apply this technique and the algorithms developed to the real EV3 Lego system.


Student:  Robert Vivanco
Professor/Sponsor:  Professor Andrew Packard
Research Project Title:  Testing Capabilities of Lego EV3 Mindstorms Hardware for Applications in Classic Control System Problems



The purpose of this project is to test the capabilities and limitations of Lego Mindstorms EV3 products with the intention of designing potential control system labs for educational purposes. The proposed labs are intended to be challenging, fun and portable, allowing students to explore control systems from home as well as on campus. I chose to design a model for a classic controls problem commonly referred to as “The Ball and Beam". In this problem, the goal is to utilize a unity feedback system to achieve position control of a ball that is located on a beam. The beam is attached to the axil of a motor. Angular rotation of the axil causes the beam to pivot and therefore causing the ball to move along the length of the beam. My goal was to design a model small enough to be built from one Lego EV3 starter kit, which allows maximum use of current equipment available, as well as portability. Challenges include a lack of sensitivity and precision from the various sensors that are compatible with Lego Mindstorms EV3 hardware as well as the limitations due to model size. I was able to design a functional Ball and Beam control system that met size qualifications as well as a written step by step procedure for replication.


Student:  David Lovell
Professor/Sponsor:  Professor Andrew Packard
Research Project Title:  Identification and Control of Three Degree of Freedom Log Rolling Robot



Logrolling, also known as burling, is a loggersport developed by lumberjacks. Logs were routinely transported down rivers and the skill of balancing atop turned competitive. The goal of this
research assignment was to build, identify and control a three degree of freedom robot, constructed from Lego EV3 components, to model the behavior of a person balancing atop a floating log. A previous group accomplished a similar goal using a (simple model) robot with a single degree of freedom at the interface of the log.  The logrolling structure designed by this group was used for this assignment.

Although the stable control of the robot has not been achieved at this point, significant progress was made. The initial objective was to design and construct a robot which could operate on the existing log structure. The Lego EV3 platform allowed for fast assembly of prototypes. Several iterations were made to optimize the performance of the robot, improve the ability for it to be controlled, and to minimize alterations to the existing structure. The final robot design accomplished these goals.


The next target was to determine an effective method for the identification of the complex system. The identification of the simple model was done by the previous group through a Newtonian mechanics analysis. Due to the complexity introduced by the additional degrees of freedom, it was determined that a non-mechanics based system identification approach should be executed. To confirm that the chosen identification method accurately described the system, the analysis was designed and implemented on the simple system. The state values of the simple system are the angular position of the robot, the angular speed of the robot and the angular speed of the log. The data for these measurements was taken by EV3 angle encoders with one degree resolution at a frequency of 50Hz.  To obtain values for angular speeds a technique for differentiating the quantized data was developed. A series of algorithms were employed to filter the data and produce a best fit polynomial.  The rate of change as compared to the level of quantization had significant influence on the accuracy of the fit. Through the implementation of various approaches it was determined that the best fit Nth order polynomial could be found through the use of Quadratic Programming. This polynomial was then differentiated to obtain the velocities necessary for state identification. This approach produced an identification matrix model nearly identical to that found by the previous group. LQR was executed on a simulated model to obtain the appropriate gains to stabilize the system.


To fully verify this method of system identification, the model developed by this team will be used to control the actual simple robot. Once it is verified that the real world system can be accurately controlled this approach will be performed on the complex system.


Student:  Loren Newton
Professor/Sponsor:  Professor Mark Mueller
Research Project Title:  Quadcopter Motor Noise Characterization and Reduction



As quadcopters and small UAVs continue to become more and more widespread, a logical concern involves sound pollution due to the vehicles. The BitCraze Crazyflie 2.0 quadcopter provides a COTS platform for development of customizable control laws; preliminary testing was conducted upon this quadcopter to determine its sound profile.  For varying motor inputs, sound samples were taken at varying distances and orientations (abreast, below, etc.) with respect to a statically mounted vehicle. The resulting noise intensity heat map was produced by FFT analysis and indicated where noise was concentrated around the vehicle. At the same time, a necessary first step for future control law development was to characterize the vehicle’s motors. First, an application was produced to rotate the vehicle’s propellers at a fixed speed for a fixed PWM input; the resulting propeller speed was then measured with a non-contact laser
tachometer. The ensuing step involved another motor map, from propeller speeds to axial force, a necessary step for future development of thrust control. A pendulum rig was designed and 3D printed; the Crazyflie was mounted at the end of the pendulum arm with its propellers pointing in the plane of rotation. For a given motor input the force could be calculated by observing the angle by which the pendulum arm was deflected.  By producing a map between the dimensionless motor input in the firmware and the resulting speed and thrust output, calculations for the vehicle’s motion state could be executed in tangible values that made physical sense rather than dimensionless quantities.


Future goals for this research project include flight testing of the quadcopter to determine its sound profile in flight and evaluate various methods of noise reduction via both passive and active noise cancellation schemes.


Student:  Leo Brossollet
Professor/Sponsor:  Professor David Auslander
Mentor:  Jonathan Shum

Research Project Title:  3-axis Control of a 6U Cubesat with Orthogonal Spinning Sensors



To measure plasma, electric field, and magnetic fields using a satellite in orbit, a single spinning sensor gathers data.  However, addition of a second sensor captures more information about the measured fields, and results in more accurate measurements.  A 6U satellite with two spinning sensors and a 3-axis attitude control system has been developed in the lab to examine the feasibility of this concept.  In exploring this research topic, the workflow of going from CAD to modeling to prototype is also being examined.  Modelica is meant to be the bridge between cycles of 3D CAD and physical prototyping.  First we design the satellite using CAD.  Then we model the electromechanical system using Modelica’s framework of constraints. With Modelica’s computational power, we can build simulations of the satellite’s behavior. In the lab, we perform experiments on the real-world prototype in order to evaluate the accuracy of the Modelica simulations.


Student:  Zoe Li
Professor/Sponsor:  Professor Masayoshi Tomizuka
Mentor:  Minghui Zheng

Research Project Title:  Self-balancing Robot Implementation and Path Planning Simulation


Autonomous robots that can navigate themselves in various environments are used wildly in industry and daily life. For example, warehouse robots can plan its path to drop the package
to a goal destination, then keep itself on the planned track autonomously without colliding to obstacles or other robots. Robots can operate autonomously with high efficiency. Also, some
two-wheeled robots can carry objects while keeping balanced, so they can flexibly carry things around.


With the inspiration of the autonomous robots, this project simulates a robot vehicle that can plan a path from a specified starting point to the goal point in a known 2D plane, and the robot
can balance itself. This project has two parts: building a two-wheeled self-balancing robot, and simulating robot path planning and following.  The first part of this project is hardware implementation of the self-balancing robot. The robot can be modeled as an inverted pendulum. The dynamic model of the system is derived from equations of motion, and the dynamic of the DC motor. The system model is linearized since the tilt angle of the robot is small. The controller design uses the Linear Quadratic Regulator(LQR) algorithm is applied in this design to find the optimal pole location and uses full-state feedback pole placement control to keep balance. Robot controller runs on Arduino UNO microprocessor.  The feedback signal(angle and position) is measured by accelerometer and the encoder attached on the motor.


Path planning is achieved by the Probabilistic Road Map Algorithm (PRM), and then the path with edges and corners is smoothed by the Pure Pursuit Tracking Algorithm so that the robot can track the path more easily. After getting the path, the pole placement feedback control system uses the LQR to provide the practical feedback gains. The feedback control system helps the robot to stay on the planned path to get to the goal point.


Student:  Keenan Rodewald
Professor/Sponsor:  Professor Mark Mueller
Research Project Title:  Dynamic Control of A Sphere via Control of Its Center of Mass



Current spheroid robots are most often driven via internal wheels that spin against a rigid outer sphere, requiring the outside body to be hard and the internals heavy. This project looked
at the feasibility and implementation of a method to dynamically control a spheroid robot by moving the location of its center of mass via a controlled weight suspended in the center. The
benefit of this mechanism is that the outer sphere need not be rigid and can withstand much higher impacts. The required equations of motion of the mass was found, which revealed the
basic requirements of the actuators that would drive the system. While initial designs used shape memory alloy wires, these were found to be too slow and require too much power
consumption to be feasible. Ultimately a design was chosen that uses motors and spools to travel along strings that are anchored at one end around the sphere. This allows for 3D motion
of the mass and controller. A 1D prototype was constructed to test the feasibility of this design as well as aid sensor and motor selection. This prototype used a single brushed DC motor along with a IR distance sensor and Arduino microcontroller to create a closed loop controlled system that was capable of tracking the same linear trajectories that were found to be required in the full 3D system.

Student:  Faraz Ghahani
Professor/Sponsor:  Professor Alice Agogino
Mentor:  Lee-Huang Chen

Research Project Title:  TT4 – Mini – v3: A Prototype Representing the 3rd Generation of TT4 – Mini Project

Research Areas:  Controls, Design, Dynamics, Mechanics



The tensegrity robots are the next generation of soft robots for planetary explorations and the TT4-mini series are the rapid prototypes for the tensegrity robots project. These prototypes are
capable of locomotion on inclined terrains up to 15 degrees of inclination. The 3rd version of these robots is introduced in this paper which underwent considerable improvements in the
hardware and software design, control algorithm, and connectivity. Mechanical components such as end-caps, motor covers, motor mounts, payload box, and spools are redesigned and
manufactured specifically for this prototype. A new controller with radio frequency communication is brought back from the first version. TT4-mini-v3 is capable of running more
than one motors at a time which is the first time in the TT4-mini series. 


TT4-mini is a low fidelity prototype for the next generation of tensegrity robots. TT4-mini-v1 was the first generation of TT4-mini series with a rubber lattice structure, gear motors, and a remote controller with RF connectivity. The successor generation of TT4-mini series, TT4-miniv2, initiated in summer 2016, and underwent major changes in connectivity. While the rubber lattice and motor gears were retained from the previous version, the Bluetooth connectivity were replaced instead of RF transducers. The controller unit also were replaced with a graphical user interface that could be used on a tablet. Although switching to Bluetooth connectivity and graphical user interface was a promising step toward the future generations of this robot, it was followed with major bugs that influenced what the design team was hoping to achieve.


Student: Robert McKnight
Professor/Sponsor: Professor Francesco Borrelli
Mentor: Greg Marcil
Research Project Title: Multiple Sensor Fusion and Object Detection from LiDAR Sensors


My task in the Model Predictive Control (MPC) lab centers around the new Velodyne LiDAR (Light Detection and Ranging) sensors that are going to be installed on the new vehicle the lab is outfitting. I was tasked with developing software utilities that can be used with these sensors. These sensors output a set of points that have coordinates in 3D space as well as an intensity value. The set of all these points that the sensor outputs at each timestep is known as a point cloud. Therefore, this process began with identifying the software library that would be used to process and manipulate the point clouds. Once that was identified most of the semester was spent developing demo applications that would provide basic utility to be used by the lab and more complex algorithms. Some of these tools included visualization of 3D data from the point clouds, merging of overlapping point clouds known as registration, and development of a grabber to visualize and isolate point clouds from archived Velodyne capture files or live sensor data. Then before moving into the summer I researched some of the next steps we would need to take to make this software useful on the car itself. Since there will be multiple sensors but only a single point cloud is desired I researched how to develop a system to take input from multiple sensors and combine them into a single cloud in the same reference frame as the vehicle. This is crucial to vehicle control and thus must occur in real time. The second task was object detection in the point cloud. This would allow for the autonomous algorithms to use object data to determine the best course of action for the vehicle to take at each time step. Each of these objects must also be classified as a vehicle would react very differently to another vehicle than a pedestrian. This step will likely take place with a Convolutional Neural Network. Since this data would be also used to control the vehicle it is also important that it happen in real time. Finally, the last task was to fuse the point clouds generated at each time step to create a map of the location in which the vehicle was travelling. This could also be used to determine features about different objects such as the speed of vehicles (if they are moving at all). I was surprised to find very little information on this topic, instead finding that accomplishing this based solely on the point cloud data was very much an open research question.


Student: Vineet Jagadeesan Nair
Professor/Sponsor: Professors Kameshwar Poolla  and Duncan Callaway (EECS, ERG)
Mentor: Diego Ponce de Leon Barido
Research Project Title: Sensor Networks for Household Energy Monitoring and Behavioral Energy Efficiency
Research Areas:  Controls, Design, Energy Science and Technology, Manufacturing


This research project focuses on the design and development (both hardware and software) of a low-cost smart household energy monitoring system called the ‘Luzero’ to encourage behavioral energy efficiency and enable micro level demand side grid flexibility in Nicaragua. This work explores how simple sensors can be networked with information and communication technologies (mobile phones and the use of text messages) to help low, low-middle income households and small businesses save energy, and gain better control of their energy related finances. Such demand response techniques at the household level will also complement the increased penetration of intermittent renewables like wind and solar, allowing Nicaragua to achieve a low-carbon power system in the near future. In addition, we attempt to optimize physical design, manufacturing methods used for production and materials selection, in order to minimize cost, wastage and adverse environmental impacts. As a low cost alternative to attaching sensors on each of the individual appliances or plug loads, we use a method called Non Intrusive Load Monitoring (NILM) to extract as much information as possible from a few sparse data points. Thus our approach represents a unique hybrid between (1) networks of sensors (that are expensive and face logistical challenges) and (2) pure smart meters - by conducting data analysis and load-disaggregation from a single sensor in each home.


Having completed the prototyping process and after going through several iterations of designs, we are now proceeding to larger scale manufacturing of eighty fully functional Luzero energy monitors by the end of May, for our pilot implementation of the system in Managua, Nicaragua this summer. In addition to improving energy security and efficiency, we also hope that the information collected from this study will shed light on other interesting relationships between ambient temperature and load energy consumption, load and building envelope energy efficiency challenges, as well as latency communication network challenges, and opportunities to engage existing demand-side user behavioral pattern


Keywords: Internet of Things (IoT), energy management, demand response and energy end-use efficiency, sustainable product development, design for manufacturing, rapid prototyping, sensors, innovation, low-carbon grids


Student: Parsa Taleb
Professor/Sponsor: Professor Francesco Borrelli
Mentor: Ugo Rosolia

Research Project Title: MPC Image Processing Robustness



The Model Predictive Control Lab at UC Berkeley works on the Berkeley Autonomous Racing Car (BARC) project, a racing robot which utilizes a lane detection system to race around an oval track. The assigned task was to work on the camera vision aspect of the robot to improve the earlier image processing code so that the lane detection algorithm first becomes independent of the specific track and field color contrast, secondly, adapts to the newly built camera mount to cover a wider range of view, and lastly, reacts faster to abrupt change of direction of the vehicle at the curve.


The tasks were successfully done by writing a Python code which uses a series of noise transformation on the video frames which allow the lane detection to happen on a wider color contrast. The code utilized the new camera mount, which covers a wider area of 1.5’x1.5’, to add two unique features to the code: first to draw the detected lane curvature on a live video a few seconds before the vehichle pases the area, and second, uses an averaged steering reference point between two side curves, instead of the earlier code which used point to point to steering reference value. Using this method, no longer a perspective transformation is needed, and also, the direction of the vehicle will not abruptly change because of an unexpected small object on the side of the track, which could have been treated as part of the lane in earlier versions of the code. The new code has also removed the unnecessary functions and replaced some with shorter commands which reduces the robot reaction time processing one frame to the next.


The code has successfully passed testing on both stationary and low constant velocity settings. The next step is to merge the code with other MPC codes to test high speed acceleration and deceleration at a curve. As an introduction to the BARC underlying working principles and as the beginning of a multi-semester long project, the goals of the assignment were to get started with the BARC vehicle, Linux, Python, ROS (ROBOT OPERATING SYSTEM), as well as the prior research of MPC lab students on the robot, which upon completing the project are achieved.


Student: Ellande Tang
Professor/Sponsor: Professor Alice Agogino
Mentor: Lee Huang Chen
Research Project Title: Topics in Tensegrity Structure Construction, Control, and Actuation
Research Areas:  Controls, Design, Manufacturing


The rapid prototyping platform using laser cut elastic lattices has proven to be an effective means of developing and improving new and existing tensegrity structures. However, the production of the lattices used for the structures creates a very large amount of waste material, and is highly limited by the available rubber sheet and later cutter sizes. By using an alternative geometry for the layout of the elastic lattice, the majority of the lattice's original functionality is retained while reducing the material footprint to less than one fifth of the original amount.


The abstract and unconventional geometry of tensegrity systems produces several interesting problems with regards to control of their geometries. The systems are highly non-linear and very difficult for humans to intuitively link control inputs to response outputs. By applying an inverse kinematics approach, the cable control inputs needed to produce the geometry for any valid tensegrity system can be found. The program here produced valid solutions for both two dimensional and three dimensional spine tensegrity systems.


The DNA actuator shows promise as a novel linear actuator, but suffer from a lack of documentation regarding its performance characteristics. By examining the relationship between the linear load on a DNA actuator and the torque required to hold it in place at one end for two actuators with different thickness rails, it was found that the DNA actuator is relatively insensitive to the amount of linear load applied to the end of the actuator and that the required torque increased linearly with rotation. At the loading expected in current tensegrity robots, the actuator also underwent permanent deformation.


Student: Sepehr Rostamzadeh
Professor/Sponsor: Professor Pieter Abbeel
Mentor: David Gealy
Research Project Title: Robot Building Project
Research Areas:  Controls, Design


The purpose of the Robot Building Project, advised by Professor Pieter Abbeel and led by graduate student David Gealy, is to design, prototype, and manufacture a low-cost robotic arm that can be introduced into various artificial intelligence research labs across the world in order to advance the future of machine learning and virtual reality. Currently, there is a very limited amount of robot arms on the market, many ranging from $100,000 to almost $400,000. Because this price tag is not sustainable for many universities, this project hopes to introduce a cheap alternative (~$10,000 per arm) to the market in order to increase affordability. The group has experimented with custom motor drivers, gravity compensation, and twisted string actuators, all to reduce the cost of motors. Furthermore, 3D printing, water jetting, laser cutting, and light machining have been utilized at a mass scale in order to reduce dependence on expensive parts. Over the Spring 2017 semester (and since May 2016), the group has made significant progress in testing these innovations, and will hope to complete a full arm by the end of Summer 2017.