Мой собственный Spot Mini

Подписаться на 3Dtoday
Hamann
Идет загрузка
Загрузка
16.06.19
2684
46
Разное
42
Всем доброго времени суток. Давно я тут ничего не писал, наконец, появился повод. Последние полгода я занимаюсь проектом «робособаки» (не дает покоя слава Boston Dynamics). Основные трудности - это конечно, ПО, но поскольку 3Д печать тоже присутствует, я решил написать тут.
Идея создания появилась еще больше года назад. На тот момент уже были реализованы некоторые проекты в робототехнике. Это синхронно танцующие крабики. Модель была найдена на просторах всем известного сайта, немного изменены некоторые детали. Прошивка полностью своя. На днях на ютуб залью видео.
2a393ed57603324d0b3b97ff3f37f9c2.jpg
Робот «Собутыльник». Предлагает выпить, наливает на 2х-3х, говорит тосты, шутит, рассказывает интересные истории, не позволяет слишком часто выпивать. На момент, когда он уехал к своему владельцу, у него в памяти было более 200 фраз. Продолжительность фраз от 15 сек до 2 минут.
89a0b16448e194943ac8434a9488fa85.jpg
Не менее интересный робот андроид. Его хотел делать большего размера, но помучив немного «малыша», я решил, что с большим не стоит заморачиваться.
4e74a08140d5e8e3fd1a36f55c0d0675.jpg
И вот сразу после нового года в одной из групп по электронике в ВК я предложил присоседиться к проекту по созданию робота собаки. К сожалению, отозвались только люди с минимальным опытом, которых еще пришлось бы и обучать. Быстрее сделать самому. Естественно никакой ардуины, выбор был между микроконтроллерами STMicroelectronics и Espressif Systems. Решение было принято быстро в пользу ESP32. Я их лучше знаю, больше с ними работал, они более производительные, имеют Wi-Fi и Bluetooth. Таких микроконтроллера два, один работает как спинной мозг, второй отвечает за коммуникацию. Для «зрения» будет использоваться Raspberry, ее размеры идеально подойдут для робота, производительности достаточно для распознавания лиц и графических меток (тоже были подобные проекты). Ну и конечно куча датчиков, GPS, гироскоп, аксель, дальномеры тд.
Первый дизайн был крайне неудачным, я даже не делал фото и видео. Но не безрезультатным, на его базе был написан основной код для микроконтроллеров. Очень слабая оказалась механика, достаточно быстро разлетелась.
Второй дизайн был взят в конце весны, один хороший человек из Кореи сделал и выложил в открытый доступ. Я немного изменил некоторые части и распечатал, получился вот такой дизайн.
2b36a1722b0fffddc81f61393d3a5d18.jpg
Обрабатывать не стал, оторвал поддержки, некоторые детали пару раз теранул наждачкой, что бы сбить острые края. Смотрится вполне прилично, но в процессе эксплуатации вылезли косяки. Еще при сборке я опасался за отдельные детали, и как оказалась не зря. При прыжках робота одна из деталей треснула. Разобрал, склеил, два раза прыгнул и снова трещина. В итоге я понял, что на этой конструкции прыжки мне не настроить. Перепечатывать эту деталь я так же не вижу смысла, потому что требуется совершенно другой конструктив. Оставим их на третью модификацию, тем более что уже есть понимание, что требуется изменить. Требуется увеличение размеров, мощности моторов, перераспределения центра масс.
5d52ca693f5b3cbb97e627f4e68bab28.jpg
Автор модели предлагает модель резиновых накладок на ноги, печатать флексом я их не стал. Напечатал формы и просто отлил из силикона. Получились симпатичные белые тапочки, которые не так сильно скользят по полу как из флекса.
8bf668251c4e9373e25451ef9ec2d8e5.jpg
d69c29d76a8a7dc451489759375074e0.jpg
На данный момент робот выглядит не законченным, у него не хватает задней части. Причина банальная, на почте потеряли посылку из китая. В ней должны прийти два LCD дисплея. На них будут выводится логи для отладки робота. Из разъемов будет только зарядное устройство. Прошивка микроконтроллеров настроена по воздуху (через WIFI), что очень удобно.
a7d47d32c47dbb65f72c15522fe74099.jpg
Немного о возможностях робота. Он умеет ходить на разной высоте, с разной скоростью, разная длина шага. Вперед, назад, поворот, боком… Прыжки делать умеет, но из-за неудачной конструкции детали я не стал его мучить, и видео прыжков нет. Умеет подстраиваться под наклонные поверхности. «Пинки» ногами еще не прописывал, в любом случае он не выдержит ударов в бок. Функция GPS написана, отработана на другом проекте, знает где его дом и сможет вернуться домой. В этом проекте не проверял, на улицу выходить, с таким маленьким, смысла особо нет. На бордюр или ступеньку он не вскарабкается. Видит препятствия, но требуется дополнительная настройка, некоторые наклонные поверхности воспринимает как преграду, это возможно и нужно исправить.
33df725bbbea37d8dd374fdb25b693da.jpg
Все управление на данный момент осуществляется через страницу в браузере, можно работать с любого устройства, телефон, планшет, ПК. Очень неудобно, нужен джойстик наподобие playstation. Через страницу огромное количество функций остались не задействованными.
f5ef0cea701aef4fe4d0cda2683300f4.jpg
Отдельная больная тема - это питание. В роботе установлены АКБ емкостью 75 ВА, этого заряда хватает на 20 минут работы. Следующие 20-30 минут возможно только в щадящих режимах с перерывами. Аккумуляторы во время движений сильно просаживаются в напряжении. Для контроля заряда есть функция автоматического отключения. При достижении критически низкого напряжения робот останавливается и ложится. При подготовке видео материалов я отключил функцию контроля напряжения, в итоге два сгоревших драйвера.
f7278c487842920074f73bc5f90d8742.jpg
Что запланировано на ближайшее время. Доделать заднюю часть. Дописать еще парочку движений, отладить имеющиеся. Большой кусок доработки требуется в функции контроля устойчивости. Установить и отладить камеру, настроить компьютерное зрение. Возможно, начну делать следующую модернизацию, учитывая все недостатки этой конструкции. Почему возможно, потому что не очень дешевое это удовольствие. По предварительным подсчетам, по минимуму, требуется еще в 5 раз больше чем было уже вложено, и это только на комплектующие.
15dc431fb37f475d6ff54ec6230667e5.jpg
На этом я свой рассказ оборву. Меня просили показать что есть, я показал. Это конечно не полный рассказ, и возможно у кого-то появятся вопросы, задавайте в комментариях, на какие смогу, отвечу.
PREVIEW
Подписаться на 3Dtoday
42
Комментарии к статье

Комментарии

16.06.19 в 13:55
1
Зачетно. Подскажите плиз, Вы координату каждой конечности вычисляете через инверсную кинематику? Наклоны корпуса вычисляются через матрицы вращения?
ps. рекомендую для этих серв еще снимать сигнал с переменного резистора сервы. Очень помогает при определении достигла серва своего положения или нет.
16.06.19 в 16:44
1
Сначала была математика высчитывающая координату каждой ноги, но из-за неточности серв было все переделано на матрицу углов для каждого сустава. Наклоны вычисляются как раз по математике, но там тоже нужно еще поработать над алгоритмом. На видео запущен автоуровень с погрешностью 10 градусов. Есть еще функция с погрешностью 3 градуса, но на мягкой поверхности он постоянно трясется и не может установиться.
В следующем прототипе я вообще откажусь от этих серв)))
16.06.19 в 16:30
0
Забавный киберкабыздох.

Укажите пожалуйста - при какой собственной массе он способен (не нести а) тянуть по ровной поверхности груз в 600 грамм.
16.06.19 в 16:47
2
Не заставлял его ничего тягать)) Какие условия создать? По какой поверхности нужно тянуть 600 грамм, какая площадь соприкосновения должна быть между полом и грузом? Какой коэффициент трения нужно воссоздать? ....
17.06.19 в 09:09
0
Какие условия создать
...
какая площадь соприкосновения должна быть между полом и грузом
...
Какой коэффициент трения нужно воссоздать
Я всё смотрел на "опорные пятачки", вот и мысль про испытания на тяговое усилие и возникла.
Конкретный выбор методики я оставляю Вам, как творческое задание ;-)


Предлагаю - на обычном напольном покрытии, на котором наилучшее зацепление, допустим паркет покрытый морилкой и лаком.

Почему выбран такой странный вес - да очень просто. Гляньте параметры Ф-1 ;-) .

Площадь - минимальная, тело груза - сфероидно-эллиптическое.

Коэффициент трения - тоже понятно - крашеный чугун по шлифованной древесине. Бук или Дуб.

После этого - сразу будет понятен финал любого локального зомби-апокалипсиса/маски-шоу (ненужное вычеркнуть).
17.06.19 в 14:39
1
Я понял. Но тогда я сделаю проще, пол литровая бутылка с водой по линолеуму и по ковру. Я думаю результат будет отличаться не сильно. Но сначала нужно сделать еще два "тапочка")), а то лапки скользить будут.
16.06.19 в 17:25
0
Блин классная тема! Как раз недавно смотрел эволюцию роботов Бостнон Дэйнамикс.
16.06.19 в 20:55
0
«Пинки» ногами еще не прописывал, в любом случае он не выдержит ударов в бок.
Чтобы робот выдерживал пинки в бок - нужен некий балансер, чтобы при пинке по сути, наносящий "удар" на самом деле толкал точки опоры в нужное место. Иначе говоря - нужна всего лишь хитрая подвеска, трюк достаточно не дорогой и расчитан на оло-ло, раскрывание рта публикой, но тем не менее трюк интересный, хотя и не ясно зачем он вообще нужен. Ну пнули - он не упал, а как насчёт поработать...
Гораздо эффективнее у них смотрятся роботы работающие на складе с ящиками... там уже поинтереснее.
16.06.19 в 21:01
0
Я же делаю не ради "красивого трюка". Датчики есть, под них просто нужно прописать алгоритм). Но корпус реально очень хрупкий.
16.06.19 в 21:04
1
просто нужно прописать алгоритм
для ПЛИС, а не микроконтроллера. Микроконтроллер в данном случае просто станет некоторой дырой в бюджете, требующей латания тех.средствами. Сразу к микроконтроллеру ПЛИСы подключать, а ещё лучше уже к малине наверное, у неё 50 пинов.
А я вообще конечно сменил бы управление на GPU, но это надо смотреть - как сделать, знаю что у GPU просто камней больше намного, и вычислительные мощности GPU - это просто супер.

Не бойтесь "пинков", смело беритесь за кодинг ПЛИС.

Кстати, те что на складе - двойной перерасход энергии, аккумулятору кирдык, рассчитано больше на демонстрацию для повышения финансирования, чем на реальные продукты. А в физической реальности самая устойчивая форма материи-существующая в природе. Волшебных аккумуляторов ждать ещё долго.

Ну а так, если всё-же интересно - https://mining-cryptocurrency.ru/rajzery-dlya-videokart-na-majning-fermu/
Только малина не знаю - потянет или нет, так вроде райзер-то USB, почему-бы и нет.

В данных райзерах роль магистрали (линия данных, по которым происходит обмен) выполняет провод USB3.0, выполняющий всего лишь задачу соединения 9 контактов с каждой стороны райзера. Никакие скорости USB-интерфейса, полный-дуплекс и прочее здесь не работают и ничего не ‘улучшают’ в сравнении с обычными шлейфовыми райзерами, хешрейт не увеличивается. Это просто ‘шлейф’, работающий по аналогии гибкого рядного шлейфа в классических райзерах. USB3.0 используется просто потому, что в нём 9 контактов, а 9 контактов как раз достаточно для майнинга при условии подачи внешнего питания на видеокарту.

Информация с сайта: https://mining-cryptocurrency.ru/rajzery-dlya-videokart-na-majning-fermu/
Вот здесь малина с USB 3.0
https://habr.com/ru/post/437238/

Так что...как-то так. Nvidia вроде как адаптирует Cuda под Linux.

И таки да - на этой малине USB 3.0 целых четыре!!!
Мать её за ногу, это - супер мини ПК, если райзеры поставить!!!

Только вот питание видеоркарт, ну если ставить один райзер - то в принципе пусть это будет не супер ПК, но достаточно мощный для работы миникомп. Тут надо взвешивать все + и - .
Стоит отметить что к этой малине обещают Win10 ARM!
17.06.19 в 10:57
0
Райзер ваш - это просто "удлинитель" шины PCI-E, USB разъём там только для унификации кабеля. Вот даже цитата из статьи по ссылке:

Хотя они называются USB 3.0 и мы действительно используем кабели формата USB 3.0, сами райзеры не поддерживают подключение по USB. Эти кабели используются только из-за хорошей проводимости и защиты, для перемещения данных с материнской платы на видеокарту. У вас не получится подключить видеокарту в слот USB 3.0 через эти райзеры. Можете даже не пробовать, так как видеокарты просто не заработают.

Информация с сайта: https://mining-cryptocurrency.ru/rajzery-dlya-videokart-na-majning-fermu/
17.06.19 в 22:28
0
Главное их предназначение – перемещать данные с материнской планы непосредственно на видеоадаптер.
Райзеры PCI-E USB 3.0: что это и как выбрать подходящий



На что способен формат Mini PCI-e
Но так как это просто PCI-e, его можно превратить в PCI-e x1 при помощи адаптера. Это чит-код для Mini PCI-e: после этого туда можно подключить всё, что угодно, вплоть до полноразмерного GPU. Работать будет медленно, но будет.
Разумеется медленно работать будет в режиме видеокарты, а не в качестве мат. процессоров вычислительной фермы.https://habr.com/ru/post/444370/https://habr.com/ru/post/444370/
17.06.19 в 23:59
1
Я-то написал только потому что могло быть заблуждение относительно USB портов на малинке. С наличием там разъёма miniPCI-E вопрос снимается =)
17.06.19 в 07:01
0
Его бы побольше сделать, и ездить верхом на работу)))
17.06.19 в 14:41
0
Нужно быть реалистом))) Даже оригинальный SPOT от Boston Dynamics может нести нагрузку в 15 кг)) На данный момент все упирается в аккумуляторы.
17.06.19 в 22:45
1
На данный момент все упирается в аккумуляторы.
не мешайте им, они уже скоро как 50 лет верят в волшебные аккумуляторы (20 лет они прошивали катушками ПЗУ, теперь нью идея фикс - валшебный аккумулятар). Осталось совсем чуть-чуть, и квантовые сказочники их родят.
Они едят, спят, прочее, неужели никто не придумает валшеьный аккумулятор... не можат быть.
Сичас госдума срочно издаст указ физикам и химикам - и валшебным аккумуляторам - БЫТЬ!!!
Текст следующий - невзирая на прихоти и желания физ.реальности , решить проблему валшебных аккумулятарав!!!
Утверждено:
списак павелителей.
Даже если валшебный аккумулятар сделают - то едва ли он будет стоить столько, чтобы ставить его на транспортные средства граждан, или гражданскую-промушленную робототехнику.
18.06.19 в 08:40
0
валшебным аккумуляторам - БЫТЬ
...
Нужно быть реалистом
Всё уже предначертано чёрной былью...


Да всё просто - ядерная батарейка, без свинцовой защиты.

Уже фигурировала навскидку в с пятОк романов фантастов-провидцев...

"... мы все умре, одни раньше, иные - чуть попозжее и в муках ..."
17.06.19 в 09:20
1
Я тоже такой себе печатаю. Только сервы в ногах заменил на MG958, 996 слишком слабые для его веса. В плече оставил 996.
Ходьба будет на 16 канальном сервоконтроллере STM32. Надо будет еще с ним разбираться, до этого только Ардуино программировал.
17.06.19 в 14:44
0
Если именно для этого корпуса, то серв MG996 достаточно, разницы с 958 заметно не будет. Удачи в проекте, это и правда интересное занятие)) Ждем рассказов или видео.
17.06.19 в 15:07
0
Спасибо! Пока у меня напечатан корпус и половина деталей лапок. Печатаю вечерами по детальке в день, так что надеюсь на следующей неделе допечатаю и начну это все собирать.
Надо еще спаять АКБ - сборка из 6 банок 21700. Корпус для нее распечатал, все никак руки не дойдут до пайки.
Кстати, автор этой собачки после тестов перевел ее на 30кг сервы.
17.06.19 в 15:50
0
Собирать там не долго, за вечер можно собрать. Понятно что чем мощнее моторы тем лучше, вопрос стоимости. Есть понятие рациональности использования, так вот на этом корпусе ставить более мощные я не вижу смысла. Следующий прототип тоже хочу на более мощные моторы повесить, но это все деньги. И стоимость растет очень заметно, даже при небольшом увеличении в габаритах.
17.06.19 в 16:15
0
По цене разница не большая (если оригинал брать). Оригинальные 996 стоят от 400р, 958 от 600р + доставка, а момент у них 18-20кг. Если более мощные то там уже очень существенный рост цены.
От подделок под 996 по 200р я решил отказаться, по отзывам у них ресурс обычно всего 5-8 часов потом "щетки" (если эти волоски можно так назвать) отгорают, да и управляемость у них оставляет желать лучшего. Цена конечно в 2,5 раза дешевле выходит, но 2,5кр выкидывать в помойку через несколько часов работы стало жалко.
17.06.19 в 16:43
0
Так оно там 200, там 300, а теперь умножаем на 12 штук. А есть детали которые по 1000 руб. А бывает что то горит... И в итоге сумма растет и растет. Дело Ваше, но я считаю что для этой конструкции использовать более мощные сервы не целесообразно. Для другой возможно и необходимо, для этой нет смысла.
PS. Ресурс явно не 8 часов.
17.06.19 в 10:32
0
Шикарно! Было бы интересно присоединиться к проекту. Давно хочу что нибудь подобное сделать. Лежит "паук" недоделанный, но там сервы слабые изначально поставил - не так интересно его развивать.
17.06.19 в 14:54
0
Пауки тоже разные бывают. Правда я тоже быстро от своих остыл, танцуют и танцуют. Сервы тоже слабенькие, но ходят нормально, препятствия видят. Все ограничено фантазией. Можно и в паука встроить камеру, у него кстати устойчивость лучше, с ними проще на много. Я хотел делать андроида, но потом решил что рано мне такой проект самому тянуть, поэтому взял собаку. Присоединиться всегда можно, все зависит от желания и знаний, в крайнем случае можно развивать свой собственный проект параллельно.
17.06.19 в 15:49
0
Ну в плане программирования то у меня проблем нет - я работаю эмбеддед программистом. Своего паука хотел делать на FPGA, даже несколько плат с Xilinx Spartan-6 под это дело есть. Не на CPU просто потому что интересно так - можно сделать сколько угодно PWM-ов для беспроблемного обслуживания серв. Ну и была идея камеры на него же завести.

Кстати, не думали над датчиками касания на лапы? Я экспериментировал с самодельными по принципу угольного микрофона. Насыпал в резиновый наконечник от пипетки уголь (из таблетки "активированный уголь" ;) и засовывал два провода. При сжатии сопротивление менялось. Получался простой аналоговый тензодатчик. Не очень стабильный, но если ловить разницу сопротивления, то вполне можно использовать.
17.06.19 в 16:19
0
Датчики касания не плохие это емкостные (у меня в качестве выключателей по квартире стоят), но у них тоже есть ограничения. Смысла туда ставить датчики не вижу. В крайнем случае можно поставить простой механический концевик.
17.06.19 в 17:10
0
Емкостные не пойдут. Будут работать только при хождении по металической поверхности (;
17.06.19 в 17:20
0
Кто такое сказал?)) Робот собутыльник, у него подстаканники на этих сенсорах сделаны. Определяет любой стакан, палец, если одноразовый стаканчик, то он должен быть мокрым (пустой, но мокрый). На землю и асфальт эти датчики тоже отработают.
17.06.19 в 17:26
0
Ну так то да. Палец, землю и мокрый стакан это понятно. Но как любой стакан? (; Я к тому, что например дома по ковру на деревянном полу навряд ли будет ловить (?) В общем я за какой нибудь более контактный способ. Думал даже про ИК-пару работающую на отражение.
17.06.19 в 17:49
0
Любой (сухой) стеклянный стакан, не зависимо от размера определяется. Пластик толщиной от 1 мм определяется, в ковре и паркете не уверен (проверять лень), но перекрытие все равно железобетонное. Так что скорее всего сработает.
С ИК будут проблемы. У меня первые выключатели дома были ИК, они срабатывают на пульты, а если не правильно сделать так еще и на солнечный свет.
4aa510cbd58f21917078b17071633cb2.jpg

В итоге перешел на емкостные сенсоры. Там в такой корпус можно сразу 4 выключателя впихнуть.
Еще нужно учитывать отражающую способность поверхности, загрязнение... Поэтому для лап обычный механический концевик самое то))
17.06.19 в 16:20
0
А как сделать контакт по плоскости всей ступни? Там получается в зависимости от поверхности и препятствии касание опоры происходит в разных точках.
Я видел в интернете дипломную работу, там момент касания ноги опоры вычисляли на основе данных с датчика MPU-9250 по пикам ускорений. Не пробовали такой вариант реализовывать? Интересно насколько он точный.
17.06.19 в 16:32
0
Сейчас сделано на основе предположения что идем по ровной поверхности. А вот подстройка под наклонную поверхность уже на аналоге MPU-9250. На этом же датчике будет писаться алгоритм для контроля устойчивости при "пинках", хождению по неровной поверхности и тд. Что касается самого MPU-9250 он крайне не точный, у него "уплывает" нулевая точка. Его требуется постоянно перекалибровывать.
17.06.19 в 17:06
0
Еще был вариант использовать датчики воздушного давления и в качестве сенсорного элемента просто запаянная пластиковая трубка на конце лапы. Т.е. при касании давление в трубке возрастает.

Еще можно мерять ток на серве.
17.06.19 в 20:09
0
датчик касания купите на али 30р за пучок 6 штук, типа таких
18.06.19 в 10:28
0
Идея хорошая, но как его крепить на лапу? У него размер 12мм. Тут бы пригодился пьезоэлемент от винилового проигрывателя. О! Можно самому вырастить пьезокристал из сегнетовой соли (:
18.06.19 в 11:14
0
Можно сделать нижнюю часть лапы составную с пружиной и встроить оптопару или концевик, при опоре на поверхность будет замыкаться и фиксировать касание. Только при подъеме на препятствие, когда нога под 90гр работать не будет.
20.06.19 в 10:18
0
Нуджно сделать пъезопластинку частью конструкции, закрепив через нее нижнюю часть лапы, в этом случае пластинка может быть размещена по диагонали к лапе или даже вдоль ее линии.

В теории эту плстинку можно смело резать, вам же не высококачественный звук снимать, а просто детектить касание. Как бы от простой инерции не получать фальшивые срабатывания.
17.06.19 в 12:45
0
У китайцев есть модули беспроводной зарядки для смартфонов. Они подключаются к микроюсб.
Поставьте своему пёселю такой) будет на своем личном месте по воздуху заряжаться
17.06.19 в 14:57
0
Ему проще "под хвост" штекер впихнуть))) Мощность заряда нужна хотя бы 20 Вт, иначе очень долго заряжаться будет. А садится он очень быстро.
17.06.19 в 17:12
0
Есть отечественная разработка - на лету заряжают квадрокоптер. Они по воздуху в него вливают до 60а. Зарядка происходит внутри контура 3х3м примерно
17.06.19 в 12:56
0
Как раз вчера посмотрел серию "Черного зеркала", где такие собаки гоняются за людьми. Похоже.
17.06.19 в 23:31
0
Нашёл!!!

https://enciklopediya-tehniki.ru/novosti-nauki-i-tehniki/chto-takoe-nvidia-jetson-nano-i-kak-eto-rabotaet.html

Нашёл сразу Cuda на миникомпьютере...не сразу правда, но

и у него есть
x1/2/4 PCIE, 1x USB 3.0, 3x USB 2.0
один, но есть, подключится ли к нему видеокарта ещё одна через рэйзер usb 3.0 - большой вопрос, но набор разработчика CUDA уже на борту.

260-pin edge connector


по другим источникам у него 4-ре USB 3.0, по цвету усб так и есть, их-четыре

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Ender 3 + TMC2208 на родной плате Creality3D V1.1.3

HCmaker 7 - неоднозначный аппарат

Разработка и изготовление принтера со столом 300х600 мм

Стайлинг Прюши

Колоночку запилил

Слайсер для 3D принтера PICASO Designer X series. Polygon X . Специальные возможности.