תוכן עניינים:
- שלב 1: אסוף חומרה שאתה צריך
- שלב 2: התקן את אובונטו בספרייות Joule והדרושות הדרושות להפעלתו
- שלב 3: הזרם את מצלמת RealSense
- שלב 4: הגדר את Walabot
- שלב 5: יצירת נקודה חמה של Wifi מג'ול
- שלב 6: בניית אנדרואיד כמסך תצוגה
- שלב 7: בודקים הכל
- שלב 8: בדיקת רכב אמיתי
- שלב 9: השתמש בו בעולם
וִידֵאוֹ: ראייה אחורית של הרכב: 9 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:17
מדוע אנו בונים את הראייה האחורית של הרכב?
התנגשות גיבוי הייתה בעיה גדולה, המרכז האמריקני לבקרת מחלות דיווח כי בשנים 2001–2003, כ -7, 475 ילדים (2, 492 בשנה) מתחת לגיל 15 טופלו באירועי גיבוי לרכב. כ -300 הרוגים בשנה נובעים מהתנגשויות גיבוי. עד 2018 כל המכוניות שנמכרות בארצות הברית ידרשו מצלמת גיבוי חובה.
כיצד נפתור את הבעיה?
לרוב המכוניות בשוק כיום עדיין אין מצלמת גיבוי, הכוללת כמחצית מהמכוניות שנמכרות בארה ב כיום, והרבה יותר ממחצית ברחבי העולם. אנו יכולים לפתור בעיה זו על ידי התקנת מצלמה בחלק האחורי של המכונית, באמצעות שטח לוחית הרישוי.
Walabot תוכל לזהות את מרחק המטרה הקרובה ביותר לרכב.
מצלמת Intel RealSense R200 תיתן לנו פירוט רב יותר על מה שרואים, כולל מצב תאורה חלשה.
ערכת המפתחים של Intel Joule מספיק חזקה להפעלת מצלמות RealSense יחד עם Walabot. Raspberry Pi אינו מספיק חזק להפעלת מצלמת תלת מימד RealSense, שבה נוכל להוסיף הרבה יותר תכונות בעתיד שיכולות לשפר את הפונקציונליות של המכונית. ניתן להשתמש באותה גרסה עם Pi עם מצלמת USB רגילה, אך היא לא תהיה טובה לשעות הלילה.
טלפון/טאבלט אנדרואיד המשמש להצגת מצלמת הגיבוי, זאת כדי להפחית את עלות המסך הנוסף. ניתן לבנות גרסת iOS על פי בקשה.
באמצעות רכיבים אלה, נוכל לבנות חזון אחורי שמראה למשתמש את החלק האחורי של המכונית.
שלב 1: אסוף חומרה שאתה צריך
- אינטל ג'ול
- Walabot Pro
- מצלמת Intel R200 RealSense
- טלפון/טאבלט אנדרואיד שמריץ 5.0 ומעלה
- מתאם לרכב ליציאת תקע ומתאם AC 12VDC (זה לצורך הדגמה להפעלת הג'ול, גרסת הייצור תכיל מנגנון כוח שונה)
- רכזת USB לחיבור מצלמה ו- Walabot (USB3 למצלמה ו- USB2 ל- Walabot)
- מהפך מתח ישיר DC ל AC
- מדפסת תלת מימד כללית להדפסת מסגרת לוחית הרישוי שנבנתה בהתאמה אישית
שלב 2: התקן את אובונטו בספרייות Joule והדרושות הדרושות להפעלתו
מכיוון שהחלטנו ללכת עם מסלול לינוקס, עקוב אחר המדריך https://developer.ubuntu.com/core/get-started/intel-joule להתקנת אובונטו ב- Joule. אובונטו נותנת לנו גמישות רבה להפעלת מערכת הפעלה בפועל על שבב מבוסס IoT.
שלב 3: הזרם את מצלמת RealSense
מכיוון שאנו משתמשים בטלפון/טאבלט אנדרואיד כדי לחסוך את העלות על שטר החומר, גם נגיש יותר למשתמשים, נשתמש בספריית תנועה לארח את המצלמה בדומה למצלמות האבטחה. לאחר התקנת אובונטו ומחובר ל- wifi, נוכל לפתוח את הטרמינל ולהשתמש בפקודה הבאה. תחילה אנו מחברים את המצלמה ל- Joule באמצעות יציאת USB3 ולאחר מכן מבצעים את השלבים הבאים.
א. התקנת תנועה באובונטו:
sudo apt-get עדכונים sudo apt-get להתקין תנועה
ב. העתק קבצי תצורה:
mkdir.motion sudo cp /etc/motion/motion.conf ~/.motion/motion.conf
ג. הגדרת הקובץ, למי שמכיר את אובונטו יכול להתקין Sublime לביצוע עריכת טקסט קלה יותר, אחרת נוכל לערוך אותו בתוך שורת הפקודה.
sudo nano ~/.motion/motion.conf
ד. לאחר חיבור מצלמת R200, נוכל לשנות את השורות הבאות בתנועה. Conf
זה כדי לשים אותו במצב הרקע:
# התחל במצב שד (רקע) ושחרר שד מסוף (ברירת מחדל: כבוי)
זאת לשימוש בתצוגת המצלמה של מצלמת RealSense.
# מכשיר וידיאו שישמש לצילום (ברירת מחדל /dev /video0) # עבור ברירת המחדל של FreeBSD היא /dev /bktr0 videodevice /dev /video2
שינוי הרוחב והגובה, 1280 x 720 עבד בשבילי מצוין, אבל אתה יכול לשחק עם המידות כדי לראות מה מתאים לצורך שלך.
# רוחב התמונה (פיקסלים). טווח תקף: תלוי במצלמה, ברירת מחדל: 352 רוחב 1280 # גובה התמונה (פיקסלים). טווח תקף: תלוי במצלמה, ברירת מחדל: 288 גובה 720
הגדרתי את זה ל -30, ככל שתגדיר את המספר כך יידרש יותר כוח מחשוב. אתה יכול לשחק ולראות מה המדד לזה, אבל 30 עבד מצוין בשבילי.
# מספר הפריימים המרבי שצריך לצלם בשנייה. # טווח תקף: 2-100. ברירת מחדל: 100 (כמעט ללא הגבלה). מסגרת 30
מכיוון שאנו תמיד זורמים לאחור את המכונית, אנו יכולים להגדיר יציאה ייעודית, אנו משתמשים ב- 5001
################################################## ##########Live Stream Server ###################################### #########################שרת ה- mini-http מקשיב ליציאה זו לבקשות (ברירת מחדל: 0 = מושבת) stream_port 5001#איכות ה- jpeg (באחוזים) תמונות שהופקו (ברירת מחדל: 50) stream_quality 50 # מסגרות פלט ב 1 fps כאשר לא מזוהה תנועה ועולות לשיעור # שניתן על ידי stream_maxrate כאשר תזוהה תנועה (ברירת מחדל: off) stream_motion off # מספר מסגרת מרבי עבור זרמי זרמים (ברירת מחדל: 1) stream_maxrate 60 # הגבל את חיבורי הזרם ל- localhost בלבד (ברירת מחדל: מופעל) stream_localhost כבוי
לאחר מכן תוכל להריץ ifconfig ולברר את כתובת ה- ip ולהריץ במסוף, היציאה תהיה 5001.
תְנוּעָה
אם אין שגיאות, קל לבדוק את המצלמה מהמחשב שלך באמצעות ה- ip, לתקן את השגיאות כגון בעיות הרשאה אם ישנן כאלה.
ברגע שזה יפעל, נוכל להוסיף את זה ליישום ההפעלה באובונטו.
הפעלת תנועה למצלמה
motion.conf מצורף בקטע הקוד, תוכל לבדוק הגדרות נוספות שם.
שלב 4: הגדר את Walabot
כשהמצלמה במקום, אנחנו עדיין צריכים להתקין walabot, זה יכול לזהות את המרחק בין הרכב לאובייקט שמאחוריו, ונותן ראייה ברורה כיצד עלינו
א, הורד את קובץ ה- deb מ-
עקוב אחר ההוראות מ https://api.walabot.com/_install.html#_linux התקן להתקנת Walabot API כדי שניתן יהיה לייבא אותו לפרויקטים של פייתון.
ישנה טעות באתר בחלק בו היא מתקינה את Walabot API https://walabot.com/api/_pythonapi.html#_installingwalabotapi היכן שהיא מציינת
python -m pip "/usr/share/walabot/python/WalabotAPI-1.0.21.tar.gz"
זה צריך להיות
התקנת python -m pip "/usr/share/walabot/python/WalabotAPI-1.0.21.tar.gz"
ב. חבר Walabot Pro באמצעות USB 2, לא הצלחתי לגרום ל- usb3 לעבוד אבל usb2 עובד מצוין בחיבור ללינוקס. מכיוון שלג'ול יש רק יציאת USB3 אחת, חבר יציאת USB2 נוספת בכדי להכיל את Walabot Pro כאן
ג. בדוק את פרויקט Walabot כגון https://github.com/Walabot-Projects/Walabot-Senso… על ידי הפעלת הפקודה הבאה בתיקייה
python SensorTargets.py
זה אמור לתת לך מבחן טוב כדי לראות אם Walabot פועל כראוי, כמו גם כיצד למדוד מרחק על דברים שאתה רוצה. הדוגמה של DistanceMeasure לא הייתה עקבית מדי במדידה, ונראה ש- zPosCm מדויקת ביותר, ולכן החלטתי להשתמש ב- zPosCM לצורך ההדגמה.
ד. אנחנו עדיין צריכים להעביר את הנתונים למכשיר התצוגה, מכיוון שאנו מריצים את זה על אנדרואיד כדי להפחית את עלות החומר, אנו יכולים להשתמש בשקעים. אנו משתמשים בקוד הבא כדי להתקין את השקע וה- udp בפייתון.
MYPORT = 5002 ייבוא מערכות, זמן מיבוא שקע * s = שקע (AF_INET, SOCK_DGRAM) s.bind (('', 0)) s.setsockopt (SOL_SOCKET, SO_REUSEADDR, 1) s.setsockopt (SOL_SOCKET, SO_BROADCAST, 1)
הפקודה הבאה תשדר נתונים על העדכון
s.sendto (str (מטרות [0].zPosCm), ('255.255.255.255', MYPORT))
ה. כאשר הדבר נעשה, אנו יכולים להגדיר אותו ביישום האתחול
ו. Walabot מקימה ומעבירה כעת נתונים באמצעות UDP, ניתן לראות קוד פיתון מלא באזור הקובץ המצורף. צילום המסך להלן הוא ההדפסה של איך היא צריכה להיראות כאשר אין אזור. הקוד מצורף בחלק הקוד.
שלב 5: יצירת נקודה חמה של Wifi מג'ול
אנו יוצרים נקודה חמה WiFi משלנו למכשיר אנדרואיד להעברת נתונים באמצעותם. שימוש בפקודה הבאה בהתחלה יגדיר אותה באופן אוטומטי. זה נמצא בשימוש עבור אובונטו 16.04 ואילך, מכיוון שהוא נמצא בשימוש. אנו נחבר זאת אוטומטית באמצעות אפליקציית Android בשלב הבא. השתמש בפקודה זו ביישומי האתחול.
nmcli מכשיר wifi נקודה חמה con-name רכב-ראייה אחורית ssid רכב-ראייה אחורית להקת bg סיסמא safedriving
בתוך קובץ הפיתון של walabot, נעדכן אותו גם לאן נשלח הודעת udp למכשירים המחוברים באמצעות נקודה חמה פרטית. זה כדי להבטיח שאף חבילה לא תאבד.
out = os.popen ('ip neigh'). read (). splitlines () עבור i, line in enumerate (out, start = 1): ip = line.split ('') [0] s.sendto (str (מטרות [0].zPosCm), (ip, MYPORT))
שלב 6: בניית אנדרואיד כמסך תצוגה
אפליקציית אנדרואיד בנויה להצגת המכשיר, בעיקר מכיוון שהיא מפחיתה את שטר החומרים מכיוון שאחרת מסך נפרד יכול להיות יקר וקשה להתקנה. באשר לפרויקט זה אנו יכולים להשתמש בטלפון/טאבלט אנדרואיד.
אנדרואיד מתמקדת בשלושה חלקים שעשינו קודם לכן,
- התחבר לנקודת ה hot wifi שנוצרה באמצעות מכשיר IoT (Intel Joule)
- הזרם את מצלמת RealSense באמצעות תנועה באמצעות wifi
- מדידת מרחק מיעד Walabot דרך udp
לאחר שתגדיר הכל ותתקין את אפליקציית האנדרואיד (מקור פתוח כאן), תוכל לראות את המצלמה עובדת יחד עם walabot
שלב 7: בודקים הכל
כעת, כשהכל פועל, אמורה להיות לנו התקנה בסיסית של כל הרכיבים המצורפים. כאשר אנו מפעילים את לוח Joule, נקודה חמה צריכה להיות מותקנת אוטומטית, תנועה ואפליקציית walabot יתחילו יחד איתה, וכאשר נפעיל את אפליקציית האנדרואיד שלנו, נוכל להזרים מהמצלמה. המשמעות היא שהמקלדת/העכבר והצג אינם נחוצים עוד כדי שהתקן IoT יפעל. אם מתרחשות בעיות ברגע זה, כגון ספריות שאינן מותקנות כראוי, עלינו לתקן אותן לפני שנמשיך לשלב הבא.
חשוב מאוד להדפיס את המעטפת שיכולה להכיל את המצלמה בתלת מימד.
בבניית החומרה, כדאי שיהיה לנו מעטפת מותאמת בתלת מימד מותאמת אישית למצלמה. מכיוון שמדובר באב טיפוס הוא יכול להשתחרר מעט, אך כאשר אנו בונים מחזיק לוחית רישוי מותאם אישית אנו מצפים שכל הרכיבים יהיו בתוך המחזיק.
שלב 8: בדיקת רכב אמיתי
כעת, לאחר שגרמנו להכל לפעול, נוכל לבדוק זאת במכונית אמיתית. מכיוון שמדובר באב טיפוס הדברים יכולים להיות קצת גסים, אנו משתמשים בסרט דביק עבור חלק מהרכיבים.
על מנת להפעיל את ערכת ה- IoT של Joule, השתמשנו בממיר חשמלי לתקע ישיר ל- AC, ואז פשוט העברנו שקע חשמל ארוך לתא המטען.
יהיה לנו את החלק הקדמי ואת החלק האחורי. זהו רק אב טיפוס כרגע, הגרסה הבאה תשלב את השבבים בתוך מחזיק לוחית הרישוי.
ובחלקו הקדמי, אנו יכולים להשתמש במחזיק טלפון או רק בדבק אנדרואיד.
שלב 9: השתמש בו בעולם
באמצעות כלי זה, אנו יכולים לגבות את המכונית בבטחה למכוניות אחרות ולצפות במעקב אחר הולכי רגל. אתה יכול לצפות בסרטון ההדגמה בהתחלה. מטרת הפרויקט היא לעודד שיטות נהיגה בטוחות יותר.
אתה יכול לבדוק את הפרויקט מתוך
מוּמלָץ:
עוזר החניה של Arduino - חנה את הרכב במקום הנכון בכל פעם: 5 שלבים (עם תמונות)
עוזר החניה של Arduino - החנה את מכוניתך בנקודה הנכונה בכל פעם: בפרויקט זה אראה לך כיצד לבנות עוזר חניה משלך באמצעות Arudino. עוזר חניה זה מודד את המרחק לרכב שלך ומדריך אותך להחנות אותו במקום הנכון באמצעות קריאת תצוגת LCD ונורית LED, המתקדמת
זיהוי כוכבים באמצעות מחשב ראייה (OpenCV): 11 שלבים (עם תמונות)
זיהוי כוכבים באמצעות מחשב ראייה (OpenCV): הוראה זו תתאר לך כיצד ליצור תוכנית ראיית מחשב לזיהוי אוטומטי של דפוסי כוכבים בתמונה. השיטה משתמשת בספריית OpenCV (Open-Source Computer Vision) ליצירת קבוצה של מפלי HAAR מאומנים שיכולים להיות
קורא/כותב NFC ScanUp ומכשיר אודיו לעיוורים, לקויי ראייה ולכולם: 4 שלבים (עם תמונות)
קורא/כותב NFC ScanUp/מקליט אודיו לעיוורים, לקויי ראייה וכולם: אני לומד עיצוב תעשייתי והפרויקט הוא העבודה של הסמסטר שלי. המטרה היא לתמוך באנשים לקויי ראייה ועיוורים באמצעות מכשיר, המאפשר להקליט שמע בפורמט WAV בכרטיס SD ולקרוא למידע זה באמצעות תג NFC. אז ב
KEVIN הרכב האוטונומי המלא: 17 שלבים (עם תמונות)
KEVIN הרכב האוטונומי המלא: זהו קווין. מכונית נשלטת ברדיו עם יכולת לבצע הנעה אוטונומית מלאה. המטרה הראשונה שלי הייתה לייצר רכב אוטונומי בשליטת ארדואינו. אז קניתי שלדה סינית זולה. אבל זה היה נורא כי לא הצלחתי לצרף כל
אחורית אחורית עם טוויסט: 9 שלבים (עם תמונות)
פנס אחורי באופניים עם טוויסט: בואו נודה בזה. פנסים אחוריים משעממים. במקרה הטוב הם 'מהבהבים מהבהבים - תסתכל עלי! אני ממצמץ - woohoo 'כל הזמן. והם תמיד אדומים. מאוד יצירתי. אנחנו יכולים לעשות יותר טוב מזה, אולי לא הרבה, אבל עדיין טוב יותר מאשר רק 'למצמץ למצמץ'. הייתי