Пользователь
28,1
рейтинг
11 января в 16:31

Tertiarm — роборука, напечатанная на 3d принтере из песочницы

Всем привет! Представляю вашему вниманию мой проект — роборука на базе настольной лампы с напечатанными на 3d-принтере суставами.

image


За основу было решено взять лампу Икеа, которая благодаря использованию пружин всегда сохраняла заданную позицию. Соответственно в роборуке энергия сервоприводов расходуется только на изменение положения рычагов, а пружины удерживают вес руки и груза. Таким образом грузоподъемность манипулятора зависит от количества и конфигурации пружин. Например, в видео с испытанием максимальной грузоподъемности я использую 3 пружины в плечевом суставе и 1 в локтевом:


Технические характеристики:

  1. 5 степеней свободы
  2. Полная длина: 690мм
  3. Грузоподъемность: 0,5кг (расстояние от базы до точки крепления груза 500мм)

Все суставы смоделированы в solidworks и напечатаны на 3d принтере. Рука пока имеет 5 степеней свободы и соответственно 5 серв. Я использовал 1- MG958, 2 — MG945 и 2-SG5010.

Контролер: Arduino Uno и SensorShield v5.
Захват: 12в магнит.

В тестовой программе используется библиотека VarSpeedServo. Она позволяет регулировать скорость сервоприводов и выполняет каждое движение только после предыдущего.

#include <VarSpeedServo.h> 
int motorPin = 2;

VarSpeedServo myservo1; 
VarSpeedServo myservo2;
VarSpeedServo myservo3;
VarSpeedServo myservo4;
VarSpeedServo myservo5;

void setup() {
  pinMode(motorPin, OUTPUT);
  myservo1.attach(11);
 myservo2.attach(10); 
 myservo3.attach(6); 
 myservo4.attach(5); 
 myservo5.attach(3); 
} 

void loop() {
  myservo1.write(150, 30, true);
myservo2.write(140, 30, true);
myservo4.write(160, 30, true);
myservo3.write(160, 30, true);

digitalWrite(motorPin, HIGH);
delay(500);
 myservo3.write(90, 30, true);
myservo2.write(90, 30, true);
myservo1.write(70, 30, true);
 myservo3.write(140, 30, true);
myservo5.write(180, 30, true);
delay(500);
digitalWrite(motorPin, LOW);
delay(500);
  myservo3.write(90, 30, true);       
}

→ Файлы для 3d-печати и полный список компонентов на Thingiverse
→ Инструкция по сборке Instructables
→ Страница проекта на Hackaday

Еще несколько фотографий:

image
image
image
Спасибо за внимание!
@akaragad
карма
10,0
рейтинг 28,1
Пользователь

Самое читаемое

Комментарии (24)

  • +4
    Не удержался:
  • –1

    Работа и статья интересная. Только жаль, что не раскрыта тема выгоды. Где можно применить данную поделку, чтобы получить какую никакую выгоду или ускорение какого либо тех процесса? Естественно в домашних условиях.

    • +7
      >в домашних условиях.
      Ну разумеется никак. Если только не прикрутить её к стулу чтобы спину чесала.
    • +4
      А какую выгоду можно ожидать от новорожденного? (с)
    • +4

      Спасибо! Проект задумывался исключительно в образовательных и развлекательных целях. Отсутствие бытовых применений один из главных сдерживающих факторов развития домашней робототехники. Создание необходимого софта и инфраструктуры для использования подобных манипуляторов для выполнения простейших действий под силу только крупным компаниям или исследовательским институтам.

    • +1
      Ну это смотря какую прошивку в контроллер руки загрузить.
  • 0
    Добрый день! Здорово… а насколько точно можно удерживать кончик манипулятора? Очень интересует точность… хотел бы такую штуку приспособить под шлифовалку, протянуть гибкий вал по верху или подвесить и заставить проезжать под заданными углами по траектории. Аааа… хочу.
    • +1
      Тут не только точность, но и устойчивость нужна. Сабж гуляет во всех измерениях даже при работе практически без нагрузки, что уж говорить, когда ему на конец приделают рабочий инструмент и воткнут его в деталь… Тут нужно солидное основание и солидные компоненты, а не лампа на пружинках.
    • +2

      Спасибо! Увы, но жесткости и количества степеней свободы недостаточно для подобных задач.

      • 0
        Два-три таких манипулятора, соединенных в конечной точке, под углом друг к другу (в плане)? Типа перевернутого дельта-манипулятора.
  • +1
    Для видео можно было бы и более тщательно проработать траекторию, ускорения. А то остается впечатление как от в доску пьяного грузчика, переставляющего ящики :)
  • 0
    Как-то так можно решить проблему с точностью позиционирования.
    1. Руке на голову приделать пару видеокамер с длиннофокусными объективами и датчик уровня
    2. На стены спереди и сбоку повесить листы с распечатанными матрицами, указывающими координаты x и y+z в см + имеющими миллиметровую сетку.
    модуль с камерами выравниваем датчиком уровня так, чтобы плоскость, заданная пересечением осей камер, была параллельно полу, камерами ищем нужные координаты при помощи opencv и внутри сантиметра выравниваем по сетке до миллиметра.
    Таким образом, всё, что потребуется дополнительно — две плоские стенки.
    Можно наоборот — взять пару широкоуголных камер и искать ими некую метку на конце манипулятора. Только придётся очень точно ректифицировать камеры.
  • +1
    Можно было бы лампу оставить, прикрутить камеру, что бы следила за специальным перстнем на руке (можно смоделированным по руке в solidworks и распечатанным на 3D принтере) и направляла свет на руки.
  • 0
    Многовато деталей, ненапечатанных на 3д принтере, для руки, полностью напечатанной на нем. Я не придираюсь к автору или его проекту. Я хочу сказать, что для полноценной печати на 3д принтерах нам нужно больше различных масс в разными свойствами после застывания. А то так, можно сказать, что напечатал автомобиль на 3д принтере, хотя на самом деле сделал только пепельницу к нему.
    • +1
      я вот согласен, не очень похоже на «роборука, напечатанная на 3d принтере». это «роборука из лампы IKEA».
      и ладно винты, но пружины и алюминий — их фиг найдешь, а IKEA не везде есть :)
      ну, получилось аккуратно, только если-бы всё кроме винтов было заменено на пластик — вот это было-бы очень круто.

      • +2
        Сугубое ИМХО.
        Лично меня бы больше привлек заголовок «роборука из лампы IKEA», чем «роборука, напечатанная на 3d принтере». Потому что на 3D-принтере сейчас печатают все и всё подряд. А сурового лампового (во всех смыслах этого слова) DIY стало маловато.

        По сабжу — мне почему-то сразу захотелось цифровую камеру на этот манипулятор присобачить…
  • 0
    Механика ладно. Что планируется делать с полярной системой координат? Ведь для этого и RPI может не хватить. Ну хватит, ок. Какими-то усилиями туды поставите EMC…
    Дальше тоже интересно. Ладно, уменьшаются требования к сервомашинкам. Но точность +-1 градус, с великим трудом достигаемая на сервах, с ОС с резистором на валу, дает точность позиционирования около двух сантиметров. При грузоподьемности грамм 100. И куда такое нужно? Лампу пиксар анимировать? И то вряд ли выйдет. А сервы на шаговиках с волновым редуктором стоят просто нереальные деньги.
    Кстати, «робот на сервоприводах» и «робот на сервомашинках» звучат для обывателя как бы одинаково, но между ними пропасть — гранд каньон. По всем параметрам.

    • 0

      Сейчас как раз пытаюсь приспособить руку к прямоугольную системы коориднат. С нуля у меня вряд ли получится решить подобную задачу, так что пока пытаюсь адаптировать код от MeArm

  • 0
    Отличная работа!
  • 0
    Еще вопрос. Как я понял, управляющие «мозги» вы повесили на локоть конструкции (а не на основание, как можно было ожидать). Это не изменило баланс и настройку пружин?
  • 0
    Господа, подскажите пожалуйста, а где можно посмотреть open source конструкции роборук, выражаясь терминами автора статьи? Интересует устройство крепления приводов и пластиковой оболочки, желательно малогабаритные.
  • 0

    На thingiverse и hackaday множество подобных проектов. Для начала можно посмотреть эту коллекцию.

    • 0
      Cпасибо. Хотелось взглянуть на конструкцию гуманоидных роборук: конструкцию механики, кинематики, силовую (несущую часть), крепление обшивки.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.