Mündəricat:

HexaWalker: 5 addım
HexaWalker: 5 addım

Video: HexaWalker: 5 addım

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

UAB -da robotların hexapodo avtobusu və veb kamerası ilə qarşılıqlı əlaqə qurmaq üçün heç bir əlaqəsi yoxdur. Robotun ən çox axtarılanı, bir vasitəçi ilə əlaqə qurmaqdır. Əlavə olaraq "maskot" dan geri dönüş.

Açıq mənbəli Hexy de ArcBotics robotu, hexapodo və ya robotdan istifadə edərək, hər hansı bir kompüterə kömək edəcək.

Əlaqə linkləri:

Təchizat

- lipo batareyası 7.4V 2700mmAh

- x2 adafruit servo sürücü

- x18 mikro servo SG90s

- playstation gözü veb kamerası

-raspberry pi -LM2596 aşağı -x2 açarları -RGB LED

- müxtəlif kabellər

Addım 1: Adım 1: Imprimir Todas Las Piezas De La Estructura

Addım 1: Imprimir Todas Las Piezas De La Estructura
Addım 1: Imprimir Todas Las Piezas De La Estructura

Escasion todas las piezas.

Arxivlərə əlavə olaraq, sui -qəsdlər.stl:

Cabe destacar que las hemos impreso con las siguientes propiedades:

material: PLA

doldurma: 25%

qat hündürlüyü: 0.12

sürət: 55 mm/s

Addım 2: Montaje De La Estructura

Montaje De La Estructura
Montaje De La Estructura

Üç ölçülü qurğuların dizaynı 3D formatında təqdim olunur:

Qvineya:

Bu robotun funksiyalarını yerinə yetirmək üçün heç bir ehtiyac yoxdur, çünki bu heç bir problem yaratmır.

Qeyd: heç bir iş görülməmişdir.

Addım 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

Komponentlərin quraşdırılması və quraşdırılması üçün istifadə olunan komponentlər - lipo baterry 7.4V 2700mmAh - x2 adafruit servo sürücü

- x18 mikro servo SG90s

- playstation gözü veb kamerası

-moruq pi

-LM2596 aşağı düşdü

-x2 açarları

- RGB LED

- müxtəlif kabellər

Əslində, 2 servo sürücüsü, A0 körpüsünü bağlaya bilər. Ətraflı məlumat əldə etmək üçün link: https://learn.adafruit.com/16-channel-pwm-servo-d… Responso a los servos el orden en el que conectes los pines is not indiferente or que tendrás que configurar los mas adelante en el. codigo. Codigo -da ən çox görülən işlər.

Addım 4: Proqram təminatı: Calibraje De Servos

Şəxsi məlumatların dəyişdirilməsi, hexapod_core.py ilə əlaqəli bütün xidmətlər üçün ən uyğun xidmətdir.

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

"" "birgə_tuş konvensiyası: R - sağ, L - sol F - ön, M - orta, B - arxa H - kalça, K - diz, A - Ayaq biləyi düyməsi: (kanal, minimum_pulse_length, maksimum_pulse_length)" "" GPIO.səsdərişlər (Yanlış) GPIO.setmode (GPIO. BOARD)

birgə_ xüsusiyyətlər = {

'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)}

Addım 5: Proqram təminatı: Modulos

Proqram təminatı: Modulos
Proqram təminatı: Modulos

Münasibətlərin yenidən qurulması:

Google-da "Speech-to-Text" API-nin ən çox istifadə olunan versiyasıdır. Google -un axınını mətnə göndərməklə bağlı suallar cavablandırmaq mümkün deyilsə, bu proqramlar yalnız bir -birinizlə əlaqə saxlaya bilərsiniz.

Google Cloud -da qeydiyyatdan keçmək üçün heç bir API yoxlamaq lazım deyilsə, bu da avtomatik olaraq bir robot tərəfindən yüklənir.

Etibarlı məlumatların dəyişdirilməsi ilə əlaqəli məsələlər bir -birindən fərqlidir (Raspbian):

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

Danışıq mətnindən istifadə etməklə, bu proqramlar API-dən istifadə edilə bilər.

Google-un ən çox yayılmış sənədləri ilə bağlı məlumatların yayımlanmasını təmin etmək üçün:

"Dinləmə_print_loop" funksiyasını yerinə yetirmək üçün əsas funksiyalar, məsələn, hər hansı bir məlumatın daxil edilməsi, həm də hər hansı bir əməliyyatın robot ilə əlaqəli olması ilə əlaqədardır. heç bir razılaşma yoxdursa, heç bir xəbər yoxdur.

Hexawalker -dən məlumatların təhvil verilməsi üçün bu proqramlar hazırlanır

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

PASO 1: AÇIQ YÜKLƏYİN Adrian Rosebrock -un peşəkar profillərindən istifadə edərək, bu səhifəni yükləyin:

PASO 2: PROBAR LA CAMARA Başlanğıc proqramını yükləyin, bu da bir skriptin ən yaxşı versiyasıdır. Əlbəttə ki, haremos ən yaxşı və ən əsası, əslində ən çox yayılmış şəkillərdir.

np kimi numpy idxal edin

idxal 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'): fasilə

cap.release ()

cv2.destroyAllWindows ()

PASO 3: AÇIQ RENK AÇIQ AÇIQLAMA, rənglərin rənglənməsi ilə əlaqədardır. Başlanğıcda, BGR və HSV -nin rəngini dəyişdirmək üçün bir sənəd yazmaq üçün bir sənəd yazmaq lazımdır (formatlaşdırma və tərcümə etmək).

sys idxal edin

np olaraq idxal cv2 mavi = sys.argv [1] yaşıl = sys.argv [2] qırmızı = sys.argv [3] rəng = np.uint8 (

Una vez hayamos heç vaxt rəngli rəngli deseado, çapdan çıxarıla bilən konsollar və ya sənədlər yazmaq və ya yazmaq üçün heç bir problem yaratmır. ziddiyyətli və ya fərqli bir problemi həll etmək.

Əlavə məlumatların əvvəlcədən görünməməsi üçün əvvəlcədən skript yazın və ya əvvəlcədən yazın. Nəticə etibarilə ən yaxşı nəticələr əldə edilə bilər (bir rəng algılayıcısı ilə əlaqə qurmaq üçün) və ya rəngləri dəyişdirmək üçün heç bir problem yoxdur.

idxal cv2

np kimi numpy idxal edin

# Şəkili oxuyun - 1, görüntünün BGR -də olmasını istədiyimiz deməkdir

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

# hər bir oxda görüntünün ölçüsünü 20% -ə qədər artırın

img = cv2.resize (img, (0, 0), fx = 0.2, fy = 0.2) # BGR görüntüsünü HSV görüntüsünə çevir hsv = cv2.cvtColor (img, cv2. COLOR_BGR2HSV)

# NumPy, aşağı və yuxarı diapazonu saxlamaq üçün seriallar yaratmaq üçün

# "Dtype = np.uint8", məlumat növünün 8 bitlik bir tamsayı olması deməkdir

alt_range = np.array ([24, 100, 100], dtype = np.uint8)

üst_range = np.array ([44, 255, 255], dtype = np.uint8)

# görüntü üçün maska yaradın

maska = cv2.inRange (hsv, alt_aralıq, yuxarı_aralıq)

# həm maskanı, həm də görüntünü yan-yana göstərin

cv2.imshow ('maska', maska) cv2.imshow ('görüntü', img)

# istifadəçinin [ESC] düyməsini basmasını gözləyin

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

PASO 4: POSICIONAMIENTO DEL OBJETO, ən çox maraqlandıran şeylər arasında rənglərin rənglənməsi və rənglənməsi ilə əlaqədardır. Bu, dəniz bələdiyyə başçısının 10 və ya daha çox radio ilə əlaqəli bir proqramdır ki, bu da ən yaxşı əlaqəni təmin edir.

# yalnız radius minimum ölçüyə uyğun olduqda davam edin

radius> 10: # dairədə və mərkəzdə çərçivəni çəkin, # sonra izlənilən nöqtələrin siyahısını yeniləyin cv2.circle (frame, (int (x), int (y)), int (radius), (0, 255, 255), 2) cv2.circle (çərçivə, mərkəz, 5, (0, 0, 255), -1) # dairənin çap mərkəzi koordinatları mapObjectPosition (int (x), int (y)) # əgər led varsa hələ açılmamışsa, ledOn deyilsə LED -i yandırın: GPIO.output (redLed, GPIO. HIGH) ledOn = True def mapObjectPosition (x, y): print ("[INFO] Object Center, X0 = {0} və Y0 -da koordinasiya edir. = {1} ". Format (x, y))

Əlaqə üçün ən vacib şərtlər bir -birindən fərqlənən bir robotla əlaqələndirilir.

PASO 5: NƏMƏZİ İZLƏMƏ Llegamos al paso final. Bütün bunları əvvəlcədən görmək olarsa, bu funksiyaların ən çox yayılanı parametrlər və parametrlərdir. Bu proqramlar həm rəngli, həm də rəngli rənglər üçün ən yaxşı seçimdir.

colorLower = (-2, 100, 100)

colorUpper = (18, 255, 255)

Əlaqələrin ən böyük hissəsi əvvəlcədən əlaqələndirilə bilər.

əgər (x 280):

çap ("[ACTION] GIRAR DERECHA") self.hexa.rotate (ofset = -15, təkrar = 1)

Şəxsi əlaqələr ən yaxşı şəkildə müəyyən edildiyi təqdirdə, əlaqələndiricilərin sayı 220 -dən çox deyil. Dəniz sahilində möhtəşəm bir yer tapın.

Şəxsi məlumatların dəyişdirilməsi üçün istifadə olunan məlumatların sayını dəyişdirmək və ya dəyişdirmək mümkün deyil. Robotun ən böyük rolunu oynayan bir robot var, bu da böyük bir radio və ya başqa bir robotla təchiz olunmuşdur.

radius <105: self.hexa.walk (yelləncək = 40, təkrarlamalar = 1, qaldırılmış = -30, mərtəbə = 50, t = 0.3)

Bu proqramlar həm rənglərin, həm də proqramların dəyişdirilməsi ilə əlaqədardır.

Tövsiyə: