Оглавление:

Джаспер Гексапод Arduino: 8 шагов (с изображениями)
Джаспер Гексапод Arduino: 8 шагов (с изображениями)

Видео: Джаспер Гексапод Arduino: 8 шагов (с изображениями)

Видео: Джаспер Гексапод Arduino: 8 шагов (с изображениями)
Видео: Гексапод на Arduino с помощью Multiservo Shield. Железки Амперки #12 2024, Июль
Anonim
Джаспер Гексапод Arduino
Джаспер Гексапод Arduino
Джаспер Гексапод Arduino
Джаспер Гексапод Arduino
Джаспер Гексапод Arduino
Джаспер Гексапод Arduino
Джаспер Гексапод Arduino
Джаспер Гексапод Arduino

Дата проекта: ноябрь 2018 г

ОБЗОР (ДЖАСПЕР)

Шесть ножек, три сервопривода на каждую ногу, 18 сервоприводов, управляемых Arduino Mega. Сервоприводы подключаются через сенсорный экран Arduino Mega V2. Связь с Hexapod через модуль Bluetooth BT12, общение с индивидуальным приложением для Android. Система питается от 2 аккумуляторов 18650, 3400 мАч и 2 аккумуляторов 2400 мА, каждый из которых удерживается на липучке под корпусом гексапода. Переключатель питания для сервосистемы и системы управления предусмотрен, а также зеленый светодиодный индикатор включения питания на головке гексапода. Команды повторяются на ЖК-дисплее 16x2. Видео-канал, световое кольцо и ультразвуковой обход препятствий расположены в голове.

ПРИМЕЧАНИЕ: Ради здравого смысла я настоятельно рекомендую использовать сервоприводы хорошего качества, я начал с сервоприводов MG995, 20 из них, 11 из которых либо сгорели, либо потеряли способность центрироваться, либо просто перестали работать.

www.youtube.com/embed/ejzGMVskKec

Шаг 1: ОБОРУДОВАНИЕ

ОБОРУДОВАНИЕ
ОБОРУДОВАНИЕ
ОБОРУДОВАНИЕ
ОБОРУДОВАНИЕ
ОБОРУДОВАНИЕ
ОБОРУДОВАНИЕ
ОБОРУДОВАНИЕ
ОБОРУДОВАНИЕ

1. 20 сервоприводов DS3218

2. 1x базовый комплект Hexapod

3. 1x Arduino Mega R3

4. 1x сенсорный экран Arduino Mega v2

5. 1 x 2 отсека для батарей 18650

6. 2 двухполюсных выключателя питания.

7. Зеленый светодиод и резистор 220 кОм.

8. 2 аккумуляторных блока по 6 В, 2800 мАч, с креплением на липучке.

9. 2 батареи 18650 x 3400 мАч

10. 1x модуль сонара HC-SR04

11. 1x модуль Bluetooth BT12

12. 1 плата разработки Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT

13. 1 х мини-модуль Arducam Camera Shield с 2-мегапиксельным объективом OV2640

14. 1 световое кольцо Pixie Neon 16 LCD

15. 1 x 16x2 строчный ЖК-дисплей с присоединенным адаптером IIC.

16. 1 вилка питания 5 В для Arduino Mega

17. 1 разъем micro USB на 5 В для модуля NodeMcu.

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

19. Квадратная черная пластиковая коробка 1 x 70 x 120 x 39 мм (корпус)

20. 1 x 70 мм x 50 мм x 70 мм черная пластиковая коробка (головка)

21. 4 латунных опоры M3 по 40 мм плюс 4 резиновые опоры.

22. Различные соединительные кабели "папа-папа", припой, винты и болты м3, а также горячий клей.

Движение ног по индивидуальной логике. Перемещение камеры с помощью двух независимых сервоприводов, обеспечивающих движение вверх, вниз, влево, вправо и по центру. Камера, управляемая подключением WIFI, отображается в представлении WebView в приложении Android.

Шаг 2: SERVOS

СЕРВИСЫ
СЕРВИСЫ
СЕРВИСЫ
СЕРВИСЫ
СЕРВИСЫ
СЕРВИСЫ

Каждый имеет максимум 180 градусов

движение минимум 0 градусов.

Каждый сервопривод обозначается комбинацией из трех цифр: LegCFT; где C - тело (COXA), F - бедро (FEMUR), а T - локоть (TIBIA), поэтому 410 будет относиться к четвертой ноге и серво большеберцовой кости, аналогично 411 будет относиться к четвертой ноге и серво большеберцовой кости. Последовательность нумерации будет от 100 до 611. Каждая ножка сервопривода должна иметь ножку на резиновой основе для смягчения ударов и обеспечения лучшего сцепления.

Нога 1: 100, 110, 111 передняя

Этап 2: 200, 210, 211 этап2-этап1

Этап 3: 300, 310, 311 этап, 4-й этап3

Этап 4: 400, 410, 411 этап6-этап5

Шаг 5: 500, 510, 511 Назад

Этап 6: 600, 610, 611

Положение по умолчанию для всех коаксиальных сервоприводов - 90 градусов.

Положение по умолчанию для сервоприводов бедренной кости - 90 градусов, 45 градусов - положение покоя.

Положение по умолчанию для сервоприводов большеберцовой кости для всех ног составляет 90 градусов, для ног 1, 3 и 5 используется 175 градусов в качестве положения покоя, а для ног 2, 4 и 6 используется 5 градусов.

Шея 1: 700 Ограничено от 75 до 105 градусов для движения вверх и вниз

Шея 2: 800 Ограничено от 45 до 135 градусов для движения влево и вправо

Перемещение сервопривода ограничено тремя «записями», прежде чем будет включена задержка в 10 миллисекунд, прежде чем будут даны дальнейшие команды «записи». Это помогает снизить нагрузку на аккумуляторы.

Шаг 3: КОМАНДЫ

КОМАНДЫ
КОМАНДЫ
КОМАНДЫ
КОМАНДЫ
КОМАНДЫ
КОМАНДЫ

A = Стоп - Встаньте в исходное положение.

B = вперед - walk_forward

C = обратный - walk_backward

D = вправо - повернуть вправо

E = left - turn_left

F = движение влево вбок - crab_left

G = движение вправо вбок - crab_right

H = Приседание сзади (ноги 1 и 2 в максимуме, 3 и 4 ноги в нейтральном положении, ноги 5 и 6 в минимальном положении)

I = Front_crouch (ноги 1 и 2 в минимальном положении, 3 и 4 ноги в нейтральном положении, ноги 5 и 6 в максимальном положении)

J = камера с галопом - в центре (шея 1 и шея 2 в среднем положении, положение по умолчанию)

K = камера влево - pan_left (шея 1, среднее положение, минимальное положение сервопривода шеи 2)

L = камера справа - pan_right (шея 1, среднее положение, максимальное положение сервопривода шеи 2)

M = камера вверх - pan_up (максимальное положение шеи 1, среднее положение сервопривода шеи 2)

N = камера вниз - pan_down (минимальное положение шеи 1, среднее положение сервопривода шеи 2)

O = Отдыхающий (Hexapod) сидит на опорах.

P = Standing Up - Hexapod встает в позицию по умолчанию.

Q = свет выключен

R = зеленый свет на световом кольце Pixie Neon.

S = красный свет на световом кольце Pixie Neon.

T = Синий свет на кольце Pixie Neon.

U = Белый свет на световом кольце Pixie Neon.

V = передние лапы машут.

W = Звуковой Рог.

X = вращайте головой слева направо.

Y = Воспроизвести мелодию.

Шаг 4: ДВИЖЕНИЕ

ДВИЖЕНИЕ
ДВИЖЕНИЕ
ДВИЖЕНИЕ
ДВИЖЕНИЕ
ДВИЖЕНИЕ
ДВИЖЕНИЕ

Положение коаксиального сервопривода продольно по отношению к оси корпуса, поэтому прямое направление составляет 0 градусов, а прямо сзади - 180 градусов. Однако этот коаксиальный кабель и все другие сервоприводы будут ограничены углом от 45 до 135 градусов.

Движение ноги вперед, назад, влево и вправо будет начинаться с подъема ноги с помощью сервоприводов бедренной и большеберцовой кости, затем следует движение сервопривода тела и, наконец, снова опускание той же ноги с помощью сервоприводов бедренной и большеберцовой кости..

Вперед и назад

Чтобы двигаться вперед или назад, ноги работают парами: 1 и 2, 3 и 4, 5 и 6. Простое движение вперед состоит из ног 1 и 2, перемещающихся из своего текущего положения как можно дальше вперед, затем ног 3 и 4, и, наконец, 5 и 6 ног повторяют то же действие. Затем все шесть коаксиальных сервоприводов перемещаются из этого выдвинутого переднего положения обратно в исходное исходное положение. Обратный процесс используется для движения назад. В процессе движения вперед ультразвуковой прибор HC_SR04 проверяет наличие препятствий впереди и, если они обнаруживаются, произвольно поворачивает Hexapod влево или вправо.

Лево и право

Для движения левой или правой ног пары работают вместе, но в противоположных направлениях. Так, например, для поворота правая нога 1 перемещается из текущего положения обратно в положение 135 градусов, а нога 2 перемещается вперед в положение 45 градусов. Это повторяется для пар ног 3 и 4, а также для 5 и 6 ног. В это время сервоприводы Coax возвращаются в исходное положение в новое положение, поворачивая корпус в направлении движения, т. Е. Правильно. Этот процесс продолжается до тех пор, пока не будет завершено необходимое вращение влево. Для поворота влево используется обратный процесс: нога 1 перемещается из текущего положения вперед в положение под углом 45 градусов, а нога 2 перемещается назад в положение под углом 135 градусов.

Встать и отдохнуть

Оба эти процесса не используют коаксиальный сервопривод какой-либо из ног, поэтому, чтобы поднять сервопривод большеберцовой кости, для всех ног перемещается из своего текущего положения на максимальные 45 градусов, в то время как для отдыха эти же сервоприводы бедренной кости перемещаются в самое нижнее положение. положение, 175 или 5 градусов. То же самое движение применяется к сервоприводам большеберцовых костей, которые перемещаются на максимум 45 градусов для стояния и к минимуму, т. Е. 175 или 5 градусов для отдыха.

Наклонитесь вперед и присядьте назад

Здесь снова процессы являются зеркальным отображением друг друга. При приседании вперед ноги 1 и 2 находятся в крайнем нижнем положении, а ноги 5 и 6 - в крайнем верхнем положении. В обоих случаях ноги 4 и 5 принимают нейтральное положение, которое соответствует группам ног 1 и 2, 5 и 6. Для приседания назад ноги 1 и 2 находятся в самом верхнем положении, а ноги 5 и 6 находятся в самом нижнем положении.

Шаг 5: ГОЛОВНАЯ КАМЕРА / СОНАР

ГОЛОВНАЯ КАМЕРА / СОНАР
ГОЛОВНАЯ КАМЕРА / СОНАР
ГОЛОВНАЯ КАМЕРА / СОНАР
ГОЛОВНАЯ КАМЕРА / СОНАР
ГОЛОВНАЯ КАМЕРА / СОНАР
ГОЛОВНАЯ КАМЕРА / СОНАР

Голова будет представлять собой квадратную пластиковую коробку размером 38 мм x 38 мм x 38 мм со съемной крышкой. Коробка / голова будут иметь ограниченное вертикальное и горизонтальное перемещение. Движение будет достигаться за счет использования двух сервоприводов, один из которых прикреплен к корпусу робота, а второй прикреплен к корпусу первого сервопривода, а его рука прикреплена к голове. Питание 7,4 В от двух аккумуляторов 18650 будет питать плату разработки Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT DEVKIT, прикрепленную к мини-модулю камеры Arducam Shield с 2-мегапиксельным объективом OV2640. Такое расположение позволит роботу обнаруживать препятствия и транслировать видео в реальном времени через бортовой Wi-Fi. Сонар, использующий HC-SR04, и возможная информация об управлении освещением будут передаваться обратно в Arduino Mega.

Я благодарен Дмайнмуну за его статью Arducam Instructables, которая очень помогла мне в первоначальном понимании того, как Arducam можно использовать для видеопотока.

Аккумулятор

Было решено использовать два аккумуляторных блока: один для компонентов головы и платы Arduino Mega, а второй - для питания всех сервоприводов. Первый комплект состоял из 2 аккумуляторов 18650 емкостью 3400 мАч, питающих 7,4 В. Второй пакет состоял из 2 батарейных блоков 6 В 2800 мАч, подключенных параллельно, что давало питание 6,4 В, но увеличенную емкость 5600 мАч, прикрепленных к нижней стороне Hexapod с помощью полосок на липучках.

Шаг 6: ДВИЖЕНИЕ НОГ

ДВИЖЕНИЕ НОГ
ДВИЖЕНИЕ НОГ
ДВИЖЕНИЕ НОГ
ДВИЖЕНИЕ НОГ
ДВИЖЕНИЕ НОГ
ДВИЖЕНИЕ НОГ

Руки могут работать как парами, так и поодиночке. Каждая рука состоит из сустава тела, называемого Coax, с движением от 45 до 135 градусов, бедренного сустава, называемого Femur, с движением от 45 до 135 градусов, и, наконец, локтевого сустава, называемого Tibia, или концевого эффектора, с движением от 45 до 135 градусов.. Специальное программное обеспечение было написано для обеспечения движения ног.

Виды движения ног:

Для коаксиального кабеля 45 градусов направлены назад от головы, 90 градусов - нейтральное положение, а 135 градусов - вперед.

Для бедренной кости 45 градусов - это самое высокое положение от земли, 90 градусов - нейтральное положение и 135 градусов - самое низкое положение от земли.

Для большеберцовой кости 45 градусов - это наиболее удаленное от тела положение, 90 градусов - нейтральное положение и 135 градусов - ближайшее положение к телу.

Предположим, что все сервоприводы находятся в нейтральном положении, 90 градусов.

Вперед: нога 1 и 2, бедро поднимается на 135 градусов, коаксиальная кость перемещается на 45 градусов, большеберцовая кость перемещается на 45 градусов, наиболее удаленная от тела, бедренная кость опускается до 45 градусов. Это повторяется для пар ног 3 и 4 и пары ног 5 и 6. Все 6 коаксиальных сервоприводов перемещаются от 45 градусов назад до 90 градусов, нейтральное положение, все 6 сервоприводов бедренной кости перемещаются от 45 градусов до 90 градусов, нейтральное положение. Наконец, все сервоприводы большеберцовой кости поднимаются с 45 градусов на 90 градусов в нейтральном положении.

Реверс: начиная с ног 5 и 6, затем с 3 и 4 и, наконец, с ног 1 и 2, в остальном движение такое же для коаксиальной, бедренной и большеберцовой костей.

Слева: ноги 1, 3 и 5 движутся в обратном направлении, а ноги 2, 4 и 6 движутся в прямом направлении. И прямое, и обратное движение соответствуют стандартному прямому и обратному движению. Чтобы завершить поворот, все шесть коаксиальных сервоприводов поверните на 45 градусов, что поворачивает корпус.

Справа: ноги 2, 4 и 6 движутся в обратном направлении, а ноги 1, 3 и 5 движутся в прямом направлении. Как прямое, так и обратное движение соответствуют стандартному прямому и обратному движению. Коаксиальное движение аналогично приведенному выше, но в обратном направлении.

Отдых: все коаксиальные и бедренные сервоприводы в нейтральном положении, все сервоприводы для большеберцовых костей в самом нижнем положении под углом 45 градусов, эффективно приседая как передние, так и средние и задние ноги.

Присядьте сзади, встаньте впереди: ноги 1 и 2 в верхнем положении, ноги 3 и 4 в нейтральном положении, а ноги 5 и 6 в нижнем положении.

Встаньте сзади, присядьте впереди: ноги 1 в нижнем положении, ноги 3 и 4 в нейтральном положении, а ноги 5 и 6 в верхнем положении.

Краб слева: ноги 1 и 5 поднимаются и вытягиваются наружу влево, в то же время ноги 2 и 6 поднимаются и сокращаются под телом. Когда все четыре ноги находятся на земле, все голени возвращаются в свое нейтральное положение. Наконец, ноги 3 и 4 повторяют тот же процесс.

Краб вправо: ноги 2 и 6 поднимаются и вытягиваются вправо, в то же время ноги 1 и 5 поднимаются и сокращаются под телом. Когда все четыре ноги находятся на земле, все голени возвращаются в свое нейтральное положение. Наконец, ноги 3 и 4 повторяют тот же процесс.

Движение левой головы: шея 1 сервопривод 45 градусов. Оба сервопривода возвращаются в нейтральное положение на 90 °.

Движение головы вправо: шея 1 сервопривод 135 градусов

Движение головы вверх: шея 2 сервопривода 45 градусов

Движение головы вниз: шея 2 сервопривода 135 градусов

Поворот головы: шея 2 перемещается от 45 до 135 градусов

СЕРВИСЫ

После первоначального тестирования сервоприводы MG995 и MG996 были заменены. Все 20 сервоприводов были заменены сервоприводами DS32228 20 кг, которые обеспечили значительно улучшенное центрирование и увеличили грузоподъемность.

Важно тщательно протестировать каждый сервопривод с помощью подходящей тестовой программы. Я модифицировал простую примерную программу «развертки», чтобы специально протестировать положения 0, 90 и 180, эта процедура тестирования выполнялась в течение минимум 5 минут для каждого сервопривода, а затем повторялась через день.

ПРИМЕЧАНИЕ. Использование стандартной платы Arduino Uno с питанием от USB-кабеля может не обеспечивать достаточного напряжения для работы некоторых сервоприводов. Я обнаружил, что 4,85 В, полученные сервоприводом от Uno, вызвали неустойчивое поведение сервоприводов DS3218, увеличение этого напряжения до 5,05 В решило эту проблему. Итак, я решил запустить сервоприводы на 6 В. В конце концов, я обнаружил, что необходимо напряжение 6,4 В, поскольку 6 В вызвали неустойчивое поведение сервоприводов.

Шаг 7: СТРОИТЕЛЬСТВО

СТРОИТЕЛЬСТВО
СТРОИТЕЛЬСТВО
СТРОИТЕЛЬСТВО
СТРОИТЕЛЬСТВО
СТРОИТЕЛЬСТВО
СТРОИТЕЛЬСТВО

НОГИ

Начал с выкладки деталей комплекта Hexapod. Все круглые рожки сервоприводов требовали увеличения матирующего отверстия на обоих концах бедренной кости и всех отверстий коаксиального кабеля. Каждый рупор сервопривода был прикреплен к соответствующему коаксиалу и бедренной кости четырьмя винтами и пятым винтом через центр сервоголовки. Все корпуса сервоприводов прикреплены с помощью четырех болтов и гаек. Коаксиальный сервопривод для каждой из шести опор имел подшипник, прикрепленный к нижней части крепления с помощью одного болта и гайки. Каждое крепление сервопривода коаксиального кабеля было прикреплено с помощью четырех болтов и гаек к его креплению сервопривода бедренной кости, причем это крепление было повернуто на 90 градусов. Головка сервопривода бедренной кости была прикреплена к одному концу плеча бедренной кости, а другой конец бедренной кости прикреплен к сервоголовке большеберцовой кости. Шесть сервоприводов Tibia были прикреплены к верхней части шести ножек с помощью четырех болтов и гаек. Каждый концевой эффектор ног был покрыт мягким резиновым чехлом для обеспечения дополнительного захвата. Было обнаружено, что поставляемый рупор сервопривода был слишком большим, чтобы его можно было вставить в соединения Coax, Femur и Tibia, поэтому все центральные отверстия были увеличены до 9 мм. Я благодарен «Toglefritz» за его инструкции Capers II относительно конструктивных элементов комплекта Hexapod. Однако я отклонился от конструкции в одной области, а именно в прикреплении сервоприводов к обоим концам бедренной кости. Я решил увеличить центральное отверстие бедренной кости, чтобы позволить центру рупора сервопривода проходить через него, тем самым придавая рупору сервопривода дополнительную прочность, поскольку он был ближе к сервоприводу, и эти два сустава испытывали максимальный крутящий момент. Каждый рожок сервопривода был прикреплен к бедренной кости с помощью двух саморезов M2.2, концы этих винтов были сняты и плоско подпилиты. Все болты M3 были затянуты до упора.

ТЕЛО

Корпус состоит из двух пластин с шестью отверстиями на каждой, каждое из которых используется для крепления коаксиального рупора сервопривода. Две батареи 6V 2800mAh были прикреплены к нижней стороне нижней панели с помощью липучки. Были прикреплены четыре стойки M3, выходящие за нижнюю часть держателя батареи, каждая из которых имеет мягкий резиновый чехол, скользящий по дну, что обеспечивает стабильную основу, на которую может опираться Hexapod. В верхней части нижней пластины находится Arduino Mega и его сенсорный экран, прикрепленный с помощью четырех 5-миллиметровых стоек. К верхней части нижней пластины были прикреплены 4 стойки M3 высотой 6 см, они окружали Arduino Mega и обеспечивали поддержку верхней пластины. К верхней пластине была прикреплена коробка размером 120 мм x 70 мм x 30 мм, в которой разместятся первые сервоприводы шеи и ЖК-экран. Второй 2 отсека, держатель батареи 2 x 18650 был прикреплен к нижней стороне верхней пластины к задней части платы Arduino Mega, обращенной к передней части Hexapod.

На верхней пластине есть шесть рупоров сервопривода, каждый из которых прикреплен четырьмя винтами M2.2. На верхней части пластины установлена коробка размером 70 мм x 120 мм x 30 мм, в которой установлены двухсекционный держатель батареи 18650, двухполюсный переключатель, зеленый светодиод и ЖК-дисплей IC2 16 x 2. Кроме того, также установлен первый сервопривод шеи, кабель питания и второй сервомеханический кабель данных шеи проходят через отверстие для питания второго сервопривода и модуля Arduino V3 NodeMcu. Другой кабель передачи данных проходит через приставку и питает ультразвуковой модуль HC-SR04, снова расположенный в головке. Второй кабель для передачи данных и питания также проложен к голове для питания светодиодного кольца Pixie.

Два кабеля данных сервопривода и кабель передачи данных HC-SR04 проходят через верхнюю пластину, а модуль Bluetooth прикреплен к нижней стороне пластины с помощью неоновой прокладки и горячего клея. Перед любой попыткой прикрепить верхнюю пластину к нижней пластине с помощью 4 винтов M3, которые вставляются в стойки 4 x M3, которые были прикреплены к нижней пластине, необходимо установить кабельную разводку остальных 18 кабелей серво данных. В рамках процесса крепления верхней нижней пластины все шесть коаксиальных сервоприводов также должны быть размещены в их правильном положении с установкой подшипника в отверстие нижней пластины и установкой сервоголовки в рупор верхней пластины. После установки верхние части шести сервоприводов Coax закрепляются 6 винтами M3. Из-за расположения рупоров сервоприводов для шести коаксиальных сервоприводов высоту стоек 4 x M3 необходимо было уменьшить на 2 мм, чтобы коаксиальные сервоподшипники правильно сидели в нижней пластине.

ГОЛОВА

Головка состоит из двух сервоприводов, расположенных под углом 90 градусов друг к другу, один размещен в коробке, прикрепленной к верхней пластине, а второй прикреплен к первому через рупор сервопривода с помощью U-образного участка латунной пластины. Рупор второго сервопривода прикреплен к L-образному латунному кронштейну, который сам прикреплен к коробке размером 70 мм x 70 мм x 50 мм с помощью двух болтов и гаек. Коробка образует головку, внутри которой установлена камера Ardcam, ультразвуковой модуль HC-SR04, а также модуль Arduino V3 NodeMcu и светодиод питания. И ультразвуковой модуль, и передающий, и принимающий сенсорные головки выступают через переднюю часть корпуса, как и объектив камеры. Объектив с внешней стороны коробки окружает кольцо пикси Nero с 16 ЖК-дисплеями. Светодиод питания NodeMcu виден через отверстие в задней пластине головы, кабель питания, кабель данных ультразвукового модуля, а кабели питания данных Pixie Neon проходят через отверстие между задней пластиной и пластиной головы.

ЭЛЕКТРОНИКА

На следующих диаграммах Фритцинга показана электроника тела и головы. Линии VCC и GRD не показаны для 20 сервоприводов, чтобы облегчить понимание схемы. Модуль Bluetooth через приложение для Android управляет движением Hexapod, включая сервоприводы на шее. Модуль Arduino NodeMcu на основе WIFI управляет модулем камеры Arducam. Все сервоприводы прикреплены к экрану датчика Arduino через единый блок, содержащий VCC, GRD и сигнальные линии. Стандартные 20-сантиметровые перемычки DuPont используются для подключения Bluetooth BT12, HC-SR04 и IC2 LCD.

КАЛИБРОВКА НОЖЕК

Это одна из самых сложных областей подготовки перед работой над движением Hexapod. Первоначальная идея состоит в том, чтобы установить все ноги в следующие положения: коаксиальные сервоприводы на 90 градусов, сервоприводы бедренной кости на 90 градусов и сервоприводы большеберцовой кости на 90 с физическим положением ног, установленным на 105 градусов для ног 2, 4 и 6, и 75 градусов. для ног 1, 3 и 5. Hexapod был размещен на ровной поверхности, опираясь на четыре опоры под аккумуляторным отсеком. Это ноги, расположенные на одинаковом расстоянии между каждой ногой и на одинаковом расстоянии от тела. Все эти позиции были отмечены на ровной поверхности. При конструировании опор была найдена средняя точка каждого сервопривода, это должно быть положение сервоприводов под углом 90 градусов. Это положение по умолчанию под углом 90 градусов используется для всех сервоприводов.

Внутренние поверхности коаксиальных сервоприводов 2 и 5 параллельны друг другу, это касается сервоприводов 1 и 6, а также 3 и 4. Все бедренные и коаксиальные сервоприводы фиксируются вместе под углом 90 градусов друг к другу на этапе сборки. На всех сервоприводах бедренной кости бедренная кость прикреплена к ним под углом 90 градусов. Все сервоприводы большеберцовой кости прикреплены к большеберцовой кости под углом 90 градусов. Сервоприводы для большеберцовой кости 2, 4 и 6 прикреплены к бедренной кости под углом 105 градусов, в то время как сервоприводы 1, 3 и 5 большеберцовой кости прикреплены к бедренной руке под углом 75 градусов.

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

Первоначальная калибровка заключается в перемещении Hexapod из положения покоя после включения в положение стоя, которое является устойчивым, стабильным, ровным и, что самое важное, ни один из сервоприводов не перегревается. Чтобы поддерживать устойчивое положение, необходимо писать в каждый сервопривод с задержкой менее 20 миллисекунд, было использовано 10 миллисекунд. Все сервоприводы могут перемещаться только от 0 до 180 градусов и от 180 градусов назад до 0, поэтому для всех сервоприводов бедренной кости 0 и 180 градусов являются вертикальными, а 90 градусов - горизонтальными.

Перед подключением каждого сервопривода инициализирующая запись была отправлена каждому из ранее определенных сервоприводов, давая ему текущий угол покоя, т. Е. текущее положение сервопривода в состоянии покоя. Это было 90 градусов для всех коаксиальных сервоприводов, 55 градусов для бедренных и большеберцовых сервоприводов 1, 3 и 5 и 125 градусов для бедренных и большеберцовых сервоприводов 2, 4 и 6.

Важно отметить, что в начале сеанса калибровки батареи всегда должны быть полностью заряжены.

Гексапод всегда начинает из положения покоя, все тело поддерживается четырьмя ногами. Из этого положения все сервоприводы бедра и большеберцовой кости переключаются из исходного положения в положение стоя, при этом все сервоприводы находятся под углом 90 градусов. Чтобы завершить положение стоя, дается команда «встать». Эта команда требует, чтобы все ноги поднялись и снова опустились в два подхода по три движения ног: ноги 1, 5 и 4, а также 2, 6 и 3.

Шаг 8: ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Программное обеспечение состоит из трех частей, первая часть - это код Arduino, который работает на Arduino Mega, вторая часть - это код Arduino, работающий на модуле NodeMcu в голове. Связь осуществляется через блок Bluetooth BT12, который получает команды от планшета Android, а именно Samsung Tab 2, на котором запущено специальное приложение, созданное Android Studio. Именно это приложение отправляет команды Hexapod. Это же приложение также получает прямую видеотрансляцию от модуля NodeMcu через встроенный Wi-Fi.

КОД ANDROID

Индивидуальный код Android, разработанный с использованием Android Studio, обеспечивает платформу, на которой запускается двухэкранное приложение. Приложение имеет два экрана, главный экран позволяет пользователю отдавать команды Hexapod и просматривать видеопоток, поступающий с головки hexapod. Второй экран, доступ к которому осуществляется с помощью кнопки WIFI, позволяет пользователю подключаться, во-первых, к гексаподу Bluetooth, а во-вторых, к горячей точке WIFI, которая создается картой NodeMCU Arduino в головке гексапода. Приложение отправляет однобуквенные команды через последовательный порт 9600 бод с планшета через встроенный Bluetooth на Bluetooth BT12, подключенный к гексаподу.

КОД АРДУИНО

Разработка кода началась с разработки тестовой программы, предназначенной для проверки основных функций Hexapod, его головы и тела. Поскольку голова и ее работа полностью отделены от тела, разработка программного обеспечения тестировалась параллельно с кодом функции тела. Код работы головки был в значительной степени основан на предыдущей разработке с включением сервопривода. Код включал работу ЖК-дисплея 16x2, ультразвукового модуля HC-SR04 и светового кольца на 16 светодиодов. Требовалась дальнейшая разработка кода для обеспечения доступа WIFI к прямой трансляции видео из головы.

Код функции тела изначально был разработан для обеспечения начального крепления сервопривода и исходного положения в состоянии покоя. Из этого положения Hexapod был запрограммирован просто стоять. Затем разработка продолжилась дополнительными движениями Hexapod и объединением разделов кода головы и тела с последовательной связью с приложением Android.

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

1. InitLeg - Позволяет использовать положение ноги покоя, положение ноги стоя, исходное положение ноги краба для левой или правой ходьбы, исходное положение ноги для ходьбы вперед или назад.

2. Волна - позволяет передним ногам взмахнуть четыре раза, прежде чем вернуться в положение стоя.

3. TurnLeg - Позволяет Hexapod поворачиваться влево или вправо.

4. MoveLeg - Позволяет Hexapod двигаться вперед или назад.

5. CrouchLeg - Позволяет Hexapod либо приседать вперед на его передние ноги, либо назад на его задние ноги.

Движение ног основано на работе пар ног, поэтому ноги 1 и 2, 3 и 4, 5 и 6 работают как пары. Движение состоит из двух основных действий: вытягивания вперед и тяги и толчка назад. Чтобы идти назад, эти два движения меняются местами, например, при ходьбе вперед ноги 1 и 2 тянутся, в то время как ноги 5 и 6 толкаются, а ноги 3 и 4 обеспечивают устойчивость. Ходьба краба - это те же самые действия, но под углом 90 градусов к телу, в этом случае ноги 3 и 4 также двигаются таким же образом, как и другие ноги. При ходьбе пары ног перемещаются поочередно, однако при ходьбе краба ноги 1 и 5 работают как пара, а нога 3 работает попеременно с ногами 1 и 5.

Движение Функциональное описание следует для каждой из основных функций движения, каждая из которых состоит из элементов движения, собранных вместе и выполняемых в установленной последовательности.

ОТДЫХ: Начиная с положения стоя, все сервоприводы бедренной кости движутся вверх, чтобы опустить тело на четыре опоры. В то же время все сервоприводы большеберцовых костей двигаются внутрь.

СТОЙКА: Начиная с исходного положения, все сервоприводы большеберцовой кости перемещаются наружу, когда это завершается, все сервоприводы бедренной кости перемещаются в положение 90 градусов, наконец, все сервоприводы большеберцовой кости перемещаются в положение 90 градусов одновременно.

ПОВОРОТ ВЛЕВО: ноги 1, 3 и 5 отодвигаются назад от головы на 45 градусов, в то же время ноги 2, 4 и 6 перемещаются вперед по направлению к голове. После завершения все коаксиальные сервоприводы переместятся из своего текущего положения обратно в стандартное положение под углом 90 градусов, это движение будет происходить против часовой стрелки по отношению к корпусу.

ПОВОРОТ ВПРАВО: ноги 1, 3 и 5 перемещаются вперед по направлению к голове на 45 градусов, в то же время ноги 2, 4 и 6 отодвигаются назад от головы. После завершения все коаксиальные сервоприводы переместятся из своего текущего положения обратно в стандартное положение под углом 90 градусов, это движение будет по часовой стрелке к телу.

ПОИСК ВПЕРЕД: ноги 1 и 2 опускаются с помощью сервоприводов бедра и голени, в то время как ноги 5 и 6 поднимаются с помощью сервоприводов бедра и голени, ноги 3 и 4 остаются в стандартном положении.

ПОСАДКА НАЗАД: ноги 1 и 2 поднимаются с помощью сервоприводов бедренной и большеберцовой костей, а ноги 5 и 6 опускаются с помощью сервоприводов бедренной и большеберцовой кости, ноги 3 и 4 остаются в стандартном положении.

МАЛЕНИЕ: В этом упражнении используются только ноги 1 и 2. Сервоприводы Coax движутся по дуге 50 градусов, в то время как бедренная кость и большеберцовая кость также движутся по дуге 50 градусов. Ноги 3 и 4 смещаются вперед к голове на 20 градусов, это обеспечивает более устойчивую платформу.

ХОДЬБА ВПЕРЕД: Ноги 1 и 6, 2 и 5, 3 и 4 должны работать вместе. Таким образом, пока нога 1 тянет тело, нога 6 должна толкать тело, как только это действие завершено, ноги 2 и 5 должны выполнять одно и то же действие, в то время как каждый из этих циклов действий выполняется, ноги 3 и 4 должны выполнять свои действия. двигаться вперед по рутине.

Первоначальные функции модуля тестовой ноги позволили разработать дизайн для каждого из трех движений ног. Требуется три движения ног, поскольку противоположные ноги просто выполняют обратные движения. Новый комбинированный модуль ветвей 1, 3 и 6 был разработан, испытан и скопирован для второго модуля с перевернутыми ветвями 2, 4 и 5. Тестирование движений ног гексапода было достигнуто путем размещения гексапода на приподнятом блоке, чтобы ноги могли полностью двигаться, не касаясь земли. Измерения проводились во время движения ног, и было обнаружено, что все ноги перемещаются по горизонтали на расстояние 80 мм, в то же время оставаясь на 10 мм от земли в самой нижней точке во время движения. Это означает, что Hexapod будет просто раскачиваться из стороны в сторону во время движения, и что все ноги будут иметь одинаковую тяговую силу во время движения.

ОБРАТНАЯ ХОДЬБА:

ХОДЬБА КРАБА СЛЕВА: Начальное движение начинается с ног 1, 2, 5 и 6, каждая из которых поворачивается на 45 градусов в направлении движения. При этом все опоры будут выровнены с направлением движения, опоры 3 и 4 уже находятся в правильной ориентации. Бедренная и большеберцовая кость каждой ноги начинается в положении по умолчанию под углом 90 градусов. Эта походка состоит из двух наборов по три ноги, работающих поочередно, ноги 1, 5 и 4 и ноги 3, 2 и 6. Каждый набор из трех ног работает за счет тяги передними ногами, то есть 1 и 5, и толчков с помощью нога 4, это движение затем меняется на противоположное, так что нога 3 тянется, а ноги 2 и 6 толкаются, ни один из коаксиальных сервоприводов не выполняет никакой работы во время этого движения. Каждый набор из трех ног поднимает другой неподвижный набор ног при движении первого набора.

КРАБ ХОДИТ ВПРАВО:

ПРИМЕЧАНИЕ. Голова повернется в направлении прогулки краба влево или вправо. Это позволяет использовать ультразвуковое обнаружение HC-SR04 во время ходьбы.

НАСТРОЙКА НОЖЕК: Чтобы Hexapod мог стоять ровно, необходимо, чтобы все ножки стояли на одинаковой высоте. Поместив Hexapod на блоки, а затем используя процедуры подставки и отдыха, можно было измерить расстояние от земли до каждого концевого эффектора. Я добавил резиновые сапоги к каждому концевому эффектору, чтобы, во-первых, добавить сцепление, но также можно было немного отрегулировать длину ног с целью 5 мм или меньше между всеми ногами. Установить каждый сервопривод на 90 градусов было легко, однако прикрепление каждого сервопривода к обоим концам бедренной кости могло и действительно вызывало проблемы, поскольку очень небольшие различия в углах поворота внутренних шипов рожков приводят к разнице в высоте ног на 20 мм. Замена винтов на разные крепежные отверстия в рупорах сервопривода скорректировала эту 20-миллиметровую разницу в высоте. Я был полон решимости решить эту проблему с помощью этого метода, вместо того, чтобы компенсировать эту разницу в высоте с помощью программного обеспечения.

Рекомендуемые: