More details about this project can be found in this paper. Here is a brief introduction to the project. This project is part of my master's thesis. My master's thesis (Written in Chinese) can be downloaded here.

Abstract:
This paper studies a task scheduling problem in the context of the mobile robot fulfillment system (MRFS), a parts-to-picker storage system where mobile robots bring movable racks to workstations. It determines the assignment of tasks of transporting racks to a fleet of robots with the objective of makespan minimization. A mixed integer programming model is presented to describe the problem. Aimed at quickly finding good solutions to this NP-hard problem, two heuristic rules and an ant colony optimization algorithm are developed. Computational experiments are conducted to evaluate the performance of the proposed heuristic solution procedures. It shows that the ant colony optimization algorithm generally has the best performance.


Mathematical Models

A mixed integer programming model is presented to describe the problem as follows:

Read more »

This was a course project during my undergraduate studies and was published in a Chinese journal. The course paper can be downloaded here. The following is a translation of the paper.

Abstract:

The queuing problem in hospital is becoming more and more serious. This paper investigates the queuing system of registration window of a hospital in Nanjing. The data of arrival time interval and service time of each window are collected, and its distributions are fitted by Matalab. The model of the system is set up and simulated with FlexSim. According to the simulation results, the optimization scheme is put forward. By increasing the number of windows opened to patients from 3 to 4, the average waiting time is reduced by 430 seconds, and the queuing time is reduced by 69%.
Key words: hospital;registration window;queueing system;simulation;FlexSim


Introduction

Read more »

Introduction

The Rapidly Exploring Random Tree (RRT) is widely used in robot motion planning. The algorithm was developed by Steven M. LaValle and James J. Kuffner Jr.

For more information about RRT, please refer to the following papers:

The pseudocode of basic RRT is as follows:

Read more »

Installation

MQTT (Message Queuing Telemetry Transport), is a lightweight publish/subscribe messaging protocol.

More information about MQTT: https://en.wikipedia.org/wiki/MQTT

Install paho-mqtt library in Python:

1
pip install paho-mqtt
Read more »

Bug Description

  • Operating system: Windows 11
  • IDE: PyCharm 2023.2
  • Language: Python

I used PyQt5 in Python to develop a GUI for a simple program. After the development was completed, I packaged the program to generate an exe file. But when I run this exe file and click the button on the GUI, a new window will pop up. If I click the button repeatedly, new windows keep being generated. This problem does not occur when debugging and running the program in PyCharm.


Read more »

String.startsWith()

Used to detect whether a string starts with a specified prefix.

1
2
3
4
5
6
7
8
9
public class test {
public static void main(String[] args) {
String str = "Test string: hello world!";
boolean flag1 = str.startsWith("Test");
System.out.println("str starts with 'Test': " + flag1);
boolean flag2 = str.startsWith("hello");
System.out.println("str starts with 'hello': " + flag2);
}
}

The output of the code is as follows:

1
2
str starts with 'Test': true
str starts with 'hello': false
Read more »

Formula

Given vectors AB\vec{AB} and CD\vec{CD}, A=(x1,y1)A=(x_1,y_1), B=(x2,y2)B=(x_2,y_2), C=(x3,y3)C=(x_3,y_3), D=(x4,y4)D=(x_4,y_4), then:

AB=(x2x1,y2y1)CD=(x4x3,y4y3)\vec{AB}=(x_2-x_1, y_2-y_1)\\ \vec{CD}=(x_4-x_3, y_4-y_3)

Let the angle between the vectors AB\vec{AB} and CD\vec{CD} be θ\theta:

cos(θ)=ABCDABCDcos(\theta)=\frac{\vec{AB} \cdot \vec{CD}}{||\vec{AB}|| \cdot ||\vec{CD}||}

Read more »
0%