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

ROS Melodic ב- Raspberry Pi 4 [דביאן באסטר] + RPLIDAR A1M8: 6 שלבים
ROS Melodic ב- Raspberry Pi 4 [דביאן באסטר] + RPLIDAR A1M8: 6 שלבים

וִידֵאוֹ: ROS Melodic ב- Raspberry Pi 4 [דביאן באסטר] + RPLIDAR A1M8: 6 שלבים

וִידֵאוֹ: ROS Melodic ב- Raspberry Pi 4 [דביאן באסטר] + RPLIDAR A1M8: 6 שלבים
וִידֵאוֹ: How to Install ROS Melodic on the Raspberry Pi OS - Buster! 2024, נוֹבֶמבֶּר
Anonim
Image
Image
ROS Melodic ב- Raspberry Pi 4 [דביאן באסטר] + RPLIDAR A1M8
ROS Melodic ב- Raspberry Pi 4 [דביאן באסטר] + RPLIDAR A1M8

מאמר זה יסקור את תהליך התקנת ROS Melodic Morenia ב- Raspberry Pi 4 המריץ את ה- Debian Buster האחרון וכיצד להשתמש ב- RPLIDAR A1M8 עם ההתקנה שלנו.

מאחר שדביאן באסטר שוחרר רשמית רק לפני מספר שבועות (נכון לרגע כתיבת מאמר זה), אין חבילות ROS שנבנו מראש להתקנה באמצעות apt-get, שהיא שיטת התקנה מועדפת. מכאן שנצטרך לבנות אותו מהמקור. תאמין לי, זה לא כל כך מפחיד כמו שזה נשמע. התהליך מתואר במדריך רשמי זה, אך כדי לבנות את ROS Melodic ב- Raspberry Pi נצטרך לבצע מספר שינויים.

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

עריכה בינואר 2020: מכיוון שעברה חצי שנה מאז שפרסמתי את המאמר הזה אולי היו כמה שינויים ב- ROS או באסטר. הכנתי תמונה ל- Raspberry Pi 4 לפני זמן מה, לאחר כתיבת הדרכה זו. תורם העלה אותו ל- Google Drive

עריכה באפריל 2020: מצאתי זמן לאחרונה לבצע מחדש את ההתקנה של ROS Melodic בתמונה החדשה ביותר של Raspbian מאתר הרשמי של Raspberry Pi. ערכתי את ההוראה בהתאם. יצרתי ושיתפתי תמונות נקיות ודחוסות:

Raspbian Buster Lite 2020-02-13 שחרור עם ROS Melodic Bare-bones צריך כרטיס SD של 8 GB

Raspbian Buster עם שולחן עבודה 2020-02-13 שחרור עם שולחן עבודה ROS Melodic צריך 16 GB כרטיס SD

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

שלב 1: התקנת תלות ב- Bootstrap והורדת החבילות

נתחיל בהקמת המאגרים והתקנת התלות הדרושות

sudo sh -c 'echo "deb https://packages.ros.org/ros/ubuntu $ (lsb_release -sc) main"> /etc/apt/sources.list.d/ros-latest.list'

sudo apt-key adv-keyserver 'hkp: //keyserver.ubuntu.com: 80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

עדכון sudo apt-get

sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake

לאחר מכן אתחל את rosdep ועדכן אותו

sudo rosdep init

עדכון rosdep

כשזה נעשה בואו ניצור סביבת עבודה ייעודית לבניית ROS ונעבור לספרייה הזו.

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

עכשיו יש לך שתי אפשרויות:

ROS -Comm: התקנה (Bare Bones) - התקן את זה אם אתה מכיר ROS ויודע מה אתה עושה ואילו חבילות תצטרך. אם אתה צריך חבילות שאינן כלולות ב- ROS-Comm, יהיה עליך לאסוף גם מהמקור.

התקנת שולחן עבודה: כוללת כלי GUI, כגון rqt, rviz וספרייות גנריות של רובוטים. אולי תהיה בחירה טובה יותר למתחילים ל- ROS.

אני אלך עם התקנת Desktop Install כאן.

rosinstall_generator שולחן עבודה --rosdistro melodic --deps-wet-only --tar> melodic-desktop-wet.rosinstall

wstool init -j8 src melodic-desktop-wet.rosinstall

הפקודה תיקח מספר דקות להורדת כל חבילות ה- ROS המרכזיות לתיקיית src.

אם wstool init נכשל או מופרע, תוכל להמשיך את ההורדה על ידי הפעלה:

עדכון wstool -j4 -t src

שלב 2: תקן את הבעיות

תקן את הבעיות
תקן את הבעיות

עריכה באפריל 2020: דלג על שלב זה, נראה שכל הבעיות תוקנו כעת

בואו להתקין את הגירסה התואמת של Assimp (Open Asset Import Library) כדי לתקן בעיה של תלות collada_urdf.

mkdir -p ~/ros_catkin_ws/external_src

cd ~/ros_catkin_ws/external_src

wget https://sourceforge.net/projects/assimp/files/assi… -O assimp-3.1.1_no_test_models.zip

לפתוח assimp-3.1.1_no_test_models.zip

cd assimp-3.1.1

cmake.

עשה

sudo עשה התקנה

בואו להתקין גם OGRE עבור rviz

sudo apt-get install libogre-1.9-dev

עדכון ינואר 2020: הבעיות ב- libbost כבר תוקנו על ידי מפתחי ROS, תוכל לדלג על חלק זה

/// דלג /// לבסוף נצטרך לתקן את הבעיות עם libboost. אני משתמש בפתרון מהפוסט הזה ב- stackoverflow:

השגיאות במהלך האספנות נגרמות על ידי הפונקציה 'boost:: posix_time:: milliseconds' שבגרסאות boost חדשות יותר מקבלת ארגומנט שלם בלבד, אך חבילת actionlib ב- ROS נותנת לה צף במספר מקומות. ניתן לרשום את כל הקבצים שימוש בפונקציה זו (! בתיקייה ros_catkin_ws!):

מצא -סוג f -print0 | xargs -0 grep 'boost:: posix_time:: milliseconds' | לחתוך -d: -f1 | מיין -u

פתח אותם בעורך הטקסט שלך וחפש את שיחת הפונקציה 'boost:: posix_time:: milliseconds'.

והחלפת שיחות כך:

boost:: posix_time:: מילי שניות (loop_duration.toSec () * 1000.0f));

עם:

boost:: posix_time:: מילי שניות (int (loop_duration.toSec () * 1000.0f)));

ואלו:

boost:: posix_time:: אלפיות השנייה (1000.0f)

עם:

boost:: posix_time:: אלפיות השנייה (1000)

אני ממליץ לך להשתמש בעורך טקסט ננו, שהוא פשוט יותר מ- VIM;) Ctrl+O חוסך, Ctrl+X יוצא ו- Ctrl+W מחפש.

/// המשך_ מכאן ///

שלב 3: בנה ומקור את ההתקנה

לאחר מכן אנו משתמשים בכלי rosdep להתקנת כל שאר התלות:

rosdep להתקין-מתוך נתיבים src --ignore-src --rosdistro melodic -y

לאחר השלמת הורדת החבילות ופתרון התלות אתה מוכן לבנות את חבילות ה- catkin. (הפעל פקודה זו מהתיקייה ros_catkin_ws)

sudo./src/catkin/bin/catkin_make_isolated -install -DCMAKE_BUILD_TYPE = שחרור -install -space/opt/ros/melodic -j2

אם תהליך האוסף קופא (סביר מאוד שאם תתקין את גרסת שולחן העבודה), עליך להגדיל את שטח ההחלפה הזמין. כברירת מחדל הוא 100 מגה -בתים, נסה להגדיל אותו ל -2048 מגה -בתים.

בהצלחה! כל תהליך האוסף לוקח כשעה (פחות לגרסת Bare-bones), אז לכו להכין תה.

כעת יש להתקין את ROS Melodic ב- Raspberry Pi 4. נביא את ההתקנה החדשה לפקודה הבאה:

הד "source /opt/ros/melodic/setup.bash" >> ~/.bashrc

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

שלב 4: התקן את חבילת RPLIDAR ROS

התקן את חבילת RPLIDAR ROS
התקן את חבילת RPLIDAR ROS

בואו ניצור סביבת עבודה נפרדת לחבילות אחרות, שאינן חלק מ- ROS הליבה.

ממך תיקיית הבית בצע:

mkdir -p ~/catkin_ws/src

cd ~/catkin_ws/

catkin_make

ולמקור אותו ל- bashrc:

הד "מקור $ HOME/catkin_ws/devel/setup.bash" >> ~/.bashrc

אוקיי, אנחנו מוכנים להתחיל להתקין את חבילת RPLIDAR ROS.

cd src

sudo git שיבוט

תקליטור..

catkin_make

המתן עד שאסוף החבילה יסתיים. נסה להפעיל את החבילה כדי לראות אם האוסף הצליח:

roslaunch rplidar_ros rplidar.launch

אם הוא לא פולט שגיאות, עשה ריקוד חגיגי מהיר (*אופציונלי).

עכשיו רק החלק האחרון חסר - מכיוון שאתה כנראה מפעיל את Raspberry Pi 4 במצב ללא ראש, איננו יכולים לדמיין הודעות לידר. לשם כך נצטרך להגדיר ROS להפעלה במספר מכונות.

שלב 5: הגדר את ROS להפעלה במכונות מרובות

הגדר ROS להפעלה במכונות מרובות
הגדר ROS להפעלה במכונות מרובות

עבור חלק זה תזדקק למחשב אובונטו 18.04 עם ROS Melodic מותקן. מכיוון שניתן להתקין את ROS של אובונטו פשוט באמצעות apt-get כפי שמתואר במדריך זה.

לאחר שהפעלת את התקנת ROS הן ב- Raspberry Pi והן במחשב השולחני שלך, בדוק את כתובות ה- IP של שתי המכונות. הם צריכים להיות באותה רשת!

הפעל את roscore במחשב השולחני שלך וייצא ROS_MASTER_URI

רוזקור

ייצא ROS_MASTER_URI = https:// [your-desktop-machine-ip]: 11311

הבא על פטל PI לבצע

ייצא ROS_MASTER_URI = https:// [your-desktop-machine-ip]: 11311

ייצא ROS_IP = [your-raspberry-pi-ip]

והפעל את קובץ ההשקה של RPILIDAR

roslaunch rplidar_ros rplidar.launch

אם הוא מופעל בהצלחה, בדוק את הנושאים הקיימים במחשב השולחני שלך עם רשימה rostopic

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

וואלה!

שלב 6: בוצע

בוצע!
בוצע!
בוצע!
בוצע!

מדריך זה יכול להיות צעד ראשון לקראת בניית רובוט ה- ROS שלך על גבי פטל 4. החדש של Raspberry Pi. התקנו את ROS Melodic והכנו את ההתקנה להפעלה ללא ראש והתחברות למכשיר השולחני שלנו ברשת אלחוטית לשלט רחוק.

השלבים הבאים תלויים בסוג הרובוט שאתה רוצה לבנות. אתה יכול להוסיף מנועים ואנקודרים לאודומטריה, מצלמת סטריאו ל- Visual SLAM ועוד כל מיני דברים מרגשים ושימושיים.

החומרה למאמר זה סופקה בחביבות על ידי Seeed studio. בדוק את Raspberry Pi 4, RPLIDAR A1M8 וחומרה אחרת ליצרנים בחנות הסטודיו Seeed!

הוסף אותי בלינקדאין אם יש לך שאלות והירשם לערוץ היוטיוב שלי כדי לקבל הודעה על פרויקטים מעניינים יותר הקשורים ללמידת מכונות ורובוטיקה.

מוּמלָץ: