Experience

Project

Navigating the complex textures of life, where choices unfold the path to the extraordinary, requires creativity, curiosity, and courage to truly have a fulfilling journey.

Email:jinzheliu@outlook.com


Vehicle counting system

The final effect of the project is a counting system for slot car track set with the purpose of counting how many cars passing through the place like finishing line.

This lab shows the main theory of the auto-lamppost sub-systems, bipolar junction transistor and threshold comparator.

In this project, I designed all the liner systems and used a comparator to get a threshold for counting numbers.

Skill: C++, embedded system, liner circuits.


Switched Mode Power Supply Design

Design and implement a complete SMPS circuit from AC input to DC output to ensure the stability and efficiency of power conversion.
Master the working principles of key components such as rectifiers, capacitor filters, PWM controllers, MOSFETs, transformers, etc.
Analyze the dynamic performance of the circuit, including switching waveforms, ripple voltage, power efficiency, etc.
Optimize design parameters to ensure stable output voltage, ripple control within an acceptable range, and improve the conversion efficiency of the circuit.

The experiment successfully designed and verified a complete SMPS circuit, realizing AC-DC conversion, PWM control, MOSFET drive, transformer coupling and filtering voltage regulation. The experimental results show that the circuit can stably provide 12V DC output, and the 100kHz ripple meets the design requirements. However, there is still room for improvement in efficiency, especially under light load conditions. At the same time, the 100Hz low-frequency ripple still needs to be further optimized to improve the overall voltage regulation capability.


Peak Detector

This project successfully implemented a digital logic-based peak detection system with complete functionality for command processing, data handling, and output generation. The team effectively collaborated to overcome challenges in design and debugging, leading to a fully functional and efficient system.

System Architecture

The project is implemented using Finite State Machines (FSM) and a Handshake Protocol for communication between the Command Processor and the Data Processor.

1. Command Processor (CP)
  • Parses user commands such as ANNN, L, and P.
  • Manages input validation using state machines to ensure correct formats.
  • Handles L/l and P/p commands, converting data into ASCII for transmission.
2. Data Processor (DP)
  • Interprets the ANNN command, retrieving NNN data points and identifying peaks.
  • Uses shift registers to store three preceding and three following values.
  • Compares data values to determine if a new peak is detected.
  • Implements a Handshake Protocol to synchronize with the Command Processor.

Skill: Digital circuits, FPGA, VHDL


Electromagnetic Characterisation of a Short Stroke Ferromagnetic Actuator

This report is based on the electromagnetic characterization of a short-stroke ferromagnetic actuator in analyze the data and chart, discuss the advantage in all kinds of methods and study the limitation of different methods. This report shows using the different calculations including numeric data, interpretation and analyze ways to calculate the linear and nonlinear core materials.

In this project, it is difficult to analyze the actuator in detail by analytical method. If the images are complex, data analysis using FEMM and MATLAB may be a better approach. For nonlinear materials, the data is biased due to the inability to accurately calculate the permeability. Linear materials exist only in theory, not in the real world. It can also be seen from the figure that the images obtained by different methods are not very different. Therefore, the experimental data have higher accuracy. In FEMM, the smart mesh can calculate the magnetic field faster but with lower accuracy, so the person using the software needs to have a certain academic knowledge to use or change the data and calculation in FEMM. To improve the accuracy of the data, it need to consider the energy loss and consider the end windings to further get more accurate data. It can strengthen the magnetic force which is consider reducing the reluctance so it can consider a higher magnetic flux material, which can achieve higher saturation and reduce remanence. As known, the air gap can change the reluctance, thus it’s also a good way to using a more compact actuator to reduce the reluctance and get higher force. There are multiple ways to using the actuator in the real life, such as changing the gearbox, fire facilities etc.

Skill: FEMM, MATLAB, ferromagnetic linear actuator


Embedded Real-Time System

Objective

The project involves designing and programming an autonomous robot using the Texas Instruments Robotics System Learning Kit (TI-RSLK). The robot operates on an ARM Cortex-M4F MSP432P401R microcontroller, integrating real-time operating system (RTOS) principles and interrupt-based programming to handle multiple tasks efficiently.

1. Interrupt-Based Programming (Part 1)
  • Goal: Implement interrupt service routines (ISRs) to handle robot control.
  • Tasks:
    • Configure GPIO interrupts for bump switches.
    • Implement polling vs. interrupts for efficient CPU utilization.
    • Measure interrupt latency and optimize response times.
  • Modes of Operation:
    • Autonomous Mode: Follows a predefined route and stops when bump switches are triggered.
    • Free-Motion Mode: Moves forward and changes direction based on bump switch inputs.
  • Learning Outcomes:
    • Understanding real-time constraints.
    • Implementing low-latency, event-driven programming.
2. Real-Time Operating System (RTOS) (Part 2)
  • Goal: Develop a multitasking system using FreeRTOS.
  • Tasks:
    • Implement task scheduling to run multiple functions concurrently.
    • Prioritize tasks using preemptive scheduling.
    • Utilize semaphores and mutexes to manage shared resources.
  • Key Features:
    • Task Management: Creating, suspending, resuming, and deleting tasks.
    • CPU Scheduling: Round-robin and priority-based execution.
    • Concurrency Handling: Ensuring multiple tasks (e.g., motor control, LED display, bump switch detection) run smoothly.
  • Expected Execution:
    • The robot should continuously execute all tasks without blocking critical operations.
    • Task prioritization ensures real-time responsiveness.
Final Outcome
  • Successfully implemented interrupt-driven and RTOS-based control for the autonomous robot.
  • The robot can:
    • Move autonomously while detecting obstacles.
    • React quickly to bump switch inputs.
    • Manage multiple concurrent tasks efficiently.

This project provides hands-on experience in embedded systems, real-time programming, and multitasking, making it a strong foundation for designing complex robotic systems.

Skill: FPGA, ARM, RTOS, CCS, ERTS


Creating and Simulating Parameterized Cells

Design and simulate parameterized cells in Cadence Virtuoso. Run parametric analyses and sweeps to study circuit behavior. Perform verification techniques like corner analysis and Monte Carlo simulations to quantify process variations. Analyze power consumption and circuit delay in different operating conditions.

Skill: VLSI


Sensor-based PID control optimization: Pushing the box to move smoothly and straight in Pololu 3pi+

This study combines collision sensors with advanced PID algorithms to optimize the box-pushing task of the Pololu 3Pi+ robot under different load conditions. Experiments show that advanced PID control significantly improves trajectory stability and accuracy but is limited by the robot weight and sensor accuracy under heavier loads. In the future, sensor performance and PID response efficiency will be improved to improve performance.

Skill: C++, hardware


Comparison of image processing
approach and machine vision
methods in counting apples

Apple counting in orchards traditionally
relies on manual labor, which is time-consuming and error prone. Computer vision technology provides a new possibility for the automated management of orchards, through image algorithms to achieve automatic detection and counting of apples, thereby improving efficiency and reducing labor costs. This paper proposes and compares the detection performance of image processing approach methods based on color extraction with the YOLOv5 algorithm in an orchard environment. Both methods accomplish the counting of apples on the apple tree. The image processing approach method has low
computational cost, while YOLOv5 shows high
accuracy and strong robustness under occlusion, overlapping and complex background conditions through multi-layer feature extraction and optimization techniques. The experimental results verify the advantages of YOLOv5 and explore its applicability under the condition of limited hardware resources, which provides an important reference for the automation of orchard management.

Skill: Python, AI, Machine Vision


AI-MazeDungeon

You are the mighty HeroBot traversing the Maze Dungeon where you will encounter many different
entitities.

Throughout this project, I systematically applied and evaluated various machine learning methods, including supervised learning, unsupervised learning, and reinforcement learning, to solve different problems involving image classification, regression analysis, and maze navigation.

In the initial phase, I utilized decision trees, K-nearest neighbors (KNN), and logistic regression for binary classification tasks involving grayscale image datasets. Through extensive hyperparameter tuning with GridSearchCV and cross-validation, KNN demonstrated superior accuracy despite its higher computational costs, whereas decision trees and logistic regression provided balanced trade-offs between performance and efficiency.

Subsequently, I addressed supervised regression problems by applying linear regression to predict continuous target variables, specifically leveraging the strong correlation between features such as intelligence and the target variable (bribe). The resulting regression model showed reliable performance with acceptable mean squared error metrics.

For unsupervised clustering, I employed the KMeans algorithm and Gaussian Mixture Models (GMM), identifying optimal cluster numbers using the elbow method and silhouette analysis. These clustering methods successfully categorized physical attributes into meaningful groups, effectively demonstrating the underlying data structure.

In reinforcement learning experiments, I explored maze environments using both model-based methods (policy and value iteration algorithms) and model-free methods (Monte Carlo and Temporal Difference learning). Policy iteration rapidly converged to optimal solutions, efficiently determining the best paths within maze environments. Meanwhile, the Temporal Difference learning method exhibited advantages over Monte Carlo methods in speed and efficiency, effectively utilizing bootstrapped value estimates to quickly approximate optimal policies.

Finally, the integrated application of Support Vector Machines (SVM) for supervised regression, advanced feature selection techniques, and optimized image processing for color-based clustering exemplified the project’s comprehensive approach. The project culminated in practical implementations of reinforcement learning algorithms, achieving efficient and optimal maze navigation solutions.

Overall, these tasks collectively demonstrate a robust understanding of diverse machine learning methodologies, their application in complex tasks, and the importance of methodological rigor in model evaluation and selection.

Skill: supervised learning, Unsupervised learning, neural networks, reinforcement learning.


Robot hand modeling

This report focuses on two types of robotic systems—a serial robot (Lynxmotion robotic arm) and a planar parallel robot (used for surgical needle positioning)—with a particular emphasis on forward and inverse kinematics modeling, trajectory planning, and workspace analysis and optimization.

In Part 1, the Denavit-Hartenberg (DH) method is used to establish the forward kinematics model of the Lynxmotion robotic arm. An analytical solution for inverse kinematics is derived, and joint configurations corresponding to multiple target points are calculated using MATLAB. Additionally, three trajectory planning strategies—free motion, straight-line motion, and obstacle avoidance—are implemented and visualized through animations.

Part 2 introduces the geometric modeling of a planar parallel robot. Using triangle geometry and the law of cosines, the joint angles are computed based on the platform’s position and orientation. The workspace is then analyzed by checking the feasibility of platform configurations, and a 2D scatter plot is generated to demonstrate reachable areas—highlighting its potential in high-precision applications such as surgical operations.

In Part 3, the report investigates how structural parameters, particularly the length of the first link, affect the robot’s workspace. MATLAB simulations show that increasing link length expands the workspace but may compromise precision and control stability. A balanced link length is recommended to optimize both reach and reliability.

Skill: MATLAB, Robotic, mechanism


Trust Repair in Verbal and Non-Verbal Robots

This study investigates the differences between verbal and non-verbal robots in repairing user trust, focusing on how different communication styles affect trust after a robot makes a mistake. A three-stage maze navigation task was designed using the NAO humanoid robot, which guided users either through speech and gestures (verbal) or gestures alone (non-verbal). In the second stage, the robot intentionally gave incorrect instructions to simulate a trust breach. Twelve MSc Robotics students participated in the experiment, and changes in trust were measured through questionnaires and keyboard response times. Results showed that robot errors significantly reduced user trust, with non-verbal robots causing a greater decline in trust. However, no significant difference was found in the rate of trust recovery between the two groups. Interestingly, the non-verbal group demonstrated a stronger rebound in trust during the third stage, suggesting that gestures may play a valuable role in rebuilding the robot’s social image. Response time analysis further confirmed that user surprise—triggered by the robot’s mistake—was an early indicator of trust change. This study is the first to systematically compare verbal and non-verbal trust repair mechanisms in NAO robots. The findings support incorporating non-verbal strategies, such as gestures, into the design of social robots to enhance resilience and recoverability in human-robot relationships. Despite limitations in sample size and experimental setting, the study offers meaningful insights into trust repair and provides a solid foundation for building more human-centered trust models. Future work is encouraged to include larger, more diverse participant groups, a wider variety of repair strategies, and physiological measures to better understand the dynamics of trust in real-world human-robot interaction.

Skill: NAO, human-interface


Msc dissertation