Welcome to Yunzhou’s Homepage!
Selected Projects (Primary contributor for all projects)
Continuous-time, Continuous-space multi-agent pathfinding
Multi-agent pathfinding is a centralized algorithm that plans a path for each robot while avoiding collision and minimizing time costs. Multi-agent pathfing algorithms have been widely applicated in warehouses, controlling robots to move commericial goods from one location to another location. Most of traditional MAPF methods focus on discrete-time, discrete-space setting. However, this interestng project is generalized to continous-time and continuous-space, which means that each robot does not need to move at the same time! We uses computation geometry to precompute all the colissition between edge pairs or edge-vertex pair in closed form. Then, we use priority-based safe interval planning to plan the paths for each agent. We also design an efficient data structure to automatically update safe intervals for both edges and vertex while replanning. We also design an algorithm to efficiently select a subset of dependent agents and replan them to resolve infeasibility. In comparision to the previous GNN-accelerated CBS-based approach from our lab, the method is more than 500 times faster and can achieve much hight success rate. Besides, we can achieve 99% feasibility rate in a map with only 800 nodes.
Active exploration for object navigation
How to control a robot to find a specified object in the house in an interesting problem. There are two criterions, firstly, we want to our robot to successfully find the object (False positive is really bad!). Besides, we want to minimize the trajectory of the robot. The key challenge is the tradeoff between exploration vs exploitation In this project, we build a hierarchical map for representation. A 2D occupancy map is built from data from RGBD sensor by mapping algorithm. The first layer is floor layer, the second layer is object layer and the third layer is room layer so that we know the occupancy of each object and which room the object is in. We use room segmentation algorithms to divide the map into several area. We design a local planner and a global planner. The local planner is used to explore the current room and the global planner is used to navigate between rooms and chooses which area to go. For each room, we compute important information that contains in that room such as frontier or unexplored surface. Then in the local planner, we generate a trajectory for robot to cover those informative area. In the globall planner, we select a new room by using the information about informative area, sememantic information and the distance. We also use Chatgpt to guide the global planner and use the hierachical map provide information for the Chatgpt to make decision. Since the RGBD sensor is noisy and our robot cannot see the obstacles beneath it, our algorithm corrects the map from interaction, and avoids uncertain area while doing motion planning. Besides, although the we fine-tune YOLOV8 model from the data generated from simulator, the object detection algorithm is still noisy, so we apply clustering and filtering algorithms on the object layer to filter out outliers and decrease the false psotive rate. We use semantic information as prior information to guide global planner. The demo shows finding a potted plant in houses.
Certifiable algorithm for pose graph optimization and 3D registeration
Certification algorithms are the class of algorithms that can verify the optimality of computed solutions and reject erroneous solutions for extreme cases. They are very useful for safety-critical robotics applications, especially for NP-hard optimization such as nonconvex optimization. In the first part of this project, I implemented an algorithms that uses semidefinite relaxation in Maltab to solve large-scale pose graph graph optimization with optimality guarantee. However, the PGO algorithm sufferes from the presence of outliers. Therefore, I then explore how to develop certifiable algortihsm that can tolerate a large amount of outliers. Teaser, Stride and SOS optimization are of particular intertest to me. I impletement am algorithm that combines Tease with ICP for Prof Hao Su’s CSE275 comptition. The intitial correspondances are only estimated through suing FPFH features, which is quite noisy. However, by using Teaser to solve a sub-problem, I can still get reasonable estimate of the object pose.Later, I try to use a neural network with PointNet to predict the initial guess and then uses ICP and teaser to refine the solution iteratively and gets very good result.
Hi! Welcome to my homepage! My name is Yunzhou Yan (You can also call my English name Joe). I am currently a second year master student at UC San Diego and a member of Prof Yang Zheng’s SOC Lab. My current GPA is 3.93/4. I also have some wonderful collaberations with Prof Nikolay A. Atanasov and Prof Sean Gao. My primary research research is in autonomy and robotics. especially multi-agent pathfinding, certfiable algorithms for perception and active exploration with SLAM. I like to explore optimization methods with theoretical guarantee to solve real-life truthworthy robotics applications and conduct empirical experiments. I also believe (currently) that robotics research should focus on the deployment in the real-world. I am currently actively look for Ph.D positions starting from 2024 fall. Here is my cv and research statement.
Before coming to San Diego, I did my bachelor degree in Hong Hong Polytechnic University in Electronic Information Engineering and computing, and have spent a lot of impressive time there with lovely Hong Kong people. Before that,I spent all my childhood in Beijing, moving between Haidian and Chaoyang. In my free time,I enjoy hiking, cooking,reading novels and comics. I am also actively searching for authentic Asian restaurants at San Diego ! Besides, I am a big fan of strategy games such as Total War and Divinity Sin. I always like to try new things and keep myself freshed.
Personal Email: [email protected]
Lifelong Multi-agent pathfinding
Although the original MAPF problem is interesting, it does not have too many applications in real-life coz the robots should never wait in their destinations. In real warehouses, robots will be assigned a new location after they reach their current destinations and we want to control robots to finish as many as possible tasks in a limited amount of time. This is what we called lifelong MAPF. In this project, we use priority planning and safe-interval planning and RHCR to generate a solution very fast. Since priority planning is not complete (RHCR makes it even harder), we apply CBS-based algorithms to replan a subset of agents to improve feasibility and refine the quality of solutions iteratively. This is also called anytime algorithm that make an NP-hard problem tractable in practice.
Forecasting the trajectory of autonomous vehicles
In this project, we use neural network to predict the future trajectories of autonomous vehicles from the lane map, the past positions of them and nearby cards. We use MLP and LSTM as encoder to encode temporal information about the motion of each robot and 1D CNN network to encode interactions between cars. Finally, I use another MLP as decoder to predict the future trajectory of different cars. This project won the first place in the public test set in the CSE251B competition and the second place in the hidden test set.
Certifiable Algorithm for 3D registeration
Some interesting work that I have done when I am a happy undergraduate in Hong Kong!
Multiplayer game: Leviathan’s Treasure
Implemented in Unity, Leviathan’s Treasure is an asymmetry multi-player action game. Yes! Just like Dead by Daylight and Identity Five. There are one monster and three hunters. Each hunter has its own role, such as knight and mage. Each character has its own weapon and skills. For example, the monster can shoot fireballs and fly! There are many treasures on the map (just yellow boxes haha). The goal of the hunters is to kill the monster or collect enough treatures within time limit. On the other hand, the goal of the monster player is to defear all the hunters or prevent them from collecting treature. There are also some cute NPC in the map!
Security Robot
The first function of my security robot is that the robot can talk to the user and register users’ information by their conversation. The second function is sound event detection and sound source localization. The robot can detect abnormal sound and locate the direction of the sound source. Then, it moves around and take a video of what happens. The control program is an android program written in Kotlin, which be run in the Temi OS.