দুটি জিনিস.
যদি আপনি ম্যাপিংয়ের পরিকল্পনা করে থাকেন তবে আপনার একটি পূর্ণাঙ্গ যুগপত স্থানীয়করণ এবং ম্যাপিং (এসএলএম) আলগোরিদিম প্রয়োজন। দেখুন: যুগপত স্থানীয়করণ এবং ম্যাপিং (এসএলএম): প্রথম খণ্ডের প্রয়োজনীয় অ্যালগরিদম । এসএমএলএমে, রোবট রাজ্যটি অনুমান করা কেবলমাত্র অর্ধেক সমস্যা। কীভাবে এটি করা যায় তার চেয়ে বড় প্রশ্নের উত্তর এখানে দেওয়া যেতে পারে।
স্থানীয়করণ সম্পর্কিত (রোবোটের অবস্থা অনুমান করে), এটি কোনও কলম্যান ফিল্টারের কাজ নয়। থেকে রূপান্তরটি
থেকে কারণে একটি রৈখিক ফাংশন নয় কৌণিক ত্বরণ এবং বেগ। সুতরাং আপনাকে এই কাজের জন্য অ-রৈখিক অনুমানকারী বিবেচনা করতে হবে। হ্যাঁ, এটি করার স্ট্যান্ডার্ড উপায় রয়েছে। হ্যাঁ, এগুলি সাহিত্যে পাওয়া যায়। হ্যাঁ, সাধারণত সমস্ত ইনপুট একই ফিল্টারে রাখা হয়। অবস্থান, বেগ, অভিমুখীকরণ এবং রোবটের কৌণিক বেগ আউটপুট হিসাবে ব্যবহৃত হয়। এবং হ্যাঁ, আমি এখানে তাদের সাধারণ থিমগুলির একটি সংক্ষিপ্ত ভূমিকা উপস্থাপন করব। প্রধান টেক-এভয়েসগুলি হ'লএক্স ( টি + 1 )x ( টি ) = [ x , y, এক্স˙, y˙, θ , θ˙]এক্স ( টি + 1 )
- আপনার রাজ্যে গাইরো এবং আইএমইউ পক্ষপাত অন্তর্ভুক্ত করুন বা আপনার অনুমানগুলি বিভক্ত হবে
- একটি বর্ধিত কালম্যান ফিল্টার (EKF) সাধারণত এই সমস্যার জন্য ব্যবহৃত হয়
- বাস্তবায়নগুলি স্ক্র্যাচ থেকে নেওয়া যেতে পারে এবং সাধারণত "সন্ধান করা" হবে না।
- স্থানীয়করণ এবং এসএলএম সমস্যার বেশিরভাগ ক্ষেত্রে ইমপ্লিমিটনগুলি বিদ্যমান, সুতরাং আপনার চেয়ে বেশি কাজ করবেন না। দেখুন: রোবট অপারেটিং সিস্টেম আরওএস
এখন, আপনার সিস্টেমের প্রসঙ্গে EKF ব্যাখ্যা করতে। আমাদের কাছে একটি আইএমইউ + গাইরো, জিপিএস এবং ওডোমেট্রি রয়েছে। উল্লেখিত রোবটটি একটি ডিফারেনশিয়াল ড্রাইভ drive ফিল্টারিংয়ের কাজটি হ'ল রোবটটির , নিয়ন্ত্রণের ইনপুটগুলি , এবং প্রতিটি সেন্সর, থেকে পরিমাপের বর্তমান পোজ প্রাক্কলন গ্রহণ
করা এবং পরবর্তী সময়ে পদক্ষেপ
। আমরা আইএমইউ পরিমাপগুলিকে , জিপিএস হ'ল , এবং , ।ইউটিz- রটি এক্স টি+ +1আমিটিজিটিহেটনএক্স^টিতোমার দর্শন লগ করাটিz- রটিএক্স^t + 1আমিটিজিটিহেটি
আমি অনুমান আমরা যত রোবট জাহির আনুমানিক হিসাব আগ্রহী
। আইএমইউ এবং গাইরোসের সমস্যা হ'ল বামন। ত্বরণগুলির মধ্যে একটি অ-স্টেশনারি পক্ষপাত রয়েছে যা আপনাকে অবশ্যই EKF এ অ্যাকাউন্ট করতে হবে। এটি (সাধারণত) আনুমানিক অবস্থায় পক্ষপাত রেখে putting এটি আপনাকে প্রতিটি সময় ধাপে সরাসরি পক্ষপাত অনুমান করতে দেয়।
, বায়াসের ভেক্টরের জন্য । x t = x , y , ˙ x , ˙ y , θ , ˙ θ , b খএক্সটি= এক্স , ওয়াই, এক্স˙, y˙, θ , θ˙এক্সটি= এক্স , ওয়াই, এক্স˙, y˙, θ , θ˙, খখ
আমি ধারনা করছি:
- হেটি = দুটি দূরত্বের পরিমাপ যা ট্র্যাডগুলি কিছুটা ছোট সময় বৃদ্ধিতে ভ্রমণ করেছিল তার দূরত্বকে উপস্থাপন করে
- α , β , θ ¨ x , ¨ y , ¨ zআমিটি তিন স্থিতিবিন্যাস পরিমাপ = এবং তিনটি accelleration পরিমাপ।α , β, θএক্স¨, y¨, জেড¨
- জি এক্স টি , জি ওয়াই টিজিটি = গ্লোবাল ফ্রেমে রোবটের অবস্থান ,
।জিএক্সটি,জিYটি
সাধারণত, নিয়ন্ত্রণের ফলাফলগুলি (প্রতিটি পদক্ষেপের জন্য পছন্দসই গতি) ফলাফলগুলি (রোবটের ভঙ্গিতে পরিবর্তন) মানচিত্র করা কঠিন। পরিবর্তে , এটা খুবই সাধারণ (দেখুন Thrun , Odometry প্রশ্ন ) নিয়ন্ত্রণের "RESULT" যেমন odometry ব্যবহার করতে। আপনি যখন ঘর্ষণ-বিহীন পৃষ্ঠের উপরে না থাকবেন তখন এই অনুমানটি ভালভাবে কাজ করে। আইএমইউ এবং জিপিএস স্লিপেজের জন্য সঠিক করতে সহায়তা করতে পারে, যেমনটি আমরা দেখব।তোমার দর্শন লগ করা
সুতরাং প্রথম কাজটি বর্তমান অবস্থা থেকে পরবর্তী অবস্থার পূর্বাভাস দেওয়া:
। ডিফারেনশিয়াল ড্রাইভ রোবটের ক্ষেত্রে, এই ভবিষ্যদ্বাণীটি সরাসরি সাহিত্য থেকে পাওয়া যেতে পারে ( চাকা মোবাইল রোবোটের কিনেমেটিক্সে দেখুন বা কোনও আধুনিক রোবোটিক্সের পাঠ্যপুস্তকের আরও সংক্ষিপ্ত চিকিত্সা দেখুন), বা এখানে প্রদর্শিত হিসাবে স্ক্র্যাচ থেকে নেওয়া: ওডোমেট্রি প্রশ্ন ।এক্স^t + 1= চ( এক্স^টি, Uটি)
সুতরাং, আমরা এখন । এটি প্রচার বা পূর্বাভাসের পদক্ষেপ। আপনি কেবল প্রচার করে একটি রোবট পরিচালনা করতে পারেন । যদি মানগুলি সম্পূর্ণ নির্ভুল হয় তবে আপনার কখনই কোনও অনুমান পাওয়া যাবে না যা আপনার সত্যিকারের অবস্থার সাথে ঠিক সমান হয় না। এটি বাস্তবে কখনও ঘটে না।হেটন এক্সএক্স^t + 1= চ( এক্স^টি, ওটি)হেটিএক্স^
এটি কেবল পূর্ববর্তী প্রাক্কলন থেকে একটি পূর্বাভাসযুক্ত মান দেয় এবং সময়টির সাথে অনুমানের নির্ভুলতা কীভাবে অবনমিত হয় তা আমাদের জানায় না। সুতরাং, অনিশ্চয়তা প্রচারের জন্য আপনাকে অবশ্যই EKF সমীকরণগুলি ব্যবহার করতে হবে (যা গাউসিয়া শব্দ অনুমানের অধীনে বন্ধ আকারে অনিশ্চয়তা প্রচার করে), একটি কণা ফিল্টার (যা একটি নমুনা ভিত্তিক পদ্ধতির ব্যবহার করে) *, ইউকেএফ (যা পয়েন্ট-ওয়াইজ ব্যবহার করে) অনিশ্চয়তার সান্নিধ্য) বা অন্য অনেকগুলি রূপের মধ্যে একটি।
ইকেএফের ক্ষেত্রে আমরা নিম্নরূপে এগিয়ে চলি। যাক রোবট রাষ্ট্র কোভ্যারিয়েন্স ম্যাট্রিক্স হও। আমরা ফাংশন রৈখিকরণ
একটি রৈখিক সিস্টেম প্রাপ্ত টেলর-সিরিজ সম্প্রসারণ ব্যবহার করে। কালম্যান ফিল্টার ব্যবহার করে একটি লিনিয়ার সিস্টেম সহজেই সমাধান করা যায়। সময়ে অনুমান কোভ্যারিয়েন্স ধরে হয় এবং odometry মধ্যে শব্দ অধিকৃত সহভেদাংক ম্যাট্রিক্স হিসাবে দেওয়া হয়
(সাধারণত একটি তির্যক ম্যাট্রিক্স, মত ) । ফাংশনের যদি , আমরা প্রাপ্ত Jacobian এবং f t P t U t 2 × 2 .1 × I 2 × 2 f F x = ∂ fপিটিচটিপিটিইউটি2 × 2.1 × আমি2 × 2চ
Fu=∂fএফএক্স= ∂চ∂এক্সএফতোমার দর্শন লগ করা= ∂চ∂তোমার দর্শন লগ করা, তারপর অনিশ্চয়তা হিসাবে প্রচার করুন,
পিt + 1= এফএক্স। পিটি। চটিএক্স+ এফতোমার দর্শন লগ করা। ইউটি। চটিতোমার দর্শন লগ করা
এখন আমরা অনুমান এবং অনিশ্চয়তা প্রচার করতে পারি। নোট করুন অনিশ্চয়তা সময়ের সাথে একঘেয়েভাবে বাড়বে। এটি প্রত্যাশিত এটি ঠিক করার জন্য, সাধারণত যা করা হয় তা হ'ল এবং ব্যবহারের পূর্বাভাসের অবস্থা আপডেট করতে। এটিকে ফিল্টারিং প্রক্রিয়ার পরিমাপ পদক্ষেপ বলা হয়, কারণ সেন্সরগুলি রোবটের অবস্থার অপ্রত্যক্ষ পরিমাপ সরবরাহ করে।আমিটিজিটি
প্রথমে, জিপিএস, জন্য এবং ফাংশন হিসাবে রোবট রাজ্যের কিছু অংশ অনুমান করতে প্রতিটি সেন্সর ব্যবহার করুন । ফরম অবশিষ্ট বা নতুনত্ব যা পূর্বাভাস এবং মাপা মান পার্থক্য নেই। তারপরে, এক সহভেদাংক ম্যাট্রিক্স আকারে প্রতিটি সেন্সর অনুমান জন্য সঠিকতা অনুমান সব সেন্সর (জন্য , এই ক্ষেত্রে)। অবশেষে, এর জ্যাকবীয়দের সন্ধান করুন এবং নীচের হিসাবে রাষ্ট্রের অনুমানটি আপডেট করুন:জছ( )জআমি( )আরআরছআরআমিজ
প্রতিটি সেন্সর জন্য রাষ্ট্র অনুমান সঙ্গে ( উইকিপিডিয়ার এন্ট্রি অনুসরণ )গুলিz- রগুলি
বনামগুলি= জেডগুলি- এইচগুলি( এক্স^t + 1)
এসগুলি= এইচগুলি। পিt + 1∗ এইচটিগুলি+ আরগুলি
কে= পিt + 1∗ এইচটিগুলিএস- 1গুলি
এক্স^t + 1= এক্স^t + 1- কে∗ v
পিt + 1= ( আমি- কে∗ এইচগুলি) ∗ পিt + 1
জিপিএসের ক্ষেত্রে, পরিমাপ এটি সম্ভবত অক্ষাংশ এবং দ্রাঘিমাংশ থেকে রোবটের স্থানীয় ফ্রেমে রূপান্তর, সুতরাং প্রায় পরিচয় হবে। বেশিরভাগ ক্ষেত্রে সরাসরি GPS ইউনিট দ্বারা প্রতিবেদন করা হয়।z- রছ= এইচছ( )এইচছআরছ
আইএমইউ + ক্ষেত্রে, ফাংশনটি ত্বরণের একীকরণ এবং একটি অ্যাডিটিভ বায়াস টার্ম। আইএমইউ হ্যান্ডেল করার একটি উপায় হ'ল পছন্দসই সময়ে অবস্থান এবং গতিবেগ অনুমানের সন্ধানের জন্য সংখ্যাসূচকভাবে ত্বরণকে সংহত করা। প্রতিটি ত্বরণ অনুমানের জন্য যদি আপনার আইএমইউতে একটি ছোট সংযোজনযুক্ত শব্দ শব্দ থাকে, তবে অবশ্যই অবস্থানের প্রাক্কলনের যথার্থতা পেতে আপনাকে এই শব্দটি একীভূত করতে হবে। তারপরে কোভেরিয়েন্স হ'ল ছোট ছোট সমস্ত অ্যাডিটিভ শব্দের শর্তগুলির একীকরণ, । পক্ষপাতিত্বের জন্য আপডেটটি অন্তর্ভুক্ত করা আরও কঠিন এবং আমার দক্ষতার বাইরে। তবে, যেহেতু আপনি পরিকল্পনার গতিতে আগ্রহী, আপনি সম্ভবত সমস্যাটি সহজ করতে পারেন। এর জন্য আপনাকে সাহিত্যে সন্ধান করতে হবে।z- রআমি= এইচআমি( )পিআমিআরআমিপিআমি
আমার মাথার শীর্ষে থাকা কয়েকটি রেফারেন্স:
ইসিএফ-ভিত্তিক ভিজ্যুয়াল-ইনটারিয়াল ওডোমেট্রির যথার্থতা উন্নত করা
মাল্টি-রোবট সমবায় স্থানীয়করণের জন্য পর্যবেক্ষণ-ভিত্তিক ধারাবাহিক ইকেএফ অনুমানকারী
আইএনএস-জিপিএসের জন্য অভিযোজিত দ্বি-পর্যায়ের EKF অজানা ত্রুটিযুক্ত পক্ষপাতিত্বের সাথে আলগাভাবে মিলিত সিস্টেম
এই ক্ষেত্রটি যথেষ্ট পরিপক্ক যে গুগল (পণ্ডিত) সম্ভবত আপনাকে একটি কার্যকর বাস্তবায়ন খুঁজে পেতে পারে। আপনি যদি এই অঞ্চলে প্রচুর কাজ করতে যাচ্ছেন তবে আমি আপনাকে একটি দৃ text় পাঠ্যপুস্তিকা নেওয়ার পরামর্শ দিচ্ছি। গুগল কার খ্যাতির এস থ্রুন দ্বারা সম্ভবত প্রোব্লালিস্টিক রোবোটিক্সের মতো কিছু । (আমি গভীর রাতে বাস্তবায়নের জন্য এটি একটি দরকারী রেফারেন্স পেয়েছি)।
* রোবট অপারেটিং সিস্টেম (আরওএস) এ উপলব্ধ বেশ কয়েকটি পিএফ-ভিত্তিক অনুমানক রয়েছে
। তবে এগুলি অভ্যন্তরীণ ব্যবহারের জন্য অনুকূলিত করা হয়েছে। কণা ফিল্টারগুলি মাল্টি-মডেল পিডিএফগুলির সাথে লেনদেন করে যা মানচিত্র ভিত্তিক স্থানীয়করণের ফলাফল হতে পারে (আমি কি এই দরজার কাছে বা সেই দরজার নিকটে )? আমি বিশ্বাস করি বেশিরভাগ আউটডোর বাস্তবায়ন (বিশেষত যারা জিপিএস ব্যবহার করতে পারেন, অন্তত মাঝে মাঝে) প্রসারিত কালম্যান ফিল্টার (ইকেএফ) ব্যবহার করে । আমি ডিফারেন্সিয়াল ড্রাইভ সহ আউটডোর, গ্রাউন্ড রোভারের জন্য বর্ধিত কালম্যান ফিল্টারটি সফলভাবে ব্যবহার করেছি।