Мазмуну:
- Жабдуулар
- 1 -кадам: 1 -кадам: Imprimir Todas Las Piezas De La Estructura
- 2 -кадам: Montaje De La Estructura
- 3 -кадам: Montaje De La Electronica
- 4 -кадам: Программалык камсыздоо: Calibraje De Servos
- 5 -кадам: Программалык камсыздоо: Модулдар
Video: HexaWalker: 5 кадам
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-09 20:34
Бул жерде UAB менен роботтун веб -камерасы автоматтык түрдө веб -камерага киргенде, интернеттеги интерфейс жаңыртылган. La idea era hacer un robot amistoso que reconociera ordenes de voz y pueda seguir mediante la cámara una pelota. Algo asio como una "maskot" rebotica.
Cabe комментарийлеринин жардамы менен Hex de ArcBotics роботу ачык булактан гексаподго жана роботко ачык булактан кире алат.
Шилтеме шилтемеси:
Жабдуулар
- lipo батарейка 7.4V 2700mmAh
- x2 adafruit servo айдоочусу
- x18 SG90s микро сервосу
- Playstation көзүнүн веб -камерасы
-raspberry pi -LM2596 ылдый түшүп -x2 өчүргүчтөр -RGB LED
- ар кандай кабелдер
1 -кадам: 1 -кадам: Imprimir Todas Las Piezas De La Estructura
Esesesio impimir todas las piezas.
Aqui podreis encostrar todos los archivos.stl:
Cabe destacar que las hemos impreso con las siguientes propiedades:
материалдык: PLA
толтуруу: 25%
катмар бийиктиги: 0.12
ылдамдыгы: 55 мм/с
2 -кадам: Montaje De La Estructura
Түзмөктөрдүн жасалгасы 3D форматында сунушталат:
Гвинея:
Эч кандай шарттар жок, анткени бул роботтун функционалдык мүмкүнчүлүктөрү жокко эсе.
Эскертүү: 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 komponentes utilizados y algunos consejos para el Monte.- lipo baterry 7.4V 2700mmAh - x2 adafruit servo driver
- x18 SG90s микро сервосу
- Playstation көзүнүн веб -камерасы
-бүлдүркөн пи
-LM2596 кетет
-x2 которгучтар
- LED RGB
- ар кандай кабелдер
Эң негизгиси, серверлердин 2 айдоочусу, көпүрө A0 де 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 or que tendrás que configurar los mas adelante en el. codigo. Түшүндүрүү.
4 -кадам: Программалык камсыздоо: Calibraje De Servos
Бул конфигурацияны жасоо үчүн, сиз өзүңүздү караңыз, бул жерде карагыла hexapod_core.py.
cada servo esta identificado según la leyenda de abajo, 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, 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 -кадам: Программалык камсыздоо: Модулдар
Дагы бир жолу:
Google'дун Google'дан 'Текстке сүйлөө' API'син иштетүү боюнча эч нерсе жок. Булуттагы Google'дун эфирин орнотуу, текстти жазуу үчүн эң чоң жоопкерчиликти өзүңүзгө жүктөп бериңиз.
Google Cloud'да катталуу үчүн Google каттоо эсеби жок болсо, ал автоматтык түрдө роботту жүктөп алуу үчүн жүктөлөт.
Каражаттардын өзгөрүлмөлүүлүгү өзгөрүлбөс болуп саналат (Raspbian):
GOOGLE_APPLICATION_CREDENTIALS экспорттоо = "/tu/ruta/hacia/las/credenciales.json"
Колдонуу шарттары Купуялуулук Мобилдүү Жөндөө Үйрөнүү жана жазуу APIси.
Google'дун каттоосун ишке ашыруу үчүн, документти расмий түрдө жүктөп бериңиз:
Негизги функциялар "listen_print_loop" болуп саналат, жана бул эң башкысы, эң башкысы, бардык маалыматты киргизүү үчүн, роботтордун жардамы менен роботтордун жардамы менен, аккаунтту ачуу керек. Бул жерде эч кандай жаңылык жок, бул жерде эч кандай жаңылык жок.
Hexawalker'ге киргениңизде, бул каттын жаңыртуусуна ыңгайлаштырылган
github.com/RLP2019/HEXAWALKER/blob/master/…
PASO 1: АЧЫКТЫ орнот
PASO 2: PROBAR LA CAMARA Примеро для uno vez instalado opencv, a 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.
np катары numpy импорттоо
cv2 импорттоо
cap = cv2. VideoCapture (0)
while (True): ret, frame = cap.read () grey = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY) cv2.imshow ('frame', frame) cv2.imshow ('gray', grey) if cv2.waitKey (1) & 0xFF == ord ('q'): тыныгуу
cap.release ()
cv2.destroyAllWindows ()
PASO 3: DETECCIÓN DEL COLOR CON OPENCV Түстү аныктоодо анын мааниси түшүнүктүү. Эң башкысы, сиз сценарийди BGR жана HSV форматындагы сценарийлердин котормосунда аткарасыз (форматтоочу котормочу).
sys импорттоо
np импорт cv2 катары импорт cv2 көк = sys.argv [1] жашыл = sys.argv [2] кызыл = sys.argv [3] түс = np.uint8 (
Университетти өзгөртүү нүэстро түсү, ал эми сценарий басып чыгаруу үчүн консола болуп саналат. cual dificultaría la detección por problemas de luz o kontrast.
Элестетүү мүмкүнчүлүгү жок болгон учурда, сиз сценарийди колдоно албайсыз. Жыйынтыгында сиз өзүңүздү тааныйсыз (бул түстүн детектору) конверсиянын эң башкысы, а ланддык түстөрдүн эч кандай айырмасы жок.
cv2 импорттоо
np катары numpy импорттоо
# Сүрөттү окуңуз - 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 биттик бүтүн сан экенин билдирет
low_range = np.array ([24, 100, 100], dtype = np.uint8)
Üst_range = np.array ([44, 255, 255], dtype = np.uint8)
# сүрөт үчүн маска түзүү
маска = cv2.inRange (hsv, төмөнкү_араа, жогорку_араа)
# масканы жана сүрөттү жанаша көрсөтүү
cv2.imshow ('маска', маска) cv2.imshow ('сүрөт', img)
# колдонуучунун [ESC] басуусун күтө туруңуз
while (1): k = cv2.waitKey (0) if (k == 27): break cv2.destroyAllWindows ()
PASO 4: POSICIONAMIENTO DEL OBJETO Дагы эң маанилүү функциялардын бири - бул түстүү hsv, деңиз деңизинин деңгээли жана консорентациясы. Деңиздин мэри радиосунун 10 -графигине ылайык, скрипт дагы бул жерде жайгашкан, анткени бул жерде чыныгы байланыш координаттары бар.
# радиусу минималдуу өлчөмгө жооп берсе гана улантыңыз
эгер радиус> 10: # алкакка тегеректи жана центродду тарткыла, # анда cv2.circle (Frame, (int (x), int (y)), int (radius), (0, 255) байкалган чекиттердин тизмесин жаңыртуу, 255), 2) cv2.circle (кадр, борбор, 5, (0, 0, 255), -1) # басма борбору тегеректин координаттары mapObjectPosition (int (x), int (y)) # буга чейин күйгүзүлгөн эмес, LEDOn болбосо, LEDди күйгүзүңүз: GPIO.output (redLed, GPIO. HIGH) ledOn = True def mapObjectPosition (x, y): print ("[INFO] Object Center X0 = {0} жана Y0 боюнча координат. = {1} ". Формат (x, y))
Бул жерде координаттардын роботтору, ошондой эле роботтор, локомотивдер роботтору, ошондой эле эч кандай реалдуу ишке ашкан жок.
PASO 5: Объекттин изи Llegamos al paso финалы. Бул жерде сиз өзүңүздүн параграфтарыңызды конфигурациялай аласыз, андыктан сиз өзүңүздүн функцияларыңызды аныктай аласыз. Төмөнкү шарттарда, бул түстөрдүн эң чоң параметри болуп саналат, жана сиз буларды ачыкка чыгарасыз.
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 изкуьердо элегидос эң алдыңкы.
эгер (x 280):
басып чыгаруу ("[ACTION] GIRAR DERECHA") self.hexa.rotate (офсет = -15, кайталоолор = 1)
Бул жерде шарттар өзгөрбөйт, координаттардын саны 220га жетет, бул жерде эң чоң айырмачылыктар бар. Деңиздин эң чоңу, эң чоңу, эң чоңу.
Төмөнкү шарттар боюнча өзгөрүлмө эсептөөлөрдүн үнү өзгөрүлүп турат: бул эң жакын жердеги проксидидад. Бул роботтун эң чоң роботу, ал эми эң чоң робот - бул роботтун эң башкы роботу.
эгер радиус <105: само.hexa.walk (селкинчек = 40, кайталоолор = 1, көтөрүлгөн = -30, пол = 50, t = 0.3)
Бул программалардын бири да, аларды дагы өзгөртүүгө мүмкүндүк берүүчү программалар.
Сунушталууда:
Кантип кадам эсептегич жасоо керек?: 3 кадам (сүрөттөр менен)
Step Counter кантип жасалат ?: Мен көптөгөн спортто жакшы аткарчумун: жөө басуу, чуркоо, велосипед тебүү, бадминтон ойноо ж.б. Мейли, менин ичимди карачы ……. Ооба, баары бир мен машыгуу үчүн кайра баштоону чечтим. Мен кандай жабдыктарды даярдашым керек?
IPodдо Doomду 5 жеңил кадам менен ойноңуз !: 5 кадам
Doom'ду IPodдо 5 жеңил кадам менен ойноңуз!: Doom жана башка ондогон оюндарды ойноо үчүн iPod'уңузда Rockboxту кантип кош жүктөө керектиги боюнча этап-этабы менен көрсөтмө. Бул чындыгында оңой нерсе, бирок менин iPodдо кыйроо ойноп жатканымды көргөндөрдүн көбү дагы эле таң калышат жана көрсөтмө менен чаташып кетишет
WordPressке плагиндерди 3 кадам менен кантип орнотсо болот: 3 кадам
WordPressке плагиндерди 3 этапта кантип орнотуу керек: Бул үйрөткүчтө мен сизге веб -сайтыңызга WordPress плагинин орнотуу үчүн эң маанилүү кадамдарды көрсөтөм. Негизи плагиндерди эки башка жол менен орнотсоңуз болот. Биринчи ыкма ftp же cpanel аркылуу болот. Бирок мен аны тизмектебейм, анткени бул чындыгында нааразы
Кадам моторун айдоо үчүн 556 таймерди колдонуу: 5 кадам
Step моторун айдоо үчүн 556 таймерди колдонуу: Бул инструкция 556 таймердин кантип тепкичтүү моторду айдай аларын түшүндүрүп берет
Акустикалык левитация Arduino Uno менен кадам-кадам (8-кадам): 8 кадам
Акустикалык левитация менен Arduino Uno Step-by-Step (8-кадам): ультрадыбыштуу үн өткөргүчтөр L298N Dc аял адаптеринин электр энергиясы менен камсыздоосу эркек токту Arduino UNOBreadboard Бул кантип иштейт: Биринчиден, сиз Arduino Uno кодун жүктөп бересиз (бул санарип менен жабдылган микроконтроллер) жана аналогдук порттор кодду айландыруу үчүн (C ++)