Obsah:

HexaWalker: 5 kroků
HexaWalker: 5 kroků

Video: HexaWalker: 5 kroků

Video: HexaWalker: 5 kroků
Video: 【HEXA NFT 作品&クリエーター紹介】HEXA WALKER Vol.5 HEXANFT展@こはくの天使 2024, Červenec
Anonim
Image
Image
HexaWalker
HexaWalker

Největší odezva na skupinu robotů UAB s automatickou šestihrannou kamerou s webovou kamerou a středním průměrem interakce mezi interaktivními mikrofony. La idea era hacer un robot amistoso que reconociera ordenes de voz y pueda seguir mediante la cámara una pelota. Algo así como una "mascota" rebotica.

Doporučené možnosti pro použití s otevřenou strukturou a s otevřeným šestihranným šestihranným robotem s otevřeným zdrojovým kódem Hexy de ArcBotics.

Odkaz na odkaz codigo:

Zásoby

- lipo baterie 7,4 V 2700 mmAh

- 2x servo ovladač adafruit

- x18 mikro serv SG90s

- oko webové kamery pro playstation

-raspberry pi -LM2596 krok dolů -x2 přepínače -RGB LED

- různé kabely

Krok 1: Krok 1: Imprimir Todas Las Piezas De La Estructura

Krok 1: Imprimir Todas Las Piezas De La Estructura
Krok 1: Imprimir Todas Las Piezas De La Estructura

Es necesario imprimir todas las piezas.

Aqui podreis encontrar todos los archiveos.stl:

Cabe destacar que las hemos impreso con las siguientes propiedades:

materiál: PLA

výplň: 25%

výška vrstvy: 0,12

rychlost: 55 mm/s

Krok 2: Montaje De La Estructura

Montaje De La Estructura
Montaje De La Estructura

Doporučené možnosti montáže doporučené pro 3D autor:

Guía:

Žádná další nezbytná opatření pro práci s robotem, vaše základní funkce, sólové využití ayuda.

Poznámka: žádné fijéis los tornillos de los servos antes de calibrarlos en el apartado de código.

Krok 3: Montaje De La Electronica

Montaje De La Electronica
Montaje De La Electronica
Montaje De La Electronica
Montaje De La Electronica
Montaje De La Electronica
Montaje De La Electronica

Získejte přehled o všech použitých komponentách a možnostech použití různých typů montáže. - lipo baterie 7,4 V 2700 mm Ah - x2 servo ovladač adafruit

- x18 mikro serv SG90s

- oko webové kamery pro playstation

-malinová pí

-LM2596 odstoupit

-x2 přepínače

- RGB LED

- různé kabely

Důležité jsou 2 konektory servořízení, které jsou k dispozici přes most A0 de la segunda placa. Náš odkaz na odkaz: https://learn.adafruit.com/16-channel-pwm-servo-d… Respekto a los servos el orden en el que conectes los pines es indiferente ya que tendrás que configurar los mas adelante en el código. Explicado en el apartado de código.

Krok 4: Software: Calibraje De Servos

Počet konfigurací, které můžete nastavit, jsou maximální a minimální počet servoservisů, jako jsou počet pinů, které mohou být připojeny k hexapod_core.py.

cada servo esta identificado según la leyenda de abajo, por cada servo se tiene que indicar, el pin de conexión al servo driver, pulso mínimo, pulso máximo y el ultimo parámetro es por si el servo estesta funcionando al revés de como debería, solo tenies que cambiarlo de signo.

"" "konvence joint_key: R - vpravo, L - vlevo F - vpředu, M - uprostřed, B - vzadu H - kyčle, K - koleno, A - klíč kotníku: (kanál, minimum_pulse_length, maximum_pulse_length)" "" GPIO.setwarnings (False) GPIO.setmode (GPIO. BOARD)

joint_properties = {

'LFH': (0, 248, 398, -1), 'LFK': (1, 195, 492, -1), 'LFA': (2, 161, 580, -1), 'RFH': (31, 275, 405, 1), 'RFK': (30, 260, 493, -1), 'RFA': (29, 197, 480, -1), 'LMH': (3, 312, 451, -1), 'LMK': (4, 250, 520, -1), 'LMA': (5, 158, 565, -1), 'RMH': (28, 240, 390, 1), 'RMK': (27, 230, 514, -1), 'RMA': (26, 150, 620, -1), 'LBH': (6, 315, 465, 1), 'LBK': ((8, 206, 498, -1), 'LBA': (7, 150, 657, -1), 'RBH': (25, 320, 480, 1), 'RBK': (24, 185, 490, -1), 'RBA': (23, 210, 645, -1), 'N': (18, 150, 650, 1)}

Krok 5: Software: Modulos

Software: Modulos
Software: Modulos

Modul zpětné vazby vozíku:

Para la implementation de éste módulo hemos hecho úso de la API de Google 'Speech-to-Text'. Lze streamovat z cloudu Google, stahovat více textů, nebo více zpracovávat jednotlivé kanály v kasinech a zajímat se o ně.

Para her hacer úso de esta API necesitamos tener un proyecto registrado en Google Cloud, y de este descargar las credenciales para poder autenticar el robot.

Para Guardar las credenciales en una variable de entorno tenem que ejecutar el siguiente comando (Raspbian):

exportovat GOOGLE_APPLICATION_CREDENTIALS = "/tu/ruta/hacia/las/credenciales.json"

Používejte všechny možnosti, které vám pomohou s podporou rozhraní API pro převod řeči na text.

Jak se streamuje, streamuje a streamuje z Googlu oficiální stránky, dokumentární dokumenty:

Hlavní funkce streamování „poslouchejte_tisk_smyčky“, rozhodování o konkrétních možnostech přijímání, respektive přijímání dalších vstupních signálů, ovládání vašich robotů, respektive přijímání parabolických komunikačních linek, robotických robotů, pohybujících se zařízení, přijímání a sledování de voz no es reconocido, para que el robot realice un movimiento que simula no haber entendido al usuario.

El código adaptado se encuentra en el repositorio de git Hexawalker

github.com/RLP2019/HEXAWALKER/blob/master/…

PASO 1: INSTALACE OTEVŘENO

PASO 2: PROBAR LA CAMARA Primero de todo una vez instalado opencv, lo que vamos a hacer es un pequeño script en python para probar la camara. Para ello haremos que se abran dos ventanas, una con la imagen original y otra con la imagen en blanco y negro.

import numpy jako np

importovat cv2

cap = cv2. VideoCapture (0)

while (True): ret, frame = cap.read () grey = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY) cv2.imshow ('frame', frame) cv2.imshow ('grey', grey) if cv2.waitKey (1) & 0xFF == ord ('q'): zlom

cap.release ()

cv2.destroyAllWindows ()

PASO 3: DETECCIÓN DEL COLOR CON OPENCV Para el siguiente paso lo que vamos and realizar es una detección de color. Většina, základní a skriptová verze skriptů umožňuje převádět barevně a barevně BGR a HSV (format en el que opencv es capaz de interpretar).

importovat sys

import numpy as np import cv2 blue = sys.argv [1] green = sys.argv [2] red = sys.argv [3] color = np.uint8 (

Zrušit výběr barevného skriptu, skript pro tisk, tisknout, tisknout, tisknout, vyřizovat, přijímat, barvit, obsluhovat, určovat, zjišťovat, přijímat a přijímat barvy, dávat barvy do hsv y no únicamente uno, lo běžná obtížná detekce problémů s kontrastem.

Všechny důležité pasáže se dají převést do předchozí podoby, skript otro skriptů běžných nosných paraboly probar el paso anterior. Nejčastěji se jedná o výsledné řady snímků, které mohou mít za následek větší množství barev (více barev a více detektorů).

importovat cv2

import numpy jako np

# Přečtěte si obrázek - 1 znamená, že chceme obrázek v BGR

img = cv2.imread ('yellow_object.jpg', 1)

# změnit velikost obrázku na 20% v každé ose

img = cv2.resize (img, (0, 0), fx = 0,2, fy = 0,2) # převést BGR obraz na obraz HSV hsv = cv2.cvtColor (img, cv2. COLOR_BGR2HSV)

# NumPy k vytvoření polí pro uložení dolního a horního rozsahu

# „Dtype = np.uint8“znamená, že datový typ je 8bitové celé číslo

nižší_rozsah = np.array ([24, 100, 100], dtype = np.uint8)

horní_rozsah = np.array ([44, 255, 255], dtype = np.uint8)

# vytvořte masku pro obrázek

maska = cv2.inRange (hsv, lower_range, upper_range)

# zobrazit masku i obrázek vedle sebe

cv2.imshow ('maska', maska) cv2.imshow ('image', img)

# počkejte, až uživatel stiskne [ESC]

while (1): k = cv2.waitKey (0) if (k == 27): break cv2.destroyAllWindows ()

PASO 4: POSICIONAMIENTO DEL OBJETO En este paso probaremos que una vez la camara se encuentre en funcionamiento y hayamos configurado nuestro rango mínimo y maximum maximum de color hsv, que este sea capaz de encontrar las coordenadas x e y del centro de nuestro. En este caso lo que crearemos será un script para que cuando el radio de nuestro objeto sea Mayor a 10, dibuje un circuitlo sobre el objeto y nos vaya mostrando por pantalla la posición en tiempo real sus coordenadas x e y.

# pokračujte pouze v případě, že poloměr splňuje minimální velikost

pokud poloměr> 10: # nakreslete kružnici a těžiště na rámeček, # pak aktualizujte seznam sledovaných bodů cv2.circle (rámeček, (int (x), int (y)), int (poloměr), (0, 255, 255), 2) cv2.circle (rámeček, střed, 5, (0, 0, 255), -1) # tisk středu souřadnic kruhu mapObjectPosition (int (x), int (y)) # pokud je LED není již zapnuto, rozsvítí se LED, pokud není ledOn: GPIO.output (redLed, GPIO. HIGH) ledOn = True def mapObjectPosition (x, y): print ("[INFO] Object Center se koordinuje na X0 = {0} a Y0 = {1} ". Formát (x, y))

Co se děje a co se děje, to znamená, že se vám to podaří, protože se vám to líbí.

PASO 5: OBJECT TRACKING finále Llegamos al paso. Všechny možnosti realizace, výběr a konfigurace jednotlivých parametrů a různých typů detekce. Para ello use all como an anteriormente hemos dicho, los parámetros del color hsv máximo y minimo para poder crear la máscara y dtectar el objeto.

colorLower = (-2, 100, 100)

colorUpper = (18, 255, 255)

Tam jsou všechny potřebné prvky x x y para el límite derecho y el límite izquierdo elegidos en el paso anterior.

pokud (x 280):

tisk ("[AKCE] GIRAR DERECHA") self.hexa.rotate (offset = -15, opakování = 1)

Nejčastěji realizujete podmíněné anteriores es decir que si nuestra coordenada x es más pequeña que 220, gire a la izquierda. En el caso de que sea more grande, gire a la derecha.

Para el caso en el que se quiera avanzar hacia adelante lo que se realizará es utilizar la variable dónde calculamos el radio para marcar otro límite en caso de proximidad de la pelota. Chcete -li získat více robotů s nulovým dosahem, ¡¯, více z většího počtu rádií a více z ostatních aplikací, které vás zajímají.

pokud poloměr <105: self.hexa.walk (houpačka = 40, opakování = 1, zvednutá = -30, podlaha = 50, t = 0,3)

A partir de este punto el programador ya es libre de realizar modificaciones e ir jugando con parámetros y colores.

Doporučuje: