সুচিপত্র:

Localino Tracks Roomba IRobot, মানচিত্র পরিবেশ এবং অনুমতি দেয় নিয়ন্ত্রণ: 4 ধাপ
Localino Tracks Roomba IRobot, মানচিত্র পরিবেশ এবং অনুমতি দেয় নিয়ন্ত্রণ: 4 ধাপ

ভিডিও: Localino Tracks Roomba IRobot, মানচিত্র পরিবেশ এবং অনুমতি দেয় নিয়ন্ত্রণ: 4 ধাপ

ভিডিও: Localino Tracks Roomba IRobot, মানচিত্র পরিবেশ এবং অনুমতি দেয় নিয়ন্ত্রণ: 4 ধাপ
ভিডিও: How To Track Location Of iRobot Roomba i7 2024, নভেম্বর
Anonim
Image
Image

ওয়াইফাই-ইউএআরটি ব্রিজ তৈরির জন্য, আপনি এই গিথুব রেপোটি দেখতে পারেন:

এটি দিয়ে শুরু করার একটি সুন্দর ভিত্তি রয়েছে। আপনি গাইডলাইনটি ভালভাবে পড়েছেন তা নিশ্চিত করুন, কারণ চার্জিংয়ের সময় রুম্বা ভিসিসি 20 ভোল্ট পর্যন্ত বৃদ্ধি পায়! যদি আপনি একটি সঠিক বক-কনভার্টার ছাড়াই একটি ESP8266 যোগ করেন যা 20V পর্যন্ত কাজ করে এবং 3.3V এ ডাউন-কনভার্ট করে, তাহলে আপনি আপনার ESP কে ক্ষতিগ্রস্ত করবেন।

এছাড়াও একটি লেভেল শিফটার ব্যবহার করতে ভুলবেন না (যেমন একটি ভোল্টেজ ডিভাইডার ব্যবহার করে) 5V UART লজিকের মাত্রাগুলি Roomba থেকে 3.3V এ স্থানান্তরিত করতে, যা ESP দ্বারা ব্যবহৃত হয়।

আরেকটি গুরুত্বপূর্ণ বিবরণ হল, বক কনভার্টারের 300mA থাকা উচিত, কিন্তু খুব কম বা অনেক বেশি (বক কনভার্টারের উপর নির্ভর করে)। সেখানে এমন কিছু আছে যা অনেক বেশি কারেন্ট করতে পারে, কিন্তু রুম্বাকে ক্র্যাশ করতে পারে কারণ তারা স্টার্ট-আপের সময় খুব বেশি কারেন্ট টানে। আমরা খুঁজে পেয়েছি যে Pololu 3.3V, 300mA Step-Down Voltage Regulator (D24V3F3) ঠিক নিখুঁতভাবে কাজ করে। 500mA / 600mA এর বিকল্প সংস্করণগুলি Roomba UART ইন্টারফেস ক্র্যাশ করেছে। মূলত রুম্বা বোতাম টিপে প্রতিক্রিয়া জানাচ্ছিল, কিন্তু UART ইন্টারফেসের মাধ্যমে কমান্ডগুলিতে নয়। একবার এটি ঘটলে আমাদের রুম্বা ব্যাটারি অপসারণ করতে হয়েছিল এবং ওয়াইফাই-ইউএআরটি ব্রিজ সংযুক্ত করে রুমবা ঠান্ডা-পুনরায় চালু করতে হয়েছিল। যাইহোক, শুধুমাত্র D24V3F3 ভাল কাজ করেছে।

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

Arduino IDE এর মধ্যে উদাহরণ:

void goForward () {char c = {137, 0x00, 0xc8, 0x80, 0x00}; // 0x00c8 == 200 সিরিয়াল.প্রিন্ট (গ); }

void goBackward () {char c = {137, 0xff, 0x38, 0x80, 0x00}; // 0xff38 == -200 সিরিয়াল.প্রিন্ট (গ); }

অকার্যকর spinLeft () {char c = {137, 0x00, 0xc8, 0x00, 0x01}; সিরিয়াল.প্রিন্ট (গ); }

void spinRight () {char c = {137, 0x00, 0xc8, 0xff, 0xff}; সিরিয়াল.প্রিন্ট (গ); }

আপনি যদি লুয়ায় লিখেন তবে এটি কিছুটা আলাদা দেখায়, বাম মোড়ের উদাহরণটি এর মতো দেখতে হবে:

যদি (_GET.pin == "LEFT") তাহলে মুদ্রণ করুন ('\ 137'); -VOR

tmr.delay (100);

মুদ্রণ ('\ 00'); -বেগ = 200 = 0x00C8 -> 0 এবং 200

tmr.delay (100);

মুদ্রণ ('\ 200'); - বেগ

tmr.delay (100);

মুদ্রণ ('\ 254'); - ব্যাসার্ধ = 500 = 0x01F4 = 0x01 0xF4 = 1 244

tmr.delay (100);

মুদ্রণ ('\ 12'); - পালা

শেষ

নিশ্চিত করুন যে আপনাকে আপনার রুম্বার জন্য খোলা ইন্টারফেসের বিবরণ সংশোধন করতে হবে। কমপক্ষে দুটি খোলা ইন্টারফেস স্পেসিফিকেশন উপলব্ধ।

Roomba 5xx সিরিজের জন্য:

Roomba 6xx সিরিজের জন্য:

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

এখন যেহেতু আপনি একটি পিসি অ্যাপ্লিকেশন থেকে দূরবর্তীভাবে আপনার রুম্বা নিয়ন্ত্রণ করতে পারেন, কেবলমাত্র অনুপস্থিত জিনিসটি হল অভ্যন্তরীণ স্থানীয়করণ। প্রতিক্রিয়া লুপ বন্ধ করার জন্য আমাদের এটি প্রয়োজন, কারণ আমাদের লক্ষ্য ছিল রোবটকে একটি নির্দিষ্ট দিকে নিয়ে যাওয়া। চল এটা করি.

ধাপ 3: আপনার ইন্ডোর লোকালাইজেশন সিস্টেম সেটআপ করুন

ফিডব্যাক লুপ বন্ধ করতে আমরা একটি ইনডোর লোকালাইজেশন সিস্টেম ব্যবহার করি। আমরা এর জন্য Localino ব্যবহার করি। লোকালিনো পদ্ধতিতে "নোঙ্গর" এবং "ট্যাগ" রয়েছে। নোঙ্গরগুলি কক্ষের ভিতরে স্থির অবস্থানে স্থাপন করা হয় এবং চলন্ত ট্যাগের অবস্থান সনাক্ত করে (যা রুম্বায় স্থাপন করা হয়)। পিসি অ্যাপ্লিকেশনে লোকেশন প্রসেসিং করা হয়। এটি খুব সুবিধাজনক, কারণ আপনি একই পিসি থেকে রুমবাকেও নিয়ন্ত্রণ করতে পারেন! লোকালিনো ওয়েবসাইট থেকে ফ্রি সোর্স কোড পাওয়া যায়, এটি পাইথনে লেখা হয় এবং একটি রিয়েল-টাইম স্ট্রিমও পাওয়া যায় যা ট্যাগের XYZ স্থানাঙ্ক সরবরাহ করে। ডেটাস্ট্রিম UDP নেটওয়ার্কের মাধ্যমে পাওয়া যায়, কিন্তু আপনি MQTT বা আপনার পছন্দ মতো অন্য কোন অভিনব জিনিস যোগ করতে পারেন। আপনি যদি পাইথন জানেন, সেখানে লাইব্রেরির স্তুপ রয়েছে যা আপনাকে সাহায্য করে।

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

এখন যেহেতু আমাদের রুম্বার অবস্থান আছে আমাদের পরবর্তী পদক্ষেপ হল একই অ্যাপ্লিকেশন থেকে রুমবাকে নিয়ন্ত্রণ করা। ধারণাটি হল স্থল সত্য ব্যবহার করা এবং রোবটের জন্য একটি নিখুঁত পরিষ্কার পথ অনুমান করা। লোকালিনো ব্যবহারের মাধ্যমে আমরা ফিডব্যাক লুপ বন্ধ করতে পারি এবং পিসি অ্যাপ্লিকেশন থেকে রোবট নিয়ন্ত্রণ করতে পারি।

সেটআপ মন্তব্য

ঘরের ভিতরে লোকালিনো নোঙ্গরগুলি বিভিন্ন x, y অবস্থানে এবং তাদের তিনটি একই z অবস্থানে রাখুন। চারটি নোঙ্গরের মধ্যে একটিকে প্রতি রুমে আলাদা উচ্চতায় রাখুন। নিশ্চিত করুন যে Localino ট্যাগ থেকে ভাল কভারেজ আছে, যে Roomba সঙ্গে চলন্ত হবে।

সমস্ত নোঙ্গরের একটি ইউনিক অ্যাঙ্কর আইডি থাকে, যা লোকালিনোর বারকোডে প্রদর্শিত হয় এবং "লোকালিনো কনফিগারেশন" টুল দিয়ে পড়া যায়।

এক্স, ওয়াই, জেড এবং নোঙ্গর আইডিতে অবস্থানগুলি নোট করুন। লোকালিনো প্রসেসর সফটওয়্যারের জন্য এটি প্রয়োজন এবং "Localino.ini" ফোল্ডারে "LocalinoProcessor" ফোল্ডারে অভিযোজিত হতে হবে

নোঙ্গরগুলিকে Z (যখন XY এলাকা আচ্ছাদিত করা হয়) এ wardsর্ধ্বমুখী বা নিচের দিকে নির্দেশ করা উচিত, কিন্তু আচ্ছাদিত এলাকার দিকে নয়। নোঙ্গরগুলি ধাতু বা অন্য কোনও বেতার সংকেত বিরক্তিকর উপাদান দ্বারা আবৃত করা উচিত নয়। যদি এটি সম্ভব না হয় তবে যেকোনো উপাদান এবং নোঙ্গরের মধ্যে একটি নির্দিষ্ট বায়ু ব্যবধান থাকা উচিত।

…আরো আসছে.

ধাপ 4: পাইথন সফটওয়্যার অ্যাডাপ্ট করুন

সাথে থাকুন. আরো আসছে.

প্রস্তাবিত: