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

Nao робот Kinect ашиглан дуурайх хөдөлгөөн: 7 алхам
Nao робот Kinect ашиглан дуурайх хөдөлгөөн: 7 алхам

Видео: Nao робот Kinect ашиглан дуурайх хөдөлгөөн: 7 алхам

Видео: Nao робот Kinect ашиглан дуурайх хөдөлгөөн: 7 алхам
Видео: SCP-093 Красное море Объект (Все тесты и вторичного сырья Журналы) 2024, Есдүгээр
Anonim
Nao робот Kinect ашиглан дуурайж буй хөдөлгөөнүүд
Nao робот Kinect ашиглан дуурайж буй хөдөлгөөнүүд

Энэхүү зааварчилгаанд би Nao роботыг кинект мэдрэгч ашиглан бидний хөдөлгөөнийг хэрхэн дуурайхыг танд хэлэх болно. Төслийн бодит зорилго нь боловсролын зорилго юм: багш нь тодорхой хөдөлгөөн хийх (жишээлбэл бүжиг) бичих чадвартай бөгөөд эдгээр бичлэгийг ашиглан анги танхимд байгаа хүүхдүүдийг роботыг дуурайж болно. Энэхүү бүх зааварчилгааг алхам алхамаар даван туулснаар та энэ төслийг бүрэн дахин бүтээх боломжтой байх ёстой.

Энэ бол сургуультай холбоотой төсөл (NMCT @ Howest, Kortrijk).

Алхам 1: Анхан шатны мэдлэг

Энэхүү төслийг дахин бүтээхийн тулд та үндсэн мэдлэгтэй байх ёстой.

- Питоны анхан шатны мэдлэгтэй

- C# анхан шатны мэдлэг (WPF)

- Тригонометрийн анхан шатны мэдлэг

- Бөөрөлзгөнө pi дээр MQTT -ийг хэрхэн тохируулах талаархи мэдлэг

Алхам 2: Шаардлагатай материалыг олж авах

Энэхүү төсөлд шаардлагатай материалууд:

- Raspberry Pi

- Kinect Sensor v1.8 (Xbox 360)

- Нао робот эсвэл вирутал робот (хореограф)

Алхам 3: Энэ нь хэрхэн ажилладаг талаар

Image
Image
Хэрхэн ажилладаг
Хэрхэн ажилладаг

Kinect мэдрэгч нь WPF програмыг ажиллуулдаг компьютерт холбогдсон байна. WPF програм нь өгөгдлийг MQTT ашиглан Python програм (робот) руу илгээдэг. Хэрэглэгч үүнийг сонговол локал файлууд хадгалагдах болно.

Нарийвчилсан тайлбар:

Бид бичлэг хийж эхлэхээс өмнө хэрэглэгч MQTT брокерын IP хаягийг оруулах ёстой. Үүнээс гадна бидэнд өгөгдлийг нийтлэхийг хүссэн сэдэв хэрэгтэй болно. Эхлүүлэх товчийг дарсны дараа програм нь брокертой холбоо тогтоох боломжтой эсэхийг шалгаж, бидэнд санал өгөх болно. Сэдэв байгаа эсэхийг шалгах боломжгүй тул та үүнийг бүрэн хариуцах болно. Оролт хоёулаа хэвийн байгаа тохиолдолд програм нь MQTT брокер дээрх сэдвээр ажиглагдаж буй араг яснаас өгөгдөл (x, y & z координатыг үе бүрээс бүрдүүлж) илгээж эхэлнэ.

Робот нь ижил MQTT брокертой холбогдсон бөгөөд нэг сэдвээр бүртгүүлсэн тул үүнийг python програмд оруулах ёстой) python програм нь одоо WPF програмаас өгөгдлийг хүлээн авах болно. Тригонометр ба өөрөө бичсэн алгоритмыг ашиглан бид роботын доторх моторыг эргүүлэхэд ашигладаг координатуудыг өнцөг ба радиан болгон хөрвүүлдэг.

Хэрэглэгч бичлэг хийж дуусаад зогсоох товчийг дарна. Одоо хэрэглэгч бичлэгийг хадгалахыг хүсч байгаа эсэхийг асуух цонх гарч ирнэ. Хэрэглэгч цуцлахад бүх зүйл дахин тохируулагдах болно (өгөгдөл алдагдах), шинэ бичлэг эхлүүлэх боломжтой. Хэрэв хэрэглэгч бичлэгийг хадгалахыг хүсч байвал гарчиг оруулаад 'хадгалах' дээр дарна уу. "Хадгалах" дээр дарахад олж авсан бүх өгөгдлийг файлын нэр болгон гарчгийн оролтыг ашиглан локал файлд бичнэ. Файлыг мөн дэлгэцийн баруун талд байрлах жагсаалтанд нэмж оруулсан болно. Ийнхүү жагсаалтын жагсаалт дахь шинэ оруулгыг давхар товшсоны дараа файлыг уншиж MQTT брокер руу илгээнэ. Үүний үр дүнд робот бичлэгийг тоглуулах болно.

Алхам 4: MQTT брокерийг тохируулах

MQTT брокерийг тохируулах
MQTT брокерийг тохируулах

Кинект (WPF төсөл) ба робот (Python төсөл) хоорондын харилцааны хувьд бид MQTT -ийг ашигласан. MQTT нь брокер (mqtt програм хангамж (жишээ нь. Mosquitto) ажилладаг линукс компьютер) болон үйлчлүүлэгчид бүртгүүлэх боломжтой сэдвээс бүрдэнэ (тэд тухайн сэдвээс мессеж хүлээн авдаг), нийтлэнэ (тэд тухайн сэдвээр зурвас илгээдэг).

MQTT брокерийг тохируулахын тулд энэ Жессигийн зургийг бүхэлд нь татаж аваарай. Энэ бол MQTT брокертой Raspberry Pi -ийн хувьд цэвэрхэн суулгах явдал юм. Сэдэв нь "/Сандро" юм.

Алхам 5: Kinect SDK V1.8 -ийг суулгах

Kinect таны компьютер дээр ажиллахын тулд та Microsoft Kinect SDK -ийг суулгах ёстой.

Та эндээс татаж авч болно:

www.microsoft.com/en-us/download/details.a…

Алхам 6: Python V2.7 -ийг суулгана уу

Энэхүү робот нь NaoQi хүрээтэй ажилладаг бөгөөд энэ хүрээ нь зөвхөн python 2.7 (БИШ 3.x) хувилбар дээр байдаг тул та python -ийн аль хувилбарыг суулгасан болохыг шалгаарай.

Та python 2.7 -ийг эндээс татаж авах боломжтой.

www.python.org/downloads/release/python-27…

Алхам 7: Кодлох

Кодлох
Кодлох
Кодлох
Кодлох
Кодлох
Кодлох

Github:

Тэмдэглэл:

- Кинекттэй кодлох: эхлээд холбосон кинектыг хайж олоорой. Үүнийг үл хөдлөх хөрөнгийн дотор хадгалсны дараа бид kinect дээр өнгө ба араг ясны урсгалыг идэвхжүүлсэн. Colorstream бол шууд видео, харин skeletonstream гэдэг нь камерын урд байгаа хүний араг ясыг харуулна гэсэн үг юм. Colorstream нь энэ төслийг ажиллуулахад тийм ч чухал биш, харин араг ясны урсгалыг өнгөт урсгал руу bitmapping хийх нь гөлгөр харагдаж байгаа тул бид үүнийг идэвхжүүлсэн юм!

- Бодит байдал дээр энэ ажлыг жинхэнэ араг ясны урсгал гүйцэтгэдэг. Араг ясны урсгалыг идэвхжүүлнэ гэдэг нь тухайн хүний араг ясыг хянаж байна гэсэн үг юм. Энэхүү араг яснаас та бүх төрлийн мэдээллийг авах боломжтой. ясны чиг баримжаа, хамтарсан мэдээлэл,… Манай төслийн гол түлхүүр нь хамтарсан мэдээлэл байв. Хяналттай араг яснаас авсан үе бүрийн x-y & z координатыг ашиглан бид роботыг хөдөлгөж чадна гэдгээ мэдэж байсан. Тиймээс.8 секунд тутамд (таймер ашиглан) үе бүрийн x, y & z координатыг mqtt брокерт нийтэлдэг.

- Питон төсөл нь mqtt брокерын захиалгатай тул бид энэ төслийн доторх өгөгдлийг хүлээн авах боломжтой боллоо. Роботын үе бүрийн дотор хоёр мотор байдаг. Эдгээр хөдөлгүүрийг x, y & z координатыг ашиглан шууд удирдах боломжгүй юм. Тиймээс, тригонометрийн болон зарим нэг нийтлэг ойлголтыг ашиглан бид үений x, y & z координатыг роботын өнцөг болгон хувиргасан.

Үндсэндээ.8 секунд тутамд WPF төсөл нь үе бүрийн x, y & z координатыг нийтэлдэг. Тиймээс питон төслийн хүрээнд эдгээр кордиантуудыг өнцөг болгон хувиргаж, дараа нь роботын харгалзах мотор руу илгээдэг.

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