Team Status Report for Feb 17

Significant risks and risk management:
Risk: Inverted double pendulum simulation has insufficient numerical accuracy for NMPC
Definition: Since running the NMPC controller might require a higher numerical accuracy than simulating the dynamics of the inverted double pendulum system, the numerical accuracy of the system might be insufficient when NMPC is integrated into the symbolic simulation.
Severity: If the numerical accuracy is insufficient, the progress of the whole project would be severely jeopardized, because the system would likely not satisfy NR3 (accuracy).
Resolution: We will try to mitigate the risk by synthesizing a NMPC controller that has sufficient robustness against noise, because numerical inaccuracies can usually be seen as noise from the controller’s perspective.
Changes to the existing design:
There are no significant changes to the existing design as we’ve just started implementation.
Changes to the project schedule:
Similarly, there are no significant changes to the project schedule

Additional Societal Impacts

Part A)

Optimization is a powerful tool of representing real-world problems mathematically, and fast solvers, like the product we aim to deliver, make solving them easier.

Health

Optimization helps make healthcare more efficient and accessible. For example, finding the most efficient distribution of vaccines during a pandemic can be formulated as an optimization problem. Solving this problem quickly can enable more effective control of infectious diseases.

Safety

Optimization helps make vehicles safer to operate. Vehicle control with safety guarantees is a classic application of model predictive control (MPC), which is an optimization problem. Our solver has the potential of solving MPC problems in real-time, which can make vehicle control strategies with stronger safety guarantees practical.

Welfare

Optimization helps distribute scarce resources efficiently. Logistics is another classic application of optimization, which is critical for fulfilling everyday needs, especially during periods of hardship. Solving these problems efficiently ensures that goods and services are delivered where they are most needed.

Part B)

Our analog SQP solver has potentially wide societal implications. This comes from the fact that SQP solvers are used to solve nonlinear optimization problems, which is general class of problems with extensive use cases and applications, spanning from computer science to machine learning to biology and medicine(examples can be found in https://neos-guide.org/case-studies/). Because of the breadth of possible applications, our product solution can potentially affect a large group of people.

In particular for social groups, solving optimization problems can help make management in large organizations more efficient. One example is in the supply chain industry, where creating a supply chain strategy that operates across multiple regions can be formulated into an optimization problem.

Part C)

Our applications in analog optimization have significant implications in terms of the related economic factors. Specifically, this is because each of the systems relating to the production, distribution, and consumption of goods and services are areas that can be optimized to be more efficient, which leads to savings in terms of time and money. Furthermore, optimization enhances the general productivity of our society by making production procedures faster, cleaner, safer, and more efficient. As a result, a productive society leads to more sustainable development and more safer environment.

*In the team report, A was written by Thomas Liao, B was written by Alvin Zou and C was written by Andrew Chong.

Andrew’s Status Report for Feb 17

Personal tasks of this week:

Task: Trade Studies on PCB Manufacturing/Assembly

Definition: There were many considerations in choosing a PCB Manufacturing/Assembly company to manufacture our product. This includes quality, turnaround time, ability to assemble the PCB components, and cost. We considered the following companies: JLCPCB, PCBWay, OshPark, and Colorado PCB Assembly.

Completion: The task is completed.  From our trade study, we were able to determine that PCBWay was the best manufacturer for us. This is because PCBWay generally has good quality, has the ability to both PCB manufacturing and Assembly together, has turnaround + shipping in approximately a week, and offers large discounts if the Assembly service is used. In fact, we found that if the Assembly service is used, the price is actually cheaper than buying a stencil and manually reflowing it ourselves, which can introduce a source of error. Some reasons why we didn’t pick the other companies are as follows: JLCPCB has poor quality, OshPark can only manufacture the PCBs, and Colorado PCB Assembly, while with very high quality and fast turnaround, only offers assembly. While it is possible to combine multiple options, we thought that with the component sourcing to different parts, as well as PCB shipping from the PCB manufacturer to the Assembly, back to us would be worse both logistically and for our schedule.

Task: Preliminary Design for Optimization Prototype

Definition: To ensure that we are able to complete the final prototype of the analog optimization circuit, a smaller, proof-of-concept prototype must be made in order to ensure that our approach is sound.

Completion: The task is completed.  Looking through Sergey’s Thesis, we found that there is a schematic provided for a simple 2-variable equality constraint, a 2-variable inequality constraint, and a cost function constraint (which is just a series of resistors) that we can use as our basis for our preliminary prototype. However, the problem is only for a 2-variable equality constraint. We decided to make a slightly more complex design and make the simplest possible optimization circuit with one equality constraint, one inequality constraint, and one cost function.

Next Steps:

The next steps are to use the tools selected to create a prototype of our simple optimization problem, as detailed in Sergey’s thesis as a proof of concept, then Once the baseline works, we will begin expanding that into creating our first prototype analog circuit that specifically models our double pendulum swingup optimization problem. Once that is done, we will order using PCBway.

Overall progress assessment:

My progress is on-schedule, as all of my tasks this week have been completed.

 

Andrew’s Status Report for Feb 10

Personal tasks of this week:

Task: Literature Review

Definition: By studying Sergey’s Thesis more closely, our aim was to look for methods in which we can further flesh out or improve our design.

Completion: The task is completed. By taking a closer look at the thesis, we were able to discover the primary accuracy and performance concerns of the system. These are the nonlinearity of the potentiometers contributing to a decrease in accuracy, as well as the negligence of parasitic capacitance contributing to a decrease in performance. More specifically, in Sergey’s PCB design, due to an oversight in the parasitic capacitance, it caused his system to develop non-stable behavior, which required him to add compensating capacitors to the feedback loop of his op-amps. If these were considered,  the step response could have been significantly improved as shown below.  By learning from mistakes in the original designs like these, we believe that we will be able to achieve solid performance. Furthermore, this research was very helpful in determining which component aspect we should put the most focus on.

Source: https://www.sciencedirect.com/science/article/abs/pii/S0098135414000131

Task: Spice Selection

Definition:  To begin circuit simulation, a spice tool would be required to test the behavior of our preliminary circuits. Considering the wide variety of spice tools available, a detailed review of each of the available products was done.

Completion: The task was completed. We have decided on using Cadence’s PSpice considering its performance, as well as the fact that it is readily available to CMU students. The contender was AltiumSpice, as our PCB design will be in Altium, so it would be easy to integrate. However, we decided against it considering its performance.

Task: Preliminary Part Selection

Definition: Considering our current requirements, a preliminary selection of our main components was needed to determine if we would be able to deliver the desired performance with the required performance and accuracy.

Completion: The task is partially completed. By using the same components that Sergey used as a baseline, we looked for components that had tolerances and performance that was at least as good, or better. Considering the developments in the industry, we were able to make a shortlist of parts that we are considering, but have not determined the specific components we are using yet.

Overall progress assessment:

My progress is on-schedule, as all of my tasks this week have been completed. I will continue working towards completing my Prototype of creating a  circuit simulation of a simple optimization problem.