Программа «Роботы и стенды»

Задание

Разработать на языке Java программу с графическим интерфейсом, имитирующую роботизированный склад.

Складской робот должен забирать стенд, везти его в указанное место на выгрузку, затем ставить на начальную позицию и возвращаться назад.

Необходимо, чтобы роботы двигались по кратчайшему пути и их маршруты не пересекались.

Подобная система используется, например, на складах компании Amazon.

Процесс

Интерфейс программы — координатная сетка, по которой будут двигаться роботы. Роботы отображаются красными квадратами, стенды, которые они перевозят, синими. Путь робота прорисовывается зеленым.

Пользователь вводит координаты стенда, свободный робот забирает его и везет в пункт разгрузки, а затем возвращается в начальное положение.

Путь робота прокладывается с помощью алгоритма Дейкстры.

Программа работает в многопоточном режиме. Каждый робот — это отдельный поток (Thread).