תוכן עניינים:
- שלב 1: ידע בסיסי
- שלב 2: רכישת החומרים הדרושים
- שלב 3: איך זה עובד
- שלב 4: הגדרת מתווך MQTT
- שלב 5: התקנת Kinect SDK V1.8
- שלב 6: התקנת Python V2.7
- שלב 7: קידוד
וִידֵאוֹ: נעו רובוט מחקה תנועות באמצעות Kinect: 7 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:17
במדריך זה אסביר לך כיצד נתנו לרובוט נאו לחקות את תנועותינו באמצעות חיישן קינקט. המטרה בפועל של הפרויקט היא מטרה חינוכית: למורה יש את היכולת להקליט מערכות מהלכים מסוימות (למשל ריקוד) והוא יכול להשתמש בהקלטות אלה כדי לתת לילדים בחדר הכיתה לחקות את הרובוט. אם תעבור את כל ההדרכה הזו צעד אחר צעד, אתה אמור להיות מסוגל לשחזר את הפרויקט הזה במלואו.
זהו פרויקט הקשור לבית ספר (NMCT @ Howest, Kortrijk).
שלב 1: ידע בסיסי
כדי לשחזר את הפרויקט הזה עליך להיות בעל ידע בסיסי כלשהו:
- ידע בסיסי בפייתון
- ידע בסיסי ב- C# (WPF)
- ידע בסיסי בטריגונומטריה
- ידע כיצד להגדיר MQTT על פטל פטל
שלב 2: רכישת החומרים הדרושים
החומרים הדרושים לפרויקט זה:
- פאי פטל
- חיישן Kinect v1.8 (Xbox 360)
- רובוט נאו או רובוט ויראלי (כורגרף)
שלב 3: איך זה עובד
חיישן קינקט מחובר למחשב שמריץ את יישום WPF. יישום WPF שולח נתונים ליישום Python (רובוט) באמצעות MQTT. קבצים מקומיים נשמרים אם המשתמש בוחר בכך.
הסבר מפורט:
לפני שנתחיל להקליט, על המשתמש להזין את כתובת ה- ip של מתווך MQTT. חוץ מזה, אנו זקוקים גם לנושא עליו אנו רוצים לפרסם את הנתונים. לאחר לחיצה על התחל, האפליקציה תבדוק אם ניתן ליצור חיבור עם המתווך והיא תיתן לנו משוב. בדיקה אם קיים נושא אינה אפשרית, כך שאתה אחראי באופן מלא על נושא זה. כאשר שתי הכניסות תקינות, האפליקציה תתחיל לשלוח נתונים (קואורדינטות x, y & z יוצרות כל מפרק) מהשלד שעוקבים אחר הנושא על מתווך MQTT.
מכיוון שהרובוט מחובר לאותו מתווך MQTT ונרשם לאותו נושא (יש להזין זאת גם ביישום הפיתון) אפליקציית הפיתון תקבל כעת את הנתונים מאפליקציית WPF. בעזרת טריגונומטריה ואלגוריתמים כתובים בעצמנו, אנו ממירים את הקואורדינטות לזוויות ורדיאנים, בהם אנו משתמשים כדי לסובב את המנועים בתוך הרובוט בזמן אמת.
כאשר המשתמש מסיים להקליט, הוא לוחץ על כפתור העצירה. כעת המשתמש מקבל קופץ ששואל אם הוא רוצה לשמור את ההקלטה. כאשר המשתמש לוחץ על ביטול, הכל מתאפס (הנתונים הולכים לאיבוד) וניתן להתחיל הקלטה חדשה. אם המשתמש מעוניין לשמור את ההקלטה, עליו להזין כותרת וללחוץ על 'שמור'. כאשר לוחצים על 'שמור' כל הנתונים שנרכשו נכתבים לקובץ מקומי באמצעות קלט הכותרת כשם הקובץ. הקובץ נוסף גם לתצוגת הרשימה בצד ימין של המסך. בדרך זו, לאחר לחיצה כפולה על הערך החדש בתצוגת הרשימה, הקובץ נקרא ונשלח לברוקר MQTT. כתוצאה מכך, הרובוט ישמיע את ההקלטה.
שלב 4: הגדרת מתווך MQTT
לתקשורת בין הקינקט (פרוייקט WPF) והרובוט (פרויקט פייתון) השתמשנו ב- MQTT. MQTT מורכב מתווך (מחשב לינוקס שעליו פועלת תוכנת mqtt (למשל Mosquitto) ונושא שעליו לקוחות יכולים להירשם (הם מקבלים הודעה מהנושא) ומפרסמים (הם מפרסמים הודעה בנושא).
כדי להגדיר את מתווך MQTT פשוט הורד את כל תמונת הג'סי הזו. זוהי התקנה נקייה עבורך Raspberry Pi עם מתווך MQTT עליה. הנושא הוא "/סנדרו".
שלב 5: התקנת Kinect SDK V1.8
כדי שהקינקט יפעל במחשב שלך, עליך להתקין את SDK של Microsoft Kinect.
אתה יכול להוריד אותו כאן:
www.microsoft.com/en-us/download/details.a…
שלב 6: התקנת Python V2.7
הרובוט עובד עם מסגרת NaoQi, מסגרת זו זמינה רק עבור פייתון 2.7 (לא 3.x), אז בדוק איזו גירסת פיתון התקנת.
אתה יכול להוריד את פייתון 2.7 כאן:
www.python.org/downloads/release/python-27…
שלב 7: קידוד
Github:
הערות:
- קידוד עם הקינקט: ראשית אתה מחפש את הקינקט המחובר. לאחר ששמרנו זאת בתוך נכס אפשרנו זרימת צבע ושלד על הקינקט. Colorstream הוא הסרטון החי, בעוד שלד הזרם פירושו שלד של האדם מול המצלמה יוצג. Colorstream לא ממש נחוץ בכדי לגרום לפרויקט הזה לפעול, פשוט הפעלנו אותו כיוון שמיפוי סיבי של השלד לזרם הצבעים נראה חלקלק!
- במציאות זה באמת זרם השלד שעושה את העבודה. הפעלת זרם השלד פירושה שמעקב אחר השלד של האדם. מהשלד הזה אתה מקבל כל מיני מידע, למשל. כיווני עצמות, מידע משותף, … המפתח לפרויקט שלנו היה המידע המשותף. באמצעות הקואורדינטות x-y & z של כל אחד מהמפרקים מהשלד המעקב, ידענו שנוכל לגרום לרובוט לזוז. לכן, כל.8 שניות (באמצעות טיימר) אנו מפרסמים את הקואורדינטות x, y & z של כל אחד מהפרקים למתווך mqtt.
- מכיוון שלפרויקט הפיתון יש מנוי על מתווך mqtt אנו יכולים כעת לגשת לנתונים בתוך הפרויקט הזה. בתוך כל מפרק של הרובוט נמצאים שני מנועים. לא ניתן לכוון מנועים אלה באמצעות קואורדינטות x, y & z ישירות. לכן, בעזרת הטריגונומטריה וקצת השכל הישר, הפכנו את קואורדינטות x, y & z של המפרקים לזוויות שאינן ניתנות להבנה לרובוטים.
אז בעצם כל.8 שניות מפרסם פרוייקט WPF x, y & z קואורדינטות של כל אחד מהמפרקים. כתוצאה מכך, בתוך פרויקט הפיתון הקואורדיאנטים האלה מומרים לזוויות, שנשלחות לאחר מכן למנועים המתאימים של הרובוט.
מוּמלָץ:
אינפרא אדום רובוט נשלט באמצעות רובוט באמצעות AVR (ATMEGA32) MCU: 5 שלבים
INFRA אדום מרחוק נשלט רובוקאר באמצעות AVR (ATMEGA32) MCU: הפרויקט הנוכחי מתאר עיצוב והטמעה של אינפרא אדום (IR) שלט רחוק, שניתן להשתמש בו ליישומי בקרה אוטומטיים בלתי מאוישים. תכננתי RoboCar בשליטה מרחוק (תנועת שמאל-ימין/קדמי-אחורי). T
Nao Robot העתקת תנועות באמצעות מצלמת Kinect Xbox: 4 שלבים
Nao Robot העתקת תנועות באמצעות מצלמת Xbox Kinect: כפרויקט בשיעור מדעי המחשב שלנו בתיכון (פורטר גאוד), אני (לגרה וולפול) ותלמיד אחר (מרטין לאוטנשלגר) יצאנו להביא רובוט נאנו -אנושי לחקות את תנועותינו באמצעות מצלמה קינטית של Xbox. במשך חודשים אין מקצוען
RC רובר נשלט על ידי תנועות תנועות וג'ויסטיק: 8 שלבים
RC רובר נשלט על ידי מחוות Motions & Joyestick: RC Rover הוא פרויקט רובוטיקה שמטרתו לשפר את השליטה ברוברים באמצעות שימוש בתדר רדיו ואינטראקציה של תנועת רובר עם תנועת יד באמצעות יחידת האינרציה (MPU6050), אך גם שליטה על זה רובר עם ג'ויססטיק. את כל
רובוט איזון / רובוט 3 גלגלים / רובוט STEM: 8 שלבים
רובוט איזון / רובוט 3 גלגלים / רובוט STEM: בנינו רובוט איזון משולב ושלושה גלגלים לשימוש חינוכי בבתי ספר ובתוכניות חינוכיות לאחר הלימודים. הרובוט מבוסס על Arduino Uno, מגן מותאם אישית (כל פרטי הבנייה מסופקים), חבילת סוללות לי יון (כל מבנה
[רובוט ארדואינו] כיצד ליצור רובוט לכידת תנועה - רובוט אגודל - מנוע סרוו - קוד מקור: 26 שלבים (עם תמונות)
[רובוט ארדואינו] כיצד ליצור רובוט לכידת תנועה | רובוט אגודל | מנוע סרוו | קוד מקור: רובוט אגודל. השתמש בפוטנציומטר של מנוע סרוו MG90S. זה מאוד כיף וקל! הקוד פשוט מאוד. זה בסביבות 30 קווים בלבד. זה נראה כמו לכידת תנועה. אנא השאר כל שאלה או משוב! [הוראה] קוד מקור https: //github.c