понедельник, 25 ноября 2013 г.

Робот и 3d принтер: общий статус

На этих выходных был в одном большом строительном магазине. Из нужных железяк для принтера купил стержни с резьбой в общей сложности на 5 метров. Был удивлен, что ценник оказался меньше, чем я планировал - всего 15.000 бел.руб. (1,6$) за метр. Дома начал разрезать под нужные размеры, но немного не хватило. Нужно будет еще один метр купить. Также прикупил гаек, шайб. В отдельном доке записываю все расходы, чтобы потом посмотреть во сколько это выйдет.

Также в прошлую пятницу заказал с ebaу'я пластиковые части. Следующим серъезным приобретением должны стать 5 шаговых двигателей.

По роботу все собрал в кучу: ноги, плата, аккумулятор. Робот получается довольно тяжелым. И, честно говоря, мне это совсем не нравится. Видимо основная масса  это металлическое крепление сервомашинок. В ближайшее время буду делать первые простенькие тесты. Надеюсь, что робот сможет устоять под собственной тяжестью.

среда, 20 ноября 2013 г.

Текущий статус и размышления насчет 3d принтера

К настоящему моменту я наконец закончил отладку библиотеки для работы с ногой робота. Дело в том, что библиотека уже была как будто отлажена. Но получилось, что когда я поставил все 4-е ноги и захотел, чтобы они работали синхронно, получилось не совсем так, как хотелось. Это было связано с тем, что направление осей координат с одной стороны робота не совпадало с другой стороной. Поэтому получалось, что ноги, которые должны были двигаться синхронно, двигаются как в зеркальном отражение.

Задавать для каждой ноги свои точки совсем не серьезно, поэтому пришлось еще учитывать сторону и некоторые другие моменты. Но в результате все проблемы были решены. И 4-е ноги довольно бодро и синхронно зашагали.

пятница, 19 июля 2013 г.

Тестирование ног на 4-х ногом



Коротко о том, что было сделано:
- подготовлено все необходимое крепление для всех 6-и ног;
- собрано 4-е ноги у становлены для испытания;
- написана отдельная библиотека для работы с одной ногой;
- протестировано одновременная работа всех 4-х ног.

Коротко о том, что будет в следующем видео:
- собраны и установлены две ноги:
- сделана более или менее нормальная рама;
- докуплены аккумуляторы для нормальной работы всех 6-ти ног;
- первые шаги (уи-и-и...).

вторник, 2 июля 2013 г.

Скоро должен зашагать...



Итак, к настоящему моменту, как можно видеть, полностью готовы 4-е из 6-и ног робота. Крепление на остальные сервомашинки, которые вроде как должны вот-вот приехать по почте, тоже готовы. Честно говоря, с этим крепление наколупался я немного. С одной стороны это, конечно, удобно - разметил 16 одинаковых деталек и режь себе потихоньку. Но еще ведь нужно отверстий насверлить. А это примерно 150 штук... Но доделал все-таки.

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

И сейчас постепенно приближаюсь к очень интересному и волнительному моменту - первым шагам.

Конечно, 4-е ноги без контроля центра тяжести... Врятли это пойдет. Но посмотреть очень интересно.

В крайнем случае даже если не пойдет, то можно будет отработать синхронную работу ног. Это тоже должно выглядеть интересно. А еще прикупил вот такой джойстичек для таких целей:


среда, 8 мая 2013 г.

10 сервомашинок


Забрал с почты пару дней тому назад. 

Т.о. у меня на руках есть 14 серв. А нужно 3*6 = 18. Пока буду дожидаться еще четырех сделаю крепление для всех остальных ног и, наверное, попробую установить хотя бы четыре ноги и посмотреть, как он будет двигаться. 

пятница, 26 апреля 2013 г.

Плавное движение ноги: fail

Просидел, наверное, вечера три, реализовывая алгоритм плавного движения ноги.

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

Но назвать это полным fail'ом тоже нельзя. Я несколько переписал программу шагания и теперь она стала меньше по объему и более проста по пониманию. Чисто внешне это никак не отразилось на скорости шагания ноги. Но работать потом с этим исходным кодом будет легче.

Что дальше. Пока что жду когда приедут заказанные ранее 10 сервомашинок. И, кстати, нужно будет дозаказать еще несколько. Есть еще пара ультразвуковых датчиков. Наверное нужно будет с ними разобраться, чтобы потом закрепить на будущего робота. На  далекое будущее была идея организовать управления роботом с помощью джойстика от Playstation 3. Джойстики эти работают по bluetooth, а для ардуино как раз продаются такие относительно недорогие модули. Но до этого еще далековато. 

пятница, 19 апреля 2013 г.

Нога робота: полный цикл шага

Закончил разработку алогоритма шага для ноги робота.

Из плюсов реализации:
- движения ноги задается массивом точек конца ноги, т.е. можно добавить сколько угодно много точек и получить какое-нибудь хитрое движения;
- можно задать время движения между двумя точками;
- легко ввести параметр, который будет показывать с какой фазы движения цикла начинать сам процесс движения; это понадобится для того, чтобы перед тем, как робот начнет двигаться, каждую из ног расположить в нужной фазе.

Минусы реализации: пока не нашел. :) Наверняка что-то выяснится в процессе тестирования уже на самом роботе.

Что можно улучшить: добавить плавность в движения во время той фазы, когда нога не соприкосается с землей. Для этого планирую ввести дополнительные промежуточные точки. Насколько это поможет - покажут будущие испытания.

Ну и видео, как всегда:


Что еще забыл упомянуть в видео. Намечается одна проблемка. Для управления одной ногой нужно три сервомашинки, а значит три канала передачи сигнала. Т.е. для шестиного робота - 18 каналов. У Arduino Uno, который я использую, доступны только 14. Я вижу два пути решения этой проблемы.

1. Купить последнюю топовую плату Arduino DUE, которая кроме самых разных новоротов, имеет 54 канала для ввода/вывода. Плюс такого метода: все на одной плате, точно такая же среда разработки, как и на Uno, большое кол-во свободных пинов для расширения и подключения разных датчиков, гораздо больше памяти по сравнению с Uno (32 кБ против 512 кБ). Минус только один - цена в 50$. В то время, как Uno покупаю за 12$.

2. К первой плате Uno подключить вторую аналогичную и подружить их между собой. Плюс такого решения - это минус предыдущего, т.е. цена. Минусы - необходимо будет разрабатывать систему коммуникации между платами, возможно разделять функциональность (одна плата - отвечает за движение, вторая за датчики), возможно как-то дробить код программы, чтобы вписаться в отведенных 32 кБ.

Пока что останавливаюсь на втором варианте. Тем более, что на днях как раз должны приехать две платы Uno.

В планах на будущее: сделать движения более плавными, возможно сделать новые крепления для сервомашинок или же начать делать точно такие же (что более вероятно) для будущих ног.