Portfolio
Structural Designs
Cable-Holding Washers
After a switch from using silicone rubber elastics to a spring cable system for the tensegrities, the ends of the rods needed a way for cables to be attached. The material chosen to effectively make washers with holes was 6061 Aluminum. As there was no reasonable force data, I guesstimated based on video that 450N was within a factor of two larger than any forces the cables had on them. From there I made the washer the necessary size, hole placement, and chamfer/countersink size required to be at a minimum safety factor of 1. As later learned and figured out, the maximum force on impact was much closer to 100N than 450N, but because the weight savings would be so small from changing them accordingly, they have been kept as is dimensions-wise. For the newer tensegrities, an additional payload cable hole has been added to make them a full circle. Pictured bottom right is a render of a potential future design, as this future design would allow the cable to pull inline with the washer, and likely make the washer significantly smaller.
While everything is waterjet for now due to the small quantity through the prototyping phase, mass production would need a punch and die and likely a change to 5052 aluminum for faster and cheaper manufacturing.
End Cap Bumpers
To prevent damage to the bolt head composing the structure of the end cap, a bumper needed to be made to dampen the impact and redirect the load to go not entirely through the bolt head. As shown in the past, a lack of bumper easily damages and shears the bolt head.
The design for it is on the right, with each of the grooves lining up with the washer holes. The insides of the grooves are curved to direct all cables going into the washer to get pushed out again. The bumper is 3D printed from Ninjaflex, a rubbery flexible material, at the moment, but would likely need to be molded in some way in the future for larger scale manufacturing. The bumpers come in two colors: black to better match, and yellow for visibility.
Created Tools and Methods
Cable Jig
After moving to elastics, cable loops needed to be made, and highly preferably each as close to each other in length as possible. As consistency was difficult to do by hand with no tools, and for certain cable materials needed two people, I made a jig to slightly increase the speed of the process and improve the accuracy of the cable lengths with respect to each other, as well as make everything a one person job only. The jig is laser cut for the convenience of making it, but does lose small amounts of precision due to the prototyped design. While the prototype has a loss in precision, the sizes of cable loops may be incremented by 1/4″, 3/4″, and/or 3″.
Methods Followed and Developed for Fabrication/Assembly
Carbon Fiber Tube Cutting
Lattice Assembly Method for Individual Springs and Cables
Cable Mounting Methods
Washer Countersinking and Chamfering
Insert Bonding
Additional Projects and Activities
Weight Spreadsheet
Created weight spreadsheets for the passive and active systems starting from the beginning of development. Kept and maintained weight spreadsheets for each passive prototype. Used for evaluating where the biggest weight savings may possibly be, as well as a BOM.
Elastics Spreadsheet
Spreadsheet for both springs spring constants and cut silicone rubber pieces of different lengths and width spring constants. Ran a small number of trials (10) for each silicone rubber width and length in an attempt to approximate how each width and length may react for different forces.
Drop Videos
Created and maintained Squishy’s collection of drop videos and their naming conventions, primarily of tests run by me dropping different iterations generally from approximately 20 meters high. Additionally analyzed frame by frame impact velocities of tensegrities from each video.
Passive System Expert
Had advantage of strong intuition compared to co-workers due to heavy previous exposure to tensegrities through BEST Lab. Became a resource for knowing past BEST Lab iterations. Was only developer of passive structure, meaning I best understood design decisions, fabrication, and assembly.
Class Projects
Hands-Free Umbrella (Spring 2018)
Overview
While this project for Berkeley’s Introduction to Mechantronics class had very broad requirements, we wanted to base our project around a broad problem. We chose a hands-free umbrella, as Berkeley can be a rainy place, and it is an inconvenience holding an umbrella. Having a hands-free umbrella frees up a hand, allowing standard usage while it is raining. Additionally, this solution would potentially help the temporarily and permanently, as it may be difficult holding an umbrella while on crutches, or useful to just hit a button while in a wheelchair instead of trying to figure out either permanent covers or holding an umbrella.
I primarily helped with brainstorming for alternative approaches that aren’t the conventional umbrella, fabrication of rods and tubes, some sourcing, ideas for improving convenience, and possible additional features.
Collapsible Frame
As the umbrella seemed relatively large, one thought moving it forward was having a collapsible frame, which could then get put into the tube for easier storage and packaging. As the easiest prototyping material available was wood, the collapsible frame was designed with wood and laser cut wood hinges. Unfortunately, as could be seen in the right picture, the prototype was rather large, and the additional struts were fairly heavy. This led to the realization that the top of the umbrella didn’t need support as long as it is pulled tight and tensioned.
Connect Four Player (Spring 2018)
Overview
The Connect Four Player was for the class Design of Microprocessor-Based Mechanical Systems, with final project requirements of software needing to be real-time, multitasking, and in LABView. The real-time portions of the project come from a camera constantly checking to see if the physical state is a valid playing board, and is what was expected based on the series of moves. The multitasking aspect comes from figuring out the next move, keeping track of the board, and moving the piece dropper to the correct place.
I primarily worked on the mechanical parts of the system, and while I only designed the structure, I assembled everything and tweaked everything until the mechanical system worked, primarily adjusting and adding small things to the piece deployment mechanism.
Board and Structure
The board was a smaller version of the standard Connect Four board, as the group wanted to make it more manageable. As the piece deployment system was not designed as a part of the board, an attachment on the stands was necessary to keep the deployment mechanism a rigid distance from the board. As an additional feature not implemented in software, a servo at the bottom of the board may reset the board.
Yosheffi: A Soda Pourer (Fall 2017)
Overview
For the Introduction to Planar Machinery class, the requirements for the project was having a device or mechanism with at least two linkages. For my group’s project, we chose to have a soda opener and pourer. While I helped with most of the brainstorming for each subsystem and part for the project, my primary role was to design the structure holding everything together. I chose a Yoshi aesthetically because I didn’t want a bland looking project of mostly straight lines and filleted shapes, but rather wanted something that would catch people’s eyes.
Structure
The structure relied on the needed placements of the can opening mechanism, pouring mechanism, and cup placement. Upon realizing where these would be, the Yoshi structure could be used, as it had material in the necessary places. The style of assembly is a handful of mortise and tenon joints with butt joints for the planar laser cut plywood, all glued together for assembly. The structural integrity primarily comes from the effective creation of open boxes, or single open-ended tubes. The series of spacers along each shaft additionally add small amounts of support and prevent deformation inward. The full project can be carried under one arm, and easily fits on a desk.
Additional Classes, Class Projects, and Acknowledgements
Aquarium Pump Redesign (Fall 2014)
For the class Visualization for Design, the final project was taking apart an aquarium pump to understand how it works, and redesign it to allow a 50% increase in output. For my group, I did the math and redesigned the diaphragm.
3D Printed Windmill (Fall 2015)
For the class 3D Modeling for Design, the final project was to design a windmill structure and windmill blades, which were then tested through power output with a 25 m/s wind speed, and overall deflection of structure when loaded.
Piston-Crank Flywheel (Fall 2015)
For the class Introduction to Manufacturing and Tolerancing, the first class project involved calculating inertia needed to keep a piston-crank running after starting, designing a flywheel with said inertia, and testing experimentally.
Boxel Design
(Fall 2015)
For the class Introduction to Manufacturing and Tolerancing, we were to design a 3D printed structure as close to 2cm cubed with the goal of maximizing load before failure, with the load on the structure strictly in compression.
Additional Relevant Classes
- Experimentation and Measurements (Fall 2018)
- Heat Transfer (Fall 2017)
- Fluid Dynamics (Summer 2017)
- Mechanical Behavior of Engineering Materials (Spring 2017)
- Engineering Dynamics II(Spring 2017)
- Dynamic Systems and Feedback (Spring 2016)
- Introduction to Electrical Engineering (Spring 2016)
- Thermodynamics (Fall 2015)
- Introduction to Solid Mechanics (Fall 2015)
- Introduction to Data Structures (Fall 2015)
- The Structure and Interpretation of Computer Programs (Spring 2015)
Acknowledgments
I would like to thank Andrew Midyett, Doowon Yang, and Matthew Clavelli for being a part of the Hands-Free Umbrella project group; Henry Zhang, Jenny Wong, and Rachel Lim for being a part of the Connect Four Player project group; and Charles Friesen, Doowon Yang, Jenny Wong, and Rachel Ieda for being a part of the Yosheffi project group. I would also like to thank everyone from my groups in all of my other classes with group labs.
BEST Lab
TT-5 (Summer 2017)
Overview
TT-5 was the full-scale tensegrity robot made immediately after finishing TT-4. The primary goals of TT-5 was making a far more user-friendly robot, including more electrical functionality, and working on development through iteration. Primary issues with TT-4 were being very user unfriendly (the structure had to be taken apart for every software or hardware change), little electrical functionality (had no current limiting or battery voltage indicator among many things), and took a very long time to complete (started Fall 2015, finished Spring 2017).
Overall, TT-5 took 2 months to finish. While ending up much heavier than TT-4, as expected due to the wanted changes, the robot and rods were much more user friendly, structure could still stand while insides are modified, the PCB had more capability and monitoring, and was done quickly.
Undergraduate Mechanical Lead
Was the Undergraduate Mechanical Lead for this project, supervising and working with five other Mechanical Engineering Undergraduates on designing and fabricating the system, and serving as the communication bridge between the graduate students and undergraduates. As an effective mechanical project manager, additional tasks included keeping the CAD updated and in one place, creating a BOM for all things mechanical for the robot, and creating a weight spreadsheet for basic analysis of weight distribution, and where attention is necessary for weight reduction.
Capsule Designs and Concepts
Final Version: Inline
The inline style of capsule was the final version used, as it provided an easy way to access the capsule insides, was the easiest and cleanest design, and weighed the least. The primary differences between the inline style and clam shell were a change from heavy acrylic shell to plastic sheet dust cover, and from motors away from the center to motors in the center. The two threaded rods allow capsule contents to move within the capsule as a package for easier and adjustable assembly. The dust cover is attached through velcro, with neoprene foam underneath the velcro for allowing some room for error in cutting the covers and cover placement. Friction fit clamps hold in the rods, and are bolted to acrylic plates holding the structural rods. Two hex standoffs are used to help with controlling compression and ensuring the acrylic plates are parallel to each other.
While this was much lighter and easier than other designs conceptualized, it remained fairly chunky and heavy due to both materials used due to cost, previous experience, and desired user accessibility. While a few additional steps could be taken to take off weight, it would not address the root problem with the weight.
Clam Shell: Conceptual Iteration 5
The clam shell style of capsule was the first physically iterated version, using hinge pins for an acrylic cover to secure it, and two parallel acrylic plates with structural rods holding the motor plates, PCB mounting plate, and preventing the battery from slipping out. While this idea allowed a stouter capsule, the motors not being in line with the PCB on top of the required dimensions for an ellipse around the structural rods was too large. Being made out of acrylic for visibility, this resulted in the capsule weighing far too much.
Lantern: Conceptual Iteration 4
The lantern was a conceptual design that led to the clam shell and inline styles of capsule, with the idea of four supports for the parts clamping to the rod, and removable thin plastic covers for accessing the insides. The only primary problem with this design is the intent for everything to be 3D printed, which would not nearly be strong enough for the impacts it would take just from walking, and potentially not even for supporting its own weight. Additionally, 3D prints would cost too much and too long any reasonable prints.
Salt Shaker: Conceptual Iteration 3
The salt shaker style of capsule intended using two partial cylindrical sleeves, one static and one that may rotate about the other, to access the capsule insides. This design was not pursued after realizing the possible difficulties of making it, and realizing the uneven support for the side plates due to only a partial static cylinder.
Football Hinge: Conceptual Iteration 2
This capsule concept was meant to be similar to a chest or container similar, with the top on a hinge for easy access to everything inside. The intent was for this capsule to be 3D printed, as the first iteration thought was laser cutting, but it was quickly seen that this would be too heavy, too much time to make, and too weak due to material used.
Acrylic Box: Conceptual Iteration 1
The first capsule concept was attempting to have everything laser cut, as laser cutting seemed to be the fastest way to iterate if doable. The box ended up being fairly clunky, difficult to work with as everything is planar, difficult to access insides, and aesthetically unappealing. Overall, much more than strictly planar parts were going to be necessary.
Capsule Internals
Below are the designs for the mounts inside the capsule for the motors and PCB
One holding piece for the PCB. Holds one side of the PCB with two attachment points, and moves along threaded rods based on nylon nut positions.
Single-hole holding piece for PCB. Due to other hole position on that side of the PCB, it cannot be used. Mounts and moves the same way as the other holder.
The motor mount surface. Holds two motors, and moves along the threaded rods the same way as the PCB holders. Additional material on mount for spacing.
Controllers (Fall 2017)
Overview
Tensegrities are not intuitive control, meaning a standard controller would not be a good fit for the unintuitive motion of the tensegrity. Before I began working on developing a more intuitive controller, the controllers were mapping button presses to pulling a cable. The goal of the project was to create a controller that may abstract how specific cable pulls cause specific movements, simplifying the experience for those who are new to the system, effectively using the controller for demos and testing basic locomotion techniques.
Everything done to this point is explained in the paper, Intuitive Controller Designs for Non-Intuitive Tensegrity Robots.
Below are pictures of designs and prototypes of different controllers.
Prototypes
Two-Piece Icosahedral Controller
Fall 2017
The two-piece icosahedral controller is the current controller. The two pieces has the benefits of dealing with fewer pieces, but the tradeoff of a more difficult piece to 3D print.
Modular Icosahedral Controller
Fall 2017
The modular icosahedral controller was a different form of icosahedral controller, with the benefits of easier printing, but significant assembly time and less comfortable handling.
Future Controller Designs and Possibilities
Fall 2017
The first image is a model of a controller meant to give the user control of individual cables, with each button spot mapping to it’s corresponding cable location. This controller would be used strictly by experienced users with built up intuition about the tensegrity’s motion, as large amounts of intuition and abstraction have been removed. The bottom image shows a simpler planar version, changing control to focusing on direction rather than orientation, allowing the abstraction to be the robot moving along a hexagonal grid, rather than moving face to face.
Past Controller Designs
Summer 2016
This controller was my first design project, and was to replace the first controller, an acrylic box. The primary goals were to make a more visually appealing and easier to hold controller. The large fillets around the edges make the controller much less painful to hold, while the non-rectangular shape makes it better fit for hands. Button placement was based on my thumbs, so all buttons may be pressed by either hand while still being held. The lack of transparency helps hide the inner wires and boards connected to the buttons, which otherwise looked messy and rough.
TT-4
Overview
TT-4 was the first full-size (1 meter) iteration of the tensegrity, and took an extended time to make due to a mix of some small design flaws and missing deadlines. I entered the project two months after its previous planned finish date, and the only work done mechanically was fabricating the capsule covers. I worked on capsule interiors, modifying spool covers, designing exterior capsule interfaces, fabricating the rods, updating the BOM, and inventorying parts for the project.
Capsule Interface and Mounts
While capsule shells had been made, and PCBs were designed, there needed to be some way to hold the PCB and battery, as well as some way to interact with each without needing to open the capsules every time. The idea capsule would have the ability to charge the battery, upload new code to the teensy on the board, and turn the robot on and off, all on the externals of the capsule. Because of the electronics used, it was only possible to easily have an on-off button, as the charge and discharge port for the battery is the same adapter, and small cables for the connecting the teensy weren’t found. Below are the different designs created, from newest to oldest.
The first iteration integrating the already existing battery holder with additional cutouts and a set of PCB rails.
The first iteration of an external interface. Has positions for a female USB to microUSB, button, and JST from the battery.
The first iteration of everything in one assembly. Combines existing PCB rails with holders for an external interface.
Spool Covers
The previous spool cover
The previous spool covers relied on attaching to the motor mount attachment bolts, which attach the motor mount to the PCB and became unusable after motors were added to the boards, as there was a design flaw making it impossible to remove the motor and motor mount once added. The piece made to replace it instead relies on the bolts that secure the motor to the motor mount, which are easily accessible, and go through the two holes next to the shaft hole. There are two windows in the cover, one for the cable to go through, and one for a screwdriver to access for loosening and tightening the spool onto the shaft. Small modifications have been made through different lab projects specific to the individual projects.
Additional Responsibilities
Rod Fabrication
As the CAD models previously made were no longer up to date, I was tasked with figuring out the correct rod lengths for a one meter diameter tensegrity, and making the rods. Making the rods involved cutting, polishing, and facing the tubes using a horizontal bandsaw and a lathe.
Updating BOM and Inventorying Parts
Updating the BOM was maintaining it after the people previously working on TT-4 left. I also organized and inventoried the parts and materials in lab, and from there I could establish what needed to be purchased and fabricated to construct the tensegrity.
12-Bar Mini (Fall 2016 – Spring 2017)
Payloads
The payload is generally not a problem for the 6-bar tensegrities, as a cube easily maps to the structure, but this is not the case for the octahedron. Easy mapping of the payload onto the structure is important to prevent added and uneven structure deformation, and keep forces holding the payload even. Shown is the first concept of this payload.
While the first conceptual geometry of the payload was awkward, it was realized that a better mapping would be direct and using the same geometries as the structure. Shown is the next iteration of the payload. The only awkwardness is the shape does not work well with rectangular objects.
The final picture is of a possible sheet metal version to save on production and weight.
Payload Mounts
The mounts were attached to the payloads to hold the elastics holding it up.
Additional Contributions
Elastics Layout: Create and layout the elastics for the 12-bars.
End Cap Designs: Design the end caps, changing the previous 3D-printed style to bolts and washers to prevent snapping.
Walking Patterns: Use passive structures and moving nodes together to simulate walking, and record any patterns for rolling in different directions.
Drop Recording: Assisted in running and recording drop tests.
Overview
6-bar tensegrities are the current tensegrities researched for locomotion, but more complex tensegrity structures exist. This project strove to construct and evaluate the next complexity of tensegrity structures, and the possible trade-offs and advantages of a different structure.
Structures
Four considered structures are shown on the right. Each have their own properties due to their structures. From top to bottom, the shown structure sketches were named after their shapes, named the cube, octahedron, double 6-bar, and rhombicuboctahedron.
Results
Double 6-bar
The double 6-bar was the hardest to construct and messiest to understand, so it was moved down in priority for research.
Rhombicuboctahedron
The rhombicuboctahedron was the easiest structure to understand, and seemed to be the best structure for dynamic rolling research (using the inertia of the tensegrity to move faster), so it was immediately constructed and actuation was added. While more intuitive, the contact between rods was extreme, making the structure extremely stiff and taking away some of the major advantages of tensegrities.
Octahedron
The octahedron is closest in deformation to the 6-bar out of the structures built, and much easier to put together. While fairly compliant, the octahedron seemed to sag a lot under its own weight, making locomotion difficult to add and achieve. Additionally, the locomotion moves similarly enough to the 6-bar to move it down on the priorities list.
Cube
The cube was deemed the best mix of compliant and stiff, as when weight was added the structure did not sag. Additionally, because of the geometry, standard square-grid locomotion may be used rather than hexagonal-grid.
TT-Impact (Spring 2018)
Overview
The TT-Mini tensegrities and the full-scale tensegrities are too fragile and not designed for dropping. The TT-Mini is too small, and the full-scale tensegrities are too heavy for a full drop. TT-Impact is meant to be an in-between in terms of size, and is designed for both getting dropped and locomoting. TT-Impact introduced beefier overpowered motors for consistent locomotion, and ninjaflex end caps for some shock absorbance by the part of the robot that contacts the ground. The end results primarily showed that the aluminum rods used were way too compliant, as catastrophic failure occurred when one rod bowed several centimeters, and others also deflected small amounts.
I worked on the payload subsystem.
Payload Version 3
The final iteration of the payload for TT-Impact included a change from butt joints connecting sheets to mortise and tenon joints, keeping the glue in compression and making forces get transmitted through the wood along the plane rather than through the glue. Additionally, holes on the top were moved around for better view of the battery buzzer, and additional triangles were added for the sake of holding the top in place.
After testing, the payload protected the electronics, but one panel partially broke, as it bent in the middle. As a whole, it did its job, as the electronics were entirely undamaged.
Payload Version 2
This was the first wood iteration of the payload for TT-impact, and included holes for reaching the power button. The switch to wood was partially to save money and increase prototyping speed, as laser cutters are much more available that the self use waterjet (every day and 4 cutters vs. Monday and Friday and 1 waterjet).
As a whole, the primary test to get a general idea of what was needed to break it was pulling it apart by hand after proper gluing, through which it was found that the wood fails before the wood glue depending on direction of force. In this case, the only reason for failure was layer peeling and adhesion.
Payload Version 1
This sheet metal model was the first prototype version of the payload. Because 12 motors were needed for TT-Impact, and each board as designed for TT-Mini can control 6 motors, two board spaces were necessary. As it was preferred the base was one piece, the board spaces were offset 90 degrees from each other, so it could be four simple flanges. To attach covers, holes for PEM nuts and bolts were included in each piece. Single holes were included for payload elastics holding up the payload.
This version was cut but not tested, as bending was somewhat difficult and it was deemed not necessary to use sheet metal.
Other Projects, Roles, and Acknowledgements
TT-Mini
TT-Mini is a small version of the tensegrity that is used as an easier to work with testing platform for basic locomotion policies.
For TT-Mini, a new controller needed to be designed, as well as a central payload, and other modifications. The new controller, as seen in the controller section of this page, was 3D printed and replaced the previous acrylic box. An attempt to design a rod that hides the motors was designed, but not printed.
Emoji Sender
Originally, the emoji sender was meant to be a watch for a small child that could send basic emojis from the watch to a parent’s phone, allowing the child-parent communication without having to immediately go over to speak, and without needing the ability to read or spell. Due to sizes of the electronics, this was slowly changed into a stand that could be used, and the child would be able to communicate from a room within a house instead.
Acknowledgements
I would like to acknowledge Lee Huang Chen for taking me in and mentoring me through my first months in BEST Lab, Mallory Daly for running the 12-bar project and source for 12-bar pictures, Alan Zhang, Brian Cera, Ed Zhu, and Douglas Hutchings for additional support and mentoring through lab projects, Professor Alice Agogino for running the lab and allowing its supportive culture, as well as everyone I have worked with and helped me with each project.
Pioneers in Engineering (PiE) – Fall 2014 – Present
2018 Pioneers in Engineering Robotics Competition Field Concept
2018 PiE Robotics Competition Field Concept
Goal
Create a game with a field that makes automatic scoring and indirect human interaction possible
Result
Open field with goals and zones
Goals have a scored element cycling system for automatic scoring
Zones for element placement and external vision systems for robot autonomous modes giving robot positioning
Conclusion
Game adjusted to account for feedback from students
New project made dedicated to field software
2017 Pioneers in Engineering Robotics Competition Field Concept
2017 PiE Robotics Competition Field Visual
The 2017 PiE Robotics Competition, Dry Another Day, was played on the field shown above.
2016 Pioneers in Engineering Robotics Competition Field
Make the elevated field for the decided game
Field needs to be easily transported and constructed
Results
Field made of planar sheets
More easily stored and transported than other construction methods
Roles and Accomplishments
PiE Leadership: Programs Director
Summer 2016 – Spring 2017
Supervise and delegate all things relating to the non-technical parts of the PiE’s Robotics Competition (PiE RC).
Shifted established project cycle schedules for improved time and resource management.
Created new projects for smoother implementation of games for PiE RCs.
Created Staff Bot project for testing game, demonstrating kit, and providing physical test platforms for all projects.
Start workshops for interested students to better learn and dig deeper into non-technical aspects of the RC.
Staff Bot Project Manager (PM)
Spring 2017 – Fall 2018
Continuation of project started while in Leadership.
Created sets of rules and protocols to ensure staff bot maintenance and updated inventory.
Built a demonstration robot for 2017 PiE game.
Game Design Mentor and Advisor
Spring 2017 – Present
Created ambitious 2018 game concepts for creating a need for improved internal project divisions.
Advise for game creation and field design.
Assist in game analysis and balancing.
Game Design Committee PM
Spring 2015 – Spring 2016
Created the game and game manual for PiE RC.
Interfaced with other project groups to establish necessities.
Modified game making method.
Field Construction PM
Spring 2015 – Spring 2016
Design and fabricate the game field
Source the game elements and field materials within budget
Work with other projects groups to clarify field features and needs
Fall Competition Founder, PM
Spring 2015 – Fall 2015
Started and organized Fall Competition (Fall Comp), a robotics competition among PiE teams replaying the PiE RC game in the Fall.
Other Roles and Accomplishments
Head Referee, Spring 2015: Head referee and primary communication bridge between students and PiE staff
Design Staff of the Year, Spring 2015: Received the internal Design Staff of the Year Award for work on game design
Game Design Committee Member, Fall 2014 – Spring 2015: Helped design 2015 PiE RC game and game field concept
Onboarding Manual, Fall 2017: Co-wrote an onboarding manual for assisting new teams through providing competition and technical information
Acknowledgements
I would like to acknowledge Charles Friesen for working together through each year I participated in PiE, and everyone I have worked with through each project.