Мазмуну:

Роботту сорттоочу робот: 15 кадам (сүрөттөр менен)
Роботту сорттоочу робот: 15 кадам (сүрөттөр менен)

Video: Роботту сорттоочу робот: 15 кадам (сүрөттөр менен)

Video: Роботту сорттоочу робот: 15 кадам (сүрөттөр менен)
Video: Спринтер сгорел со Спринтерской скоростью близ Шымкентта 😨 #шымкент #спринтер #автобус #казахстан 2024, Ноябрь
Anonim
Image
Image
Маалыматтарды алуу
Маалыматтарды алуу

Сиз жамааттарда жана ишканаларда булгануунун орточо көрсөткүчү 25%га чейин жетерин билесизби? Демек, сиз таштаган таштандылардын ар бир төртүнчү бөлүгү кайра иштетилбейт. Бул кайра иштетүү борборлорундагы адамдардын катасынан улам келип чыккан. Адатта, жумушчулар таштандыларды материалына жараша ар кандай урналарга бөлүштүрүшөт. Адамдар ката кетирип, таштандыларды туура иреттебей, булганууга алып келет. Булгануу жана климаттын өзгөрүшү азыркы коомдо ого бетер олуттуу боло баштаганда, кайра иштетүү биздин планетаны коргоодо чоң роль ойнойт. Таштандыларды иретке келтирүү үчүн роботторду колдонуу менен, булгануунун деңгээли кескин төмөндөйт, анча -мынча арзан жана туруктуу деп айтууга болбойт. Муну чечүү үчүн, мен ар кандай кайра иштетүү материалдарын сорттоо үчүн машинаны үйрөнүүнү колдонгон, кайра иштетүүчү сорттоочу роботту түздүм.

1 -кадам: Бөлүктөр

Бул окуу куралы менен бирге төмөнкү бөлүктөргө ээ экениңизди текшериңиз:

3D басылган бөлүктөрү (төмөндөгү кадамды караңыз)

Raspberry Pi RPI 4 4GB

Google Coral USB тездеткичи

Arduino Uno R3

Raspberry Pi камера модулу V2

5V 2A DC дубалы Power Supply

DC 12V Power Supply

SG90 9g Micro Servos 4шт.

M3 х 0.5мм Дат баспас болоттон жасалган Self-Lock нейлон Hex Lock гайкасы 100шт.

M3x20 баскычынын башы титан бурамалары 10шт.

MG996R Metal Gear Torque Analog Servo Motor 4pcs.

Samsung 32GB Memory Card тандоо

Raspberry Pi камерасы үчүн Adafruit Flex кабели - 1 метр

M2 Эркек Аял Жез Spacer Standoff Screw Nut Ассортимент Kit

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 файлын жүктөөнү тактаңыз. Бул тезирээк окутууга мүмкүндүк берүү үчүн кичине өлчөмгө өзгөртүлгөн сүрөттөр топтомун камтыйт. Эгерде сиз чийки сүрөттөрдү каалаганыңыздай өзгөрткүңүз келсе, database-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 I/O казыктарына ылайык туташтырганыңызды текшериңиз. Серволорду төмөндөн жогору карай төмөнкү тартипте туташтырыңыз: 3, 11, 10, 9, 6, 5. Аны мындай тартипте туташтырбоо колуңуздун туура эмес серводон жылышына алып келет!

Arduino каталогуна өтүү жана basicMovement.ino файлын иштетүү менен анын иштешин көрүңүз. Бул жөн эле колуңуздун алдына койгон нерсени кармап алып, артына таштайт.

11 -кадам: RPI & Robotic Armду туташтыруу

RPI жана робот колун туташтыруу
RPI жана робот колун туташтыруу

Биз адегенде камеранын модулун тырмактын түбүнө орнотушубуз керек. Жогорудагы сүрөттө ал кандай болушу керектиги көрсөтүлгөн.

Таанылган кайра иштетүү материалын алуудагы каталарды азайтуу үчүн камераны мүмкүн болушунча түз тегиздөөгө аракет кылыңыз. Сиз материалдар тизмесинде көрүнүп тургандай, узун камера модулунун лента кабелин колдонушуңуз керек болот.

Андан кийин, roboticArm.ino файлын Arduino тактасына жүктөшүңүз керек.

Акыр -аягы, биз жөн гана RPIдин USB порту менен Arduino USB порту ортосундагы USB кабелин туташтырышыбыз керек. Бул аларга сериал аркылуу байланышууга мүмкүнчүлүк берет. Муну кантип орнотуу боюнча бул үйрөткүчтү ээрчиңиз.

12 -кадам: Акыркы тийүүлөр

Акыркы Тийиштер
Акыркы Тийиштер
Акыркы Тийиштер
Акыркы Тийиштер

Бул кадам толугу менен милдеттүү эмес, бирок мен бардык компоненттеримди жакшы кичинекей долбоор кутусуна салууну жакшы көрөм.

Жогорудагы сүрөттөр анын кандай экенин көрсөтөт.

Сиз материалдар тизмесинен долбоор кутучасын таба аласыз. Мен жөн эле кээ бир тешиктерди бургулап, электрониканы орнотуу үчүн жезден жасалган тирөөчтөрдү колдондум. Мен ошондой эле ысык кезде RPI жана TPU аркылуу тынымсыз аба агымын сактоо үчүн 4 муздатуучу күйөрмандарды орноттум.

13 -кадам: чуркоо

Сиз азыр робот колун жана RPIди иштетүүгө даярсыз! RPIде сиз жөн эле recycle_detection.py файлын иштете аласыз. Бул терезени ачат жана робот колу демо видеодогудай эле иштей баштайт! Программаны бүтүрүү үчүн клавиатураңыздагы "q" тамгасын басыңыз.

Код менен ойноп, көңүл ачыңыз!

14 -кадам: Келечектеги иш

Мен R. O. S. колдонууну үмүттөнөм так кыймылдар менен робот колун башкарууга. Бул объекттерди такыраак алууга мүмкүндүк берет.

15 -кадам: Суроолор?

Суроолоруңуз болсо астына комментарий калтыруудан тартынбаңыз!

Сунушталууда: