3- استفاده از کتابخانه مشتری رآس

در فصل قبل مفاهیم مختلف رآس مانند تاپیک­ها، سرویس­ها، پیام­ها، و غیره را پوشش دادیم. خوب، چگونه این مفاهیم را اجرا کنیم؟ پاسخ با استفاده از کتابخانه‌های مشتری[11] رآس است. کتابخانه‌های مشتری رآس مجموعه‌ای از کدها با توابعی برای پیاده­سازی مفاهیم رآس  هستند. به راحتی می‌توانیم این توابع کتابخانه را در کدمان اضافه کنیم تا یک گره رآس ایجاد کنیم. کتابخانه مشتری باعث صرفه­جویی زمان توسعه می‌شود زیرا توابع پیش­ساخته را برای ایجاد یک برنامه رآس تامین می‌کند.

گره‌های رآس را می‌توانیم در هر زبان برنامه نویسی بنویسیم. اگر مشتری رآس برای آن زبان برنامه نویسی وجود داشته باشد، نوشتن گره‌های رآس ساده­تر می­شود؛ در غیر این صورت، ممکن است نیاز باشد مفاهیم رآس را خودمان پیاده­سازی کنیم.

کتابخانه‌های مشتری رآس اصلی در ادامه می آیند.

  • roscpp : کتابخانه مشتری رآس برای C++ است. به دلیل عملکرد بالا به طور وسیعی جهت توسعه برنامه‌های کاربردی رآس استفاده می‌شود.
  • rospy : کتابخانه مشتری رآس برای پایتون[12] است. مزیت آن صرفه­جویی در زمان توسعه است. توسط آن می‌توانیم گره رآس را در زمان کمتری نسبت به roscpp ایجاد کنیم و برای نمونه­سازی سریع برنامه‌های کاربردی ایده آل است، اما عملکردش نسبت به roscpp ضعیف­تر است. اکثر ابزارهای خط‌فرمان در رآس مانند roslaunch، roscore و غیره با استفاده از rospy کدگذاری می‌شوند.
  • roslisp: کتابخانه مشتری رآس برای زبان Lisp است و عمدتا در کتابخانه‌های تولید مسیر[13] رآس استفاده می‌شود، اما به محبوبیت roscpp و rospy نیست.

کتابخانه‌های مشتری آزمایشی مانند rosjava، rosnodejs، و roslua نیز وجود دارند. لیست کاملی از کتابخانه‌های مشتری رآس در ویکی رآس[14] موجود است.

ما عمدتا با roscpp و rospy کار می‌کنیم. در بخش بعد چند مثال ابتدایی از گره‌های رآس ایجاد شده با استفاده از roscpp و rospy ارائه می­شود.

[11] ROS client libraries

[12] http://wiki.ros.org/rospy

[13] Motion planning

[14] http://wiki.ros.org/Client٪20Libraries