Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Прототипирование сетевой системы управления. Разработка Windows-приложения удаленного контроллера прототипа робота-официанта на базе PROMOBOT V

.4.pdf
Скачиваний:
0
Добавлен:
12.11.2023
Размер:
1.49 Mб
Скачать

Рис. 2.1. Сервисный робот PROMOBOT V.4: 1 – голова, оборудованная микрофоном, камерами распознавания и обнаружения лиц; 2 – RGB-матрица эмоций; 3 – система датчиков прикосновения и сегментная RGBсветодиодная подсветка; 4 – интерактивный LCD-дисплей для отображения с сенсорным управлением; 5 – слот для установки банковского терминала; 6 – 3D-сенсор; 7 – динамики воспроизведения звука; 8 – устройство выдачи карт; 9 – принтер печати чеков; 10 – принтер печати фотографий;

11«руки-манипуляторы», оборудованные датчиками прикосновения;

12– камера поиска зарядной станции; 13 – кнопка экстренного отключения питания; 14 – платформа передвижения; 15 – эксплуатационные порты;

16 – ультразвуковые датчики преодоления препятствий

Таблица 2.1

Параметры и характеристики робота

Параметр

Характеристика

п/п

 

 

 

 

 

1

Размеры робота

Минимальные: 1485 740 716 (В Ш Д), мм

Предельные: 1585 2060 716 (В Ш Д), мм

 

 

 

 

 

2

Масса робота

До 122 кг

 

 

 

11

 

 

Окончание табл. 2.1

 

 

 

Параметр

Характеристика

п/п

 

 

 

 

 

3

Время зарядки робота

Зарядная станция: до 10 ч

Кабель питания: до 8 ч

 

 

 

 

 

4

Время автономной работы

До 8 ч

 

 

 

5

Скорость передвижения

0,5 м/с

 

 

 

6

Привод

2 колеса с подруливающими роликами

 

 

 

7

Руки-манипуляторы

2 манипулятора, вращение в 6 степенях свободы

 

 

 

8

Вращение головы

Вращение в 2 степенях свободы

 

 

 

9

Движение торса

Вращение в 2 степенях свободы, изменение

высоты торса

 

 

 

 

 

 

 

Распознавание лиц: до 30 к/с при разрешении

 

 

1280 720

10

Камера

Поиск лиц: до 25 к/с при разрешении

1920 1080

 

 

 

 

Поиск зарядной станции: до 30 к/с

 

 

при разрешении 640 480

 

 

 

12

Микрофон

Всенаправленный

 

 

 

13

Динамики

25 Вт 2 шт.

 

 

 

14

Монитор

10.1” тачскрин-дисплей с разрешением

1280 800

 

 

 

 

 

 

 

Ультразвуковые датчики 16 шт.,

15

Датчики

3D-сенсор 1 шт.,

 

 

Датчики прикосновений 4 шт.

 

 

 

Стационарные маяки формируют карту автоматически. Ручной ввод координат или измерение расстояния не требуется. Карта строится только один раз, а затем система готова к работе через 7–10 с после подачи питания на модем.

Состав стартового набора (рис. 2.2):

4 стационарных маяка;

1 мобильный маяк («ёж»);

1 модем.

12

Рис. 2.2. Состав стартового набора системы навигации

3. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ВСТРОЕННЫХ СИСТЕМ

3.1. Организация вычислительного процесса [2]

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

Параллельные процессы/потоки – классический способ описания поведения сложных систем: независимое управление в каждой подсистеме или элементе оборудования, локализация данных, развитые средства взаимодействия позволяют описывать встроенные системы наиболее понятным для разработчиков способом. Одновременно существует множество процессов, большинство которых находится в неактивном состоянии, ожидая каких-либо событий или сообщений. Традиционным меха-

13

низмом реализации параллелизма такого типа является диспетчеризация через короткие промежутки времени по сигналам от таймера (системы разделения времени), однако при этом самой частой операцией становится свертка/развертка процессов, сильно увеличивающая накладные расходы системы. Чтобы применить параллельные процессы, но без высоких накладных расходов, используют особенность встроенной системы, состоящую в том, что обычно процессы состоят из очень коротких действий – переходов в терминах автоматной модели. Считается, что если уж процесс получил управление по какому-то входному сигналу, то он должен довести переход до конца (до следующего состояния) и только затем передаст управление диспетчеру задач, который определит, какой из процессов, готовых к исполнению, будет осуществлять переход. Взаимодействие (координация) процессов в API WIN32 базируется на таймерах, сообщениях, событиях, семафорах, мутексах.

3.2. Этапы разработки ПО

После анализа/моделирования технического задания выполняются этапы создание ПО.

1.Разработка или выбор алгоритма решения задачи

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

2.Проектирование общей структуры программы. Фор-

мируется модель решения с последующей детализацией и разбивкой на подпрограммы, определяется «архитектура» программы, способ хранения информации (набор переменных, массивов и т.п.).

14

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

4.Отладка и тестирование программы. Под отладкой понимается устранение ошибок в программе. Тестирование позволяет вести их поиск и, в конечном счете, убедиться в том, что полностью отлаженная программа дает правильный результат. Для этого разрабатывается система тестов специально подобранных контрольных примеров с такими наборами параметров, для которых решение задачи известно. Тестирование должно охватывать все возможные ветвления в программе, т.е. проверять все ее инструкции и включать такие исходные данные, для которых решение невозможно. Проверка особых, исключительных ситуаций, необходима для анализа корректности. В ответственных проектах большое внимание уделяется мероприятиям, обеспечивающим устойчивость программы к неумелому обращению пользователя. Использование специальных программотладчиков, которые позволяют выполнять программу по отдельным шагам, просматривая при этом значения переменных, значительно упрощает этот этап.

4.ПОРЯДОК ВЫПОЛНЕНИЯ ЛАБОРАТОРНОЙ РАБОТЫ № 8

4.1. Установка навигационной системы

Удаленный контроллер робота должен получать координаты мобильного маяка от сервера навигационной системы (приложение dashboard.exe). Для этого необходимо укрепить стационарные маяки навигационной системы на стенах лаборатории (высота ~ 2 м), как показано на рис. 4.1.

15

Рис. 4.1. Расположение стационарных маяков навигационной системы на стенах лаборатории

Затем следует подключить модем навигационной системы к персональному компьютеру через USB. На персональном компьютере запустить приложение dashboard.exe (приложение нахо-

дится в PromobotLab/ Marvelmind/ marvelmind_SW_2018_03_14 USB-флэш-накопителя). На рис. 4.2 приведен скриншот диалого-

вого окна приложения dashboard.exe. В поле «Starting beacon trilateration (0..255)» необходимо установить адрес стационарного маяка 1 (в примере 5):

16

Рис. 4.2. Скриншот диалогового окна приложения dashboard.exe

4.2.Карта лаборатории

4.2.1.Связывание системы координат карты навигационной системы с системой координат

карты лаборатории

Построение карты лаборатории выполняется с помощью приложения CreateMap.exe (приложение находится в PromobotLab/ Marvelmind/ USB-флэш-накопителя).

На рис. 4.3 приведен скриншот окон приложения CreateMap.exe: левое окно – карта помещения, правое – диалог-окно.

Для очистки окна со стартовой картой в диалоговом окне нажмите кнопки «CLR Floor Plan», «CLR Main Poligon» и «CLR LandMark».

Установите мобильный маяк в произвольной точке помещения (эта точка в CreateMap.exe называется XM_YM, см. рис. 4.1) и нажмите кнопку «Set PM», что приведет к запоминанию ее координат в терминах карты навигационной системы (см. рис. 4.2).

Установите мобильный маяк в точке, которая принимается за начало координат карты лаборатории (эта точка в CreateMap.exe

17

называется X0_Y0, рис. 4.1). Точка X0_Y0 должна быть на одной оси со стационарным маяком 1 и слева от него). Нажмите кнопку «Set P0; Bind; Write», появится окно с предложением места и именем файла, в котором необходимо запомнить координаты точек

XM_YM и X0_Y0 (рис. 4.4).

Рис. 4.3. Скриншот окон приложения CreateMap.exe

Рис. 4.4. Скриншот приложения CreateMap.exe с окном проводника файловой системы

18

В окне карты появится изображение оси координат навигационной системы относительно оси координат карты помещения (рис. 4.5).

Рис. 4.5. Положение осей координат навигационной системы

4.2.2.Построение карты лаборатории

Вдиалоговом окне установите флаг «Draw Track Enable». Возьмите в руки мобильной маяк и, не торопясь, обойдите лабораторию вблизи стен. На карте лаборатории будет зафиксирован ваш путь (рис. 4.6).

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

Проделайте то же самое для всех «препятствий» лаборатории (столы, стойки, шкафы, …). Получится карта, как на рис. 4.8 (лаборатория с двумя столами вдоль стен).

19

Рис. 4.6. Путь вдоль стен

Рис. 4.7. Карта с контуром стен

лаборатории

лаборатории

Рис. 4.8. Карта лаборатории с препятствиями

20

Соседние файлы в папке книги