আমি কি হেলিকপ্টার নিয়ন্ত্রণ করতে কোয়ার্টারিয়ন ব্যবহার করতে পারি?


9

আমি একটি সরলীকৃত হেলিকপ্টার তৈরি করার চেষ্টা করছি (এই মুহুর্তের জন্য, এটি একটি কিউব) সিমুলেশন 3 ডি তে করে দিচ্ছি এবং ঘূর্ণন নিয়ে আমার কিছু সমস্যা হচ্ছে। একটি হেলিকপ্টার তিনটি অক্ষ বরাবর ঘুরতে পারে:

  • রিয়ার প্রোপেলারটি ব্যবহার করে নিজেই ঘোরান: y অক্ষের আবর্তন
  • বাম বা ডানে যেতে বাম এবং ডানদিকে কাত করুন: z অক্ষের আবর্তন
  • পিছনে বা এগিয়ে যেতে উপরের দিকে নিচু করুন: এক্স অক্ষের আবর্তন

আমার প্রতিটি অক্ষ পৃথকভাবে নিয়ন্ত্রণ করতে সক্ষম হওয়া দরকার। এখনও অবধি আমি ইউলার অ্যাঙ্গেলগুলি ব্যবহার করার চেষ্টা করেছি, তবে আমি যে ঘূর্ণনের ক্রমটি ব্যবহার করি না কেন, আমি একটি গিম্বল লক বা কিছু অক্ষ "স্যুইচ প্লেস" ব্যবহার করি।

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

আশ্চর্যের বিষয় হ'ল, আমি যদি আমার হেলিকপ্টারটির তিনটি অক্ষকে থাম্ব (আপ থাম্ব = ই, ইনডেক্স = জেড, মিডল = এক্স) উপস্থাপন করতে আঙুলটি ব্যবহার করি তবে আমি মনে করি না যে আমি এই সমস্যার মধ্যে পড়েছি। কেন?


যদি আপনার কাছে কোনও দৃশ্য-গ্রাফ অ্যাক্সেস থাকে, তবে একটি কার্যকর বিকল্প হ'ল প্রতিটি অক্ষের জন্য নেস্টেড পাত্রে থাকতে হবে যা আপনি পৃথকভাবে ঘোরান।
বাম্মজ্যাক

@ অ্যালবামজ্যাক, হ্যাঁ, আমি এই সম্পর্কে ভেবেছিলাম তবে, এটি কোনও নির্দিষ্ট ক্রমে তিনটি ঘূর্ণনের ম্যাট্রিক্স হিসাবে সমান নয়?
সাব

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

@ মাইক সেমদার, তাহলে আমি কীভাবে আমার হেলিকপ্টারটির পিচ / ইয়া / রোলকে নিয়ন্ত্রণ সরবরাহ করতে পারি?
subb

@ সুব @ ফ্লিপ এবং আমার উত্তর মূলত আপনাকে কীভাবে এটি করবেন তা জানিয়েছে।
মাইক সেমদার

উত্তর:


4

আপনার হেলিকপ্টারটির বর্তমান ওরিয়েন্টেশন সংরক্ষণের জন্য আপনি ম্যাট্রিক্স বা কোয়ার্টারিয়ন ব্যবহার করতে সক্ষম হবেন। আপনি যে সমস্যাটি চালাচ্ছেন তা হ'ল হেলিকপ্টারটিতে আপনি কীভাবে পিচ / ইয়া / রোল পরিবর্তন প্রয়োগ করেন।

আমি মনে করি আপনি হেলিকপ্টারটিতে প্রতিটি ফ্রেমে পিচ / ইয়া / রোল প্রয়োগ করতে চান। আপনি এই ফ্রেমের জন্য পিচ / ইয়াও / রোল পরিবর্তন করে এবং একটি রোটেশন ম্যাট্রিক্স তৈরি করে এটি করতে পারেন (আপনি এটি ইউলার অ্যাঙ্গেল দিয়ে করতে পারেন)। তারপরে আপনি এই ম্যাট্রিক্স দ্বারা হেলিকপ্টারটির পূর্বের দিকনির্দেশটি ঘোরান (পূর্ববর্তী ওরিয়েন্টেশনটি ম্যাট্রিক্স বা কোয়ার্ট্রোন হিসাবে উপস্থাপিত)। এটি আপনাকে নতুন ফ্রেমের জন্য ওরিয়েন্টেশন দেবে।

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


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

এছাড়াও, জিম্বল লক সমস্যাটি কেন আপনার হাতটি এক্স / ওয়াই / জেড অক্ষগুলি উপস্থাপন করতে দেখা যায় না এর চূড়ান্ত প্রশ্নের উত্তর দেওয়ার জন্য, কারণ সম্ভবত আপনি হাতের স্থানীয় ফ্রেমে পিচ, ইয়া, এবং রোল মান প্রয়োগ করছেন because রেফারেন্স। ইউলার অ্যাঙ্গেলগুলির সাথে একটি ঘূর্ণন ম্যাট্রিক্স তৈরি করা বিশ্বের এক্সের চারদিকে ঘুরতে শুরু করে, তারপরে ফলিত y দ্বারা এবং তারপরে ফলাফল প্রাপ্ত z দ্বারা (x / y / z এর প্রকৃত ক্রমটি ক্রমে পৃথক হতে পারে)। এই রোটেশনটি প্রয়োগ করার চেষ্টা করুন এবং জিম্বল লকটি কীভাবে উপস্থিত হয় তা আপনি দেখতে শুরু করতে পারেন।
ফ্লিপ করুন

3

মূলত আপনি আবর্তনের প্রতিটি অন্যান্য উপস্থাপনা ব্যবহার করতে পারেন, তবে এলার অ্যাঙ্গেলস। ম্যাট্রিকস, কোয়ার্টারিয়নস এমনকি অক্ষ অ্যাঙ্গেলগুলি আপনি যা চান তা করবে।

Should I create three quaternions and multiply them together? Wouldn't I end up with the same problems?

আপনি ঠিক বলেছেন, আপনি একই সমস্যা শেষ হবে। কীটি হ'ল আপনার অবজেক্টের বর্তমান ওরিয়েন্টেশন (ম্যাট্রিক্স, কোয়ার্টারিয়ন) সংরক্ষণ এবং কেবলমাত্র একটি প্রয়োগ করা ওরিয়েন্টেশন পরিবর্তন করার সময় ব-দ্বীপ

আপনি যখন 10 ডিগ্রি y এর চারপাশে ঘুরতে চান, কেবল একটি তৈরি করুন ডেল্টা ম্যাট্রিক্স / কোয়ার্টারিয়ন এবং এটি আপনার বর্তমান ওরিয়েন্টেশন (যদি আপনি ম্যাট্রিকের জন্য পোস্ট গুণক ব্যবহার করেন) এর সাথে গুণিত করুন post যদি আপনি এটিকে অন্যভাবে গুন করেন তবে এটি সিস্টেমকে বিশ্বের y- অক্ষের সাথে বস্তুর y- অক্ষের চারপাশে ঘোরান will

আমি এই সংস্থানটি খুব দরকারী বলে মনে করি এটি উত্স কোড সহ আসে এবং তত্ত্বটি খুব ভালভাবে ব্যাখ্যা করে।


-1

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

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

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

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


যদিও এটি আসলে প্রশ্নের উত্তর দিচ্ছে না। চিন্তার জন্য আরও খাদ্য যোগ করা।
বাম্মজ্যাক

বর্তমানে, আমি হেলিকপ্টারটির ঘূর্ণনটি লিফট ফোর্স ভেক্টরকে রূপান্তর করতে ব্যবহার করছি, যা হেলিকপ্টার স্পেসে উপরের দিকে নির্দেশিত pointed আপনি কি বোঝাতে চেয়েছেন যে আমার বিপরীতটি করা উচিত, অর্থাৎ সরাসরি ভেক্টরটি সংশোধন করে তারপরে হেলিকপ্টারটি ঘোরানো উচিত?
সাব

আমি মনে করি আপনার উভয়টি করা উচিত, এখন আপনি কী করছেন, তারপরে ব্লেডগুলির স্বাভাবিকের উপর ভিত্তি করে হেলিকপ্টারটিতে আবর্তনের কোনও ফলাফল পরিবর্তন করুন। অর্থাৎ আপনার 2 টি আবর্তন রয়েছে; একটি ফলকগুলির জন্য প্রয়োগ করা হয় এবং দ্বিতীয়টি হেলিকপ্টারটির প্রকৃত ঘূর্ণন উপস্থাপন করে। স্পষ্টতই সমস্ত কোয়ার্টেরিয়নে সঞ্চিত।
মিথ্যাচারিত ক্যাভিয়ার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.