I am a Ph.D. Candidate at the University of New Hampshire in the Computer Science department. I am a member of the UNH Artificial Intelligence Group. I am currently working with Professor Wheeler Ruml in the area of Artificial Intelligence, Heuristic Search, Robotics and Motion Planning.
My full CV is available here.
I have been a teaching assistant at the
University of New Hampshire for a variety of
courses, involved in creating assignments, exams and
conducting recitation sessions for Intro to AI, Intro to
Computer Security, Algorithms (C), Intro to
Computer Science (Java, Python), Database
Programming (C#, SQL), Scripting Languages (Shell).
I was a robotics intern at Realtime Robotics in the
summer of 2018. I was working on a motion planning project
that could enable an autonomous vehicle to safely drive in
crowded urban areas and also achieve the goal regions as
quickly as possible. In the project, I
Build a real-time planner for an autonomous vehicle
that is able to safely drive in a crowded urban area.
The planner was lattice-based and performed an anytime search.
Build a real-time planning framework that enable
handling a dynamic world online.
Build a simulation environment to demonstrate flagship
product to major new customers.
is a video shows the vehicle avoid hitting a man who
rushed into the road. Here
is another video that shows that the vehicle obeys the traffic
light. The online lattice is also visualized in this
is my talk about this project and slides
I worked for the Shanghai International Port(Group) for 3 years (2012-2015) after I graduated from the Shanghai Maritime University with my Master Degree in Logistics Engineering. While I was at the SIPG I worked in the following projects:
- Member of the team that designed, built, and deployed a new automated container terminal operations management system, including algorithm development for the crane allocation and scheduling module and the financial module.
- Helped launch previous terminal operating management system.
During the summer of 2011 I worked as an intern at Alcatel-Lucent(Shanghai). While there, I developed a global electrical elements database, including web interface and database maintenance software.
Research Visits and Invited Talks
2018 Guest lecture for the University
of New Hampshire's CS900: Graduate Seminar.
2018 Invited lecture at the University
of New Hampshire's Robotics Seminar Series.
2018 Invited lecture at Shanghai
Maritime University's Logistics Research
2017 Invited lecture at the University
of New Hampshire's Robotics Seminar Series.
In CS880 Introduction to Mobile Robotics, my final
project study the problem of autonomous
mapping. We implement the frontier-based exploration
algorithm combined with the occupancy grid mapping
technique that enables a Turtlebot robot to autonomously
build a map for an unknown environment. The theory of
Bayesian inference has been applied to update an
occupancy map and the frontier based exploration
algorithm has been applied to navigate robot to unknown
areas in the map. The experiment results show that the
robot is able to map the environment with fully
autonomous both in simulation and real world
environments. All of the source codes can be found here.
We also took a video that record the process of a Turtlebot mapping a real world environment.
- In CS980 Topics in Reinforcement Learning,
project study the problem of dynamic
obstacles avoidance for mobile
robots. We studied two deterministic
approaches which use heuristic search
techniques, and four stochastic
approaches which use reinforcement
learning techniques. We proved these two
type of approach are mathematically
different. The experiment results show
that deterministic approaches are not
only faster but also robuster than
stochastic approaches. But stochastic
approaches still applicable for certain
problem scenarios. All of the source codes can be
- In CS980 Planning for Robots,
project design two control algorithm: sampling
based model-predictive control (SBMPC) and
bisection search based model-predictive control
(BBMPC). The algorithms are implemented as the
controller for a real-time planning system in ROS
to enable a Pioneer robot to move quickly in
environments with dynamic obstacles. The behaviors
of both algorithms are demonstrated through
straight and curve line following experiments from
simulation and real world environments. We also
discussed several issues of the real-time
planning system. All of the source codes can be
- In CS830 Introduction to Artificial Intelligence, my final project present a new anytime motion planning approach called B-SST. B-SST first runs BEAST, an effort-aided planner, to find a first solution as quickly as possible, then switch to another motion tree growth process called SST-with-cost-pruning, which adopt both idea from SST and cost pruning algorithms. We first introduce several related work that we build upon. Then B-SST is described in detail. Results with a variety of vehicles and environments showed that B-SST is competitive compared to A-BEAST and other successful anytime planners. We also discussed a more sophisticated idea on how to create a better anytime motion planner in the end. All of the source codes can be found here.
- In CS880 Introduction to Information Retrieval, my final project study the task of helping an automated player win a computer game by reading a strategic user's guide designed for human players. In complex computer games such as Star Craft, War Craft, and Civilization, finding a winning strategy is challenging even for humans. Therefore, human players typically rely on manuals and guides. Recently, researchers have tried to using such textual information to train an automated playe. Our goal, is to better understand the retrieval model used in their paper in terms of algorithms and metrics from the field of information retrieval. Our results provide some evidence that inverse document frequency out performs recurrent neural networks at assisting human players, and could be used as a baseline for evaluating retrieval models used in playing games like this. All of the source codes can be found here.
- In CS880 Probabilistic AI and Machine
my final project compared the
accuracy and reliability of several different
classifiers for recognizing handwritten digit,
training on MNIST dataset. Classifiers such as
K-Nearest Neighbors, Decision Tree, and Random
Forest are applied to the problem, and it turns out
they both have their pros and cons. All of the source codes can be found here.
- In CS980 Topics in Multi-Agent and Multi-Robot Systems, my final project was an MDP based approach to slove the Quay Crane Scheduling Problem under Uncertainty in Container Terminals. The number of time-conflict tasks for yard cranes (YC) in yard operation is considered as one of the important measures for the evaluation of the level of fluency for quay crane scheduling by terminal experts. In this project, an MDP model for QCSP is developed. A UCT algorithm is designed to solve the model.
My first name is pronounced like read three English
Some photographs I've taken are posted here.