সুচিপত্র:

মঙ্গল রুম্বা:। টি ধাপ
মঙ্গল রুম্বা:। টি ধাপ

ভিডিও: মঙ্গল রুম্বা:। টি ধাপ

ভিডিও: মঙ্গল রুম্বা:। টি ধাপ
ভিডিও: মাত্র ৩০ টাকায় ডিজাইন ব্লাউজ , Blouse Wholesale Market In Santipur | Blouse Wholesale Market 2024, নভেম্বর
Anonim
মঙ্গল রুমা
মঙ্গল রুমা

এই নির্দেশযোগ্য আপনাকে রাস্পবেরি পাই নিয়ন্ত্রিত রুম্বা ভ্যাকুয়াম বট পরিচালনার দিকনির্দেশনা দেবে। আমরা যে অপারেটিং সিস্টেমটি ব্যবহার করব তা MATLAB এর মাধ্যমে।

ধাপ 1: সরবরাহ

এই প্রকল্পটি সম্পাদনের জন্য আপনাকে যা সংগ্রহ করতে হবে:

  • iRobot এর Create2 Roomba ভ্যাকুয়াম ক্লিনার বট
  • রাস্পবেরি পাই
  • রাস্পবেরি পাই ক্যামেরা
  • MATLAB এর সর্বশেষ সংস্করণ
  • MATLAB এর জন্য Roomba ইনস্টল টুলবক্স
  • একটি সেলুলার ডিভাইসের জন্য MATLAB অ্যাপ্লিকেশন

ধাপ 2: সমস্যা বিবৃতি

সমস্যা বিবৃতি
সমস্যা বিবৃতি

গ্রহ তথ্য সংগ্রহে বিজ্ঞানীদের সহায়তা করার জন্য আমাদের মঙ্গল গ্রহে ব্যবহার করা যেতে পারে এমন একটি রোভার তৈরির জন্য ম্যাটল্যাব ব্যবহার করার দায়িত্ব দেওয়া হয়েছিল। আমাদের প্রকল্পে আমরা যে ফাংশনগুলো সম্বোধন করেছি তা ছিল রিমোট কন্ট্রোল, অবজেক্ট ইমপ্যাক্ট রিকগনিশন, ওয়াটার রিকগনিশন, লাইফ রিকগনিশন এবং ইমেজ প্রসেসিং। এই কৃতিত্ব অর্জনের জন্য, আমরা iRobot এর Create2 Roomba- এর অনেকগুলি ফাংশন ম্যানিপুলেট করার জন্য Roomba টুলবক্স কমান্ড ব্যবহার করে কোডেড করেছি।

ধাপ 3: ব্লুটুথ রিমোট কন্ট্রোল

ব্লুটুথ রিমোট কন্ট্রোল
ব্লুটুথ রিমোট কন্ট্রোল

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

কোডটি নিম্নরূপ:

যখন 0 == 0

বিরতি (.5)

PhoneData = M. Orientation;

আজি = ফোন ডেটা (1);

পিচ = PhoneData (2);

পাশ = PhoneData (3);

বাধা = r.getBumpers;

যদি পাশ> 80 || পাশ <-80

r.stop

r.beep ('C, E, G, C^, G, E, C')

বিরতি

elseif পাশ> 20 && পাশ <40

r.turnAngle (-5);

অন্যদিকে সাইড> 40

r.turnAngle (-25);

অন্যদিকে সাইড -40

r.turnAngle (5);

অন্যদিকে সাইড <-40

r.turnAngle (25);

শেষ

যদি পিচ> 10 && পিচ <35

r.moveDistance (.03)

elseif পিচ> -35 && পিচ <-10

r.moveDistance (-। 03)

শেষ

শেষ

ধাপ 4: প্রভাব স্বীকৃতি

প্রভাব স্বীকৃতি
প্রভাব স্বীকৃতি

আরেকটি ফাংশন যা আমরা বাস্তবায়ন করেছি তা হল রুম্বার প্রভাব একটি বস্তুর মধ্যে সনাক্ত করা এবং তার বর্তমান পথ সংশোধন করা। এটি করার জন্য, কোন বস্তুকে আঘাত করা হয়েছে কিনা তা নির্ধারণ করতে আমাদের বাম্পার সেন্সর থেকে রিডিং সহ কন্ডিশনাল ব্যবহার করতে হয়েছিল। যদি রোবট কোন বস্তুকে আঘাত করে, তাহলে এটি.2 মিটার ব্যাক আপ করবে, এবং কোন কোণে বাম্পার আঘাত হানে তা নির্ধারণ করে ঘুরবে। একবার একটি আইটেম আঘাত করা হলে, একটি মেনু শব্দটি প্রদর্শন করে "উফ"।

কোড নীচে প্রদর্শিত হয়:

যখন 0 == 0

বাধা = r.getBumpers;

r.setDriveVelocity (.1)

যদি bumps.left == 1

msgbox ('উফ!');

r.moveDistance (-0.2)

r.setTurnVelocity (.2)

r.turnAngle (-35)

r.setDriveVelocity (.2)

elseif bumps.front == 1

msgbox ('উফ!');

r.moveDistance (-0.2)

r.setTurnVelocity (.2)

r.turnAngle (90)

r.setDriveVelocity (.2)

elseif bumps.right == 1

msgbox ('উফ!');

r.moveDistance (-0.2)

r.setTurnVelocity (.2)

r.turnAngle (35)

r.setDriveVelocity (.2)

elseif bumps.leftWheelDrop == 1

msgbox ('উফ!');

r.moveDistance (-0.2)

r.setTurnVelocity (.2)

r.turnAngle (-35)

r.setDriveVelocity (.2)

elseif bumps.rightWheelDrop == 1

msgbox ('উফ!');

r.moveDistance (-0.2)

r.setTurnVelocity (.2)

r.turnAngle (35)

r.setDriveVelocity (.2)

শেষ

শেষ

ধাপ 5: জীবন স্বীকৃতি

জীবন স্বীকৃতি
জীবন স্বীকৃতি

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

কোডটি নিম্নরূপ:

t = 10;

আমি = 0;

যখন t == 10

img = r.getImage; imshow (img)

বিরতি (0.167)

i = i + 1;

red_mean = mean (mean (img (:,:, 1)));

blue_mean = mean (mean (img (:,:, 3)));

green_mean = mean (mean (img (:,:, 2)));

সাদা_মান = (নীল_আমি + সবুজ_মান + লাল_মান) / 3; %এই ভ্যাল প্রায় 100 চান

নয়_প্লাস_টেন = 21;

সবুজ_থ্রেশোল্ড = 125;

নীল_থ্রেশোল্ড = 130;

সাদা_থ্রেশোল্ড = 124;

red_threshold = 115;

যখন নয়_প্লাস_টেন == 21 %সবুজ - জীবন

যদি সবুজ_মান> সবুজ_থ্রেশোল্ড এবং & নীল_মান <নীল_থ্রেশহোল্ড && লাল_মান <লাল_ থ্রেশহোল্ড

r.moveDistance (-। 1)

a = msgbox ('সম্ভাব্য জীবনের উৎস পাওয়া গেছে, লোকেশন প্লট করা হয়েছে');

বিরতি (2)

মুছে ফেলুন (ক)

[y2, Fs2] = audioread ('z_speak2.wav');

শব্দ (y2, Fs2)

বিরতি (2)

%উদ্ভিদ = r.getImage; %imshow (উদ্ভিদ);

%save ('plant_img.mat', plant ');

সবুজ রঙে %প্লটের অবস্থান

আমি = 5;

বিরতি

অন্য

নয়_প্লাস_টেন = 19;

শেষ

শেষ

নয়_প্লাস_টেন = 21;

যখন nine_plus_ten == 21 %নীল - woder

যদি blue_mean> blue_threshold && green_mean <green_threshold && white_mean <white_threshold && red_mean <red_threshold

r.moveDistance (-। 1)

a = msgbox ('পানির উৎস পাওয়া গেছে, লোকেশন প্লট করা হয়েছে');

বিরতি (2)

মুছে ফেলুন (ক)

[y3, Fs3] = audioread ('z_speak3.wav');

শব্দ (y3, Fs3);

%woder = r.getImage; %imshow (woder)

%সংরক্ষণ ('water_img.mat', woder)

%প্লটের অবস্থান নীল

আমি = 5;

বিরতি

অন্য

নয়_প্লাস_টেন = 19;

শেষ

শেষ

নয়_প্লাস_টেন = 21;

যখন nine_plus_ten == 21 %সাদা - এলিয়েন মনকা

যদি সাদা_ মানে> সাদা_থ্রেশোল্ড এবং &#নীল_মান <নীল_থ্রেশোল্ড এবং & সবুজ_মান <সবুজ_থ্রেশহোল্ড

[y5, Fs5] = audioread ('z_speak5.wav');

শব্দ (y5, Fs5);

বিরতি (3)

r.setDriveVelocity (0,.5)

[ys, Fss] = অডিওরিড ('z_scream.mp3');

শব্দ (ys, Fss);

বিরতি (3)

r.stop

% এলিয়েন = r.getImage; %imshow (এলিয়েন);

% save ('alien_img.mat', alien);

আমি = 5;

বিরতি

অন্য

নয়_প্লাস_টেন = 19;

শেষ

শেষ

যদি আমি == 5

a = 1; %কোণ ঘুরিয়ে দেয়

t = 9; %বড় লুপ শেষ

আমি = 0;

শেষ

শেষ

ধাপ 6: এটি চালান

সমস্ত কোড লেখা হয়ে যাওয়ার পরে, এটি একটি ফাইল এবং ভয়েলাতে একত্রিত করুন! আপনার রুম্বা বট এখন সম্পূর্ণরূপে কার্যকরী হবে এবং বিজ্ঞাপন অনুযায়ী কাজ করবে! যাইহোক, ব্লুটুথ কন্ট্রোল হয় একটি পৃথক ফাইলে অথবা বাকি কোড থেকে ১০০ %দিয়ে আলাদা হওয়া উচিত।

আপনার রোবট ব্যবহার করে উপভোগ করুন !!

প্রস্তাবিত: