Bluetooth control using Lego Mindstorms for Educational Engineering
April 2008 AFEKA PROJECT EL MB TK5101-6720

(Hebrew Follows)

Submitted by: Michael Bernstein, Final Project at the Department of Electrical and Electronics Engineering, AFEKA - Tel Aviv Academic College of Engineering

Advisor: Ph.D. Naum Kogan, Faculty of Engineering, Tel Aviv University

Abstract:

Project goal:

To make a research in the field of educational engineering, which target is to show effective methods of understanding Bluetooth wireless communication aspects (such as programming devices, protocol, applications, practice) and using gathered data by implementing it in creation of Bluetooth remotely controlled programmable robotic system. The Solution:

After detailed research for existing alternative solutions it was decided to use Lego Mindstorms NXT educational kit. A programmable microcontroller of this kit is equipped with Bluetooth device and most suitable for project needs. Additional components are provided, such as sensors, wheels, Lego parts, graphical programming software by National Instruments and worldwide acknowledgement of engineering community, which offers a lot of NXT-oriented materials, sources and solutions over the internet. Performance Manner: A PC station equipped with Bluetooth adapter (USB dongle or build-in Bluetooth radio unit) is running controlling software (National Instruments Labview 8.2) which establishes Bluetooth link to a robotic vehicle carrying Lego ARM7 microcontroller. An operator is granted a full control of vehicle’s movement through control monitor. Additional information is also displayed, such as a distance in cm from the obstacle ahead of robot (data from ultrasonic sensor), battery level of the robot and Bluetooth connection indicator. Simultaneously, a resident program is running in robot’s microcontroller, which “remain idle” status is constantly confirmed by incoming Bluetooth message from the control station. When ever connection is terminated, a resident program performs an explorer algorithm, simulating an independent mode of operation, which protects robot from running into obstacles until connection is re-established. Summary:

Project shows in practice many important issues in electrical and electronics engineering. It involves programming techniques, understanding communication protocol, system modelling, control issues and trains engineering abilities of mastering a new system through advanced self learning Software:

The LEGO MINDSTORMS NXT Graphical programming software (NXT-G) powered by NI Labview. National Instruments Labview Professional 8.2 Labview Toolkit for Lego Mindstorms NXT Hardware:

32-bit ARM7 Lego microcontroller Touch and ultrasonic Lego sensors PC station USB Bluetooth adaptor

Keywords: Bluetooth, Lego, NXT, Labview, communication, control, sensor, programming, robot

הוגש ע"י: מיכאל ברנשטיין, עבודת גמר במחלקה להנדסת חשמל ואלקטרוניקה במכללת אפקה - המכללה האקדמית להנדסה בתל אביב מנחה: ד''ר נחום קוגן, אוניברסיטת ת"א תקציר:
מטרת הפרויקט:
מחקר בתחום תהליכי למידה לחוגי הנדסה לטובת הבנה מעמיקה של תקשורת Bluetooth אלחוטית בהבטים שונים: תיכנות המכשירים, פרוטוקולי תקשורת, ישומים והתמחויות, וגם שימוש במאגר מידע זה דרך יצירת מערכת רובוטית, הנשלתת מרחוק בארוץ Bluetooth וניתנת לתיכנות, המדגימה עקרונות תקשורת אלחוטית.
דרך הפתרון:
לאחר ניתוח חלופות הקיימים הוחלט להישתמש במערכת Lego Mindstorms NXT. הבקר של ערכת Lego ניתן לתיכנות בסביבות C וAssembly שונות, כמו כן בתוכנות Labview ו Matlab ,והוא גם בעל build-in Bluetooth radio. בערכת Lego רכיבים נוספים, כגון: 4 סוגים של חיישנים, גלגלים, בלוקים לבניית מערכת רובוטית, וכלי לתיכנות גראפי של הבקר. מערכת Mindstorms מוכרת בצורה רחבה מאוד על ידי כהילה הנדסית הבינלאומית וניתמכת בהמון חומרים רלוונטיים באתרי אינטרנת שונים.
אופן הפעלה של המודל הרובוטי:
תוכנת בקרה National Instruments Labview 8.2 רצה על תחנת מחשב PC, המצויד בהתקן Bluetooth פנימי או חיצוני עם מתאם USB, ויוזמת שיחת Bluetooth עם פלטפורמה רובוטית הנושאת בקר Lego וחיישנים בעזרת גלגלים המחוברים למנועי סרוו. המפעיל של המערכת שולט על תנועת הרובות דרך מסך שליטה, המציג לו גם אינפורמציה נוספת המגיע מהרובוט: סטאטוס של החיבור, סטאטוס של הסוללה הפנימית ומרחק בסנטימטרים מהמכשול הקדמי (מידע מחיישן העל-קולי). במקביל רצה תוכנית רזידנט הצרובה לזיכרון הבקר של הרובוט, הנשארת במצב סרק (לא מבצעת שום פעלה) כל עוד מקבלת בצורה מחזורית את ההודעה מסוימת מתחנת השליטה. כאשר תוכנית זו מזהה את ניתוק הקשר, היא מזיזה את הרובוט בצורה עצמאית על ידי ביצוע אלגוריתם, המונע מהרובוט התנגשות עם מכשולים שונים במסלולו, וכאשר תקשורת מתחנת השליטה מחודשת- הרובוט שוב נשלט מרחוק.
סיכום:
הפרויקט מדגים בצורה פרקטית ויעלה את הבטים השונים בתחומי הנדסה. הוא מקיף נושאים בבקרה, תכנון מערכתי, עקרנות התיכנת הגראפי, דורש הבנה בפרוטוקול תקשורת ונותן לסטודנט המבצע ניסיון ברכישת ידע וכלים הנחוצים למהנדס בעבודה עם מערכת חשדה דרך מחקר ולימוד עצמי. מילות מפתח: Bluetooth, תקשורת, רובוט, תיכנות, חיישן