the_Need_For_Robotics_Standards_ros

استاندارد های ROS

از آنجایی که ROS بر اساس همکاری بین گروهی ایجاد شده برای هماهنگی بین این گروه ها یکسری استاندارد و قوانین گذاشته شده تا کار را برای ما و دیگران اسان تر شود.

واحد های استاندارد

ROS نیز مانند بیشتر دنیا از واحد های SI پیروی می کند. برای مثال زمان به ثانیه ، وزن به کیلوگرم‌ ، فاصله به متر و غیره. همچنین واحد های دیگر ترکیبی از واحد های اصلی می باشند مثلا سرعت به متر/ثانیه می باشد.

جدول زیر برخی از واحد های استاندارد را شامل می شود

کمیت واحد کمیت واحد
طول متر فرکانس هرتز
وزن کیلوگرم نیرو نیوتن
زمان ثانیه توان وات
جریان آمپر ولتاژ ولت
زاویه رادیان دما سلسیوس

مختصات

X , Y و Z در ROS  از قانون دست راست پیروی می کند. همان طور که در تصویر می بینید جلو دست برابر با x است (رنگ قرمز) ، کف دست برابر با Y (رنگ سبز) و انگشت شست Z (رنگ آبی) را نشانه رفته است.

همچین شما می توانید از قانون دست راست برای چرخش های ربات خود استفاده کنید. جهتی که دست راست شما می پیچد مثبت است (شکل). برای مثال اگر دست شما از ساعت ۱۲ به ۹ بچرخد در واحد رادیان دست شما +1.5708 چرخش داشته است.

قوانین برنامه نویسی

توصیه ROS برای توسعه دهندگان برنامه نویسی به یک شیوه خاص برای افزایش قابلیت استفاده مجدد کد ها می باشد. این کار باعث می شود خواندن کد های شما برای دیگران راحت تر شود و همچنین زمان کمتری برای فهمیدن کد های منبع باز صرف خواهید کرد.

نکته: قوانین نام گذاری برای زبان های C++ و python زده شده است و سایر زبان ها نیز مشابه می باشد

 

نوع قانون نام گذاری مثال
Package under_scored first_ros_package
Topic, Service under_scored raw_image
File under_scored turtlebot3_fake.cpp

نکته: فایل های messages, services and action که در پوشه های /msg  و /srv هستن از قانون CamelCased پیروی می کنند

Namespace under_scored ros_awesome_package
Variable under_scored string table_name;
Type CamelCased typedef int32_t PropertiesNumber;
Class CamelCased class UrlTable
Structure CamelCased struct UrlTableProperties
Enumeration Type CamelCased enum ChoiceNumber
Function camelCased addTableEntry();
Method camelCased void setNumEntries(int32_t num_entries)
Constant ALL_CAPITALS const uint8_t DAYS_IN_A_WEEK = 7;
Macro ALL_CAPITALS #define PI_ROUNDED 3.0

 

منبع: کتاب ROS Robot Programming

نظر خود را بگویید

آدرس ایمیل شما منتشر نخواهد شد. قسمت های مورد نیاز علامت گذاری شده است *