Агуулгын хүснэгт:

NVIDIA JetBot ашиглан дамжуулах сургалт - Замын хөдөлгөөний конусаар хөгжилтэй: 6 алхам
NVIDIA JetBot ашиглан дамжуулах сургалт - Замын хөдөлгөөний конусаар хөгжилтэй: 6 алхам

Видео: NVIDIA JetBot ашиглан дамжуулах сургалт - Замын хөдөлгөөний конусаар хөгжилтэй: 6 алхам

Видео: NVIDIA JetBot ашиглан дамжуулах сургалт - Замын хөдөлгөөний конусаар хөгжилтэй: 6 алхам
Видео: Tesla Motors: Радиолокационные Механика Разъяснения! Автопилот / автономный радар 2024, Долдугаар сарын
Anonim

My GithubFollow About: Би хиймэл оюун ухаан, машин сурах програмд дуртай, ялангуяа робот техникийн чиглэлээр dvillevald -ийн тухай дэлгэрэнгүй »

Камер болон хамгийн сүүлийн үеийн гүнзгийрүүлсэн сургалтын загварыг ашиглан замын конусын төөрөгдөлд ороод замыг олохыг роботдоо зааж өгөөрэй.

Хангамж

  • NVIDIA JetBot

    NVIDIA JetBot Wiki -ийн Билл материалын хуудас нь алдартай үйлдвэрлэгчдээс линк худалдаж авахын зэрэгцээ JetBot -ийг бүтээхэд шаардлагатай бүх зүйлийг жагсаасан болно

  • NVIDIA GPU бүхий компьютер

    Энэ загварыг сургах шаардлагатай байна

  • BlueDot Trading 4”RC Racing Agility конус, улбар шар - 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. ~/Тэмдэглэлийн дэвтэр/рүү очно уу.
  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 бүхий компьютер дээр ажиллуулах ёстой.

Тиймээс бид data_collection_cones.ipynb ба live_demo_cones.ipynb -ийг JetBot -д байршуулж ~/Notebooks/traffic_cones_driving/дээр байрлуулах ёстой.

Алхам 4: JetBot дээр сургалтын мэдээлэл цуглуулах

Бид JetBot -ийг замын конусын төөрөгдөлд ажиллуулахад туслах зургийн ангиллын мэдээллийн санг цуглуулах болно. JetBot нь дөрвөн хувилбар (анги) -ийн магадлалыг хэрхэн тооцоолох талаар сурах болно.

  • Үнэгүй - урагшлахад аюулгүй байх үед
  • Блоклосон - роботын өмнө саад бэрхшээл тулгарсан үед
  • Зүүн - робот зүүн тийш эргэх үед
  • Баруун - робот хэзээ баруун тийш эргэх ёстой

JetBot дээр сургалтын өгөгдлийг цуглуулахын тулд бид үүнийг хэрхэн хийх талаархи дэлгэрэнгүй зааврыг агуулсан Jupyter notebook data_collection_cones.ipynb програмыг ашиглах болно. Энэ тэмдэглэлийн дэвтэрийг JetBot дээр ажиллуулахын тулд дараах алхмуудыг дагана уу.

  1. Http: //: jetbot-ip-address:: 8888 руу орж роботтойгоо холбогдоорой
  2. Анхдагч jetbot нууц үгээр нэвтэрнэ үү
  3. Цөм -> Бүх цөмийг унтраах командыг сонгож бусад ажиллаж байгаа бүх дэвтэрийг унтраа.
  4. ~/Notebook/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 -ийг тойрон алхах хангалттай зай өг. Янз бүрийн конус хэлбэрийн тохиргоог туршиж үзээд робот өөр өөр орчинд, гэрэлтүүлэг гэх мэт хэр сайн ажиллаж байгааг хараарай. Зөөврийн компьютерын_дэмо_конс.ipynb бүх алхмуудыг нарийвчлан тайлбарласан байхад загваруудын таамагласан магадлалыг харгалзан роботын хөдөлгөөний логикийг дараах хүснэгтэд үзүүлэв.

Тэмдэглэлийн дэвтэрт роботын хөдөлгөөний түүхийг загвараар урьдчилан таамагласан чөлөөт/зүүн/баруун/хориглосон магадлалаар хэрхэн хадгалах, мөн телеметрийн тусламжтайгаар хоёр FPV (First Person View) видео (1 fps, 15 fps хурдтай) хэрхэн хийхийг тайлбарласан болно. JetBot үйлдлийн өгөгдөл. Эдгээр нь дибаг хийх, PID хянагчийг тааруулах, загварыг сайжруулахад тустай.

Хөгжилтэй байж, асуух зүйл байвал надад мэдэгдээрэй!:-)

Кодыг Github дээрээс авах боломжтой

Зөвлөмж болгож буй: