রোবোটিক্সে রিয়েল-টাইম প্রোগ্রামিং কতটা পরিপক্ক? [বন্ধ]


20

সম্পাদনা: কেন জানি না, তবে এই প্রশ্নটি অনেক লোককে বিভ্রান্ত করছে বলে মনে হচ্ছে। আমি কখন / কোথায় / কেন / কীভাবে রিয়েল-টাইম ব্যবহার করব সে সম্পর্কে সচেতন। সত্যিকারের কাজ করা লোকেরা বাস্তবে এটি বাস্তব সময়ে বাস্তবায়নের জন্য যথেষ্ট যত্ন নেবে কি না তা জানতে আগ্রহী knowing

রোবটের জন্য রিয়েল-টাইম ক্রিয়াকলাপ কেন গুরুত্বপূর্ণ তা উল্লেখ করার দরকার নেই। আমার প্রশ্ন তবে, এটি রোবোটিক্সে আসলে কতটা ব্যবহৃত হয়?

এই প্রশ্নটি নিনউদাহরণস্বরূপ । শুধুমাত্র একটি উত্তরে রিয়েল-টাইম ক্ষমতা সহ যে কোনও প্ল্যাটফর্মের উল্লেখ রয়েছে এবং এটি শীর্ষ থেকেও দূরে। স্পষ্টতই ROS, একটি খুব জনপ্রিয় প্ল্যাটফর্ম যা রিয়েল-টাইম নয়।

রিয়েল-টাইম বিশ্বে তবে আরটিআইএ 1 এটি ব্যবহারের একমাত্র কার্যক্ষম ফ্রি রিয়েল-টাইম প্ল্যাটফর্ম বলে মনে হয় । এটি লিনাক্সে সীমাবদ্ধ (কোনও সমস্যা নেই), খারাপভাবে নথিভুক্ত এবং আস্তে আস্তে বিকাশিত।

সুতরাং, রোবোটিক্স বিকাশকারীদের মধ্যে রিয়েল-টাইম আচরণ কতটা চাওয়া হয়?প্রশ্নটি হল, রিয়েল-টাইম আচরণটি আসলে যখন প্রয়োজন তখন ডেভেলপাররা রিয়েল-টাইম অ্যাপ্লিকেশনগুলি লেখার জন্য কতটা ঝোঁক থাকে? বেশি না হলে কেন?

উদাহরণস্বরূপ, স্পর্শকাতর আচরণের উপর ভিত্তি করে প্রতিচ্ছবি আচরণ, আরওএসের মধ্য দিয়ে যেতে পারে না কারণ এটি তার আসল সময়ের সম্পত্তি হারাবে। কিন্তু লোকেরা কি রিয়েল-টাইম সম্পত্তিটি উপেক্ষা করে কোনও বাস্তবসম্মত সমাধান নিয়ে আসে বা যাইহোক ROS ব্যবহার করে?

1 বা একইভাবে জেনোমাই


1
আমি মনে করি এটি একটি দুর্দান্ত প্রশ্ন। এটিকে দুটি ভাগে ভাগ করার এবং আপনার মূল প্রশ্নটি স্পষ্ট করে বিবেচনা করুন। 'আরওএস কি রিয়েল-টাইমের জন্য ব্যবহার করা যেতে পারে?' অথবা 'আরওএস কি রিয়েল-টাইমের সাথে ব্যবহার করা হয়?' (2 টি পৃথক প্রশ্ন) আপনার মূল প্রশ্ন থেকে পৃথক।
হাউপটমেক

@ হাপটমেক, ভাল আরএসএস অবশ্যই রিয়েল-টাইমের জন্য ব্যবহার করা যাবে না, যেহেতু এটি না!
শাহবাজ

আমি @ হাপটমেচের সাথে একমত প্রশ্ন গুলিয়ে ফেলছে। শীর্ষে আপনি জিজ্ঞাসা করছেন, কতজন / কতবার রিয়েল-টাইম সিস্টেম ব্যবহার করা হয় এবং পরে / কোন ক্ষেত্রে আপনার জিজ্ঞাসা করার সময় । উভয়ই ভাল প্রশ্ন, সুতরাং দয়া করে এটিকে দুটি ভাগে ভাগ করুন বা একটিতে হ্রাস করুন। ধন্যবাদ!
বিট-জলদস্যু

@ বিট-জলদস্যু, আপনি কেন বলছেন যে কখন / কোন ক্ষেত্রে আমি জিজ্ঞাসা করেছি তা আমি বুঝতে পারি না । আমি এ জাতীয় জিনিস কখনও জিজ্ঞাসা করিনি। আমি যেমনটি বলেছিলাম প্রশ্নটি হল, বাস্তবসম্মত আচরণের প্রয়োজন হলে বিকাশকারীরা রিয়েল-টাইম অ্যাপ্লিকেশনগুলি লেখার জন্য কতটা ঝোঁক থাকে? অন্য কথায়, অ্যাপ্লিকেশন কত শতাংশ না রিয়েল-টাইম আচরণ প্রয়োজন, হয় আসলে রিয়েল টাইমে বাস্তবায়িত? আমি ব্যক্তিগতভাবে জানি কখন এবং কোন ক্ষেত্রে আসল-সময় আচরণ প্রয়োজন এবং এ বিষয়ে একেবারেই কোনও প্রশ্ন নেই। আসলে, আমি উত্তর ব্যাখ্যা দেখতে বিস্মিত যে
শাহবাজ

স্পষ্টতার জন্য ধন্যবাদ! আমার জন্য, শিরোনামটি বিভ্রান্তিকর ছিল। আইএমও রিয়েল-টাইম প্রোগ্রামিং + বাস্তবায়ন রোবোটিক্সে পরিপক্ক, তবে এটির জন্য আরও প্রচেষ্টা (সময়, অর্থ, দক্ষতা ইত্যাদি) জড়িত, তাই বেশিরভাগ লোকেরা এড়িয়ে চলে, যখন এটি সত্যই প্রয়োজন হয় না।
বিট-জলদস্যু

উত্তর:


10

মনে রাখবেন যে রিয়েল টাইম আছে এবং রিয়েল টাইম রয়েছে

হার্ড রিয়েল টাইম হার্ডওয়্যার সমর্থন বা নিম্ন স্তরের সফ্টওয়্যার সমর্থন ব্যতীত অর্জন করা কঠিন, তবে হার্ড রিয়েল টাইম সক্ষম হওয়ার জন্য আপনার প্রায়শই প্রয়োজন হয় না । সফ্ট অ্যান্ড ফার্ম রিয়েল টাইম প্রতিক্রিয়া অর্জন করা অনেক সহজ এবং অনেকগুলি অ্যাপ্লিকেশনের জন্য প্রায়শই যথেষ্ট বেশি।

এছাড়াও, একটি সিস্টেম বিভিন্ন স্থানে ভিন্ন থাকতে পারে রিয়েল টাইমে প্রয়োজনীয়তা। আপনি যদি সফ্টওয়্যার পিআইডি লুপগুলি চালাচ্ছেন তবে তাদের অবশ্যই সত্যিকারের রিয়েল টাইম প্রতিক্রিয়া হওয়া উচিত (উদাহরণস্বরূপ, আপনার পিআইডিগুলিকে নরম সুর দেওয়ার বা তাদের টিউন করার পক্ষে এবং মাঝেমধ্যে অস্থির হয়ে যাওয়ার মধ্যে আপনি কোনওটি বেছে নিতে চান না)। একটি ভিশন সিস্টেমের রিয়েল টাইম প্রতিক্রিয়ার প্রয়োজনীয়তা থাকতে পারে , আপনি পরবর্তী সিদ্ধান্তের জন্য সময় মতো চিত্রটি প্রসেস করতে না পারলে পারফরম্যান্স হ্রাস পাবে তবে এটি যদি আপনাকে সময় মতো প্রক্রিয়া করতে না পারে তবে এই ক্ষেত্রে সিস্টেমটি চলমান রোধ করা উচিত নয় this আংশিক ফলাফলগুলি ফেলে দেওয়া এবং পরবর্তী ফ্রেমে বিশ্লেষণ শুরু করতে সময় হারাতে না পারাই ভাল। অবশেষে আপনার সামগ্রিক পরিকল্পনা এবং সমন্বয় (সম্ভবত সবচেয়ে জটিলআপনার রোবোটিক সিস্টেমের অংশ) প্রায়শই নরম রিয়েল টাইমের ডোমেনে দৃly়ভাবে থাকতে পারে ।

এমনকি উইন্ডোজ পিসিগুলির ক্ষেত্রে আপনি হার্ড রিয়েল টাইম পারফরম্যান্স পেতে পারেন , আপনার কেবল কার্নেলের মধ্যে সঠিক হুক সহ সঠিক সফ্টওয়্যারটি প্রয়োজন। বেকফফের টুইনগেট নরম পিএলসি বেশ আনন্দের সাথে পেন্টিয়ামের মেশিন চক্রের অর্ধেক ভাগ করে অন্য অর্ধেকটি উইন্ডোজ এনটিকে দিয়ে একটি উচ্চ স্ক্যান রেট পিএলসি চালিয়েছিল এবং এটি এক দশক আগেও ছিল। এমনকি আধুনিক কন্ট্রোল সিস্টেমগুলি অ্যারোটেকের এ 3200 রেঞ্জের কিছু বিকল্পের মতো হোস্ট পিসিতে গ্রান্ট কাজ করে, নিম্ন স্তরের কার্নেলকে হার্ড রিয়েল টাইম প্রয়োজনীয়তার জন্য প্রয়োজনীয় সিপিইউ সময় লাগে এবং উইন্ডোজ 7 এর জন্য বাকি সিপিইউ চক্র রেখে দেয় ব্যবহার করা!


এখানে পার্থক্যটি যথেষ্ট প্রাসঙ্গিক ... এমনকি "রিয়েল ওয়ার্ল্ড" নিম্ন-স্তরের সিস্টেমেও সত্যিকারের রিয়েল-টাইম বিটটি বেশ ছোট (টাইমার টিক বিঘ্নের ভিত্তিতে) বেশিরভাগ সিস্টেমে নামমাত্র রিয়েল-টাইম (তবে + / - এখানে কয়েক ন্যানো-সেকেন্ড এবং সহনীয়)। আমি যখন লোকেরা উইন্ডোজইসি বা লিনাক্সে নির্মিত রিয়েল-টাইম অ্যাপ্লিকেশনগুলি সম্পর্কে কথা বলতে দেখি তখন আমি হাসি ...
অ্যান্ড্রু

1
আমি ডান সফ্টওয়্যার সঙ্গে @Andrew বলছি, এমনকি উইন্ডোজ 7 তৈরি করা যেতে পারে হার্ড রিয়েল টাইমে একটি সঙ্গে RTX । আপনি কেন উইন্ডোজ সিইটিকে রিয়েল-টাইম হিসাবে বিবেচনা করবেন না তা নিশ্চিত নন, যদিও এটির রিয়েল-টাইম ডিটারিস্টিনিস্টিক টাস্ক শিডিয়ুল হয়েছে কারণ সংস্করণ 2 এবং লিনাক্সকে আরটিএলিনাক্সের মতো কার্নেল দিয়ে রিয়েলটাইম করা যেতে পারে ।
মার্ক বুথ

হাই আবার মার্ক (কে নিশ্চিত যে নিশ্চিত নয় যে এখানে কে পাপ করছে ...) - আমি সম্মত হই যে আপনি এটি করতে পারেন তবে কঠোর অভিজ্ঞতা থেকে প্রমাণিত হয়েছে যে অনেকগুলি (? সবচেয়ে?) ক্ষেত্রে ব্যবহারকারীরা (পরিচালকগণ) প্রয়োজনীয় অ্যাড-অনগুলি উপেক্ষা করে ধরে নেন ভ্যানিলা সিস্টেম করবে।
অ্যান্ড্রু

@ অ্যান্ড্রু - আরটিএক্সের সাথে আমার অভিজ্ঞতাটি ছিল যে এটি সবেমাত্র কাজ করেছে । পেন্টিয়ামে ফিরে 4 দিন আপনি পিসিআই বাসকে স্যাচুরেটেড সংহত গ্রাফিক্স বা অডিও ব্যবহার না করার বিষয়ে সতর্কতা অবলম্বন করতে হয়েছিল, তবে এই দিনগুলিতে কোনও সমস্যা হওয়া উচিত নয়।
মার্ক বুথ

এটি অনেক দিন কেটে গেছে, তবে এই পৃষ্ঠাটি ফিরে পাঠানো, বিশেষত উইন্ডোজের সাথে সম্পর্কিত, আমি কেবল বলতে চাই আপনি কীভাবে একটি সিস্টেমকে রিয়েলটাইম তৈরি হয় তার কেবলমাত্র অংশটি উল্লেখ করছেন। রিয়েলটাইম শিডিয়ুলিং অবশ্যই গুরুত্বপূর্ণ, তবে এমন অনেক ধরণের জিনিস রয়েছে যা স্পাইক তৈরি করতে পারে যা সিস্টেমকে রিয়েলটাইম তৈরি করতেও পরিচালনা করতে হবে। বাধা হ'ল সাধারণ উদাহরণ, এসএমআই, ক্যাশে এবং মেমরি ব্যান্ডউইথ অন্য উদাহরণ। কেবল রিয়েলটাইম শিডিয়ুলার থাকার কারণে কোনও সিস্টেম রিয়েলটাইম তৈরি করে না।
শাহবাজ

8

অনেকগুলি (বেশিরভাগ?) রোবোটিক কন্ট্রোল সিস্টেমের জন্য সত্যিকারের একটি রিয়েল টাইম সিস্টেমের প্রয়োজন হয় না। যতক্ষণ না আপনার কাছে একটি নিয়ন্ত্রণ লুপ থাকে যা যথেষ্ট পরিমাণে দ্রুতগতির সাথে দ্রুত সঞ্চালিত হয় এবং খুব বেশি চক্র মিস করে না, ততক্ষণ এটি রোবোটিক নিয়ন্ত্রণ এবং সার্ভিংয়ের জন্য যথেষ্ট।

এর প্রমাণ হিসাবে, আমাকে পিআর 2 এবং শ্যাডো রোবট হ্যান্ড উপস্থাপন করুন:

PR2

এই রোবোটটির প্রায় 20 ডিগ্রি স্বাধীনতা রয়েছে, যার সমস্তটিই রসের মূল লুপের মাধ্যমে পরিবেশন করা হয়েছে। অথবা শেডো রোবট হ্যান্ড সম্পর্কে কীভাবে, যার মধ্যে 20 ডিওএফ রয়েছে, এছাড়াও স্পর্শকাতর এবং অন্যান্য সেন্সরগুলির একটি অ্যারে রয়েছে এবং এটি আরওএসের মূল লুপের মাধ্যমে পরিবেশন করা হয়েছে।

আরওএসের প্রধান লুপটি কিছুটা ঘন ঘন হয়ে থাকে, কখনও কখনও 100us হিসাবে এবং এমনকি কখনও কখনও পুরোপুরি চক্রটিও মিস করে। তবে 99,9% চক্র সফলভাবে কার্যকর করা হয়েছে কিনা তা বিবেচ্য নয়।

হোস্ট পিসিগুলির মধ্যে অনেকগুলি কোরের ব্যবহারের অর্থ হ'ল একটি সম্পূর্ণ কোর মূল লুপটি চালানোর জন্য উত্সর্গীকৃত, এবং তাই এটি খুব কমই অন্যান্য কার্যক্রমে দেরি হয়।

একটি রোবোটিক সিস্টেমের জন্য সত্যই রিয়েল-টাইম ওএস ব্যবহারের মূল কারণটি হ'ল সুরক্ষা। যদি রোবটটি সুরক্ষা সঙ্কটজনক পরিস্থিতিতে কাজ করে, তবে 100% আপ-টাইম নিয়ন্ত্রণের গ্যারান্টি দেওয়া আপনার দায়িত্ব এবং এর একটি অংশ এটির আসল সময় প্রকৃতির নিশ্চয়তা দিচ্ছে।

আপনি রিয়েল-টাইম ওএস ব্যবহার করুন বা না করুন, নিয়ন্ত্রণ লুপটি পুরোপুরি মারা যায় এমন পরিস্থিতিতে আপনার সার্ভগুলি কিছু নিরাপদ করা উচিত। এই সুরক্ষা ব্যবস্থাটি আপনার অ-রিয়েল-টাইম ওএসকে চক্রের চেয়ে বেশি এড়িয়ে যাওয়ার বিরল উপলক্ষেও সহায়ক হবে। উদাহরণস্বরূপ, শ্যাডো হ্যান্ডে, মোটরগুলি থামানো হয় যদি কন্ট্রোল লুপটি 20 টির বেশি চক্র (20 মিমি) মিস করে। যদিও আমি এর আগে কখনও দেখিনি।


যোগ করা হয়েছে

এ সম্পর্কে ভাবার আরেকটি উপায় হ'ল: আপনার সার্ভো সিস্টেমটি আসলে কী আপডেটের হারের প্রয়োজন? যদি এটি একটি লার্জিশ আর্ম, এবং সুপার হাই পারফরম্যান্স, উচ্চ গতির অবস্থানের প্রয়োজন না হয়, তবে 500Hz পর্যাপ্ত হতে পারে। প্রায় গাড়ি চালানোর জন্য, 200Hz সম্ভবত যথেষ্ট। এই উভয় ক্ষেত্রেই, যদি আপনার লুপটি আসলে 1000Hz এ চলমান থাকে, তবে আপনার নিয়ন্ত্রণ অ্যালগরিদম যতক্ষণ লুপগুলির মধ্যে প্রকৃত বিচ্ছিন্ন সময়টিকে বিবেচনা করে ততক্ষণ দেরী বা হারিয়ে যাওয়া চক্রটি আসলেই কোনও সমস্যা নয়।


সুতরাং সংক্ষেপে, আপনি বলছেন যে রিয়েল-টাইম প্রায়শই ব্যবহৃত হয় না, কারণ রিয়েল-টাইম সফ্টওয়্যারটি "যথেষ্ট ভাল" কাজ করে?
শাহবাজ

@ শাহবাজ - এটি আসলে কতবার ব্যবহৃত হয় সে সম্পর্কে আমি মন্তব্য করতে পারি না, তবে আমি বলতে পারি এটি ব্যবহার করা হয় তবে এটি অপ্রয়োজনীয় হতে পারে। আমরা আরটিএআই ব্যবহার করতাম, তারপরে এটিকে ত্যাগ করেছি কারণ এটি আসলে সাহায্য করার চেয়ে আরও বাধা ছিল।
রকেটম্যাগনেট

1
আমি একটি বিষয় জোর দিতে চাই: আপনার কাছে PR2 তে অনেকগুলি প্রসেসিং শক্তি রয়েছে যাতে আপনি কিছু "যথেষ্ট ভাল" পেতে পারেন। আমি "কেবল" একটি কোর 2 জুটির সাথে একটি রোবোটে কাজ করেছি। এটি সেখানে কোনও বিকল্প নয়: সম্পূর্ণ স্ট্যাকটি বেশিরভাগ সময় 100% গ্রহণ করে। এখানে, রক (অরোকস) এবং আরটি-লিনাক্সকে 1kHz নিয়ন্ত্রণ লুপ একসাথে রাখা দরকার ছিল।
sylvain.joyeux

@ sylvain.joyeux - আমি সম্মত। যখন আপনার কাছে কেবল দুটি কোর থাকে তখন আরওএস নিয়ন্ত্রণের জন্য খুব খারাপভাবে সম্পাদন করে।
রকেটম্যাগনেট

@ রকেটম্যাগনেট আমি এটিকে কম করে দেওয়ার জন্য দুঃখিত, তবে PR2 অংশটি ভুল। PR2 এ আরওএসের সমান্তরাল 1000Hz এ লিনাক্স + লিনাক্স + আরটি প্রিমিপেটে চলমান একটি একক রিয়েল-টাইম লুপ রয়েছে, যা প্রতিটি ডিএফের প্রকৃত মোটর নিয়ন্ত্রণটি করে মোটর নিয়ামক বোর্ডগুলির সাথে ইথারকাটের মাধ্যমে যোগাযোগ করছে। প্রোগ্রামিং কন্ট্রোলারগুলি (যেমন একটি যৌথ ট্র্যাজেক্টরি নিয়ামক) যখন রিয়েল-টাইমটি না ভাঙতে পারে সে সম্পর্কে আপনাকে সতর্কতা অবলম্বন করতে হবে এবং এগুলি পরিচালনা করার জন্য তাদের কাছে বিশেষ সরঞ্জাম রয়েছে (যেমন লোড / আনলোড)। দেখুন এখানে আরো বিস্তারিত জানার জন্য।
বিট-জলদস্যু

4

সফ্টওয়্যারটির উদ্দেশ্যটি নির্ধারণ করে যে এটি কঠোরভাবে রিয়েল-টাইম হওয়া দরকার।

যেখানে উদ্দেশ্যটি হচ্ছে পাথ পরিকল্পনা বা স্থানীয়করণ, প্রায়শই একটি কম ফ্রিকোয়েন্সি পর্যাপ্ত হয়, উদাহরণস্বরূপ, 10Hz। এই ক্ষেত্রে, লিনাক্সে চলমান কোনও প্লেয়ার / স্টেজ সেটআপ ঠিক আছে। আমরা দেখতে পাচ্ছি যে যদি এক সময় পদক্ষেপটি কিছুটা দীর্ঘ বা সংক্ষিপ্ত হয় তবে কয়েকটি সমস্যা আছে।

রোবটের গতিশীলতা দ্রুত হলে কঠোরভাবে রিয়েল-টাইম আচরণ প্রয়োজন। উদাহরণস্বরূপ, কোনও অবস্থান ট্র্যাক করার জন্য, বা হ্যান্ডেল / গ্রিপ অবজেক্টগুলিতে রোবোটিক আর্ম সরিয়ে নেওয়া এবং সেগুলি সরিয়ে নেওয়া। যদি কোনও সময় পদক্ষেপ মিস করা হয় তবে অবস্থানটি অনস্বীকার্যভাবে ছাপিয়ে যেতে পারে এবং আমরা আরও অনুমানযোগ্য আচরণ চাই। এই ক্ষেত্রে, আমাদের 1kHz বা আরও বেশি পর্যন্ত ফ্রিকোয়েন্সি থাকতে পারে। যদি কোনও অপারেটিং সিস্টেম ব্যবহার করা হয় তবে আমরা একটি রিয়েল-টাইম অপারেটিং সিস্টেম চাই।

রিয়েল-টাইম আচরণ এম্বেড থাকা অ্যাপ্লিকেশনগুলিতে, টাইমার এবং বিঘ্ন ব্যবহার করে (একটি মাইক্রোকন্ট্রোলারের সি কোড সংকলন) সম্পাদন করা যায়। এই ক্ষেত্রে, আমাদের অবশ্যই নিশ্চিত করতে হবে যে প্রসেসিং লোড খুব বেশি না হয় যাতে নিয়মিত নমুনা নিয়ন্ত্রনটি বজায় রাখা যায়।

কম্পিউটার / মাইক্রোপ্রসেসর ব্যবহার করে রোবটগুলি (কারণ আরও বেশি প্রক্রিয়াকরণ শক্তি প্রয়োজন), উচ্চ নমুনা হারের গ্যারান্টি দেওয়ার জন্য একটি রিয়েল-টাইম অপারেটিং সিস্টেম ব্যবহার করতে হবে।


সুতরাং, রিয়েল-টাইম আচরণের প্রয়োজন কিনা তা বিকাশকারী এটি কী ব্যবহার করতে চায় তার উপর নির্ভর করে।


জবাবের জন্য ধন্যবাদ. হতে পারে আমার প্রশ্নের আরও ভাল শব্দাবলীর প্রয়োজন, তবে আমি "রিয়েল-টাইম কখন ব্যবহার করব" জিজ্ঞাসা করতে চাইনি, তবে "সত্যিকারের প্রয়োজনের সময় লোকেরা আসলে কতবার রিয়েল-টাইম ব্যবহার করে"। তবুও, রিয়েল-টাইম প্ল্যাটফর্মের প্রয়োজন ছাড়াই মাইক্রোকন্ট্রোলারগুলিতে আপনার রিয়েল-টাইম আচরণটি একটি ভাল বিষয় যা আমি বিবেচনা করি নি।
শাহবাজ

পার্শ্ব-নোটে, বাস্তব-সময় এবং দ্রুত দুটি অर्थোগোনাল ধারণা og যদি কোনও পাথ পরিকল্পনাকারীকে এক মিনিটের মধ্যে কঠোরভাবে সিদ্ধান্ত নিতে হয়, তবে এটি একটি রিয়েল-টাইম অ্যাপ্লিকেশন। যদিও আমি বুঝতে পেরেছি আপনি কেন একটি দ্রুত রোবট উল্লেখ করেন।
শাহবাজ

2

আমাদের সংস্থা পিআইসি মাইক্রোকন্ট্রোলারগুলিতে চলমান ফ্রিআরটিওএস ব্যবহার করে রোবট তৈরি করে। আমাদের জন্য, ফ্রিআরটিওএস ব্যবহারের প্রধান কারণ হ'ল কার্যগুলিতে অগ্রাধিকারগুলি পুনরায় সাজানো, একসাথে একাধিক যোগাযোগ লাইন পরিচালনা করা এবং বাধাপ্রাপ্ত হ্যান্ডলার এবং প্রধান কার্যগুলির মধ্যে সহজ যোগাযোগ। মাইক্রোকন্ট্রোলাররা প্রতিটি রোবোটের মতো একটি সম্পূর্ণ লিনাক্স মেশিন রাখার চেয়ে সস্তা।


2

আপনার যদি সত্যিকারের রিয়েল-টাইম দরকার হয় তবে আপনি একটি বাস্তব-সময় অপারেটিং সিস্টেম ব্যবহার করেন। সুরক্ষা পর্যবেক্ষণ, ডেটা অর্জন এবং ধ্রুবক নমুনা হার নিয়ন্ত্রণের লুপগুলি এমন সাধারণ সাবসিস্টেম যা রিয়েল-টাইম শিডিউলিং ব্যবহার করে।

প্রোগ্রামিংয়ের রিয়েল-টাইম অংশটি সাধারণত যথাসম্ভব ছোট, কারণ এটি ডিবাগ করা আরও কঠিন এবং নির্ভুলতার জন্য পরীক্ষা করা কম কোড সহজ easier রিয়েল-টাইম ওএস এর ডকুমেন্টেশন সাধারণত বেশ ভাল (আরটিএআই / জেনোমাই সহ) is

আমি কিউএনএক্স এবং আরটিএআই-> জেনোমাই ব্যবহার করেছি বিভিন্ন বাস্তব রোবোটিক্স প্রকল্পে। আমি কিউএনএক্সকে প্রাধান্য দিয়েছিলাম তবে জেনোমাই ঠিক তেমন কার্যকর ছিল।


2

অরোকোস একটি পরিপক্ক রিয়েল টাইম রোবোটিক্স নিয়ন্ত্রণ সফ্টওয়্যার কাঠামো। আমি দেখেছি এটি হার্ড রিয়েল টাইম প্রয়োজনীয়তার সাথে উচ্চ গতির রোবোটিক ম্যানিপুলেটরগুলিকে সফলভাবে নিয়ন্ত্রণ করতে ব্যবহার করা হয়েছিল। এটিতে রওস, যোগাযোগ, কনফিগারেশন, সিরিয়ালাইজেশন এবং উপাদান ভিত্তিক প্যাকেজিংয়ের মতো একই কাঠামো স্তরের উপাদান রয়েছে।


2

একাধিক সিপিইউ এবং রিয়েল টাইম প্রশ্ন পরিবর্তনের ক্ষেত্রে আপনার রোবট সম্পর্কে চিন্তাভাবনা শুরু করুন। আপনার যদি এমন একটি অ্যালগরিদম থাকে যা উচ্চ গতির নির্ভরযোগ্য প্রতিক্রিয়া যেমন দুটি চাকা ব্যালেন্সার বা কোয়াড-ক্যাপ্টার স্ট্যাবিলাইজার বা একটি সার্ও পালস প্রয়োজন, রিয়েল সময় অত্যন্ত গুরুত্বপূর্ণ তবে কাজটিও খুব সীমাবদ্ধ।

ডিভাইসের আরডুইনো শ্রেণিতে পাওয়া সস্তা 8 বিট এভিআর বা নিম্ন প্রান্তের 32 বিট এআরএম-এর মতো আপনি ডেডিকেটেড রিয়েল টাইম সিপিইউতে এই জাতীয় নিয়ন্ত্রণ লুপটি অফলোড করতে পারেন। ডেডিকেটেড কন্ট্রোল লুপগুলি চালাচ্ছে এমন অনেকগুলি ছোট ছোট এমসিইউ যুক্ত করতে আপনাকে বাধা দেওয়ার কিছুই নেই, ইউএসবি ডিভাইস গণনা এমনকি এটিকে সহজ করে তোলে।

এখন আপনার ডেডিকেটেড সিপিইউ দ্বারা পরিচালিত টাইমিং সেনসিটিভ কন্ট্রোল লুপগুলি রয়েছে, আপনি রোবটের 'মস্তিষ্ক' এর আসল সময়ের প্রয়োজনগুলি শিথিল করতে পারেন যা লিনাক্সে আরএস বা উইন্ডোজের জন্য কিনেক্টের মতো উপাদান ব্যবহার করে উচ্চতর শেষ যুক্তি চালাতে পারে।


0

"কখন / কোন ক্ষেত্রে" রিয়েল-টাইম সিস্টেমগুলি ব্যবহৃত হয় তার প্রতিক্রিয়াতে:

আমার অভিজ্ঞতায়, মোশন কন্ট্রোল হ'ল রিয়েল-টাইম সিস্টেমগুলির জন্য প্রধান অ্যাপ্লিকেশন। মোটরগুলি নিয়ন্ত্রণের জন্য একটি উচ্চ ফ্রিকোয়েন্সি (100hz, 1000hz এবং আরও) এবং কম জিটার (সময়ের প্রকরণ) গুরুত্বপূর্ণ। সুরক্ষা এখানে একটি বড় বিষয়। মানুষের মধ্যে একটি রোবট বিবেচনা করুন: উদাহরণস্বরূপ, আপনি / রোবট (বাহু) একটি নির্দিষ্ট সময়সীমার / দূরত্বে থেমে আছে তা নিশ্চিত করার প্রয়োজন / চান।

অন্যান্য কাজের জন্য যেমন পাথ পরিকল্পনা, দৃষ্টি প্রক্রিয়াকরণ এবং যুক্তিযুক্ত রিয়েল-টাইম সিস্টেমটি গুরুত্বপূর্ণ নয় এবং প্রায়শই বিকাশের সময় এবং হার্ডওয়্যার ব্যয়ের ওভারহেডের কারণে এড়ানো যায়।

আজকাল, PR2 এর মতো বড় রোবট উভয় পৃথিবীর একত্রিত করে। আরটি সক্ষম হওয়া অপারেটিং সিস্টেমের (যেমন লিনাক্স + জেনোমাই) গতি নিয়ন্ত্রণের রিয়েল-টাইম প্রসঙ্গে এবং নন-রিয়েল-টাইম অংশে (ব্যবহারকারীর ভূমি), ভোজন প্রসেসিং এবং পরিকল্পনা আরওএসের মতো সিস্টেমে এম্বেড করা থাকে। উভয়ই একই কম্পিউটারে চালাতে পারে।

এই উত্তরটি সম্পাদনা করে আমি খুশি, একবার প্রশ্নটি পরিষ্কার হয়ে গেলে। :-)


0

হ্যাঁ, হার্ডওয়্যার রিসোর্সগুলি সময়কালের প্রয়োজনীয়তাগুলি পূরণ করতে পারে বলে ধরে নিচ্ছেন (পর্যাপ্ত প্রক্রিয়াকরণ শক্তি, কম পর্যাপ্ত প্রসারণ), যখন শিডিয়ুলার যথাযথভাবে প্রক্রিয়াগুলি এবং থ্রেডগুলিকে সিক্যুয়েন্স করতে পারে না, তখন একজন রিয়েল-টাইম শিডিয়ুলার ব্যবহার করে, সাধারণত কার্নেলের সাথে বিশেষত সংযুক্ত করা হয় এর চ্যালেঞ্জ। হার্ডওয়্যার ড্রাইভারগুলিও রিয়েল-টাইম শর্তের জন্য অনুকূলিত হতে পারে।

হ্যাঁ, যদি প্রয়োজনীয় সফটওয়্যারগুলির প্রয়োজনীয় সময়ের সীমাবদ্ধতার মধ্যে এটি কাজ করার গ্যারান্টি দেওয়া যায় না, তবে একজন রিয়েল-টাইম পদ্ধতির ব্যবহার করে।


0

একটি ভাল সমাধান দুটি করা হয়। আমি একটি নকশায় একটি ছোট মাইক্রো কন্ট্রোলার, টাইট সার্ভো কন্ট্রোল লুপ এবং এই জাতীয়গুলিতে "হার্ড" রিয়েল টাইম ফাংশন ব্যবহার করি। তারপরে আরও একটি সিপিইউ রয়েছে যা আরও বড়, চলমান লিনাক্স এবং আরওএস। আমি আরওএসকে উচ্চ স্তরের কাজগুলি এবং ইউপি হ্যান্ডেলগুলিকে স্টেপার মোটর নিয়ন্ত্রণ করা বা পিআইডি লুপ চালানোর মতো জিনিসগুলি পরিচালনা করতে দিই।

যেমনটি অন্যের দ্বারা উপরে বলা হয়েছে আপনি একটি অ-রিয়েল-টাইম ওএসকে 1KHz নিয়ন্ত্রণ লুপগুলি চালানোর অনুমতি দিতে পারেন তবে এটি কাজ করার জন্য আপনাকে একটি স্থূল ওভার-কিল সাইজের কম্পিউটারের প্রয়োজন যা বেশিরভাগ সময় অলস লুপে ব্যয় করে। আপনি যদি প্রায় 100% সিপিইউ ব্যবহারের জন্য লিনাক্স / আরএসএস কম্পিউটার চালনা করেন তবে রিয়েল-টাইম কর্মক্ষমতা দুর্বল। দ্বি স্তরের নকশা ব্যবহার করা আপনাকে সর্বদা খুব ভাল আরটি পারফরম্যান্স পেতে দেয় এবং একটি ছোট, কম পাওয়ার ক্ষুধার্ত কম্পিউটার (সম্ভবত একটি পাই 2 উচ্চ স্তরের কাজগুলিও ব্যবহার করতে পারে) আমার ইউপি বর্তমানে কোনও ওএস চালায় না তবে আমি ফ্রিআরটিওএস এ চলেছি

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.