আপনার সমাধানটি পুনরায় প্রয়োগ করে, আমি এটি পেয়েছি:
ভেক্টরগুলির মধ্যে অ্যাঙ্গেল
প্রথমত, আপনি পয়েন্টগুলির মধ্যে কোণ চান A এবং B - বিশেষত ইউনিট ভেক্টর নয়।
( এফএক্স প্রোগ্রামিংয়ের মাধ্যমে ):
θ=math.atan2(Bx−Ax,By−Ay)
যানবাহন ইয়া এঙ্গেল
পরবর্তী (এবং আমি সন্দেহ করি এটি আপনার সমস্যা), আপনাকে গাড়ির ইয়া কোণটি বিয়োগ করতে হবেψ আপনার গণনা থেকে θ।
শিরোনাম বনাম ইয়াও
আপনি যদি নিজের যানবাহনের "ইয়াও কোণ" এর জন্য একটি কম্পাস ব্যবহার করেন তবে এটি আপনার ভুলও হতে পারে; শিরোনাম এবং ইয়াও এক নয় । ধনাত্মক বরাবর কম্পাস শিরোনাম শূন্যyঅক্ষ, ঘড়ির কাঁটার দিকে পরিণত হওয়ার সাথে সাথে বাড়ছে :
ইয়া ধনাত্মক বরাবর শূন্য xঅক্ষ, ঘড়ির কাঁটার বিপরীতে পরিণত হওয়ার সাথে সাথে বাড়ছে :
এই পরিমাপের মধ্যে 90 ডিগ্রি ওভারল্যাপ, কাঙ্ক্ষিত ইয়াবা থেকে যানবাহন জো যোগ করার (বিয়োগের পরিবর্তে) সাথে মিলিত হতে পারে, যখন আপনার লক্ষ্যটি ± 5 within এর মধ্যে ছিল এবং ± 90 at এ খারাপ আচরণ করেছে তখন কেন জিনিসগুলি কাজ করেছিল °
অংশ এবং এক্স এবং Y তে রূপান্তর
সেখান থেকে, আপনি বলছেন যে আপনি এই ফলাফলটি রূপান্তর করছেন (θ−ψ) এর মধ্যে x এবং yউপাদানগুলি, তাদের রোল এবং পিচ কোণ হিসাবে রোবোটে প্রেরণ করে। উপরোক্ত সংশোধনগুলির সাথে আপনার এই মুহুর্তে পছন্দসই ফলাফল পাওয়া উচিত। যাইহোক, এই উপাদানগুলিকে সরাসরি টিস্যু কোণগুলিতে ম্যাপিং সমস্যাযুক্ত হতে পারে যেহেতু আপনি কেবল অবস্থানের পার্থক্য বিবেচনা করছেন, এবং গাড়ির গতিবেগ (সত্যিকার অর্থে, গতি) নয়)
পিআইডি নিয়ন্ত্রণ
আপনার গাড়ির রোল এবং পিচের জন্য পিআইডি কন্ট্রোল লুপ ব্যবহার করে সেরা পরিবেশিত হতে পারে। এটি হ'ল একবার আপনি নিজের কোডটি ঠিক করেন এবং আপনার টার্গেটে আঘাত হানতে সক্ষম হবেন, আমার ধারণা হ'ল আপনি এর পরিবর্তে এটি ওভারশুট করা শুরু করবেন - সামনে এবং পিছনে দোলন। একটি সঠিক-টিউনযুক্ত পিআইডি হ'ল এটিকে ঘটতে বাধা দেবে, তবুও আপনাকে দ্রুত লক্ষ্যে পৌঁছানোর অনুমতি দেয়।
পরিবর্তে আপনার প্লাগ x এবং yরোল এবং পিচ-এ, তাদেরকে ত্রুটি মান হিসাবে বিবেচনা করুন যা রোল এবং পিচ পিআইডিরা ইনপুট হিসাবে গ্রহণ করে।