MARK PIAZZA

Mechanical Engineering & Computer Science Portfolio

Occupation

Caterpillar Inc.

Development Program Associate Engineer

Large Power Systems –  Large Engine Mechatronics 

Hardware in the Loop Software Validation

Education

The University of Arizona, Tucson Arizona

Bachelors of Science, Majoring in Mechanical Engineering

Cumulative GPA: 3.97/4.00

Summa Cum Laude

PROJECTS

Object Avoidance for Autonomous Robot

Highlights

Relevant Skills: MATLAB, ROS, Data Processing, Sensor (LiDAR & Vicon) Processing & Filtration

During my research involvement at the University of Arizona, I held the lead role in developing object avoidance for an unsupervised robot designed to navigate in an unknown environment. I was tasked to develop a program that produced reliable and safe behavior while restricted to using only one low cost, on board rotational LiDAR. I researched and implemented several object avoidance algorithms, (e.g., Bug algorithms, Virtual Force Field (VFF), and Vector Field Histogram (VFH)). I wrote the software using MATLAB that was integrated with Robot Operating System (ROS). The Vector Field Histogram (VFH) was the method identified most promising approach given our requirements. 

Most of my time was spent developing and improving my variation of a VFH object avoidance. In result, the robot could reliably traverse a collision free and efficient path through a variety of object configurations, such as, densely scattered objects, narrow winding tunnels, long flat walls, and more. Our lab used eight Vicon sensor which provided the robot’s global location. Several simulations were created to better observe and troubleshoot the robot’s autonomous behavior. The eventual application is for a larger, more rugged robot (Husky Unmanned Ground Vehicle) which would operate in more rural environments and differential GPS shall be used to provide the robot’s global coordinates.

Triple Pendulum Motion

Highlights

Relevant Skills: MATLAB, ROS, Data Processing, Sensor (LiDAR & Vicon) Processing & Filtration

During my research involvement at the University of Arizona, I held the lead role in developing object avoidance for an unsupervised robot designed to navigate in an unknown environment. I was tasked to develop a program that produced reliable and safe behavior while restricted to using only one low cost, on board rotational LiDAR. I researched and implemented several object avoidance algorithms, for example, Bug algorithms, Virtual Force Field (VFF), and Vector Field Histogram (VFH). I wrote the software using MATLAB integrated with Robot Operating System (ROS). The Vector Field Histogram (VFH) was the method I identified as being the most promising approach based on our requirements. 

The majority of my time was spent developing and improving my variation of a VFH based object avoidance. In result, the robot could reliably traverse a collision free and efficient path through a variety of object configurations, such as, densely scattered objects, narrow winding tunnels, long flat walls, and more. In this section, I plan to go through many interesting aspects about this project. We will dive into the theory behind the VFH method and how it was implemented. I will explain the robot’s decision-making processes through analysis of simulations I’ve developed that use experimental run data. More specifically, instances of undesirable or unexpected behavior is identified, the probable causes for said behavior is explained, and a solution to overcome it is shown. I will additionally be going through code that I have written for the project. Since people will commonly not have access to the hardware that was used, I have also written code that mimics the sensor inputs corresponding to a robot traversing through a virtual (and customizable) obstacle course. Therefore, it provides the opportunity for others to replicate my object avoidance algorithm, and other complimentary simulations, while only needing to use MATLAB. I hope to eventually write an equivalent program in Python, so that a MATLAB license would not be necessary either.

Aeropendulum Feedback Control System

Highlights

Relevant Skills: MATLAB, ROS, Data Processing, Sensor (LiDAR & Vicon) Processing & Filtration

In this project, we are tasked to control the output angle of an aeropendulum. An aeropendulum is a single pendulum where the mass at the free end is a motor with a propeller. Therefore, we must design a control system that can determine how the voltage supplied to the motor ought to change, such that the thrust produced by the propeller results in a desired output angle. We started by deriving the equation of motion. The system was modeled using Simulink and MATLAB. In order to convert to the frequency domain and find the systems initial transfer function, the equation of motion had to be linearized. To avoid error in result of using a small angle approximation, we instead used feedback linearization to linearize the system. This was achieved by experimentally determining parameters which were, essentially, used to offset effects of gravity (i.e., a nonlinearity). Proportional feedback control was implemented to stabilize the system. The response was then analyzed, where properties such as steady-state error, natural frequency, damped frequency, overshoot, rise time, etc., were determined.  A limited range of stability (established experimentally) revealed the existence of an additional pole that was not captured by the root locus of the theorized model. The process of refining the model consisted of identifying the additional pole, identifying an additional missing term in the transfer function, as well as designing a lag compensator. In result, the closed loop steady-state error was less than 1 degree.

Inclined Rope Climbing Mechanism

Highlights

Relevant Skills: 

For a group project, we were tasked to design and analyze a mechanism capable of climbing an inclined rope. In addition, we strived to complete the optional task of fabricating our design. As design lead, I considered the simplest and most popular design which essentially consisted of two gears that would roll up the rope. Although the simplest design is often the best, we took on the challenge of a more complex design consisting of two slider crank mechanisms; each slider was attached to a link that gripped the rope. The design went through multiple iterations, each of which, I modeled using Solidworks. To minimize slip, I designed a gripping device (inspired by rock climbing equipment) that had a spring-loaded component with horizontal teeth, allowing it to essentially act as a one-way rope valve (could support over a kg. of stationary mass with no slip). I 3D printed all the Solidworks part designs and purchased items such as bearings, shafts, and springs. With the first full assembly being just hours before the deadline, we were relieved to witness our mechanism successfully climb a rope with an incline of 40 degrees. I additionally contributed to the analytical analysis component. I solved for the kinematics and energy of each link and used MATLAB to create a verity of simulations. For example, I animated the motion of each link along with a vector at each joint representing the respective changes translational velocity.

Traffic System Design & Control

Highlights

Relevant Skills: MATLAB, ROS, Data Processing, Sensor (LiDAR & Vicon) Processing & Filtration

In a Systems Engineering class, I participated in a project where my responsibility was to design a detailed Simulink model of a traffic system. The mathematical model simulated traffic flow between three connected intersections. Real rush hour traffic data was used as inputs to the system. The data contained information regarding the number of cars entering and exiting each respective intersection, road, and lane; each road consisted of six to eight lanes. The performance of the system was determined by a trade-off analysis between the maximum queue size per lane, average time delay per vehicle, and capital cost. Technology, such as sensors that can detect the occurrence of an empty queue, were designed, and placed in optimal locations. The technology obtained valuable information used to help control the system of traffic light signals. The additional inputs of information produce state change behavior that, when used effectively, increases the efficiency of traffic flow, while ensuring safe traversal. As a result, our system achieved a performance where the maximum queue size per lane was 22 vehicles, the average time delay per vehicle was 22 seconds, and the estimated capital cost was $138,000.

Heating/Cooling System Design & Control

Highlights

Relevant Skills: 

In a Systems Engineering class, I participated in a project where my responsibility was to design a detailed Simulink model of a traffic system. The mathematical model simulated traffic flow between three connected intersections. Real rush hour traffic data was used as inputs to the system. The data contained information regarding the number of cars entering and exiting each respective intersection, road, and lane; each road consisted of six to eight lanes. The performance of the system was determined by a trade-off analysis between the maximum queue size per lane, average time delay per vehicle, and capital cost. Technology, such as sensors that can detect the occurrence of an empty queue, were designed, and placed in optimal locations. The technology obtained valuable information used to help control the system of traffic light signals. The additional inputs of information produce state change behavior that, when used effectively, increases the efficiency of traffic flow, while ensuring safe traversal. As a result, our system achieved a performance where the maximum queue size per lane was 22 vehicles, the average time delay per vehicle was 22 seconds, and the estimated capital cost was $138,000.