Управління Roboruk з Leap Motion





Минулого року я побудував Roboruk, написав драйвер Linux для нього, навчав вас тримати речі. Я свого роду заготівля про неї. Але вчора я був доставлений стрибок і придумав нову ідею - дізнатися, як контролювати роботу через рух рук.

Що робити
Roboruka має:
  • підстава - може обертати і проти годинникової стрілки;
  • плече - перемістити і вниз;
  • ліктя - переміщення і вниз;
  • зап'ясті – перемістити і вниз;
  • Claws - відкритий і закритий.
Для того, щоб «привод» був простий апі:
від roboarm імпорт Арматура = Arm() arm.base.rotate_clock(3) arm.elbow.up(1) arm.grips.open(2)
Перша реалізація
р.

Леп руху може виявити руки, пальці і їх напрямок.
Так я вирішив зв'язати рухи до пальчиків:
Частина Roboruk Мій ручний номер пальчиків Axis Base Right 4 або 5 X плеча зліва 4 або 5 Y Elbow Right 2 або 3 Y Wrist Будь 1 Y Claws Залишилося 2 або 3 X Ніщо не вийшло. Леп рух правильно визначено, коли рука 1-2 пальці, але коли більше - випадкове значення 1 до 5.

Друга реалізація

Леп рух дає координати рук в певних межах, у мене є близько 200 до 200 до X і 0 до 400 до Y. Я розділив цю область на десять рівних частин і зв'язав дії до них:
Основа погодинного плеча вгору ліктя вгору стійки вгору відкриті кігти Basis vs. погодинно плеч вниз лікть вниз крила Закриті кіготи Ця реалізація була робоча =

Що відбулося?
Відео Роборука намагається підняти коробку:



Відео показує рухи рук краще:



Посилання
Робототехніка.
Леп рух.
Драйвер.
Код ЄДРПОУ.

Джерело: habrahabr.ru/post/214613/