
Satura rādītājs:
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59

Šajā pamācībā es jums paskaidrošu, kā mēs ļaujam Nao robotam atdarināt mūsu kustības, izmantojot kinect sensoru. Projekta patiesais mērķis ir izglītojošs mērķis: skolotājam ir iespēja ierakstīt noteiktas kustību kopas (piemēram, deju), un viņš var izmantot šos ierakstus, lai ļautu bērniem klasē atdarināt robotu. Soli pa solim veicot visu šo pamācību, jums vajadzētu spēt pilnībā atjaunot šo projektu.
Šis ir ar skolu saistīts projekts (NMCT @ Howest, Kortrijk).
1. solis: pamatzināšanas
Lai atjaunotu šo projektu, jums ir jābūt pamatzināšanām:
- Python pamatzināšanas
- C# pamatzināšanas (WPF)
- pamatzināšanas par trigonometriju
- Zināšanas par to, kā iestatīt MQTT uz aveņu pi
2. darbība. Nepieciešamo materiālu iegūšana
Šim projektam nepieciešamie materiāli:
- Raspberry Pi
- Kinect Sensor v1.8 (Xbox 360)
- Nao robots vai virutāls robots (Choregraph)
3. darbība. Kā tas darbojas



Kinect sensors ir pievienots datoram, kurā darbojas lietojumprogramma WPF. WPF lietojumprogramma nosūta datus uz Python lietojumprogrammu (robotu), izmantojot MQTT. Vietējie faili tiek saglabāti, ja lietotājs to izvēlas.
Detalizēts skaidrojums:
Pirms sākam ierakstīšanu, lietotājam ir jāievada MQTT brokera IP adrese. Turklāt mums ir nepieciešama arī tēma, par kuru mēs vēlamies publicēt datus. Pēc startēšanas nospiešanas lietojumprogramma pārbaudīs, vai ar brokeri var izveidot savienojumu, un sniegs mums atsauksmes. Pārbaudīt, vai tēma pastāv, nav iespējams, tāpēc jūs esat pilnībā atbildīgs par šo tēmu. Kad abas ievades ir kārtībā, lietojumprogramma sāks sūtīt datus (x, y & z koordinātas no katra savienojuma) no izsekotā skeleta uz tēmu MQTT brokerī.
Tā kā robots ir savienots ar to pašu MQTT brokeri un abonējis to pašu tēmu (arī tas ir jāievada python lietojumprogrammā), python lietojumprogramma tagad saņems datus no WPF lietojumprogrammas. Izmantojot trigonometriju un pašrakstītus algoritmus, mēs pārvēršam koordinātus leņķos un radiānos, kurus mēs izmantojam, lai reālā laikā pagrieztu motorus robota iekšpusē.
Kad lietotājs ir pabeidzis ierakstīšanu, viņš nospiež apturēšanas pogu. Tagad lietotājs saņem uznirstošo logu, kurā tiek jautāts, vai viņš vēlas saglabāt ierakstu. Kad lietotājs noklikšķina uz Atcelt, viss tiek atiestatīts (dati tiek zaudēti) un var sākt jaunu ierakstīšanu. Ja lietotājs vēlas saglabāt ierakstu, viņam jāievada nosaukums un jānoklikšķina uz “saglabāt”. Noklikšķinot uz "Saglabāt", visi iegūtie dati tiek ierakstīti vietējā failā, izmantojot faila nosaukumu kā nosaukuma ievadi. Fails tiek pievienots arī saraksta skatam ekrāna labajā pusē. Tādā veidā pēc dubultklikšķa uz jaunā ieraksta saraksta skatā fails tiek nolasīts un nosūtīts MQTT brokerim. Līdz ar to robots atskaņos ierakstu.
4. darbība. MQTT brokera iestatīšana

Saziņai starp kinect (WPF projekts) un robotu (Python projekts) mēs izmantojām MQTT. MQTT sastāv no brokera (Linux datora, kurā darbojas mqtt programmatūra (piemēram, Mosquitto)) un tēmas, par kuru klienti var abonēt (viņi saņem ziņojumu no tēmas) un publicēt (viņi ievieto ziņojumu par šo tēmu).
Lai iestatītu MQTT brokeri, vienkārši lejupielādējiet visu šo Džesijas attēlu. Šī ir tīra Raspberry Pi instalācija ar MQTT brokeri. Tēma ir "/Sandro".
5. darbība: Kinect SDK V1.8 instalēšana
Lai kinect darbotos jūsu datorā, jums jāinstalē Microsoft Kinect SDK.
Jūs to varat lejupielādēt šeit:
www.microsoft.com/en-us/download/details.a…
6. darbība: Python V2.7 instalēšana
Robots darbojas ar NaoQi ietvaru, šis ietvars ir pieejams tikai python 2.7 (NOT 3.x), tāpēc pārbaudiet, kādu python versiju esat instalējis.
Jūs varat lejupielādēt python 2.7 šeit:
www.python.org/downloads/release/python-27…
7. darbība: kodēšana



Github:
Piezīmes:
- Kodēšana ar kinect: vispirms meklējiet pievienoto kinect. Pēc saglabāšanas īpašumā mēs iespējojām krāsu un skeleta straumi kinect. Colorstream ir tiešraides video, savukārt skeleta straume nozīmē, ka tiks parādīts kameras priekšā esošās personas skelets. Colorstream nav īsti nepieciešams, lai šis projekts darbotos, mēs to vienkārši iespējojām, jo skeleta plūsmas bitkartēšana ar krāsu plūsmu izskatās slidena!
- Patiesībā to patiešām dara skeleta plūsma. Skeleta plūsmas iespējošana nozīmē, ka tiek izsekots personas skelets. No šī skeleta jūs saņemat visu veidu informāciju, piem. kaulu orientācija, kopīga informācija,… Mūsu projekta atslēga bija kopīgā informācija. Izmantojot katra izsekotā skeleta locītavas x-y & z koordinātas, mēs zinājām, ka varam likt robotam kustēties. Tātad, ik pēc 8 sekundēm (izmantojot taimeri) mēs publicējam mqtt brokerim katra savienojuma x, y & z koordinātas.
- Tā kā python projektam ir abonements mqtt brokerī, mēs tagad varam piekļūt šī projekta datiem. Katrā robota locītavā ir divi motori. Šos motorus nevar vienkārši vadīt, izmantojot tieši x, y & z koordinātas. Tātad, izmantojot trigonometriju un kādu veselo saprātu, mēs pārveidojām locītavu x, y & z koordinātas par leņķiem, kas nav stabili robotiem.
Tātad būtībā ik pēc 8 sekundēm WPF projekts publicē katra savienojuma x, y & z koordinātas. Līdz ar to pitona projektā šie koordināti tiek pārvērsti leņķos, kas pēc tam tiek nosūtīti uz atbilstošajiem robota motoriem.
Ieteicams:
DIY -- Kā izveidot zirnekļa robotu, kuru var vadīt, izmantojot viedtālruni, izmantojot Arduino Uno: 6 soļi

DIY || Kā izveidot zirnekļa robotu, kuru var kontrolēt, izmantojot viedtālruni, izmantojot Arduino Uno: Veidojot zirnekļa robotu, var uzzināt tik daudz par robotiku. Tāpat kā robotu izgatavošana ir izklaidējoša un izaicinoša. Šajā videoklipā mēs jums parādīsim, kā izveidot zirnekļa robotu, kuru varam darbināt, izmantojot savu viedtālruni (Androi
Šķēršļu novēršana, izmantojot robotu, izmantojot mikrokontrolleru (Arduino): 5 soļi

Šķērslis, lai izvairītos no robota, izmantojot mikrokontrolleru (Arduino): Šajā pamācībā es iemācīšu jums izveidot šķēršļus, lai izvairītos no robota, kas darbojas ar Arduino. Jums jābūt pazīstamam ar Arduino. Arduino ir kontrolieris, kas izmanto mikrokontrolleri atmega. Jūs varat izmantot jebkuru Arduino versiju, bet es
Nao robotu kustību kopēšana, izmantojot Xbox Kinect kameru: 4 soļi

Nao robotu kustību kopēšana, izmantojot Xbox Kinect kameru: Kā projekts mūsu datorzinātņu klasē vidusskolā (Porter Gaud), es (Legare Walpole) un vēl viens students (Martin Lautenschlager) nolēmām iegūt Nao humanoīdu robotu, lai atdarinātu mūsu kustības, izmantojot Xbox kinētiskā kamera. Mēnešiem ilgi nav profesionāļu
[Arduino robots] Kā izveidot kustības uztveršanas robotu - Thumbs Robot - Servomotors - Avota kods: 26 soļi (ar attēliem)
![[Arduino robots] Kā izveidot kustības uztveršanas robotu - Thumbs Robot - Servomotors - Avota kods: 26 soļi (ar attēliem) [Arduino robots] Kā izveidot kustības uztveršanas robotu - Thumbs Robot - Servomotors - Avota kods: 26 soļi (ar attēliem)](https://i.howwhatproduce.com/images/001/image-1599-93-j.webp)
[Arduino robots] Kā izveidot kustības uztveršanas robotu | Thumbs Robot | Servomotors | Avota kods: Thumbs Robot. Izmantots servomotora MG90S potenciometrs. Tas ir ļoti jautri un viegli! Kods ir ļoti vienkāršs. Tas ir tikai ap 30 rindām. Tas izskatās kā kustības uztveršana. Lūdzu, atstājiet visus jautājumus vai atsauksmes! [Instrukcija] Avota kods https: //github.c
Kustības kontrolēta izeja - no kustības sensora gaismas: 6 soļi

Kustības kontrolēta izeja - no kustības uztveršanas gaismas: Iedomājieties, ka esat viltīgs cilvēks, kas dodas uz visbriesmīgāko kvartāla māju. Pēc tam, kad esat izgājis garām visiem spokiem, spokiem un kapsētām, jūs beidzot nokļūstat pēdējā ceļā. Jūs varat redzēt konfektes bļodā priekšā! Bet tad pēkšņi gho