Разработка шагающего робота

Разработка проекта по созданию компонентов управляемого антропоморфного робота. Анализ существующих решений в области проектирования антропоморфных роботов. Обоснование выбора программы проектирования робота, комплектующих, языка программирования.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 01.08.2017
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Убедившись, что руки пропорциональны и сочетаются с остальными частями робота, производится печать деталей на 3D-принтере. Модель Picaso 3D Designer позволяет распечатывать спроектированные детали за 3 - 4 часа. Технология печати осуществляется методом послойного наплавления (FDM). Поддерживающие форматы файлов. stl,. plg. Для печати частей рук, нужно сохранить в поддерживаемый тип формата. stl. Данный принтер позволяет довольно качественно распечатать, при небольших недочетах можно воспользоваться инструментом, например, пилкой и подправить появившуюся погрешность. Если же по какой_нибудь причине деталь плохо распечаталась или деформировалась, особенно это бывает, когда деталь имеет тонкие стенки, то деталь необходимо перепечатать.

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

6.3 Проектирование корпуса, задней и передней крышек робота

В основу разработки корпуса робота была взята только идея расположения сервомоторов, так вся выбранная для проектирования электроника, не похожа ни на один из существующих проектов. В следствии чего, пришлось создать уникальный корпус, способный в себе уместить четыре сервомотора, плату arduino mega 2560 (11x5см), модуль блютуз и аккумулятор.

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

Изначально, прототип корпуса имел схожие размеры с корпусом робота DARwin-mini, который использовался как пример для всей разработки. Спустя некоторое время стали известны конечные размеры платы управления роботом и размер аккумулятора, что повлияло на итоговый результат.

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

Рис. 25. Ранний прототип корпуса.

Из-за конструктивных особенностей пришлось создать три отдельных детали: корпус, передняя крышка и задняя крышка. Передняя необходима для доступа к плате и подключения всех контактов, а задняя - для быстрого доступа к аккумулятору.

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

Задняя часть корпуса закрывается отдельной деталью - крышкой, которая прикручивается двумя болтами. В ней также имеются отверстия для выходов кнопки включения питания, интерфейса USB и отверстие для зарядки.

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

Рис. 27. Корпус робота с крышкой. Вид сзади.

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

Крепление платы представляют собой три отверстия, в которые, впоследствии, устанавливается плата и прикручивается тремя болтами. На боковых стенках также расположены два отверстия для соединения передней панели с основной частью корпуса и еще одно расположено в верхней части.

Рис. 27. "Начинка".

По подсчетам, в общей сложности печать центральной детали на 3-D принтере должна была занять около 20 часов. Имеющиеся средства позволяют печатать около 10 часов в день т.к. находиться в университете целые сутки не возможно. Поэтому, как следствие, пришлось разделить деталь пополам с вертикальным разрезом.

Распечатка проводилась в два этапа - печать левой и правой части, соответственно. Для скрепления двух частей вместе были созданы специальные гнезда-отверстия по периметру всего разреза.

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

Рис. 28. Корпус. Вид спереди

Конструктивной особенностью имеющегося 3-D принтера является то, что максимальный допустимый размер распечатываемой детали должен не превышать 20х20см. Были успешно выполнены все поставленные задачи по моделированию, что позволило распечатать и собрать все детали и собрать в единый торс робота.

На рисунке 29 представлен собранный торс без сервомоторов, видна величина полученного образца. Как можно увидеть, итоговые размеры превышают размер ладони среднестатистического человека.

Рис. 29. Распечатанный корпус.

6.4 Проектирование головы робота

В данном разделе подробно описаны этапы разработки головы антропоморфного робота. К ней предъявляются следующие требования:

? Должно присутствовать достаточно места для установления дальномера HC-SR04;

? Должны присутствовать элементы, которые выглядят как рот, глаза и брови;

? Должно быть выделено место под установку сервомотора;

? Деталь должна быть спроектирована таким образом, что установка элементов внутрь ее будет возможной;

? Внешний вид элемента не должен быть отталкивающим.

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

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

Каждая бровь представляет из себя группу из десяти светодиодов, расположенных в два ряда по пять. Рот же представлен тремя рядами по семь светодиодов. Такое количество позволяет роботу демонстрировать различные эмоции, включая шесть основных (радость, гнев, страх, печаль, отвращение и удивление).

Для более удобного и точного проектирования модели головы потребуется иметь модель сервомотора Tower Pro SG90. Она была спроектирована отдельно. Также, как и в последующей разработке самой головы, основными инструментами, которые были использованы при проектировании в среде Solidworks, являлись: вытянутая бобышка, вытянутый вырез и сглаживание.

Итоговую модель сервопривода можно увидеть на рисунке 30. Наличие его модели необходимо для возможности создания полной сборки робота, где можно проверить соответствие элементов друг другу, а также создание частичных сборок, где можно точнее проверить соответствие переходных элементов.

Модель сервомотора отображает его лишь примерно - отсутствует ось вращения, однако этого достаточно для составления полного представления о конструкции робота.

Рис. 30. Модель сервомотора Tower Pro SG90.

Голова присоединяется к телу через сервомотор. Относительно самой головы сервомотор устанавливается таким образом, что ось вращения приходится практически на центр головы. Внутри головы были проделаны отверстия для дальномера, а под каждый светодиод создана отдельная ячейка с более тонкой стенкой (1мм), нежели все остальные (2-3мм) стенки головы и основных деталей робота. Это связано с тем, что в голове не требуется высокая прочность, а благодаря тонкости стенок светодиоды лучше видны снаружи во включенном стоянии, однако ее толщины достаточно для того, чтобы сделать их незаметными в состоянии выключенном. На рисунке 31 представлены два вида головы: снаружи и в разрезе изнутри. Продольные отверстия вдоль боковых стенок сделаны для того, чтобы иметь возможность доступа к внутренним элементам головы. Таким образом прикрутить дальномер на винты не представляется проблемой.

Рис. 31. Голова, вид снаружи и изнутри в разрезе

Таким образом, голова создана в качестве отдельного цельного элемента, что повышает ее прочность относительно элементов, которые из-за своих размеров требовали разделения на несколько соединяемых частей для осуществления печати.

7. Разработка программы контроля робота

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

Для таких команд пользователя как "Создать новое действие", "Удалить текущее действие", "Сохранить движения", "Загрузить движения", "Установить базовые значения", "Сохранить базовые значения", "Выполнить движения" были созданы кнопки при помощи элемента "Push Button" дизайнерского режима QT Creator.

Кнопки были выбраны для данных команд для упрощения взаимодействия пользователя с программой контроля и по причине того, что стандартная кнопка полностью удовлетворяет требованиям, которые могут предъявляться к элементу, запускающему выполнение соответствующих функций: они имеют видимое пользователю описание, при необходимости они могут быть переведены в неактивный режим, а все, что требуется для запуска функции - нажатие мышкой.

В качестве полей для ввода значений положений сервомоторов и задержки после движения, а также выбора текущего действия, были использованы элементы "Spin Box", как одновременно позволяющие вводить необходимые значения, при необходимости ограничивая их некоторым диапазоном, так и показывающие те, что были введены ранее. Также, этот элемент содержит кнопки для управления им одной лишь мышью, что позволяет использовать программу без клавиатуры. Все элементы данной группы были подписаны при помощи другого элемента QT Creator - "Label". Он позволяет создавать текстовые вставки в визуальной части программы.

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

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

Для идентификации пользователем вся группа элементов была подписана при помощи элемента "Group Box", выполняющая функцию объединения нескольких элементов в одну группу.

Оставшееся элемент интерфейса - поле для выбора порта, в который подключен робот, реализован при помощи элемента "Combo Box", дающий пользователю возможность выбрать один из нескольких заранее подготовленных вариантов. Помимо этого, "Label" был использован для отображения количества существующих в данный момент движений. Полный интерфейс программы представлен на рисунке 32.

Теперь перейдем непосредственно к логике программы и рассмотрим все имеющиеся функции. Основными переменными являются actionArrY и два двухмерных массива - arr [] [] и arr_led [] [].

Рис. 32. Интерфейс программы контроля

Первая является целочисленной величиной и содержит общее число движений, которые записаны на данный момент. Целочисленный массив arr [] [] несет в себе информацию о заданном положении каждого сервомотора, например, arr [i] [j] содержит информацию о положении j-сервомотора в i-движении. Кроме того, arr [i] [17] содержит информацию о задержке после i-движения. Массив bool arr_led [] [] хранит данные о состоянии светодиодов, например, если arr_led [i] [j] содержит "true", состояние j-светодиода i-движения - "включен".

При изменении значения в одном из "Spin Box", связанных с сервомоторами запускается функция on_spinServoX_valuechanged (), которая выполняет проверку: является ли активным элемент spinCurrAction, показывающий текущее редактируемое движение, что показывает включен ли в данный момент режим установки базовых значений для сервомоторов. Если режим установка базовых значений в данный момент не включен, то функция изменяет соответствующий данному сервоприводу и текущему движению элемент массива arr [] [], в противном случае меняется значение в массиве arr_def [], который содержит информацию о базовых положениях сервомоторов. Визуально программа постоянно показывает последнее значение, установленное пользователем для текущего движения.

Изменение значения "Spin Box", связанного с задержкой после движения, вызывает функцию on_spinDelay_valueChanged (), записывающую новое значение в массив arr [i-1] [17], где i соответствует значению spinCurrAction. Визуально программа постоянно показывает последнее значение, установленное пользователем для текущего движения.

Изменение состояния одного из "Check Box", соответствующего одному из светодиодов вызывает функцию on_checkBoxX_stateChanged (), которая сохраняет новое состояние в массиве arr_led [i-1] [j], где i соответствует значению spinCurrAction, а j - номеру светодиода, с которым связан данный "Check Box".

Изменение значения "Spin Box", связанного с номером текущего редактируемого действия вызывает функцию on_spinCurrAction_valueChanged (), которая производит сравнение нового значения с actionArrY. Если значение меньше или равно actionArrY, то программа устанавливает на всех "Spin Box", кроме spinCurrAction, а также всех "Check Box" соответствующие значения, взятые из массивов arr [i-1] [] и arr_led [i-1] [], где i соответствует новому значению spinCurrAction. Если новое значение больше actionArrY, то вышеперечисленные действия производятся относительно значения actionArrY.

Нажатие кнопки "Load default position" вызывает функцию on_buttonCalibrateLoad_clicked (), которая делает неактивными все элементы, включая саму кнопку "Load default position", за исключением "Spin Box", отвечающих за положения сервомоторов. Кнопка "Save as default", наоборот, становится активной, обозначая тем самым включение режима установки базовых значений для сервомоторов, относительно которых и будут считаться все прочие значения. В этом режиме изменения в значениях положения сервомоторов сохраняется в массив arr_def []. Нажатие кнопки "Save as default" вызовет функцию on_buttonCalibrateSave (), которая вернет программу обратно в исходное положение, сделав все элементы активными.

Нажатие кнопки "Create new action" вызывает функцию on_buttonCreateAction_clicked (), которая увеличивает параметр actionArrY на 1, обновляет текст "Label" с этой информацией, после чего производит последовательное присвоение элементам массивов arr [] [] и arr_led [] [] значений с предыдущих строк, отвечающих за предыдущие движения, начиная со строки actionArrY-1 вплоть до строки, соответствующей значению spinCurrAction. Таким образом происходит последовательный перенос всех движений после только что созданного на одно вперед, а строки массивов arr [] [] и arr_led [] [], соответствующие значению spinCurrAction обнуляются. После этого вызывается функция on_spinCurrAction_valueChanged (), которая выбирает текущим движением только что созданное.

Нажатие кнопки "Delete current action" вызывает функцию on_buttonDeleteAction_clicked (), которая уменьшает значение переменной actionArrY на 1, обновляет текст "Label" с этой информацией, после чего производит обнуление строк arr [actionArrY-1] [] и arr_led [actionArrY-1] [] последовательное присвоение элементам массивов arr [] [] и arr_led [] [] значений со следующих строк, отвечающих за следующие движения, начиная со строки, соответствующей текущему значению spinCurrAction-1, и заканчивая строкой, соответствующей значению actionArrY-1. Таким образом, происходит сдвиг всех движений на одно назад, начиная с текущего и заканчивая последним существующим.

Нажатие кнопки "Save program" вызывает функцию on_buttonSave_clicked (), которая открывает диалоговое окно выбора файла, где пользователем указывается путь к файлу. После того, как файл сохранения выбран, программа открывает его в режиме "WriteOnly", после чего записывает в него значение переменной actionArrY, на следующей строке располагает элементы массива arr_def [], разделенные символом ";", а дальше последовательно располагает строку массива arr [i] [], разделяя элементы символом ";", за которыми на следующей строке располагаются значения строки массива arr_led [i] []. Процесс повторяется, постепенно увеличивая значение i, начиная с 0, до тех пор, пока оно не достигнет значения, равного actionArrY-1. После окончания записи файл закрывается. Таким образом, вся информация о движениях записывается в один файл.

Нажатие кнопки "Load program" вызывает функцию on_buttonLoad_clicked (), которая открывает диалоговое окно выбора файла, где пользователем указывается путь к файлу, содержащему команды программы управления. После того, как файл загрузки выбран, программа открывает его в режиме "ReadOnly", после чего построчно считывает из него значение actionArrY, значения arr_def [], записанные в одной строке и разделенные символом ";". Разделение строки на отдельные значения происходит при помощи функции separate (). Дальнейшие строки содержат поочередно строки для массива arr [] [], которые также разделяются при помощи функции separate (), и строки для массива arr_led [] [], которые разделяются при помощи функции separate_led (). Чтение происходит либо до конца файла, либо до тех пор, пока количество считанных строк в массиве arr [] [] не достигнет значения actionArrY.

Функция separate_led () принимает в себя строку, содержащую сорок один символ, каждый из которых является либо нулем, либо единицей, и номер строки массива arr_led [] [], в который и предстоит загрузить разделенные значения. Последовательно функция записывает в указанную строку массива arr_led [] [] по одному символу из строки, пока количество переданных символов не достигнет сорока одного.

Функция separate () принимает в себя строку, содержащую значения положений сервомоторов, разделенные символом ";", указатель на массив, в который будут записываться полученные значения и целочисленный указатель на номер текущей строки, в которую следует производить запись. Функция запускает цикл, в котором ищет в строке символ ";", после чего выделяет подстроку от положения предыдущего символа "; " (или от начала строки, если цикл выполняется первый раз) и записывает его в соответствующую ячейку указанного массива. Цикл повторяется до тех пор, пока не дойдет до конца строки.

Нажатие на кнопку "Start" вызывает функцию on_buttonStart_clicked (), которая считывает значение из comboCom, который содержит название выбранного пользователем порта. После этого происходит открытие порта, после чего начинается передача данных, которая происходит следующим образом. Сначала отправляется значение переменной actionArrY вместе с символом ";", после него отправляются значения массива arr_def [], после каждого из которых отправляется символ ";". Дальше программа таким же образом отправляет значения массива arr [] [] и, наконец, массив arr_led [] [] передается целыми строками, отправляя символ "; " после каждой посланной строки. Таким образом, вся информация о записанных движениях передается роботу, где программа самого робота производит дальнейшую обработку и выполнение команд.

Рассмотрим в деталях программу самого робота, написанную на языке Arduino. По причине большого количества используемых сервоприводов, были использованы дополнительные технические средства, например, Amperka Multiservo Shield, которая предоставляет ножки для 18 сервомоторов. В связи с этим потребовалось использование специальной библиотеки <Multiservo. h>, которая по своим возможностям схожа с библиотекой <Servo. h>, изменяя лишь пины, к которым будут привязаны сервомоторы внутри программы, с ножек самой Arduino Mega 2560 на ножки Multiservo Shield.

Изначально программа создает массив переменных класса Multiservo, а также переменную mode, равную нулю и отвечающую за то, в каком состоянии сейчас находится робот, после чего привязывает виртуальные отображения сервоприводов к реальным объектам и приводит робота в базовое положение - стоя. После этого программа ожидает получения сигналов от программы контроля. После получения первого числа на его основе формируется целочисленный и булевый массивы, в которых и будут записаны все полученные далее данные, а mode становится равным единице. Все последующие значения записываются в массив arr [] [], соответствующий по назначению аналогичному массиву программы контроля. Как только массив arr [] [] будет заполнен переменная mode становится равной двум, и программа начинает записывать остальные получаемые данные в массив arr_led [] [], который соответствует аналогичному массиву программы контроля. После заполнения массива arr_led [] [] переменная mode становится равной трем, после чего начинается выполнение полученных команд.

Таким образом, было налажено взаимодействие между программой контроля и программой-прошивкой самого робота.

8. Расчеты

8.1 Расчет стоимости комплектующих

Для выполнения выпускной квалификационной работы были использованы следующие материалы:

Сервомоторы MG-995 - 16 шт.

Сервомотор SG-90 - 1 шт.

Плата Arduino Mega 2560 - 1 шт.

Аккумулятор GENS ACO - 1 шт.

Выходной сдвиговый регистр sn74hc595n - 3 шт.

Bluetooth HC-0,6 - 1 шт.

Провода.

Винты.

Ниже приведена таблица расчета стоимости комплектующих (табл.8).

Таблица 8. Расчет стоимости комплектующих

Наименование

Цена за 1 шт. (руб.)

Количество

Стоимость

Сервомотор MG-995

400

16

6400

Сервомотор SG-90

200

1

200

Плата Arduino Mega 2560

2500

1

2500

Аккумулятор GENS ACO

1500

1

1500

сдвиговый регистр sn74hc595n

10

3

30

Bluetooth HC-0,6

200

1

200

Итого: 10830 рублей.

Также для прикрепления сервомоторов к деталям необходимы винты, которые стоят 130 руб. за кг, а их соединение с платой осуществляется с помощью проводов, которые стоят 150 рублей за весь комплект.

8.2 Расчет печати деталей

В результате выполнения работы были спроектированы следующие детали:

Стопа - 2 шт.;

Голень - 2 шт.;

Бедро - 2 шт.;

Соединение - 2 шт.;

Ягодица - 2 шт.;

Кисть - 2 шт.;

Предплечье - 2 шт.;

Плечо - 2 шт.;

Корпус - 1 шт.;

Крышка задняя корпуса - 1 шт.;

Крышка передняя корпуса - 1 шт.;

Голова - 1 шт.

В таблице 9 представлены расчеты времени печати, стоимость этой печати, объем и длина потраченного пластика.

Таблица 9. Расчет показателей печати на 3D принтере

Название

Кол-во

Стоимость пластика на 1 деталь (руб.)

Длина пластика на 1 деталь (мм)

Объем пластика на 1 деталь (см3)

Время печати 1 детали

стопа

2

71,4

17676,9

42,5

3: 46: 21

голень

2

37,8

9374,7

22,5

2: 09: 39

бедро

2

37,46

9272,5

22,3

2: 08: 55

соединение

2

74,93

18561,6

44,6

4: 22: 02

ягодица

2

37,97

9387,9

22,6

2: 11: 14

кисть

2

39,14

9677,0

23,3

2: 09: 18

предплечье

2

72,58

17959,9

43,2

3: 55: 53

плечо

2

23,02

5708,1

13,7

1: 15: 03

корпус

1

374,14

92583,2

222,7

20: 10: 40

Название

Кол-во

Стоимость пластика на 1 деталь (руб.)

Длина пластика на 1 деталь (мм)

Объем пластика на 1 деталь (см3)

Время печати 1 детали

крышка передняя

1

124,66

30854,6

74,2

6: 39: 46

крышка задняя

1

30,74

7614,4

18,3

1: 42: 12

голова

1

37,13

9190,7

22,1

3: 49: 51

В табл. 10 представлены суммарные расчеты, проведенные в табл. 9.

Таблица 10. Суммарные расчеты по показателям печати

Название

Стоимость пластика (руб.)

Длина пластика (мм)

Объем пластика (см3)

Время печати

2 стопы

142,8

35353,8

85

7: 32: 42

2 голени

75,6

18749,4

45

4: 19: 18

2 бедра

74,92

18545

44,6

4: 17: 50

2 соединения

149,86

37123,2

89,2

8: 44: 04

2 ягодицы

75,94

18775,8

45,2

4: 22: 28

2 кисти

78,28

19354

46,6

4: 18: 36

2 предплечья

145,16

35919,8

86,4

7: 51: 46

2 плеча

46,04

11416,2

27,4

2: 30: 06

корпус

374,14

92583,2

222,7

20: 10: 40

крышка передняя

124,66

30854,6

74,2

6: 39: 46

крышка задняя

30,74

7614,4

18,3

1: 42: 12

голова

37,13

9190,7

22,1

3: 49: 51

Таким образом, по этой таблице можно посчитать следующее:

на печать всех деталей ушло 76 часов 19 минут и 19 секунд;

стоимость пластика, потраченного на печать - 1355,27 руб.;

общая длина пластика - 335,48 м;

общий объем пластика - 806,7 см3.

В результате подсчетов на разработку компонентов антропоморфного робота и покупку его комплектующих было потрачено 12465,27 рублей, 335,48 метров пластика и более 76 часов.

Заключение

Выпускная квалификационная работа представляет собой групповой проект, поэтому над его выполнением работала бригада, состоящая из 4 участников: Чумачева Никиты Сергеевича, Пырьевой Юлии Сергеевны, Чигриной Марии Александровны и Кузнецова Александра Эдуардовича. Каждый из них внес свой вклад в реализацию проекта.

Разработка компонентов антропоморфного робота также включала в себя создание маленького робота, поэтому задачи были разбиты между членами группы.

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

Основная задача была спроектировать определенные детали робота, их распечатать, собрать и подключить. В маленьком роботе была реализована верхняя часть головы. На основе полученных данных была спроектирована голова для большого робота.

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

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

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

В большом роботе были созданы 2 симметричные руки. Далее они были распечатаны на 3D принтере и реализованные компоненты были собраны между собой.

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

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

В результате выполнения выпускной квалификационной работы было сделано следующее:

Изучены имеющиеся аналоги в университете, а также, что было сделано другими мировыми учеными в этой области;

Проанализированы существующие решения в области проектирования антропоморфных роботов;

Была выбрана наиболее удобная и функциональная программа для проектирования компонентов;

Комплектующие подобраны таким образом, чтобы робот обладал необходимом функционалом, а также был оснащен всем необходимым для последующего развития;

Компоненты были продуманы таким образом, чтобы робот внешне стал похож на человека, а также имел возможность стоять и передвигаться, как он;

Создан маленький робот, на котором были проведены основные тесты и проанализирована его работа и имеющиеся ошибки;

Спроектированы компоненты антропоморфного робота, используя знания, полученные при выполнении предыдущих этапов;

Распечатаны детали и собраны вместе;

Настроено начальное положение робота;

Написана программа по управлению движениями робота;

Таким образом, в результате выполнения работы были углублены теоретические и практические навыки, полученные во время обучения в университете; развиты умения обобщать и анализировать теоретические положения; был приобретен опыт работы в реальном проекте, а также коллективном его выполнении.

Антропоморфный робот, созданный во время выполнения выпускной квалификационной работы, представляет из себя сложную конструкцию, состоящую из 20 уникальных компонентов, спроектированных каждым студентом самостоятельно. На создание деталей ушло много времени (более 76 часов на печать на 3D принтере и еще больше на само проектирование и продумывание мелочей каждого компонента). В результате выполнения работы было потрачено 12465,27 рублей на покупку комплектующих, которыми был оснащен робот, а также 335,48 метров пластика, который ушел на печать деталей.

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

Список литературы

1. Ekman P., Friesen W. V. Facial action coding system. - 1977.

2. Mori M., MacDorman K. F., Kageki N. The uncanny valley from the field // IEEE Robotics & Automation Magazine. - 2012. - Т. 19. - №.2. - С.98-100.

3. Fong T., Nourbakhsh I., Dautenhahn K. A survey of socially interactive robots // Robotics and autonomous systems. - 2003. - Т.42. - №.3. - С.143-166

4. MiniPlan v5.0 by ShinWeiChiou [Электронный ресурс]. - Режим доступа: http://www.thingiverse.com/thing: 1016479/#files (дата обращения 25.04.2017).

5. Arduino [Электронный ресурс]. - Режим доступа: http://arduino.ru/ (Дата обращения: 08.05.2017 г).

6. Arduino Mega 2560 [Электронный ресурс]. - Режим доступа: http://robotosha.ru/karta-sajta/handbook/arduino-mega-2560 (Дата обращения: 08.05.2017 г).

7. Arduino или Raspberry Pi [Электронный ресурс]. - Режим доступа: http://edurobots.ru/2014/09/arduino-ili-raspberry-pi-kakaya-platforma-luchshe/ (Дата обращения: 08.05.2017 г).

8. Сервоприводы [Электронный ресурс]. - Режим доступа: http://wiki. amperka.ru/робототехника: сервоприводы (Дата обращения: 08.05.2017 г).

9. Отличие цифрового сервопривода от аналогового [Электронный ресурс]. - Режим доступа: http://zelectro. cc/servosDistinction (Дата обращения: 08.05.2017 г).

10. Дальномер [Электронный ресурс]. - Режим доступа: http://amperka.ru/product/hc-sr04-ultrasonic-sensor-distance-module (Дата обращения: 10.05.2017 г).

11. Otto - Build You Own Robot in Two Hours [Электронный ресурс]. - Режим доступа: http://www.instructables.com/id/Otto-Build-You-Own-Robot-in-Two-Hours/ (Дата обращения: 08.05.2017 г).

12. Микроконтроллер или микрокомпьютер [Электронный ресурс]. - Режим доступа: http://amperka.ru/page/development-board-guide (Дата обращения: 08.05.2017 г).

13. Микроконтроллер или микрокомпьютер [Электронный ресурс]. - Режим доступа: http://amperka.ru/page/development-board-guide (Дата обращения: 08.05.2017 г).

14. CAE (англ.computer-aided engineering) [Электронный ресурс]. - Режим доступа: https: // ru. wikipedia.org/wiki/Computer-aided_engineering (дата обращения 5.05.2017).

15. CAM (англ.computer-aided manufacturing) [Электронный ресурс]. - Режим доступа: https: // ru. wikipedia.org/wiki/CAM (дата обращения 5.05.2017).

16. Обзор современных систем автоматизированного проектирования [Электронный ресурс]. - Режим доступа: http://bourabai.ru/graphics/dir. htm (дата обращения 7.05.2017).

17. АСОНИКА® Автоматизированная Система Обеспечения Надежности и Качества Аппаратуры [Электронный ресурс]. - Режим доступа: http://asonika.ru/? q=5 (дата обращения 10.05.2017).

18. Анализ CAD/CAM/CAE систем [Электронный ресурс]. - Режим доступа: http://icvt. tu-bryansk.ru/index. php? option=com_content&view=article&id=46: - cadcamcae-&catid=11: - 5-&Itemid=31 (дата обращения 10.05.2017).

19. Breazeal C. L. Designing sociable robots. - MIT press, 2004.

20. Zhang J., Sharkey A. J. C. Contextual recognition of robot emotions // Conference Towards Autonomous Robotic Systems. - Springer Berlin Heidelberg, 2011. - С.78-89.

21. Lьtkebohle I. et al. The Bielefeld anthropomorphic robot head “Flobi” // Robotics and automation (ICRA), 2010 IEEE international conference on. - IEEE, 2010. - С.3384-3391.

22. Е. Магид "Антропоморфные роботы". Зачем роботов учат быть эмоциональными и отзывчивыми? [Электронный ресурс]. - Режим доступа: https: // postnauka.ru/video/45294 (дата обращения 7.05.2017).

23. А. Бойко "Роботы в России". Обновляемая онлайн-выставка самых известных российских робототехнических изделий "Роботы в России на RoboTrends.ru". [Электронный ресурс]. - Режим доступа: http://robotrends.ru/robopedia/roboty-v-rossii (дата обращения 7.05.2017).

24. "Solidworks - программа для твердотельного проектирования". [Электронный ресурс]. - Режим доступа: https: // www.2d-3d.ru/opisanie-programm/9-solidworks-programma-dlja.html (дата обращения 7.05.2017).

25. Spexard T. P., Hanheide M., Sagerer G. Human-oriented interaction with an anthropomorphic robot // IEEE Transactions on Robotics. - 2007. - Т.23. - №.5. - С.852-862.

26. Andre Infante "5 Advanced Humanoid Robots you have to see to belive" [Электронный ресурс]. - Режим доступа: http://www.makeuseof.com/tag/5-advanced-humanoid-robots-you-have-to-see-to-believe/ (дата обращения 7.05.2017).

Размещено на Allbest.ru

...

Подобные документы

  • Анализ техники ходьбы по количеству точек опоры шагающих роботов. Обзор существующих конструкций. Функциональная схема устройства. Выбор электронных компонентов. Трёхмерная модель робота и его модулей. Исследование цифровой системы на устойчивость.

    дипломная работа [3,2 M], добавлен 04.08.2014

  • Обзор схемы конструкции автоматизированного мобильного робота. Выбор компонентов конструкции. Общая классификация роботов; виды двигателей. Выбор типа микроконтроллера. Осуществление программирования на основе расчётов по математической модели робота.

    курсовая работа [1,2 M], добавлен 20.05.2015

  • Назначение и типы роботов-андроидов. Функции обнаружения объектов в робототехнике; машинное, электромагнитное зрение, датчики препятствий на ИК лучах. Разработка концептуально-функциональной модели робота типа "шагающий" с функцией обнаружения объекта.

    курсовая работа [3,0 M], добавлен 20.12.2012

  • Прямая и обратная задача кинематики и позиционирования захвата манипуляционного робота. Разработка алгоритмов и решений, позволяющих организовать процесс нанесения рисунков на поверхность изделия при помощи робота-манипулятора FS03N фирмы Kawasaki.

    дипломная работа [4,1 M], добавлен 17.09.2013

  • Порядок и назначение разработки подсистемы планирования действий интеллектуального робота. Задачи, решаемые данной подсистемой и функциональные требования к ней. Информационное моделирование функционирования интеллектуального робота и управление им.

    дипломная работа [864,0 K], добавлен 10.06.2010

  • Анализ существующих решений по автоматизации предметной области. Методология проектирования информационной системы агентства недвижимости. Спецификация и аттестация требований. Проектирование пользовательского интерфейса. Обоснование выбора платформы.

    курсовая работа [412,8 K], добавлен 10.02.2013

  • Использование в микропроцессорных системах цифрового способа представления информации. Помехоустойчивость устройств. Принципиальная схема на микроконтроллере для управления роботом. Устройство и принцип действия робота. Области действия фотодатчиков.

    курсовая работа [693,7 K], добавлен 31.01.2015

  • Цели и задачи проектирования информационной системы, основные требования к ней, внутренняя структура и взаимосвязь отдельных компонентов. Обзор и анализ существующих программных разработок. Обоснование стратегии автоматизации и технологии проектирования.

    курсовая работа [3,3 M], добавлен 12.01.2015

  • Обследование объекта, обоснование необходимости систем компьютерного тестирования. Анализ существующих разработок и обоснование выбора технологии проектирования. Создание системы компьютерного тестирования на основе случайного выбора в среде Visual Basic.

    дипломная работа [2,4 M], добавлен 18.08.2013

  • Обзор существующих мобильных роботов и их виды: на гусеничном ходу, на колёсном ходу, стационарные. Разработка проекта совершенного мобильного робота для обезвреживания взрывоопасных объектов. Описание информационной системы для управления механизмом.

    курсовая работа [2,6 M], добавлен 25.06.2013

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

    лабораторная работа [274,4 K], добавлен 01.12.2013

  • Обзор существующих решений и обоснование выбора языка программирования. Разработка структурной схемы, интерфейса программного продукта. Технические требования к оборудованию, тест программного продукта, руководство системного программиста и оператора.

    дипломная работа [2,0 M], добавлен 10.07.2012

  • Знайомство з інтерфейсом ОС Linux, робота з довідковою системою Linux. Робота з утилітами командного рядка. Символічні посилання та архівація даних. Пошук файлів за критеріями. Робота з програмою Midnight Commander. Використання офісних додатків.

    методичка [396,5 K], добавлен 17.05.2011

  • Внедрение информационных систем взаимодействия с клиентами. Назначение автоматизированного варианта решения задачи. Анализ существующих разработок и обоснование выбора технологии проектирования. Расчет и обоснование экономической эффективности проекта.

    дипломная работа [7,5 M], добавлен 11.12.2020

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

    дипломная работа [1,0 M], добавлен 10.07.2017

  • Преимущества и недостатки роботизированной сварки. Характеристика видов систем управления базами данных. Информационная модель сварочного робота, системы управления роботом сварочных клещей. Критерии выбора робота и структура запроса на выборку.

    курсовая работа [3,3 M], добавлен 22.12.2014

  • Обоснование и выбор методологии проектирования, структурной схемы системы и разработки модели системы. Разработка сетевого плана выполнения работ, расчет технических характеристик. Описание выбора языка программирования, web–сервера и базы данных MySQL.

    дипломная работа [719,0 K], добавлен 20.09.2013

  • Середовище програмування Visual Studio 2010. Функції стандартного введення-виведення. Робота з побітовими операціями. Робота з функцією заміни у рядку символів. Робота з масивами. Тестування алгоритму роботи програми. Представлення двовимірного масиву.

    курсовая работа [652,2 K], добавлен 15.01.2014

  • Назначение, технические характеристики промышленного робота МП20. Режимы работы робота и кинематическая схема. Приводные электродвигатели. Элементы электроавтоматики. Алгоритм управления следящим цифроаналоговым приводом. Интерфейс станочной магистрали.

    курсовая работа [1,7 M], добавлен 15.04.2013

  • Автоматизация проектирования аналоговых микросхем. Обзор существующих решений. Определение, способы реализации PCell. Специфика физического проектирования. Причины рассогласования элементов и способы их устранения. Создание топологических эскизов.

    дипломная работа [1,9 M], добавлен 16.05.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.