УДК 004.416.6
РОБОТОТЕХНИКА ДЛЯ НЕЗРЯЧИХ ЛЮДЕЙ
Ацдатпа
Макала арнайы итапханаларда заманауи техни-кальщ оцалту кздэалдарын дамыту мен енпзуге ар-налган. Керу кабшет1 жогалган адамдарга Ka3ipri за-мангы технологиялардьщ scepi карастырылады.
Аннотация
Статья посвящена развитию и внедрению современных технических средств реабилитации в специальных библиотеках. Рассматривается влияние современных технологий на людей с потерей зрения.
Annotation
The article is about development and introduction of modern technical means of rehabilitation in special libraries. The impact of modern technologies on people with loss of sight is considered.
Предмет робототехники - это создание и применение роботов и других средств робототехники различного назначения. Возникнув на основе кибернетики и механики, робототехника в свою очередь породила новые направления развития и самих этих наук. Для кибернетики это связано прежде всего с интеллектуальным управлением, которое требуется для роботов, а для механики - с многозвенными механизмами типа манипуляторов.
Робот можно определить как универсальный автомат для осуществления механических действий, подобных тем, которые производит человек, выполняющий физическую работу. При создании первых роботов и вплоть до сегодняшнего дня образцом для них служат физические возможности человека. Именно стремление заменить человека на тяжелых работах и породило сначала идею робота, затем первые попытки ее реализации (в средние века) и, наконец, обусловило возникновение и развитие современной робототехники и роботостроения.
Она включает исполнительные системы - мани-пуляционную (один или несколько манипуляторов) и передвижения, если робот подвижный, сенсорную
Нажиканов Т.О.,
магистрант, Костанайский государственных^ университет имени А.Байтурсынова
Салыкова О.С.,
к.п.н., доцент, Костанайский государственных^ университет имени А.Байтурсынова, г. Костанай
Нег'иг'1 свздер: багдарлама-лау, роботты техника, эз^рлеу, робот, м) MKUiOiKmepi шектеулi адамдар.
Ключевые слова: программирование, робототехника, разработка, робот, люди с ограниченными возможностями.
Keywords: programming, robotics, designing, robot, people with disabilities.
CS
5
■X
<
m
о
СП
6
w О
О О
w =г о
CL С
ш
X X
о
S
=г
<с
m
о х
х s
систему, снабжающую робота информацией о внешней среде, и устройство управления. Исполнительные системы в свою очередь состоят из механической системы и системы приводов. Механическая система манипулятора - это обычно кинематическая цепь, состоящая из подвижных звеньев с угловым или поступательным перемещением, которая заканчивается рабочим органом в виде захватного устройства или какого-нибудь инструмента.
Разработка приложения с асинхронными передачами данных является новым и наиболее перспективным направлением развития информационных и телекоммуникационных технологий. Программисты создали реактивные фреймворки для облегчения разработки интернет-приложения. Например, создатель библиотеки React Джордан Валке объяснял, что цель данного фреймворка является предоставить высокую скорость, простоту и масштабируемость в интернет-приложениях.
В настоящее время на просторах интернета очень много приложений с большим объемом базы данных, которая влияет на загрузку страницы приложения. Пользователь приложения вынужден
ждать, пока загрузятся все данные, kotos'
S рые он запрашивал в процессе исполь-<С зования приложения. Это могут быть О текст, видео, изображения. При переходе на новую страницу все будет повто-О рятся. Сервер вынужден снова отвечать ¿J на действия пользователя, высылая ему и большой объем данных в ответ. А если О пользователь с мобильного устройства,
Рч
С то скорость загрузки данных - это про-
д блема, которую необходимо и нужно
щ решить. Akamai, так называемая Амери-
§ канская компания провела исследования
^ по влиянию скорости загрузки приложено т г
О ния на его посещаемость. Как результат, д представили данные, где указано что 75% посетителей вышли из приложения,
не дождавшись загрузки страницы. Но благодаря современным технологиям, таким, как AJAX, PJAX, SPA, MVVM, МУС и т.д. можно решить данную проблему. Одним из решений является реализация интернет-приложения, основанного на асинхронной передаче данных.
Приложения, построенные на основе асинхронной передаче данных, работают без единой перезагрузки страницы. Все запросы на сервер выполняются асинхронно при помощи Ajax или Axios. Смена контента страниц интернет-приложения достигается за счет реактивных фреймворков, таких, как Vue.js, React.js или Angular.js.
Для удобства разграничения страниц и сохранения состояния приложения при намеренном обновлении страницы пользователем (когда пользователь сам обновил страницу в браузере) используется HTML5 History API, либо же хэши (название страницы после символа решетки (#) в адресной строке браузера).
Примерами асинхронных интернет-приложений являются:
• Web WhatsApp Aplication (https:// web.whatsapp.com),
• Google Hangouts (https://hangouts. google.com),
• Music Yandex (https://music.yandex, ru).
Что касается самого сервера, то обычно для таких приложений строят архитектуру RESTful API. Это означает то, что приложение посылает на сервер запросы типов GET, POST, PUT, DELETE и др. и получает в ответ данные в формате JSON (редко используются другие форматы).
Главный недостаток приложений старой архитектуры-медлительность. Медлительность даже в плане разработки. Но самое неприятное - это долго для пользователя. Казалось бы, лишние несколько секунд ничего не решают, но это не так.
Вышеупомянутая Американская компания - Akamai провела исследования, результаты которого заставляют задуматься о значении скорости загрузки вашего приложенния:
• влияет на лояльность пользователей - более половины респондентов;
• 2 секунды - столько посетители готовы ждать загрузки - 47%;
• больше 3 секунд - это уже много, пользователь может закрыть приложение -40%.
Итак, в чем же особенности асинхронных интернет-приложений:
Более высокая скорость загрузки интернет-приложения.
Это достигается за счет использования технологии Ajax, которая позволяет серверу отдавать данные в нужном формате в чистом виде, без генерации HTML-страницы.
Ajax (с английского языка переводится как «асинхронный JavaScript и XML») - это один из способов построения интерактивных пользовательских интерфейсов интернет-приложений. Технология Ajax существует достаточно продолжительное время и является концепцией использования нескольких смежных технологий. Чаще всего слово Ajax ассоциируется с термином Web и предпосносит-ся как новейшее интернет-приложение.
Основным преимуществом технологии Ajax является ненадобность каждый раз обновлять страницу приложения, так как обновляется только та часть, которая нам необходима. Пользователю приложения не придется долго ждать ответа от сервера, и экономичнее, потому что не все обладают безлимитным интернетом. Но необходимо понимать, что не все браузеры подерживают Ajax технологию, а асинхронные интернет-приложения чаще всего выполняются в браузере.
Обобщая достоинства технологии Ajax нужно отметить:
• экономию трафика,
• уменьшение нагрузки на сервер,
• активное взаимодействие с пользователем,
• ускорение реакции интерфейса,
• возможности для интерактивной обработки,
• частичную перезагрузку страницы,
• удобно в использовании.
Для работы со страницей приложения технология Ajax использует два метода: изменение страницы, не перегружая ее, и динамическое обращение к серверу. Второе может осуществляться несколькими способами, в частности, XMLHttpRequest [2, с. 12].
Технология Ajax прелставляет обмен данными с сервером двумя способами. Первый способ - это GET запрос. Используя GET-запрос, вы обращаетесь к документу на сервере, передавая аргументы через url интернет-приложения. Но, использовать данный запрос не рекомендуется в работе с большими базами данных. Для этого существует второй способ, это - POST-запрос.
Клиентскую часть приложения необходимо обеспечить нужными функционалами, а также представить методы для обмена данными любым из вышеперечисленных способов для безопасного обмена данных с сервером. Серверная часть приложения генерирует новые информации, обрабатывая необходимые данные и отдает ее обратно пользователю. Например, для запроса данных с серверной части приложения можно использовать обычный GET - запрос с небольшими параметрами, а для добавления или обновления данных на странице необходимо использовать POST - запрос, так как он позволяет работать с большими объемами данных [3, с.48].
Как уже нам известно, Ajax технология использует асинхронную передачу данных. Это означает, что пока идет передача данных, пользователь может совершить другие, необходимые ему дей-
в; s х
<с
m
о
СП £
W
о
О О W
=г о
CL
с
ш
X X
О S
=г
<с
m
о х
х s
ствия. В это время следует оповестить пользователя о том, что идет какой-либо обмен данными, иначе пользователь подумает, что произошло что-то не так.
Ответ от сервера можно получить в виде XML, JSON или же в виде обычного текста.
Пользователи могут использовать асинхронные интернет-приложения даже если у них медленное соединение с интернетом. К тому же, пользователь иногда может пользоваться некоторыми фукнци-ями такого приложения, даже если доступа к интернету вообще нет.
Все временные данные клиента можно сохранять, используя технологию Web Storage прямо в браузере. Эти данные можно и нужно отправлять на сервер, только если это необходимо. Таким образом, создается минимум трафика между пользователем и сервером, и приложение работает быстрее.
Низкое потребление ресурсов сервера.
Асинхронные интернет - приложения будут потреблять минимум ресурсов сервера, так как:
Во-первых, такие приложения обычно пишутся на событийно-ориентированном языке программирования Node.JS. Код такого приложения работает асинхронно S и, в частности, может обрабатывать за-<С просы сразу нескольких клиентов одно-О временно.
рЛ Node.JS - это программная платфор-w
О ма, основанная на движке от компании ¿J Google - V8. V8 - движок, превраща-и ющая JavaScript из узкоспециализиро-О ванного языка в язык общего значения. С Node.JS часто применяется на стороне д сервера, выполняя роль веб-сервера. Од-щ нако, работая с Node.JS, у нас также есть § возможность разрабатывать десктопные ^ приложения и даже программировать ми-О кроконтроллеры. Асинхронное или реак-д тивное программирование с неблокирующим вводом и выводом лежит на основе
движка Node.JS [4, с.52].
Во-вторых, серверу не приходится генерировать HTML-страницы в ответ на каждый запрос клиента. Вместо этого сервер просто отправляет данные в чистом виде в формате JSON.
JSON был разработан американским программистом Дугласом Крокфордом и является текстовым форматом обмена данными. Основан на языке JavaScript, но может использоваться практически с любым языком программирования. В интернет-приложениях формат данных JSON используется в задачах обмена данными между пользователем и сервером. JSON представляет собой одну из двух структур:
• набор пар ключей: значение,
• упорядоченный набор значений.
В качестве значений в формате данных JSON могут быть использованы объекты, массивы, числа, литералы, строки.
Возможность построения р2р-при-ложения.
Р2Р-приложение может вовсе обходиться без сервера. Основным требованием для любых Р2Р-приложений является защита обмена данными между партнерами. Клиенты такого приложения связываются друг с другом напрямую и являются равноправными. Обычно для таких целей применяют технологию WebRTC.
WebRTC (с английского языка переводится как «коммуникации в реальном времени») - это проект с открытым исходным кодом, который дает возможность получать медиаданные через браузер или другие поддерживающие его приложениями по технологий р2р.
WebRTC представляет собой:
• Media Streams (getUserMedia),
• Peer connection.
Если описать вкратце, то:
Media Streams - это API, который позволяет нам получить доступ к камере и микрофону через браузер без каких-либо установок флеша и плагинов.
Peer Connection - API, позволяющий установить р2р-соединение между браузерами.
Возможность использования сокет-ных соединений.
Web Socket - это передовая технология, предназначенная для обмена сообщениями между клиентом и веб-сервером в режиме реального времени. Это сдвиг парадигмы HTTP, и, в отличие от него, дает возможность работать с двунаправленным потоком данных, что делает эту технологию совершенно уникальной.
HTTP - это синхронный протокол, основанный на модели «запрос-ответ». С этим протоколом вы встречаетесь каждый день в своем браузере. Например, браузер постоянно спрашивает, есть ли для него новые сообщения, и получает их.
Веб-сокетам же не требуются повторяющиеся запросы для ответа. Теперь уже нет клиента и сервера с определенными ролями, а есть два равноправных участника обмена данными. Достаточно выполнить один запрос и ждать ответа. Отправил сообщение и пошел дальше, ничего ждать не надо. А вторая сторона ответит, когда захочет, а может и вовсе не ответит.
Веб-сокеты используются, если вы хотите разработать:
• приложения реального времени с интенсивным обменом данных,
• комплексные приложения со множеством различных асинхронных блоков на странице,
• чат-приложения,
• кросс-доменные приложения,
• асинхронные приложения.
Веб-сокеты (WebSocket) позволяет
клиентам такого приложения обмени-
ваться данными в режиме реального времени. Это бывает очень полезно, например, для создания чатов или браузерных игр. Причем, такие соединения позволяют определять, пользуется ли клиент приложением на данный момент. Также, такие соединения позволяют реализовать обмен файлов между клиентами без хранения их на сервере.
ЛИТЕРАТУРА
1.Миковски М., Пауел Д. Single Page Applications: JavaScript end-to-end [Текст]: Manning publications, 2013. - 432
2.Бенкен E.C. Ajax. Программирование для интернета [Текст]: БХВ-Петер-бург, 2012.-352 с.
3.Дари К., Бринзаре Б., Черчез-Тоза Ф. Ajax и PHP. Разработка динамических веб-приложений [Текст]: Символ Плюс, 2015.-336 с.
4. Канте л он М., Хартер М., Райлих Н. Node.js в действии [Текст]: Питер, 2018. - 432 с.
5.Форсайт Дэвид А., Понс Жан Компьютерное зрение. Современный подход. - http://automationlab.ru/index.php/ home/4-2009-01-27-11-46-18/39-2009-0205-18-24-18 (дата обращения: 20.04.2020)
6.Джон Бейктал Конструируем роботов на Arduino. Первые шаги,-https://www.litres.ru/dzhon-beyktal/ konstruiruem-robotov-na-arduino-pervye-shagi-21630298/ (дата обращения: 20.04.2020)
7.Козырев Ю. Применение промышленных роботов, https://litgid.com/read/ primenenie_promyshlennykh_robotov_ uchebnoe_posobie/page-5.php (дата обращения: 20.04.2020)
в; s х
<с
m
о
СП
Í-Q О
и о
W
=г о
CL С
ш
х X
о
S =Г
<с
m
о х
х s