Here is a list of some projects I’ve worked on in the past few years.
Cooperative Transport with Multiple Quadrotors
This is an UITP project I lead. In Jan. 2017, our research group was newly equipped with an OptiTrack motion capture system. Part of the project’s goal was to set up and test the system. In our experiment, two quadrotors were rigidly attached to a rod-shaped payload. A software framework developed with Qt is designed dedicated to cooperative tasks like this.
Autonomous Navigation of a Quadrotor in Unknown Environment
A project in the SJTU Autonomous Robot Lab. The quadrotor can navigate autonomously with an onboard RGB-D sensor. An innovative method is purposed for this task: A visual algorithm selects the largest passable area from depth images. A trajectory relative to the quadrotor body frame is calculated real-time in every control step. An MPC controller is designed to track this trajectory and guide the quadrotor safely through obstacles. The above method purposed is validated in simulation. The experiments were conducted in ROS and Gazebo with three different setups.
Control of Hovering Rocket with Reinforcement Learning
In recent years companies like SpaceX have successfully tested their reusable rocket. One of the most challenging problem of these rockets are the attitude control in its terminal phase when aerodynamic has limited effect. In this project, consider only the engine throttling and thrust vectoring, the problem turns into a control problem with continuous action space. I am now exploring reinforcement learning methods to apply them in the control of the rocket as part of my undergraduate thesis.
HRI Robot Quori
During my summer internship in the University of Pennsylvania, I participated in the development of the robot Quori. Quori is an HRI (Human Robot Interaction) platform under developed by Modlab in UPenn’s GRASP Lab.
Jigsaw Puzzle Solver
The course project of AU326 (Fundamentals of Digital Image Processing). I designed and implemented a solution for jigsaw puzzle games on tablet devices. The screen of the tablet is mirrored to a PC, on which I used a Qt based program to process the video stream. The stream is analyzed frame by frame using OpenCV and C++. The instruction computed is then sent to a robotic arm driven by two step motors to drag the puzzle in place. I was able to solve up to 6x6 puzzles within a minute.
I am enthusiastic in writing different web spiders. Spider Insight is one of the web spider I wrote, which is a Python program developed during the 2017 HACKxSJTU contest, which utilized many of the APIs provided by the organizer. It extracts user information from Douban (a Chinese SNS website) and stores in a tree structure, which is then visualized by ECHARTS. The project provides a distinctive way to see the user’s social structure and the relationship with their preference.
Maze Solving with Wheel Robot
The course project of Science and Technology Innovation (Part 4-E). The project involves hardware design of a three-wheel mobile robot and software programming of the PSoC4 embedded controller. In the final, the robot was able to track a black line, autonomously navigate through a maze, estimate odometry accurately with encoder and inertial sensors and receive Bluetooth teleop commands to do complex maneuvers.
My amateur rocket project started from 2009. Over the years, a rocket system is developed capable of launching small objects to nearly 3000ft. In 2012, my rocket VEGA-IV powered by a G-class KNDX solid fuel motor was launched, reaching an altitude of ~2000ft.
FPGA Based Video Game
The midterm project of ES003 (Electronics Lab). I chose to develop an FPGA based video game. The project gave me a better understanding in electronic circuits, hardware programming with VHDL language, as well as the principle of video display.
Digit Recognition with LabVIEW
The course project of Science and Technology Innovation (Part 3-F). A LabVIEW program is designed to recognize number digits from camera.