Abstract— The field of additive manufacturing, especially methods are similar, which utilize the relative motion between
3D printing, has gained growing attention in the research and the barrier and the stage to knock the part off the stage.
commercial sectors in recent years. One of the factors that limit
the speed of 3D printing is that majority of the 3D printer
systems do not have automatic part removers. And those which
have simple removers are not capable of removing thin or
delicate printed parts without damages. This work developed
and demonstrated a 3D printer part remover with different
working modes designed to quickly, safely and precisely remove
small, sticky, and brittle 3D printed objects.
I. OVERVIEW
Additive manufacturing (AM), widely known as 3D
printing, is a process of building parts from 3D CAD models
on a layer-by-layer basis. In general, there are seven major
forms of AM techniques: Vat Photopolymerization by using
UV light to solidify photopolymers, Powder Bed Fusion by
melting material powder through heat sources (like laser and
electron beam), Fused Deposition Modeling (FDM) by
extruding molten material through a nozzle, Material Jetting
by depositing material droplets, Binder Jetting by bonding Fig. 1.1 Moving Hard Stage & Static Barrier [2].
material powder through implementation of binders, Sheet
Lamination by cutting and bonding material in sheets form,
and Directed Energy Deposition by depositing material
through heat sources [1]. Among most of these methods,
printed parts are attached to the stage of the machine when the
printing is finished. Removal of the 3D printed parts off stage
must be done before next printing starts. Automation of part
removal can increase yields, save labor cost, and change the
economics of production.
There are three types of approaches which have been used
to automatically remove the printed part from the stage. The
first one (as shown in Fig. 1.1) composes of a moving hard
stage and a static bar barrier which is fixed with the frame of
the printer. The second on in Fig. 1.2 has a moving belt
conveyor and a static blade barrier which stands close to the
curved edge of the conveyor. And the one in Fig. 1.3 has a
hard barrier which is attached to its printhead and use the
relative motion between the printhead and the stage to take the
part off the stage. The working principles of above three
(a)
Fig 1.4 Parts are difficult to be removed using currently available methods
[5-6].
(c)
Fig. 3.1 System setup: (a) 6DOF aluminum robot arm; (b) breadboard; (c)
Elegoo Mega 2560 board; (d) DC voltage regulator and 7.4V LiPo battery
(not shown in the picture).
1) ROT3U 6DOF Aluminum Robot Arm Since the running current of each servo is 900 mA at 6 V
The 6DOF robot arm (as shown in Fig. 3.2(a)) is made of and five motors will be used in the arm, the total current is 4.5
aluminum alloy and can clamp objects. The 3D printer part A which is too high for a microcontroller board to provide.
remover should be able to move in the xy-plane and has a Thus, a 7.4V Li-polymer rechargeable battery (as shown in
rotational end-effector which can shovel the interface of the Fig. 3.3) was used as a power supply. And one battery can be
part and the stage in any direction. So at least 3 degree of used for 20 min when the robot is continuously working.
freedoms were required and this 6DOF robot arm not only
satisfied the demands but also provided more possibilities to
achieve more complicated trajectories.
Here are its selected specifications [7]:
• Radius of gyration: 355 mm.
• Weight: 56 g
• Operating Speed : 0.17 sec / 60 degrees (4.8 V no
load)
• Temperature range: 0 °C to 55 °C Fig 3.4 DROK 180057 LM2596 Analog Control Buck Converter DC-DC 4-
32V to 1.25-30V [10]
• Operation Voltage : 4.8 - 6 Volts
• SRAM: 8 KB Servo # 𝒌 𝒃 𝑹𝟐
1 0.5104 - 57.508 0.9998
• EEPROM: 4 KB 2 0.4768 - 59.954 0.99961
• Clock Speed: 16 MHz 3 0.4868 - 58.956 0.99973
4 0.4926 - 58.561 0.99978
• LED_BUILTIN: 13 5 0.515 - 58.764 0.99969
As you can see from the upper figure, the velocity is zero
at the very beginning and also zero at the end. So that all
motions are more smooth and stable, which also helps to
reduce the damping caused by inertia.
The combination of different steps can lead to velocities
shown in Fig. 3.11.
3) Three Directions
For wide, brittle and sticky objects, shoving from three
different directions is necessary. The process is shown in Fig.
3.14.
E. Working Modes
For different requirements and conditions, three modes
were designed for the robot.
1) One direction
The 'One direction' mode is mainly for small and sticky
objects. It is from one direction. The process is shown in Fig.
3.12.
signal to avoid sudden disturbance. The key function
feedback() is shown in Fig .3.17
Fig. 3.14 'Three Directions' Mode. Fig. 3.16 Output based on the feedback signal.
To understand the property of PID controller, consider a • PIDx(): Create a PIDx controller linked a specified
typical second order system with the plant transfer function: Input, Output, Setpoint, and kp, ki, kd parameters.
Also set on the initial value to many important
A variables.
G ( s) =
s + a1s + a2
2
• Compute(): Compute the output signal based on the
• Proportional Control (P) Input, Output, Setpoint, and kp, ki, kd parameters.
The P-Control is used to have a faster response. In this This is the most important part in the library and has
case, the controller transfer function is many calculation techniques. A detailed description
will be described below.
D( s ) = k P
• SetSampleTime(): Set the frequency of PID output
The corresponding characteristic function is computing.
1 + k PG ( s ) = 0 • SetTunings(): Set user-defined kp, ki, kd.
• Tuning Changes
The ability to change tuning parameters Kp, Ki, Kd is very
important in PID algorithm. The original integral part is
Angle (degree)
0
Joint 1 Errors
-50
-100
0 1 2 3 4 5 6 7 8
×104
Angle (degree)
0
Joint 2 Errors
-50
-100
0 1 2 3 4 5 6 7 8
×104
Angle (degree)
50
Joint 3 Errors
0
Fig.3.22 Controller function for servos.
-50
Angle (degree)
implementing any feedback control and the feedback signals 50
Joint 4 Errors
were acquired to see how large errors were caused by the 0
inertial and gravity of the system. Then, the PID controllers -50
were applied to the four servo motors and gains were carefully
tuned to optimize the system performance. One thing to note -100
0 1 2 3 4 5 6 7 8
is that only one out of five servo motors, the end-effector Time(ms) ×104
servo, didn’t have feedback signals due to poor contact of
Fig 4.2 Joint angle errors of Mode 1.
inside electronics.
A. Open-loop System Mode 2 Joint Angles
80
Angle (degree)
The system was tested in all three modes without using 70 Joint 1 Desired
Joint 1 Feedback
PID controllers. Fig. 4.1-4.6 shows the desired positions, 60
feedback/real positions, and position errors of four joints in
50
each working mode.
40
0 1000 2000 3000 4000 5000 6000 7000
Mode 1 Joint Angles
Angle (degree)
150 150
Angle (degree)
150 200
Angle (degree)
200 150
Angle (degree)
150
Joint 4 Desired
100 Joint 4 Feedback Fig 4.3 Desired and feedback/real joint angles of Mode 2.
50
0
0 1 2 3 4 5 6 7 8
Time(ms) ×104
Angle (degree)
Angle (degree)
Angle (degree)
Joint 2 Errors Joint 2 Errors
0 0
-50 -50
-100 -100
0 1000 2000 3000 4000 5000 6000 7000 0 2000 4000 6000 8000 10000 12000 14000
50
Angle (degree)
50
Angle (degree)
Joint 3 Errors Joint 3 Errors
0 0
-50 -50
-100 -100
0 1000 2000 3000 4000 5000 6000 7000 0 2000 4000 6000 8000 10000 12000 14000
50
Angle (degree)
50
Angle (degree)
Joint 4 Errors Joint 4 Errors
0 0
-50 -50
-100 -100
0 1000 2000 3000 4000 5000 6000 7000 0 2000 4000 6000 8000 10000 12000 14000
Time(ms) Time(ms)
Fig 4.4 Joint angle errors of Mode 2. Fig 4.6 Joint angle errors of Mode 1.
Mode 3 Joint Angles From Fig. 4.1-4.6, the feedback angular position signals
150
Angle (degree)
Joint 1 Desired followed the trend of the corresponding desired joint angle
Joint 1 Feedback
100 input signals although lots of periodic large error peaks were
50 observed during the whole working process in all three modes.
In the beginning, the intuitive was that those errors were
0
0 2000 4000 6000 8000 10000 12000 14000 caused by the inertia and gravity effect of the robot structure,
especially for servo #1-#4 as shown in Fig. 4.7. The
150
Angle (degree)
Joint 2 Desired connections between the servo arms and their shells were
100 Joint 2 Feedback loose which caused the slight oscillation of the robot arm
50
when it moved. The same issue became the worst for
joint/servo #1 whose stability was poor when the robot arm
0
0 2000 4000 6000 8000 10000 12000 14000
reached the far end. Thus, the PID controllers were introduced
to the system to minimize or eliminate the position errors.
250
Angle (degree)
Joint 3 Desired
200 Joint 3 Feedback
150
100 #3
50
0 2000 4000 6000 8000 10000 12000 14000
150
#2
Angle (degree)
Joint 4 Desired
#4
100 Joint 4 Feedback
#1 #5
50
0
0 2000 4000 6000 8000 10000 12000 14000
Time(ms)
Fig 4.7 Servo motors in the robotic arm.
Fig 4.5 Desired and feedback/real joint angles of Mode 3.
#1 #2 #3 #4
(a)
(b)
Fig 4.12 Joint angle errors of four servos in Mode 1.
Fig. 5.1 Joint angle errors at sampling time = 100 ms with (a) no delay and
(b) 10 ms of delay between reading.
By comparing Fig 4.11 and 4.12, the periodic noisy peaks
still existed but with various amplitudes due to the A specific period of delay between reading did help reduce the
modification by the PID controllers. If all noisy peaks are noise of feedback signals. However, choosing the right
eliminated, only partial curves of servo #1-3 have zero or amount of time for delays could be tricky since delays vary
close-to-zero values. The errors of servo #4 were large in the with sampling time and are also affected by other factors.
beginning but became smaller due to unknown reasons. The
results of applying PID controllers to the 3D printer part Other reasons caused the noisy feedback signals could be
remover system were not ideal due to noisy feedback signals.
• The Arduino IDE Serial function is conflicted with
V. DISCUSSION the Servo Library regarding the priority of timer
issues.
As mentioned in Section III, the calibration of the servos’
custom encoders showed the feedback signals had good • Electric connections were poor due to lack of long
consistency and linearity. Thus, we assumed the feedback wires.
signals were accurate and trustful in PID controller tuning
process. However, as mentioned in Section IV, not only the • Feedback wires should be separate from the power
feedback signals of the open-loop system but also the supply wires to avoid electric interferences.
feedback signals of the PID controller under the step response VI. FUTURE PLAN
were very noisy. Then, we calibrated the encoders again and
the feedback signals were still very precise with errors no In the future, high-quality encoders with steady and
larger than 1 degree. All programs were written in the Arduino accurate performance will be used instead of those custom
IDE. By comparing those codes, we found that the timing of build encoders for better performance. Decentralized position
reading analog feedback signals was different. When we and velocity feedback control can be achieved by using the
calibrated the encoders, the program waited 1 sec before same system setup and modifying the controller. Direct force
reading the second value. In the open-loop system, the period control can be achieved by attaching a force sensor to the end
of reading was various and always less than 100 ms. In the of the end-effector which will enhance the performance of the
PID controlled system, the period of reading was less than the 3D printer part remover on delicate and fragile parts.
Furthermore, machine learning could be implemented in the
system to realize functions like smart trajectory planning and
dynamic removing.
ACKNOWLEDGMENT
The authors would like to thank Professor Veronica Santos
for great guidance, counseling, suggestions, and feedback on
our project proposal and presentation. The authors also
appreciated the Teaching Assistant Lionel Zhang for the great
patience, help, and far-sighted and experienced answers to our
questions.
REFERENCES
[1] Thompson, A., Maskery, I., Leach, R.K., 2016. X-ray computed
tomography for additive manufacturing: A review. Meas. Sci. Technol.
27. https://doi.org/10.1088/0957-
0233/27/7/072001https://www.youtube.com/watch?v=gnme8Tx00bg
[2] https://www.youtube.com/watch?v=Oc8mmL5F794
[3] https://www.youtube.com/watch?v=lra0YW3hG6Q
[4] www.cnccookbook.com/check-out-our-new-high-resolution-dlp-3d-
printer-page/
[5] https://www.ikeahackers.net/category/hacks/3d
[6] https://www.amazon.com/gp/product/B01LVVEP8K/ref=oh_aui_deta
ilpage_o00_s01?ie=UTF8& psc=1
[7] https://www.amazon.com/gp/product/B01MTW06IU/ref=oh_aui_det
ailpage_o00_s00?ie=UTF8& psc=1
[8] https://www.amazon.com/gp/product/B076WVF881/ref=oh_aui_detai
lpage_o03_s00?ie=UTF8&psc=1
[9] https://www.amazon.com/DROK-180051US-Numerical-Regulator-
Adjustable/dp/B01MT8BBC1/ref=sr_1_5?ie=UTF8&qid=152878730
2&sr=8-5&keywords=Voltage+Regulator
[10] https://www.amazon.com/gp/product/B01EWNUUUA/ref=oh_aui_de
tailpage_o08_s01?ie=UTF8&psc=1
[11] http://forums.trossenrobotics.com/tutorials/how-to-diy-128/get-
position-feedback-from-a-standard-hobby-servo-3279/
[12] https://www.autobotic.com.my/servo-motor-mg90s-metal-gear
[13] https://www.aliexpress.com/item/ECMA-C10602RS-ASD-A2-0221-
M-Delta-AC-Servo-Motor-Drive-kits-0-64NM-3000r-
min/32242644652.html
[14] https://www.aliexpress.com/item/ECMA-C10401GS-ASD-A2-0121-
M-Delta-AC-Servo-Motor-Drive-kits-0-32NM-3000r-
min/32242604802.html
[15] K. Elissa, “Title of paper if known,” unpublished.
[16] Gene F. Franklin, J. David Powell, Abbas Emami-Naeini. Feedback
Control of Dynamic Systems. Prentice Hall, 2009.
[17] http://brettbeauregard.com/blog/2011/04/improving-the-beginners-
pid-introduction/
[18] R. Nicole, “Title of paper with only first word capitalized,” J. Name
Stand. Abbrev., in press.
[19] Y. Yorozu, M. Hirano, K. Oka, and Y. Tagawa, “Electron spectroscopy
studies on magneto-optical media and plastic substrate interface,” IEEE
Transl. J. Magn. Japan, vol. 2, pp. 740–741, August 1987 [Digests 9th
Annual Conf. Magnetics Japan, p. 301, 1982].
[20] M. Young, The Technical Writer’s Handbook. Mill Valley, CA:
University Science, 1989.
[21] http://www.ni.com/product-documentation/2923/en/
APPENDIX. A TEAM MEMBERS’ CONTRIBUTIONS APPENDIX. B LIST OF CUSTOM CODES
A. Ling Li’s contributions to this projects include: A. Anything Related To Trajectory Generation
• Provided several ideas from which the project topic
was chosen
• Did the research on existing methods and systems
• Made a list of the required components of the system
and placed orders
• Modified the servo motors by soldering two wires to
the inside potentiometer and got feedback signals.
Measured and calibrate the feedback signals of 5
motors.
• Wrote MATLAB, Python and Arduino programs to
send mass data of trajectories of five joints from PC
to the microcontroller via the serial port.
B. Anything Related To Data Transmission
• Provided the access to necessary tools to set up the
system.
• Designed and built the end-effector in different
materials. 3D printing was used to made solid plastic
end-effector. A stiffer copper sheet end-effector and a
flexible plastic sheet end-effector were made by hand.
C. Anything Related To Robotic Control
• Tuned gains (Kp, Kd, and Ki) of four servo motors
and finally diagnosed the issues of the feedback signal.
• Filmed all videos and edited them for better
presentations.
B. Tianyi Li’s contributions to this projects include:
• Calculated direct kinematics, inverse kinematics, and
dynamics of the 5 DOF robot including DH
parameter, transfer matrices, and Jacobian matrices.
• Generated trajectories both in the joint space and
operational space and optimized them for simplifying
of computation and better performance of the robot.
• Designed and generated trajectories of all three
working modes.
• Assembled the robot from pieces and adjusted the
rotational horn position on each servo to make sure
every servo was in the 0-180º working range.
• Set up the robot system.
C. Zhaoxing Deng’s contributions to this projects include:
• Designed two kinds of controllers: feedback
compensation control and PID control.
APPENDIX. C BILL OF COST
• Wrote PIDx library to implement efficient and robust
PID algorithms for PID controller. Model # / Vendor Quantity Cost
Longruner 10 x MG996R Metal Gear Torque 1 49.99
• Wrote Arduino programs to achieve feedback control Digital Servo Motor For RC Model Car Boat
Helicopter LKY62 / Amazon
and PID control for all three working modes
Diymore Black ROT3U 6DOF Aluminium 1 38.99
respectively. Robot Arm Mechanical Robotic Clamp Claw
Kits for Arduino / Amazon
• Tested the working performance of robot arms and
Elegoo EL-KIT-008 Mega 2560 Project The 1 59.99
tuned the Kp, Kd, and Ki parameters of four servo Most Complete Ultimate Starter Kit w/
motors. TUTORIAL for Arduino UNO Nano / Amazon
Mallofusa Servo Arm Horn Metal Aluminum 2 8.99
25t Silvery for Rc Car Helicopter Round Mg945
Mg995 Mg996 / Amazon
Allytech 10 x 100mm Length Dean's T Plug 1 7.99
Tamiya MINI Female to Male Connector
Adapter / Amazon
Hosim 2pcs 7.4V 1500mAh 15C T Connector 1 32.99
Li-polymer Rechargeable Battery Pack and 1pcs
Balance Charger, Safe & Fast Charging, Best for
RC Evader BX Car RC Truck RC Truggy RC
Airplane UAV Drone FPV / Amazon
DROK 180057 LM2596 Analog Control Buck 2 8.89
Converter DC-DC 4-32V to 1.25-30V Step-
down Regulator Module 24V 12V to 5V 3A
Power Inverter Volt Stabilizer with Red LED
Display / Amazon
Total 225.91