Chia-Hung Lin

Software engineer with hands-on experience on robot control, system prototyping, and hardware fabrication.
Actively looking for full-time software engineering positions.


Education

Johns Hopkins University

Master of Science in Engineering
Robotics - Automation Science and Engineering Track

GPA: 3.83

Related coursework: Robot Systems Programming, Computer Vision, Machine Learning, Artificial Intelligence, Robot Motion Planning

August 2017 - May 2019

National Tsing Hua University

Bachelor of Science
Program of Electrical Engineering and Computer Science

GPA: 3.95/4.3, class ranking: 3

Awarded the EECS Exchange Student Scholarship (USD $10,000) for a one semester exchange to the University of Minnesota, Twin Cities from Jan. to May 2015.

August 2011 - June 2015

Skills

Programming Languages & Tools

Other abilities

Projects

Bullet points

CoSTAR Block Stacking Dataset

Johns Hopkins University
  • Contributed to the release of the CoSTAR Block Stacking Dataset (BSD), a novel dataset on robotic grasping with >10k attempts and >2M frames of real data.
  • Robots can grasp an object effectively with model-based perception and motion planning systems, but not on unstructured scenarios.
  • A mild relaxation of the grasping task can cause neural network based algorithms to fail on even a simple block stacking task when executed under more realistic circumstances.
  • Existing robotics datasets provide a good representation of various aspects of manipulation, but fail to capture end-to-end task planning with obstacle avoidance.
  • The CoSTAR BSD is aimed to let researchers investigate how a machine learning system learn complex workspace constraints from a robot grasping and stacking colored blocks.
  • Implemented data loader, training script, and visualization scripts to be released as a package on PyPI for Tensorflow and PyTorch, with detailed documentations, examples, and training splits available to facilitate researchs on the dataset
  • Reduced the time to load a batch of data by up to 80%; training time to run 200 epochs on the dataset is reduced from 800+ hours to ~200 hours.
  • The paper is currently under review for IROS 2019: A. Hundt, V. Jain, C. H. Lin, C. Paxton, and G. D. Hager, "The CoSTAR Block Stacking Dataset: Learning with Workspace Constraints."
  • Applying reinforcement learning methods on the dataset to determine best actions in different scenarios and improve the success rate.
  • Website for the CoSTAR BSD
  • Paper available online at arXiv:1810.11714
  • ahundt/costar_dataset on GitHub
  • jhu-lcsr/costar_plan on GitHub (The robot system collected data using the CoSTAR system.)
Sept 2018 - Mar 2019

Smart Environment Analyzing Technology (SEAT)

Johns Hopkins University
  • Led a team of 3 and designed a proof-of-concept computer vision (CV) system in Python for the university library in determining the status of a seat as occupied, on hold, or empty.
  • With students often leave belongings in a seat to mark it as occupied and disappear, locating a vacant seat during exam periods can be an arduous task with the maze of levels in the library.
  • Hardware solutions for occupancy detection is too expensive to deploy to every seat in the library.
  • CCTV surveillance cameras are already in place in most study areas and CV systems combined with deep networks are great at detecting people and objects.
  • Collected and labeled series of simulated surveillance footages on a study area from 3 different angles with 4 actors move around and marking between seats.
  • Applied pre-trained models on the COCO dataset for human and chair detection in Tensorflow, combined with traditional CV techniques in OpenCV to determine seat status from current and past frames.
  • The resulting system has >90% soft accuracy in determining the status of a seat, and a realtime performance at 10 frames per second.
  • Video demonstration
  • Detailed report on the project
  • rexxarchl/library-seat-detection on GitHub
Sept - Dec 2018

UR5 Plays Jenga

Johns Hopkins University
  • Created a system for the Universal Robot UR5 robot arm to play Jenga autonomously using the Robot Operating System (ROS) framework in C++ and Python.
  • The idea of demonstrating multi-sensor integration capabilities by making robot arms play Jenga have been around since as early as 2008 by Kroger et al. in paper "A manipulator plays Jenga".
  • ROS that is norm of robotic systems programming today was still in its rudimentary stages back in 2008. Robot Jenga players use proprietary systems, custom communication fabrics, up to four computers for control, and often not play on a full-size tower.
  • With night and day difference in computational power and the maturing ROS ecosystem, it should be much easier to replicate the results today.
  • Artificial Intelligence researches used games as a simplified representation of real world tasks. Plus, it was tedious to play Jenga alone and a Jenga-playing robot could be a welcomed friend.
  • Designed and built a project-specific end-effector that emulated human Jenga strategy using PTC Creo and Autodesk EAGLE.
  • The end-effector has a micro load cell to sense looseness of blocks and push a block out, a micro LIDAR to localize the salient block, and a pinion and rack gripper to extract and return the block.
  • Software part of the system was developed using C++, Python, and Arduino. The implementation is built upon a variety of existing packages and also project specific packages that composed of 3000+ lines of C++ code and some Python and MATLAB scripts.
  • The project specific tasks included calibration for the camera, end-effector control that runs on the Arduino UNO controller on the tool, AI player for Jenga, custom ROS messages and launch files, and trajectory control for the robot arm.
  • The resulting robotic system can play a block in 1 minute and can reach as high as 20 levels before the tower collapses.
  • Video demonstration
  • Detailed report on the project
  • rexxarchl/UR5_Plays_Jenga on GitHub
Feb - May 2018

ASME Student Design Challenge

Hsinchu, Taiwan
  • Led a team of 3 and designed a remotely-controlled inspection robot in 2013 and a remotely-controlled disaster relief robot in 2014.
  • The ASME Student Design Challenge publish designated scenarios and tasks each year, and students must compete in timed trials with their devices.
  • The robots were built to perform designated tasks using Arduino and homemade parts.
  • The task for 2013 is to design a remotely-controlled inspection device for a nuclear plant compromised with radioactivity. Designed a 4-wheel mobile robot with a camera on a turret mount and a gripper.
  • The task for 2014 is to design a remotely-controlled Unmanned Air Vechicle (UAV) that carries a payload while flying around the course and pass through gates in the course. Designed a tri-copter with controllable tail rotor with a cargo drop latch.
  • Modified a Sony PS2 controller with Arduino as a 14-degress-of-freedom wireless controller for the robots.
  • Video demonstration for the 2013 robot
2013, 2014

Cooking Intelligence Simulator (CookIS)

National Tsing Hua University
  • Led a team of 4 and developed a cross-platform mobile app on step-by-step multiple recipe cooking guide.
  • New cooks who just picked up at-home cooking find it difficult to cook multiple dishes at the same time, while experienced cooks have ways to multitask.
  • Given structured cooking recipes, the setup of the kitchen, and the equipments avaiable, we can schedule the recipes on a step-by-step basis to cook on different stoves in different cookers to minimize the hustle while training the multitask mindset at the same time.
  • Worked on touch-free CV controls using the front facing camera of a smart phone with OpenCV in Java
  • Worked on frontend Javascript and UI/UX design of the app.
  • The final app was released on Android, iOS, and Windows Phone using Intel XDK and Adobe Phonegap.
  • Detailed report on the project (Traditional Chinese)
2014

Smark, a Smart Parking System

Industrial Technology Research Institute, Hsinchu, Taiwan
  • Designed a smart parking system during a summer internship at the Information and Communications Department.
  • Finding an empty parking space in a large parking lot can be time-consuming and frustrating. Hardware solutions are expensive to deploy.
  • A proprietary license plate recognition system was looking for applications.
  • Surveillance cameras are already in place to cover most parking spaces, and every car has a license plate on the front and back.
  • Built a small-scale simulated parking lot with a camera on a turret mount as a simulation of real-world parking lots using Arduino.
  • Designed a system to track locations of parked cars and vacancies using the surveillance camera with computer vision and the proprietary license plate recognition system.
  • Implemented a website for the system to help customers find their cars or find a vacant space using Ruby on Rails backend.
2013

Experiences

Teaching Assistant

Johns Hopkins University
  • Computer Aided Design (EN.530.414)
    Hired for outstanding grades when taking the course. Collaborated with 2 other TAs to grade 50+ weekly assignments and conducted office hours to assist students on 100+ different issues.
  • Robot Systems Programming (EN.530.707)
    Hired for expertise in ROS. Collaborate with 2 other TAs to grade 25+ weekly assignments and help students solve software bugs and hardware problems. Currently advising two teams on their course projects on autonomous driving Turtlebot and Jigsaw playing robot arm, respectively.
Sept 2018 - May 2019

Senior Assistant

Shang Kai Steel, Kaohsiung, Taiwan
  • Worked during the gap year after military service and before admitted to the Johns Hopkins University to bolster English abilities.
  • Worked on technical manual translation and foreign sales communication.
  • Translated orally between English and Mandarin on 5+ different occasions for visiting customers, foreign technicians, and in trade shows.
  • Introduced a new mail system and held educational sessions for 100+ faculty members to adapt to the new system.
  • Advised and assisted in search engine optimization for the company’s new website.
Aug 2016 - Aug 2017

President, EECS Student Association

National Tsing Hua University
  • Organized and hosted 10+ university-wide and departmental networking and social events.
  • Participated in University Fair (introduce high school students to the EECS program) and held the first inter-department eSports tournament (school’s first live-streamed eSports tournament).
2014 - 2015

Internship

Industrial Technology Research Institute (ITRI), Hsinchu, Taiwan
  • Interned at the Information and Communications Department during the summer of 2013.
  • Designed Smark, a smart parking system based on proprietary license plate recognition system that tracked locations of parked cars and vacancies. See Smark in the Project page for more info.
Summer 2013

Career Interests

Actively looking for full-time software engineering positions.
Areas of interest include but not limited to, in no particular order:



Leisure Interests

In addition to being an engineer, I enjoy my time both indoors and outdoors. During the summer, I am a avid SCUBA diver and occasional backpacker. In the winter, I enjoy skiing down the hills.

When confined to indoors, I read sci-fi and fantasy novels, I translate SCUBA diving videos from English to Traditional Chinese on Youtube, and I spend time soaking in the latest advancements in Robotics.