Wiki

(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

تثبيت بيئة ROS وإعدادها

Description: يساعدك هذا الدرس في تثبيت ROS، وفي تجهيز بيئة ROS على حاسوبك.

Tutorial Level: BEGINNER

Next Tutorial: التعرف على نظام ملفات ROS

ملاحظة: بشكل عام يعتبر هذا الموقع مخصصاً لنسخة ROS 1 الأولى فقط، أما من أجل توثيق ROS 2 فاستخدم الرابط موقع تثبيت ROS 2 (انكليزي).

تثبيت ROS

قبل بدء هذه الدروس يرجى إتمام التثبيت كما ورد في الرابط تعليمات تثبيت ROS.

ملاحظة: إذا ثبّت ROS من أحد برامج إدارة المكتبات مثل apt، عندها تكون المكتبات غير قابلة للكتابة للمستخدم العادي، ويفضل عدم التعديل فيها وترك مهمة تحديثها لمدير المكتبات المستخدم. أما عندما تعمل مع الرمازات المصدرية التي حملتها أو كتبتها بنفسك، فحينها يفضل أن تعمل في مجلد تمتلك صلاحيات الكتابة عليه، مثل مجلد البيت (Home).

إدارة بيئتك

أثناء تثبيتك لـROS، اضطررت للتصريح عن بعض ملفات setup.*sh أو إضافة التصريح source إلى ملف bashrc الذي ينفذ بشكل تلقائي عند فتح نافذة موجه أوامر جديدة. وهذا ضروري لتسهيل التفريق بين المشاريع المستخدمة ونسخ ROS المختلفة (إن وجدت أكثر من نسخة). إذا واجهتك مشكلة في إيجاد أو استخدام إحدى مكتبات ROS، فتأكد أولاً أن بيئتك مجهزة بشكل صحيح. مثلاً تأكد من متحولات البيئة وجذر ROS ومسار مكتبات ROS:

printenv | grep ROS

في حال لم تكن هذه المتحولات صحيحة فيجب التصريح عن ملفات setup.*sh المناسبة.

عادة ما تولد ملفات تجهيز البيئة بشكل تلقائي، من عدة مصادر:

installing.

ملاحظة: خلال الدروس القادمة في النسخ الانكليزية اعتمد على تنظيم العرض بحيث يسمح بالانتقال بسهولة بين طريقتي بناء المكتبات، الطريقة القديمة rosbuild والتي لم تعد مدعومة وبقيت للذاكرة فقط، والطريقة الجديدة catkin والتي يفضل استخدامها، أما في الدروس العربية فمن الأفضل الاكتفاء بالطريقة الجديدة catkin لأنها أسهل من حيث التعامل وقلة الأخطاء ولا تزال مدعومة، وكي لا يرتبك المبرمجون الجدد بين الأداتين، كما أنها تحترم قواعد CMAKE بشكل أفضل وتؤمن مرونة عالية لمكاملة عدة لغات وعدة ملفات من مبرمجين مختلفين، خصوصاً للمبرمجين الذين يرغبون باستخدام مكتبات خارجية، أو يرغبون بنشر مكتباتهم. لمقارنة دقيقة انظر الرابط (انكليزي) catkin أو rosbuild

في حال كنت قد ثبت ROS للتو على نظام Ubuntu باستخدام التعليمة apt، فعليك استخدام التعليمة التالية للتصريح عن محتويات الملف setup.bash:

source /opt/ros/<distro>/setup.bash

مستخدماً الاسم المختزل لنسخة ROS المثبتة <distro>، مثل noetic إن كنت قد ثبت نسخة Noetic:

source /opt/ros/noetic/setup.bash

ويجب تنفيذ هذه التعليمة في كل نافذة موجه أوامر تفتحها لاستخدام ROS، أو يمكن إضافتها إلى الملف .bashrc. تسمح هذه الآلية بتثبيث عدة توزيعات من ROS على جهاز واحد والتنقل بينها بسهولة حسب الحاجة.

عند استخدام منصات أخرى ستجد ملفات setup.*sh في المكان الي تم فيه تثبيت ROS.

إنشاء فضاء عمل ROS

هذا التوثيق من أجل ROS Groovy وما بعده، في حال استخدام النسخ القديمة من ROS استخدم rosbuild.

هيا ننشئ ونبني فضاء عمل catkin:

mkdir -p ~/catkin_ws/src

cd ~/catkin_ws

catkin_make

  1. في السطر الأول أنشأنا مجلداً مساره ~/catkin_ws/src.
  2. في السطر الثاني انتقلنا إلى داخل المجلد الجديد.
  3. في السطر الثالث نفذنا التعليمة catkin_make.

تعتبر التعليمة catkin_make أداة قوية للعمل مع فضاءات عمل catkin. بمجرد استخدامها للمرة الأولى في فضاء عملك فإنها تنشئ ملف CMakeLists.txt داخل مجلد المصادر 'src'. وهذا الملف مفيد في تحديد المكتبات المستخدمة وربط مختلف أجزاء المكتبات.

ملاحظة من أجل مستخدمي Python 3 مع ROS Melodic وما قبله: لضمان التوافقية مع Python3 حيث كانت النسخ القديمة من ROS تستخدم Python 2 بشكل افتراضي، فيجب تجهيز البيئة لتضمن مكتبات Python المناسبة، فيجب أن تكون أول تعليمة catkin_make مستخدمة في فضاء عمل نظيف فضاء عمل catkin هي:

catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3

هذه التعليمة تعد catkin_make مع لغة Python 3. بعدها يمكنك المتابعة بشكل اعتيادي مع catkin_make أثناء البناء أي تستدعي فقط التعليمة:

catkin_make

الآن عند النظر إلى محتويات مجلد فضاء العمل، فإنك ستجد مجلداً جديداً اسمه 'build'، وهو ملف البناء الي أنشأته تعليمة catkin. ومجلداً آخر اسمه 'devel' وهو ملف يحوي النسخ التنفيذية للمكتبات التي لم بنائها و ملفات setup.*sh المناسبة لجهازك. يؤدي التصريح عن الملف المناسب لجهازك منها إلى إشاعة فضاء عملك ليفهم من قبل بيئة ROS بشكل جيد، وتعطيك إمكانية ربط عدة فضاءات عمل، وإمكانية استخدام التكميل التلقائي للتعليمات. لذلك وقبل المتابعة يجب التصريح عن محتويات الملف setup.bash باستخدام التعليمة:

source devel/setup.bash

للتأكد من أن فضاء عملك قد أُعد بشكل جيد بملفات التجهيز المناسبة، فيجب على متحول البيئة ROS_PACKAGE_PATH أن يحوي المجلد 'devel'.

echo $ROS_PACKAGE_PATH

  • /home/youruser/catkin_ws/src:/opt/ros/noetic/share

أخيراً وبعد الانتهاء من تجهيز البيئة، تابع مع درس نظام ملفات ROS.

Wiki: ar/ROS/Tutorials/InstallingandConfiguringROSEnvironment (last edited 2022-06-14 07:31:23 by NadimArubai)