URBI
উরবি একটি ওপেন-সোর্স ক্রস-প্ল্যাটফর্ম সফ্টওয়্যার কম্পিউটিং প্ল্যাটফর্ম যা সি + + এ লেখা হয়েছে যা রোবোটিক্স এবং জটিল সিস্টেমের জন্য অ্যাপ্লিকেশন বিকাশ করতে ব্যবহৃত হয়। উরবি ইউওবজেক্ট ডিস্ট্রিবিউটেড সি + + কম্পোনেন্ট স্থাপত্যের উপর ভিত্তি করে তৈরি। এটিতে আরবিস্ক্রিপ্ট অর্কেস্ট্রেশন ভাষাও অন্তর্ভুক্ত রয়েছে যা একটি সমান্তরাল এবং ইভেন্ট-চালিত স্ক্রিপ্ট ভাষা। ইউওবজেক্ট উপাদানগুলি আরবিস্ক্রিপ্টে প্লাগ করা যেতে পারে এবং স্থানীয় বস্তু হিসাবে প্রদর্শিত হতে পারে যা তাদের মিথস্ক্রিয়া এবং ডেটা বিনিময় নির্দিষ্ট করার জন্য স্ক্রিপ্ট করা যেতে পারে। ইউওবজেক্টগুলি আরবিস্ক্রিপ্ট ইন্টারপ্রেটারের সাথে সংযুক্ত করা যেতে পারে, অথবা "রিমোট" মোডে স্বায়ত্তশাসিত প্রক্রিয়া হিসাবে কার্যকর করা যেতে পারে। আরবিস্ক্রিপ্ট ভাষা 2003 সালে প্যারিসের ই. এন. এস. টি. এ-র কগনিটিভ রোবোটিক্স ল্যাবে জিন-ক্রিস্টোফ বেইলি দ্বারা তৈরি করা হয়েছিল। 2006 সালে প্রতিষ্ঠিত গোস্তাই কোম্পানির মাধ্যমে এই শিল্পে এটি সক্রিয়ভাবে এবং আরও উন্নত হয়েছে। এটি এখন একটি মুক্ত উৎস প্রকল্প, একটি বিএসডি লাইসেন্স সহ, যা গিটহাব-এ উপলব্ধ। আরবিস্ক্রিপ্ট ভাষাকে অর্কেস্ট্রেশন স্ক্রিপ্ট ভাষা হিসাবে সর্বোত্তমভাবে বর্ণনা করা যেতে পারেঃ ভিডিও গেমগুলিতে লুয়ার মতো, আরবিস্ক্রিপ্টকে সি + + উপাদানগুলিকে একটি কার্যকরী আচরণে আঠালো করতে ব্যবহার করা যেতে পারে, সিপিইউ-নিবিড় অ্যালগরিদমিক অংশটি সি + + এ ছেড়ে দেওয়া হয় এবং আচরণ স্ক্রিপ্টিং অংশটি স্ক্রিপ্ট ভাষায় ছেড়ে দেওয়া হয় যা আরও নমনীয়, বজায় রাখা সহজ এবং প্রোগ্রাম সম্পাদনের সময় গতিশীল মিথস্ক্রিয়ার অনুমতি দেয়। একটি অর্কেস্ট্রেশন ভাষা হিসাবে, আরবিস্ক্রিপ্ট ভাষার শব্দার্থবিজ্ঞানের অংশ হিসাবে সমান্তরালতা এবং ইভেন্ট-ভিত্তিক প্রোগ্রামিং করে একটি প্রোগ্রামে কিছু দরকারী বিমূর্ততাও নিয়ে আসে। সমান্তরাল আচরণের স্ক্রিপ্টিং এবং ঘটনাগুলির প্রতিক্রিয়া বেশিরভাগ রোবোটিক এবং জটিল এআই অ্যাপ্লিকেশনের মূল প্রয়োজনীয়তা, তাই আরবিস্ক্রিপ্ট (এবং পুরো উরবি প্ল্যাটফর্ম) এই ধরনের অ্যাপ্লিকেশনের জন্য উপযুক্ত। ভাষার বৈশিষ্ট্যগুলি সমান্তরালতা এবং ইভেন্ট-ভিত্তিক প্রোগ্রামিং প্রোটোটাইপ-ভিত্তিক প্রোগ্রামিং সি + + যেমন সিনট্যাক্স জাভা এবং সি + + ভিত্তিক কম্পোনেন্ট আর্কিটেকচার (ইউওবজেক্ট) বস্তুগুলিকে লিঙ্ক করার বা দূরবর্তী ক্লায়েন্ট-সার্ভার মডেল আর্কিটেকচার ক্রস প্ল্যাটফর্মঃ লিনাক্স, ম্যাকিনটোস, উইন্ডোজ, অন্যান্য চালানোর সম্ভাবনা সহ। এমবেডেবল, উরবি বিভিন্ন প্রসেসরে চলতে পারেঃ x86, এআরএম, এমআইপিএস, পাওয়ারপিসি ইত্যাদি। "ট্যাগ"-এর মাধ্যমে কাজ নিয়ন্ত্রণ ফাংশন সমান্তরাল প্রোগ্রামিং এবং ইভেন্ট-চালিত প্রোগ্রামিং প্রোটোটাইপ সি + + আর্কিটেকচার উপাদানগুলির অনুরূপ সিনট্যাক্সঃ সি + +, জাভা (ইউওবজেক্ট) অবজেক্ট লিঙ্ক করার বা দূরবর্তী ক্লায়েন্ট-সার্ভার মডেল চালানোর ক্ষমতা সহ গ্রাহকদের সাথে ইন্টারফেস জাভা এবং ম্যাটল্যাব (উরবি এসডিকে) একাধিক প্ল্যাটফর্মঃ লিনাক্স, ম্যাকোস, উইন্ডোজ এনটি এবং এমবেডেড এনভায়রনমেন্ট (x86, এআরএম, এমআইপিএস, পাওয়ারপিসি) তাদের নিয়ন্ত্রণের জন্য অর্ডার চিহ্নিত করা যাতে রোবোট অপারেটিং সিস্টেমের (আরওএস) অ্যাসিঙ্ক্রোনাস ইন্টিগ্রেশন সরাসরি আরবিস্ক্রিপ্ট থেকে অ্যাক্সেসযোগ্য (সংস্করণ 2.1) উদাহরণ নীচের উদাহরণটি দেখায় কিভাবে আরবিস্ক্রিপ্টে একটি বল ট্র্যাকিং অ্যাকশন/উপলব্ধি লুপ লিখতে হয়ঃ & চিহ্নটি নির্দিষ্ট করতে ব্যবহৃত হয় যে উভয় কমান্ড একই সময়ে শুরু হওয়া উচিত, এইভাবে সমান্তরালভাবে চলছে। অন্যান্য উল্লেখযোগ্য ইভেন্ট-চালিত গঠনগুলির মধ্যে রয়েছে অ্যাট, যা ইভেন্টটি ট্রিগার হওয়ার সময় একবার সম্পর্কিত কোডটিকে ট্রিগার করেঃ অ্যাট (speech.hear? ("হ্যালো")) {voice.say ("আপনি কেমন আছেন?") & robot.standup ();} প্রতিটি কমান্ড বা কমান্ডের গ্রুপ ট্যাগযোগ্য, যা প্রয়োজনে পরে এটি বন্ধ করার একটি উপায় প্রদান করেঃ মাইট্যাগঃ ওয়াইল (সত্য) ইকো ("এটি একটি কখনও শেষ না হওয়া লুপ"), এ (button.pressed) myTag.stop; কমান্ডের শেষে কমা উপরের উদাহরণে নোট করুন। এটি পূর্ববর্তী কমান্ডটিকে ব্যাকগ্রাউন্ডে রাখবে, যা ফ্লো এক্সিকিউশন চালিয়ে যাওয়ার অনুমতি দেবে, বিশেষ করে পরবর্তী 'অ্যাট' কমান্ডটি কার্যকর করার অনুমতি দেবে। ইউওবজেক্ট কম্পোনেন্ট আর্কিটেকচার ইউওবজেক্ট কম্পোনেন্ট আর্কিটেকচার ডেভেলপারদের উরবির মধ্যে যে কোনও জাভা/সি + + অবজেক্টকে ইন্টারফেস করার অনুমতি দেয়, নির্বাচিত পদ্ধতি এবং বৈশিষ্ট্যগুলি আরবিস্ক্রিপ্টে দৃশ্যমান করে তোলে, যদিও প্রকৃতপক্ষে কোড সংকলিত হয়। আরবিস্ক্রিপ্ট/উরবি দিকে এই বৈশিষ্ট্যগুলির যে কোনও পরিবর্তনের সি + + দিককে অবহিত করার জন্য বস্তুর যে কোনও বৈশিষ্ট্যের উপর বিশেষ বিজ্ঞপ্তি স্থাপন করা যেতে পারে। ইউওবজেক্ট সি + + টেমপ্লেট ব্যবহার করে যে কোনও অনুরোধকৃত পদ্ধতিকে স্বচ্ছভাবে একটি ইন্টারফেস যন্ত্রের সাথে ম্যাপ করে যা টাইপ চেকিংয়ের যত্ন নেয়। একটি ইউওবজেক্ট প্লাগ মোডে ব্যবহার করা যেতে পারে যদি এটি সংকলনের সময় বা গতিশীল লোডিংয়ের সাথে সরাসরি আরবির সাথে সংযুক্ত থাকে। সেক্ষেত্রে, সি + + অবজেক্ট সরাসরি উরবি মেমোরি ভাগ করে নেয়, যার ফলে দক্ষ ইন্টিগ্রেশন হয়। এটি সাধারণত মোটর বা সেন্সর ড্রাইভারের মতো সময়ের গুরুত্বপূর্ণ উপাদানগুলির জন্য ব্যবহৃত হয়। একই UObject একটি দূরবর্তী উপাদান হিসাবে পরিবর্তন ছাড়াই ব্যবহার করা যেতে পারে। সেক্ষেত্রে, এটি একটি প্যারামিটার হিসাবে উরবি সার্ভারের আইপি অ্যাড্রেস দিয়ে কার্যকর করা একটি স্বায়ত্তশাসিত প্রোগ্রামে পরিণত হবে। উভয় ক্ষেত্রেই, বস্তুটি স্বচ্ছভাবে আরবিস্ক্রিপ্টে একটি নেটিভ আরবিস্ক্রিপ্ট বস্তু হিসাবে উপস্থিত হবে। উরবি ওয়েবটসের সাথে সামঞ্জস্যপূর্ণ ইকোসিস্টেম রোবোটিক্স সিমুলেটর হল উরবির সাথে সামঞ্জস্যপূর্ণ অফিসিয়াল রোবট সিমুলেটর। প্লেয়ার/স্টেজ ইন্টিগ্রেশনের খবর পাওয়া গেছে, যদিও এটি বর্তমানে মুক্তি পায়নি। উরবি-যুক্ত রোবট মুক্তি পেয়েছেঃ গোস্তাই ওপেন জ্যাজ সেগওয়ে পিটি আইবো ইআরএস-7/ইআরএস-2এক্সএক্স (উরবি 1. এক্স শুধুমাত্র, উরবি 2.3 আলফা হিসাবে উপলব্ধ) আইরোবট লেগো মাইন্ডস্টর্মস এনএক্সটি এইচআরপি-2 তৈরি করুন (জেআরএল সদস্যদের জন্য সীমাবদ্ধ মুক্তি) নাও রোবটিস বায়োলয়েড মোবাইল রোবট অগ্রগামী ঘোষণা করেছেঃ সার্ভেয়ার খেপেরা III ই-পাক আরও দেখুন রোবোটিক্স স্যুট প্লেয়ার প্রজেক্ট-গবেষণা এবং মাধ্যমিক পরবর্তী শিক্ষায় ওপেন সোর্স রোবট ইন্টারফেস রোবট অপারেটিং সিস্টেম (আরওএস) রেফারেন্স বাহ্যিক লিঙ্ক উরবি অনলাইন ডকুমেন্টেশন ওয়াং, উইলিয়াম, "গোস্তাই উরবি", "ইলেকট্রনিক ডিজাইন", 5 আগস্ট, 2010। ম্যাকক্যাফের্টি, বিলি, "কিউ অ্যান্ড এ অফ উরবি, এ রোবট ওএস", "শারপ্রোবোটিকা", জুলাই 16,2010। ব্ল্যাঙ্কেনহর্ন, ডানা, "আই, ওপেন সোর্স রোবট", "জেডডিনেট", আগস্ট 20,2010। সমন্বিত উন্নয়ন পরিবেশ রোবোটিক্স স্যুট 2003 সফ্টওয়্যার 2003 রোবোটিক্স