Пользователь
0,0
рейтинг
1 сентября 2012 в 14:40

Разработка → Автоматическая газель на Arduino (часть 1)

Введение


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

Немного о соревнованиях


Итак, сегодня я бы хотел рассказать о 3-их Всероссийских соревнованиях автомобилей роботов РОБОКРОСС-2012 проходивших в городе Волоколамск, и о том, как моей команде из Саратова MobRob удалось занять 2 место. Соревнования проходят при поддержке Фонда «Вольное дело» Олега Дерипаска, а также Россмолодежь. 2 года подряд соревнования проходили на озере Селигер, а в этот раз организаторы решили провести соревнования в Подмосковье, на оборудованном полигоне.



Оборудование нашей газели


Когда выбирали на чем поедет газель, выбор пал на плату arduino Uno, хотя выбирать в принципе было из чего.

Выбирали из

  • Одноплатного компьютера фирмы Fastwel MK 905




  • Плата National Instruments Single-Board RIO c LabVIEW




На плате NI, газель ездила 2 года подряд и в принципе никаких нареканий не было, от mk 905 отказались ввиду того что шина FBUS, которая позволяет подключать датчики и исполнительные устройства работает на 24В, а практически все оборудование у нас на 12В, ни хотелось понижать. В этом году решили сделать все как можно проще, т.к. все равно приходилось все делать с нуля, потому что все оборудование достаточно дорогое, а используется не только на газели, после очередных соревнований как всегда ничего не найдешь, ни проводов, ни концевиков, ни программ, а так как недавно закупили платы Arduino Uno, плата проявила себя неплохо, решили использовать ее.

Пожалуй, перечислю все оборудование, которое стояло на газели


  1. Arduino Uno
  2. 1 Энкодер на руле фирмы Autronics
  3. Лазерный дальномер фирмы SICK LMS 511
  4. Телефон
  5. Ноутбук
  6. 2 Камеры Sony Playstation Eye
  7. 3 стеклоподъемника от автомобилей ВАЗ
  8. 3 драйвера двигателя MoviServo


Вся система (в виде схемы) выглядет таким образом





Всего было 2 режима работы


1. Ручное управление: смысл заключается в следующем, с ноутбука отправляется управляющий сигнал на плату arduino, которая в свою очередь подает на соответствующую ножку (PIN) ШИМ сигнал, данная ножка подключена к драйверам двигателей MoviServo, в свою очередь которые уже и управляют непосредственно двигателями. Так управляется сцепление и тормоз. Управление рулем такое же, за исключением того, что на руле установлен энкодер, который позволяет точно определить в каком положение сейчас находится руль.

2. Автономный режим: по данным со спутника. Мы использовали сотовый телефон, который подключался к ноутбуку. Для навигации хотели купить модуль GPS для Arduino, но отказались от него т.к. он не очень точный, у нас была плата Arduino UNO у которой почти все ножки уже были заняты, конечно, можно было использовать Arduino Mega, но все-таки мы пошли иным путем, телефон показывает довольно-таки точное местоположение, за счет сотовых вышек и GPS. Также на газели был установлен сканер SICK с помощью которого, строилась карта препятствий. Из препятствий на поле были бетонные ограждения и железные бочки. Также была использована камера Playstation eye, но никаких сложных алгоритмов мы не писали, просто вывод картинки и передача ее на удаленный компьютер, в отличие от прошлого года, когда приходилось писать программу для распознавания препятствий, в этом, она просто не понадобилась.

Задание, которое необходимо было выполнить


Нужно было проехать в ручном или автоматическом режиме, у кого какой работал, по заданной траектории, на земле лежали 3 плаката с цифрами, оператор, сидя в палатке с судьей смотрели в монитор ноутбука и разглядывали те цифры, которые были написаны на плакатах, у всех команд порядок цифр был свой. Если автомобиль ехал в автоматическом режиме ему присуждалось больше очков, нежели если в ручном, увидеть все плакаты, также нужно было проехать между 2мя бочками, так называемыми воротами, за что тоже давались очки.

Заключение


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

В соревнованиях было 2 номинации: это лучшее техническое решение в котором мы заняли 1е место, и общеквалификационное заняли 2е место. Все, кто спрашивал какое оборудование вы используете, удивлялись нашему ответу — «Arduino».



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









Больше фотографий о мероприятии на ссылке ниже
www.robosport.ru/forum/index.php?/gallery/album/20-%d1%80%d0%be%d0%b1%d0%be%d0%ba%d1%80%d0%be%d1%81%d1%81-2012

Благодарности


Хотелось бы сказать огромное спасибо всем командам которые приняли участия, компании ГАЗ и Лилии Кусакиной.

P.S. Спасибо за внимание.

P.P.S Пока не знаю толком что писать во второй части, может про реализацию программы для сканера SICK, т.к. там тоже свои нюансы, если у Вас есть предложения, то буду рад.
@bebebe
карма
32,2
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (45)

  • 0
    Поздравляю.
    Обязательно напишите про программу для сканера и про сам сканер. И про решения автономных конкурентов :)
    • +3
      Спасибо… Хорошо, обязательно напишу про сканер.
  • +1
    Видео есть как «антилопа» проезжала преграды?
    • НЛО прилетело и опубликовало эту надпись здесь
    • НЛО прилетело и опубликовало эту надпись здесь
    • НЛО прилетело и опубликовало эту надпись здесь
  • +1
    К сожалению мы сами видео не снимали, небыло времени, вот все, что смог найти, хотя репортеров было много, в том числе снимали видео изнутри нашей газели во время движения, но видео я так и не нашел.

    www.youtube.com/watch?v=O6ft-dD8c4U — неудачная попытка московской команды, но все равно ребята молодцы, было все очень технологично.

    Какой-то репортаж — www.youtube.com/watch?NR=1&v=pu-YnSeqT8M&feature=endscreen
    • +1
    • 0
      А где заявленная аварийная кнопка? :)
      • 0
        Всего было 2 аварийных кнопки, на бортах автомобиля.
  • 0
    А почему именно газель?
    • +2
      В Москве на соревнованиях Робоспорт 3 года назад, компания ГАЗ за призовые места предоставляла ключи от газелей, причем условием чтобы газель осталась у команды, было переоборудование ее в автономную и участия в первых соревнованиях Робокросс. Сначала было всего 5 машин, и все газели, но уже на вторых соревнованиях появились другие команды уже с легковыми автомобилями.
  • 0
    Кстати, очень интересный рассказ.

    Пара вопросов: а какое-то развитие проекта ожидается? И какую организацию вы представляете?
    • НЛО прилетело и опубликовало эту надпись здесь
  • +3
    Ждемс появления автономных маршруток на улицах Сколково…
    • +9
    • +1
      image

      И вариант для ньюфагов:

      image
  • +2
    А скорости-то переключаются?
    • НЛО прилетело и опубликовало эту надпись здесь
  • +2
    Какой-то у вас всё же странный проект был. Если хотели GPS для Arduino, но не хватало денег на GPS-модуль, то почему было бы не устроить сопряжение телефона с Arduino, через, например bluetooth или ещё лучше, Arduino ADB shield?
    Чего экономить копейки и не взять сразу Mega?
    И кстати, вместо Arduino можно взять очень приличную российскую альтернативу в виде Freeduino, по привлекательной цене.
    • 0
      Лепили из того что было по принципу «проще значит лучше». Времени на подготовку было очень мало. Машина была подготовлена за неделю.
    • 0
      Конечно можно было и через bluetooth, у нас даже модуль был bluetooth Bee, но совсем не оставалось входов для него, а т.к Mega у нас не было, нужно было заказывать, решили сделать на том что было. Спасибо за советы.
  • 0
    Да, тоже вот вопрос насчет управления КПП и педалями. Туда ведь тоже нужны энкодеры и сервы?
    • 0
      Энкодеры там не нужны. Скорость вращения движков регулируется мувисервами, а сам факт нажатия педали контролируется обычным концевиком на раме.
  • +3
    Поздравляю с победой. Приятно видеть, что в университетах не только протирают штаны.
    Но есть одна вещь, которую хочется пожелать (именно пожелать, а не поворчать на эту тему): пусть ваши следующие конструкции будут не только работать так, как задумано, но и выполнены будут на достойном уровне монтажа. Пусть хватит денег на пластиковые стяжки вместо изоленты. На аккуратную закрывающуюся коробку (хоть тот же бокс для бутербродов) вместо картонной. Терпения — на использование термоусадочной трубки, использование проводов одного цвета в линии, использование разноцветных проводов в цепях питания вместо желто-зеленых «нулевых». И на то, чтобы отпилить кусок алюминиевого уголка до конца, а не отламывать его.
    Пусть все это будет, и тогда конструкция будет выгодно выделяться уровнем технологической культуры на фоне оборудования тех же Газелей…
    • 0
      Большое спасибо за поздравления и критику, в дальнейшем учтем Ваши пожелания, еще раз спасибо.
  • 0
    Последняя фотка в посте какая-то аномальная, парень в белой футболке не имеет головы…
    • 0
      Его рост около двух метров :) Голова на месте.
  • 0
    Покажите фотографии, как были примонтированы механические тяги к огранам управления Газели.
  • –2
    Читаю и чуть не истерику испытываю… Ардуино, камеры от Playstaion, GPS из телефона… Хочется рыдать… Наука, блин.
    Это при том, что я для себя лично, имея малый доход, выбираю оборудования в разы лучшее.
    • 0
      А чтобы вам не хотелось оправдываться, я добавлю, что у меня шестеро сыновей. То есть моя семья — многодетная. Соответственно есть потребность в расходе финансов именно на семью.
      • 0
        Искренне рад за Вас.
        Похвастаться зашли?
        • 0
          Поскорбеть за державу. И попросить перестать её позорить. Ибо сколько же можно?
  • 0
    Были на робокроссе в качестве наблюдателей и очень хотим выставить свою команду.

    Если не секрет, расскажите, пожалуйста, подробнее, как вы реализовали сервоприводы для органов управления Газели, ведь штатные (для Ардуино) не подойдут, конечно.
    Я достаточно внимательно осматривал «начинку» Волги, к примеру, они сделали сервы из ручных дрелей. Сами.
    Вы же, по-ощущениям (и фотографиям), использовали промышленные приводы. И драйверы, следовательно, тоже.
    Или есть какой-то «хитрый» способ?
    • 0
      Стеклоподъемники от «десятки» :)
      • 0
        Да, Вы указали в посте, что используете моторчики стеклоподъемников от ВАЗов. Но вот как Вы их подключили?!
        Просто «воткнули» через драйвер и дальше работали как с обычными «ардуиновскими» сервами?
        В Сети много примеров (и схем), в которых просто они подключаются как моторы «постоянного вращения», не как сервоприводы. У Вас было так же? Поделитесь знанием, пожалуйста.

        Хотелось бы представлять заранее, какие задачи придется решить, чтобы составить план работ. Если есть простое и надежное «стандартное» решение, то было бы значительно проще его использовать, чем создавать что-то свое.
        • 0
          В посте написано, цитирую
          • 0
            Извиняюсь, нажал Ctrl-Enter
        • +1
          В посте написано, цитирую
          "… с ноутбука отправляется управляющий сигнал на плату arduino, которая в свою очередь подает на соответствующую ножку (PIN) ШИМ сигнал, данная ножка подключена к драйверам двигателей MoviServo, в свою очередь которые уже и управляют непосредственно двигателями..."
          Например, чтобы «дернуть чуть-чуть» регулировать можно только по времени и мощности, подаваемой на двигатели мувисервами.
          • 0
            Значит все-таки полноценные сервоприводы (с обратной связью) не реализовали. Жаль. Но всё равно спасибо за информацию.
            • +1
              Обратная связь- это хорошо, но в данном случае она нам была абсолютно не нужна. Всю необходимую информацию мы собирали с концевиков (на педалях) и энкодера (на руле).
              • 0
                Кстати, насчет концевиков. Вы использовали обычные замыкатели (кнопки), или какие-нибудь тензодатчики?

                Мы хотим использовать именно тензодатчики, чтобы была возможность анализировать усилие на педалях…
                • 0
                  Обычные. Этого было достаточно.
  • 0
    Могу сказать по повду GPS, что я одно время использовал навигационнный датчик от Garmin с com интерфейсом, показывает весьма точно и легко крепится на крыше, стоил тогда около $100, рекомендую его Вам
    • 0
      Спасибо

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