Სარჩევი:
- მარაგები
- ნაბიჯი 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 ნაბიჯი
2025 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2025-01-09 20:34
Hemos echo un grupo de estudiantes de la UAB un robot hexapodo autonomo con una webcam con micrófono mediante la cual puedes interactuar con el. La ide 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.
დაწერეთ კომენტარი, რომლითაც თქვენ შეგიძლიათ გამოიყენოთ ეს სისტემა, რომელიც გამოიყენება ექოსკოპიაში, რომელიც შეიცავს რობოტს, ღია კოდის Hexy de ArcBotics- ს.
კოდი ბმული codigo:
მარაგები
- ლიპო ბატარეა 7.4V 2700mmAh
- x2 adafruit სერვო დრაივერი
- x18 მიკრო სერვის SG90s
- ვებკამერა playstation eye
-ჟოლოს pi -LM2596 ნაბიჯი ქვემოთ -x2 კონცენტრატორები -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 utilisados y algunos consejos para el montaje.- lipo baterry 7.4V 2700mmAh - x2 adafruit servo driver
- x18 მიკრო სერვის SG90s
- ვებკამერა playstation eye
-ჟოლო პი
-LM2596 გადადგა
-x2 კონცენტრატორები
- RGB LED
- კაბელების ვარიაციები
მნიშვნელოვანია ორი კონფიგურაციის სერვისის დრაივერებისათვის, რაც შეეხება ხიდს A0 de la segunda placa. დეტალური ბმული არის დეტალური ინფორმაცია: https://learn.adafruit.com/16-channel-pwm-servo-d… კოდიგო 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 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 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)
ერთობლივი საკუთრება = {
'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:
განახორციელოს პროგრამის განხორციელება Google– ის მიერ „Speech-to-Text“. Google– ის ღრუბლის სტრიმინგი, ტექსტის ტექსტის შემდგომი გაფართოება, რაც საშუალებას მოგცემთ შეასრულოთ პროცესები თქვენი პერსონალური ინტერესების შესაბამისად.
Google– ის ღრუბელში, რომელიც ითვალისწინებს ავტორიტეტული რობოტის ავტორს, ეს არის API– ს საჭირო წვდომის წყარო.
Para guardar las credenciales en una variable to 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 deso de la API de speech-to-text.
El código para realizar el streaming está proporcionado for google en suge of official, myy bien documentado:
ძირითადი ფუნქცია, რომელიც ითარგმნება როგორც "listen_print_loop", encargada de decidir cual es la respuesta que aproxima más al input recibido, y donde hemos controlado las respuestas para poder comunicarle al robot cuando ha de hacer una acción, o para avisar 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: დააინსტალირეთ OPENCV
PASO 2: PROBAR LA CAMARA Primero de todo una vez instalado opencv, lo que vamos a hacer es un pequeño script in 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. ვიდეო გადაღება (0)
while (True): ret, frame = cap.read () ნაცრისფერი = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY) cv2.imshow ('frame', frame) cv2.imshow ('ნაცრისფერი', ნაცრისფერი) თუ cv2.waitKey (1) & 0xFF == ორდ ('q'): შესვენება
cap. გამოშვება ()
cv2.destroyAllWindows ()
PASO 3: DETECCIÓN DEL COLOR CON OPENCV Para el siguiente paso lo que vamos a realizar is una detección de color. ამ ყველაფრისთვის, პირველ რიგში, უნდა განხორციელდეს სკრიპტი, რომელიც არ იძლევა ნებადართულ კონვერტირებას და ფერს BGR a HSV (ფორმატირებული და ღია ინტერპრეტაციის ფორმატით).
იმპორტის სისტემა
იმპორტი numpy როგორც np იმპორტი cv2 ლურჯი = sys.argv [1] მწვანე = sys.argv [2] წითელი = sys.argv [3] ფერი = np.uint8 (
Una vez hayamos hecho la conversión de nuestro color deseado, el script არ არის დაბეჭდილი consola el límite por debajo y el límite por arriba, el cual nos servirá para que la la გამოძიების tenga una gama de colores entre dos colores hsv y no lonicamente uno, cficicultarí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 ბიტიანი მთელი რიცხვი
ქვედა_რეიდი = np.array ([24, 100, 100], dtype = np.uint8)
ზედა დიაპაზონი = np.array ([44, 255, 255], dtype = np.uint8)
# შექმენით ნიღაბი სურათისთვის
ნიღაბი = cv2.inRange (hsv, lower_range, above_range)
# აჩვენეთ ორივე ნიღაბი და სურათი გვერდიგვერდ
cv2.imshow ("ნიღაბი", ნიღაბი) cv2.imshow ("სურათი", img)
# დაელოდეთ მომხმარებელს დააჭიროს [ESC]
ხოლო (1): k = cv2.waitKey (0) თუ (k == 27): შესვენება 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 koordenadas x e. ეს არის ის ფაქტი, რომ ის შექმნილია რადიოსათვის რადიოსათვის, რომელიც ითვალისწინებს ზღვის მერის მე -10 ნომერს, რომელიც არეგულირებს თქვენს ადგილს და გვთავაზობს არა მხოლოდ თქვენს კოორდინატებში, არამედ მათ შორისაც.
# გააგრძელეთ მხოლოდ იმ შემთხვევაში, თუ რადიუსი აკმაყოფილებს მინიმალურ ზომას
თუ რადიუსი> 10: # დახაზეთ წრე და ცენტროიდი ჩარჩოზე, # მაშინ განაახლეთ cv2 თვალთვალის მქონე წერტილების სია. წრე (ჩარჩო, (int (x), int (y)), int (რადიუსი), (0, 255, 255), 2) cv2. წრე (ჩარჩო, ცენტრი, 5, (0, 0, 255), -1) # ბეჭდვის ცენტრის წრე კოორდინატების რუკა ობიექტიპოზიცია ჯერ არ არის ჩართული, ჩართეთ LED თუ არა ledOn: GPIO.output (redLed, GPIO. HIGH) ledOn = True def mapObjectPosition (x, y): print ("
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.
PASO 5: ობიექტის თვალყურის დევნება Llegamos al paso ფინალი. Una vez realizados los anteriores puntos, estaremos listos para poder configurar un par demetre y poner 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.
ფერი ქვედა = (-2, 100, 100)
ფერი ზედა = (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):
ბეჭდვა ("[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á is utilisar 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)
ეს არის თავისუფალი პროგრამის შემსრულებელი, რომელიც თავისუფალია რეალიზაციის მოდიფიკაციისა და ფერით.
გირჩევთ:
ნახევარი ნაბიჯი: 5 ნაბიჯი (სურათებით)
სემინარი: IntroduçãoNeste projeto, você construirá um an sistema de semáforos: არსებობს 3 LED ნათურები სხვადასხვა ბირთვით (verde, amarelo e vermelho) para imitar os semáforos dos carros; არსებობს 2 LED ნათურები სხვადასხვა ბირთვით (verde და vermelho) იმისთვის, რომ გააკეთოთ
Arduino Uno თევზის მიმწოდებელი 6 იაფი და მარტივი ნაბიჯი!: 6 ნაბიჯი
Arduino Uno თევზის მიმწოდებელი 6 იაფი და მარტივი ნაბიჯი! შინაური ცხოველების მქონე ადამიანებს, ალბათ, იგივე პრობლემა ჰქონდათ, როგორც მე: შვებულება და დავიწყება. მე მუდმივად მავიწყდებოდა ჩემი თევზის გამოკვება და ყოველთვის ვცდილობდი ასე გამეკეთებინა სანამ ის წავიდოდა
აკუსტიკური ლევიტაცია Arduino Uno– ით ეტაპობრივად (8 ნაბიჯი): 8 ნაბიჯი
აკუსტიკური ლევიტაცია Arduino Uno– სთან ერთად ეტაპობრივად (8 საფეხური): ულტრაბგერითი ხმის გადამცემები L298N Dc მდედრობითი ადაპტერი დენის წყაროს მამაკაცის dc pin Arduino UNOBreadboard და ანალოგური პორტები კოდის გადასაყვანად (C ++)
ნაბიჯი: 4 ნაბიჯი
聲納: 改作: https: //aboutsciences.com/blog/arduino-radar-using … 我 在 原本 聲納 的 ar ar ar ar ar: arduino uno, 感測器, 馬達, 喇叭: 掃描 到 物品 加速 並 傳 述 cm cm cm cm cm cm cm 10 სმ 時 喇叭 會
პირდაპირი 4G/5G HD ვიდეო ნაკადი DJI Drone– დან დაბალი ლატენტურობით [3 ნაბიჯი]: 3 ნაბიჯი
პირდაპირი 4G/5G HD ვიდეო ნაკადი DJI Drone– დან დაბალი ლატენტურობით [3 ნაბიჯი]: შემდეგი სახელმძღვანელო დაგეხმარებათ მიიღოთ პირდაპირი HD ხარისხის ვიდეო ნაკადები თითქმის ნებისმიერი DJI თვითმფრინავისგან. FlytOS მობილური აპლიკაციისა და FlytNow ვებ აპლიკაციის დახმარებით თქვენ შეგიძლიათ დაიწყოთ ვიდეოს სტრიმინგი დრონიდან