Роботизация торговли

Автор: Телегин Александр Иванович, Тимофеев Дмитрий Николаевич, Пудовкина Светлана Геннадьевна, Телегин Вадим Александрович

Журнал: Вестник Южно-Уральского государственного университета. Серия: Компьютерные технологии, управление, радиоэлектроника @vestnik-susu-ctcr

Рубрика: Управление в социально-экономических системах

Статья в выпуске: 4 т.19, 2019 года.

Бесплатный доступ

Рассмотрены российские торговые автоматы (ТА) продуктов питания. Предложены схемы построения роботизированных технических комплексов для автоматической продажи товаров и принципы их действия. Обоснован выбор манипуляторов, осуществляющих доставку оплаченного товара со склада в зону выдачи покупателю. Приведены примеры X3D-моделей складов и полок, на которых размещается товар. Разработана SVG-модель ручной и автоматической анимации программных движений манипулятора в процессах доставки товара от склада к покупателю. Предложен алгоритм автоматической генерации программных последовательностей для электроприводов с системой команд, задающих абсолютные и относительные положения валов электродвигателей, максимальные и маршевые скорости, а также ускорения разгона и торможения. Приведены примеры сгенерированных программных последовательностей для линейных приводов фирмы FAULHABER. Предложены схемы компоновки приводов манипулятора, при которых его уравнения динамики являются линейными с постоянными коэффициентами, то есть позволяют элементарно решать задачи оптимального управления манипулятором в смысле быстродействия. Описана трехуровневая система управления ТА, в которой на нижнем уровне используются контроллеры или драйверы электроприводов, средний уровень реализован на платформе Arduino, на верхнем уровне используется планшетный персональный компьютер. Описаны возможные программно-аппаратные средства общения ТА с покупателем, учета продаж и остатков товара на складе, приема платежей от покупателей и взаимодействия ТА с информационными системами его владельца. Рассмотрены варианты интеграции Arduino с мобильными приложениями и информационными системами на платформе 1Сv8. Приведен и описан код SVG-моделей ТА, позволяющий размещать оборудование, подбирать геометрические размеры складов, полок, корзин, выбирать типы кинематических пар и длины звеньев манипуляторов, строить программные движения манипуляторов и решать другие задачи в процессе проектирования ТА.

Еще

Торговый автомат, svg-моделирование, css-анимация, электродвигатель, уравнения динамики, программная последовательность, мобильное приложение, мобильные платежи, http-сервис, технология nfc, 1сv8, планшетный пк

Короткий адрес: https://sciup.org/147232290

IDR: 147232290   |   DOI: 10.14529/ctcr190408

Текст научной статьи Роботизация торговли

Главная цель автоматизации торговли – максимально упростить жизнь производителей и покупателей товаров и услуг. Для достижения этой цели используются, например, торговые автоматы (ТА), то есть автоматические устройства, которые могут продавать товар покупателям без продавца. Производитель товара, использующий ТА для продажи своей продукции, не тратит до половины стоимости своего товара на магазины и торговые сети. Он может ставить ТА в любом месте, например, в столовой предприятия, школы, вуза, оплачивая только аренду площади, которую занимает ТА. Для покупателя товар почти наполовину дешевле, и товар может оказаться в шаговой доступности, если ТА установлен, например, во дворах, в подъездах, на лестничных площадках. Представьте мысленно такой бизнес-процесс. Производители мучной и молочной продукции, детского питания, а также круп, яиц, овощей и т. д. объединились и купили или взяли в аренду несколько ТА и поставили их во дворах. Жители (пенсионеры, кормящие мамы, малоимущие и т. д.) из своих личных кабинетов выбрали (на экранах мониторов) и оплатили (через соответствующие Web-сервисы) товар, а также указали дату и время его выемки из зоны выдачи ТА. Трудно представить, как еще можно упростить жизнь покупателя товаров.

Первые ТА появились в XIX веке в США. Производители ТА распространяли их по всему миру. Сегодня, например, в нашей стране на один ТА приходится около 2 тысяч человек. Для сравне- ния – в Японии это число не превышает 20 человек. То есть мы в сто раз отстаем в автоматизации торговли от развитых стран. Многие эксперты считают, что ТА заменят традиционную систему продаж, а на рынке останутся интернет-магазины и ТА (https:/companion.online/biznes-termini/vending/).

Известны различные типы ТА – от специализированных ТА до магазинов- автоматов, где можно купить любой вид продукции. В Японии и Китае существуют полноценные магазины самообслуживания, где установлено множество ТА. Там через ТА покупают в том числе и продукты питания.

В зависимости от продаваемого товара ТА относится к тому или иному типу. Самый популярный и востребованный тип – это ТА по продаже продуктов питания, например, консервированной еды, шоколада, конфет, соков, свежеприготовленных бутербродов и др. ТА могут подогревать продукты питания в микроволновой печи, приготовить обед и упаковать его и т. д.

ТА занимает мало места. Затраты на его содержание и обслуживание минимальны. Стоимость самого ТА зависит от вида товара, объема склада и надежности оборудования. Приведем информацию из каталога российских ТА пищевых продуктов, где после названия продаваемого товара в скобках приведена марка ТА и его цена в рублях: ТА по продаже попкорна (ВЕНДМАШ, 139 000); семечек (ВЕНДМАШ, 169 000); выпечки (Балтийская Вендинговая Группа, 196 000); сладкой ваты (Стиль-АВС, 290 000); растительного масла в розлив (ЧЗВА, 370 000) и т. д.

Под маркой VendShop известны ТА по продаже спортивного питания, суши и роллов, фруктов и овощей. Каждый из этих трех ТА стоит 174 237 рублей. 249 900 рублей стоит ТА по продаже разогретой пищи. Под маркой VendShop известны ТА по продаже кормов для животных, а также комбинированный ТА для продажи цветов, сувениров и кондитерских изделий. Универсальный ТА SM PERFORMANCE ELEMENT – это новый в России вид оборудования для автоматизированной торговли с выдачей товара из ячейки. SM COMBO – универсальная комбинированная модель ТА для продажи любых штучных товаров, в том числе крупногабаритных.

Под маркой «Блиндозер» ТА торгует едой. Это уникальный проект российских инженеров и первый в мире ТА, выпекающий блины в присутствии покупателя. SM FROST – первый ТА для продажи замороженной продукции с открытой витриной. Возможность видеть продукцию на витрине через стекло ТА повышает доверие потребителей к торговой точке. Известен интерактивный, полностью автономный роботизированный киоск по продаже мороженого (Alfa Robotics, 1 550 000).

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

1.    Схемы построения ТА

Рассмотрим ТА, в которых товар расфасован и упакован, например, в сетках, майках, корзинах или хранится в банках (металлических, стеклянных, пластиковых, бумажных). Мы предлагаем схемы возможных компоновок ТА, представленные на рис. 1–3. ТА собирается (монтируется) на месте установки из блока клиента (1), блока манипуляционной системы (МС) (2), а также из одного (3) или четного количества блоков склада (4), (5), (6) (рис. 2, 3). Количество складов зависит от места установки ТА, от объема и номенклатуры товара. Блок клиента имеет экран монитора (7), на котором выбирается и оплачивается товар, и окно (8) выдачи товара. В интеллектуальных версиях ТА блок клиента может иметь техническое и программное обеспечение (ПО) для речевого выбора товара. На цветном экране можно осуществлять рекламу товара.

Из рис. 1–3 видно, что можно различать шесть типов ТА: ТА с одним правым складом, ТА с одним левым складом, ТА с двусторонним складом, ТА с несколькими правыми складами, ТА с несколькими левыми складами, ТА с несколькими двухсторонними складами. Если ТА устанавливают в помещениях, например, в квартире, арендованной под магазин-автомат, то блоком клиента можно считать площадь квартиры, свободную от размещенных в ней складов и блоков МС.

Рис. 1. Схема ТА с правосторонним складом

Рис. 2. Схема ТА с двусторонним складом

Рис. 3. Схема ТА с двумя двусторонними складами

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

2.    Конструкции склада и полок для размещения товара

Склад предназначен для хранения товара и состоит из этажей. На каждом этаже расположены полки для размещения товара. Конструкция полок на одном этаже однотипна. Возможны следующие конструкции полок: наклонная полка для товара, скатывающегося или скользящего под действием силы тяжести в блок МС; горизонтальная полка для товара в сцепленных друг с другом корзинах, которые скользят или катятся (на 3 колесах) под действием силы, прикладываемой к первой корзине; конвеерная полка без ячеек или с ячейками. X3D-модели самой простой полки показаны на рис. 4. По ней товар скользит в блок МС, попадая в корзину, подвешенную на конце МС. Скользить могут, например, продукты в стеклянных банках. Скатываются, например, консервы в металлических круглых банках, пиво в алюминиевых банках, напитки в круглых бутылках.

а)                                                               б)

Рис. 4. X3D-модель полки с двумя (а) и восемью (б) банками

На этаже несколько полок, длина которых равна длине склада. Ширина полки и межэтажные расстояния зависят от размеров упаковки товара. Масса каждого товара с его упаковкой известна. Поэтому общая масса ТА, полностью загруженная товаром, всегда известна, и она не должна превышать определенной максимальной величины, например, 500 килограммов на квадратный метр, если ТА устанавливается в существующем помещении. Длина, высота и ширина параллелепипеда, охватывающего всю конструкцию склада или его составных частей, должна позволять каркасу склада или его частей проходить в стандартные дверные проемы на случай монтажа ТА в существующем здании.

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

Рис. 5. X3D-модель конструкции склада

Рис. 6. X3D-модель склада с двумя полками

Склад можно спроектировать типовым и модульным с целью хранения товара различных форм, габаритов и массы. В возможных конструкциях склада необходимо минимизировать сборочные операции. Это упростит роботизацию производства таких складов. В качестве примера на рис. 5 показана X3D-модель конструкции склада в виде короба из алюминиевых труб прямоугольного сечения. На рис. 6 показан фрагмент X3D-модели склада с двумя полками.

3.    Конструкции МС

Перед проектированием МС в первую очередь необходимо определиться с весом самого тяжелого товара и с геометрическими размерами самого большого товара на складе ТА. Это необходимо для определения грузоподъемности МС и геометрии корзины, в которую попадает товар из полки и затем переносится в зону выдачи покупателю.

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

Основная функция МС – перемещать товар из склада в зону выдачи покупателю. Из кинематического анализа следует, что для манипулирования в рабочей плоскости необходимо и достаточно иметь МС с двумя управляемыми степенями подвижности, т. е. необходим управляемый двухзвен-ник. На конце второго звена достаточно подвесить на пассивном шарнире корзину, в которую попадает товар с конца полки. Если центр масс корзины вместе с товаром находится ниже оси шарнира, то под действием силы тяжести корзина с товаром примет горизонтальное положение.

В зависимости от типа ТА возможны кинематические схемы (КС) МС с декартовой, полярной и ангулярной системами координат (СК). МС с КС на рис. 7 работает в ангулярной СК. Такие МС можно использовать для обслуживания одностороннего или двухстороннего склада. В случае одностороннего склада центр вращательной кинематической пары, связывающей звенья (2) и (3), рекомендуется размещать в геометрическом центре зоны обслуживания МС. При этом длины звеньев МС будут минимальными и, как следствие, уменьшатся нагрузки на приводы МС. Для уменьшения статических нагрузок на электродвигатели (ЭД) рекомендуется размещать эле- менты привода в уравновешивающей части звена. Например, в конструкции на рис. 7 блок (7) двух ЭД расположен в уравновешивающей части звена (3). На валу ЭД привода звена (3) установлена шестеренка (8), находящаяся в зубчатом зацеплении с колесом (10), жестко связанным со стойкой (2). При вращении ротора ЭД шестеренка (8) катится вокруг колеса (10), увлекая за собой звено (3). Звено (4) статически уравновешено за счет расположения двух корзин (5) и (6) на его концах. Это позволяет сократить время манипулирования товара, а также доставлять покупателю сразу два товара. ЭД звена (4) расположен в блоке (7). На его валу установлен шкив (9), передающий вращательный момент силы через трос (12) на шкив (11), жестко связанный с звеном (4). Длина стойки (2) равна половине высоты склада.

Рис. 7. Кинематическая схема МС с ангулярной СК

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

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

4.    Моделирование ТА

Самым сложным в моделировании ТА является определение движений звеньев МС в процессах приема товара и его доставки покупателю. Известны десятки программных систем (ПС) моделирования МС. ПС MATLAB используют для моделирования МС в научных исследованиях [1–3] и в учебном процессе [4, 5]. Продолжается поиск эффективного использования классических формализмов вывода и записи уравнений динамики МС, минимизирующих время моделирования [6]. Для симуляции МС привлекают системы аналитических вычислений [7, 8], указывая при этом, что сложной проблемой остается алгебраическое и тригонометрическое упрощение сгенерированных уравнений динамики [9]. Выполняется сравнительный анализ характеристик и производительности симуляторов МС [10, 11]. Особое место занимают 3D-технологии, используемые в симуляторах [12–14]. Следует заметить, что в описанных ТА МС работают в вертикальной плоскости, т. е. вместо 3D-графики достаточно использовать 2D-графику для их моделирования.

Для моделирования ТА разработано Web-приложение, представленное в листинге 1. Открыв файл с этим кодом в одном из браузеров, пользователь увидит SVG-модель ТА, приведенную на рис. 8а, в положении приема товара из левой нижней или средней полки склада. МС работает в декартовой СК и имеет две корзины (верхнюю и нижнюю). Это позволяет в два раза уменьшить высоту подъема второго звена МС. Три нижних ряда склада обслуживаются нижней корзиной. Средний ряд и три верхних ряда обслуживаются верхней корзиной. В коде размечена ручная и автоматическая CSS-анимация. Для перемещения первого звена вдоль горизонтальной оси необходимо кликать левой кнопкой мыши по полке в зоне выдачи товара покупателю. Для перемещения второго звена вдоль вертикальной оси необходимо кликать левой кнопкой мыши по складу. Запуск CSS-анимации осуществляется кликом по любому элементу модели МС.

Листинг 1. Web-приложение для моделирования МС.

xmlns:lk=""

xmlns="" >

@keyframes ход_1 { from {transform: translate(245px);} to {transform: translate(8500px);} }

#МС00.анимация #тело_1 { animation: ход_1 10s ease-in-out; }

@keyframes ход_2 { from {transform: translate(0, -350px);} to {transform: translate(0, -3112px);} }

#МС00.анимация #тело_2 { animation: ход_2 10s ease-in-out; }

заземление 40*4

показывает жесткую связь с землей

каретка 40*20 (faulhaber)

подвижная часть ПКП

qa = parseFloat(X.getAttribute('q')); qb = qa + q;

X.setAttribute('q', qb);

qa = parseFloat(X.getAttribute('q')); qb = qa + q;

X.setAttribute('q', qb);

X.setAttribute('transform',"translate(0,"+qb+")");} var Анимация = document.getElementById('МС00');

Рис. 8. Начальное (а) и конечное (б) положения МС в процессе перемещения товара из левого нижнего выхода склада в зону выдачи

В приведенном коде размечена CSS-анимация программного движения (ПД) МС из положения приема товара (из левой нижней полки в нижнюю корзину МС) в зону выдачи товара (см. рис. 8).

Подробное описание SVG-моделирования МС и ручной анимации можно найти в статьях [15, 16]. По запросу «SVG CSS анимация» в рунете можно найти много полезной информации по разметке CSS-анимации.

Для вычисления допустимых ускорений разгона и торможения звеньев МС, а также значений их максимальных и маршевых скоростей необходимы уравнения динамики МС. Для их автоматического выписывания можно использовать Maxima-код, опубликованный в статье [17]. Этот код автоматически выписывает формулы вычисления динамических реакций в кинематических парах. Они необходимы, например, для вычисления допустимых осевых и радиальных нагрузок на подшипниковые опоры ЭД.

ТА выдвигают к МС требования высокого быстродействия. В этой связи следует заметить, что в рассмотренных МС при статическом уравновешивании вращающихся звеньев их уравнения динамики становятся линейными с постоянными коэффициентами [18], что позволяет элементарно решать задачи оптимального управления МС в смысле быстродействия.

5.    Синтез управляющих программ

Автоматическая генерация программных последовательностей (ПП) для управления электроприводами фирмы FAULHABER или для управления ЭД с использованием функций библиотеки AccelStepper для Arduino осуществляется на основе ПД, построенных в процессе SVG-моделирования движений МС. Для реализации ПД приводами FAULHABER используются команды относительного (LR) или абсолютного (LA) перемещения, максимальной (SP) и маршевой (V) скорости движения, а также команды задания ускорений разгона (AC) и торможения (DEC). Перед перечисленными командами ставится номер привода (в нашем случае 1 или 2), и после команды записывается числовое значение соответствующего параметра. Аналогично в библиотеке AccelStepper для Arduino функции moveTo(), move() задают абсолютное и относительное положение вала ЭД, функции setSpeed(), setMaxSpeed() устанавливают маршевую и максимальную скорость (шаг/с), а функция setAcceleration() устанавливает ускорение разгона и торможения (шаг/с2).

Для автоматической генерации ПП в соответствии с приведенной системой команд в ПС SYSTEL в качестве входной информации используется таблица ПД. На ее основе XSLT-код генерирует ПП. Для вычисления перемещений берутся значения из столбцов с координатами положений тел МС. При этом для приводов FAULHABER осуществляется согласование размерностей параметров ПД и параметров команд управления. Например, учитывается, что в одном полном обороте 3000 инкрементов, т. е. в одном радиане 477 инкрементов. Тогда величина перемещения, посылаемая приводу командой LR, вычисляется по формуле

LR = 477q, где q – угол поворота, рад.

Скорость вычисляется по формуле

V = q / T /0,1048, где T – время движения, с.

Для синтеза ПД МС с замкнутыми ветвями необходимы дополнительные вычисления. В качестве примера рассмотрим МС, имеющую четыре подвижных тела, два линейных привода FAULHABER и одну замкнутую ветвь. КС этой МС и ее фотография представлены на рис. 9. Если к точке Р подвесить корзину, то эту МС можно использовать в ТА аптечной продукции. Здесь первое и третье тела движутся поступательно вдоль параллельных вертикальных направляющих под действием движущих сил линейных приводов. Второе и четвертое тела вращаются вокруг горизонтальных осей. Базой второго тела является первое тело. Базой четвертого – третье. Концы второго и четвертого тел соединены шарниром.

а)                                                               б)

Рис. 9. Кинематическая схема (а) и фотография МС с одним циклом (б)

Движения звеньев МС не должны нарушать шарнирную связь второго и четвертого тел. Эта связь описывается двумя уравнениями. Поэтому из четырех величин q1, q2, q3, q4 только две независимые. В качестве независимых рекомендуется выбрать параметры, через которые проще выразить декартовы координаты точки подвеса корзины. В нашем случае декартовы координаты xp, yp точки P просто выражаются через q1, q2. Поэтому выберем в качестве независимых q1 и q2. Тогда xp = L cos q2, yp = q1 + L sin q2.

Выразим q3, q4 через q1, q2. Очевидно, что xp = h + L cos q4, yp = q3 + L sin q4.

Следовательно,

L cos q 2 = h + L cos q 4 , L sin q 2 + q 1 = L sin q 4 + q 3 .

Из первого уравнения выразим q4 через q2. Получим q4 = arccos[(L cosq2 - h) / L] = arccos(cosq2 - h / L).

Из второго уравнения получим q3 = q1 + L sin q2 – L sin q4.

Если, например, корзина должна двигаться со скоростью V вдоль горизонтальной прямой, расположенной на высоте d = 0.2 от начала СК, то y p = 0.2, x p = Vt , т. е.

L cos q 2 = Vt , q 1 + L sin q 2 = 0.2, q 2 = arccos( Vt / L ), q 1 = 0.2 – L sin q 2 .

Формулы вычисления q 1 ( t ), q 2 ( t ) необходимо запрограммировать и вычисленные значения записать в таблицу ПД. По этой таблице создается анимация МС и генерируется ПП для ее реализации. Для рассматриваемого движения корзины получаются следующие значения первых пяти строк таблицы ПД:

Т = (0, 0.25, 0.5, 0.75, 1);

q 1 = (0.0, 0.0, 0.002, 0.004, 0.006);

q 2 = (90, 86.417, 82.819, 79.193, 75.523);

q 3 = (0.059, 0.048, 0.038, 0.029, 0.022);

q 4 = (135.211, 130.333, 125.784, 121.483, 117.372).

Фрагменты сгенерированной анимации приведены на рис. 10. В листинге 2 приведена сгенерированная ПП для линейных приводов фирмы FAULHABER.

Рис. 10. Фрагменты анимации движения точки Р вдоль горизонтальной прямой

Листинг 2. ПП управления линейными приводами МС на рис. 9.

1lа

12500

m

2lа

18500

wait(250)

m

1la

13250

wait(250)

2la

15250

1lа

12750

1sp

8

2lа

17250

2sp

36

1sp

0

m

2sp

44

wait(250)

m

1la

13750

wait(250)

2la

14500

1la

13000

1sp

8

2la

16125

2sp

28

1sp

8

m

2sp

40

wait(250)

6.    Система управления ТА

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

Остановимся подробнее на возможных способах реализации верхнего уровня управления, на котором решаются следующие задачи: организация взаимодействия ТА с покупателем, учет продаж и остатков товара на складе, прием платежей от покупателей, обмен данными с информационной системой владельца ТА. Реализовать эти задачи можно по-разному. От выбранного варианта зависит себестоимость ТА, его текущие возможности и потенциал дальнейшего развития. Можно решить перечисленные задачи, используя только средства Arduino. Но возможности микроконтроллеров Arduino ограничены для реализации интерфейса с покупателем. Программирование GUI низкоуровневое, мало библиотек, нет framework. На плате Arduino нельзя развернуть СУБД и нет средств для работы с базами данных (БД). В качестве альтернативы можно использовать SD-карты и писать данные о продажах, поступлении, об остатках товаров в CSV-файлы. Но возможности по программированию учета товаров ограничены, программирование низкоуровневое, трудоемкое, скорость работы алгоритмов низкая.

Включение в состав ТА планшетного персонального компьютера (ППК) и решение его средствами поставленных задач дает больше возможностей и перспектив дальнейшего развитие ТА. ППК имеет более серьезные, чем плата Arduino, вычислительные возможности. На ППК можно реализовать мобильное приложение (МП) на платформе 1Сv8 с современным, декларативным и командным GUI, с полноценной объектно-ориентированной БД. В платформе есть средства для реализации HTTP и WEB-сервисов, средства для интеграции с Arduino, платежным терминалом и платежными системами. Стоимость лицензии платформы 1Сv8 на один ППК невысока (1600 руб.).

Для взаимодействия ТА с учетными программами владельца ТА можно на стороне МП реализовать HTTP-сервисы. Они менее ресурсоемки и трудоемки в реализации, чем WEB-сервисы. Данные, сериализованные в формат JSON, в разы меньше чем в формате XML.

На стороне учетной программы 1С:Бухгалтерия владельца ТА можно реализовать модуль для внешней обработки, который будет обращаться к HTTP-сервису по каналам интернет, загружать данные из ТА в объекты БД 1Сv8, выводить данные на экран или принтер. В первую очередь необходима внешняя обработка для заполнения документа «Отчет о розничных продажах» продажами за один день. Внешняя обработка будет формировать для МП HTTP-запросы GET и получать ответы в виде строк формата JSON с информацией о совершенных продажах. В МП можно реализовать оправку SMS и email-сообщений для рассылки отчетов и различных оповещений.

Для интеграции МП на платформе 1Сv8 с платами Arduino можно использовать возможности USB-портов или Bluetooth. Но лучше использовать средства протокола HTTP и технологии Ethernet. Для реализации HTTP-сервиса на плате Arduino можно использовать ethernet shield (плата расширения для работы в локальной сети). В листинге 3 приведен программный код, демонстрирующий реализацию HTTP-сервиса на стороне Arduino, который ждет управляющей команды от 1Сv8 после оплаты товара.

Листинг 3. Реализация HTTP-сервиса на стороне Arduino.

#include "etherShield.h" // подключаем библиотеки

#include "ETHER_28J60.h"

static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x25}; // MAC-адрес static uint8_t ip[4] = {192, 168, 1, 17}; // IP-адрес static uint16_t port = 80; // порт, на котором Arduino ожидает наше подключение

// код инициализации ПП

} void loop() { char*params; // переменная для хранения полученного запроса if (params = ethernet.serviceRequest()) // если что-то пришло, то считываем

  • // и выполняем код

{ if(params[0] == '1'){ // Если пришла команда 1, то выполняем

} }

В листинге 4 приведен программный код на встроенном языке платформы 1Cv8, демонстрирующий способ передачи управляющих команд и чтения данных из Arduino, используя средства протокола HTTP. Команда для Arduino и возвращаемое значение в 1Cv8 представляет собой произвольную строку, структура которой определяется разработчиком. Для передачи команды в Arduino формируется HTTP-запрос GET. Он возвращает ответ Arduino в виде строки.

Листинг 4 . Передача управляющих команд в Arduino и получение результата выполнения на стороне платформы 1Cv8.

IP = "192.168.1.17:80"; // Наш IP адрес и порт

Команда = "1" // команда 1 – выключить, 2 – включить

// Команда = "... текст команды ..."

Соединение = Новый HTTPСоединение(IP,,,,,3); // цифра 3 – таймаут

Заголовки = Новый Соответствие();

Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded;

charset=Windows-1251");

Запрос = Новый HTTPЗапрос("/" + Команда , Заголовки);

ОтветСервера = Соединение.Получить(Запрос); // ответ от Arduino

Ответ = ОтветСервера.ПолучитьТелоКакСтроку(); // переводим ответ

// в строку

Для организации приема платежей от покупателей можно использовать ППК с NFC-чипом или использовать POS-терминал. Технология NFC – это техническое средство осуществления платежей. ППК с NFC-чипом может стать платежным терминалом для бесконтактных банковских карт (NFC-карты). На ППК можно установить клиента платежного сервиса Google Pay или Apple Pay.

Заключение

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

Список литературы Роботизация торговли

  • Modeling and simulation of a tracked mobile inspection robot in MATLAB and V-REP software / M. Ciszewski, Ł. Mitka, T. Buratowski, M. Giergiel // Journal of Automation, Mobile Robotics & Intelligent Systems. - 2017. - Vol. 11, no. 2. - P. 5-11. DOI: 10.14313/JAMRIS_2-2017/11
  • Gonzalez, R. A Matlab-based interactive simulator for mobile robotics / R. Gonzalez, C. Mahulea, M. Kloetzer // 2015 IEEE International Conference on Automation Science and Engineering (CASE). - 2015. - P. 310-315. DOI: 10.1109/CoASE.2015.7294097
  • Azak, S. E. Performance evaluation of the grid-based FastSLAM in V-REP using MATLAB / S. Azak, E. Erdogan // 2018 14th International Conference on Advanced Trends in Radioelecrtronics, Telecommunications and Computer Engineering (TCSET). - 2018. - P. 276-281. DOI: 10.1109/TCSET.2018.8336202
  • Integration Of Robotics Simulation Programs Into Educational Process In Kuban State University / I. Ryadchikov, S. Sechenev, A. Svidlov et al. // The European Proceedings of Social & Behavioural Sciences. - 2017. - P. 304-309. DOI: 10.15405/epsbs.2017.12.31
  • Casini, M. MARS: An Educational Environment for Multiagent Robot Simulations / M. Casini, A. Garulli // Modelling and Simulation in Engineering. - 2016. - P. 1-13. DOI: 10.1155/2016/5914706
  • Pennestri, E. Coordinate reduction strategies in multibody dynamics: a review / E. Pennestri, P.P. Valentini. - University of Rome Tor Vergata, Roma, 2007. - 17 p.
  • Gurel, C.S. Modeling and Robot Simulation of a 5-DOF Robot Manipulator in MapleSim and SimMechanics Environments / C.S. Gurel. - University of Maryland, 2018. - 18 p.
  • Docquier, N. ROBOTRAN: A powerful symbolic gnerator of multibody models / N. Docquier, A. Poncelet, P. Fisette // Mechanical Sciences. - 2013. - P. 199-219.
  • DOI: 10.5194/ms-4-199-2013
  • Verlinden, O. Symbolic generation of the kinematics of multibody systems in EasyDyn: From MuPAD to Xcas/Giac / O. Verlinden, L. Ben Fekih, G. Kouroussis // Theoretical and Applied Mechanics Letters. - 2013. - No. 3.
  • DOI: 10.1063/2.13013012
  • Feature and Performance Comparison of the V-REP, Gazebo and ARGoS Robot Simulators / L. Pitonakova, M. Giuliani, A. Pipe, A. Winfield // Proceedings of the 19th Towards Autonomous Robotic Systems Conference (TAROS 2018). - 2018.
  • DOI: 10.1007/978-3-319-96728-8_30
  • Development of a Khepera IV Library for the V-REP Simulator / E. Peralta, E. Fabregas, G. Farias et al. // IFAC-PapersOnLine - 11th IFAC Symposium on Advances in Control Education. - 2016. - P. 81-86.
  • DOI: 10.1016/j.ifacol.2016.07.157
  • On 3D simulators for multi-robot systems in ROS: MORSE or Gazebo? / F.M. Noori, D. Portugal, R. Rocha, M. Couceiro //2017 IEEE International Symposium on Safety, Security and Rescue Robotics (SSRR). - 2017. - P. 19-24.
  • DOI: 10.1109/SSRR.2017.8088134
  • Еременко, О.С. Анализ возможностей библиотеки X3DOM для отображения трехмерного контента в сети интернет / О.С. Еременко, Е.С. Чердынцев // XI Студенческая международная заочная научно-практическая конференция "Молодежный научный форум: технические и математические науки". - 2014. - № 4 (11). - С. 20-25.
  • Власенко, А.Н. Использование WebGL в образовательном процессе при подготовке специалистов в области сварочного производства / А.Н. Власенко, В.В. Степанов // Дистанционное и виртуальное обучение. - 2016. - № 12. - С. 115-121.
  • SVG-разметка двухмерной графики: Опыт использования SVG в создании двухмерной графики / А.И. Телегин, Д.Н. Тимофеев, Д.И. Читалов, С.Г. Пудовкина. - Миасс: ЮУрГУ ЭТФ, 2015. - 73 с.
  • Телегин, В.А. Моделирование и анимация ходьбы плоских моделей шагающих аппаратов / В.А. Телегин, М.И. Кайгородцев // Вестник ЮУрГУ. Серия "Машиностроение". - 2008. - Вып. 8, № 10. - С. 15-24.
  • Voinov, I.V. Maxima-code for derivation of dynamic reactions and generalized driving forces in the joints of robotic manipulators / I.V. Voinov, A.I. Telegin, D.I. Timofeev // International Conference on Industrial Engineering. - 2018.
  • Телегин, А.И. Динамическая развязка систем тел с замкнутыми ветвями / А.И. Телегин // Изв. РАН. Механика твердого тела. - 1999. - № 2. - C. 37-45.
Еще
Статья научная