Как научить робота ходить - программы, советы.
- Войдите на сайт для отправки комментариев
Вс, 07/07/2013 - 15:14
Придумал и собрал робота (собака), на 4-х ногах. Хочется научить этого робота ходить, но как просчитать движения сервоприводв не знаю. Подскажите программы или что для этого нужно.
Вот так выглядит моя собачка. http://www.youtube.com/watch?v=cxEShFeJRJo
На мой взгляд, на 4-х ногах довольно непросто будет рассчитать правильную походку, чтобы не сильно валилось. Т.к. если даже принимаем, что в любой момент времени как минимум три ноги будут касаться земли, то еще соответственно нужно правильно перемещать центр тяжести. И при этом не забывать, что вся конструкция должна будет двигаться.
Лучше добаь еще две ноги. С 6-ю будет попроще, как мне кажется. По крайней мере я именно 6-и ногого и строю.
Интересно, я бы пробовал опытным путем, метод научного тыка! Приделал бы какой нибуть пульт в котором можно было бы задавать количество шагов на каждый двигатель и последовательность... посмотрел бы какой нибуть ролик замедленный где видно какая нога куда идет ну и тыкал подбирал варианты...
есть подозрение что с вашей конструкцией будет не достаточно трения о поверхность, что бы в нужный момент тело подтягивалось к ногам а не ноги скользили назад к телу... но это так из теоретических размышлений...
Интересно, я бы пробовал опытным путем, метод научного тыка!...
Пошел путем научного тыка. С начало получилось вот так http://www.youtube.com/watch?v=hrK9v2CdobY
Но собачка не идет, а ползет. Решил последовательно каждую ногу переставлять. На видео стоит задержка для того чтобы увидеть как это работает. На данный момент получается так http://www.youtube.com/watch?v=LnyCjiqzzHw
Подсказывайте, может есть более действенные способы. В финале собачка будет аккуратней выглядеть, прикрутил но пока не подключил ей глаза (дальномер). http://robocontroller.ru/photo/foto_ot_robocontroller_ru/z_robodog_v2_2/1-0-38
Методом научного тыка можно очень долго все это подбирать. И максимум чего получится добиться - это какая-то имитация походки. Да и с точки зрения дальнейшего развития проекта (например, добавление возможности поворота) это тупиковый метод.
Правильнее было бы сначала написать отдельную библиотеку для работы с одной ногой, которая могла бы перемещать одну ногу в нужную позицию и с заданной (или более или менее предсказуемой) скоростью в заданную точку. Потом добиться синхронной работы каждой ноги. А потом, исходя из рассчитанного положения центра тяжести в каждый момент времени, перемещать каждую из ног.
Блин! Это чертовски интересно. Доделаю своего шестиногого - построю свою собачку. :)
ну тогда возмите собаку, наклейте ей датчиков на лапы и запиишите как она ходит.... дальше повторяйте :)
еще можете сходить на форум какой нибуть где народ мается с 3д графикой и мультиками.. там наверняка есть какие то скрипты для походок. что бы аутентично выглядело .. можете взять за основу...
...
Правильнее было бы сначала написать отдельную библиотеку для работы с одной ногой, которая могла бы перемещать одну ногу в нужную позицию и с заданной (или более или менее предсказуемой) скоростью в заданную точку. Потом добиться синхронной работы каждой ноги. А потом, исходя из рассчитанного положения центра тяжести в каждый момент времени, перемещать каждую из ног.
Блин! Это чертовски интересно. Доделаю своего шестиногого - построю свою собачку. :)
Написать библиотеку O_O, я этого не умею. Думаю что нужно будет поискать информацию, может поделитесь ссылкой на подробную инфу (можно на инглише).
Сейчас я делаю так: пишу массив в котором задаю координаты углов для движения каждой из 8-и серво. Пока получается вроде бы, хотя и знаю что это не совсем правильно. Всё делаю в силу своих знаний (сам учил бейсик очень давно).
Я потом выложу подробную информацию по моему проекту + чертежи всех деталей.
Конечно. Без проблем. http://arduino.cc/en/Hacking/LibraryTutorial
Заодно и про моги "ноги" дам ссылочку - http://barr82-robot.blogspot.com/
Конечно. Без проблем. http://arduino.cc/en/Hacking/LibraryTutorial
Заодно и про моги "ноги" дам ссылочку - http://barr82-robot.blogspot.com/
Продумать шаги с большим колличеством суставов более проще. Это мой первый робот которого я придумал и реализую самостоятельно. Походку выработаю, это дело времени. Буду делится успехами в этой теме, может кто то найдет что то полезное.
По моему с библиотеками я смогу разобраться, буду пробовать, спасибо!
Детально подгонял движения ног, всё делал на глаз. Уже что то вырисовывается. Главным недостатком походки моей собачки является использования переноса массы тела для отрыва (освобождения) конечностей. Из за малейших неровностей робот заваливается. Ещё и сцепление робота с поверхностью недостаточное. Вот что у меня получилось на данный момент.
Замедленные движения шагов - http://www.youtube.com/watch?v=MO38ey5x5yE
Задержка между движениями 100 мс delay(100); - http://www.youtube.com/watch?v=yyA2P3F2xfY
Задержка между движениями 120 мс delay(100); - http://www.youtube.com/watch?v=TU-QHQ1Qqt4
Гыыы гончая просто :)
вы упускаете из вида тот момент что во время переноса центра тяжести должны работать все 4 ноги. ибо тело смещается относительно всех 4 точек сразу... а то какая то раненая улитка, ноги подволакивает :)
Немного доработал походку, почти не стал заваливаться. Но на неровностях всё же бывает. А вот как моя собачка ходит по дороге с препятствиями http://www.youtube.com/watch?v=jyGPuUwDlh4