সুচিপত্র:

নাইন রোবট Kinect ব্যবহার করে চলাচলের অনুকরণ: 7 ধাপ
নাইন রোবট Kinect ব্যবহার করে চলাচলের অনুকরণ: 7 ধাপ

ভিডিও: নাইন রোবট Kinect ব্যবহার করে চলাচলের অনুকরণ: 7 ধাপ

ভিডিও: নাইন রোবট Kinect ব্যবহার করে চলাচলের অনুকরণ: 7 ধাপ
ভিডিও: মানবরূপী রোবট বানাচ্ছে জাপান: BBC CLICK Bangla 2024, সেপ্টেম্বর
Anonim
নাইন রোবট Kinect ব্যবহার করে চলাচলের অনুকরণ করছে
নাইন রোবট Kinect ব্যবহার করে চলাচলের অনুকরণ করছে

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

এটি একটি স্কুল -সম্পর্কিত প্রকল্প (NMCT @ Howest, Kortrijk)।

ধাপ 1: প্রাথমিক জ্ঞান

এই প্রকল্পটি পুনরায় তৈরি করার জন্য আপনাকে কিছু মৌলিক জ্ঞান থাকতে হবে:

- মৌলিক অজগর জ্ঞান

- বেসিক C# জ্ঞান (WPF)

- মৌলিক ত্রিকোণমিতি জ্ঞান

- রাস্পবেরি পাইতে এমকিউটিটি কীভাবে সেট আপ করবেন সে সম্পর্কে জ্ঞান

পদক্ষেপ 2: প্রয়োজনীয় উপকরণ অর্জন

এই প্রকল্পের জন্য প্রয়োজনীয় উপকরণ:

- রাস্পবেরি পাই

- Kinect সেন্সর v1.8 (Xbox 360)

- নাও রোবট বা ভাইরাল রোবট (কোরিগ্রাফ)

ধাপ 3: এটি কিভাবে কাজ করে

Image
Image
কিভাবে এটা কাজ করে
কিভাবে এটা কাজ করে

একটি Kinect সেন্সর WPF অ্যাপ্লিকেশন চালানো একটি কম্পিউটারের সাথে সংযুক্ত। WPF অ্যাপ্লিকেশন MQTT ব্যবহার করে পাইথন অ্যাপ্লিকেশনে (রোবট) ডেটা পাঠায়। ব্যবহারকারী যদি পছন্দ করেন তবে স্থানীয় ফাইলগুলি সংরক্ষণ করা হয়।

বিস্তারিত ব্যাখ্যা:

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

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

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

ধাপ 4: MQTT ব্রোকার সেট আপ করা

MQTT ব্রোকার সেট আপ করা
MQTT ব্রোকার সেট আপ করা

Kinect (WPF project) এবং রোবট (Python project) এর মধ্যে যোগাযোগের জন্য আমরা MQTT ব্যবহার করেছি। MQTT একটি দালাল নিয়ে গঠিত (একটি লিনাক্স কম্পিউটার যার উপর mqtt সফটওয়্যার (যেমন। মশকিটো)) চলছে এবং একটি বিষয় যার উপর ক্লায়েন্টরা সাবস্ক্রাইব করতে পারে (তারা বিষয় থেকে একটি বার্তা পায়) এবং প্রকাশ করে (তারা বিষয়টিতে একটি বার্তা পোস্ট করে) ।

MQTT ব্রোকার সেট আপ করতে শুধু এই সম্পূর্ণ জেসি ছবিটি ডাউনলোড করুন। এটি আপনার জন্য রাস্পবেরি পাই একটি MQTT দালালের সাথে একটি পরিষ্কার ইনস্টল। বিষয় হল "/স্যান্ড্রো"।

ধাপ 5: Kinect SDK V1.8 ইনস্টল করা

আপনার কম্পিউটারে Kinect কাজ করার জন্য আপনাকে Microsoft Kinect SDK ইনস্টল করতে হবে।

আপনি এখানে এটা ডাউনলোড করতে পারেন:

www.microsoft.com/en-us/download/details.a…

ধাপ 6: পাইথন V2.7 ইনস্টল করা

রোবটটি NaoQi ফ্রেমওয়ার্কের সাথে কাজ করে, এই ফ্রেমওয়ার্কটি শুধুমাত্র পাইথন 2.7 (NOT 3.x) এর জন্য উপলব্ধ, তাই আপনি পাইথনের কোন সংস্করণটি ইনস্টল করেছেন তা পরীক্ষা করুন।

আপনি এখানে পাইথন 2.7 ডাউনলোড করতে পারেন:

www.python.org/downloads/release/python-27…

ধাপ 7: কোডিং

কোডিং
কোডিং
কোডিং
কোডিং
কোডিং
কোডিং

Github:

মন্তব্য:

- Kinect সঙ্গে কোডিং: প্রথমে আপনি সংযুক্ত kinect জন্য সন্ধান। এটি একটি সম্পত্তির ভিতরে সংরক্ষণ করার পরে আমরা রঙ-এবং কঙ্কালের প্রবাহকে কাইনেক্টে সক্ষম করেছি। কালারস্ট্রিম হল লাইভ ভিডিও, যখন কঙ্কালস্টিম মানে ক্যামেরার সামনে থাকা ব্যক্তির একটি কঙ্কাল প্রদর্শিত হবে। এই প্রজেক্টটি কাজ করার জন্য কালারস্ট্রিম সত্যিই প্রয়োজনীয় নয়, আমরা কেবল এটি সক্ষম করেছি কারণ কঙ্কালের প্রবাহকে রঙের প্রস্থে বিটম্যাপ করা দেখতে চটচটে দেখাচ্ছে!

- বাস্তবে এটি সত্যিই কঙ্কালস্রোত যা কাজটি করে। কঙ্কালস্রোত সক্ষম করার অর্থ হল যে ব্যক্তির কঙ্কাল ট্র্যাক করা হচ্ছে। এই কঙ্কাল থেকে আপনি সব ধরনের তথ্য পান যেমন। হাড়ের দিকনির্দেশনা, যৌথ তথ্য,… আমাদের প্রকল্পের চাবি ছিল যৌথ তথ্য। ট্র্যাক করা কঙ্কাল থেকে প্রতিটি জয়েন্টের x-y & z কোঅর্ডিনেট ব্যবহার করে, আমরা জানতাম যে আমরা রোবটকে নড়াচড়া করতে পারি। সুতরাং, প্রতি.8 সেকেন্ডে (টাইমার ব্যবহার করে) আমরা mqtt ব্রোকারের প্রতিটি জয়েন্টের x, y & z কোঅর্ডিনেট প্রকাশ করি।

- যেহেতু পাইথন প্রজেক্টের mqtt ব্রোকারে সাবস্ক্রিপশন আছে তাই আমরা এখন এই প্রকল্পের ভিতরে ডেটা অ্যাক্সেস করতে পারি। রোবটের প্রতিটি জয়েন্টের ভিতরে দুটি মোটর রয়েছে। এই মোটরগুলিকে সরাসরি x, y & z কোঅর্ডিনেট ব্যবহার করে চালানো যায় না। সুতরাং, ত্রিকোণমিতি এবং কিছু সাধারণ জ্ঞান ব্যবহার করে, আমরা জয়েন্টগুলির x, y & z কোঅর্ডিনেটগুলিকে রোবট থেকে অপ্রতিরোধ্য কোণে রূপান্তর করেছি।

তাই মূলত প্রতি.8 সেকেন্ডে WPF প্রকল্প প্রকাশ করে x, y & z প্রতিটি জয়েন্টের স্থানাঙ্ক। ফলস্বরূপ, পাইথন প্রকল্পের ভিতরে এই স্থানাঙ্কগুলি কোণে রূপান্তরিত হয়, যা তারপর রোবটের সংশ্লিষ্ট মোটরগুলিতে পাঠানো হয়।

প্রস্তাবিত: