Комментарии 22
Круто. Плюс. Но... какой смысл, кроме круто? Выигрыш в каких-то количественных показателях?
Мда, с таким подходом к механике походу робота делать вы будете лет сто=)
Может и получится. но это будет абсолютно нефункциональный робот.Так что нет.
Куча серв изначально выдает дилетантский подход.
Насчет дилетантского подхода, я много раз, когда делал робота и удивлялся нерациональности расположения и количества мышц, связок, костей... Иногда ты делаешь какой-то узел и уверен что он не будет работает, а он работает, причем работает как двигается часть конечности у меня...
Поэтому насчет нефункциональности - посмотрим, а насчет дилетантского подхода я соглашусь с оговоркой, что у природы такой же подход. Это сейчас ни в коем случает не сарказм, это мое искреннее мнение.
Вообще статья немного не про "механику робота" / его "железо", а про его по. Поэтому наверно столько вопросов именно именно к "железной" части.
Постараюсь в ближайшие недели написать статью именно про логику создания железной части робота.
Я честно скажу, когда я начинал создавать подобного робота я витал в идилиях, что человек это хорошо сбалансированный механизм и моделирование, например, на Roboguide или Process Simulate можно заменить работами по физиологии и анатомии человека.
Однако, когда я применил данный подход, много раз о нем пожалел. Еще 2 месяца назад я думал, что я дойду до "отладки" робота, у меня ничего не получится и я закончу эксперимент...
Когда я дошел до отладки, я обнаружил что он работает. Есть конечно проблемы, например, при вибрациях при натягивании может аналог сухожилия (извините за термины из анатомии, но в комментарии мне проще так описывать) может спадать с ротора, это решается расширением ротора определенным способом...
Есть и другие проблемы, но в целом он работает, может выполнять тесты из методичек для неврологов, может рисовать некоторые "палочки" из прописей...
Иными словами, насчет 100 лет - посмотрим.
Концептуально. Горсть ардуин, докер.. Эклектика.
Да, кроме мышц ещё туева хуча датчиков для обратной связи. Без датчиков, сколько не наворачивай сервисов, получится грация ДЦП.
Спасибо.
Согласен, я сейчас хочу обвесить датчиками руку и потом буду писать первый сервис / сервисы. В качестве "постановки" буду использовать книгу Павлова Лекции о работе больших полушарий головного мозга в той части где он показывает собачек, которым полностью удалили кору головного мозга... По срокам я планирую в части руки закончить к ноябрю это делать.
Если вы вдохновились конструкцией человеческой руки, то зачем у вас моторы на пальцах? У человека нет мышц на пальцах.
У меня нет моторов на пальцах. Моторы расположены максимум на кисти, а сухожилия от них тянутся уже к пальцам.
Я сюда выкладываю потихоньку то что наснимал при отладке https://www.youtube.com/@robotsengineer/videos
Повторять механику человека, не имея механизмов, из которых состоит человек - бессмысленно. Вы можете использовать кости суставы и сухожилия, механически эквивалентные человеческим, но мышцы вы не сможете заменить электродвигателями, хоть шаговыми, хоть сервоприводами. Мышца в себе содержит:
Аналог линейного двигателя
Источник питания
Датчики проприоцепции, которые в свою очередь дают чувство положения, движения и силы, приложенной как самими мышцами, так и извне.
То, что я про инверсную кинематику тут ни слова не увидел, означает, что вы даже не пытались ее здесь применить, а это основа современной робототехники. Вы пытаетесь использовать какие-то абстрактные команды типа "показать большой палец" прыгая через уровень инверсной кинематики. Про то, что вы обязательно столкнетесь со всяческими вибрациями и раскачиваниями при попытке получить полноценные движения я уже и не говорю. Человек находится в постоянном движении с точки зрения мышц, кроме положения, когда расслаблено лежит. Когда человек стоит - он постоянно выправляет равновесие, чтобы не упасть. Когда идет или бежит - тоже, не зря приходится махать руками в противофазе с движением ног, да и вообще всем телом двигать, просто, чтобы не упасть даже не сделав первый шаг. Просто собрав руку в кулак вам приходиться менять положение тела (чуть-чуть, незаметно и подсознательно), чтобы центр тяжести остался там, где он есть.
И, кстати, Kafka - это не шина и даже не очередь, это распределенный кэш сообщений и платформа стрим-обработки. Использовать его в том качестве, в котором его используете вы - это бессмысленный оверинжиниринг, поскольку Kafka довольно сложна как для использования разработчиком, так и сточки зрения администрирования. Почему вы сравниваете отделы мозга с шиной - мне категорически непонятно, ничего общего там нет.
В целом мне кажется, что вы замахнулись на создание авиалайнера типа Боинга, не сделав даже простой летающей модельки самолета с моторчиком и пропеллером.
но мышцы вы не сможете заменить электродвигателями
Не соглашусь с вами - изобилие робопротезов рук и роботов гуманоидов говорит о том, что человекоподобную руку на электродвигателях создать вполне можно и даже давно научились. Но электроприводы пальцев должны располагаться на предплечье, как у человека и работать линейно через сухожилия (а не вращательно на каждом суставе, как тут)
Ну и, конечно, никакого программирования тут быть не должно, только обучение, и этот путь тоже уже хорошо проторен, берите готовые примеры и фреймворки и используйте, а не копайте свой собственный туннель параллелно городскому метрополитену. (это уже автору) https://mujoco.readthedocs.io/en/3.3.0/models.html
Вообще, дорогой автор, если бы вы потратили усилия на изучение и использование того, что уже есть и используется в промышленных масштабах, а не на изобретение своих печатных плат и контроллеров, ИМХО, вы бы продвинулись гораздо дальше.
Ну и, конечно, никакого программирования тут быть не должно, только обучение, и этот путь тоже уже хорошо проторен,
В целом насчет обучения я согласен, только отмечу что даже у человека не все обучается (например, рефлексы позвоночника вы не обучите)...
Как видно из текущего кода, я просто создал некий каркас и просто беру значение и его пробрасываю, иногда преобразовывая.
Вообще, дорогой автор, если бы вы потратили усилия на изучение и использование того, что уже есть и используется в промышленных масштабах, а не на изобретение своих печатных плат и контроллеров, ИМХО, вы бы продвинулись гораздо дальше.
Спасибо. Возможно, но это был бы уже другой робот =)
я почему-то всегда представлял или в фильме каком-то видел или мультике типо на каких-то цилиндрах не знаю как точно называется ), а так даже не знаю может вы и правы
Спасибо за комментарий!
Вообще статья немного не про "механику робота" / его "железо", а про его по. Поэтому наверно столько вопросов именно именно к "железной" части.
Постараюсь в ближайшие недели написать статью именно про логику создания железной части робота.
Что касается мышц:
Мышца - Аналог линейного двигателя
мышца натягивает сухожилие, поэтому, на мой взгляд не так принципиально мы используем линейный, сервопривод или шаговый. Мне было принципиально, чтобы я мог контролировать скорость, направление.. и при этом я не использовал аналоговые схемы. Поэтому я выбрал шаговый двигатель.
Мышца имеет источник питания
Мотор тоже имеет источник питания. Сигнал с контроллера через операционный усилитель или простую матрицу Дарлингтона усиливается благодаря подведенному силовому проводу
Датчики проприоцепции, которые в свою очередь дают чувство положения, движения и силы, приложенной как самими мышцами, так и извне.
Тут не совсем так, как вы развиваете далее...
Каждая мышца действительно содержит датчик натяжения сухожилия (органы или клетки Гольджи), тут я не спорю.
Однако сами мышцы не управляют тем как они напрягаются (можете почитать опыты на животных со стрихнином). Этим управляет позвоночник, мозжечок, кора головного мозга. Тут я не буду рассказывать как что и в каких случаях управляется, это сейчас не так важно. Смысл в том, что управляет движением несколько слоев нервной системы, а не сами мышцы. Как пример, если имеются проблемы у нейронов позвоночника, у новорожденного сразу видно отсутствие "локальных" рефлексов, а если некорректно работает вся система с передачей данных от лобной доли мозга, то человек получает болезнь Паркинсона...
То, что я про инверсную кинематику тут ни слова не увидел, означает, что вы даже не пытались ее здесь применить
Все верно, я использую работы по анатомии и физиологии как основу. Человек это набор "костылей", он очень нерациональный.
При этом любая моя попытка что-то улучшить приводила меня к тому, что ничего не работает.
Возможно у вас будет результат лучше, буду рад посмотреть.
И, кстати, Kafka - это не шина и даже не очередь
Не очередь - согласен (очередь все-таки это топик кафки), а то что это не шина - не согласен, я считаю что это разновидность шины.
На самом деле тут вопрос не в терминах, а в свойствах. Кафка хорошо справляется с доставкой сообщений и одно и то же сообщение может прочесть несколько потребителей (главное чтобы были консьюмеры разные), плюс в Кафке можно регулировать срок хранения сообщения в том или ином топике... Все эти свойства рекомендуют использовать кафку именно для моего проекта / хобби.
Пока готова только одна рука
Говард_Воловитц.джпг
Отличное занятие! ждем продолжение.
Круто было бы увидеть видео.
Спасибо!
Я медленно видео сюда выкладываю - https://www.youtube.com/@robotsengineer/videos
А наработки Berkeley Humanoid Lite смотрели?
Программа для человекоподобного робота