Автономный бот Diana

25.10.2006, 11:48

ОБЩЕЕ ОПИСАНИЕ ПРОЕКТА

Трехколесный аппарат. Внутри Pentium III-650 МГц

(Технологический компьютер - моноплата без вентилятора,на ней винчестер 40 Гб от ноутбука, интегрированный на плату PIC контроллер, как устройство ввода\вывода,управляемое по ISA шине. Usb порты(2),Com порт,VGA + LCD выходы, (контроллеры VGA и LCD на плате),LAN,MIC-IN-OUT звук.Имеется : LCD экран (8")на борту,USB WEB камера, USB Wireless 802.11.G device (фирма C-NET).Питается от АКБ +12В\7АЧ, через преобразователь +12->220 и стандартный блок питания 150 ВТ.Операционная система Win-XP.

СТРУКТУРНАЯ СХЕМА

ПРИНЦИПИАЛЬНАЯ СХЕМА БЛОКА ИНТЕГРИРОВАННОГО НА РС.

Здесь показана схема ,включающая декодер адресов c регистрами, который внедрен в шину ISA, управляет PIC контроллером и опрашивает датчики IRDA сенсора и порты RF управления, а также сам PIC контроллер,управляющий мостами маршевых двигателей ( bridge) и двигателя рулевого колеса (wheel).

Принципиальна схема декодера адресов с регистрами

Декодер (как было сказано) внедрен в шину ISA. Выполнен на ПЛМ матрице фирмы ALTERA

В архиве ниже находятся файлы GDF. и POF. Первый - графический файл от среды MAX+pusII Второй - прожигаемый файл от нее же. В этой среде разрабатывался декодер на ПЛМ.

ПРОГРАММНАЯ ЧАСТЬ БЛОКА ,ИНТЕГРИРОВАННОГО НА РС

Здесь лежит прожигаемый файл и исходник, предназначенные для PIC контроллера. Среда разработки фирмы ФИТОН

Управление --удаленным компом через Wireless

Ethernet программой RADMIN (чрезвычайно просто быстро и удобно).

На фото показан экран аппарата с управляющей программой (видны клавиши интерфейса управления и экран выводящий изображение Веб-камеры)

Это же изображение видится на удаленном компе,который является пультом управления.(Через RAdmin)

Это фото "пульта управления" .Здесь тоже Pentium III 650 MHz. Связь ,естественно, по Wi-FI.

УПРАВЛЕНИЕ 2.

Добавлена дублирующая система управления с пульта - брелка .Частота радиоканала 433.92 МГц. Команд 7,несмотря на 4 кнопки , для "портативного" управления в пределах 10 м вполне приемлемо.

За основу взят комплект от "Мастер-кит". см.фото ниже.

GSM модуль.

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

ДВИГАТЕЛИ

Двигателей два -- от стеклоподъёмников.Управление двигателями -- два транзисторных моста управляемых PIC контроллером .Питание-- 2АКБ +12В\7АЧ ,по одной на двигатель.Корпус -- прямоугольный параллелепипед. Софт для общей программы и для ПИКа пишется прямо здесь же на борту ,подключив мышь и клавиатуру на время (С++ Builder и MPLAB 6.0)Программатор Также ,для удобства, на борту.Для отладки ,плата может питаться от сети ( минуя преобразователь). На данный момент уже ездит.

ЗВУКОВАЯ ПОДДЕРЖКА.

Имеется возможность встраивать в головную программу любой текст для озвучивания любых событий. Сложность текста (русского) не ограничена. Можно легко вставить текст " Уровень заряда батарей мал.Зарядите батарею"

РУЛЕВОЙ УЗЕЛ

Дальнейшим развитием конструкции стал рулевой узел для пропорционального управления.Механизм сделан вручную, двигатель от стеклоочистителя фар Жигулей.

Редуктор узла отдельно.

Узел в сборе.

Управление рулевым узлом производится таким же мостом как и при управлении маршевыми двигателями. см. ниже.

ДАЛЬНЕЙШЕЕ РАЗВИТИЕ.

1 Установка датчиков дыма и обнаружения движения.
2.Установка GSM сигнализации ( железо и программа уже есть)
3.Установка систем ориентации -
-- местной на основе оптической мыши
-- глобальной на основе GPS .
4.Установка беспроводного видеоканала
(для приёма сигнала на бытовой телевизор. Железо уже имеется и работает.Стандартный канал на частоте 2,4 ГГц).
5.Установка системы автопоиска зарядной базы и цикла автоподзарядки
6.Внедрение системы псевдосервоуправления.

ОПИСАНИЕ БЛОКОВ И УЗЛОВ.

1.Мост управляющий двигателями.

Схема без затей но работает надёжшо без заметных проблем.

2.Локатор препятствий IrDa

Локатор выполнен отдельным блоком на микроконтроллере.

Дополнение: маленькая платка на плате локатора (справа вверху) это приемник для дублирующей системы управления. см.фото ниже.Микроконтроллер локатора обрабатывает дополнительно и сигналы с приемника и передает их на РС,где головная программа принимает решение ,как их обрабатывать

Замечание: интегирующая цепь в INFRARED MODULE ( в приемной части -- диод,резистор и емкость) для срезания импульсных помех на выходе TSOP. Помехи сильно мешают ,особенно на свету,программно бороться с ними слишком муторно,а данный вариант убирает всю проблему целиком. Программа локатора : Attach:locator.zip

На фото ниже видна плата ИК-локатора в вернем правом углу аппарата

В архиве прожигаемый HEX и листинг на ассемблере. (извинения - в листинге много ненужных переменных ,они не мешают никоим образом !!!!!,но разобраться в проге сложнее!!).Листинг преобразовывался в HEX MPLAB 6.22 и средой разработки фирмы "Фитон" .В обоих случаях без проблем, но фитоновский пакет намного удобнее для работы.(www.phyton.ru для справки).

Принцип работы локатора:

Контроллер формирует пачки импульсов (7 импульсов) с несущей частотой 36 КГц, причем 1 пачка идет с порта RB4,2 пачка с RB5,3 пачка с RB6 и 4 пачка с RB7. Одновременно идет опрос выводов -- RB0 для 1 пачки, RB1 для 2-ой, RB2 для 3-ей, RB3 для 4-ой. В случае приема отраженного сигнала (лог.единица на входах RB0 RB3) на выходах RD0 - RD3 будут выставлены лог.единицы соответственно для дальнейшего считывания компом (т.е. для узнавания состояния локатора на препятствия).В выбранной модели контроллера остаются свободные выводы,они будут использованы для добавления др. датчиков.Данный алгоритм был использован в моем проекте Тайга.

Это конструкция сенсора для локатора.В нем только светодиод и TSOP 1736.Конструкция разборная -- задняя часть сдвигается т.к. сделана из небольшого короба для прокладки кабелей.Металлическая трубочка для экраниро вания TSOP от прямого излучения.

Фото всей конструкции ИК сенсора (где используется модуль сенсора см.выше) По краям ИК модули,в центре контактный бампер. Бампер включен в общую схему локатора.

Фото ИК локатора -- фронтально-вертикальный и горизонтально-боковой излучатели.

3.МОДУЛЬ ПОДКЛЮЧЕНИЯ МОСТОВ

Очень простая схема .Она подключает питание для двигателей.Опторазвязка для защиты от пробоя и помех. Все комментарии на схемах по английски -- Оркад 9.1 не понимает русского.

4.ЛАЗЕРНЫЙ ДАЛЬНОМЕР

Предлагаемая идея -- имеется лазерный источник света и камера , разнесенные на некоторое расстояние (базу) и расположенные под углом друг к другу. Геометрия расположения такова,что пятно от лазера видимое на препятствии , находится в центре получаемого BMP файла.(достигается настройкой)

Далее,имеем режим сканирования -- изменяем угол между камерой и лазером от 2 до 89 градусов.У меня эти цифры следуют из конструктива.И при том угле, когда пятно попадает в центр BMP файла (зная размер кадра камеры),высчитываем расстояние до объекта по формуле L = A/2 * tg a , где А расстояние между камерой и лазером, а - угол между осью лазера(камеры)и линией между камерой и лазером.См рис.ниже

Опыт замера производился(угол мерялся правда транспортиром ,пока)и расстояние мерялось от 3.5 м до 15 см.Теоретически при моей базе 44 см между лазером и камерой , макс. расстояние для измерения-- около 12м.Сейчас готовится механизм поворота лазера и камеры и программа нахождения лучом центра файла (для автоматического вычисления и сканирования).

Фото дальномера в работе

Вот так "видит " камера лазерную метку на расстоянии 3 метров при средней освещенности.

ДАЛЬНОМЕР 2.

Прицип работы оптического лазерного дальномера.

Имеется лазерный источник света и матрица цветной камеры , расположенные на небольшом расстоянии друг от друга под некоторым определенным углом. Причем матрица расположена т.о., чтобы в ее "поле зрения" попадала,некоторая зона пространства перед связкой "лазер-матрица".На рисунке она названа "зоной измерений".Диапазон этой зоны выбирается согласно требований.

Принцип измерения расстояния до целей (см. рисунок) в следующем:

На цели 1 при наведении на нее лазера появится яркое красное пятно. Благодаря оптике (линзе) оно спроецируется и отразится на матрице камеры. Причем легко заметить, что цель 1 ,при неизменном угле и расстоянии между камерой и источником л.света, всегда будет в крайнем левом (см. рисунок) столбце матрицы.Здесь система настроена так, что все цели (красные точки от лазерной указки) всегда будут на одной горизонтальной линии матрицы, расположенной посередине матрицы. При изменении положения целей (расстояния до источника лазерного света) проецируемые на матрицу изображения их будут располагаться согласно рисунку.( Проверено опытным путем). Далее ,зная координаты пикселей матрицы,можно однозначно связать их с реальными расстояниями до целей.

В стендовых условиях оттарировать систему и заранее составить таблицу соответствия расстояний и координат пикселей (с нужным шагом). Это несколько громоздко ,но в заводских условиях несложно, и к тому же избавляет от необходимости производить вычисления каждый раз. Это сильно упрощает всю систему. Остается один вопрос.Оптическая система должна обеспечить хорошую резкость изображения пятна во всем диапазоне измерения. В устройствах типа бинокль это делает оператор ,вручную наводя резкость на объект. В случае автомата можно воспользоваться линзой с плавно изменяющимся фокусом,который обеспечит резкость во всем диапазоне. Зная ,что ,к примеру, в крайнем левом положении, система лазер-камера настроены так,что там будут попадать только объекты на расстоянии 50 м, а в крайнем правом -- объекты на расстоянии 10 см, изготовляем соотв. линзу. В домашних условиях,используя наидешевейшую ВЕБ камеру с ужасной оптикой,удалось мерять расстояния от 2.5 м до 50 см с шагом 3 .см.Или ,изменив УГОЛ камера-лазер мерять от 50 до 4 см с шагом 3 мм.

На фото ниже до метки 2.5 м

На этом фото до метки 1.7 м

Программа дальномера в работе

KОНСТРУКЦИЯ ДАЛЬНОМЕРА

Дальномер собран на рейке (см.рис).Источник лазерный направлен перпендикулярно рейке.Камера повернута на такой угол, чтобы точка отражающаяся от самого дальнего (по начальному замыслу) объекта была бы видна в крайнем левом столбце камеры (в середине его),а самая ближняя точка - в крайнем правом . Причем надо чтобы обе этих точки находились именно ПОСЕРЕДИНЕ. Тогда ось лазера (по горизонтали) совпадает с осью камеры. Проверить это можно запустив программу дальномера,глядя в левое окно программы.Далее тарируется таблица справа. Ставится препятствие на известное расстояние и значению Х пикселя пишется это расстояние в таблицу.

Архив программы :Здесь

Предлагаю конструкцию захвата для заряда АКБ на "базе".На рис.синим цветом отмечен электромагнит (причем стандартный девайс от домофонного блока,таких в продаже полно).Питание 12 В. Красным цветом стальная пластина.При легком касании срабатывает сенсор, здесь не показан,включается эл.магнит и притягивает, с НЕМАЛЫМ усилием аппарат к себе, что и нужно для контакта с зарядной фишкой,потом эл.магнит программно отключается. У меня 15 кг аппарат почти мёртво пристыковывался - рукой не оторвать.(Ну как дверь с замком в подъезде). Сам принцип я опробовал, надо сделать еще контактную зарядную фишку.


Источник: https://www.hand-id.narod.ru - Biometrical identification system Handshake


Ключевые слова:
автономный бот
управления
локатор
камеры
система
расстоянии
Установка
лазер
сенсор
дальномер
аппарат
матрицы
схема
программы
датчик
измерения
Автономный бот Diana
Роботы своими руками
робот


Вернуться в рубрику:

Роботы своими руками


Хотите видеть на нашем сайте больше статей? Кликните Поделиться в социальных сетях! Спасибо!

Смотрите также:

Обратите внимание полезная информация.

Робототехника для каждого. 2024г.