Мазмуну:

NVIDIA JetBot менен окууну өткөрүп берүү - трафик конустары менен көңүл ачуу: 6 кадам
NVIDIA JetBot менен окууну өткөрүп берүү - трафик конустары менен көңүл ачуу: 6 кадам

Video: NVIDIA JetBot менен окууну өткөрүп берүү - трафик конустары менен көңүл ачуу: 6 кадам

Video: NVIDIA JetBot менен окууну өткөрүп берүү - трафик конустары менен көңүл ачуу: 6 кадам
Video: JETBOT на базе NVIDIA Jetson Nano 2024, Ноябрь
Anonim

By dvillevaldMy GithubFollow About: Мага AI жана машиналарды үйрөнүү тиркемелери жагат, өзгөчө робот техникасында dvillevald жөнүндө көбүрөөк »

Роботуңузга камераны жана заманбап терең үйрөнүү моделин колдонуп трафик конусунун лабиринтинде жолду табууга үйрөтүңүз.

Жабдуулар

  • NVIDIA JetBot

    NVIDIA JetBot Wiki's Bill of Materials баракчасында популярдуу сатуучулардан шилтемелерди сатып алуу менен бирге JetBotту куруу үчүн керектүү нерселердин баары жазылган

  • NVIDIA GPU менен компьютер

    Моделди үйрөтүү үчүн керек

  • BlueDot Trading 4”RC Racing Agility Cones, Orange - 20 топтому

1 -кадам: Мотивация

Image
Image

Мен жыйрылган аймакта айдаганда, мен өзү бараткан машинанын трафик конустарын аралап өтүүсү канчалык кыйын болорун ойлоп жатам. Жаңы NVIDIAнын JetBot менен анча деле кыйын эмес экени көрүнүп турат-бир нече жүз сүрөттөр менен, сиз роботко оюнчук трафик конусунун лабиринтинде жолду табууну үйрөтүү үчүн заманбап терең үйрөнүү моделин үйрөтө аласыз. борттогу камераны колдонуу жана башка сенсорлор жок.

2 -кадам: NVIDIA JetBot жана Долбоорго Сереп

NVIDIA JetBot жана Долбоорго Сереп
NVIDIA JetBot жана Долбоорго Сереп

JetBot-бул NVIDIA Jetson Nano комплектине негизделген ачык булак робот. Аны кантип куруу жана орнотуу боюнча деталдуу көрсөтмөлөрдү бул жерден таба аласыз.

Бул долбоор NVIDIA JetBot Wiki'ден кагылышуудан качуунун мисалы болуп саналат. Бул үч негизги кадамдан турат, алардын ар бири өзүнчө Jupyter дептеринде сүрөттөлөт:

  • JetBot боюнча маалыматтарды чогултуу - notebook data_collection_cones.ipynb
  • Башка GPU машинасындагы поезд модели - notebook train_model_cones.ipynb
  • JetBotто жандуу демону иштетүү - notebook live_demo_cones.ipynb

Бул үч Jupyter дептерин бул жерден таба аласыз

3 -кадам: JetBotту куруңуз жана Jupyter дептерлерин жүктөңүз

  1. Бул жерде түшүндүрүлгөндөй JetBotту куруңуз жана орнотуңуз
  2. Http: //: 8888ге өтүү менен роботуңузга туташыңыз демейки jetbot паролу менен кириңиз
  3. Башка бардык иштеп жаткан дептерлерди Ядро -> Бардык Ядродорду тандоо аркылуу өчүрүү…
  4. ~/Notebooks/ге өтүңүз
  5. Жаңы папканы түзүү ~/Ноутбуктар/traffic_cones_driving/
  6. Data_collection_cones.ipynb жана live_demo_cones.ipynb жүктөө ~/Notebooks/traffic_cones_driving/

МААНИЛҮҮ: Бул нускамада айтылган Jupyter дептерлери data_collection_cones.ipynb жана live_demo_cones.ipynb JetBotто, train_model_cones.ipynb - GPU бар компьютерде иштетилиши керек.

Ошондуктан, биз JetBotко data_collection_cones.ipynb жана live_demo_cones.ipynb жүктөп, аларды ~/Notebooks/traffic_cones_driving/

4 -кадам: JetBotто тренинг маалыматын чогултуу

Биз JetBotтун трафик конусунун лабиринтинде иштешине жардам берүү үчүн колдонула турган сүрөттөрдү классификациялоо маалымат топтомун чогултабыз. JetBot төрт сценарийдин (класстын) ыктымалдыгын кантип баалоону үйрөнөт:

  • Бекер - алдыга жылуу коопсуз болгондо
  • Бөгөттөлгөн - роботтун алдында тоскоолдук болгондо
  • Сол - робот качан солго айланышы керек
  • Оң - робот качан оңго айланышы керек

JetBotто тренинг маалыматын чогултуу үчүн, биз муну кантип жасоо боюнча деталдуу көрсөтмөлөрдү камтыган Jupyter дептер data_collection_cones.ipynb колдонобуз. Бул дептерди JetBotто иштетүү үчүн, төмөнкү кадамдарды аткарыңыз:

  1. Http: //: jetbot-ip-address:: 8888ге өтүү менен роботуңузга туташыңыз
  2. Демейки jetbot сырсөзү менен кириңиз
  3. Башка бардык иштеп жаткан дептерлерди Ядро -> Бардык Ядродорду тандоо аркылуу өчүрүү…
  4. ~/Notebooks/traffic_cones_driving/
  5. Data_collection_cones.ipynb дептерин ачыңыз жана ээрчиңиз

5 -кадам: GPU машинасында нейрон тармагын үйрөтүңүз

Андан кийин, чогултулган дайындарды train_model_cones.ipynb иштетүү менен AlexNetтин терең үйрөнүү моделин GPU машинасында (хост) кайра үйрөтүү үчүн колдонобуз.

Белгилей кетчү нерсе, train_model_cones.ipynb бул үйрөткүчтөгү JetBotто ЭМЕС иштеген жалгыз Jupyter блокноту

  1. PyTorch орнотулган жана Jupyter Lab сервери иштеп жаткан GPU машинасына туташыңыз
  2. Бул машинага train_model_cones.ipynb дептерин жүктөө
  3. Data_collection_cones.ipynb дептерине өзүңүз түзгөн dataset_cones.zip файлын жүктөңүз жана бул маалымат топтомун чыгарыңыз. (Бул кадамдан кийин сиз файл браузеринде datat_cones аттуу папканы көрүшүңүз керек.)
  4. Train_model_cones.ipynb дептерин ачыңыз жана ээрчиңиз. Бул кадамдын аягында сиз моделди түзөсүз - best_model_cones.pth файлы, андан кийин жандуу демону иштетүү үчүн JetBotко жүктөлүшү керек.

6 -кадам: JetBotто Live Demo иштетиңиз

JetBotто Live Demo иштетиңиз
JetBotто Live Demo иштетиңиз

Бул акыркы кадам - best_model_cones.pth моделин JetBotко жүктөө жана аны иштетүү.

  1. Роботту USB батарейкасынан кубаттаңыз
  2. Http: //: jetbot-ip-address:: 8888ге өтүп, роботуңузга кайра туташыңыз
  3. Демейки сырсөз jetbot менен кириңиз
  4. Башка бардык иштеп жаткан дептерлерди Ядро -> Бардык Ядродорду тандоо аркылуу өчүрүү…
  5. ~/Notebooks/traffic_cones_driving баракчасына өтүңүз
  6. Live_demo_cones.ipynb дептерин ачыңыз жана ээрчиңиз

Абайлап баштаңыз жана JetBotко айланып өтүү үчүн жетиштүү орун бериңиз. Конустун ар кандай конфигурациясын байкап көрүңүз жана роботтун ар кандай чөйрөдө, жарыктандырууда ж.

Ноутбукта роботтун кыймылынын тарыхын модель божомолдогон эркин/сол/оң/бөгөттөлгөн ыктымалдуулук менен кантип сактоо керек жана эки FPV (First Person View) видеолорду (1 кадр/сек жана 15 кадр ылдамдыгы менен) телеметрия менен кантип JetBot аракеттеринин маалыматы. Бул мүчүлүштүктөрдү оңдоо, PID контроллерин тууралоо жана моделди жакшыртуу үчүн пайдалуу.

Көңүл ачыңыз жана суроолор болсо мага кабарлаңыз!:-)

Код Githubда жеткиликтүү

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