Мазмұны:

Роботты сұрыптау: 15 қадам (суреттермен)
Роботты сұрыптау: 15 қадам (суреттермен)

Бейне: Роботты сұрыптау: 15 қадам (суреттермен)

Бейне: Роботты сұрыптау: 15 қадам (суреттермен)
Бейне: Өлді деп жерлемек болған еді. Бірақ Алланың қалауымен тірілген Бала 2024, Қараша
Anonim
Image
Image
Деректерді алу
Деректерді алу

Сіз қауымдастықтар мен кәсіпорындардағы орташа ластану деңгейі 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 мен роботтық қолды қосу

RPI мен робот қолын қосу
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 -қадам: Сұрақтар?

Егер сізде сұрақтар туындаса, төменде пікір қалдырыңыз!

Ұсынылған: