Arduino Robot Arm design

Page 1

ACS231 Individual Project Final Report

CHANG-CHUAN, CHEN

190177636

Work Package 1 (WP 1-1 & WP 1-2)

For work package 1-1, I place a nano double side tape attach on the tip of the robot arm, so that the box can stick more stable. Then I stick the robot arm on the grid position sheet to make sure the boxes can be placed in the correct coordinate.

For workspace 1-2, I changed the nano double side tape into a huge blue tack. The movement of the robot would then be straighter because of larger friction force on the ground. In order to make the robot arm stop in front of the obstacle by 20 cm, I added an IR sensor facing at the front of robot arm to detect the distance.

WP1-1

EXERCISE 1 Pick-and-place to make a lattice.

As the coordinate been setup, the angle of the robot arm can be calculated by the inverse kinematics as we already know the length of L0, L1, L2 and L3. In exercise 1, I firstly make sure the final position of the 4 boxes, then tested and design the route for the robot arm to place the boxes in the right position. The robot arm would pick the box from coordinate (16, -6) to (14,2).

EXERCISE

2

Pick-and-place to make a tower.

Based on the same concept in Exercise 1, I changed the final position of the boxes into a 1*3 tower. The moving angle route of servo A does not change. However, servo B and servo C needed to change because the final position changes in the z axis. The robot arm would pick the box from the coordinate (14, -8) to (14, 2).

EXERCISE 3 Pick-and-place to a 3D structure

By combining the idea from Exercise 1 and Exercise 2, Exercise 3 can be done by moving the boxes final position in a 2*2 pyramid. The robot arm would pick the box from the coordinate (16, -6) to (14, 2).

WP1-2

EXERCISE 4 Locomotion on a smooth surface

To make the robot arm walk straightly, what I have done is to set a pattern for the robot to go straight. After the robot arm go straight 50 cm, the tip of the robot arm would stick to the ground as Servo A rotates so that the robot arm would then change a direction. Then the robot arm would continue walk straightly ahead until IR sensor detects the obstacle 20 cm in front of it.

EXERCISE 5 Locomotion on a rough surface

The exercise 5 has the same coding pattern as exercise 4. However, the friction at the bottom would be too large for the robot arm to move. So, I added 4 wheels at the bottom to make the robot arm easily moving.

EXERCISE 6 New mode of locomotion

In exercise 6, I disassemble the servos and the ice stick. Moreover, I combine 2 servos, some cardboard, and a few cable ties to make the robot arm into a claw, which also contain 1 servo on the claw to change the direction. While the claw pushed, the robot would move forward. The motion concept would be the same as exercise 4 & 5.

2020-21 ACS231 Individual Project Final Report CHANG-CHUAN, CHEN page 1 of 4
Picture 1. Robot design for Exercise 6

Work Package 2

2. DEVELOPED SYSTEM

The structure and the of the robot have been built based on the ice stick prototype which we have used in Exercise 1~3. However, I decided to replace all the ice stick by 4 designed components which built by 3d printing.

2.1 OUTSOURCED MATERIALS

The size of the robot arm is design totally on the base of the ice stick robot arm. However, the components are not as light as ice sticks. On this assumption, we need to use the free body diagram to analyze the torque of the of the servo. The torque of servo C was not heavy enough compare with servo B and servo A. Since servo A is vertical to servo B, we only need to analyze the free body diagram of servo B.

Table 1. Size and weight of all components

Each component can be perfectly fit and assemble with the servo motor. All the components have been made of 3D printing with a material of PLA. I choose PLA as the robot arm material because it would be light enough for the servo to rise. Also, the price for 3d printing PLA would be cheaper compare with other materials. On the base component, in order to make the robot arm unmovable, I cut off 4 holes so that the holes can be placed with weights, which made by layers ofcopper sheet. For exercise 1 &10, the robot arm needs to have a more stable base, so we can place weights to make the robot arm stabilize. However, in exercise 4, we need to make the robot arm move. In this situation, the weight can be removed so that the robot can moved smoothly.

The torque of the servo (SG-90) is 25 kg-cm.

2.5���������� =25000��������

The torque undertake for servo B can calculated. 10����×425����+147����×85����+11����×140���� =32145�������� <25000������

With the calculation above, we can notice that the torque undertake for servo B is enough for the robot arm to operate. Moreover, we can also calculate the maximum load for the robot arm.

(25000 3214.5)�������� =(85+110)����������

→�� = 217855 195 =11172��

The maximum load for the robot arm would be around 110g.

Table 2 Cycling time for each component

According to Table 3, the cycling time for only 3D printing would take 17 hours and 11 minutes. Include the time for fixing, frosted, and assemble, the cycling time for building this robot arm would take around 18~19 hours.

2020-21 ACS231 Individual Project Final Report CHANG-CHUAN, CHEN page 2 of 4
2.2 MECHANICAL DESIGN, MATERIALS, and FABRICATION METHOD | Exercise 7
Weight (g) Dimension (mm) Base component 66 130×130×15 Component 1 34 90×30×40 Component 2 10 125×15×10 Component 3 11 1271×30×15
Figure 1. CAD design for robot arm Figure 2. Free body diagram of Servo B
3D
Base component 9 hours 17 minutes Component 1 3 hours 30 minutes Component 2 1 hours 23 minutes Component 3 2 hours 1 minutes Total time 17 hours 11 minutes
printing time

2.3 COMPONENT LIST & PURCHASED ITEMS | Exercise 8

Showed in Appendix table 1.

2.4 ELECTRONICS DESIGN | Exercise 9

The electronic circuit is composed by an IR distance sensor, 4 AA batteries, 3 servo motors and a microcontroller, which I choose as Arduino uno. The microcontroller would save the code that I have pre-written, and then run through the program while the batteries are connected. The program would control the motion of the servo motors to move between coordinates or trigger the IR distance sensor to detect the obstacle in front

We choose the Arduino uno as our microcontroller not only it has included in our tool kit, but also the working voltage is 5V. Perhaps, compare with another microchip, such as Arduino micro or Arduino Mega, the pin amount of Arduino uno would be more suitable for this robot arm. Moreover, if I choose Arduino uno as the microcontroller, the electrical circuit can be easily built by connecting with a bread board. This could save a lot of time comparing with soldering or printed circuit boards

In our tool kit, there is a battery holder which can placed 3 AA batteries. However, the servo motors need at least 4.8V to drive, I decided to use a battery holder that can placed with 4 AAbatteries so that the system voltage would be 6V enable to drive the servo motor.

The IR distance sensor is used to detect the distance in front of the robot. In exercise 4, 5 and 6, after the robot turns 90 degree, the IR distance senor would be trigger and starts to detect the obstacle distance in front of the robot. Until the obstacle distance is 20cm, the robot would stop.

The servo motors are controlled by the microcontroller, which decided the motion and angle ofthe robotarmby inverse kinematics. Servo Aused to control the x-y plane direction of the robot arm, while Servo B and Servo C are used to control the distance and height that robot arm can reach on y-z plane As the calculation showed in Figure 2, because of the torque limitation of servo B, the maximum weight for the robot arm to pick is around 110g.

2020-21 ACS231 Individual Project Final Report CHANG-CHUAN, CHEN page 3 of 4
Rotate angle limit ��1 0° < ��1 < 180° ��2 0° <��2 <180° ��3 0° <��3 <180° Table 3 Rotation angle limit of
Figure 3. Length and angle for designed robot arm
each servo
Figure 4. The electronic circuit design for robot arm

2.5 BEHAVIOUR (MOTION) DESIGN

2.6 SIMULATION | Exercise 10

The basic motion for the robot arm is followed by the flow chart in Figure 5. As we know the length of L0, L1, L2 & L3, we can use inverse kinematic to solve the angle ��1, ��2, ��3. The coordinate system can be defined by the following equations:

)

After the exact coordinate has been set, servo A would first rotate to the coordinate on x-y plane for the robot arm. After servo A rotates to the correct angle, servo B and servo C would concert with each other to rotate to the coordinate on y-z plane on the robot arm. The robot arm would then find another coordinate and continue follow through the pathway.

Figure 6. Simulation result for Exercise 10

After the Simulink model for inverse kinematic has been generated, the robot arm could move from one coordinate to another in the simulation. What we need to do is to set up different coordinates to let the robot arm follow through the routes. My registration number is 190177636, so I simulated the route for the last two digits 3 and 6

3. DISCUSSIONS

For this robot arm, the weight is quiet light, so it can move and swap easily. Also, the budget for building the robot arm is much cheaper compare with the other commercial selling ones.

However, because of the budget limitation and the selection of the servo, the robot arm can only pick up item which is neither too heavy nor too big. Also, the accuracy of the servo was not enough controllable and stable. If we can have more budget to buy servo motors which have larger torque and more accurate angle control, or 3d print larger components, the robot arm can pick up larger and heavier items.

In the future, if the robot arm can be built with industrial used servo, the components are changed to build with Aluminum, and scale the robot arm 100 times than current design, the robot arm can be use in the industry to pick or swap through the goods

4. REFLECTIONS

Through the whole assessment, I learnt how to use inverse kinematics to calculate the angle as the coordinates been set. I also practiced my CAD sketching skill and learnt how to implement the CAD model design into Simulink. Furthermore, I set up an inverse kinematic model in Simulink so that the 3d models of the robot arm can be simulate the route for robot arm to walk through by inserting the coordinates.

2020-21 ACS231 Individual Project Final Report CHANG-CHUAN, CHEN page 4 of 4
Figure 5. Flow chart for the movement
���� = ��2 cos(����2)������(����1) ��3 cos(����3 ����2)������(����1) ���� =��2 cos(����2)������(����1)+��3cos(����3 ����2)������(����1) ���� =��0 +��1 +��2sin(����2) ��3 sin(����3 ����2

Appendix (fit in one page is preferable but not compulsory)

Table 1: Mechanical and electronic components and material list

Table 2: Outsourced design/library/software materials (the number is not limited)

material name description link

Design of Arduino board 3D model design in Fusion 360 Used by implementing in robot arm design.

Design of SG90 servo 3D model design in Fusion 360. Used by implementing in robot arm design.

Design of AA batteries 3D model design in Fusion 360. Used by implementing in robot arm design.

Design of battery holder 3D model design in Fusion 360. Used by implementing in robot arm design.

Design of breadboard 3D model design in Fusion 360. Used by implementing in robot arm design.

Ultimaker Cura 3D printing software. Used to simulate the cycling time and weight of each 3d printing component

REFERENCES

https://gallery.autodesk.com/fusion360/projects/22415/arduino-uno-1

https://gallery.autodesk.com/projects/136284/servo-motor-sg90

https://gallery.autodesk.com/fusion360/projects/22423/aa-battery

https://gallery.autodesk.com/fusion360/projects/134629/batteryholders

https://gallery.autodesk.com/fusion360/projects/140202/arduinobreadboard-83x55mm

https://ultimaker.com/software/ultimaker-cura

1. http://www.ee.ic.ac.uk/pcheung/teaching/DE1_EE/stores/sg90_datasheet.pdf

2. Dana D. Damian et al., (2015) Artificial tactile sensingof position and slip speed by exploiting geometrical features, IEEE Transactions on Mechatronics, 20:1, pp. 263-274.

2020-21 ACS231
page 5 of 4
Individual Project Final Report CHANG-CHUAN, CHEN
component name/model count weight current/power consumption total price excl. VAT link Labels in Figure.1 Base component (3D printing - PLA - £0.03/g) 1 66 g NA £ 1.98 https://reurl.cc/NXVv0q A Component 1 (3D printing - PLA - £0.03/g) 1 34 g NA £ 1.02 https://reurl.cc/NXVv0q B Component 2 (3D printing - PLA - £0.03/g) 1 10 g NA £ 0.3 https://reurl.cc/NXVv0q C Component 3 (3D printing - PLA - £0.03/g) 1 11 g NA £ 0.33 https://reurl.cc/NXVv0q D Weight (steel sheet) 2 49.3 g NA £ 3.5 https://reurl.cc/NXVxmQ E Sharp GP2Y0A21YK0F IR Distance Sensor 1 3.5 g 40mA / 0.2W (included in the kit) - F SG90 servo motor 3 44.1 g 250mA / 4.5W (included in the kit) - G, H, I Arduino UNO 1 25 g 40mA / 0.3W (included in the kit) - J Breadboard 1 ignorable NA (included in the kit) - K Battery holder (4 * AA battery) 1 31 g NA £ 1.14 https://reurl.cc/jqLoX2 L Energizer Industrial AA LR6 Batteries 4 108 g 2.6 A / 0.2W £ 2.69 https://reurl.cc/l0GAbA M Blue tack 1 10 g NA (included in the kit) No label Total 391.9g 5.0 W £ 10.96

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.