(!) 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 المناسبة.

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

  • حزم ROS المثبتة باستخدام مدير مكتبات.
  • بعد بناء الرمازات بطريقة rosbuild باستخدام التعليمة rosws ، انظر فضاءات عمل rosbuild.

  • عند بناء الرمازات بطريقة catkin باستخدام التعليمة catkin_make ، انظر building والتعليمة catkin_make install، انظر

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

When working with ROS source code, it is often useful to do so in a "workspace". For the following ROS tutorials you will need an area for working on tutorials and creating new ROS stacks and packages.

rosws is a tool that provides a uniform interface to various version control systems such as SVN, Git and Mercurial and for managing all packages installed in a ROS overlay. An extensive tutorial on rosws can be found here.

Creating a new workspace

The following command creates a new workspace in ~/fuerte_workspace which extends the set of packages installed in /opt/ros/fuerte:

rosws init ~/fuerte_workspace /opt/ros/fuerte

Note: rosws is part of the rosinstall package, which is not installed by default. The following command downloads it using the Ubuntu package manager:

sudo apt-get install python-rosinstall

Creating a sandbox directory for new packages

New packages need to be put in a path that is in the variable ROS_PACKAGE_PATH. All directories that are managed by rosws, i.e. that have been added using rosws are automatically added to the ROS_PACKAGE_PATH when the file setup.bash of the corresponding workspace is sourced. Although new packages should always be put in repositories that have been installed using rosws, it can be very convenient to have a sandbox directory where for instance packages created during the tutorials can be put without requiring any additional rosws commands. For that we create a new directory sandbox and add it to the hidden .rosinstall file with rosws:

mkdir ~/fuerte_workspace/sandbox
rosws set ~/fuerte_workspace/sandbox

Every time the entries in the workspace change, it is necessary to re-source ~/fuerte_workspace/setup.bash to make sure that the updated ROS_PACKAGE_PATH is used.

source ~/fuerte_workspace/setup.bash

It is very common to replace the line source /opt/ros/fuerte/setup.bash to source the setup.bash in ~/fuerte_workspace or whichever workspace you use most often.

A more complete ROS Workspace tutorial can be found here.

Confirmation

To confirm that your package path has been set, echo the ROS_PACKAGE_PATH variable.

$ echo $ROS_PACKAGE_PATH

You should see something similar to:

/home/your_user_name/fuerte_workspace/sandbox:/opt/ros/fuerte/share:/opt/ros/fuerte/stacks

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

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