ক্রলিং রোবটের জন্য সরো সরু চলাচল


11

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

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

, , , এবং জন্য সমাধান করুন :a0a1a2a3

position(t)=a0+a1t+a2t2+a3t3
rate(t)=position(t)=a1+2a2t+3a3t2

প্রদত্ত: , , ,position(0)position(tf)rate(0)rate(tf)

আমি চলনগুলির বিপরীত দিকের দিকে চললে একজোড়া আন্দোলনের মধ্যে সারোটির হার শূন্য হতে এবং যদি আন্দোলনগুলি যথাক্রমে ধনাত্মক বা নেতিবাচক দিক উভয় থাকে তবে ইতিবাচক বা নেতিবাচক set

এটি বেশ ভাল কাজ করেছে, তবে এই সমাধানটি কয়েকটি উপায়ে সীমাবদ্ধ। একটির জন্য, একই দিকে যে আন্দোলনের মধ্য দিয়ে যায় তার মধ্যে ঠিক কী হার হওয়া উচিত তা সিদ্ধান্ত নেওয়া শক্ত। আমি চলাচলের মধ্যে একটি নির্দিষ্ট অবস্থানের সামনে এবং পিছনে ofালু গড় ব্যবহার করেছি, তবে এটি আমার কাছে পরিষ্কার নয় যে এটি সর্বোত্তম। সর্বোপরি, কিউবিক বক্ররেখাগুলি একটি আন্দোলনের শুরু এবং শেষের দিকে পজিশনের সীমার বাইরে সারোডোকে কোনও অবস্থানে নিয়ে যেতে পারে, যা অনাকাঙ্ক্ষিত হতে পারে। উদাহরণস্বরূপ, সময়ের ব্যবধানের কোনও সময়, বক্ররেখাটি সার্ডোকে দ্বিতীয় অবস্থানের বাইরে বা প্রথম অবস্থানের নিচে যেতে পারে। তৃতীয়ত, এখানে কার্ভ জেনারেশনটি सर्वोটি যে সর্বোচ্চ হারটি ঘুরিয়ে দিতে পারে তা বিবেচনা করে না, সুতরাং একটি বক্ররেখাটি সার্ভোকে একটি গতিতে সরানো যেতে পারে যা অবাস্তব। সেই সাথে,

সর্বশেষ উদ্বেগকে অবহেলা করে এই সমস্যাগুলি বহুবর্ষের ডিগ্রি বাড়িয়ে এবং সহগের জন্য সমাধানের ক্ষেত্রে বাধা যুক্ত করে সমাধান করা যেতে পারে, তবে আমি এখন অবাক হতে শুরু করি ...

সারো চলাচল মসৃণ করতে এবং আরও জীবন-সদৃশ বলে মনে করার জন্য এর চেয়ে ভাল উপায় আর কী আছে?


কোডটি তুলনামূলকভাবে সোজা এগিয়ে থাকা উচিত ছিল। কেন এটি জড়িত ছিল সে সম্পর্কে আপনি আরও কথা বলতে পারেন?
ডেমনমেকার

1
আপনি ঠিক বলেছেন, কোডটি মোটামুটি সোজা এগিয়ে ছিল, যদিও সার্ভোগুলি নিয়ন্ত্রণ করার ফলে প্রাপ্ত পদ্ধতিটি আগের চেয়ে জটিল ছিল। পরিবর্তে এই পদ্ধতির সীমাবদ্ধতার বিবরণ অন্তর্ভুক্ত করার জন্য আমি আমার প্রশ্নটি সম্পাদনা করেছি।
রবজ

নূর্বস , অ-অভিন্ন যুক্তিযুক্ত বি-
স্প্লিনস

@ jwpat7 আপনার ইনপুটটির জন্য ধন্যবাদ, তবে আমি মনে করি না যে NURBS কাজ করবে কারণ এই বক্ররেখা সরবরাহিত পয়েন্টগুলিতে আঘাতের নিশ্চয়তা দেয় না
রবজ

এটি আপনার সহগ হ্রাস করার মতো সহজ ? Kp
আয়ান

উত্তর:


6

মোশন প্রোফাইল জেনারেশন

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

পয়েন্ট প্রাক ফিল্টারিং সেট করুন

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


+1: অবশ্যই গতি প্রোফাইল জেনারেশন।
গাই স্যারটন

2

আমি মনে করি প্রশ্নটি এই ধরণের ডিভাইসকে বোঝায়: আরসি সার্ভো

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

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

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