כיצד ליצור ולדמות שירות אולפני רובוטיקה של מיקרוסופט?
זה יראה לך כיצד להשתמש ב- C # וב- Microsoft Robotics Studio Manifest Editor כדי ליצור שירות ולצפות בו פועל בסביבת הסימולציה.
- 1התקן את האולפן הרובוטי של מיקרוסופט.
- עבור להורדה של מיקרוסופט
- חפש רובוטיקה
- הורד את Microsoft Robotics Studio 1,5
- הורד עדכון זמן ריצה וכלים עבור Microsoft Robotics Studio (1,5) נובמבר 2007
- התקן את שניהם
- 2צור שירות ריק חדש
- צור שירות ריק מ- Start, תוכניות, Microsoft Robotics Studio (1,5)
- הפעל את שורת הפקודה של MSRS
- הקלד 'md My' כדי ליצור ספריה חדשה עבור הפרויקטים שלך
- הקלד 'cd My' כדי לעבור לספרייה זו
- הקלד 'dssnewservice / service: Simpleest'
- 3הוסף טיפול בסיסי לפרויקט שלך, כך שנתייחס לשותף לנהיגה
- הקלד 'cd Simplest' כדי לעבור לספריית השירותים החדשים שלך
- הקלד 'Simplest.sln' כדי לפתוח את השירות שלך ב- Visual Studio C #.
- פתח את סייר הפתרונות (ctrl-w, s)
- הוסף הפניה ל- RoboticsCommon.proxy
- פתח את הקובץ Simplest.cs מ- Explorer Solution
- הוסף הצהרת שימוש חדשה בחלק העליון 'באמצעות כונן = Microsoft.Robotics.Services.Drive.Proxy;'
- הוסף התייחסות לשותף מתחת להצהרת _mainPort '[Partner ("drive", Contract = drive.Contract.Identifier, CreationPolicy = PartnerCreationPolicy.UsePartnerListEntry)]'
- הוסף יציאה לשותף זה ממש מתחת לשורה [Service...] הוספת זה עתה 'כונן פרטי. DriveOperations _drivePort = כונן חדש. DriveOperations ();'
- הוסף יציאה נוספת ממש מתחת לאותו אחד 'כונן פרטי.DriveOperations _driveNotify = כונן חדש. DriveOperations ();'
- יציאה זו תהיה המשמשת אותנו לטיפול בפועל בהודעות שנשלחות אלינו. זה מאפשר ל- _drivePort להיות חופשי בתדירות האפשרית
- 4עכשיו בואו נקשיב להודעות ההתראה של השותפים
- אנו רוצים שיציאת _driveNotify תשלח הודעות ל- _drivePort. אז, הוסף '_drivePort.Subscribe (_driveNotify);' מתחת 'base.Start ();' בפונקציה Start.
- כעת עלינו להוסיף פונקציה כדי להאזין להודעות שנכנסות ביציאת _driveNotify. הקוד שאנו מוסיפים מורכב למושג הפשוט שאנו רוצים להשיג. אבל זה מאפשר לזמן הריצה לסנכרן את העיבוד טוב יותר (ממה שאני מבין אותו לפחות)
- קוד בלוק 1
- התייחסנו באותו בלוק קוד לפונקציה בשם DriveUpdateHandler. הנה היישום. כל מה שהוא עושה זה להכניס את הרובוט למעגל רחב. זו לא הדרך הטובה ביותר לעשות זאת. אבל זה נותן לך הבנה מהירה של איך הכל מתחבר.
- קוד בלוק 2
- בנה את הפרויקט. זה צריך להתקבץ ולבנות בסדר גמור.
- 5עכשיו כשאנחנו מחוברים עם השותף כך שהוא יקשיב להודעת העדכון שאנו רוצים להתחבר לסביבת ההדמיה. לא ציינו במפורש שאנחנו מתחברים לסביבת הסימולציה בקוד שלנו. אז עלינו לעשות זאת במקום אחר. המקום הזה נמצא בתיק המניפסט. זה של פרויקט זה נקרא Simplest.manifest.xml. אנו רוצים לפתוח אותו בעורך המניפסט.
- מההתחלה, תוכניות, Microsoft Robotics Studio (1,5) מריצות את עורך המניפסט של Microsoft.
- לחץ על קובץ, פתח, בחר את קובץ המניפסט שלך C: \ Microsoft Robotics Studio (1,5) \ My \ Simplest \ Simplest.manifest.xml
- מצא את שירות מנוע הסימולציה מרשימת השירותים משמאל. הוסף אותו למניפסט שלך.
- כאשר ה- SimulationEngine נבחר במניפסט שלך, לחץ על הלחצן ייבא מצב התחלתי בחלון המאפיינים.
- שנה לתיקיית הדוגמאות \ config (C: \ Microsoft Robotics Studio (1,5) \ samples \ Config)
- שנה את סוג הקובץ לקובץ XML כלשהו
- בחר iRobot.Create.Simulation.xml
- זה יטען חבורה של ישויות סטנדרטיות (בלוקים וכאלה) וכן את היישות iRobot Create. זה נקרא IRobotCreateMotorBase
- כעת אנו בוחרים בשירות הפשוט ביותר בעורך המניפסט
- ואז מצא כונן דיפרנציאלי גנרלי מדומה ברשימת השירותים משמאל
- הוסף אותו לדיאגרמת המניפסט על ידי גרירתו על גבי ערך הכונן הפשוט ביותר במניפסט. זה יעשה שני דברים. הוסף את שירות SimulatedGenericDifferentialDrive ושייך אותו לשירות הכונן הפשוט ביותר. זו הסיבה שבחרנו ב- PartnerCreationPolicy.UsePartnerListEntry בהצהרה [Partner...] בקוד שלנו.
- הדבר היחיד שנותר הוא לשייך את שירות SimulatedGenericDifferentialDrive ליישות ממשית בתצורת SimulationEngine. אז לחץ על התייחסות הישות תחת SimulatedDifferentialDrive והגדר את המאפיין ישות סימולציה ל- 'http: // localhost / IRobotCreateMotorBase'.
- 6לחץ על f5. אני בשום פנים ואופן לא מומחה. לקח לי כמה שבועות להבין את הדברים האלה. ומכיוון שלבסוף חלקים אלה לחצו החלטתי לפרסם אותם לטובת כולם.
קרא גם: כיצד לאפס את הסיסמה ב- PS2 שלך?