সুচিপত্র:

The RADbot: 7 ধাপ
The RADbot: 7 ধাপ

ভিডিও: The RADbot: 7 ধাপ

ভিডিও: The RADbot: 7 ধাপ
ভিডিও: BIT.TRIP RUNNER 2-07 Radbot (Perfect) 2024, নভেম্বর
Anonim
দ্য র্যাডবট
দ্য র্যাডবট

EF 230 এর জন্য জ্যাকসন ব্রেকেল, টাইলার ম্যাককুবিন্স এবং জ্যাকব থ্যালারের একটি প্রকল্প

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

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

ধাপ 1: প্রয়োজনীয় অংশ এবং উপকরণ অর্জন করুন

প্রয়োজনীয় অংশ এবং উপকরণ অর্জন করুন
প্রয়োজনীয় অংশ এবং উপকরণ অর্জন করুন
প্রয়োজনীয় অংশ এবং উপকরণ অর্জন করুন
প্রয়োজনীয় অংশ এবং উপকরণ অর্জন করুন
প্রয়োজনীয় অংশ এবং উপকরণ অর্জন করুন
প্রয়োজনীয় অংশ এবং উপকরণ অর্জন করুন

আপনি কি শুরু করতে হবে (ছবিগুলি ক্রম অনুসারে তালিকাভুক্ত করা আছে)

1. একটি রুম্বা (যে কোন নতুন মডেল)

2. একটি Geiger-Mueller কাউন্টার

3. একটি রাস্পবেরি পাই

4. একটি ইউএসবি আউটলেট সহ একটি বোর্ড ক্যামেরা

5. একটি মাইক্রো ইউএসবি থেকে ইউএসবি কেবল

6. একটি USB থেকে USB কেবল

7. পর্যাপ্ত কার্যকলাপের একটি তেজস্ক্রিয় নমুনা (~ 5μSv বা উচ্চতর)

8. Matlab ইনস্টল করা একটি কম্পিউটার

9. আঠালো (সহজে অপসারণযোগ্যতার জন্য নালী টেপ)

পদক্ষেপ 2: ক্যামেরা এবং গিগার-মুলার কাউন্টার কনফিগার করা

ক্যামেরা এবং গিগার-মুলার কাউন্টার কনফিগার করা হচ্ছে
ক্যামেরা এবং গিগার-মুলার কাউন্টার কনফিগার করা হচ্ছে

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

ধাপ 3: আপনার রুম্বার সাথে সংযোগ করুন এবং লাইট সেন্সর কোড তৈরি করুন

আপনার রুম্বায় সংযোগ করুন এবং হালকা সেন্সর কোড তৈরি করুন
আপনার রুম্বায় সংযোগ করুন এবং হালকা সেন্সর কোড তৈরি করুন

প্রথমে, EF 230 ওয়েবসাইটের রুম্বা টুলবক্সটি ডাউনলোড করুন এবং এটি নির্দিষ্ট ফোল্ডারে রাখতে ভুলবেন না। আপনার রুম্বার সাথে সংযোগ স্থাপন করতে, কেবল রাস্পবেরি পাই এর সাথে সংযুক্ত স্টিকার উল্লেখ করুন এবং উদ্ধৃতি চিহ্ন ছাড়াই কমান্ড উইন্ডোতে "r = roomba (x)" লিখুন, এবং যেখানে x হল রুম্বার সংখ্যার জন্য। Roomba একটি সুর বাজানো উচিত, এবং পরিষ্কার বোতাম তার চারপাশে একটি সবুজ রিং প্রদর্শন করা উচিত। আপনার কোডটি "যখন" বিবৃতি দিয়ে শুরু করুন এবং সেন্সর তালিকায় উপস্থিত হওয়ার সাথে সাথে হালকা সেন্সরগুলি দেখুন। কমান্ড উইন্ডোতে "r.testSensors" লিখে সেন্সর তালিকা খুলুন।

আমাদের বস্তুর রঙের উপর ভিত্তি করে, যা কতটা আলো প্রতিফলিত হয় তা নির্ধারণ করে, সময় বিবৃতিটি একটি> ফাংশন হিসাবে কার্যকর করার প্রয়োজনীয়তা নির্ধারণ করে। আমাদের ক্ষেত্রে, আমরা বাম বা ডান কেন্দ্রের আলো সেন্সরগুলিতে পড়ার> 25 হলে স্টেটমেন্টে কোড চালানোর জন্য সামনের লাইট সেন্সর সেট করি। এক্সিকিউটেবল স্টেটমেন্টের জন্য, "r.setDriveVelocity (x, y)" লিখে যথাক্রমে বুম এবং ডান চাকার বেগ দিয়ে রুম্বার গতি কমিয়ে দিন। একটি "অন্য" বিবৃতি সন্নিবেশ করান, যাতে রুম্বা অনির্দিষ্ট মানগুলির জন্য ধীর না হয় এবং একটি ভিন্ন গতি ছাড়া সেট ড্রাইভ বেগ কমান্ডটি আবার প্রবেশ করুন। "শেষ" দিয়ে সময় বিবৃতি শেষ করুন। এই কোড সেগমেন্টটি Roomba কে অবজেক্টের দিকে নিয়ে যাবে, এবং প্রভাব কমানোর জন্য একটি নির্দিষ্ট পরিসরে পৌঁছানোর পর তা ধীর হয়ে যাবে।

সংযুক্ত আমাদের কোডের একটি স্ক্রিনশট, কিন্তু আপনার মিশন প্যারামিটারগুলির জন্য সবচেয়ে উপযুক্ত করার জন্য নির্দ্বিধায় এটি সম্পাদনা করুন।

ধাপ 4: বাম্পার কোড তৈরি করুন

বাম্পার কোড তৈরি করুন
বাম্পার কোড তৈরি করুন

যেহেতু রুম্বা ধীর হয়ে যাচ্ছে, এটি বস্তুর উপর তার প্রভাব কমিয়ে দেবে, যদিও এটি এতটা নয় যে এটি শারীরিক বাম্পারকে ট্রিগার করে না। কোডের এই সেগমেন্টের জন্য, আবার "while" লুপ দিয়ে শুরু করুন এবং এর এক্সপ্রেশনটি সত্য হিসাবে সেট করুন। বিবৃতির জন্য, ভেরিয়েবল T কে বাম্পারের আউটপুটের সমান, 0 অথবা 1, মিথ্যা এবং সত্যের জন্য সেট করুন। আপনি এর জন্য "T = r.getBumpers" ব্যবহার করতে পারেন। T একটি কাঠামো হিসেবে আউটপুট করবে। একটি "if" স্টেটমেন্ট লিখুন এবং T.front এর সমান 1 এর জন্য এর এক্সপ্রেশন সেট করুন এবং "r.setDriveVelocity (x, y)" বা "r.stop "। একটি "বিরতি" লিখুন যাতে Roomba পরবর্তী কোডের শর্ত পূরণের পরে সরে যেতে পারে। একটি "অন্য" যোগ করুন, এবং রুম্বার স্বাভাবিক ক্রুজিং বেগের জন্য ড্রাইভের বেগ নির্ধারণের জন্য তার বিবৃতি সেট করুন।

সংযুক্ত আমাদের কোডের একটি স্ক্রিনশট, কিন্তু আপনার মিশন প্যারামিটারগুলির জন্য সবচেয়ে উপযুক্ত করার জন্য নির্দ্বিধায় এটি সম্পাদনা করুন।

ধাপ 5: কাউন্টার স্ক্রিন পড়ার জন্য কোড তৈরি করুন, এটি ব্যাখ্যা করুন এবং উৎস থেকে প্রত্যাহার করুন

কাউন্টার স্ক্রিন পড়ার জন্য কোড তৈরি করুন, এটি ব্যাখ্যা করুন এবং উৎস থেকে প্রত্যাহার করুন
কাউন্টার স্ক্রিন পড়ার জন্য কোড তৈরি করুন, এটি ব্যাখ্যা করুন এবং উৎস থেকে প্রত্যাহার করুন

আমাদের প্রকল্পের কেন্দ্রবিন্দুতে রয়েছে গাইগার-মুলার কাউন্টার এবং ক্যামেরা ব্যবহার করে স্ক্রিনে থাকা ডেটার অর্থ নির্ধারণ করতে নিম্নলিখিত কোড সেগমেন্ট ব্যবহার করা হয়। উৎসের কার্যকলাপের উপর ভিত্তি করে আমাদের কাউন্টারের স্ক্রিন রঙ পরিবর্তন করে, আমরা পর্দার রঙ ব্যাখ্যা করার জন্য ক্যামেরা সেট করব। "R.getImage" কমান্ডের সমান একটি ভেরিয়েবল সেট করে আপনার কোড শুরু করুন। ভেরিয়েবলটিতে লাল, সবুজ এবং নীল রঙে তোলা ছবির 3 ডি অ্যারে থাকবে। "গড় (গড় (img1 (:,:, x))" "কমান্ড ব্যবহার করে এই সংশ্লিষ্ট রঙের ম্যাট্রিক্সের গড়ের সমান ভেরিয়েবল সেট করুন যেখানে x 1 থেকে 3 পর্যন্ত একটি পূর্ণসংখ্যা। 1, 2 এবং 3 লাল, সবুজ এবং যথাক্রমে নীল। উল্লেখিত সমস্ত কমান্ডের মতো, উদ্ধৃতি চিহ্ন অন্তর্ভুক্ত করবেন না।

"বিরতি (20)" ব্যবহার করে প্রোগ্রামটি 20 সেকেন্ডের জন্য বিরতি দিন যাতে কাউন্টারটি নমুনার সঠিক পড়া পেতে পারে এবং তারপরে "যদি" বিবৃতিটি শুরু করতে পারে। আমরা "R.beep" ব্যবহার করে বেশ কয়েকবার আমাদের রুম্বা বীপ দিয়েছিলাম যাতে লেখা সহ একটি মেনু দেখানো হয়েছিল, "রেডিও আইসোটোপ পাওয়া গেছে! সাবধান!" এটি "waitfor (helpdlg ({'texthere'})) কমান্ড দিয়ে সম্পন্ন করা যেতে পারে। ঠিক আছে ক্লিক করার পর, রুমবা" if "স্টেটমেন্টে বাকী কোড অনুসরণ করতে থাকবে। "r.moveDistance" এবং "r.turnAngle" কমান্ডের সমন্বয়

সংযুক্ত আমাদের কোডের একটি স্ক্রিনশট, কিন্তু আপনার মিশন প্যারামিটারগুলির জন্য সবচেয়ে উপযুক্ত করার জন্য নির্দ্বিধায় এটি সম্পাদনা করুন।

ধাপ 6: একটি ক্লিফ সেন্সর কোড তৈরি করুন

একটি ক্লিফ সেন্সর কোড তৈরি করুন
একটি ক্লিফ সেন্সর কোড তৈরি করুন

Roomba এর অন্তর্নির্মিত ক্লিফ সেন্সর ব্যবহার করার জন্য একটি কোড তৈরি করতে, "while" লুপ দিয়ে শুরু করুন এবং এর এক্সপ্রেশনকে সত্য হিসাবে সেট করুন। একটি পরিবর্তনশীলকে "r.getCliffSensors" এর সমান সেট করুন, এবং এর ফলে একটি কাঠামো তৈরি হবে। একটি "if" স্টেটমেন্ট শুরু করুন এবং কাঠামো থেকে "X.leftFront" এবং "X.rightFront" ভেরিয়েবলগুলিকে কিছু পূর্বনির্ধারিত মানের চেয়ে বড় সেট করুন, যেখানে "X" হল ভেরিয়েবল যা আপনি "r.getCliffSensors" কমান্ডটি বেছে নিয়েছেন সমান হতে। আমাদের ক্ষেত্রে, আমরা 1000 ব্যবহার করেছি, যেমন একটি সাদা কাগজের টুকরো একটি চূড়ার প্রতিনিধিত্ব করার জন্য ব্যবহার করা হয়েছিল, এবং, সেন্সরগুলির কাছে আসার সাথে সাথে, কাগজ, মানগুলি 1000 এরও বেশি হয়ে গেছে, নিশ্চিত করে যে কোডটি কেবল তখনই কার্যকর হবে যখন একটি খিলান ধরা পড়ে । "বিরতি" কমান্ড যোগ করুন, এবং তারপর একটি "অন্য" বিবৃতি সন্নিবেশ করান। "অন্য" স্টেটমেন্টের জন্য, যা কোন ক্লিফ সনাক্ত না হলে কার্যকর করা হবে, ড্রাইভের গতি প্রতিটি চাকার জন্য স্বাভাবিক ক্রুজিং বেগ সেট করুন। যদি রুম্বা একটি চূড়া সনাক্ত করে, "বিরতি" কার্যকর করা হবে, এবং তারপর সময় লুপের বাইরে কোডটি কার্যকর করা হবে। "If" এবং "while" লুপের জন্য "এন্ড" রাখার পর, রোম্বাকে মুভ ডিস্টেন্স কমান্ড ব্যবহার করে পিছনে সরানোর জন্য সেট করুন। মহাকাশচারীদের সতর্ক করার জন্য যে একটি ক্লিফ কাছাকাছি, ড্রাইভ বেগ কমান্ডে প্রতিটি চাকার ড্রাইভের গতি x এবং y সেট করুন, একটি এবং -a হতে, যেখানে a একটি প্রকৃত সংখ্যা। এর ফলে রুম্বা ঘুরবে, নভোচারীকে ক্লিফের দিকে সতর্ক করে।

সংযুক্ত আমাদের কোডের একটি স্ক্রিনশট, কিন্তু আপনার মিশন প্যারামিটারগুলির জন্য সবচেয়ে উপযুক্ত করার জন্য নির্দ্বিধায় এটি সম্পাদনা করুন।

ধাপ 7: উপসংহার

উপসংহার
উপসংহার

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

-EF230 RADbot টিম

প্রস্তাবিত: