УДК 681.51 +681.175.9 +531.761
УСТРОЙСТВО ТОЧНОГО И БЕССПОРНОГО ОПРЕДЕЛЕНИЯ ПОБЕДИТЕЛЯ В
РОБОТОТЕХНИЧЕСКИХ СОРЕВНОВАНИЯХ НА ВРЕМЯ A DEVICE FOR PRECISE DEFINITION OF A WINNER IN ROBOTIC ENGINEERING
COMPETITIONS AGAINST TIME
Ковтун А. А., канд. техн. наук, доцент Прохоров А. К., учащийся Корнеев Г. Е., учащийся Новокузнецкий институт (филиал) ФГБОУ ВО «Кемеровский государственный университет» Академия робототехники «Талос» Россия, Кемеровская область, г. Новокузнецк
Аннотация. В статье описывается конструкция устройства с использованием лазера и представлен код (программа) для точного фиксирования времени робототехнических систем на базе платы Arduino.
Ключевые слова: робот, лазер, программа.
Abstract. The article describes a design of the device using a laser and presents a code (program) for accurately recording the time of robotic systems based on the Arduino board.
Key words: robot, laser, program.
Современное состояние уровня развития цивилизации, оставляя за рамками предварительных оценок вопросы сингулярности, сравнимо с эпохой конца 19 века, когда на смену конной тяге пришел автомобиль. При этом сейчас человечество вступило в эпоху более ёмкую, по уровню грядущих изменений, по сравнению с появлением автомобиля - высокоуровневые системы автоматизации (роботы) не только заменяют, точнее вытесняют человека из сферы производства, но и, возможно, могут составить ему конкуренцию в существовании [1].
Пока не наступили такие времена, задача обучения подрастающего поколения состоит, в том числе, и в подготовке к глобальным переменам, к умению формулировать задачи и находить их решения. Наиболее увлекательно и доступно эта тема раскрывается в реализации занятий робототехникой, организацией и проведением различных робототехнических соревнований, в которых фактор времени выполнения задания является важным, зачастую и определяющим победителя. Предлагаемый проект позволяет однозначно определить время выполнения задания каждым объектом с точностью до миллисекунд.
Данное устройство автоматизирует и исключает возможность «ошибок» определения точного времени выполнения. Принцип регистрации времени основан на регистрации моментов пересечения стартующим и финиширующим роботом лазерного луча. Действующий прототип устройства включает в себя лазерный источник (~1 мВт), фотоприемник, блок отражения, плату управления (ArduinoNano), дисплей LCD-1602, коммутирующие кнопки, светодиоды, резисторы, проводники (см. рис. 1).
Рисунок 1 - Общий вид устройства
С техникой спорить бессмысленно - результат автоматически заносится в протокол, на индикаторе высвечивается результат (см. рис. 2).
ж я
**********
Рисунок 2 - Индикация результата заезда
Инструкция к системе «Старт-финиш»:
1. Включить питание устройства (миниUSB), индикация - включение LCD-1602.
2. На индикаторе высвечивается предложение провести тарировку -«GotovkTARIROVKEШ». Для проведения тарировки коротко нажать красную кнопку (менее одной секунды) - красный светодиод моргнет и на дисплее высветятся числа. Лазер будет включаться и выключаться, этот процесс сопровождается звуковым сигналом, все происходит с частотой 0.5 Гц. Скважность для лазера - 90%, для звукового сигнала - 50%.
3. В верхней строке слева на право отображаются минимальное (при выключенном лазере) и максимальное (при включенном лазере) показания датчика. Третье число в этой строке - средняя величина показаний, четвертое число - разница показаний.
4. Необходимо установить блок отражателя так, чтобы возвращаемый луч лазера был направлен на белую защитную диафрагму в основном блоке (поролон) -близко к центру диафрагмы. При выборе положения отражателя целесообразно руководствоваться наибольшим значением разницы показаний - четвертым (крайним правым) числом первой строки.
5. После выбора наиболее удобной позиции отражателя нажать красную кнопку второй раз и УДЕРЖИВАТЬ её до включения зеленого светодиода (больше 1, но меньше 2-х секунд!). После отпускания красной кнопки оба светодиода погаснут.
6. Зеленый светодиод начнет моргать с частотой 0.33 Гц - что свидетельствует о готовности системы к старту. (В случае начала соревнований - для 1-го заезда - на табло дисплея высвечивается приглашение к старту.)
7. Ожидается пересечение луча лазера некоторым объектом (роботом) - с этого момента начинается отсчет времени.
Проект «Старт-финиш».
Г
Start-trmsh LCD1602
:
// ретсхрыкя врежни ззездов роботов-** // .-.с выводом данных на экран дисплея LCD1É02
if. if.
♦define dat A7 »define laser S ♦de íme zux 12 7 *define ledred 19 : ídefine ledyeLlOH 16 S #deflne ledgreen 17
10 toefine bucred 16
11 Idefine butyeLlow 15
12 idefine butgreen 14
13 fineIule < Liquide r/stal.ti>
14 Liquider/ s tal lcd(10, tf
15 tinclude <SoftwareSerial.h>
16 SortvareSetiftl Bluetooth (3, 2); Í7 unaigr-ed long te, tres;
1ê ш datRead;
19 boolean datFlag ■ falae?
20 lut n = 1J
21 mt dmin, dmaxr amidl;
22 lut tyellow * 2000, tgreen - 1000;
23 unaigned long ttt?
//пик для показаний сигнала фоторезистopa //пни управления лазером //пик зуммера
//светодиод красный - тем А5 (он же "15")... //желтый - A4 (18) //догадайтесь... //красная кнопка.... - работает только она одна [на запасание}
..как-то так "наваял14 Валим - желтая и зеленая ... .,как-будто в парапяель (поправлять некогда-еоталооь <40 часов!)
//библиотека для LCDI6C2 5, 4}j //додкпючение к гшнам: что к чему - см. "могучий* инет. //•библиотека для bluetooth
//ВТ ТХ to Arduino pin 3; ВТ EX to Ardüino pin 2 — Mí //переменные для отсчетов времени ,. .. //считанное значение датчика
//■флаг датчика (нужен для второго пересечения луча...) //номер заезда
//показания датчика (фстореэ,)* опред.при тарировке //врем*Интервалы при выборе режимов.-, //текущее время
//ФЛ4ГМ,
24 boolean yellovFieg = ruse, gE-eer.Flag = ralse, eedFles = false, «llFlag = raUe.-
25
26 void setupí) (
27 Serial.begin (115200); 26 siuetooLîs.tegint&ÇQO} ;
29 pinMode(dat, IÍÍPCTT) ; pinMode ( laser, OUîPUïj; pinMode (iumr (ШШ); //установки пинов...
30 pinMode Çledredij 0ÏÏTPUT); pinMode {LedyelloWj ODTPIJT) ; pinHode (ledgreen, ODTPOT);
31 pinMode [butred, 3WPOI_RILLUP) ; pinMode {butyellow, IFP0T_PULLUP) ; pinMode {butgrecn, IRPtJI POLLOP) j
32 2); //книшиякэацж! LCD-display
33 icd^prlat ("Gotw fcn|j Icd.., seteuraor1)г lcd,.p:rirtt ("TJIRirOVjíE! ! !") ;
34 Bluetooth.prinnln(H'PcehaliJ ArdninKM. !î! !");
35 )
37 VOlü 100P(] (
3 Ë wtiile ( ! digiralRead (butred) ) (
39 if(!allFlagM
40 digitalWrite(ledied, HIGH); tet = iriilliír(l;
42 allFLag = irue;
■43 redFlag - crue;
•49 50
//краен.кналка Н£нажата: чтение — 1; HJUüLTA =0. //в первый Mît г удержания кнопки .... : //включили красный светодиод //ипомикли время //подняли обеий флаг
//подняли флаг "красного" реаима - тарировка2
'желт"и"з.ел" режимам, 'зеленого'
} //ниже - проверяем продолжительность удержания на соответствие if{(millia() - tttî > tgreen) { //попадание в установки режима digltarnTeitefieiígreen,. fllGH); greenFlag = true; //вкл.. эелевьй... digicaiWrice(ledred, LW|; redflag = falae? //и выхл. здесь еще и красный,,. ,.
} //верх.строка - зыкл."красный", т.к. тарировка должна быть завершена ранее.... íf ( (minia() - ctt) > tyellow) { //попадание в установки режима "желтого" digitalWíítt(ledyeliow, HIGH); y*llowFlag = crue? //вкл. «лш& и ...
Рисунок 3 - Фрагмент программы по работе в этой системе «Старт-финиш»
8. При пересечении луча лазера - старте робота - зеленый светодиод включается на постоянный режим свечения, на табло дисплея высвечивается очередной номер заезда (первая строка) и текущее время - в секундах - с начала заезда (вторая строка). Первые две секунды - в течении которых корпус робота преодолевает участок трассы с лучом лазера - сопровождаются монотонным звуковым
сигналом. Далее, с частотой 1 Гц меняются показания времени, сопровождающееся кратким звуковым сигналом.
9. При (повторном) пересечении луча лазера - финиша робота - красный светодиод моргнет один раз, зеленый переключится в режим ожидания (моргание), на табло дисплея появятся результаты: номер заезда (1-я строка) и время заезда (2-я строка) в миллисекундах. Это сопровождается некоторым звуковым эффектом.
10. Система готова к очередному заезду - свидетельством этого - моргание зеленого светодиода. Не должно смущать показания на дисплее - это результаты предыдущего заезда. При пересечении луча лазера показания обновятся - в соответствии с пунктом 8.
Библиографический список:
1. Каку, М. Будущее разума [Текст] / М. Каку. - М.: Альпина нон-фикшн, 2015 -
502 с.
УДК 004.9
РАЗРАБОТКА И ИССЛЕДОВАНИЕ ПРОГРАММЫ ИДЕНТИФИКАЦИИ ЛИЧНОСТИ DEVELOPMENT AND RESEARCH OF THE IDENTITY PROGRAM
Бочкарёв Н. С., студент Беспалов А. О., студент Рахманов Д. Е.,студент
ФГБОУ ВО «Горно-Алтайский государственный университет» Россия, Республика Алтай, г.Горно-Алтайск [email protected]
Аннотация. В данной статье автор описывает алгоритм работы программы для идентификации личности на основе определения индивидуальных черт лица человека, написанной на языке программирования python с использованием обученной нейронной сети ResNet.
Ключевые слова: дискриптор, язык программирования python, изображение, библиотека dlib, пропускная система, база данных, нейронная сеть.
Abstract. The authors describean algorithm of a program for identifying a person based on the definition of individual features of a person written in the programming language python using the trained neural network ResNet.
Key words: descriptor, python programming language, image, dlib library, access system, database, neural network.
Интерес к процессам узнавания и распознавания лиц, всегда был значительным, особенно в связи со все возрастающими практическими потребностями: системы охраны, верификация кредитных карточек, криминалистическая экспертиза, телеконференции и т.д. Несмотря на ясность того житейского факта, что человек хорошо идентифицирует лица людей, совсем не очевидно, как научить этому компьютер, в том числе как декодировать и хранить цифровые изображения лиц. Задачу оптимального поиска и идентификации слабоконтрастного объекта, каким по праву считается человеческое лицо, на основе систем кибернетического зрения можно рассматривать как в свете классической проблемы восприятия, так и в свете новых подходов.
Программа «Аргус» предназначена для реализации модуля автоматической идентификации личности, разработанного для автоматизированной пропускной системы «Периметр безопасности». Процесс автоматической идентификации основан на выделении базовых дискрипторов изображения лица и сравнении их с информацией о студентах, хранящейся в базе данных. Программа написана на языке программирования python с использованием библиотек машинного зрения opencv и dlib.