תוכן עניינים:

ראייה אחורית של הרכב: 9 שלבים (עם תמונות)
ראייה אחורית של הרכב: 9 שלבים (עם תמונות)

וִידֵאוֹ: ראייה אחורית של הרכב: 9 שלבים (עם תמונות)

וִידֵאוֹ: ראייה אחורית של הרכב: 9 שלבים (עם תמונות)
וִידֵאוֹ: אני רוצה שווארמה 🌯 2024, נוֹבֶמבֶּר
Anonim
Image
Image

מדוע אנו בונים את הראייה האחורית של הרכב?

התנגשות גיבוי הייתה בעיה גדולה, המרכז האמריקני לבקרת מחלות דיווח כי בשנים 2001–2003, כ -7, 475 ילדים (2, 492 בשנה) מתחת לגיל 15 טופלו באירועי גיבוי לרכב. כ -300 הרוגים בשנה נובעים מהתנגשויות גיבוי. עד 2018 כל המכוניות שנמכרות בארצות הברית ידרשו מצלמת גיבוי חובה.

כיצד נפתור את הבעיה?

לרוב המכוניות בשוק כיום עדיין אין מצלמת גיבוי, הכוללת כמחצית מהמכוניות שנמכרות בארה ב כיום, והרבה יותר ממחצית ברחבי העולם. אנו יכולים לפתור בעיה זו על ידי התקנת מצלמה בחלק האחורי של המכונית, באמצעות שטח לוחית הרישוי.

Walabot תוכל לזהות את מרחק המטרה הקרובה ביותר לרכב.

מצלמת Intel RealSense R200 תיתן לנו פירוט רב יותר על מה שרואים, כולל מצב תאורה חלשה.

ערכת המפתחים של Intel Joule מספיק חזקה להפעלת מצלמות RealSense יחד עם Walabot. Raspberry Pi אינו מספיק חזק להפעלת מצלמת תלת מימד RealSense, שבה נוכל להוסיף הרבה יותר תכונות בעתיד שיכולות לשפר את הפונקציונליות של המכונית. ניתן להשתמש באותה גרסה עם Pi עם מצלמת USB רגילה, אך היא לא תהיה טובה לשעות הלילה.

טלפון/טאבלט אנדרואיד המשמש להצגת מצלמת הגיבוי, זאת כדי להפחית את עלות המסך הנוסף. ניתן לבנות גרסת iOS על פי בקשה.

באמצעות רכיבים אלה, נוכל לבנות חזון אחורי שמראה למשתמש את החלק האחורי של המכונית.

שלב 1: אסוף חומרה שאתה צריך

התקן את אובונטו בספריית Joule ובספריות הדרושות להפעלתו
התקן את אובונטו בספריית Joule ובספריות הדרושות להפעלתו
  1. אינטל ג'ול
  2. Walabot Pro
  3. מצלמת Intel R200 RealSense
  4. טלפון/טאבלט אנדרואיד שמריץ 5.0 ומעלה
  5. מתאם לרכב ליציאת תקע ומתאם AC 12VDC (זה לצורך הדגמה להפעלת הג'ול, גרסת הייצור תכיל מנגנון כוח שונה)
  6. רכזת USB לחיבור מצלמה ו- Walabot (USB3 למצלמה ו- USB2 ל- Walabot)
  7. מהפך מתח ישיר DC ל AC
  8. מדפסת תלת מימד כללית להדפסת מסגרת לוחית הרישוי שנבנתה בהתאמה אישית

שלב 2: התקן את אובונטו בספרייות Joule והדרושות הדרושות להפעלתו

מכיוון שהחלטנו ללכת עם מסלול לינוקס, עקוב אחר המדריך https://developer.ubuntu.com/core/get-started/intel-joule להתקנת אובונטו ב- Joule. אובונטו נותנת לנו גמישות רבה להפעלת מערכת הפעלה בפועל על שבב מבוסס IoT.

שלב 3: הזרם את מצלמת RealSense

הזרם את מצלמת RealSense
הזרם את מצלמת RealSense
הזרם את מצלמת RealSense
הזרם את מצלמת 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
הגדר את Walabot
הגדר את Walabot
הגדר את Walabot
הגדר את Walabot
הגדר את Walabot
הגדר את Walabot
הגדר את 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 מג'ול
יצירת נקודה חמה של 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: בודקים הכל

Image
Image
בודקים הכל
בודקים הכל
בודקים הכל
בודקים הכל

כעת, כשהכל פועל, אמורה להיות לנו התקנה בסיסית של כל הרכיבים המצורפים. כאשר אנו מפעילים את לוח Joule, נקודה חמה צריכה להיות מותקנת אוטומטית, תנועה ואפליקציית walabot יתחילו יחד איתה, וכאשר נפעיל את אפליקציית האנדרואיד שלנו, נוכל להזרים מהמצלמה. המשמעות היא שהמקלדת/העכבר והצג אינם נחוצים עוד כדי שהתקן IoT יפעל. אם מתרחשות בעיות ברגע זה, כגון ספריות שאינן מותקנות כראוי, עלינו לתקן אותן לפני שנמשיך לשלב הבא.

חשוב מאוד להדפיס את המעטפת שיכולה להכיל את המצלמה בתלת מימד.

בבניית החומרה, כדאי שיהיה לנו מעטפת מותאמת בתלת מימד מותאמת אישית למצלמה. מכיוון שמדובר באב טיפוס הוא יכול להשתחרר מעט, אך כאשר אנו בונים מחזיק לוחית רישוי מותאם אישית אנו מצפים שכל הרכיבים יהיו בתוך המחזיק.

שלב 8: בדיקת רכב אמיתי

Image
Image
מבחן על מכונית אמיתית
מבחן על מכונית אמיתית
מבחן על מכונית אמיתית
מבחן על מכונית אמיתית

כעת, לאחר שגרמנו להכל לפעול, נוכל לבדוק זאת במכונית אמיתית. מכיוון שמדובר באב טיפוס הדברים יכולים להיות קצת גסים, אנו משתמשים בסרט דביק עבור חלק מהרכיבים.

על מנת להפעיל את ערכת ה- IoT של Joule, השתמשנו בממיר חשמלי לתקע ישיר ל- AC, ואז פשוט העברנו שקע חשמל ארוך לתא המטען.

יהיה לנו את החלק הקדמי ואת החלק האחורי. זהו רק אב טיפוס כרגע, הגרסה הבאה תשלב את השבבים בתוך מחזיק לוחית הרישוי.

ובחלקו הקדמי, אנו יכולים להשתמש במחזיק טלפון או רק בדבק אנדרואיד.

שלב 9: השתמש בו בעולם

השתמש בו בעולם
השתמש בו בעולם

באמצעות כלי זה, אנו יכולים לגבות את המכונית בבטחה למכוניות אחרות ולצפות במעקב אחר הולכי רגל. אתה יכול לצפות בסרטון ההדגמה בהתחלה. מטרת הפרויקט היא לעודד שיטות נהיגה בטוחות יותר.

אתה יכול לבדוק את הפרויקט מתוך

מוּמלָץ: