সুচিপত্র:

Neurobots Battle Royale: পেশী-নিয়ন্ত্রিত কমব্যাট হেক্সবাগস: 7 টি ধাপ
Neurobots Battle Royale: পেশী-নিয়ন্ত্রিত কমব্যাট হেক্সবাগস: 7 টি ধাপ

ভিডিও: Neurobots Battle Royale: পেশী-নিয়ন্ত্রিত কমব্যাট হেক্সবাগস: 7 টি ধাপ

ভিডিও: Neurobots Battle Royale: পেশী-নিয়ন্ত্রিত কমব্যাট হেক্সবাগস: 7 টি ধাপ
ভিডিও: OpenBCI EEG/EMG Controlled Hexbug 2024, জুলাই
Anonim
Neurobots Battle Royale: পেশী-নিয়ন্ত্রিত কমব্যাট হেক্সবাগস
Neurobots Battle Royale: পেশী-নিয়ন্ত্রিত কমব্যাট হেক্সবাগস

এই টিউটোরিয়ালটি দেখায় কিভাবে একটি Hexbug এর ক্রিয়া নিয়ন্ত্রণ করতে OpenBCI হার্ডওয়্যার এবং OpenBCI GUI এর মাধ্যমে প্রবাহিত EMG ডেটা ব্যবহার করতে হয়। এই হেক্সবাগগুলির যুদ্ধের ক্ষমতাগুলি তখন আপনার নিজের পেশী ইনপুট দ্বারা নিয়ন্ত্রিত হতে পারে এবং আপনি আপনার নিজের হেক্সবাগের লড়াইয়ে জড়িত হতে সক্ষম হবেন!

সহায়ক পটভূমি দক্ষতা:

  • Arduino বা C- ভিত্তিক প্রোগ্রামিং এর জ্ঞান

    Arduino বুনিয়াদি

  • কীভাবে সাইটন বা গ্যাংলিয়ন দিয়ে ওপেনবিসিআই হেডব্যান্ড কিট সেটআপ করবেন

    এটি আপনাকে ওপেনবিসিআই বোর্ডগুলির সাথে সেটআপ করতে এবং কাজ করতে সহায়তা করবে

  • OpenBCI এর সাথে EMG ডেটা স্ট্রিম করা হচ্ছে

EMG ডেটা সম্পর্কে কিছু ব্যাকগ্রাউন্ড জ্ঞান

সরবরাহ

  • হার্ডওয়্যার

    • একটি কম্পিউটার যা GUI সিস্টেমের প্রয়োজনীয়তা পূরণ করে
    • হেক্সবাগ 2.0 ডুয়াল প্যাক
    • EMG/ECG Foam Solid Gel Electrodes (30/pack)
    • ইএমজি/ইসিজি স্ন্যাপ ইলেক্ট্রোড ক্যাবল
    • OpenBCI Cyton Board ($ 500) বা Ganglion Board ($ 200)
    • 20 পুরুষ-পুরুষ জাম্পার তারগুলি
    • ব্রেডবোর্ড
    • 10 x 10kΩ প্রতিরোধক
    • Arduino Genuino Uno
    • 5চ্ছিক 5 LEDs (ডিবাগিং জন্য সংযোগ করতে)
  • সফটওয়্যার

    • OpenBCI GUI
    • আরডুইনো আইডিই
    • প্রদত্ত কোড
  • OpenBCI শুরু করার নির্দেশিকা

    • OpenBCI GUI
    • গ্যাংলিয়ন বা সাইটন

ধাপ 1: কন্ট্রোলারের কাছে সোল্ডার জাম্পার ক্যাবল

কন্ট্রোলারের কাছে সোল্ডার জাম্পার কেবল
কন্ট্রোলারের কাছে সোল্ডার জাম্পার কেবল
কন্ট্রোলারের কাছে সোল্ডার জাম্পার কেবল
কন্ট্রোলারের কাছে সোল্ডার জাম্পার কেবল
কন্ট্রোলারের কাছে সোল্ডার জাম্পার কেবল
কন্ট্রোলারের কাছে সোল্ডার জাম্পার কেবল

1.1 কন্ট্রোলারের idাকনা সরান

কন্ট্রোলারের চারটি লকিং ট্যাবে একটি সমতল স্ক্রু ড্রাইভার বা অন্য কোনো টুল লাগিয়ে পরিষ্কার প্লাস্টিকের আবরণ বন্ধ করুন। স্লাইডিং চ্যানেল-সুইচার এবং কেস নিজেই ধরে রাখুন। অন্যান্য সমস্ত বোতাম ফেলে দেওয়া যেতে পারে।

টেপ-অন পুশ বোতামগুলি সরান এবং বাতিল করুন। এছাড়াও, "ফায়ার" বোতামটি ডি-সোল্ডার করুন এবং বাতিল করুন।

1.2 জাম্পার তারের উপর ঝাল

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

1.3 কন্ট্রোলারের idাকনা প্রতিস্থাপন করুন

কাঁচি বা ইউটিলিটি ছুরি ব্যবহার করে, পরিষ্কার প্লাস্টিকের idাকনা থেকে টুকরো টুকরো টুকরো টুকরো করুন যা আপনার জাম্পার তারের অবস্থানে হস্তক্ষেপ করবে এবং চ্যানেলের সুইচ অবস্থানে রেখে কন্ট্রোলারে পুনরায় ইনস্টল করবে।

আমরা reাকনাটি পুনরায় ব্যবহার করি যাতে স্লাইডিং চ্যানেল-সুইচার বোর্ডের পরিবাহী প্যাচের সংস্পর্শে থাকে।

ধাপ 2: ব্রেডবোর্ড সেটআপ তৈরি করুন এবং কন্ট্রোলার সংযুক্ত করুন

ব্রেডবোর্ড সেটআপ এবং কানেক্ট কন্ট্রোলার তৈরি করুন
ব্রেডবোর্ড সেটআপ এবং কানেক্ট কন্ট্রোলার তৈরি করুন
ব্রেডবোর্ড সেটআপ এবং কানেক্ট কন্ট্রোলার তৈরি করুন
ব্রেডবোর্ড সেটআপ এবং কানেক্ট কন্ট্রোলার তৈরি করুন
ব্রেডবোর্ড সেটআপ এবং কানেক্ট কন্ট্রোলার তৈরি করুন
ব্রেডবোর্ড সেটআপ এবং কানেক্ট কন্ট্রোলার তৈরি করুন

উপরে দেখানো হিসাবে পুনরায় সেটআপ করুন।

ব্যাখ্যা:

2.1 ব্রেডবোর্ডে কন্ট্রোলার পিন রাখুন

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

2.2 প্রতিরোধক যোগ করুন

এই পিনগুলি Afterোকানোর পরে, ব্রেডবোর্ডের দুই পাশে একটি 10KΩ প্রতিরোধক যোগ করুন। এটি প্রতিটি পিনে চলমান পরিমাণ সংশোধন করে, যা বাগকে সঠিকভাবে কাজ করতে দেয়।

2.3 এলইডি চেক করতে ত্রুটি যোগ করুন

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

2.4 আরডুইনোতে সেটআপ সংযুক্ত করুন

অবশেষে, প্রতিটি সারিকে একটি Arduino পিনের সাথে সংযুক্ত করতে আরেকটি জাম্পার কেবল যুক্ত করুন। এটি গুরুত্বপূর্ণ যে তারা নিম্নরূপ:

3 - ফায়ার 4 - ফরওয়ার্ড 5 - বাম 6 - ডান

ধাপ 3: সিন্থেটিক ডেটা স্ট্রিমিং দিয়ে পরীক্ষা করুন

স্ট্রিমিং সিনথেটিক ডেটা দিয়ে পরীক্ষা করুন
স্ট্রিমিং সিনথেটিক ডেটা দিয়ে পরীক্ষা করুন
স্ট্রিমিং সিনথেটিক ডেটা দিয়ে পরীক্ষা করুন
স্ট্রিমিং সিনথেটিক ডেটা দিয়ে পরীক্ষা করুন

3.1 বোর্ডে নমুনা কোড আপলোড করুন

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

3.2 সিন্থেটিক স্ট্রিমিং খুলুন

এই উদাহরণের জন্য 8 টি চ্যানেল ভালো কাজ করবে। চালিয়ে যাওয়ার জন্য "স্টার্ট সিস্টেম" ক্লিক করুন।

একবার আপনার GUI খোলা হলে, 6-8 চ্যানেল বন্ধ করুন।

3.3 নেটওয়ার্কিং উইজেট সেটআপ করুন

সিরিয়াল মোড ব্যবহার করে ছবিতে দেখানো নেটওয়ার্কিং উইজেটটি খুলুন এবং সেটআপ করুন। আমরা চাই ডাটা টাইপ "EMG" হোক।

এছাড়াও, মনে রাখবেন আমাদের Arduino স্কেচে বাউড রেট 57600, তাই আমরা বাড ড্রপডাউন থেকে 57600 নির্বাচন করি।

Arduino এর জন্য সঠিক পোর্ট নির্বাচন করতে ভুলবেন না। এটি একই পোর্ট যা আমরা আরডুইনোতে স্কেচ আপলোড করতে ব্যবহার করেছি। যদি ম্যাক/লিনাক্স ব্যবহার করা হয়, তাহলে এটি "usbmodem" লেবেল করা উচিত-OpenBCI বোর্ড থেকে আলাদা যা "usbserial" লেবেলযুক্ত হবে।

একবার আপনি নিশ্চিত করেছেন যে সমস্ত তথ্য সঠিক, স্টার্ট টিপুন!

3.4 রানিং টেস্ট

যেহেতু সিন্থেটিক ডেটা নিয়ন্ত্রণ করা অনেক কঠিন, EMG উইজেটের সেটিংস টুইক করুন যতক্ষণ না স্কোয়ারগুলি কোডে গণনা করা থ্রেশহোল্ড মান অতিক্রম করতে যথেষ্ট উদ্বায়ী হয়। যদি এটি যথেষ্ট না হয়, তাহলে কোডে থ্রেশহোল্ড মান পরিবর্তন করা এবং আপনার বোর্ডে পুনরায় আপলোড করা আপনার স্বার্থে হতে পারে।

এটি একটি সময়ে একটি চ্যানেল ছাড়া সব বন্ধ করতে সাহায্য করতে পারে, এবং প্রতিটি কমান্ড একের পর এক পরীক্ষা করে নিশ্চিত করতে পারে যে তারা সবাই যা করছে বলে মনে করা হচ্ছে। একবার আপনি নিশ্চিত হয়ে যান যে সবকিছু ঠিকঠাক কাজ করছে, তারপরে আপনি আসল ডেটাতে যেতে পারেন।

ধাপ 4: আপনার OpenBCI বোর্ড এবং ইলেক্ট্রোড সেটআপ করুন

আপনার OpenBCI বোর্ড এবং ইলেক্ট্রোড সেটআপ করুন
আপনার OpenBCI বোর্ড এবং ইলেক্ট্রোড সেটআপ করুন
আপনার OpenBCI বোর্ড এবং ইলেক্ট্রোড সেটআপ করুন
আপনার OpenBCI বোর্ড এবং ইলেক্ট্রোড সেটআপ করুন

এর জন্য দুটি নির্দেশনা রয়েছে: এক ব্যক্তি সমস্ত 5 টি কমান্ড নিয়ন্ত্রণ করে, বা একাধিক ব্যক্তি প্রতিটি আলাদা কমান্ড নিয়ন্ত্রণ করে। এটি যেভাবে করা হয় তা আলাদা করবে।

বিকল্প A: একজন ব্যক্তি পাঁচটি কমান্ড নিয়ন্ত্রণ করছেন

এখানে OpenBCI ডকুমেন্টেশন থেকে এই EMG সেটআপ টিউটোরিয়ালের নির্দেশাবলী অনুসরণ করুন।

বিকল্প B: একাধিক লোক বিভিন্ন কমান্ড নিয়ন্ত্রণ করছে

ওপেনবিসিআই ওয়েবসাইট থেকে ইএমজি সেটআপ টিউটোরিয়াল অনুসরণ করুন কিন্তু একটি পরিবর্তনের সাথে: একাধিক ভিত্তি একসাথে বিভক্ত করা আবশ্যক।

এটি করার জন্য, পুরুষ পিনের তারের প্রায় 3 ইঞ্চি এবং একটি মহিলা পিনের তারের শেষটি কেটে ফেলুন এবং ভিতরের তারগুলি উন্মুক্ত করতে প্রান্ত থেকে এক ইঞ্চি রাবার সরান। প্রতিটি ব্যক্তিকে একটি পৃথক স্থল দেওয়ার জন্য যতটা প্রয়োজন তত বেশি পুরুষ তারের জন্য এটি পুনরাবৃত্তি করুন। এই উন্মুক্ত প্রান্তগুলিকে একসাথে স্প্লাইস করুন এবং সেগুলি তাপ-সঙ্কুচিত পাইপের মধ্যে রাখুন।

ধাপ 5: রিয়েল ডেটার সাথে সংযুক্ত হন

রিয়েল ডেটার সাথে সংযুক্ত হন
রিয়েল ডেটার সাথে সংযুক্ত হন
রিয়েল ডেটার সাথে সংযুক্ত হন
রিয়েল ডেটার সাথে সংযুক্ত হন

এখন, জিইউআই বাড়িতে ফিরে যান এবং লাইভ (সাইটন থেকে) বা লাইভ (গ্যাংলিয়ন থেকে) নির্বাচন করুন - আপনি যে বোর্ডটি ব্যবহার করছেন তার উপর নির্ভর করে - ডেটা উৎস হিসাবে।

এখান থেকে, EMG উইজেট এবং নেটওয়ার্কিং উইজেটটি খুলুন এবং ঠিক আগের মতই স্ট্রিমিং শুরু করুন। এখন, আপনার লাইভ ইনপুট থেকে ডেটা স্ট্রিম করা উচিত!

ধাপ 6: যুদ্ধ

সবকিছু এখন সেট আপ, আপনি যুদ্ধের জন্য প্রস্তুত। যদি দুটি সেটআপ তৈরি করা হয়, তাহলে আপনি যুদ্ধে নিয়ন্ত্রণগুলি ব্যবহার করতে পারেন।

অনুগ্রহ করে মনে রাখবেন যে দুটি অনন্য উৎস থেকে সিগন্যাল সংগ্রহ করা হচ্ছে তা নিশ্চিত করার জন্য রোবটগুলি একবারে চালু করা উচিত।

প্রতিটি হেক্সবাগের তিনটি জীবন থাকে, এবং এগুলি সব শেষ হয়ে যাওয়ার পরে, স্কোরগুলি পুনরায় সেট করতে পাওয়ার বোতাম টিপুন।

মজা করুন এবং লড়াই করুন!

ধাপ 7: সমস্যা সমাধান - কীবোর্ড নিয়ন্ত্রণ কোড

আপনার বোর্ড সেট-আপে যদি আপনার কোন সমস্যা হয় এবং শুধুমাত্র কীবোর্ড ইনপুট ব্যবহার করে এটি নিয়ন্ত্রণ করতে চান, তাহলে আপনার সার্কিট নিয়ন্ত্রণ করতে অন্তর্নির্মিত Arduino সিরিয়াল মনিটর ব্যবহার করতে এই কোডটি ডাউনলোড করুন। এটি আপনাকে প্রতিটি ক্রিয়াকে বিচ্ছিন্ন করার অনুমতি দেবে এবং আপনি যে সমস্যাটি অনুভব করছেন তা শারীরিক Arduino সেট-আপ থেকে বা ডেটা থেকে আসছে কিনা তা নির্ধারণ করতে দেয়।

প্রস্তাবিত: