Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
ru:projects:wheeled_robot [2013/08/17 16:47] eduardtlmkru:projects:wheeled_robot [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== Платформа мобильного робота ====== 
  
-Подвижный робот (мобильный робот) является одним из популярных роботов, которые обычно строят. Очень распространенными являются роботы сумо, спортивные роботы  (футбол, волейбол и т.д.), роботы имитации спасательных работ (пожаротушение, поиск человека или предмета и т.д.) и многие другие. Для этих видов роботов существует много различных соревнований в мире и в Эстонии, были разработаны даже стандартные классы (например, роботов сумо). Общим для этих типов роботов является мобильная платформа, которая может иметь различные конструкции и возможности, но её основная функциональность осталась прежней. Этой основной функциональностью является управление двигателями и основной навигацией, которая включает в себя избегания препятствий  путешествие в место назначения. Как правило, к основной функциональности добавлена специфическая функциональность, которая проектируется в соответствии с требованиями и возможностями, установленными для проекта. 
- 
-Далее рассмотрим документацию одной типичной мобильной платформы проекта робота и его различных этапов. 
- 
- 
-===== Исходное задание ===== 
- 
-Спроектировать и построить многофункциональную мобильную платформу робота с базовой функциональностью навигация с помощью компонентов Домашней Лаборатории. Платформа должна позволять легко менять его оперативную функциональность, снабжая его различным оборудованием: 
-  * Манипулятор 
-  * Радар 
-  * Камера 
-Робот должен иметь возможность двигаться на плоской поверхности в помещении. 
- 
-==== Требования ==== 
- 
-  * Максимальные габариты: 20 cm x 20 cm x 20 cm 
-  * Максимальный вес 2 kg 
-  * Скорость движения min. 0,1 m/s 
-  * Возможность легкого добавления дополнительного оборудования 
-  * Полная автономия 
- 
-==== Ограничения ==== 
- 
-  * Должна быть построена в основном из компонентов Домашней Лаборатории 
-  * Стоимость компонентов не должна превышать 600 € 
- 
-~~PB~~ 
- 
-===== Общая модель системы ===== 
- 
-Общая модель системы представлена в виде блок-схемы. Она описывает структуру, поведение и другие важные аспекты системы. В качестве примера ниже приведена иерархическая модель системы. 
- 
-[{{  :examples:projects:robot:robot_blokk_diagramm.png?500  |Модель структуры системы}}] 
- 
-===== Проектные решения ===== 
- 
-Для решения этой задачи команда использовала метод мозгового штурма и сгенерировала 3 концептуально разных решения. Была составлена оценочная матрица, с помощью которой найдена самая оптимальная конструкция. Основные отличия решений заключались в схемах движения.  
- 
-[{{  :examples:projects:robot:robot_ideekavandid.png?500  |Проектное решение}}] 
- 
-~~PB~~ 
- 
-Упрощённая оценочная матрица выглядит следующим образом: 
- 
-^ Функция/Решение ^ I ^ II ^ III ^ Весовой коэффициент^ 
-|Стоимость| 3 | 4 | 6 | 0,8 | 
-|Сложность изгатовления | 2 | 4 | 7 | 0,7 | 
-|Манёвренность | 4 | 8 | 8 | 0,5 | 
-|Проходимость | 5 | 8 | 2 | 0,3 | 
-|Применимость Домашней Лаборатории | 5 | 4 | 5 | 0,9 | 
-|Вес | 5 | 6 | 7 | 0,8 | 
-^Итого (вместе с вес.коэффициентом) ^ 15,8^20,8^ 24,4^ ^ 
- 
-Оценочная шкала была 1-10 очков и весовым коэффициентом 0-1. Вес факторов был выбраны в соответствии с требованиями и ограничениями, установленными для этой системы. Например, хотя решение 2 было значительно более способно двигаться по неровной земле, это не требовалось в предварительных задачах, следовательно, весовой коэффициент был низким. 
- 
-Судя по оценке, оптимальным решением для данной задачи оказалась спутниковая платформа на двух колесах с двумя отдельными двигателями. Дальнейшая работа продолжала развивать выбранное решение в реальной системе. 
- 
-^ Функция/Решение ^ Проектное решение ^ Платформа на колёсах ^ Платформа на лентах ^ Весовой коэффициент ^ 
-|Стоимость | 3 | 8 | 6 | 0,8 | 
-|Сложность изготовления | 2 | 8 | 9 | 0,7 | 
-|Манёвренность | 4 | 6 | 8 | 0,5 | 
-|Проходимость | 5 | 3 | 10 | 0,3 | 
-|Приминяемость Домашней Лаборатории | 5 | 6 | 8 | 0,9 | 
-|Вес | 5 | 7 | 6 | 0,8 | 
-|Место для установки доп.оборудования     | 10 | 2 | 7 | 0,8 | 
-^Итого(вместе с вес.коэффициентом) ^ 23,8^23,5^ 35,7^ ^ 
- 
-Так как один из наиважнейших приоритетов была цена, то было выбрано готовое решение "Платформа на лентах". Из анализа стало понятно, что используя готовое решение, следует выбрать платформу на лентах, а изготавливая самостоятельно, целесообразнее было бы выбрать платформу на колёсах.  
- 
-Дальнейшая работа продолжала развивать выбранное решение в реальной системе. 
- 
-~~PB~~ 
- 
-===== Механика ===== 
- 
-Механику постарались сделать как можно более простой, но в то же время в соответствии с принципом модульности. Передний и задний бампер - это идентичные модули. Электроника – это три модуля, которые размещены друг над другом, позволяя простые соединения ленточного кабеля, обеспечивая относительно простую смену модулей. Двигатели были отобраны из комплекта Домашней Лаборатории: двигатели со встроенным редуктором и кодером, которые подключаются непосредственно к приводу двигателей. В качестве колес были использованы колёса модели самолета, так как они очень легкие и достаточно сильные для робота. Чтобы упростить конструкцию, нижняя и верхняя платы идентичны. Платы имеют отверстия, позволяющие различным устройствам прикрепляться к верхней пластине. Кроме электронных модулей между пластинами может поместиться и аккумулятор. 
- 
-[{{  :examples:projects:robot:robot_3d.jpg?500  |Первоначальная 3D модель робота и местоположения его компонентов}}] 
- 
-Бампер робота проектируется отдельно и интегрирован с сенсорными датчиками и датчиками отслеживания линий. Бампер сделан из ПХБ и имеет электричество в дополнение к конструкции. Датчики отслеживания линий припаяны непосредственно к бамперу нижней пластины. Сенсорные датчики (микропереключатели) помещены между двумя пластинами бампера и покрыты единым куском резины. Резиновая деталь поглощает удар и в то же время даёт возможность определить, откуда пришел удар.  
- 
-[{{  :examples:projects:robot:pamperi_joonis.jpg?500  |Рабочий рисунок платы бампера}}] 
- 
-===== Электроника ===== 
- 
-Электроника системы описана принципиальным решением и классической электронной схемой со схемой монтажа печатной платы. 
- 
-[{{  :examples:projects:robot:robot_electronics.png?500  |Блок-схема компонентов электроники}}] 
- 
-~~PB~~ 
- 
-В качестве примера приведена схема электроники датчиков отслеживания линий и монтажная схема печатной платы (PCB). 
- 
-[{{  :examples:projects:robot:robot_pumper_skeem.png?500  |Схема электроники датчиков бампера}}] 
- 
-[{{  :examples:projects:robot:robot_pumper_pcb.png?500  |Схема монтажа бампера}}] 
- 
-~~PB~~ 
- 
-===== Система управления ===== 
- 
-Система управления роботом происходит из поведенческой модели и определяется функциональностью, требованиями и ограничениями, исходящими из начальной задачи. Из поведенческой модели системы создаётся алгоритм программы управления, который, в свою очередь, является основой программного кода. Все три уровня (поведенческая модель - алгоритм - код) должны быть согласованы друг с другом. 
- 
-==== Алгоритм ==== 
- 
-Алгоритм описывает логику управления системой и изображен в виде блок-схемы. Нескольких элементов и описания их соотношений достаточно, чтобы создать простой алгоритм. Если алгоритм робота составлен правильно, то относительно легко составить программу управления для этого робота. 
-В алгоритме обычно используется два различных объекта: прямоугольник с закругленными углами, который обозначает какую-либо деятельность, и маленький ромб для проверки какого-либо условия, после чего следует затем запуск дальнейшей деятельности в соответствии с результатами проверки. 
- 
-Значения символов, используемых в алгоритме: 
- 
-^Символ^Значение^0^1^-1^ 
-|M1|левый двигатель|стоит|крутится по часовой стрелке|крутится против часовой стрелки| 
-|M2|правый двигатель|стоит|крутится по часовой стрелке|крутится против часовой стрелки| 
-|F|первый средний сенсор касания|нет сигнала|есть сигнал| | 
-|FR|первый правый сенсор касания|нет сигнала|есть сигнал | | 
-|FL|первый левый сенсор касания|нет сигнала|есть сигнал | | 
-|d|ссылка| | | | 
- 
-[{{  :examples:projects:robot:robot_algoritm.png?500  |Диаграмма состояния алгоритма}}] 
- 
-==== Исходный код ==== 
- 
-Простая навигация 
-<code c> 
-#include <homelab/module/motors.h> 
-#include <homelab/pin.h> 
-#include <homelab/delay.h> 
- 
-// Определение выводов бампера 
-pin front      = PIN(C, 0); 
-pin frontleft  = PIN(C, 1); 
-pin frontright = PIN(C, 2); 
- 
-// 
-// Основная программа 
-// 
-int main(void) 
-{ 
- // Инициализация двигателей 0 и 1 
- dcmotor_init(0); 
- dcmotor_init(1); 
- 
- // Выводы сенсоров входами 
- pin_setup_input_with_pullup(front); 
- pin_setup_input_with_pullup(frontleft); 
- pin_setup_input_with_pullup(frontright); 
- 
- // Бесконечный цикл 
- while (true) 
- { 
- // Запуск двигателей по часовой стрелке 
- dcmotor_drive(0, 1); 
- dcmotor_drive(1, 1); 
-      
- // Контроль сигнала среднего сенсора 
- if (pin_get_value(front)) 
- { 
- // Реверсирование двигателей 
- dcmotor_drive(0, -1); 
- dcmotor_drive(1, -1); 
- 
- // Пауза в 1 секунду 
- sw_delay_ms(1000); 
- 
- // Запуск левого мотора по часовой стрелке  
- dcmotor_drive(0, 1); 
-  
- // Пауза в 2 секунды 
- sw_delay_ms(2000); 
- } 
- 
- // Контроль сигнала левого сенсора 
- else if (pin_get_value(frontleft)) 
- { 
- // Реверсирование правого двигателя 
- dcmotor_drive(1, -1); 
-  
- // Пауза в 2 секунды 
- sw_delay_ms(2000); 
- } 
- 
- // Контроль сигнала правого сенсора 
- else if (pin_get_value(frontright)) 
- { 
- // Реверсирование левого двигателя 
- dcmotor_drive(0, -1); 
-  
- // Пауза в 2 секунды 
- sw_delay_ms(2000); 
- } 
- } 
-} 
-</code> 
- 
-~~PB~~ 
- 
-===== Готовое решение ===== 
- 
-Созданная в рамках этого проекта платформа робота в значительной степени состоит из пластика, за исключением креплений двигателя, которые сделаны из алюминия. Электронные модули размещены поверх друг друга, и аккумулятор свободно помещается между пластинами. Бамперы сделаны из печатных плат и окрашены в черный цвет. Верхняя плата робота является абсолютно плоской, позволяя прикреплять различные выбранные устройства. На робота был установлен несложный радар, который состоит из небольшого серводвигателя RC и инфракрасного датчика. В качестве второго решения на платформу был установлен модуль интеллектуальной камеры для решения задач машинного зрения. Оба решения показаны на следующих изображениях. Стандартный манипулятор был испытан в качестве третьего устройства, компоненты которого контролируются стандартным серводвигателем, используя последовательный интерфейс для управления их приводом.  
- 
-[{{  :examples:projects:robot:robot_radar.png?580 |Робот с инфракрасным радаром}}] 
-[{{  :examples:projects:robot:robot_camera.png?580  |Робот с модулем интеллектуальной камеры (CMUcam3)}}] 
- 
-~~PB~~ 
- 
-===== Финансовый расчёт ===== 
- 
-Финансовый расчёт включает в себя стоимость компонентов и затраты на изготовление роботов. 
- 
-Таблица стоймости компонентов 
- 
-^Компонент^Марка^Кол-во^Цена^Стоимость^ 
-|Двигатель|M LE149.6.43|2|500.-|1000.-| 
-|Микроконтроллер|uC ATmega128|1|900.-|900.-| 
-|Актуатор двигателя|Actuator Board v1.2|1|700.-|700.-| 
-|Плата питания|TP|1|500.-|500.-| 
-|Датчики линейного отслеживания|LFS QRD1114|8|30.-|240.-| 
-|Сенсоры касания|TS Microswitch|8|25.-|200.-| 
-|Плата корпуса|ABS |4|50.-|200.-| 
-|Заготовка печатной платы| |2|50.-|100.-| 
-|Профиль крепления двигателя|Al-L |2|10.-|20.-| 
-|Колесо|60/10 mm |2|30.-|60.-| 
-|Аккумулятор|NI-MH 9,6 V|1|350.-|350.-| 
-|Различные кабели| |10|20.-|200.-| 
-|Гайки-болты| |1|50.-|50.-| 
-|Другие принадлежности| |1|100.-|100.-| 
-^ Итого^ ^ ^ ^ 4620.- ^ 
- 
-Оценка труда и себестоимости производства в одном экземпляре робота. 
- 
-^Работа^Время (h)^Цена^Стоимость^ 
-|Фрезеровка деталей конструкции|1|300.-|300.-| 
-|Фрезеровка печатных плат (бампер)|0,5|500.-|250.-| 
-|Составление конструкции робота|0,5|250.-|125.-| 
-|Составление бампера (пайка компонентов)|1|300.-|300.-| 
-|Программирование|5|300.-|1500.-| 
-|Составление документации|3|250.-|750.-| 
-^Итого^ 11 ^ ^ 3225.- ^ 
- 
-Оценочная стоимость робота всего **7845.-** 
- 
-Высчитанная стоимость робота всё же приблизительная, так как это учебный проект, где большинство работ и составлений выполнено в значительно большем объёме, но без прямой денежной оплаты. Таким образом, затраченное время и работа приблизительные и не отражает реальной ситуации. 
- 
-===== Управление проектом ===== 
- 
-Мехатронная система (Робот) создана в качестве командной работы с графиком и бюджетом, тем самым, имея большинство особенностей проекта. Основные направления деятельности управления проектом были: планирование времени, планирование работы команды и управление ей, бюджетный мониторинг и получение средств, текущая отчетность перед руководителем, презентации и документирование результатов. К докладу проекта добавляются протоколы  собраний рабочих групп, план проекта (желательно диаграммой Ганта), распределение ресурсов (включая человеческие ресурсы), запланированный и фактический бюджет. В качестве примера приведён простой план действий диаграммой Ганта. 
- 
-[{{  :examples:projects:robot:roboti_projekt_gantt.gif?580  |Структурная схема проекта}}] 
- 
-===== Резюме и выводы ===== 
- 
-Финансовые расчеты показали, что себестоимость производства робота довольно высока, особенно при работе с одним роботом, но всё же остается в пределах первоначальной задачи. Затраты на производство, безусловно, могут быть существенно ниже за счет оптимизации материалов и комплектующих и производства большего количества роботов. В ходе этого проекта мы узнали, как проектировать систему мехатроники, как построить и протестировать её. 
- 
-В конце работы выяснилось, что для исправной работы робота требуется значительно больше времени затратить на планирование и тестирование, особенно по части программы. Разные модули не всегда работают вместе корректно, хоть и были в порядке при их отдельном тестировании. Это показывает, что интегрирование модулей системы - это настоящий вызов и на него требуется запланировать значительно больше времени и ресурсов. 
- 
-В заключении считаем, что данный проект был очень интересным и познавательным и дал представление о проектировании и изготовлении интегрированной системы. 
- 
-===== Ссылки и использованные материалы ===== 
- 
-  - Инструкция Домашней Лаборатории http://home.roboticlab.eu 
-  - Спецификация ATmega128 
-  - Dudziak, R., Köhn, C., Sell, R., Integrated Systems & Design, TUT Press, 2008 
-  - Friendenthal, S., Moore, A., Steiner, A., A Practical Guide to SysML, Elsevier, 2008 
-  - Perens, A. Projektijuhtimine, Külim, 1999 
-  - Bräunl, T. Embedded Robotics, Springer-Verlag, 2003 
ru/projects/wheeled_robot.1376747266.txt.gz · Last modified: (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0