একটি সম্পূর্ণ অপরিচিত পরিবেশে নেভিগেট করতে রোবটকে একই সাথে দুটি কঠিন প্রশ্নের উত্তর দিতে হয়: “আমি কোথায় আছি?” (অবস্থান) এবং “আমার চারপাশের জগত দেখতে কেমন?” (মানচিত্র)। এটিই রোবটিক্সের বিখ্যাত SLAM (Simultaneous Localization and Mapping) সমস্যা: মানচিত্র ছাড়া অবস্থান জানা যায় না, আবার অবস্থান না জেনে মানচিত্র আঁকা যায় না। আধুনিক স্থানিক বুদ্ধিমত্তায় স্ল্যামকে একটি সুবিশাল নন-লিনিয়ার গ্রাফ অপ্টিমাইজেশন সমস্যা হিসেবে সমাধান করা হয়, যেখানে ফ্যাক্টর গ্রাফ ও লুপ ক্লোজার পুঞ্জীভূত ভুলকে শূন্যে নামিয়ে আনে।

১. গ্রাফ-ভিত্তিক স্ল্যাম (GraphSLAM) প্যারাডাইম

আধুনিক স্ল্যাম সিস্টেমে রোবটের সম্পূর্ণ যাত্রাপথকে একটি গ্রাফ (mathcal{G} = (mathcal{V}, mathcal{E})) হিসেবে মডেল করা হয়:

  • নোড (Nodes): সময়ের সাথে সাথে রোবটের বিভিন্ন মুহূর্তের অবস্থান (x_i in ext{SE}(3)) এবং ৩ডি ল্যান্ডমার্ক।
  • এজ (Edges বা Factors): ওডোমেট্রি, আইএমইউ এবং লিডার বা ক্যামেরা সেন্সর থেকে প্রাপ্ত পরিমাপ, যা দুটি নোডের মধ্যে সম্পর্ক স্থাপন করে।

গাণিতিক অপ্টিমাইজেশনের মাধ্যমে সমস্ত পরিমাপের ভুলের বর্গের সমষ্টি সর্বনিম্ন করা হয়:

[
X^* = argmin_X sum_{k} r_k(X)^T Omega_k r_k(X)
]

যেখানে (Omega_k) হলো পরিমাপের তথ্য ম্যাট্রিক্স (Information Matrix)।

২. ফ্যাক্টর গ্রাফ ও iSAM2 অ্যালগরিদম

ফ্যাক্টর গ্রাফের মাধ্যমে সিস্টেমের কন্ডিশনাল ইন্ডিপেনডেন্স প্রকাশ করা হয়। রোবট যখন নতুন পথ চলে, জ্যাকোবিয়ান ম্যাট্রিক্সটি অত্যন্ত স্পার্স (Sparse) থাকে। ডেলার্ট ও কায়েসের বিখ্যাত iSAM2 অ্যালগরিদম গ্রাফটিকে একটি Bayes Tree-তে রূপান্তর করে, যার ফলে সম্পূর্ণ গ্রাফ নতুন করে হিসাব না করে কেবল পরিবর্তিত শাখাগুলোকে মিলিমিটারে অপ্টিমাইজ করে প্রতি সেকেন্ডে শতবার ম্যাপ আপডেট করা সম্ভব হয়।

৩. লুপ ক্লোজার (Loop Closure): ত্রুটি নিরসনের চাবিকাঠি

ঘণ্টার পর ঘণ্টা চলার পর চাকার পিছলানো ও সেন্সরের ড্রিফটের কারণে রোবটের আঁকা ম্যাপ ধীরে ধীরে বেঁকে গিয়ে বিকৃত হয়ে পড়ে। এই বিপর্যয় থেকে রক্ষা পাওয়ার একমাত্র উপায় হলো লুপ ক্লোজার:

  1. স্থান শনাক্তকরণ: ক্যামেরা ছবি বা লিডার স্ক্যানের প্যাটার্ন মিলিয়ে রোবট বুঝতে পারে যে সে অতীতে পরিভ্রমণ করা কোনো স্থানে ফিরে এসেছে।
  2. পোজ গ্রাফ শিথিলকরণ: অতীতের পরিচিত নোড এবং বর্তমান নোডের মধ্যে একটি নতুন শক্ত বাঁধন (Edge) যুক্ত করা হয়।
  3. গ্লোবাল অপ্টিমাইজেশন: সাথে সাথে অপ্টিমাইজার পুরো গ্রাফের ওপর এই সংশোধন ছড়িয়ে দেয়, যার ফলে শত শত মিটারের পুঞ্জীভূত ড্রিফট এক লহমায় সোজা হয়ে বাস্তব জগতের সাথে নিখুঁতভাবে মিলে যায়।