Системное программирование. Разработка с нуля. Я хотела бы заказать у Вас программу. Хотела бы узнать сможете ли Вы сделать её, какие сроки, что будет представлять работа и что ещё нужно прислать или сделать. Техническое задание: Разработка ПО системы управления транспортными роботами необходимо разработать программу, которая: - имитирует работу кранов и погрузчиков - погрузку/разгрузку контейнеров на/из транспортных роботов - имитирует перемещение роботов в “реальном времени“ - позволяет управлять выделенным роботом (давать команды: вернуться на базу, отправиться в зону погрузки и т.п.) интерфейс отображает: - схему района порта со всеми зонами и другими строениями (например складами и т.п.) - контуры судов у причала - беспилотные краны в причальной зоне - беспилотные погрузчики в зоне хранения - слоты с информацией о состоянии (занят/свободен) - маршруты движения транспортных роботов - движение роботов по маршрутам - состояние каждого робота - в отдельном окне - подробную информацию о выделенном роботе (состояние, скорость движения, уровень заряда и т.п.) в этом же окошке - команды по управлению этим роботом В процессе демонстрации ПО должно позволять наблюдать в “реальном“ и ускоренном времени разгрузку/погрузку 2-3 судов и давать команды роботам двинуться с базы на погрузку или вернуться на базу. Робот, у которого уровень заряда меньше заданного, должен сигнализировать об этом, запрашивать свободный слот на базе и автоматически следовать туда после разгрузки очередного контейнера. Другими словами мне нужно написать программу, которая будет имитировать работу в порту. Приходит судно, к нему подъезжает беспилотный кран, начинается разгрузка. От крана поступает сигнал на беспилотного робота (машину), который подъезжает, забирает контейнер/груз и везет на склад. Приезжая на склад идет автоматической подсчет, грузу выдаётся номер и место на складе, куда его везет робот. Общение роботов производиться с помощью метода группового управления. Метод коллективного управления - система управления распределена и включает в себя системы управления всех роботов, объединенных информационными каналами. Каждый робот группы имеет информацию о коллективной задаче, связан со всеми остальными роботами группы группа по информационным каналам связи и получает информацию об окружающей среде в ее окрестностях с помощью единой сенсорной подсистемы. Определение место положения того или иного объекта (краны, роботы) производится с помощью спутниковой системы навигации ГЛАНАСС. Оператор может посмотреть место нахождение каждого беспилотного объекта на территории (у оператора должна быть возможность следить за действиями беспилотников, смотреть их заряд, получать информацию о произведенной работе, смотреть базу данных склада, получать информацию о ЧС). Также в программе должно быть учитаны моменты: 1. Если робот разряжается, он должен сообщить об этом и поехать на зарядку. Это сделано чтобы его место в очереди на погрузо-разгрузочные работы занял заряженный робот. 2. Должны быть учтены моменты безопасности. Если во время перевозки или погрузо-разгрузочных работ контейнер/груз повредился и там находились опасные грузы, робот должен сообщить об этом для безопасности работников порта 3. Также нужна система которая будет помогать найти препятствие (яма, лежачий полицейский, человек), чтобы робот мог объехать или замедлиться/остановится 4. Обязательно должны быть прописаны маршруты следования: от зоны стоянки роботов до причальной зоны на которой будут проводится погрузо-разгрузочные работы; от причальной зоны до зоны хранения; от зоны хранения до зоны ожидания; от зоны ожидания до базы (зона где идет подзарядка); от зоны хранения до базы; от зоны ожидания до причальной зоны; от зоны хранения до причальной зоны и тд. (нужно учесть все возможные маршруты). Все маршруты следования должны быть проложены так, чтобы роботы не могли столкнуться между собой и не мешали друг другу. 5. Ещё нужно учесть скорость на поворотах и опасных зонах (замедляться при опасности, чтобы робот не перевернулся или не опрокинул груз/контейнер) Вся программа должна быть рассчитана так, чтобы все действия могли быть произведены без участия человека, но при возникновении ЧС, сигнал должен поступать оператору и уже человек будет решать, что делать и как решить ситуацию.