Internship at AI Labs.tw

Artificial Intelligence Intern May 2018 ~ July 2018
About Taiwan AI Labs: TaiwanAILabs Logo

        Taiwan AI Labs (AILabs.tw) is a privately funded research organization based in Taipei, and led by Ethan Tu, a former principal development manager at Microsoft. He is also well-known as the founder of PTT, one of the most influential online forums in Taiwan. At AILabs.tw, our focused areas are healthcare, smart city, and human interaction, assigned to respective teams of engineers from diverse professional backgrounds.


My role at Taiwan AI Labs:

  • Devised control of a nano quadcopter (Crazyflie) using ultrasonic sensor feedback to achieve obstacle avoidance

  • Crazyflie with arduino ultrasonic sensor ultrasonic sensor range
    Sensor Type Ultrasound
    Range 2-400cm
    Accuracy Up to 3mm
    Repetition Rate 40 Hz
    Wave 40 kHz
    Interface digital
    Operating Power 5V DC
    Weight 10 g
    Price $3.95
    Crazyflie Algorithm at a high level(Python)

    import serial
    import threading
    import time
    import Crazyflie library
    URL="Crazyflie address"
    serial.Serial('COM_Port', Baud_Rate)

    Class Threading_between_two_loops

    def __init__:

    Syncronize with Crazyflie
    Take off

    def infinite_loop_1:

    While True:

    Crazyflie motion commands

    def infinite_loop_2:

    While True:

    Read and register sensor data

    if__name__ == '__main__':

    open Class

    While True:

    thread_infinite_loop_1.start()
    thread_infinite_loop_2.start()
    input("Take off")


  • Built and tested DJI F450 GPS Drone used for running algorithms under development




  • The Quadcopter team
    Quadcopter team
  • Established communication via MAVLink with Pixhawk Flight Controller to fly a quadcopter from a ground station.
  • pixhawk         Because our goal was to implement a variety of sensors that would increase the drone's degree of automation, we needed a communication protocol where inputs of external devices can be added and recognized by the drone. MAVLink helped us with this job. It is a protocol for communicating with a off-the-shelf flight controller, Pixhawk, boxed in green as shown in the picture on the left. Pixhawk can be connected either via USB, where data streams through a COM port, or wirelessly by an IP address.

            We began by writing a test script that commanded the drone to arm, disarm, sleep for a few seconds, then arm again. The purpose of this initial test was not only to test the the connection between user input and Pixhawk, but also to ensure that all four rotors would turn properly. We also tested the reading of other parameters through this protocol, including the drone's battery life, GPS, altitude, and so on.
  • Customized quadcopter frame to accommodate installations of sensors, camera, and NVIDIA Jetson TX2 on board


  • Designed and developed a safe indoor lab to test-fly experimental drones.
  • lab 1 lab 2 lab 3 lab 4