রুম পরিষ্কারের রোবট প্রোগ্রাম করার জন্য আমার কোন অ্যালগরিদম প্রয়োগ করা উচিত?


25

এই প্রশ্নের জন্য ধরে নিন যে নিম্নলিখিত জিনিসগুলি অজানা:

  • ঘরের আকার এবং আকার
  • রোবটের অবস্থান
  • যে কোনও বাধা উপস্থিতি

এছাড়াও ধরে নিন যে নিম্নলিখিত জিনিসগুলি ধ্রুবক:

  • ঘরের আকার এবং আকার
  • সকলের সংখ্যা, আকৃতি এবং অবস্থান (যদি থাকে) বাধা

এবং ধরে নিন যে রোবোটের নিম্নলিখিত বৈশিষ্ট্য রয়েছে:

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

শেষ পর্যন্ত দয়া করে রোবটের পরিবেশের নিম্নলিখিত বৈশিষ্ট্যগুলি বিবেচনা করুন:

  • সিলিং-কম স্পেস স্টেশনে থাকাকালীন ঘরটি নিরাপদ তবে হতাশার সাথে ধূমকেতুগুলির কাছাকাছি দূরত্ব, সুতরাং ধুলোবালি (এবং বরফ) ক্রমাগত পরিবেশ ছড়িয়ে দিচ্ছে।

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


+ অ্যালগরিদম এবং + তত্ত্বের মতো ট্যাগগুলি এই জাতীয় একটি প্রশ্নে সহায়তা করবে তবে এগুলি যুক্ত করার মতো খ্যাতি আমার নেই
জেসন স্পারস্কে

অবশ্যই রুম্বার চেয়ে ভাল কিছু
অক্টোপাস

মজাদার. আমার কাছে ববসুইপ আছে এবং এটি ঠিক নিখুঁতভাবে প্রোগ্রাম করা হয়েছে momblogsociversity.com/meet-newest-addition-family-bobsweep আমি প্রত্যেককে এটির পরামর্শ দিই। গ্রিটিংস!

1
এটি কি বিজ্ঞাপন? যদি তা না হয় তবে আপনি কেবল লিঙ্কের চেয়ে তথ্য পোস্ট করতে চাইতে পারেন, রোবট কীভাবে আচরণ করে এবং কেন এটি সঠিক।
শাহবাজ

উত্তর:


18

আমি যতদূর জানি, এই সমস্যাটি "সমাধান করা হয়নি"।

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

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

  • এর মতো অনলাইন অ্যালগোরিদমগুলিকে প্রায়শই "বাগ" অ্যালগরিদম বলা হয় কারণ এগুলি কোনও বাগের মতো দেখতে কোনও অঞ্চলে ঘুরে বেড়ানো, কোনও কিছুতে umpুকে পড়া, তারপরে কিছুটা ঘুরে বেড়ানো tend

  • কোনও বাধা নেই, এবং একটি আয়তক্ষেত্রাকার কক্ষ, এবং ধরে নিয়ে আপনি সীমানা থেকে একটি বাথ্রোফিডন (গরুর পথ) পথটি সর্বোত্তম। এখানে চিত্র বর্ণনা লিখুন

মজার বিষয় যে কৃষকরা চিরকাল এই কাজ করে চলেছেন, তাই না? http://en.wikedia.org/wiki/Boustrophedon । এগুলি বাধাগুলি সহ কক্ষগুলিতে প্রসারিত হতে পারে মোটামুটি আয়তক্ষেত্রাকার অঞ্চল যা বাধা মুক্ত finding হাওয়ে চেসেট এতে কিছুটা কাজ করেছেন

  • πd2
  • এটি একটি বিশাল, আকর্ষণীয় অঞ্চল। আমি দুঃখিত আমি আরও ভাল সংক্ষিপ্তসার সরবরাহ করতে পারি না!

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


9

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

থেকে কিভাবে স্টাফ ওয়ার্কস :

অ্যালগরিদম

আইরোবটের বিপণন যোগাযোগের ভাইস প্রেসিডেন্ট ন্যানসি ডসল্ট স্মিথের সাথে একটি সাক্ষাত্কার থেকে :

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

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

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

এলইডি সহ রম্বাসের কয়েকটি দীর্ঘ এক্সপোজার ছবিগুলি চিত্রায়িত করে যে এটি বাস্তবে কীভাবে কাজ করে:

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন


এটি কি লিঙ্ক থেকে একটি অনুলিপি-পেস্ট সামগ্রী?
জোশ ভ্যান্ডার হুক

@ জোশ প্রশ্নের উত্তরের প্রাসঙ্গিক উপাদানটি লিঙ্কের পচা রোধ করতে লিঙ্কযুক্ত সাইটগুলি থেকে অনুলিপি করে একটি ব্লককোটে রাখা হয়েছে।
এম্বেডড.কাইল 20

7

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

Neato মধ্যে লেজার রেঞ্জ ফাইন্ডার প্রায়ই হয় cannabilized , রোবোটিক্স জন্য যেমন স্ল্যাম আলগোরিদিম একটি সাশ্রয়ী সেন্সর থাকে।

যদি আমাকে আপনার কাজটি দেওয়া হয়, তবে আমি প্রথমে আমার কাছে থাকা হার্ডওয়ারের উপর ভিত্তি করে একটি উপযুক্ত এসএএমএল বাস্তবায়ন সন্ধান করব।

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


এই সমস্যাটির জন্য স্লাম যথেষ্ট উপযুক্ত নয় কারণ এটি এমন একটি সিমুলেশন যা পজিশনে কোনও অনিশ্চয়তা নেই। সত্যিকারের রোবোটের জন্য, আপনি যদিও একেবারে ঠিক।
আয়ান

আমি এটি মিস করেছি (যদি এটি থাকে)। আসলে এটি বলে যে নিম্নলিখিতগুলি অজানা; রোবটের অবস্থান
স্পাইকড

আমি ভাবছিলাম যে অবস্থানটি অজানা হিসাবে শুরু হয়েছিল তবে ঘরের টপোলজি তৈরি হওয়ার সাথে সাথে এটি পরিচিত হতে পারে।
জেসন স্পারস্কে

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

আপনার উত্তরটি সিস্টেমের দৃষ্টিকোণ থেকে ভাল। তবে আমি বিশ্বাস করি যে এই প্রশ্নটি একটি ভাল তত্ত্ব / অ্যালগরিদম প্রশ্ন।
জোশ ভ্যান্ডার হুক

6

আপনার প্রথম যে জিনিসটি স্থাপন করা দরকার তা হ'ল রোবটের লক্ষ্য - আপনার প্রশ্ন থেকে একেবারে পরিষ্কার নয়। আপনার রোবট দুটি কার্য সম্পাদন করতে হবে: পরিষ্কার-সক্ষম ক্ষেত্রের আকৃতি আবিষ্কার করা এবং তারপরে এটি পরিষ্কার করা।

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

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

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


আচ্ছা যেহেতু দুঃখজনকভাবে আমি নিজের উপর একটি সাক্ষাত্কারের প্রশ্নটি আরও কঠিন করে দিচ্ছি আমি মনে করি আমি আরও কিছু তথ্য নিয়ে আসতে পারি। আপনি যে পয়েন্টগুলি উত্থাপন করছেন তা আমি পছন্দ করি :)
জেসন স্পারস্কে

2

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

মূলত, এটি পরিষ্কার করার সময় এটি এলাকার মানচিত্রটি তৈরি করার চেষ্টা করে এবং এটি মানচিত্রটি নিকটবর্তী আনভিস্টেড নোড (ঘরের অংশ) সন্ধান করতে ব্যবহার করে। যখন এটি কোনও সন্ধান করতে পারে না, তার মানে হল ঘরটি পরিষ্কার করা হয়েছে (বা অশুচি অংশগুলি রোবট দ্বারা অ্যাক্সেসযোগ্য)।

এটি অন্যান্য অ্যালগরিদমের তুলনায় ধীর হতে পারে তবে এটি অবস্থান, দিকনির্দেশ এবং বাধা নির্বিশেষে কভারেজের গ্যারান্টি দিতে পারে।

https://github.com/dungba88/cleaner_robot

আপডেট: আমি এখানে একটি ডেমো তৈরি করেছি এবং এটি ব্যাকট্র্যাকিং ডিএফএসের সাথে তুলনা করছি। সুতরাং যদিও আমার অ্যালগরিদম হে (এন ^ 2), এটি চাল এবং টার্নের সংখ্যার তুলনায় অনেক বেশি অনুকূলিত।

http://jenova.dungba.org/cleaner/showdown


আকর্ষণীয়, তাই এটি ঘরটি 2 ডি গ্রিডে ভেঙে দেয়, আমি এখনও আপনার কোডটি পড়ছি, আপনার অশুচি অঞ্চলগুলিতে পৌঁছানোর জন্য আপনি কোন পথ সন্ধানের পদ্ধতির ব্যবহার করছেন? Dijkstra?
জেসন স্পারস্ক

আমি বিএফএস ব্যবহার করে নিকটতম অশুচি অবস্থানটি খুঁজে পেয়েছি।
আন ডাঙ বিই

-1

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

সমাধানটি হ'ল ঘরের কোনা খুঁজে পাওয়া, এবং কোনা খুঁজে পাওয়া কোনও বড় সমস্যা হবে না। একবার এটি অর্জন হয়ে গেলে, তারপরে কেবলমাত্র ঘরের কেন্দ্রস্থলে একটি সর্পিল পথ অনুসরণ করুন।

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