ROBOWORKS-לאָגאָ

ROBOWORKS Robofleet מולטי-אַגענט אַלגערידאַמז

ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-PRODUCT

ספּעסאַפאַקיישאַנז

  • פּראָדוקט נאָמען: ROBOWORKS
  • ווערסיע: 20240501
  • צוגעגרייט דורך: Wayne Liu & Janette Lin
  • טאָג: 1 מאי 2024

פּראָדוקט אינפֿאָרמאַציע

ROBOWORKS איז אַ מאַלטי-אַגענט סיסטעם וואָס אַלאַוז די ימפּלאַמענטיישאַן פון פאַרשידן אַלגערידאַמז פֿאַר ראָבאָט קאָואָרדאַניישאַן און קאָמוניקאַציע.

FAQ

ק: וואָס זאָל איך טאָן אויב די ראָבאָט קען נישט אויטאָמאַטיש פאַרבינדן צו Wi-Fi?

א: אויב די ראָבאָט פיילז צו פאַרבינדן אויטאָמאַטיש, פּרוּווט אַנפּלאַגינג און ריפּלאַגינג די נעץ קאָרט און פּרווון צו פאַרבינדן ווידער.

קיצער

דער דאָקומענט דער הויפּט דערקלערט די נוצן פון די מאַלטי-ראָבאָט פאָרמירונג פונקציע פּעקל געהייסן wheeltec_multi.

דעם דאָקומענט איז צעטיילט אין פיר טיילן:

  • דער ערשטער טייל איז דער הויפּט וועגן די הקדמה פון די מאַלטי-ראָבאָט פאָרמירונג אופֿן;
  • דער צווייטער טייל באשרייבט דער הויפּט די ROS מולטי-מאַשין קאָמוניקאַציע סעטטינגס, אַרייַנגערעכנט ROS קאַנסטראַקשאַן מולטי-מאַשין קאָמוניקאַציע און די פראבלעמען וואָס קען זיין געפּלאָנטערט אין דעם פּראָצעס פון ROS קאָמוניקאַציע;
  • דער דריט טייל דער הויפּט באשרייבט די אָפּעראַציע סטעפּס פון מאַלטי-מאַשין צייט סינגקראַנאַזיישאַן;
  • דער פערט טייל דערקלערט די ספּעציפֿיש נוצן פון די מולטי-מאַשין פאָרמירונג פונקציע פּעקל.

דער ציל פון דעם דאָקומענט איז אַן הקדמה צו מאַלטי-אַגענט ראָובאַטיק סיסטעמען און אַלאַוז ניצערס צו אָנהייבן די מאַלטי-ראָבאָט פאָרמירונג פּרויעקט געשווינד.

הקדמה צו מולטי-אַגענט אַלגערידאַמז

מולטי-אַגענט פאָרמירונג אַלגערידאַמז

דעם ROS פּעקל גיט אַ טיפּיש פּראָבלעם פון מולטי-אַגענץ אין קאַלאַבערייטיוו קאָנטראָל בעשאַס אַ פאָרמירונג פאָר. דער טוטאָריאַל לייז אַ יסוד פֿאַר צוקונפֿט אַנטוויקלונג אויף דעם טעמע. די פאָרמירונג קאָנטראָל אַלגערידאַם רעפערס צו אַ אַלגערידאַם וואָס קאָנטראָלס קייפל אגענטן צו פאָרעם אַ ספּעציפיש פאָרמירונג צו דורכפירן אַ אַרבעט. מיטאַרבעט רעפערס צו די קוואַפּעריישאַן צווישן קייפל אגענטן ניצן אַ זיכער קאַנסטריינץ שייכות צו פאַרענדיקן אַ אַרבעט. נעמען די מולטי-ראָבאָט פאָרמירונג פאָר ווי אַן עקסampלע, מיטאַרבעט מיטל אַז קייפל ראָובאַץ פאָרעם אַ געוואלט פאָרמירונג צוזאַמען. זייַן עסאַנס איז אַ זיכער מאַטאַמאַטיקאַל שייכות וואָס איז צופֿרידן צווישן די שטעלעס פון יעדער ראָבאָט. פאָרמירונג מעטהאָדס זענען דער הויפּט צעטיילט אין סענטראַלייזד פאָרמירונג קאָנטראָל און פונאנדערגעטיילט פאָרמירונג קאָנטראָל. סענטראַלייזד פאָרמירונג קאָנטראָל מעטהאָדס דער הויפּט אַרייַננעמען די ווירטואַל סטרוקטור אופֿן, גראַפיקאַל טעאָריע אופֿן און מאָדעל פּרידיקטיוו אופֿן. פאַרשפּרייטונג פאָרמירונג קאָנטראָל מעטהאָדס דער הויפּט אַרייַננעמען אַ פירער-נאָכפאָלגער אופֿן, אַ נאַטור-באזירט אופֿן און אַ ווירטואַל סטרוקטור אופֿן.
דעם ROS פּעקל אַפּלייז די פירער-נאָכפאָלגער אופֿן אין די פונאנדערגעטיילט פאָרמירונג קאָנטראָל אופֿן צו ויספירן די מולטי-ראָבאָט פאָרמירונג פאָר. איין ראָבאָט אין דער פאָרמירונג איז דעזיגנייטיד ווי דער פירער, און אנדערע ראָובאַץ זענען דעזיגנייטיד ווי סלאַוועס צו נאָכפאָלגן די פירער. דער אַלגערידאַם ניצט די באַוועגונג טרייַעקטאָריע פון ​​די לידינג ראָבאָט צו שטעלן די קאָואָרדאַנאַץ צו זיין שפּירט דורך די פאלגענדע ראָובאַץ מיט אַ זיכער ריכטונג און גיכקייַט. דורך קערעקטינג די שטעלע דיווייישאַנז פון די טראַקינג קאָואָרדאַנאַץ, די אנהענגערס יווענטשאַוואַלי רעדוצירן די דיווייישאַן צווישן די נאכגייער און די דערוואַרט טראַקינג קאָואָרדאַנאַץ צו נול אין סדר צו דערגרייכן די אַבדזשעקטיווז פון די פאָרמירונג פאָר. אין דעם וועג, די אַלגערידאַם איז לעפיערעך ווייניקער קאָמפּליצירט.

שטערונג אויסמיידונג אַלגעריטמען

א פּראָסט שטערונג אַוווידיד אַלגערידאַם איז די קינסטלעך פּאָטענציעל פעלד אופֿן. די באַוועגונג פון די ראָבאָט אין אַ גשמיות סוויווע איז גערעכנט ווי אַ באַוועגונג אין אַ ווירטואַל קינסטלעך קראַפט פעלד. די ניראַסט שטערונג איז יידענאַפייד דורך LiDAR. די שטערונג גיט אַ ריפּאַלסיוו קראַפט פעלד צו דזשענערייט אָפּשטויסן צו די ראָבאָט און די ציל פונט גיט אַ גראַוויטיישאַנאַל פעלד צו דזשענערייט גראַוויטיישאַנאַל קראַפט צו די ראָבאָט. אין דעם וועג, עס קאָנטראָלס די באַוועגונג פון די ראָבאָט אונטער די קאַמביינד קאַמף פון אָפּשטויסן און אַטראַקשאַן.
דעם ROS פּעקל איז אַ פֿאַרבעסערונג באזירט אויף די קינסטלעך פּאָטענציעל פעלד אופֿן. פירסטלי, די פאָרמירונג אַלגערידאַם קאַלקיאַלייץ די לינעאַר און ווינקלדיק גיכקייַט פון די שקלאַף נאכגייער. דערנאָך עס ינקריסיז אָדער דיקריסאַז די לינעאַר און ווינקלדיק גיכקייַט לויט צו די רעקווירעמענץ צו ויסמיידן שטערונג. ווען דער דיסטאַנסע צווישן דעם שקלאַף חסיד און דער שטערונג איז נעענטער, די אָפּשטויסן קראַפט פון די שטערונג צו די שקלאַף חסיד איז גרעסער. דערווייַל, די ענדערונג פון די לינעאַר גיכקייַט און די ווינקלדיק גיכקייַט ווערייישאַנז זענען גרעסער. ווען דער שטערונג איז נעענטער צום פראנט פון דעם שקלאפער חסיד, ווערט גרעסער די דחיפה פון די שטערונג צום חסיד'ס שקלאַף (די פראנט-רעפאלס איז דער גרעסטער און די זייט-אפשטיג איז דער קלענסטער). ווי אַ רעזולטאַט, די ווערייישאַנז פון די לינעאַר גיכקייַט און די ווינקלדיק גיכקייַט זענען גרעסער. דורך די קינסטלעך פּאָטענציעל פעלד אופֿן, עס ימפּרוווז אַ לייזונג ווען אַ ראָבאָט קען האַלטן ריספּאַנדינג אין פראָנט פון אַ שטערונג. דאָס באדינט דער ציל פון בעסער ויסמיידן שטערונג.

מולטי-אַגענט קאָמוניקאַציע סעטאַפּ

מולטי-אַגענט קאָמוניקאַציע איז איינער פון די שליסל סטעפּס צו פאַרענדיקן אַ מולטי-ראָבאָט פאָרמירונג. ווען די קאָרעוו שטעלעס פון קייפל ראָובאַץ זענען אומבאַקאַנט, די ראָובאַץ דאַרפֿן צו טיילן יעדער אנדערע ס אינפֿאָרמאַציע דורך קאָמוניקאַציע צו פאַסילאַטייט די פאַרלייגן פון קאַנעקשאַנז. ROS-פאַרשפּרייטן אַרקאַטעקטשער און נעץ קאָמוניקאַציע זענען זייער שטאַרק. עס איז ניט בלויז באַקוועם פֿאַר ינטער-פּראָסעס קאָמוניקאַציע אָבער אויך פֿאַר קאָמוניקאַציע צווישן פאַרשידענע דעוויסעס. דורך נעץ קאָמוניקאַציע, אַלע נאָודז קענען לויפן אויף קיין קאָמפּיוטער. די הויפּט טאַסקס אַזאַ ווי דאַטן פּראַסעסינג זענען געענדיקט אויף דער באַלעבאָס זייַט. די שקלאַף מאשינען זענען פאַראַנטוואָרטלעך פֿאַר ריסיווינג ינווייראַנמענאַל דאַטן געזאמלט דורך פאַרשידן סענסאָרס. דער באַלעבאָס דאָ איז דער פאַרוואַלטער וואָס לויפט די האר נאָדע אין ROS. די קראַנט מולטי-אַגענט קאָמוניקאַציע פריימווערק איז דורך אַ נאָדע פאַרוואַלטער און אַ פּאַראַמעטער פאַרוואַלטער צו שעפּן קאָמוניקאַציע צווישן קייפל ראָובאַץ.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (1)

די סטעפּס צו שטעלן אַרויף מולטי-אַגענט קאָמוניקאַציע

  • באַשטעטיק ROS קאָנטראָלס אין דער זעלביקער נעץ
    • עס זענען 2 וועגן צו באַשטעטיקן Master / Slave ROS קאָנטראָלס אונטער דער זעלביקער נעץ.

אופֿן 1:

דער בעל האָסט קריייץ אַ היגע וויפי דורך לויפן די האר נאָדע פאַרוואַלטער. בכלל, איינער פון די ראָובאַץ וואָס איז דעזיגנייטיד ווי דער בעל קריייץ דעם וויפי נעץ. אנדערע ראָובאַץ אָדער ווירטואַל מאשינען פאַרבינדן דעם ווי-פי נעץ ווי סלאַוועס.

אָפּציעס 2:

די היגע ווי-פי נעץ איז צוגעשטעלט דורך אַ דריט-פּאַרטיי ראַוטער ווי אַ אינפֿאָרמאַציע רעלע צענטער. אַלע ראָובאַץ זענען קאָננעקטעד צו דער זעלביקער ראַוטער. דער ראַוטער קענען אויך זיין געוויינט אָן אַ אינטערנעט פֿאַרבינדונג. אויסקלייַבן איינער פון די ראָובאַץ ווי דער בעל און לויפן די בעל נאָדע פאַרוואַלטער. די אנדערע ראָובאַץ זענען דעזיגנייטיד ווי סלאַוועס און לויפן די בעל נאָדע פאַרוואַלטער פון די בעל.
דער באַשלוס אויף וואָס אָפּציע צו קלייַבן דעפּענדס אויף דיין פּרויעקט רעקווירעמענץ. אויב די נומער פון ראָובאַץ וואָס דאַרפֿן צו יבערגעבן איז נישט אַ גרויס סומע, אָפּציע 1 איז רעקאַמענדיד ווייַל עס סאַוועס קאָס און איז גרינג צו שטעלן אַרויף. ווען די נומער פון ראָובאַץ איז אַ גרויס קוואַנטיטי, אָפּציע 2 איז רעקאַמענדיד. די קאַנסטריינץ אויף די קאַמפּיוטינג מאַכט פון די ROS בעל קאָנטראָל און לימיטעד אַנבאָרד וויפי באַנדווידט קענען לייכט פאַרשאַפן דילייז און נעץ דיסראַפּשאַנז. א ראַוטער קענען לייכט פאַרריכטן די ישוז. ביטע טאָן אַז ווען פּערפאָרמינג מולטי-אַגענט קאָמוניקאַציע, אויב די ווירטואַל מאַשין איז געניצט ווי אַ ROS שקלאַף, זייַן נעץ מאָדע דאַרף זיין שטעלן צו בריק מאָדע.

קאַנפיגיער האר / שקלאַף סוויווע וועריאַבאַלז

נאָך אַלע די ROS הארן זענען אַלע אין דער זעלביקער נעץ, די סוויווע וועריאַבאַלז פֿאַר מולטי-אַגענט קאָמוניקאַציע מוזן זיין שטעלן. דער ינווייראַנמענאַל וועריאַבאַל איז קאַנפיגיערד אין די .באַשרק טעקע אין די הויפּט וועגווייַזער. לויפן די געדיט ~/.באַשרק באַפֿעל צו קאַטער עס. ביטע טאָן אַז ביידע די .באַשרק טעקעס פון די בעל און די שקלאַף אין מולטי-אַגענט קאָמוניקאַציע דאַרפֿן צו זיין קאַנפיגיערד. וואָס דאַרף זיין פארענדערט זענען די IP אַדרעסעס אין די סוף פון דער טעקע. די צוויי שורות פון זענען ROS_MASTER_URI און ROS_HOSTNAME, ווי געוויזן אין פיגורע 2-1-4. די ROS_MASTER_URI און ROS_HOSTNAME פון די ROS באַלעבאָס זענען ביידע היגע IP. די ROS_MASTER_URI אין די ROS שקלאַף .באַשרק טעקע דאַרף זיין געביטן צו די באַלעבאָס ס IP אַדרעס בשעת ROS_HOSTNAME בלייבט ווי אַ היגע IP אַדרעס.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (2)

ROS מולטי-מאַשין קאָמוניקאַציע איז נישט קאַנסטריינד דורך די ROS מעלדונג ווערסיע. אין דעם פּראָצעס פון מולטי-מאַשין קאָמוניקאַציע, איר זאָל זיין אַווער פון די פאלגענדע:

  1. די אָפּעראַציע פון ​​​​די ROS שקלאַף פּראָגראַם דעפּענדס אויף די ROS בעל פּראָגראַם פון די ROS בעל מיטל. די ROS בעל פּראָגראַם מוזן זיין קאַטער ערשטער אויף די בעל מיטל איידער עקסאַקיוטינג די שקלאַף פּראָגראַם אויף די שקלאַף מיטל.
  2. די IP אַדרעסעס פון די בעל און שקלאַף מאשינען אין מולטי-מאַשין קאָמוניקאַציע דאַרפֿן צו זיין אין דער זעלביקער נעץ. דעם מיטל אַז די IP אַדרעס און די סובנעט מאַסקע זענען אונטער דער זעלביקער נעץ.
  3. ROS_HOSTNAME אין דער סביבה קאַנפיגיעריישאַן טעקע .bashrc איז נישט רעקאַמענדיד צו נוצן לאָקאַלהאָסט. עס איז רעקאַמענדיד צו נוצן אַ ספּעציפיש IP אַדרעס.
  4. אין דעם פאַל אַז די שקלאַף IP אַדרעס איז נישט באַשטימט ריכטיק, די שקלאַף מיטל קענען נאָך אַקסעס די ROS בעל אָבער קען נישט אַרייַנשרייַב קאָנטראָל אינפֿאָרמאַציע.
  5. אויב די ווירטועל מאַשין פּאַרטיסאַפּייץ אין די מולטי-אַגענט קאָמוניקאַציע, זייַן נעץ מאָדע דאַרף זיין שטעלן צו בריק מאָדע. סטאַטיק IP קענען ניט זיין אויסגעקליבן פֿאַר די נעץ קשר.
  6. מולטי-מאַשין קאָמוניקאַציע קען נישט view אָדער אַבאָנירן צו טעמעס פון אָנזאָג דאַטן טיפּ וואָס טאָן ניט עקסיסטירן לאָוקאַלי.
  7. איר קענען נוצן די ליטטלע טורטלע סימיאַליישאַן דעמאָ צו באַשטעטיקן צי די קאָמוניקאַציע צווישן די ראָובאַץ איז געראָטן:
    • a. לויפן פון די בעל
      • ריסקאָרע #לאַונטש ROS באַדינונגס
      • ראַסטראָם טערטאַלז turtlesim_node # לאָנטש טערטאַלז צובינד
    • b. לויפן פון די שקלאַף
      • רירון טערטאַלז turtle_teleop_key # קאַטער קלאַוויאַטור קאָנטראָל נאָדע פֿאַר טערטאַלז

אויב איר קענען מאַניפּולירן די טשערעפּאַכע מווומאַנץ פון די קלאַוויאַטור אויף די שקלאַף, עס מיטל אַז די בעל / שקלאַף קאָמוניקאַציע איז געגרינדעט הצלחה.

אָטאַמאַטיק וויפי פֿאַרבינדונג אין ROS

די אונטן פּראָוסידזשערז דערקלערן ווי צו קאַנפיגיער די ראָבאָט צו אויטאָמאַטיש פאַרבינדן צו דער באַלעבאָס נעץ אָדער ראַוטער נעץ.

אָטאַמאַטיק Wi-Fi פֿאַרבינדונג סעטאַפּ פֿאַר Jetson Nano

  1. פאַרבינדן Jetson Nano דורך די VNC ווייַט געצייַג אָדער גלייַך צו די קאָמפּיוטער פאַרשטעלן. דריקט אויף די וויפי ייקאַן אין די שפּיץ רעכט ווינקל און גיט "רעדאַגירן קאַנעקשאַנז."ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (3)
  2. דריקט דעם + קנעפּל אין נעטוואָרק קאַנעקשאַנז:ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (4)
  3. אונטער די "קלייַבן אַ קאַנעקשאַן טיפּ" פֿענצטער, גיט די פאַל-אַראָפּ מעניו און גיט "שאַפֿן ..." קנעפּל:ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (5)
  4. אין די קאָנטראָל פּאַנעל, גיט Wifi אָפּציע. אַרייַן די Wifi נאָמען צו פאַרבינדן אין די "פאַרבינדונג נאָמען" און SSID פעלדער. סעלעקטירן "קליענט" אין "מאָדע" דראָפּדאָוון מעניו און סעלעקטירן "wlan0" אין די "מיטל" דראָפּדאָוון מעניו.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (6)
  5. אין קאָנטראָל פּאַנעל, גיט די "אַלגעמיינע" אָפּציע און טשעק "אָטאַמאַטיקלי פאַרבינדן צו דעם נעץ ...". שטעלן די קשר בילכערקייַט צו 1 אין די אָפּציע "פאַרבינדונג בילכערקייַט פֿאַר אַוטאָ-אַקטאַוויישאַן". קוק די "אַלע יוזערז קען פאַרבינדן צו דעם נעץ" אָפּציע. ווען די אָפּציע איז באַשטימט צו 0 אין "פֿאַרבינדונג בילכערקייַט פֿאַר אַוטאָ-אַקטאַוויישאַן" פֿאַר אנדערע ווי-פי, דאָס מיטל אַז דאָס איז די בילכער ווי-פי נעץ אין דער פאַרגאַנגענהייט.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (7)
  6. דריקט "Wi-Fi זיכערהייַט" אָפּציע אין קאָנטראָל פּאַנעל. סעלעקטירן "WPA & WPA2 פערזענלעכע" אין "סעקוריטי" פעלד. דערנאָך אַרייַן די Wi-Fi פּאַראָל אין "Password" פעלד.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (8)

באַמערקונג: אויב דער ראָבאָט קען נישט אויטאָמאַטיש פאַרבינדן צו די וויפי נעץ נאָך בוטינג ווען די וויפי בילכערקייַט איז באַשטימט צו 0, דאָס קען זיין געפֿירט דורך אַ פּראָבלעם פון אַ שוואַך וויפי סיגנאַל. אין סדר צו ויסמיידן דעם פּראָבלעם, איר קענען קלייַבן צו ויסמעקן אַלע די Wi-Fi אָפּציעס וואָס האָבן שוין קאָננעקטעד אין דער פאַרגאַנגענהייט. האַלטן בלויז די וויפי נעץ באשאפן דורך דער באַלעבאָס אָדער די ראַוטער. דריקט דעם "IPv4 סעטטינגס" אָפּציע אין די נעץ סעטטינגס קאָנטראָל טאַפליע. אויסקלייַבן די "מאַנואַל" אָפּציע אין די "מעטאָד" פעלד. דערנאָך גיט "לייג", פּלאָמבירן די IP אַדרעס פון די שקלאַף מאַשין אין "אַדרעס" פעלד. פּלאָמבירן אין "24" אין "נעטמאַסק" פעלד. פּלאָמבירן די IP נעץ אָפּשניט אין "גאַטעווייַ". טוישן די לעצטע דריי דידזשאַץ פון די IP נעץ אָפּשניט צו "1". דער הויפּט ציל פון דעם שריט איז צו פאַרריכטן די IP אַדרעס. נאָך דעם איז געענדיקט פֿאַר די ערשטער מאָל, די IP אַדרעס וועט בלייַבן אַנטשיינדזשד ווען קאַנעקטינג צו דער זעלביקער WIFI דערנאָך.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (9)

נאָך אַלע סעטטינגס זענען קאַנפיגיערד, גיט "היט" צו ראַטעווען די סעטטינגס. נאָך די שפּאָרן איז געראָטן, די ראָבאָט וועט אויטאָמאַטיש פאַרבינדן צו די נעץ פון דער באַלעבאָס אָדער ראַוטער ווען עס איז פּאַוערד אויף.

באַמערקונג:

  1. די IP אַדרעס שטעלן דאָ דאַרף זיין די זעלבע ווי די IP אַדרעס שטעלן אין די .bashrc טעקע אין אָפּטיילונג 2.1.
  2. די IP אַדרעס פון די בעל און יעדער שקלאַף מוזן זיין יינציק.
  3. די בעל און שקלאַף IP אַדרעסעס דאַרפֿן צו זיין אין דער זעלביקער נעץ אָפּשניט.
  4. איר מוזן וואַרטן ביז דער באַלעבאָס אָדער ראַוטער וועט שיקן WiFi סיגנאַל איידער די שקלאַף ראָבאָט קענען זיין פּאַוערד און אויטאָמאַטיש פאַרבינדן צו די WiFi נעץ.
  5. נאָך די באַשטעטיקן איז קאַנפיגיערד, אויב די ראָבאָט קענען נישט אויטאָמאַטיש פאַרבינדן צו די WiFi ווען עס איז אויסגעדרייט אויף, ביטע צאַפּן און אָפּשטעקן די נעץ קאָרט און פּרובירן צו פאַרבינדן ווידער.

אָטאַמאַטיק Wi-Fi פֿאַרבינדונג סעטאַפּ פֿאַר Raspberry Pi

דער פּראָצעדור פֿאַר Raspberry Pi איז די זעלבע ווי Jetson Nano.

אָטאַמאַטיק Wi-Fi פֿאַרבינדונג סעטאַפּ פֿאַר Jetson TX1

די סעטאַפּ אין Jetson TX1 איז כּמעט די זעלבע ווי אין Jetson Nano מיט איין ויסנעם, Jetson TX1 זאָל אויסקלייַבן די מיטל פון "wlan1" אין "Device" אין די נעץ סעטטינגס קאָנטראָל טאַפליע.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (10)

מולטי-אַגענט סינגקראַנאַזיישאַן סעטאַפּ

אין די מאַלטי-אַגענט פאָרמירונג פּרויעקט, די מאַלטי-אַגענט צייט סינגקראַנאַזיישאַן באַשטעטיקן איז אַ קריטיש שריט. אין דעם פּראָצעס פון די פאָרמירונג, פילע פּראָבלעמס וועט זיין געפֿירט רעכט צו דער ייסינגקראַנאַס סיסטעם צייט פון יעדער ראָבאָט. מאַלטי-אַגענט צייט סינגקראַנאַזיישאַן איז צעטיילט אין צוויי סיטואַטיאָנס, ניימלי, די סיטואַציע אין וואָס ביידע די בעל און שקלאַף ראָובאַץ זענען קאָננעקטעד צו די נעץ און די סיטואַציע אין וואָס ביידע זענען דיסקאַנעקטיד פון די נעץ.

געראָטן בעל / שקלאַף נעץ קשר

נאָך די מולטי-אַגענט קאָמוניקאַציע איז קאַנפיגיערד, אויב די בעל און שקלאַף מאשינען קענען הצלחה פאַרבינדן צו די נעץ, זיי וועלן אויטאָמאַטיש סינגקראַנייז נעץ צייט. אין דעם פאַל, קיין ווייַטער אַקשאַנז זענען פארלאנגט צו דערגרייכן צייט סינגקראַנאַזיישאַן.

טראָובלעשאָאָטינג נעץ דיס-קאַנעקשאַנז

נאָך די מולטי-אַגענט קאָמוניקאַציע איז קאַנפיגיערד, אויב די בעל און שקלאַף דעוויסעס קענען נישט פאַרבינדן צו די נעץ, עס איז נייטיק צו מאַניואַלי סינגקראַנייז די צייט. מיר וועלן נוצן די דאַטע באַפֿעל צו פאַרענדיקן די צייט באַשטעטיקן.

ערשטער, ינסטאַלירן די טערמינאַטאָר געצייַג. פֿון די טערמינאַטאָר געצייַג, נוצן די פֿענצטער ספּליטינג געצייַג צו שטעלן די קאָנטראָל טערמינאַלס פון די בעל און שקלאַף אין דער זעלביקער וואָקזאַל פֿענצטער (רעכט גיט צו שטעלן אַ שפּאַלטן פֿענצטער, און קלאָץ אין צו די בעל און שקלאַף מאשינען דורך ssh אין פאַרשידענע פֿענצטער) .

  • sudo apt-get install terminator # דאַונלאָוד טערמינאַטאָר צו שפּאַלטן די וואָקזאַל פֿענצטער

דריקט דעם קנעפּל אויף די שפּיץ לינקס, סעלעקטירן דעם אָפּציע [בראָדקאַסט צו אַלע] / [בראָדקאַסט אַלע], און אַרייַן די פאלגענדע באַפֿעל. דערנאָך נוצן די טערמינאַטאָר געצייַג צו שטעלן די זעלבע צייט פֿאַר די בעל און שקלאַף.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (11)

  • sudo date -s "2022-01-30 15:15:00" # מאַנואַל צייט סעטאַפּ

מולטי-אַגענט ראָס פּאַקקאַגע

ROS פּאַקקאַגע הקדמה

שטעלן אַרויף שקלאַף נאָמען

אין די wheeltec_multi פונקציע פּעקל, עס איז נייטיק צו שטעלן אַ יינציק נאָמען פֿאַר יעדער שקלאַף ראָבאָט אין סדר צו ויסמיידן ערראָרס. פֿאַר עקסample, נומ 1 פֿאַר סלאַוו 1 און נומ 2 פֿאַר סלאַוו 2, אאז"ו ו. פֿאַר עקסampלע, די ראַדאַר טעמע פון ​​שקלאַף 1 איז / שקלאַף 1 / יבערקוקן, און די LiDAR נאָדע פון ​​שקלאַף 1 איז / שקלאַף 1 / לאַזער.

שטעלן אַרויף שקלאַף קאָואָרדאַנאַץ

די wheeltec_multi פּעקל קענען ינסטרומענט מנהג פאָרמיישאַנז. ווען פאַרשידענע פאָרמיישאַנז זענען פארלאנגט, נאָר מאָדיפיצירן די געוואלט קאָואָרדאַנאַץ פון די שקלאַף ראָובאַץ. Slave_x און Slave_y זענען די X און Y קאָואָרדאַנאַץ פון די שקלאַף מיט די בעל ווי דער אָריגינעל רעפֿערענץ פונט. די פראָנט פון די בעל איז די positive ריכטונג פון די X קאָואָרדאַנאַט, און די לינקס זייַט איז די positive ריכטונג פון די י קאָואָרדאַנאַט. נאָך די באַשטעטיקן איז געענדיקט, אַ TF קאָואָרדאַנאַט סלאַווע1 וועט זיין ארויס ווי די דערוואַרט קאָואָרדאַנאַט פון די שקלאַף. אויב עס איז איין בעל און צוויי סלאַוועס, די פאלגענדע פאָרמירונג קענען זיין באַשטימט:

  1. האָריזאָנטאַל פאָרמירונג: איר קענען שטעלן די קאָואָרדאַנאַץ פון די שקלאַף אויף די לינקס צו Slave_x:0, Slave_y: 0.8, און די קאָואָרדאַנאַץ פון די שקלאַף אויף די רעכט צו Slave_X:0, Slave_Y:-0.8.
  2. זייַל פאָרמירונג: די קאָואָרדאַנאַץ פון איין שקלאַף קענען זיין באַשטימט צו: slave_x:-0.8, slave_y:0, און די קאָואָרדאַנאַץ פון די אנדערע שקלאַף קענען זיין שטעלן צו: slave_x:-1.8, slave_y:0.
  3. טרייאַנגגיאַלער פאָרמירונג: די קאָואָרדאַנאַץ פון איין שקלאַף קענען זיין באַשטימט צו: סלאַוו_קס:-0.8, סלאַווע_י: 0.8, און די קאָואָרדאַנאַץ פון די אנדערע שקלאַף קענען זיין באַשטימט צו: סלאַוו_קס:-0.8, סלאַוו_י: -0.8.

אנדערע פאָרמיישאַנז קענען זיין קאַסטאַמייזד ווי דארף.

באַמערקונג:

  • די רעקאַמענדיד ווייַטקייט צווישן די צוויי ראָובאַץ איז באַשטימט צו 0.8, און עס איז רעקאַמענדיד נישט צו זיין נידעריקער ווי 0.6. די דיסטאַנסע צווישן די סלאַוועס און די בעל איז רעקאַמענדיד צו שטעלן אונטער 2.0. וואס ווייטער עס איז פון דעם בעל, אלץ גרעסער איז די לינעארע שנעלקייט פונעם שקלאף ווען דער בעל דרייט זיך. רעכט צו דער באַגרענעצונג פון די מאַקסימום גיכקייַט, די גיכקייַט פון די שקלאַף וועט אָפּנייגן אויב עס טוט נישט טרעפן די באדערפענישן. די ראָבאָט פאָרמירונג וועט ווערן כאַאָטיש.

יניטיאַליזאַטיאָן פון די שקלאַף שטעלע

  1. דער ערשט שטעלע פון ​​די שקלאַף איז ביי די דערוואַרט קאָואָרדאַנאַץ דורך פעליקייַט. איידער איר לויפן די פּראָגראַם, נאָר שטעלן די שקלאַף ראָבאָט נאָענט צו זיין געריכט קאָואָרדאַנאַץ צו פאַרענדיקן די ינישאַליזיישאַן. די פֿונקציע איז ימפּלאַמענאַד דורך די פּאָזע_סעטטער נאָדע אין דער טעקע מיטן נאָמען turn_on_wheeltec_robot.launch אין די wheeltec_multi פּעקל, ווי געוויזן אין פיגורע 4-1-3.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (12)

אויב דער באַניצער וויל צו קאַסטאַמייז די ערשט שטעלע פון ​​די שקלאַף, ער אָדער זי נאָר דאַרפֿן צו שטעלן די סלאַוו_קס און סלאַוו_י וואַלועס ווי געוויזן אין פיגורע 4-1-4 אין wheeltec_slave.launch. די slave_x און slave_y וואַלועס וועט זיין דורכגעגאנגען צו turn_on_wheeltec_robot.launch און אַסיינד צו די פּאָזע_סעטטער נאָדע. נאָר שטעלן די ראָבאָט אין אַ מנהג שטעלע איידער איר לויפן די פּראָגראַם.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (13)

שטעלע קאָנפיגוראַטיאָן

אין אַ מולטי-אַגענט פאָרמירונג, דער ערשטער פּראָבלעם צו זיין סאַלווד איז די פּאַזישאַנינג פון די בעל און די שקלאַף. דער בעל וועט בויען אַ 2 ד מאַפּע ערשטער. נאָך קריייטינג און שפּאָרן די מאַפּע, לויפן די 2D נאַוויגאַציע פּעקל און נוצן די אַדאַפּטיוו Monte Carlo פּאַזישאַנינג אַלגערידאַם (אַמקל פּאַזישאַנינג) אין די 2D נאַוויגאַציע פּעקל צו קאַנפיגיער די פּאַזישאַנינג פון די בעל. זינט דער בעל און די סלאַוועס זענען אין דער זעלביקער נעץ און טיילן די זעלבע נאָדע פאַרוואַלטער, דער בעל האט לאָנטשט די מאַפּע פון ​​די 2D נאַוויגאַציע פּעקל, אַלע די סלאַוועס קענען נוצן די זעלבע מאַפּע אונטער דער זעלביקער נאָדע פאַרוואַלטער. דעריבער דאַרף דער שקלאַף נישט מאַכן אַ מאַפּע. אין wheeltec_slave.launch, לויפן Monte Carlo פּאַזישאַנינג (אַמקל פּאַזישאַנינג), די סלאַוועס קענען קאַנפיגיער זייער שטעלעס דורך ניצן די מאַפּע באשאפן דורך די בעל.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (14)

ווי צו שאַפֿן פאָרמירונג און טייַנען פאָרמירונג

אין דעם פּראָצעס פון פאָרמירונג באַוועגונג, די בעל באַוועגונג קענען זיין קאַנטראָולד דורך Rviz, קלאַוויאַטור, ווייַט קאָנטראָל און אנדערע מעטהאָדס. דער שקלאַף קאַלקיאַלייץ זיין גיכקייַט דורך די slave_tf_listener נאָדע אין סדר צו קאָנטראָלירן זיין באַוועגונג און דערגרייכן דעם ציל פון די פאָרמירונג. די slave_tf_listener נאָדע לימאַץ די שקלאַף גיכקייַט צו ויסמיידן יבעריק גיכקייַט דורך די נאָדע כעזשבן, וואָס וועט פאַרשאַפן אַ סעריע פון ​​ימפּאַקץ. די ספּעציפֿיש ווערט קענען זיין מאַדאַפייד אין wheeltec_slave.launch.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (15)

די באַטייַטיק פּאַראַמעטערס פון די פאָרמירונג אַלגערידאַם זענען ווי גייט: ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (16)

שטערונג אַוווידיד אינפֿאָרמאַציע

אין אַ מולטי-אַגענט פאָרמירונג, דער בעל קענען נוצן די מאָווע_באַסע נאָדע צו ויסמיידן שטערונג. אָבער, די יניטיאַליזאַטיאָן פון די שקלאַף טוט נישט נוצן די מאָווע_באַסע נאָדע. אין דעם פונט, די מולטי_אַוווידאַנס נאָדע דאַרף זיין גערופֿן אין די שקלאַף פּראָגראַם. די שטערונג אַוווידאַנס נאָדע איז ענייבאַלד דורך פעליקייַט אין דעם פּעקל. אויב נייטיק, אַוווידאַנס קענען זיין שטעלן צו "פאַלש" צו דיסייבאַל די שטערונג אַוווידאַנס נאָדע. ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (17)

עטלעכע באַטייַטיק פּאַראַמעטערס פון די שטערונג אַוווידאַנס נאָדע זענען געוויזן אין די פיגור אונטן, ווו סאַפע_דיסטאַנסע איז די שטערונג זיכער דיסטאַנסע שיעור, און דאַנגער_דיסטאַנסע איז די שטערונג געפערלעך דיסטאַנסע שיעור. ווען די שטערונג איז אין זיכער ווייַטקייט און געפאַר ווייַטקייט, די שקלאַף אַדזשאַסטיד זיין שטעלע צו ויסמיידן די שטערונג. ווען די שטערונג איז אין געפאַר, דער שקלאַף וועט פאָר אַוועק פון די שטערונג.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (18)

אָפּעראַציע פּראָצעדור

אַרייַן דורכפירונג באַפֿעל

פּרעפּעריישאַנז איידער סטאַרטינג מולטי-אַגענט פאָרמירונג:

  • דער בעל און שקלאַף פאַרבינדן צו דער זעלביקער נעץ און שטעלן מאַלטי-אַגענט קאָמוניקאַציע ריכטיק
  • דער בעל בויען אַ 2 ד מאַפּע אין שטייַגן און סאַוועס עס
  • דער בעל איז געשטעלט אין די סטאַרטינג פונט פון די מאַפּע, און די שקלאַף איז געשטעלט לעבן די יניטיאַליזאַטיאָן שטעלע (די פעליקייַט שטעלע פון ​​​​שלאַווע פאָרמירונג)
  • נאָך לאָגינג אין Jetson Nano / Raspberry Pi רימאָוטלי, דורכפירן צייט סינגקראַנאַזיישאַן.

סודאָ דאַטע -s "2022-04-01 15:15:00"

  • שריט 1: עפֿענען אַ 2 ד מאַפּע פֿון דער בעל.

ראָslaunch turn_on_wheeltec_robot navigation.launch

  • שריט 2: לויפן די פאָרמירונג פּראָגראַם פון אַלע די סלאַוועס.

roslaunch wheeltec_multi wheeltec_slave.launch

  • שריט 3: עפֿענען די קלאַוויאַטור קאָנטראָל נאָדע פון ​​די בעל אָדער נוצן די דזשויסטיק צו ווייַט קאָנטראָל די בעל באַוועגונג.

רילאַונץ wheeltec_robot_rc keyboard_teleop.launch

  • שריט 4: (אָפּטיאָנאַל) אָבסערווירן די ראָבאָט מווומאַנץ פון Rviz.

רוויז

באַמערקונג: 

  1. זייט זיכער צו פאַרענדיקן די צייט סינגקראַנאַזיישאַן אָפּעראַציע איידער עקסאַקיוטינג די פּראָגראַם.
  2. ווען קאַנטראָולינג די בעל פון אַ מולטי-אַגענט פאָרמירונג, די ווינקלדיק גיכקייַט זאָל נישט זיין צו שנעל. די רעקאַמענדיד לינעאַר גיכקייַט איז 0.2 ם / s, ווינקל גיכקייַט גראַד אונטער 0.3 ראַד / s. ווען דער בעל מאכט אַ קער, די ווייַטער די שקלאַף איז פון די בעל, די גרעסערע די לינעאַר גיכקייַט איז פארלאנגט. ווייַל פון די שיעור אויף די לינעאַר גיכקייַט און ווינקלדיק גיכקייַט אין דעם פּעקל, ווען די שקלאַף מאַשין קענען נישט דערגרייכן די פארלאנגט גיכקייַט, די פאָרמירונג וועט זיין כאַאָטיש. קוילעלדיק, די יבעריק לינעאַר גיכקייַט קענען לייכט שעדיקן די ראָבאָט.
  3. ווען די נומער פון סלאַוועס איז מער ווי איין, רעכט צו דער לימיטעד אויף-באָרד וויפי באַנדווידט פון די ROS באַלעבאָס, עס איז גרינג צו פאַרשאַפן באַטייטיק דילייז און דיסקאַנעקשאַן פון די מולטי-אַגענט קאָמוניקאַציע. ניצן אַ ראַוטער קענען סאָלווע דעם פּראָבלעם געזונט.
  4. דער טף בוים פון די מולטי-ראָבאָט פאָרמירונג (2 סלאַוועס) איז: rqt_tf_tree
  5. די נאָדע שייכות דיאַגראַמע פון ​​די מולטי-ראָבאָט פאָרמירונג (2 סלאַוועס) איז: rqt_graph

דאָקומענטן / רעסאָורסעס

ROBOWORKS Robofleet מולטי-אַגענט אַלגערידאַמז [pdfבאַניצער מאַנואַל
Robofleet מולטי אַגענט אַלגערידאַמז, ראָבאָפלעט, מולטי אַגענט אַלגערידאַמז, אַגענט אַלגערידאַמז, אַלגערידאַמז

רעפערענצן

לאָזן אַ באַמערקונג

דיין בליצפּאָסט אַדרעס וועט נישט זיין ארויס. פארלאנגט פעלדער זענען אנגעצייכנט *