شاید، به تعداد تولیدکنندگان ربات، زبان ربات وجود داشته باشد. هر سازنده ربات، زبان رباتیک خود را طراحی میکند و بنابراین، برای استفاده از هر ربات خاصی، باید برند زبان برنامهنویسی آن را فرا گرفت. بسیاری از زبانهای ربات، براساس زبانهای رایجی مانند پایتون، C#، C++ و غیره، هستند این در حالی است که زبانهای دیگر مستقل بوده و با هیچ زبان رایج دیگری، ارتباطی ندارند.
زبانهای رباتیک، بسته به طراحی و کاربردهایشان در سطح مختلفی از پیچیدگی، دسته بندی خواهند شد. این سطوح، از سطح ماشین تا سطح هوش انسانی پیشنهادی متغیر است. زبانهای سطح بالا یا مبتنی بر مفسر یا مبتنی بر کامپایلر هستند.
زبانهای مبتنی بر مفسر، در هر مرحله یک خط از برنامه را اجرا میکنند. هر خط از برنامه، یک شماره خط دارد. مفسر هربار که با خط مواجه میشود؛ آن را تفسیر میکند (مفسر برنامه ربات را به یک برنامه با زبان ماشین تبدیل میکند که پردازنده بتواند آن را بفهمد و اجرا کند) و هر خط را بهصورت متوالی اجرا میکند.
اجرای برنامه توسط مفسر تا زمانیکه با آخرین خط مواجه میشود یا تا زمانیکه خطایی تشخیص داده شود؛ ادامه مییابد و در این زمان، اجرا متوقف میشود. مزیت یک زبان مبتنی بر مفسر، در توانایی آن برای ادامهی اجرا تا زمانیکه خطا تشخیص داده شود؛ میباشد و به کاربر اجازه میدهد؛ برنامه را اجرا و بخش به بخش، اشکالزدایی کند. درنتیجه، اشکالزدایی یک برنامه، بسیار سریعتر و آسانتر است. با اینحال؛ به دلیل اینکه، هرخط هر بار تفسیر میشود؛ اجرا کند خواهد بود که خیلی کارآمد نیست. بسیاری از زبانهای ربات، مانند +OMRON Adept’s V، زبانهای مبتنی بر مترجم هستند.
زبانهای مبتنی بر کامپایلر، از یک کامپایلر برای ترجمه کل برنامه به زبان ماشین (که یک object code ایجاد میکند) قبل از اجرا استفاده میکنند. ازآنجاییکه، پردازنده object code را اجرا میکند؛ این برنامهها بسیار سریعتر و کارآمدتر هستند. با اینحال، ازآنجاییکه، ابتدا باید کل برنامه کامپایل شود؛ اجرای یک بخش از برنامه جهت جستوجوی وجود هرگونه خطا غیر ممکن خواهد بود. درنتیجه، اشکالزدایی یک برنامه، دشوارتر است.
در زیر، توضیحات کلی درمورد سطوح مختلف زبانهای رباتیک، ارائه شدهاست:
سطح زبان ماشین میکروکامپیوتر (Microcomputer machine language level)
زبان ماشین زبانی است که توسط کامپیوتر قابل درک است این در حالی است که درک آن برای کاربر بسیار دشوار است، اما این تنها چیزی است که کامپیوتر می تواند با آن کار کند. همه برنامهها و زبانهای برنامه نویسی در نهایت برنامهها را به زبان ماشین تولید یا اجرا میکنند. زبان ماشین از دستورالعملها و دادههایی که همگی اعداد باینری هستند تشکیل شده است. زبان ماشین معمولاً به شکل اعداد هگزادسیمال نمایش داده میشود تا خواندن آن کمی آسانتر باشد. زبان اسمبلی تقریباً مشابه زبان ماشین است، با این تفاوت که دستورالعملها، متغیرها و آدرس ها به جای اعداد هگز، دارای نام هستند.
سطح نقطه به نقطه (Point-to-point level)
در این سطح، مختصات نقاط بهصورت متوالی وارد میشود و ربات، نقاط را طبق آنچه مشخص شدهاست؛ دنبال میکند. این، یک نوع برنامهی بسیار ابتدایی و ساده است و استفاده از آن، آسان است؛ اما خیلی قدرتمند نیست. هنگامی که، یک کار (تسک) برنامهریزی میشود؛ میتوان آن را هر چند بار بدون دخالت اپراتور، تکرار کرد (مگر اینکه اتفاق غیرمنتظرهای رخ دهد). اشکالزدایی این برنامهها، نیز آسان است؛ زیرا آزمایش، دائما روی خود ربات، انجام میشود.
معایب آن عبارتند از: کمبودن یا عدم وجود انشعاب، تعامل بسیار کم حسگر، تاکید بر حرکت ربات بهجای انجام وظیفه، نداشتن نرمافزار برای رسیدگی به شرایط اضطراری و عدم قابلیت گسترش به برنامهنویسی آفلاین.
سطح برنامهنویسی ساختاریافته (Structured programming level)
بیشتر زبانهای این سطح، مبتنی بر کامپایلر هستند. قدرتمند بوده و اجازهی برنامهنویسی پیچیدهتری را میدهند. با اینحال، یادگیری آنها، نیز دشوارتر است.
زبانهای سطح بالا (High Level Languages)
زبانهای سطح بالا، مانند C،C++،JAVA و غیره، بیشتر شبیه به زبان انگلیسی هستند بنابراین، “فکرکردن” در زبان برنامهنویسی را برای برنامهنویسان، آسانتر میکنند. زبانهای سطح بالا نیز، قبل از اجرا، نیاز به ترجمه به زبان ماشین دارند. این ترجمه، توسط یک کامپایلر یا یک مترجم، انجام میشود. کامپایلرها، کل برنامه کد منبع را قبل از اجرا، ترجمه میکنند (بهعنوان مثال: C++ و JAVA). مترجمان، برنامههای کد منبع را، هربار یک خط، ترجمه میکنند( بهعنوان مثال: پایتون(Python). مفسرها تعامل بیشتری نسبت به کامپایلرها دارند.
سطح وظیفهگرا (Task-oriented level)
هنوز هیچ زبان واقعی در این سطح، وجود ندارد. AUTOPASS که توسط IBM در دههی 1980 پیشنهاد شد؛ هرگز محقق نشد. AUTOPASS قراربود وظیفهگرا باشد؛ به این معنی که بهجای برنامهریزی یک ربات برای انجام یک کار با برنامهنویسی هر مرحله، کاربر تنها وظیفه را ذکر میکرد و انتظار داشت که کنترلکننده، توالی و الگوریتم لازم جهت انجام فرآیند را ایجاد کند. تصورکنید که یک ربات، سه جعبه را براساس اندازه، مرتب کند. در تمام زبانهای موجود، برنامهنویس باید هر حرکت و هر مرحله را مشخص کند؛ از جمله نحوهی رفتن به بزرگترین جعبه، نحوه برداشتن جعبه، محل قراردادن آن برای یافتن جعبه بعدی و غیره، حتی اگر از سیستم بینایی یا سایر وسایل حسی استفاده شود. در AUTOPASS، کاربر فقط مرتبسازی را درخواست میکند؛ درحالیکه، کنترلکننده ربات، این دنباله را بهطور خودکار، برنامه ریزی و ایجاد میکند. این امر، هرگز، اتفاق نیفتاد. با ظهور رباتهای بیشتر از نوع انساننما، انتظار میرود، رباتها مکالمات با انسانها را درک کنند. اگرچه، ظهور آنها نزدیکتر میشود؛ اما هنوز به توسعه زیادی، نیاز دارند.