Мазмұны:
- 1 -қадам: бөлшектер
- 2 -қадам: 3D басып шығарылған бөлшектер
- 3 -қадам: код
- 4 -қадам: Деректерді алу
- 5 -қадам: Суреттерді таңбалау
- 6 -қадам: Тренинг
- 7 -қадам: үйретілген үлгіні құрастыру
- 8 -қадам: Қайта өңдеуді анықтау моделі
- 9 -қадам: Үлгіні орналастырыңыз
- 10 -қадам: Робот қолын жасаңыз
- 11 -қадам: RPI мен роботтық қолды қосу
- 12 -қадам: Соңғы әсерлер
- 13 -қадам: жүгіру
- 14 -қадам: Болашақ жұмыс
- 15 -қадам: Сұрақтар?
Бейне: Роботты сұрыптау: 15 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Сіз қауымдастықтар мен кәсіпорындардағы орташа ластану деңгейі 25%-ға дейін жететінін білесіз бе? Яғни, сіз тастайтын әрбір төрт бөліктің біреуі қайта өңделмейді. Бұл кәдеге жарату орталықтарындағы адамдардың қателіктерінен туындайды. Дәстүр бойынша жұмысшылар қоқысты материалға байланысты әр түрлі қоқыс жәшіктеріне бөледі. Адамдар қателіктер жіберіп, қоқысты дұрыс сұрыптамай, ластануға әкеледі. Қазіргі қоғамда ластану мен климаттың өзгеруі одан да маңызды бола бастағанда, қайта өңдеу біздің планетамызды қорғауда үлкен рөл атқарады. Қоқысты сұрыптау үшін роботтарды қолдану арқылы ластану деңгейі күрт төмендейді. Бұл мәселені шешу үшін мен әр түрлі қайта өңдеу материалдарын сұрыптау үшін машиналық оқытуды қолданатын кәдеге жарату роботын жасадым.
1 -қадам: бөлшектер
Бұл оқулықпен бірге келесі бөліктер бар екеніне көз жеткізіңіз:
3D басып шығарылған бөлшектер (төмендегі қадамды қараңыз)
Raspberry Pi RPI 4 4 ГБ
Google Coral USB үдеткіші
Arduino Uno R3
Raspberry Pi камералық модулі V2
5В 2А тұрақты қабырғадағы қуат көзі
12 В тұрақты ток көзі
SG90 9g Micro Servos 4 дана.
М3 х 0,5 мм тот баспайтын болаттан жасалған өздігінен құлыпталатын нейлон алты бұрышты гайка 100 дана.
M3x20 түймелі басы титан бұрандалары 10 дана.
MG996R металл беріліс моменті аналогты серво моторы 4 дана.
Samsung 32GB жад картасын таңдаңыз
Raspberry Pi камерасына арналған Adafruit Flex кабелі - 1 метр
M2 еркек әйел жезден аралық бөлуге арналған бұрандалы гайкалар ассортименті жинағы
60 мм 12В желдеткіш
6.69 «x 5.12» x 2.95 «Жоба қорабы
2 -қадам: 3D басып шығарылған бөлшектер
Сізге робот қолының барлық бөліктерін 3D басып шығару қажет. Сіз барлық файлдарды осы жерден таба аласыз.
3 -қадам: код
Осы оқулықпен бірге жүру үшін GitHub репозиторийімді клондауды сұраймыз.
4 -қадам: Деректерді алу
Қайта өңдеуге арналған әр түрлі материалдарды анықтай алатын және танитын объектілерді анықтау моделін үйрету үшін мен 2527 суретті қамтитын қоқыс желісінің деректер жиынтығын қолдандым:
- 501 шыны
- 594 қағаз
- 403 картон
- 482 пластик
- 410 металл
- 137 қоқыс
Жоғарыдағы сурет - бұл деректер жиынтығындағы суреттердің бірі.
Бұл деректер жиынтығы объектілерді анықтау моделін үйрету үшін өте аз. Нақты модельді үйрету үшін қоқыстың 100 -ге жуық суреті ғана бар, сондықтан мен оны қалдыруды шештім.
Деректер жиынтығын жүктеу үшін сіз бұл Google Drive қалтасын пайдалана аласыз. Dataset-resized.zip файлын жүктеп алғаныңызға көз жеткізіңіз. Онда жылдам жаттығуға мүмкіндік беретін кіші өлшемге өзгертілген суреттер жиынтығы бар. Егер сіз өзіңіздің қалауыңыз бойынша өңделмеген суреттердің өлшемін өзгерткіңіз келсе, dataset-original.zip файлын жүктеп алыңыз.
5 -қадам: Суреттерді таңбалау
Әрі қарай, біз объектілерді анықтау моделін үйрету үшін, әр түрлі қайта өңдеу материалдарының бірнеше суретін белгілеуіміз керек. Ол үшін суреттерде объектілерді шектейтін қораптарды белгілеуге мүмкіндік беретін labelImg ақысыз бағдарламалық жасақтамасын қолдандым.
Әр суретті тиісті жапсырмамен белгілеңіз. Бұл оқулық сізге қалай болатынын көрсетеді. Анықтау моделінің мүмкіндігінше дәл болуын қамтамасыз ету үшін әрбір шектеу қорабын әр объектінің шекарасына жақын етіп орнатқаныңызға көз жеткізіңіз. Барлық.xml файлдарын қалтаға сақтаңыз.
Жоғарыдағы фотосуреттер сіздің суреттеріңізді қалай белгілеу керектігін көрсетеді.
Бұл өте жалықтыратын және ақылға сыймайтын тәжірибе. Сізге рахмет, мен сізге барлық суреттерді белгілеп қойдым! Сіз оны осы жерден таба аласыз.
6 -қадам: Тренинг
Оқыту тұрғысынан мен Tensorflow көмегімен трансферттік оқытуды қолдануды шештім. Бұл бізге үлкен көлемді деректерсіз лайықты дәл модельді үйретуге мүмкіндік береді.
Мұны істеудің бірнеше әдісі бар. Біз мұны бұлттағы жергілікті жұмыс үстелі машинасында жасай аламыз. Біздің жергілікті машинада жаттығу сіздің компьютеріңіздің қуатты болуына және сіздің қуатты GPU -ға байланысты өте ұзақ уақытты алады. Бұл, мүмкін, менің ойымша, ең оңай әдіс, бірақ жылдамдықтың минусымен.
Трансферттік оқытуда ескеру қажет бірнеше маңызды жайттар бар. Сіз жаттығу үшін алдын ала дайындалған модель Coral Edge TPU үйлесімді екеніне көз жеткізуіңіз керек. Үйлесімді модельдерді осы жерден табуға болады. Мен MobileNet SSD v2 (COCO) моделін қолдандым. Басқалармен де тәжірибе жасаудан тартынбаңыз.
Жергілікті машинада жаттығу үшін, мен Windows 10 жүйесінде жұмыс жасайтын болсам, Google оқулығын немесе EdjeElectronics оқулығын орындауды ұсынар едім, жеке мен EdjeElectroncs оқулығын тексердім және жұмыс үстелінде табысқа жеттім. Мен Google оқулығының жұмыс істейтінін растай алмаймын, бірақ ол жұмыс істемесе, мен таң қаламын.
Бұлтта жаттығу үшін сіз AWS немесе GCP қолдана аласыз. Мен бұл оқулықты таптым, оны көруге болады. Ол Google -дің бұлтты TPU -ларын қолданады, ол сіздің объектіні анықтау моделін өте жылдам үйрете алады. AWS -ті де еркін қолданыңыз.
Сіз өзіңіздің жергілікті машинаңызда немесе бұлтта жаттығулар жасасаңыз да, сіз дайын тензорфлоу моделін алуыңыз керек.
7 -қадам: үйретілген үлгіні құрастыру
Оқытылған модель Coral Edge TPU -мен жұмыс жасау үшін оны құрастыру қажет.
Жоғарыда жұмыс процесінің схемасы берілген.
Жаттығудан кейін оны мұздатылған график ретінде сақтау қажет (.pb файлы). Содан кейін оны Tensorflow Lite үлгісіне түрлендіру қажет. «Тренингтен кейінгі кванттау» қалай жазылғанына назар аударыңыз. Егер сіз ауыспалы оқытуды қолданған кезде үйлесімді алдын ала дайындалған модельдерді қолдансаңыз, мұны істеудің қажеті жоқ. Үйлесімділік туралы толық құжаттаманы мына жерден қараңыз.
Tensorflow Lite үлгісімен оны Edge TPU үлгісіне құрастыру қажет. Мұны қалай жасау керектігі туралы толығырақ мына жерден қараңыз.
8 -қадам: Қайта өңдеуді анықтау моделі
Егер сіз объектіні анықтау моделін үйрету, түрлендіру және құрастыру қиындықтарынан бас тартқыңыз келмесе, менің қайта өңдеуді анықтау үлгісін мына жерден қараңыз.
9 -қадам: Үлгіні орналастырыңыз
Келесі қадам - Raspberry Pi (RPI) мен Edge TPU орнату, объектілерді анықтаудың үйретілген моделін іске қосу.
Алдымен, осы оқулық арқылы RPI орнатыңыз.
Осы нұсқаулықтан кейін Edge TPU орнатыңыз.
Соңында, RPI камера модулін таңқурай пиіне қосыңыз.
Енді сіз объектіні анықтау моделін сынауға дайынсыз!
Егер сіз менің репозиторийімді клондаған болсаңыз, RPI каталогына өтіп, test_detection.py файлын іске қосқыңыз келеді:
python test_detection.py --model recycle_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03/detect_edgetpu.tflite --labels recycle_ssd_mobilenet_v2_quantized_300x300_0c0_201
Кішкене терезе ашылады, егер сіз пластикалық су бөтелкесін немесе басқа өңдеуге арналған материалды қойсаңыз, ол оны жоғарыдағы суреттегідей анықтауы керек.
Бағдарламаны аяқтау үшін пернетақтадағы «q» әрпін басыңыз.
10 -қадам: Робот қолын жасаңыз
Робот қол - бұл мен 3D форматында басып шығарылған қол. Оны орнату бойынша нұсқаулықты орындаңыз.
Жоғарыдағы суретте менің робот қолым қалай пайда болғанын көрсетеді.
Серво түйреуіштерін менің кодымдағы Arduino енгізу -шығару түйреуіштеріне сәйкес қосқаныңызға көз жеткізіңіз. Серваларды төменнен жоғары қарай төмендегі тәртіппен жалғаңыз: 3, 11, 10, 9, 6, 5. Оны осылайша қоспау қолдың дұрыс емес серво қозғалысына әкеледі!
Arduino каталогына өтіп, basicMovement.ino файлын іске қосу арқылы оның жұмыс істеуін тексеріңіз. Бұл жай ғана қолдың алдына қойған затты ұстап алып, артқа тастайды.
11 -қадам: RPI мен роботтық қолды қосу
Біз алдымен камера модулін тырнақтың төменгі жағына бекітуіміз керек. Жоғарыдағы сурет оның қалай көрінуі керектігін көрсетеді.
Танылған қайта өңдеу материалын алу қателерін азайту үшін камераны мүмкіндігінше тура туралауға тырысыңыз. Материалдар тізімінде көрсетілгендей ұзын камералы модуль таспалы кабельді пайдалану қажет болады.
Әрі қарай, robotikArm.ino файлын Arduino тақтасына жүктеу керек.
Ақырында, бізге RPI USB порты мен Arduino USB порты арасында USB кабелін қосу керек. Бұл оларға сериялық байланыс жасауға мүмкіндік береді. Мұны қалай орнату керектігі туралы оқулықты орындаңыз.
12 -қадам: Соңғы әсерлер
Бұл қадам мүлдем міндетті емес, бірақ мен барлық компоненттерімді жақсы кішкене жоба қорабына салғанды ұнатамын.
Жоғарыдағы суреттер оның қалай көрінетінін көрсетеді.
Жоба қорабын материалдар тізімінен таба аласыз. Мен жай ғана тесіктер бұрғылап, электрониканы орнату үшін жезден жасалған тіректерді қолдандым. Мен сонымен қатар ыстық кезде RPI мен TPU арқылы тұрақты ауа ағынын қамтамасыз ету үшін 4 салқындату желдеткішін орнаттым.
13 -қадам: жүгіру
Сіз енді роботты да, RPI -ді қосуға дайынсыз! RPI -де recycle_detection.py файлын іске қосуға болады. Бұл терезені ашады және робот қолы демо -бейнедегідей жұмыс жасай бастайды! Бағдарламаны аяқтау үшін пернетақтадағы «q» әрпін басыңыз.
Кодпен ойнап, көңілді болыңыз!
14 -қадам: Болашақ жұмыс
Мен R. O. S. қолданамын деп үміттенемін. робот қолын дәлірек қозғалыстармен басқару. Бұл объектілерді дәл жинауға мүмкіндік береді.
15 -қадам: Сұрақтар?
Егер сізде сұрақтар туындаса, төменде пікір қалдырыңыз!
Ұсынылған:
Аяз атаның сұрыптау шляпасы: 10 қадам (суреттермен)
Аяз атаның сұрыптау шляпасы: Біз бұл жаңашылдықты сізге ұнамсыз немесе жақсы тізім бойынша жеткізу үшін Аяз атаның шеберханасымен тығыз жұмыс жасадық. Енді сіз өзіңіздің жақсы және жаман істеріңіз Аяз атаның жарамсыз немесе жақсы тізіміндегі мәртебеңізге әсер еткенін нақты уақытта тексере аласыз! Көңілді жоба
Сұрыптау қорабы - қоқысты анықтап, сұрыптау: 9 қадам
Сұрыптаушы қоқыс жәшігі - қоқысыңызды анықтаңыз және сұрыптаңыз: Сіз қайта өңделмейтін немесе оны нашар істеп жүрген адамды көрдіңіз бе? Сіз үшін қайта өңделетін машина алғыңыз келді ме? Біздің жобаны оқуды жалғастырыңыз, өкінбейсіз! Сортер бин - бұл анық мотивациясы бар жоба
LittleBits сиқырлы мәрмәр сұрыптау машинасы: 11 қадам (суреттермен)
LittleBits сиқырлы мәрмәр сұрыптау машинасы: Сіз мәрмәрді сұрыптағыңыз келді ме? Сонда сіз бұл машинаны жасай аласыз. Сізге қайтадан мрамор қапшығын айналдырудың қажеті жоқ! Бұл сиқырлы мәрмәр сұрыптау машинасы, Adafruit түс сенсоры, TCS34725 түрі және Леонардо Ардуино көмегімен
Бұрандалы сұрыптау машинасы: 7 қадам (суреттермен)
Бұрандалы сұрыптау машинасы: Бір күні зертханада (FabLab Moscow) мен әріптесімнің бұрандалардың, жаңғақтардың, сақиналардың және басқа да жабдықтардың толық қорабын сұрыптап жатқанын көрдім. Оның қасына тоқтап, мен бір секунд қарап тұрдым да: " Бұл машина үшін тамаша жұмыс болар еді " дедім. Жылдам қарағаннан кейін
Робот моншақты сұрыптау: 3 қадам (суреттермен)
Робот моншақтарды сұрыптау: Бұл жобада біз Perler моншағын түсі бойынша сұрыптауға арналған робот құратын боламыз. Мен әрқашан түсті сұрыптайтын робот жасағым келеді, сондықтан менің қызым Перлер бисерін жасауға қызығушылық танытқанда, мен мұны тамаша мүмкіндік ретінде көрдім. Перлер моншақтары қолданылады