2. PERSONAL EXPERIENCENTUST Master graduated with
3.96 GPA. Interested in Humanoid
Robot, Unmanned Aerial Vehicle,
Delta Robot Manipulator, all kind
of Control System, and Embedded
System.
C# Programming Language
C++ Programming Language
JAVA Programming Language
MATLAB
Control Theory
Robotics (Humanoid, Delta Robot
Manipulator, UAV Quad rotor)
Embedded System (AVR and ARM)
CORE
COMPETENCIES
2011 2012 2013 2014 2015
Voltage and
Current
Measuring Device
Instrument
Indonesian
Payload Rocket
Competition
Project Approval
Website for PLN
UAV Quad rotor
Research
UAV Quad rotor
Research
Delta Robot
Manipulator
Project
Humanoid Teen
Size Project
Humanoid Teen
Size Project
Exoskeleton
Project
3. AWARDS
1 32ST PLACE ND PLACE RD PLACE
2015
Technical Challenge in Robocup,
international Humanoid Robot Soccer
Competition in Heifei, China
2011
International Robotic Olympiad,
Creative Robot category (using Quad
rotor and car robot) by IROC
(International Robotic Olympiad
Committee) in Jakarta, Indonesia
2015
Soccer Game Competition in
Robocup, international Humanoid
Robot Soccer Competition in Heifei,
China
2015
FIRA International Intelligent
Humanoid Robot Competition in
Kaohsiung, Taiwan
ST PLACE of Freshman Category
1 2014
Delta Robot Competition in National Taiwan University, Taipei, Taiwan
4. PORTFOLIO
DELTA ROBOT
This delta robot is made by NTUST Medical Robot
Laboratory Students for Delta Robot Competition
held in National Taiwan University in 2014. This
robot is actuated with 3 HIWIN AC motors to
move the end effector in 3D space, and
controlled using ARM STM32 Microcontroller. The
competition goal were to do the stamping as
many as the robot can, and also pick an object,
and move it along the trajectory which is decided
by the competition rule. This robot won the 1st
place of freshman category. The honor is posted
in front of Electrical and Electronic Engineering
building in NTUST.
TEEN-SIZE HUMANOID
The goal for the project was to create the teen
size humanoid robot which be able to walk, fall
down and stand up. This robot also can play
soccer. To achieve this goal, vision detection is
utilized to recognize the ball, and also make
decision about where to move the detected ball.
My part was to utilize the locomotion control so
that robot can walk. We used LIPM concept for
Hip trajectory and also maintain the robotβs
CoG(center of gravity). AHRS sensor was used
for robot walking stabilization, and also fall
detection to perform stand up procedure.
EXOSKELETON
My part of this project will be the leg control
using Regressor Free Adaptive Impedance
control as the compliance control, so that
the robot will be able to adapt based on
patient leg movement, and also Disturbance
observer to estimate external torque and
amplify it for the passive power assisted
exoskeleton.
5. QUADROTOR
BACHELOR THESIS, 2012
TOOLS
MBED WEB-COMPILER
ARDUINO IDE
MATLAB
METHOD
DCM FOR IMU
PID CONTROL
Multithreading
SENSORS
ACCELEROMETER
GYROSCOPE
MAGNETOMETER
DEVICES
ARM CORTEX M3
ARDUINO
2.4 GHz Wireless Remote
xbee
HOW IT WORKS
UART 1
PWM OUT(1-4)
PWMIN
UART2
ACTUATORS 4X
Brushless Motor
DC + ESC
USER INPUT
DEVICE
4 CHANNEL
REMOTE CONTROL
ACCELEROMETER
GYROSCOPE
MAGNETOMETER
XBEE
1. Remote Control Input will be the
desired inputs of Roll Pitch and Yaw
2. PID Control will be utilized to control
the attitude by calculate the error
from desired attitude from remote
control and ACCELEROMETER +
GYROSCOPE + MAGNETOMETER
3. ACCELEROMETER + GYROSCOPE +
MAGNETOMETER outputs will be
calculated using Direction Cosine
Matrix to reject noise and drift from
those sensors and forming 9 x 9
orientation matrix so the roll pitch
and yaw output could be obtained.
4. PID output will be the input for
brushless DC motors
5. Attitude data will be sent through
xbee for analyzing
6. Exoskeleton
MASTER THESIS AND TAIWAN NATIONAL SCIENCE COUNCIL PROJECT, 2015
TOOLS
Visual Studio 2015
SMART Motor Interface
MATLAB
METHOD
Adaptive control
Disturbance observer
Multithreading
SENSORS
POSITION ENCODER
VELOCITY ENCODER
DEVICES
STM32F429
(ARM CORTEX M3)
SMART MOTORS 4X
HOW IT WORKS
ACTIVE-ASSISTED EXOSKELETON
1. Exoskeleton will move based on the certain
trajectory, and the patient leg will follow the
movement.
2. The motor position and velocity will be sent
through serial communication from the motor
to microcontroller and control it using
ADAPTIVE CONTROL to follow the trajectory.
3. This control requires NO ACCELERATION
FEEDBACK and SYSTEM DYNAMIC
PASSIVE-ASSISTED EXOSKELETON
1. Position and Velocity from the motor will be red
as the input to measure external torque using
DISTURBANCE OBSERVER
2. The system will amplify the torque estimated to
assist the patient movement
3. Gravity compensation is needed to get rid of
gravity effect
ACTUATORS 4X
SMART MOTOR
With Position
and Velocity
Encoders Inside
UART1
UART2
USB
USB TO TTL FTDI
PC With Windows
Operating System
7. Exoskeleton
MASTER THESIS AND TAIWAN NATIONAL SCIENCE COUNCIL PROJECT, 2015
TOOLS
Visual Studio 2015
SMART Motor Interface
MATLAB
METHOD
Adaptive control
Disturbance observer
Multithreading
SENSORS
POSITION ENCODER
VELOCITY ENCODER
DEVICES
STM32F429
(ARM CORTEX M3)
SMART MOTORS 4X
Control System Diagram
Passive Assisted Exoskeleton
Active Assisted Exoskeleton
Gravity
compensation
Exoskeleton
Actuators
Disturbance
Observer
Human
K π, π
π(π)
πβ
π π
+
β
+
Motion
Planner
Adaptive
Control
Exoskeleton
Actuators
Disturbance
Observer
π π
π, π
π
π π
π
π+
β
+
+
+
8. Delta Robot
DELTA ROBOT EVOLUTION, 2014
TOOLS
Visual Studio 2015
SMART Motor Interface
MATLAB
METHOD
Adaptive control
Disturbance observer
Multithreading
SENSORS
POSITION ENCODER
VELOCITY ENCODER
DEVICES
STM32F429
(ARM CORTEX M3)
SMART MOTORS 4X
HOW IT WORKS
1. Trajectory of the end
effector is generated based
on the competition rule
2. Air gripper is used to grab
objects and move it to
certain position
3. Delta robot inverse kinematic
is used to get the desired
rotational position for 3 main
actuators
4. We used default PID position
control from motor driver
5. Communication from
microcontroller to AC Servo
motor driver is based on
pulse counter for desired
rotational position and pulse
frequency for the desired
speed.
ACTUATORS 3X
HIWIN AC SERVO
MOTOR
DigitalI/OPINs
UART1
USB
USB TO TTL FTDI
PC With Windows
Operating System
9. TEEN-SIZE HUMANOID
TAIWAN NATIONAL SCIENCE COUNCIL PROJECT, 2015
TOOLS
Arduino IDE
MATLAB
METHOD
LIPM
PD Control
SENSORS
Accelerometer
Gyroscope
Magnetometer
DEVICES
Arduino Mega
(ATMEGA 2560)
Dynamixel NX-106
Switch IC
HOW IT WORKS
1. LIPM is used to create the hip trajectory when
the robot perform omni-directional movement
2. Besides LIPM we also create foot trajectory.
Together with LIPM trajectory output, we
calculate the robot inverse kinematic to get
motor rotational position of Robotβs leg.
3. MX-106 dynamixel motor has its own PID control
for motor rotational position control.
4. Gyroscope is used to read and use PD control
stabilize the robot walking.
5. Using DCM algorithm, we calculate the robot
orientations and use them to detect whether the
robot falls down or still walking and perform
safety fall then stand up procedure if the robot
falls.
6. Using DCM, we can know robot position relative
to north direction, and we will use that
orientation to define the goalpost in soccer
competition.
UART 2I2C
USB
USB
IntelNUC Arduino Mega
Acc+gryo+
magneto
Actuators
13x
10. TEEN-SIZE HUMANOID
TAIWAN NATIONAL SCIENCE COUNCIL PROJECT, 2015
TOOLS
Arduino IDE
MATLAB
METHOD
LIPM
PD Control
SENSORS
Accelerometer
Gyroscope
Magnetometer
DEVICES
Arduino Mega
(ATMEGA 2560)
Dynamixel NX-106
Switch IC
LIPM
LIPM Zc
LIPM Gravity Init
LIPM Gravity
Final
Foot
Trajectory
βπ
βπ₯
βπ¦
Inverse
Kinematic
Intel NUC
Power
Cutoff
Delay
Stand Up
Procedure
PD Control
Servo Motor
IMU
Vision
System
πΉπππ‘ πππππππ‘πππ¦
Parameters
π»ππ πππππππ‘πππ¦
πΉπππ‘ πππππππ‘πππ¦
+
+
LIPM
Parameters
SWITCH
SWITCH
Control System Overview