1010
0.3
2014-03-09
Управление роборукой при помощи leap motion
В прошлом году я собрал роборуку, написал для неё «драйвер» для linux, научил держать разные предметы. И как-то забыл про неё. Но вчера мне доставили leap motion и придумалась новая идея — научиться управлять роборукой по средством движений своих рук.
Чем нужно управлять
У роборуки есть:
- база — может крутиться по и против часовой стрелки;
- плечо — двигаться вверх и вниз;
- локоть — двигаться вверх и вниз;
- запястье — двигаться вверх и вниз;
- клешни — открываться и закрываться.
<code class="python">from roboarm import Arm arm = Arm() arm.base.rotate_clock(3) arm.elbow.up(1) arm.grips.open(2) </code>
Первая реализация
Leap motion умеет определять руки, пальцы и их направление.
Поэтому я решил привязать движения к пальцам:
Часть роборуки | Моя рука | Количество пальцев | Ось |
---|---|---|---|
База | Правая | 4 или 5 | X |
Плечо | Левая | 4 или 5 | Y |
Локоть | Правая | 2 или 3 | Y |
Запястье | Любая | 1 | Y |
Клешни | Левая | 2 или 3 | X |
Вторая реализация
Leap motion отдаёт координаты рук в определённых границах, у меня примерно от -200 до 200 по X и от 0 до 400 по Y. Эту область я разбил на десять равных частей и привязал к ним действия:
Основа по часовой | Плечо вверх | Локоть вверх | Запястье вверх | Открыть клешни |
Основа против часовой | Плечо вниз | Локоть вниз | Запястье ввниз | Закрыть клешни |
Что получилось
Видео с результатом, где роборука пытается поднять коробочку:
Видео, где движения руки видно лучше:
Ссылки
Роборука owi robotic arm.
Leap motion.
«Драйвер».
Исходный код реализации.
Источник: habrahabr.ru/post/214613/
Bashny.Net. Перепечатка возможна при указании активной ссылки на данную страницу.
Комментарии
Что даст Tesla строительство ее новой «Гигафабрики»?
Тролля-киберсквоттера оштрафовали на 32 тысячи долларов