Представляю вам свой проект манипулятора на основе компонентов от лампы из iKea. Данное решение значительно упростило кинематику и уменьшило нагрузку на приводные серво-моторы. Грузоподъемность легко изменить лишь заменив натяжение пружин. Усиления серво-моторов не потребуется.

На видео можно видеть какова грузоподъемность при установке трех пружин:
Характеристики манипулятора на данный момент: движение в 5 координатах, грузоподъемность от 0,5кг на плече пол-метра, максимальная длина 690мм.
Детали начерчены в программе solidworks, печать проводилась на 3д принтере. Для изготовления потребуется 5 сервоприводов 1 x MG958, 2 x MG945, 2 x SG5010. Для захвата использовался электро-магнит. Управляется манипулятор с помощью Arduino Uno с SensorShield v5.
Прикладываю пример скетча, который выполняет жестко прописанные движения. Исползовалась библиотека 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 модели для печати манипулятора можно скачать на сайте http://www.thingiverse.com/thing:1652309 Инструкцию и особенности сборки можно посмотреть тут http://www.instructables.com/id/Tertiarm-3d-Printed-Robot-Arm/ Главная страница проекта тут https://hackaday.io/project/19235-tertiarm-3d-printed-robot-arm


