Some robotic projects that I have done involving simultaneous localization and mapping (SLAM), motion planning, design of mechatronic system, and machine learning.
Throughout these experiences I've developed solid skills including:
Programming in C++, Python, C(embedded system and micro-controllers), Matlab, PLC, G-code.
CAD (Solidworks, Catia, AutoCAD) and CAE (ANSYS, Hyperworks, Fluent).
Electrical design (analog circuit, filters, motor drivers, power supplies) and characterization (oscilloscope, digital source meter, waveform generator, impedance analyzer).
Simultaneous Localization and Mapping (SLAM) with a Mobile Robot
For autonomous mobile robots it is important to not only autonomously navigate, but to concurrently make a map of the surroundings. This process of simultaneous localization and mapping was coined as SLAM. This project focuses on the use of an extended Kalman filter (EKF) to accomplish SLAM using a 2D mobile robot.
The propagation step of the EKF utilized odometric measurements from magnetic wheel encoders.
The update step of the EKF was done by finding features from a Kinect 360.
A Mahalanobis distance constraint was applied to accurately identify feature correspondences.
The results show that EKF-based SLAM was successful in mapping the 5th floor of Keller Hall at UMN.
Algorithm overview (implemented in ROS)
Mark Gilbertson, Gillian McDonald, Trevor Stephens and Zhijie Zhu. (Alphabetical listing authorship) “SLAM with a Custom 2D Mobile Robot” CSCI5552 Sensing and Estimation in Robotics Final Projects University of Minnesota, 2016 [PDF]
A Convex Optimization Approach for Path Smoothing for Autonomous Driving Cars
The goal is to design a fast algorithm to locally optimize the output of a motion planner, with a focus on car models. Specifically, the smoothing algorithm takes as input a reference trajectory P and returns a smoothed trajectory Q with an optimized speed profile.
We developed a novel algorithm, Convex Elastic Smoothing (CES), for trajectory smoothing which alternates between shape and speed optimization. We showed that both optimization problems can be solved via convex programming, which makes CES particularly fast and amenable to a real-time implementation.
Bubble generation for obstacle avoidance
A typical smoothed trajectory for the random maze scenario
Animation of the generated smooth trajectory under the constraints of vehicle dynamics
Zhu, Zhijie, Edward Schmerling, and Marco Pavone. “A convex optimization approach to smooth trajectories for motion planning with car-like robots.” 54th IEEE Conference on Decision and Control, 835-842, 2015 [PDF]
Obstacles Avoidance with Machine Learning Control Methods
Object avoidance is an important topic in control theory. Various traditional control methods can be applied to achieve control of object path such as PID, Bang-Bang control, sliding mode control.
However, controls of complex, control of systems with unknown dynamics have been pushing the limit of traditional control laws. This report adopts machining learning methods of (1) Support Vector Machine (SVM) with linear kernels and (2) Reinforcement Learning (RL) using value iteration, to solve control problems in the game "Flappy Bird" without understanding the dynamics of the problem.
SVM for static obstacles
RL for static obstacles
RL for moving obstacles
Shu, Yi, Ludong Sun, Miao Yan and Zhijie Zhu. (Alphabetical listing authorship) “Obstacles Avoidance with Machine Learning Control Methods in Flappy Birds Setting.” CS229 Machine Learning Final Projects Stanford University, 2014 [PDF]
Smart Product Design
We designed a smart puzzle game that requires interactive collaboration of two players and three distinct user interactions, one of which involves large-scale motion. Some key features include:
Visibly moving parts.
Interactions with the players with analog and digital inputs.
Haptic and tactile feedback.
Fit within an 18" x 18" x 36" volume and for mobility.
Smart Puzzle Game Device ---- "The Sarcophagus of DrEd" [Website]
We designed a wheeled racing robot that complete laps around a course and making at least one shot into the bucket. Some key features include:
Four tape sensors to track the black tape along the lap.
IR sensor to detect the location of the bucket.
Spinning wheel as a pushing force provider to shoot the balls.
Two encoders and the PID control module to drive the robot.
Smart Wheeled Robot ---- "The Unbreakable Tank" [Website]
*Unbreakable Tank at 46:35
Robot in the race
We designed a remote-controlled hovercraft to battle in teams via poking balloons on a target. Some key features include:
Wireless communication protocol for XBee radios.
Scotch Yoke mechanism for poking balloons in the game.
Propellers for steering and driving the hovercraft.
Custom-designed hovering mechanism with two air chambers.
Remote-Controlled Hovercraft ---- "The Avengers" [Website]