This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| ru:projects:wheeled_robot [2013/08/17 16:47] – eduardtlmk | ru:projects:wheeled_robot [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Платформа мобильного робота ====== | ||
| - | Подвижный робот (мобильный робот) является одним из популярных роботов, | ||
| - | |||
| - | Далее рассмотрим документацию одной типичной мобильной платформы проекта робота и его различных этапов. | ||
| - | |||
| - | |||
| - | ===== Исходное задание ===== | ||
| - | |||
| - | Спроектировать и построить многофункциональную мобильную платформу робота с базовой функциональностью навигация с помощью компонентов Домашней Лаборатории. Платформа должна позволять легко менять его оперативную функциональность, | ||
| - | * Манипулятор | ||
| - | * Радар | ||
| - | * Камера | ||
| - | Робот должен иметь возможность двигаться на плоской поверхности в помещении. | ||
| - | |||
| - | ==== Требования ==== | ||
| - | |||
| - | * Максимальные габариты: | ||
| - | * Максимальный вес 2 kg | ||
| - | * Скорость движения min. 0,1 m/s | ||
| - | * Возможность легкого добавления дополнительного оборудования | ||
| - | * Полная автономия | ||
| - | |||
| - | ==== Ограничения ==== | ||
| - | |||
| - | * Должна быть построена в основном из компонентов Домашней Лаборатории | ||
| - | * Стоимость компонентов не должна превышать 600 € | ||
| - | |||
| - | ~~PB~~ | ||
| - | |||
| - | ===== Общая модель системы ===== | ||
| - | |||
| - | Общая модель системы представлена в виде блок-схемы. Она описывает структуру, | ||
| - | |||
| - | [{{ : | ||
| - | |||
| - | ===== Проектные решения ===== | ||
| - | |||
| - | Для решения этой задачи команда использовала метод мозгового штурма и сгенерировала 3 концептуально разных решения. Была составлена оценочная матрица, | ||
| - | |||
| - | [{{ : | ||
| - | |||
| - | ~~PB~~ | ||
| - | |||
| - | Упрощённая оценочная матрица выглядит следующим образом: | ||
| - | |||
| - | ^ Функция/ | ||
| - | |Стоимость| 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. Вес факторов был выбраны в соответствии с требованиями и ограничениями, | ||
| - | |||
| - | Судя по оценке, | ||
| - | |||
| - | ^ Функция/ | ||
| - | |Стоимость | 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 | | ||
| - | |Место для установки доп.оборудования | ||
| - | ^Итого(вместе с вес.коэффициентом) ^ 23,8^23,5^ 35,7^ ^ | ||
| - | |||
| - | Так как один из наиважнейших приоритетов была цена, то было выбрано готовое решение " | ||
| - | |||
| - | Дальнейшая работа продолжала развивать выбранное решение в реальной системе. | ||
| - | |||
| - | ~~PB~~ | ||
| - | |||
| - | ===== Механика ===== | ||
| - | |||
| - | Механику постарались сделать как можно более простой, | ||
| - | |||
| - | [{{ : | ||
| - | |||
| - | Бампер робота проектируется отдельно и интегрирован с сенсорными датчиками и датчиками отслеживания линий. Бампер сделан из ПХБ и имеет электричество в дополнение к конструкции. Датчики отслеживания линий припаяны непосредственно к бамперу нижней пластины. Сенсорные датчики (микропереключатели) помещены между двумя пластинами бампера и покрыты единым куском резины. Резиновая деталь поглощает удар и в то же время даёт возможность определить, | ||
| - | |||
| - | [{{ : | ||
| - | |||
| - | ===== Электроника ===== | ||
| - | |||
| - | Электроника системы описана принципиальным решением и классической электронной схемой со схемой монтажа печатной платы. | ||
| - | |||
| - | [{{ : | ||
| - | |||
| - | ~~PB~~ | ||
| - | |||
| - | В качестве примера приведена схема электроники датчиков отслеживания линий и монтажная схема печатной платы (PCB). | ||
| - | |||
| - | [{{ : | ||
| - | |||
| - | [{{ : | ||
| - | |||
| - | ~~PB~~ | ||
| - | |||
| - | ===== Система управления ===== | ||
| - | |||
| - | Система управления роботом происходит из поведенческой модели и определяется функциональностью, | ||
| - | |||
| - | ==== Алгоритм ==== | ||
| - | |||
| - | Алгоритм описывает логику управления системой и изображен в виде блок-схемы. Нескольких элементов и описания их соотношений достаточно, | ||
| - | В алгоритме обычно используется два различных объекта: | ||
| - | |||
| - | Значения символов, | ||
| - | |||
| - | ^Символ^Значение^0^1^-1^ | ||
| - | |M1|левый двигатель|стоит|крутится по часовой стрелке|крутится против часовой стрелки| | ||
| - | |M2|правый двигатель|стоит|крутится по часовой стрелке|крутится против часовой стрелки| | ||
| - | |F|первый средний сенсор касания|нет сигнала|есть сигнал| | | ||
| - | |FR|первый правый сенсор касания|нет сигнала|есть сигнал | | | ||
| - | |FL|первый левый сенсор касания|нет сигнала|есть сигнал | | | ||
| - | |d|ссылка| | | | | ||
| - | |||
| - | [{{ : | ||
| - | |||
| - | ==== Исходный код ==== | ||
| - | |||
| - | Простая навигация | ||
| - | <code c> | ||
| - | #include < | ||
| - | #include < | ||
| - | #include < | ||
| - | |||
| - | // Определение выводов бампера | ||
| - | pin front = PIN(C, 0); | ||
| - | pin frontleft | ||
| - | 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, | ||
| - | dcmotor_drive(1, | ||
| - | | ||
| - | // Контроль сигнала среднего сенсора | ||
| - | if (pin_get_value(front)) | ||
| - | { | ||
| - | // Реверсирование двигателей | ||
| - | dcmotor_drive(0, | ||
| - | dcmotor_drive(1, | ||
| - | |||
| - | // Пауза в 1 секунду | ||
| - | sw_delay_ms(1000); | ||
| - | |||
| - | // Запуск левого мотора по часовой стрелке | ||
| - | dcmotor_drive(0, | ||
| - | |||
| - | // Пауза в 2 секунды | ||
| - | sw_delay_ms(2000); | ||
| - | } | ||
| - | |||
| - | // Контроль сигнала левого сенсора | ||
| - | else if (pin_get_value(frontleft)) | ||
| - | { | ||
| - | // Реверсирование правого двигателя | ||
| - | dcmotor_drive(1, | ||
| - | |||
| - | // Пауза в 2 секунды | ||
| - | sw_delay_ms(2000); | ||
| - | } | ||
| - | |||
| - | // Контроль сигнала правого сенсора | ||
| - | else if (pin_get_value(frontright)) | ||
| - | { | ||
| - | // Реверсирование левого двигателя | ||
| - | dcmotor_drive(0, | ||
| - | |||
| - | // Пауза в 2 секунды | ||
| - | sw_delay_ms(2000); | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ~~PB~~ | ||
| - | |||
| - | ===== Готовое решение ===== | ||
| - | |||
| - | Созданная в рамках этого проекта платформа робота в значительной степени состоит из пластика, | ||
| - | |||
| - | [{{ : | ||
| - | [{{ : | ||
| - | |||
| - | ~~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/ | ||
| - | |Аккумулятор|NI-MH 9,6 V|1|350.-|350.-| | ||
| - | |Различные кабели| |10|20.-|200.-| | ||
| - | |Гайки-болты| |1|50.-|50.-| | ||
| - | |Другие принадлежности| |1|100.-|100.-| | ||
| - | ^ Итого^ ^ ^ ^ 4620.- ^ | ||
| - | |||
| - | Оценка труда и себестоимости производства в одном экземпляре робота. | ||
| - | |||
| - | ^Работа^Время (h)^Цена^Стоимость^ | ||
| - | |Фрезеровка деталей конструкции|1|300.-|300.-| | ||
| - | |Фрезеровка печатных плат (бампер)|0, | ||
| - | |Составление конструкции робота|0, | ||
| - | |Составление бампера (пайка компонентов)|1|300.-|300.-| | ||
| - | |Программирование|5|300.-|1500.-| | ||
| - | |Составление документации|3|250.-|750.-| | ||
| - | ^Итого^ 11 ^ ^ 3225.- ^ | ||
| - | |||
| - | Оценочная стоимость робота всего **7845.-** | ||
| - | |||
| - | Высчитанная стоимость робота всё же приблизительная, | ||
| - | |||
| - | ===== Управление проектом ===== | ||
| - | |||
| - | Мехатронная система (Робот) создана в качестве командной работы с графиком и бюджетом, | ||
| - | |||
| - | [{{ : | ||
| - | |||
| - | ===== Резюме и выводы ===== | ||
| - | |||
| - | Финансовые расчеты показали, | ||
| - | |||
| - | В конце работы выяснилось, | ||
| - | |||
| - | В заключении считаем, | ||
| - | |||
| - | ===== Ссылки и использованные материалы ===== | ||
| - | |||
| - | - Инструкция Домашней Лаборатории http:// | ||
| - | - Спецификация ATmega128 | ||
| - | - Dudziak, R., Köhn, C., Sell, R., Integrated Systems & Design, TUT Press, 2008 | ||
| - | - Friendenthal, | ||
| - | - Perens, A. Projektijuhtimine, | ||
| - | - Bräunl, T. Embedded Robotics, Springer-Verlag, | ||