Комментарии 59
Называть роботов именами становится традицией.
0
Круто! С радостью почитаю продолжение!
Мимика у Мити очень интересная, я сам аж загрустил, как увидел на видео его грустную «мордашку».
Жаль, что статья эта не вышла на день-два раньше…
Мимика у Мити очень интересная, я сам аж загрустил, как увидел на видео его грустную «мордашку».
Жаль, что статья эта не вышла на день-два раньше…
+1
А почему бы не использовать Bluetooth как канал связи с Arduino? Тогда можно смартфон как угодно крепить, пропало бы множество проблем и не говоря уже о превращении смартфона в джойстик робота.
+1
Bluetooth это очень просто и хорошо, но совершенно не расширяемо =( видео например уже пердать не получится…
0
Arduino и не снимает видео, это задача смартфона.
А для передачи сигналов управления и состояния датчиков между Arduino и Android-ом Bluetooth более чем хватит.
А для передачи сигналов управления и состояния датчиков между Arduino и Android-ом Bluetooth более чем хватит.
+2
Более того, это позволяет избавиться от USB Host shield и проблемы с объеданием тележки сматрфоном )
0
Мне нравится Ваша идея по использованию Bluetooth. Поддерживаю и думаю, сейчас, я бы так и сделал.
Но когда я всё это затевал, я думал, что хостом в USB-соединении будет смартфон. Когда эту задачу не осилил, я решил, что с проблемой отключения зарядки смартфона справлюсь без вопросов. Но увы, эту проблему я тоже не смог решить.
Я осознано описывал все свои ошибки, т.к. уверен, что моя «граблекарта» поможет другим в принятии технических решений.
Но когда я всё это затевал, я думал, что хостом в USB-соединении будет смартфон. Когда эту задачу не осилил, я решил, что с проблемой отключения зарядки смартфона справлюсь без вопросов. Но увы, эту проблему я тоже не смог решить.
Я осознано описывал все свои ошибки, т.к. уверен, что моя «граблекарта» поможет другим в принятии технических решений.
+2
На самом деле я тоже поначалу на USB Host смотрел.
Но отпугнула относительно высокая цена, хотелось как можно экономичнее. Да и беспроводная связь несколько больше возможностей давала (например, смартфон как джойстик к роботу).
Поэтому обратил свой взор на Bluetooth и Wi-Fi (для прочих беспроводных вариантов необходимо значительное усложнение схемы или 2я Arduino, что под экономичность не попадает).
При этом Bluetooth хоть и обладает незначительным радиусом действия (порядка 10 метров в самом простом варианте), тем не менее подкупает простотой установки и использования, не говоря уже про стоимость порядка 10$.
Для самоходной платформы хочу Р/У машинку приспособить (купил вездеход Hariot — мало того, что довольно мощная платформа, так еще плавает и стреляет шариками (в моем варианте)).
Это тебе и Motor Shield, и питание, и сигналы с Р/У пульта можно принимать.
А установка смартфона позволяет уже и видео писать (спасибо SmartCam, а то уже хотел радио-камеру аналоговую покупать) и управлять по Fi-Wi, не говоря уже про прочие плюшки (GPS, акселерометр, мощный мозг, дисплей (особенно вкусно если есть фронтальная камера), запись / воспроизведение звуков и т.д.).
Но отпугнула относительно высокая цена, хотелось как можно экономичнее. Да и беспроводная связь несколько больше возможностей давала (например, смартфон как джойстик к роботу).
Поэтому обратил свой взор на Bluetooth и Wi-Fi (для прочих беспроводных вариантов необходимо значительное усложнение схемы или 2я Arduino, что под экономичность не попадает).
При этом Bluetooth хоть и обладает незначительным радиусом действия (порядка 10 метров в самом простом варианте), тем не менее подкупает простотой установки и использования, не говоря уже про стоимость порядка 10$.
Для самоходной платформы хочу Р/У машинку приспособить (купил вездеход Hariot — мало того, что довольно мощная платформа, так еще плавает и стреляет шариками (в моем варианте)).
Это тебе и Motor Shield, и питание, и сигналы с Р/У пульта можно принимать.
А установка смартфона позволяет уже и видео писать (спасибо SmartCam, а то уже хотел радио-камеру аналоговую покупать) и управлять по Fi-Wi, не говоря уже про прочие плюшки (GPS, акселерометр, мощный мозг, дисплей (особенно вкусно если есть фронтальная камера), запись / воспроизведение звуков и т.д.).
0
Как раз тем же занимаюсь)) только платформа из строго игрушечного джипа, а вместо телефона нетбук) и без пушки =(
0
Согласен, но у меня в дальнейших планах гонять видео и аудио потоки в двух направлениях. Так и так нужен компьютер на другом конце и канал пошире.
0
после просмотра видео, с начала подумал, что вы сделали искусственный интеллект на подобие собаки айбо, дочитав до контролера от xbox даже немного расстроился
0
Обязательно постараюсь поработать с ИИ, но эта тема бесконечная, поэтому сначала видео-аудио.
0
Веселый зверек получился.
поделитесь кодом под Android? Как раз логика, которая появляется при доработке примеров до рабочего состояния и есть самое полезное.
поделитесь кодом под Android? Как раз логика, которая появляется при доработке примеров до рабочего состояния и есть самое полезное.
+1
Обязательно. Я планирую немного причесать код и выложить его на code.google.com.
+2
Я выложил исходные коды и под Android, и под Arduino, и под Windows. В конец статьи добавлен раздел UPD с подробностями.
0
Здорово. кстати, а есть какой-то удобный человеческий интерфейс работы с google code? а то git и mercudrial требуют возни с файлами конфигурации, создают кучу дурацких файлов и папок в структуре проекта в отличие от SVN
0
А там разве не SVN?
# Non-members may check out a read-only working copy anonymously over HTTP.
svn checkout robot-mitya.googlecode.com/svn/trunk/ robot-mitya-read-only
Кстати, не так давно и SVN (во всяком случае TortoiseSVN) в каждом каталоге создавал по служебной папке.
# Non-members may check out a read-only working copy anonymously over HTTP.
svn checkout robot-mitya.googlecode.com/svn/trunk/ robot-mitya-read-only
Кстати, не так давно и SVN (во всяком случае TortoiseSVN) в каждом каталоге создавал по служебной папке.
0
TortoiseSVN вообще неудобная штука. Ставил, не понравилось. Хочется инструмент, который будет лежать отдельно, без необходимости установки, хранить проекты в папке или файлике/базе, а не создавать кучу мусора в папке проекта.
-1
Не знаю, лично мне TortoiseSVN очень даже нравится.
Интегрируется с контекстным меню, перевод на Русский (в принципе не обязательно, но приятно), проект практически не засоряет (одна служебная папка не в счет, раньше в каждой папке по служебной было).
В итоге не надо учить консольные команды, вызывается из любого файлового менеджера (если родное контекстное меню проводника показывается).
Плюс простота установки и настройки. Поддержка в том числе и локальных проектов (файловый репозиторий, создается буквально в пару кликов). Что еще для счастья надо?
Интегрируется с контекстным меню, перевод на Русский (в принципе не обязательно, но приятно), проект практически не засоряет (одна служебная папка не в счет, раньше в каждой папке по служебной было).
В итоге не надо учить консольные команды, вызывается из любого файлового менеджера (если родное контекстное меню проводника показывается).
Плюс простота установки и настройки. Поддержка в том числе и локальных проектов (файловый репозиторий, создается буквально в пару кликов). Что еще для счастья надо?
0
Поддерживаю! Давно работаем с ним. На мой взгляд, надо несколько сжиться с идеологией систем ведения версий, и всё встанет на свои места. А его возможность организовать локальный репозиторий вообще замечательна. Это уже не просто клиент SVN.
0
Я в последний раз пользовался им два года назад почти, тогда он требовал ставить git, сам был только оболочкой, работал только в explorer, никакого отдельного GUI вменяемого не было. Русификация же — абсолютное зло для разработчика, на мой взгляд.
0
вернее не git, а какой-то консольный набор утилит
0
Ну и сейчас он — оболочка над Subversion.
Отдельного GUI так и нет, если не считать служебных утилит (а зачем? Вcпомнить SourceSafe от MS — спасибо хоть с VS интеграция, отдельное приложение запущенным держать было бы крайне неудобно).
На счет только explorer — любой файловый менеджер, умеющий вызывать «родное» контекстное меню вызывает и его (я Total Commander-ом пользуюсь).
И ставить Subversion он не требует, ставится вместе с ним.
Если не ошибаюсь, 2 года назад все так же и было.
Самое заметное изменения за все время что я им пользуюсь (порядка 3,5 лет) — служебные папки объединили в одну.
При этом TortoiseSVN с самого начала казался очень удобным.
Отдельного GUI так и нет, если не считать служебных утилит (а зачем? Вcпомнить SourceSafe от MS — спасибо хоть с VS интеграция, отдельное приложение запущенным держать было бы крайне неудобно).
На счет только explorer — любой файловый менеджер, умеющий вызывать «родное» контекстное меню вызывает и его (я Total Commander-ом пользуюсь).
И ставить Subversion он не требует, ставится вместе с ним.
Если не ошибаюсь, 2 года назад все так же и было.
Самое заметное изменения за все время что я им пользуюсь (порядка 3,5 лет) — служебные папки объединили в одну.
При этом TortoiseSVN с самого начала казался очень удобным.
0
SabMakc прав, у меня используется репозиторий SVN. Google предлагает три варианта репозиториев. Мне привычен SVN, поэтому его и выбрал. Для работы использую Черепашку. В Eclipse — плагин Subversive SVN. В MS Visual C# Express студии, к сожалению, не ставятся расширения. В Arduino IDE некуда :). Поэтому приходится через Черепашку. У Вас, кажется, Delphi (я подглядел в комментариях Вашей последней статьи), для него тоже есть плагины, но мне не приходилось их использовать.
0
Я использовал RapidSVN в качестве клиента, вернее пробовал использовать, но в терминах этих версионных систем не разобрался. Сравнить изменения и документировать разницу версий в них неудобно и вообще непонятно как. А в остальном от них пользы не нашлось. В итоге проще архивировать версии просто RAR/ZIP. в итоге забросил использование систем версионности.
-1
>>> жена спросила меня: «Нет, я всё понимаю, но что ты просто машинку радиоуправляемую не купишь?».
ох уж эти женщины, им этого не понять )))
>>> Пока то, что у меня есть рано называть роботом.
Вы себя недооцениваете, получилось просто здоровски, особенно эти улыбочки, если детально проработать передачу эмоций, то будет просто обалденно. Например разогнался ехал, ехал, а тут бац преграда, загрустил, остановился, покрутился увидел создателя :D улыбнулся, поехал к нему завилял хвостиком ))) Увидел «врага», оскалился…
Для распознавания образов мощности вашего телефончика должно быть достаточно, а тема это очень интересная, есть готовые решения. Темболее ваша связка уже позволяет решать задачи такого уровня.
>>> Если получится интересно, буду писать дальше.
Пишите обязательно! Очень интересно.
Кстати, вместо дорогого смартфона можно тоже взять что-то китайское подешевле в случае чего и спалить не жалко и бюджет меньше будет.
ох уж эти женщины, им этого не понять )))
>>> Пока то, что у меня есть рано называть роботом.
Вы себя недооцениваете, получилось просто здоровски, особенно эти улыбочки, если детально проработать передачу эмоций, то будет просто обалденно. Например разогнался ехал, ехал, а тут бац преграда, загрустил, остановился, покрутился увидел создателя :D улыбнулся, поехал к нему завилял хвостиком ))) Увидел «врага», оскалился…
Для распознавания образов мощности вашего телефончика должно быть достаточно, а тема это очень интересная, есть готовые решения. Темболее ваша связка уже позволяет решать задачи такого уровня.
>>> Если получится интересно, буду писать дальше.
Пишите обязательно! Очень интересно.
Кстати, вместо дорогого смартфона можно тоже взять что-то китайское подешевле в случае чего и спалить не жалко и бюджет меньше будет.
0
«ИК-светодиод работает на 100мА, и пиковых 200мА, поэтому его можно смело включать прямо на цифровой выход Arduino (без резистора), а обвязка фотоприёмника указана в его»
Выход Mega168 не тянет более 40мА. Так что без ограничительного резистора включать его нельзя.
Выход Mega168 не тянет более 40мА. Так что без ограничительного резистора включать его нельзя.
+2
Вы совершенно правы, я ошибся. Причём сначала хотел сразу возразить, потом решил поднять эту тему. Вот здесь этот вопрос поднимается. Явного ответа я не увидел, но сомнение закралось. Заинтересовался, какой ток будет у горящего ИК-диода. Именно моего: TSAL4400. Воткнул его на второй пин и землю, написал и загрузил такой скетч:
Замерил ток — 82 мА! Превышение допустимого тока в 2 раза! Последовательно включенное сопротивление в 80 Ом обеспечивает ток порядка 35 мА. Видимо, для этого светодиода лучше поставить транзистор, чтобы вывести его штатные 100 мА.
void setup() {
pinMode(2, OUTPUT);
digitalWrite(2, HIGH);
}
void loop() {
}
Замерил ток — 82 мА! Превышение допустимого тока в 2 раза! Последовательно включенное сопротивление в 80 Ом обеспечивает ток порядка 35 мА. Видимо, для этого светодиода лучше поставить транзистор, чтобы вывести его штатные 100 мА.
0
С транзистором вы можете сжечь его вообще. Тут надо ставить транзистор и ограничительный резистор, расчитанный таким образом:
(Напряжение питания — 0.7 — Uпадения диода)/Iсветодиода
0.7 — примерное падение на транзисторе
напряжение падениян на светодиоде смотрите в его ДШ.
(Напряжение питания — 0.7 — Uпадения диода)/Iсветодиода
0.7 — примерное падение на транзисторе
напряжение падениян на светодиоде смотрите в его ДШ.
0
Спасибо, топик я исправил.
0
Помехи от движков возникли не изза их мощи, а изза криво разведенной земли. По хорошему у движков земля должна быть своя, и ветка питания своя. Пусть и с одного источника, но браться должна она от клеммы батареи, тогда все броски движка замкнутся на батарею по большей части и не будут гулять по цифровым схемам.
+1
Именно так и было. Всё нормализовалось только после гальванической развязки благодаря DC-DC преобразователю.
0
DC-DC не дает гальванической развязки.
0
Гм… Я так понимал, что DC-DC преобразователи дают гальваническую развязку. Посмотрел datasheet моего TEN 8-1221. Там написано: «Typical applications for these converters are battery operated equipment, instrumentation, communication and industrial electronics, everywhere where isolated, tightly regulated voltages are required and space is limited on the PCB».
"… isolated… voltages ..." я понял как развязку.
"… isolated… voltages ..." я понял как развязку.
0
Ура, я тоже решил делать на основе смартфона :). Классная статья!
+1
Вот, что вам было нужно. Специально для Android.
Arduino Mega ADK
Arduino Mega ADK
+1
Точно, но она попозже появилась. Или я не знал о ней ничего поначалу. Но её минус — размер. Я прикидывал по габаритам, любая Мега чуть ли не торчит краями из моей тележки. А Мега-сила в том, что ног у контроллера тьма. Вот тут меня брала зависть. Можно ведь, и манипулятором тогда озаботиться.
0
Есть Seeeduino Mega.
По размерам — практически как стандартная плата.
По размерам — практически как стандартная плата.
0
Робитвы!
0
А где видео РобоБитвы? Или хотя бы какой её результат? Не верю, что никто её не снимал!
0
По размышлении над статьёй и комментариями появилась пара идей. Я по робототехнике почти ничего не знаю, поэтому в случае неосуществимости чего-либо из мною перечисленного (в чём я серьёзно сомневаюсь), прошу об этом открыто сказать.
Как я понимаю, в случае передачи данных по Wi-Fi, вполне можно передавать видео. Так почему бы не сделать полное управление с компьютера/ноута, где не нужен будет визуальный контакт с роботом? В случае вида от первого лица можно использовать встроенную камеру смартфона. А если хочется вид от третьего (Есть свои плюсы, например, больший радиус обзора) — на жёсткой фиксации вынести камеру назад сантиметров на 20 и чуть-чуть вверх. И с управлением не надо шибко мудрить, всё уже придумано до нас. Управление камерой (головой и пушкой, соответственно) с мыши, а телегой — независимо, с клавиатуры. {можно программно добавить скорость разгона и инерционность движения, чтобы не «с места в галоп» и тормозило постепенно}
Ну и как фееричное дополнение — управление с планшета. Получается более активное, но и более интересное. Допустим, под левым пальцем управление телегой типа «джойстик», под правым — выстрел и смена настроений, а поворот головы — за счёт встроенного G-датчика (или GPS. Или компаса. Смотря что подойдёт). А на экран, конечно же, изображение с камеры робота. Сделав несколько таких можно устраивать настоящий дефматч.
Если какие-то идеи заинтересовали — пишите мне, обсудим более подробно. Хотя обсуждать тут, наверное, для сообщества будет полезнее. ;-)
Как я понимаю, в случае передачи данных по Wi-Fi, вполне можно передавать видео. Так почему бы не сделать полное управление с компьютера/ноута, где не нужен будет визуальный контакт с роботом? В случае вида от первого лица можно использовать встроенную камеру смартфона. А если хочется вид от третьего (Есть свои плюсы, например, больший радиус обзора) — на жёсткой фиксации вынести камеру назад сантиметров на 20 и чуть-чуть вверх. И с управлением не надо шибко мудрить, всё уже придумано до нас. Управление камерой (головой и пушкой, соответственно) с мыши, а телегой — независимо, с клавиатуры. {можно программно добавить скорость разгона и инерционность движения, чтобы не «с места в галоп» и тормозило постепенно}
Ну и как фееричное дополнение — управление с планшета. Получается более активное, но и более интересное. Допустим, под левым пальцем управление телегой типа «джойстик», под правым — выстрел и смена настроений, а поворот головы — за счёт встроенного G-датчика (или GPS. Или компаса. Смотря что подойдёт). А на экран, конечно же, изображение с камеры робота. Сделав несколько таких можно устраивать настоящий дефматч.
Если какие-то идеи заинтересовали — пишите мне, обсудим более подробно. Хотя обсуждать тут, наверное, для сообщества будет полезнее. ;-)
0
Думаю, будет интересно почитать про проект КиберЗона (roboforum.ru, офф. сайт).
+1
Хммм… Интересная штука. Только мне не совсем нравится, что корпус полностью поворачивается. Хотелось бы, чтобы управление движением было независимое… Может, себе тоже такое хобби завести? ))
0
На сколько я читал, они и изначально были с поворотной головой.
Но выяснилась проблема: очень неудобно управлять неподготовленному оператору, он не может определить, в какую сторону повернуто туловище, в какую — тело.
В результате данную возможность оставили на светлое будущее.
Но выяснилась проблема: очень неудобно управлять неподготовленному оператору, он не может определить, в какую сторону повернуто туловище, в какую — тело.
В результате данную возможность оставили на светлое будущее.
0
Скажите, а можно использовать USB Host Shield без Arduino?
Идея в том чтобы управлять датчиками и моторами напрямую из Android смартфона.
Идея в том чтобы управлять датчиками и моторами напрямую из Android смартфона.
0
Им должен кто-то управлять. Нет, теоретически, USB Host Shield можно прикрутить к другому контроллеру, но только если есть большой спортивный интерес. А так, он ориентирован именно на Arduino.
Мне кажется, Вашу задачу проще и дешевле решить именно с Arduino.
Если Вас беспокоят габариты решения в моём роботе, то посмотрите такой вариант: Arduino Mini + Bluetooth Module.
Я как раз жду именно из этого магазина такие штучки. Есть одна идея :)
Если надумаете, почитайте ещё тут. У Arduino Mini есть особенности.
Мне кажется, Вашу задачу проще и дешевле решить именно с Arduino.
Если Вас беспокоят габариты решения в моём роботе, то посмотрите такой вариант: Arduino Mini + Bluetooth Module.
Я как раз жду именно из этого магазина такие штучки. Есть одна идея :)
Если надумаете, почитайте ещё тут. У Arduino Mini есть особенности.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Android + Arduino + 4 колеса