Prototype


The final prototype was built in a shop in Pickering, Ontario by the design team. The frame was constructed using 80-20 extruded aluminum. This kind of frame was chosen for its lightness, strength and for the ease of assembly.
Next the three linear actuators were put together, with honey-combed scrap aluminum pieces. These scrap pieces were cut to size and holes were drilled so that the main assembly could be created.
Once these were in place, the system was tested using the separate controls for each actuator. The result was a success. Next using more scrap aluminum, the motor was mounted on the end of the frame so that the link will be able to rotate.

After this stage, the prototype was transported from Pickering to Oshawa, where it would be easier to test the machine, and complete the electronic components.
The final element to constructing the prototype involved wiring the, actuators, motor, controller and all other necessary parts together and programming them so that the machine ran automatically. The final product was tested according to the test plan, and met all requirements.

Proof-of-Concept Prototype

A proof of concept prototype was constructed to show that the mechanism is capable of the required tool paths in the physical world. The prototype consists of 3 linear motions and 3 rotational motions, as described by the NX6 proof of concept. In the absence of a CNC controller, the motions were controlled manually. The Proof-of-Concept Prototype developed for this project was a bit of a challenge. For construction materials, scrap pieces were used from several sources. While a prototype made from Lego or Mecano would have had a neater presentation, the size and motion limitations of these sets were not suited to a six axis design, particularly when the behavior of a filament band had to be considered. An old workbench was acquired and dismantled. The top wood pieces were used as parts of the axis, while the screw sliders were used for the vertical direction and the mandrel rotator. These pieces allow the robot to move up and down without gravity playing too much into the motion.
Sliders from a desk drawer were used for the horizontal axis as well as the cross feed axis. They provided smooth and quick motion from side to side for the horizontal axis, and back and forth for the cross feed axis.

The next part used was the top of a pop bottle and its lid. These make up the eye rotation, and allow the filament to be fed from the robot to the arm on the mandrel.

Finally, there were several other pieces used to demonstrate that the concept developed is a good choice. Scraps of wood are used to connect all components, as well as screws to join the pieces. A tape dispenser and tape made up the filament and how it was supplied to the robot.

The horizontal axis provided linear motion in the horizontal direction, otherwise known as left to right movement. This part is the most prominent degree of freedom, and is connected to the base.

The vertical axis allows linear motion in the vertical direction (up and down). This axis is very important for winding around the joint end of the link.

The cross-feed axis allows linear motion in the axial direction (backwards and forwards); it allows flexibility with winding filament around different shaped and sized links. Yaw rotation provides motion in the z direction, and is also very important for winding around the end geometry. Finally, the eye rotation is about the y direction and ensures that the filament lies flat on the link and doesn’t become twisted.

The prototype was demonstrated in class on November 23, 2009, and was found to sufficiently show that the design would be capable of producing the tool paths required to integrate a link to the composite robot arm.

There are five degrees of motion in the main robot, and another one that rotates the mandrel, so the filament can be wound around the arm. The filament is wrapped around the arm on the mandrel, as the robot travels down the horizontal axis.

Wrapping around the joint piece is slightly more complex. The robot needs to move up on the vertical axis, increase the yaw rotation angle, and rotate the eye. This position is held for a short while as the filament winds around the end joint of the arm. After the filament has made it around the end, the robot returns to its original position and travels back down the horizontal axis doing simple filament winding.

The proof-of-concept prototype has been used to wind the filament (in this case tape) around the arm successfully. It can be used to demonstrate simple winding as well as complex winding. This is vital in proving the designs validity.
The proof-of-concept prototype allowed the design to be proven feasible. It demonstrated that the joint and link could be integrated using fiber wrapping. The biggest concerns from the customer and instructors were regarding future steps. Specifically what parts would be needed to make the final prototype; this included the type and size of motors and electrical components. Furthermore, the design was in need of refinement. The proof-of-concept prototype could be described as several Lego blocks stuck together, and such more cohesiveness was needed.

Automation and Wiring

Automation is a key element of the prototype design. The goal behind the automation process was to ensure that:
a) The prototype could be operated with a PC and powered with standard 110 VAC wall sockets.
b) The product designer could determine a winding solution, and easily code it into a pre-made template.

To this end, it was determined that a USB powered microcontroller with readily available software would be the most appropriate solution. The DFRobot DFRduino USB microcontroller was chosen as it fit these requirements at a low cost.
The microcontroller is a clone based on the Arduino MEGA microcontroller, and thus runs on the Arduino software, which is available free online. There are also numerous online tutorials available for the software, which were very useful in determining the control operations.

In order to control the stepper motor which was used for the spindle, a motor controller was needed. Specifically, the goal was to find a controller which was specifically compatible with the microcontroller. The best option was the Adafruit Motor Shield Kit for Arduino, which is designed to be mounted directly atop the microcontroller. The motor shield came unassembled, but instructions for assembly and use were readily available, as well as the appropriate libraries needed to run the motor shield through the Arduino software.
The problem of controlling the 24 VDC actuator motors with a 5 V microcontroller was solved by using relays to replace the push button controls which came with the actuators. The Zettler AZ8222 relays used in the system directly replace the COM, normally open, and normally closed pins on the actuator switching board, while the relay coil is connected to an output pin on the microcontroller. Two relays are used on each switching board, one for “forward” motion, and one for “backward” motion.
The software for automation was written in the Arduino software with the appropriate C-based language. The library AFMotor.h has to be included in all programs to allow operation of the spindle motor via the Adafruit motor controller.

Testing

Size and Strength Test
The goal here is to ensure that the mechanism can handle the mass and size of the parts that will be combined and wound with filament. The test is very simple. It comprises of setting up the mechanism in the start position, and loading the parts on. Then, step by step ensuring that there will be no collisions of failures in the physical motions, go through the movements involved with the process. At the extreme points of motion (for example, when an axis is fully extended or collapsed) check the mechanism for stability and collisions. This test will prove requirements 9 and 10. 

Procedure
1. Set up mechanism
2. Place parts on mechanism
3. Start mechanism
4. Step through code, checking movements of mechanism
5. Stop mechanism
6. Remove part

Results
If this test is completed successfully, the mechanism will be able to support the mass of the robot arm parts, and there will be no collisions between parts, and the mechanism. If something were to go wrong, it would be one of three possibilities: mechanism cannot bear the mass of the parts, or a collision between moving members of the machine and part, or finally, a combination of the two previous possibilities. If there is a collapse due to excess mass, the frame will need to be reinforced in the areas of damage. In the case of major collapse, a re-design of the frame may need to occur, where stronger material may be used, and/or a more sound mechanical design implemented. If there is a collision, the program controlling the mechanism needs to be addressed, possibly specifying via points for the moving members to pass through to avoid hitting other objects.


Product Completion Test
This is another simple test, it comprises of running through the process to make sure that the completed part is in one piece and is completed covered in filament. Without this being accomplished, the project will be of no use, since the main goal is to design a process that creates a part that combines the link and joint by winding filament around them. This test will show that requirements 4 and 5 can be met.
Procedure
1. Set up mechanism with parts to be wound
2. Run the machine with all components functioning
3. Turn off mechanism
4. Check part for cohesiveness and complete covering by filament

Results
The successful result of this test would be a singular part completely covered in filament, while an unsuccessful candidate will be in two parts, not covered in filament, or both. A variation of an unsuccessful test would be where there is a singular part created, but there is movement between the link and joint. To fix these problems, the method in which the filament is wound around the parts will need to be revised, as in the direction and angle the filament is being applied.

Resin Application
This test ensures that the resin is applied to the filament in a timely manner, such that it will not cure before be wound on to the link and joint. To accomplish this, the resin must be allowed to dry completely, and the time noted. This time must be compared to the time required to move the filament through the resin bath to being on the part. If it takes longer for the resin to cure than the time needed to wind the resin coated filament onto the part then requirements 2 and 3 will be fulfilled.
Procedure
1. Set up filament supply and resin bath
2. Run filament through bath and start timer
3. Let resin cure, stop timer when resin has cured
4. Set up mechanism
5. Run set-up with filament and resin, start timer
6. Finish winding part, stop timer

Results
A good resin application test will demonstrate that the filament can be coated in resin and applied to the part without curing; a poor result will have the resin curing before being completely applied to the part. To fix this, the process would need to be sped up, and possibly move the resin bath closer to the payout eye to minimize time and distance between the filament travelling through the resin bath to be wound around the part.


Filament Application
The filament application test deals with the tension, torsion and resin coating of the filament as it is wound around the part. This will be done by feeding the filament through the resin bath and payout eye as it would be done in an actual run of the process, but instead of winding it on an actual part, a simple tube will be used in its place. Filament will be wound around this tube for several meters of filament. Afterwards, the filament will be checked for and even coating of resin and tension in the winding. If done properly, this test will prove requirements 2 and 6. While it is not necessary to use a robot arm for winding the filament on, since the focus is on how the filament is wound not what it is be wound around. However, if desired a robot arm can be used, or a piece of similar geometry and mass can be used, instead of a generic tube.

Procedure
1. Set up resin bath and a tube for winding
2. Start winding filament around tube
3. Check winding for consistency in torsion, tension and even resin coating

Results
The anticipated successful result of this test will have a consistent tension, torsion and even coating on the filament. This means that the filament is not loose anywhere, nor is it so tight it is causing strain on the part, mechanism, or itself. Also, there is a normal amount of spin in the filament when being applied to the part, and finally an uneven coating of resin on the filament will weaken the part and possibly not combine the link and joint completely, which would violate requirement 4. Potential for poor results could be where the filament is stretched too tight, or there is too much torsion that it breaks, or so loose that it falls and sticks to objects other than the arm between the payout eye and the arm. These problems could be fixed by adjusting the speed at which the filament is fed through the mechanism.


Automation TestThis test consists of running the process of winding the robot arm in filament through with as little human interaction as possible. The reason for the automation is to speed up the manufacturing of the links and the more the process is automated the fast it can be done. This test will illustrate that requirement 1 can be met. 

Procedure
1. Attach the link to the motor.
2. Check all the connections of wires.
3. Turn on the controllers.
4. Start running the program with a hand on the emergency stop button, ready to stop the program if any problems occur.
5. While program is running, continuously check for any problems with the program or the process itself.

Results
A successful outcome of this test is that the winding process will run through without any direct human help. It is expected that there will be a few problems during the first run of the process. A successful first run would be one with few problems and any problems which do arise could be fixed with very simple changes. A failure in the automation test would result in many large changes having to be made to the controller programming. The length of time required to make the changes to the program depends on how much of a failure this test was. 


Weight and Payload TestThis test is used to determine that the wrapped robot arm meets the requirements for payload of the arm as well as the low mass of the link. This test is very simple and consists of attaching a weight to the end of the link to show that it will hold up to the 50kg payload required by requirement 7. Determining the payload will also show the high payload to weight ratio required by requirement 8.
Procedure
1. Weigh the finished link with a scale.
2. Attach 50kg of weight to the end of the link.
3. Raise the link up to allow the link to support the whole mass of the weights.
Results
The expected outcome of this test is that the link will be able to fully withstand the weight of the masses attached to the end. A catastrophic failure would be the link not being able to hold the mass and fracturing. This could be fixed by examining the path in which the link is wrapped and the filament being used. A few small changes in width of filament or a change in path could increase the allowable payload to the required 50 kg.

FEM Analysis

Since most parts used in the construction of the prototype were standard and made by other organizations, very little was needed to be created by the team. Therefore, there is the assumption that all standard parts would hold up to the strains put on it. For the three load-bearing parts created, a FEM analysis had to be done.

Below is the Spindle Motor Mount piece, just one of the pieces designed to show the analysis performed:
Displacement of the Part


Forces Applied to the Part


Max Principle Stress Applied to Part

The Design

The design chosen has motion in the horizontal, vertical and axial directions, as well as the eye can move in two other directions, allowing for the arm to be covered in filament in the most efficient manner. This conclusion was accomplished with the use of morphology, where different aspects of several designs were combined. The translational options were combined with the tool heads, to find the most versatile and effective option. In the end a 3-axis translational operator was decided upon, opposed to the Half-Lotus Model Concept due to the complexity of the Lotus design. The tool end has a yaw motion as well as a rotational motion. This can be seen in the drawings found in Appendix B.

A combination of the “gut feeling” as well as the “Go/No-Go” tests were applied for the final design selection. Firstly the 3-axis operator felt like the simplest option to fulfill all requirements and specifications. Secondly, upon a Go/No-Go evaluation, all customer requirements were deemed a Go, so the designed was selected.

The final design selected is a 3-axis translational design for the position of the payout eye, and the payout eye itself will have two axis of rotation, where one is parallel to the vertical axis (the yaw rotation) and the other is parallel to the cross-feed (payout eye rotation). A sixth axis will be the rotation of the mandrel itself. Thus to make the design feasible it is necessary to obtain a six-axis CNC control device, as well as the necessary rotational and translational actuators.
This design meets all of the engineering specification targets set. With this design there would be very little human interaction, mainly interchanging the parts when one is done and another one needs to be loaded. This design also allows for the horizontal and vertical carriage target values to be met because with this design there is a bit of flexibility in the lengths of those members. The eye and eye-yaw rotation were very key in choosing this design because there is a lot of movement needed from the eye to wrap the filament around the complex geometry of ends of the robotic links. This design is also able to withhold the weight from the link and the filament wrapping, which adheres to the mandrel weight and carriage weight capacity specifications. Due to the amount of automated motion in this design the repeatability is very high which is another specification met. The slim design allows the floor usage to be minimized as well.

There were several other factors taken into account when choosing a design including human factors. One human factor considered was the amount of times during the wrapping of the arm link the link had to be moved by a human worker as opposed to the machine being able to reach those areas. Another factor dealt with the degree of automation of the machine. The more automated it was the less human interaction there would be with the machine and less chance of human injury due to the machine.

Design Simulation

This simulation was made in Unigraphics NX6 of the full assembly:



The following video shows the payout eye performing different angles while wrapping the arm: