فهرست مطالب:
- تدارکات
- مرحله 1: مرحله 1: Imprimir Todas Las Piezas De La Estructura
- مرحله 2: Montaje De La Estructura
- مرحله 3: Montaje De La Electronica
- مرحله 4: نرم افزار: Calibraje De Servos
- مرحله 5: نرم افزار: Modulos
تصویری: HexaWalker: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
Hemos echo un grupo de estudiantes de la UAB un robot hexapodo autonomo con una webcam micrófono mediante la cual puedes interactuar con el. 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.
Cabe comentar que la estructura que hemos utilisado para nuestro hexapodo la hemos sacado del robot منبع باز Hexy de ArcBotics.
Aquí el link al codigo:
تدارکات
- لیپو باتری 7.4 ولت 2700 میلی آمپر ساعت
- درایور سرو 2 x adafruit
- x18 میکرو سرو SG90s
- وب کم playstation eye
-sppberry pi -LM2596 step down -x2 switch -RGB LED
- انواع کابل
مرحله 1: مرحله 1: Imprimir Todas Las Piezas De La Estructura
Es necesario imprimir todas las piezas.
Aqui podreis encontrar todos los archivos.stl:
Cabe destacar que las hemos impreso con las siguientes propiedades:
مواد: PLA
پر کردن: 25
ارتفاع لایه: 0.12
سرعت: 55 میلی متر بر ثانیه
مرحله 2: Montaje De La Estructura
Para el montaje de la estructura recomendamos seguir la guía del autor de las piezas 3D:
guía:
هیچ نیازی نیست که از دستورالعمل های لازم برای استفاده از روبات ها استفاده کنید ، همچنین می توانید از آنها استفاده کنید.
توجه: no fijéis los tornillos de los servos antes de calibrarlos en el apartado de código.
مرحله 3: Montaje De La Electronica
Aquí va una lista de los componentes utilizados y algunos consejos para el montaje.- lipo baterry 7.4V 2700mmAh - x2 adafruit servo driver
- x18 میکرو سرو SG90s
- وب کم playstation eye
-تمشک پی
-LM2596 استعفا دهید
سوئیچ های x2
- LED RGB
- انواع کابل
Es importante que para conectar 2 adafruits servo drivers، se suelde el bridge A0 de la segunda placa. پیوند قابل اعتماد این است: https://learn.adafruit.com/16-channel-pwm-servo-d… Respecto a los servos el orden en el que conectes los pines es indiferente یا que tendrás que configurar los mas adelante en el código Explicado en el apartado de código.
مرحله 4: نرم افزار: Calibraje De Servos
Antes de nada se tiene que configurar los pulsos máximos y mínimo de vuestros servos así como los pines donde estén conectados en el archivo hexapod_core.py.
cada servo esta identificado según le lenda 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 esta funcionando al revés de como debería، solo tenies que cambiarlo de signo.
"" "کنوانسیون کلید مشترک: R - راست ، L - چپ F - جلو ، M - وسط ، B - پشت H - لگن ، K - زانو ، A - کلید مچ پا: (کانال ، حداقل_پالس_طول ، حداکثر_پالس_طول)" "GPIO.setwarnings (غلط) 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)}
مرحله 5: نرم افزار: Modulos
Módulo de reconocimiento de voz:
Para la implementación de éste módulo hemos hecho úso de la API de Google 'Speech-to-Text'. Establecemos un streaming con el cloud de Google، para obtener las respuestas en texto، y así poder proserlas para accionar solo en los casos que nos interesa.
برای استفاده از API نیاز به ثبت نام و ثبت نام در Google Cloud ، و اعتبار آن را برای ربات خودکار خودکار انتخاب کنید.
Para guardar las credenciales en una variable de entorno tenemos que ejecutar el siguiente comando (Raspbian):
صادرات GOOGLE_APPLICATION_CREDENTIALS = "/tu/ruta/hacia/las/credenciales.json"
Una vez hemos realizado esta comando ya podemos hacer úso de la API de speech-to-text.
El código para realizar el streaming está proporcionado for google en su page of official، muy bien documentado:
کارکرد اصلی پخش 'listen_print_loop' ، دریافت اطلاعات بیشتر در مورد راه های ورود به سیستم ، پاسخگویی به برنامه ها و برنامه های کاربردی برای ربات ها و دستگاه های رادیویی 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: INSTALL OPENCV Hemos seguido la instalación de un profesional como es Adrian Rosebrock، en su pàgina web:
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.
وارد کردن numpy به عنوان np
واردات cv2
cap = cv2. VideoCapture (0)
while (True): ret، frame = cap.read () gray = cv2.cvtColor (frame، cv2. COLOR_BGR2GRAY) cv2.imshow ('frame'، frame) cv2.imshow ('خاکستری' ، خاکستری) اگر cv2.waitKey (1) & 0xFF == ord ('q'): شکستن
cap.release ()
cv2.destroyAllWindows ()
PASO 3: DETECCIÓN DEL COLOR CON OPENCV برای استفاده از رنگ ، می توانید به دنبال آن باشید. به عنوان مثال ، ابتدا باید با استفاده از یک اسکریپت بدون اجازه برای تبدیل و تغییر رنگ BGR a HSV (فرمت اولیه و بازکردن تفسیر).
واردات سیستم
وارد کردن numpy به عنوان np وارد کردن cv2 آبی = sys.argv [1] سبز = sys.argv [2] قرمز = sys.argv [3] color = np.uint8 (
Una vez hayamos hecho la conversión de nuestro color deseado، el script nos printará consola el límite por debajo y el límite por arriba، el cual nos servirá para que la detección tenga una gama de colores entre dos colores hsv y no lonicamente uno cual dificultaría la detección por problemas de luz o contraste.
El siguiente paso es con una imagen previamente realizada، crear otro script el cual nos servirá para probar el paso anterior. Lo que nos mostrará como resultado será la imagen que nosotros le pasemos (con el color u objeto a detear) convertida en una máscara ، aislando todos los colores que no se encuentren en ese rango hsv que hemos definido.
واردات cv2
وارد کردن numpy به عنوان np
# تصویر را بخوانید - 1 به این معنی است که ما تصویر را در BGR می خواهیم
img = cv2.imread ('yellow_object.jpg' ، 1)
# تغییر اندازه تصویر به 20٪ در هر محور
img = cv2.resize (img، (0، 0)، fx = 0.2، fy = 0.2) # تبدیل تصویر BGR به تصویر HSV hsv = cv2.cvtColor (img، cv2. COLOR_BGR2HSV)
# NumPy برای ایجاد آرایه هایی برای نگه داشتن محدوده پایین و بالا
# "dtype = np.uint8" به این معنی است که نوع داده یک عدد صحیح 8 بیتی است
lower_range = np.array ([24 ، 100 ، 100] ، dtype = np.uint8)
بالا_رنج = np.array ([44 ، 255 ، 255] ، dtype = np.uint8)
# ایجاد ماسک برای تصویر
mask = cv2.inRange (hsv ، range_range ، above_range)
# ماسک و تصویر را در کنار هم نمایش دهید
cv2.imshow ('mask'، mask) cv2.imshow ('image'، img)
# منتظر بمانید تا کاربر [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 máximo de color hsv ، que este sea capaz de encontrar las koordenoas x e. En este caso lo que crearemos será un script for queando el radio de nuestro objeto sea Mayor a 10، dibuje un circulo sobre el objeto y nos vaya mostrando por pantalla la posición en tiempo real sus coordenadas x e y.
# فقط در صورتی که شعاع دارای حداقل اندازه باشد ادامه دهید
اگر شعاع> 10: # دایره و centroid را روی قاب بکشید ، # سپس لیست نقاط ردیابی شده cv2.circle (قاب ، (int (x) ، int (y)) ، int (شعاع) ، (0 ، 255 ، 255) ، 2) cv2.circle (قاب ، مرکز ، 5 ، (0 ، 0 ، 255) ، -1) # مرکز چاپ دایره مختصات mapObjectPosition (int (x) ، int (y)) # اگر led باشد در حال حاضر روشن نیست ، LED را روشن کنید اگر ledOn نباشد = {1} ". فرمت (x ، y))
Con esto lo que vamos a conseguir es en el siguiente paso poder jugar con las coordenadas para establecer los límites de lo que será girar a la derecha nuestro robot، girar a la izquierda o bien no realizar ningún movimiento al no salir por ningún límite.
پاسور 5: ردیابی هدف فینال Llegamos al paso. Una vez realizados los anteriores puntos ، estaremos listos para poder configurar un par demeter y poner a funcionar nuestra detección. Para ello utilizaremos como anteriormente hemos dicho، los parámetros del color hsv máximo y mínimo para poder crear la máscara y dtectar el objeto.
colorLower = (-2 ، 100 ، 100)
colorUpper = (18 ، 255 ، 255)
También necesitaremos las coordenadas x e y para el límite derecho y el límite izquierdo elegidos en el paso anterior.
اگر (x 280):
print ("[ACTION] GIRAR DERECHA") self.hexa.rotate (افست = -15 ، تکرارها = 1)
Lo que estamos realizando con los condicionales 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 más 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. Cuanto mas cerca este la pelota de nuestro robot ¡، más grande será su radio y por tanto más cerca estará nuestro robot en conseguir su objetivo.
اگر شعاع <105: self.hexa.walk (چرخش = 40 ، تکرارها = 1 ، افزایش = -30 ، طبقه = 50 ، t = 0.3)
بخشی از این برنامه می تواند به صورت رایگان از طریق ایجاد تغییرات در رنگ ها انجام شود.
توصیه شده:
مرحله به مرحله ساخت کامپیوتر: 9 مرحله
گام به گام ساخت کامپیوتر: لوازم: سخت افزار: مادربرد CPU & amp؛ CPU coolerPSU (منبع تغذیه) ذخیره سازی (HDD/SSD) RAMGPU (لازم نیست) مورد ابزار: پیچ گوشتی دستبند ESD/خمیر ماتریسمی با اپلیکاتور
سه مدار بلندگو -- آموزش مرحله به مرحله: 3 مرحله
سه مدار بلندگو || آموزش گام به گام: مدار بلندگو سیگنال های صوتی دریافت شده از محیط را بر روی MIC تقویت می کند و از محل تولید صدای تقویت شده به بلندگو ارسال می کند. در اینجا ، من سه روش مختلف برای ساخت این مدار بلندگو با استفاده از موارد زیر را به شما نشان خواهم داد
مرحله به مرحله اتوماسیون خانگی با استفاده از Wemos D1 Mini با طراحی PCB: 4 مرحله
گام به گام اتوماسیون خانگی با استفاده از Wemos D1 Mini با طراحی PCB: اتوماسیون خانگی گام به گام با استفاده از Wemos D1 Mini با طراحی PCB چند هفته قبل ما آموزش "اتوماسیون خانگی با استفاده از تمشک پای" را در rootaid.com منتشر کردیم که مورد استقبال علاقه مندان و علاقه مندان قرار گرفت. دانشجو. سپس یکی از اعضای ما آمد
نصب Smapler V0002 مرحله به مرحله: 5 مرحله
نصب Smapler V0002 گام به گام: Smapler یک مدار است که به تولید صدای مولد توسط David Cuartielles و Ino Schlaucher از BlushingBoy.org اختصاص داده شده است. Smapler v0002 - نسخه آاکا سنگاپور - چیزی نیست جز سپر آردوینو که برای بازی استری بد بو استفاده می شود
نصب Smapler V0001r2 مرحله به مرحله: 3 مرحله
نصب Smapler V0001r2 مرحله به مرحله: این یک راهنمای عکاسی برای نصب Smapler v0001r2 است. این یک مدار مستقل سازگار با آردوینو با اتصال کارت SD داخلی ، اتصال PS2 برای ماوس/صفحه کلید ، تقویت کننده صدا و تعدادی پین I/O برای سنسورها است. با آن شما