URBI
ઉર્બી એ સી + + માં લખાયેલ ઓપન-સોર્સ ક્રોસ-પ્લેટફોર્મ સોફ્ટવેર કમ્પ્યુટિંગ પ્લેટફોર્મ છે જેનો ઉપયોગ રોબોટિક્સ અને જટિલ સિસ્ટમો માટે એપ્લિકેશનો વિકસાવવા માટે થાય છે. ઉર્બી એ યુઓબ્જેક્ટ ડિસ્ટ્રિબ્યુટેડ સી + + કોમ્પોનન્ટ આર્કિટેક્ચર પર આધારિત છે. તેમાં અર્બિસ્ક્રિપ્ટ ઓર્કેસ્ટ્રેશન લેંગ્વેજનો પણ સમાવેશ થાય છે જે સમાંતર અને ઘટના-સંચાલિત સ્ક્રિપ્ટ લેંગ્વેજ છે. યુઓબ્જેક્ટ ઘટકોને અર્બિસ્ક્રિપ્ટમાં પ્લગ કરી શકાય છે અને મૂળ પદાર્થો તરીકે દેખાઈ શકે છે જે તેમની ક્રિયાપ્રતિક્રિયાઓ અને ડેટા વિનિમયને સ્પષ્ટ કરવા માટે સ્ક્રિપ્ટેડ કરી શકાય છે. યુઓબ્જેક્ટ્સને અર્બિસ્ક્રિપ્ટ દુભાષિયા સાથે જોડી શકાય છે, અથવા "દૂરસ્થ" સ્થિતિમાં સ્વાયત્ત પ્રક્રિયાઓ તરીકે ચલાવી શકાય છે. અર્બિસ્ક્રિપ્ટ લેંગ્વેજ 2003 માં જીન-ક્રિસ્ટોફ બેલી દ્વારા ENSTA, પેરિસના કોગ્નિટિવ રોબોટિક્સ લેબમાં બનાવવામાં આવી હતી. 2006 માં સ્થપાયેલી ગોસ્તાઇ કંપની દ્વારા તે ઉદ્યોગમાં સક્રિય અને વધુ વિકસિત કરવામાં આવી છે. તે હવે એક ઓપન સોર્સ પ્રોજેક્ટ છે, જેમાં બીએસડી લાઇસન્સ છે, જે ગિટહબ પર ઉપલબ્ધ છે. અર્બિસ્ક્રિપ્ટ ભાષાને ઓર્કેસ્ટ્રેશન સ્ક્રિપ્ટ લેંગ્વેજ તરીકે શ્રેષ્ઠ રીતે વર્ણવી શકાય છેઃ જેમ કે વિડિયો ગેમ્સમાં લુઆ, અર્બિસ્ક્રિપ્ટનો ઉપયોગ સી + + ઘટકોને કાર્યાત્મક વર્તણૂકમાં ગુંદર કરવા માટે કરી શકાય છે, સીપીયુ-સઘન અલ્ગોરિધમિક ભાગ સી + + પર છોડી દેવામાં આવે છે અને વર્તણૂક સ્ક્રિપ્ટીંગ ભાગ સ્ક્રિપ્ટ લેંગ્વેજ પર છોડી દેવામાં આવે છે જે વધુ લવચીક, જાળવવા માટે સરળ અને પ્રોગ્રામ એક્ઝેક્યુશન દરમિયાન ગતિશીલ ક્રિયાપ્રતિક્રિયાને મંજૂરી આપે છે. ઓર્કેસ્ટ્રેશન લેંગ્વેજ તરીકે, અર્બિસ્ક્રિપ્ટ ભાષાના સિમેન્ટિક્સના ભાગ રૂપે સમાંતરતા અને ઘટના-આધારિત પ્રોગ્રામિંગ દ્વારા પ્રોગ્રામમાં કેટલીક ઉપયોગી અમૂર્તતાઓ પણ લાવે છે. સમાંતર વર્તણૂકો અને ઘટનાઓ પ્રત્યેની પ્રતિક્રિયાઓનું સ્ક્રિપ્ટીંગ એ મોટાભાગના રોબોટિક અને જટિલ AI એપ્લિકેશનોની મુખ્ય જરૂરિયાતો છે, તેથી અર્બિસ્ક્રિપ્ટ (અને સમગ્ર ઉર્બી પ્લેટફોર્મ) આવી એપ્લિકેશનો માટે સારી રીતે અનુકૂળ છે. ભાષાના લક્ષણો સમાંતરતા અને ઘટના-આધારિત પ્રોગ્રામિંગ પ્રોટોટાઇપ-આધારિત પ્રોગ્રામિંગ C + + જેમ કે વાક્યરચના જાવા અને C + + આધારિત ઘટક આર્કિટેક્ચર (UObject) ઓબ્જેક્ટ્સને લિંક કરવાની અથવા તેમને દૂરસ્થ રીતે ચલાવવાની સંભાવના સાથે ક્લાયન્ટ-સર્વર મોડેલ આર્કિટેક્ચર ક્રોસ પ્લેટફોર્મઃ લિનક્સ, મેકિન્ટોશ, વિન્ડોઝ, અન્ય. એમ્બેડેબલ, ઉર્બી વિવિધ પ્રોસેસરો પર ચલાવી શકે છેઃ x86, એઆરએમ, એમઆઇપીએસ, પાવરપીસી, વગેરે. "ટેગ્સ" દ્વારા કાર્ય નિયંત્રણ કાર્ય સમાંતર પ્રોગ્રામિંગ અને ઇવેન્ટ-સંચાલિત પ્રોગ્રામિંગ પ્રોટોટાઇપ્સ સી + + આર્કિટેક્ચર ઘટકો જેવું વાક્યરચનાઃ સી + +, જાવા (યુઓબ્જેક્ટ) ઓબ્જેક્ટને લિંક કરવાની અથવા દૂરસ્થ રીતે ક્લાયન્ટ-સર્વર મોડેલ ચલાવવાની ક્ષમતા સાથે ગ્રાહકો સાથે ઇન્ટરફેસ જાવા અને મેટલેબ (ઉર્બી એસડીકે) બહુવિધ પ્લેટફોર્મ્સઃ લિનક્સ, મેકઓએસ, વિન્ડોઝ એનટી અને એમ્બેડેડ વાતાવરણ (x86, એઆરએમ, એમઆઇપીએસ, પાવરપીસી) તેમના નિયંત્રણ માટે આદેશોને ચિહ્નિત કરે છે જેથી રોબોટ ઓપરેટિંગ સિસ્ટમ (આરઓએસ) નું અસિંક્રોનસ એકીકરણ (સંસ્કરણ 2.1) ઉદાહરણો નીચેનું ઉદાહરણ દર્શાવે છે કે અર્બિસ્ક્રિપ્ટમાં બોલ ટ્રેકિંગ એક્શન/પર્સેપ્શન લૂપ કેવી રીતે લખવોઃ & ચિહ્નનો ઉપયોગ એ સ્પષ્ટ કરવા માટે થાય છે કે બંને આદેશો એક જ સમયે શરૂ થવા જોઈએ, આમ સમાંતર ચાલે છે. અન્ય નોંધપાત્ર ઇવેન્ટ-સંચાલિત રચનાઓમાં એટનો સમાવેશ થાય છે, જે ઇવેન્ટ શરૂ થાય ત્યારે એકવાર સંકળાયેલ કોડને ચાલુ કરે છેઃ એટ (speech.hear? ("નમસ્તે")) {voice.say ("તમે કેવા છો?") & robot.standup ();} દરેક આદેશ અથવા આદેશોનું જૂથ ટેગ કરી શકાય તેવું છે, જે જરૂર પડે તો તેને પછીથી અટકાવવાનો માર્ગ પ્રદાન કરે છેઃ માયટેગઃ જ્યારે (સાચું) પડઘો ("આ ક્યારેય સમાપ્ત થતું લૂપ નથી"), (button.pressed) myTag.stop પર; આદેશના અંતે અલ્પવિરામની ઉપરના ઉદાહરણમાં નોંધ કરો. તે પૂર્વવર્તી આદેશને પૃષ્ઠભૂમિમાં મૂકશે, જે ફ્લો એક્ઝેક્યુશનને ચાલુ રાખવાની મંજૂરી આપશે, ખાસ કરીને આગામી 'એટ' આદેશને ચલાવવાની મંજૂરી આપશે. યુઓબ્જેક્ટ ઘટક આર્કિટેક્ચર યુઓબ્જેક્ટ ઘટક આર્કિટેક્ચર વિકાસકર્તાઓને ઉરબીની અંદર કોઈપણ જાવા/સી + + ઓબ્જેક્ટને ઇન્ટરફેસ કરવાની મંજૂરી આપે છે, જે પસંદ કરેલી પદ્ધતિઓ અને વિશેષતાઓને અર્બિસ્ક્રિપ્ટમાં દૃશ્યમાન બનાવે છે, જ્યારે હકીકતમાં સંકલિત કોડ છે. અર્બિસ્ક્રિપ્ટ/ઉર્બી બાજુ પર આ વિશેષતાઓ પરના કોઈપણ ફેરફારની સી + + બાજુને સૂચિત કરવા માટે ઑબ્જેક્ટના કોઈપણ લક્ષણો પર વિશેષ સૂચકાંકો સેટ કરી શકાય છે. યુઓબજેક્ટ સી + + નમૂનાઓનો ઉપયોગ કરે છે જે ઇન્ટરફેસ મશીનરીમાં કોઈપણ વિનંતી કરેલી પદ્ધતિને પારદર્શક રીતે મેપ કરે છે જે પ્રકાર તપાસની કાળજી લે છે. યુઓબ્જેક્ટનો ઉપયોગ પ્લગ મોડમાં થઈ શકે છે જો તે સંકલન સમયે અથવા ડાયનેમિક લોડિંગ સાથે સીધા ઉર્બી સાથે જોડાયેલ હોય. તે કિસ્સામાં, C + + ઓબ્જેક્ટ સીધા ઉર્બી મેમરીને વહેંચે છે, પરિણામે કાર્યક્ષમ એકીકરણ થાય છે. આનો ઉપયોગ સામાન્ય રીતે મોટર અથવા સેન્સર ડ્રાઇવરો જેવા સમયના નિર્ણાયક ઘટકો માટે થાય છે. સમાન યુઓબ્જેક્ટનો ઉપયોગ દૂરસ્થ ઘટક તરીકે ફેરફારો વિના પણ થઈ શકે છે. તે કિસ્સામાં, તે એક સ્વાયત્ત પ્રોગ્રામ બની જશે જે પેરામીટર તરીકે ઉર્બી સર્વરના આઇપી એડ્રેસ સાથે ચલાવવામાં આવશે. બંને કિસ્સાઓમાં, ઓબ્જેક્ટ પારદર્શક રીતે અર્બિસ્ક્રિપ્ટમાં મૂળ અર્બિસ્ક્રિપ્ટ ઓબ્જેક્ટ તરીકે દેખાશે. ઉર્બી વેબટ્સ સાથે સુસંગત ઇકોસિસ્ટમ રોબોટિક્સ સિમ્યુલેટર એ ઉર્બી સાથે સુસંગત સત્તાવાર રોબોટ સિમ્યુલેટર છે. પ્લેયર/સ્ટેજ એકીકરણની જાણ કરવામાં આવી છે, જો કે તે હાલમાં રિલીઝ કરવામાં આવ્યું નથી. ઉર્બી-ફાઈડ રોબોટ્સ રીલીઝ થયાઃ ગોસ્તાઈ ઓપન જાઝ સેગવે પીટી આઇબો ઇઆરએસ-7/ઇઆરએસ-2એક્સએક્સ (ફક્ત ઉર્બી 1.2, ઉર્બી 2.3 આલ્ફા તરીકે ઉપલબ્ધ છે) આઈરોબોટ ક્રિએટ લેગો માઇન્ડસ્ટોર્મ્સ એનએક્સટી એચઆરપી-2 (જેઆરએલના સભ્યો માટે પ્રતિબંધિત રીલીઝ) નાઓ રોબોટીસ બાયોલોઇડ મોબાઇલ રોબોટ્સ પાયોનિયરે જાહેરાત કરીઃ સર્વેયર ખેપેરા III ઇ-પક પણ જુઓ રોબોટિક્સ સ્યુટ પ્લેયર પ્રોજેક્ટ-સંશોધન અને પોસ્ટ-સેકન્ડરી શિક્ષણમાં ઓપન-સોર્સ રોબોટ ઇન્ટરફેસ રોબોટ ઓપરેટિંગ સિસ્ટમ (આરઓએસ) સંદર્ભો બાહ્ય લિંક્સ ઉર્બી ઓનલાઇન દસ્તાવેજીકરણ વોંગ, વિલિયમ, "ગોસ્તાઈ ઉર્બી", "ઇલેક્ટ્રોનિક ડિઝાઇન", 5 ઓગસ્ટ, 2010. મેકકેફર્ટી, બિલી, "ક્યૂ એન્ડ એ ઓફ ઉર્બી, એ રોબોટ ઓએસ", "શારપ્રોબોટિકા", જુલાઈ 16,2010. બ્લેન્કનહોર્ન, ડાના, "આઇ, ઓપન સોર્સ રોબોટ", "ઝેડડીનેટ", ઓગસ્ટ 20,2010. સંકલિત વિકાસ વાતાવરણ રોબોટિક્સ સ્યુટ 2003 સોફ્ટવેર 2003 રોબોટિક્સમાં