সুচিপত্র:

গাড়ির রিয়ার ভিশন: 9 টি ধাপ (ছবি সহ)
গাড়ির রিয়ার ভিশন: 9 টি ধাপ (ছবি সহ)

ভিডিও: গাড়ির রিয়ার ভিশন: 9 টি ধাপ (ছবি সহ)

ভিডিও: গাড়ির রিয়ার ভিশন: 9 টি ধাপ (ছবি সহ)
ভিডিও: পৃথিবীর সবচেয়ে অদ্ভুত ১০ জন মানুষ যা বিশ্বাস করতে পারবেন না | 10 People You Won't Believe Exist 2024, নভেম্বর
Anonim
Image
Image

আমরা কেন গাড়ির রিয়ার ভিশন তৈরি করব?

ব্যাক-আপ সংঘর্ষ একটি বড় সমস্যা হয়েছে, ইউএস সেন্টার ফর ডিজিজ কন্ট্রোল রিপোর্ট করেছে যে 2001-2003 থেকে 15 বছরের কম বয়সী আনুমানিক 7, 475 শিশু (প্রতি বছর 2, 492) অটোমোবাইল ব্যাক-ওভার ঘটনার জন্য চিকিত্সা করা হয়েছিল। ব্যাকআপ সংঘর্ষের ফলে প্রতি বছর প্রায় 300 জন প্রাণহানি ঘটে। 2018 সালের মধ্যে মার্কিন যুক্তরাষ্ট্রে বিক্রি হওয়া সমস্ত গাড়ির জন্য একটি বাধ্যতামূলক ব্যাকআপ ক্যামেরা প্রয়োজন হবে।

আমরা কিভাবে সমস্যার সমাধান করব?

বাজারে আজও বেশিরভাগ গাড়ির ব্যাকআপ ক্যামেরা নেই, যার মধ্যে আজকে মার্কিন যুক্তরাষ্ট্রে বিক্রি হওয়া গাড়িগুলির প্রায় অর্ধেক এবং বিশ্বজুড়ে অর্ধেকেরও বেশি। আমরা লাইসেন্স প্লেটের স্থান ব্যবহার করে গাড়ির পিছনে ক্যামেরা বসিয়ে এই সমস্যার সমাধান করতে পারি।

ওয়ালাবট গাড়ির নিকটতম লক্ষ্যমাত্রার দূরত্ব সনাক্ত করতে সক্ষম হবে।

ইন্টেল রিয়েলসেন্স R200 ক্যামেরা আমাদের কম আলো পরিস্থিতি সহ কি দেখা হচ্ছে সে সম্পর্কে আরও বিস্তারিত জানাবে।

ইন্টেল জৌল ডেভেলপার কিট ওয়ালাবটের সাথে রিয়েলসেন্স ক্যামেরা চালানোর জন্য যথেষ্ট শক্তিশালী। রাস্পবেরি পাই একটি রিয়েলসেন্স 3 ডি ক্যামেরা চালানোর জন্য যথেষ্ট শক্তিশালী নয়, যেখানে আমরা ভবিষ্যতে আরও অনেক বৈশিষ্ট্য যুক্ত করতে পারি যা গাড়ির কার্যকারিতা উন্নত করতে পারে। একই সংস্করণ Pi এর সাথে একটি সাধারণ USB ক্যামেরা ব্যবহার করা যেতে পারে, কিন্তু এটি রাতের জন্য ভাল হবে না।

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

সেই উপাদানগুলির মাধ্যমে, আমরা একটি রিয়ার এন্ড ভিশন তৈরি করতে সক্ষম হব যা ব্যবহারকারীকে গাড়ির পিছনে দেখায়।

ধাপ 1: আপনার প্রয়োজনীয় হার্ডওয়্যার সংগ্রহ করুন

Joule এবং প্রয়োজনীয় লাইব্রেরিতে উবুন্টু ইনস্টল করুন যা এটি চালানোর জন্য প্রয়োজন।
Joule এবং প্রয়োজনীয় লাইব্রেরিতে উবুন্টু ইনস্টল করুন যা এটি চালানোর জন্য প্রয়োজন।
  1. ইন্টেল জুলে
  2. ওয়ালাবট প্রো
  3. ইন্টেল R200 রিয়েলসেন্স ক্যামেরা
  4. অ্যান্ড্রয়েড ফোন/ট্যাবলেট যা 5.0 বা তার বেশি চালায়
  5. প্লাগ আউটপুট এবং 12VDC এসি অ্যাডাপ্টারের জন্য গাড়ির অ্যাডাপ্টার (এটি জোলকে পাওয়ার ডেমোর জন্য, উৎপাদন সংস্করণে বিভিন্ন পাওয়ার মেকানিজম থাকবে)
  6. ক্যামেরা এবং ওয়ালাবট হুকিংয়ের জন্য ইউএসবি হাব (ক্যামেরার জন্য ইউএসবি 3 এবং ওয়ালাবটের জন্য ইউএসবি 2)
  7. ডিসি থেকে এসি সরাসরি প্লাগ-ইন পাওয়ার ইনভার্টার
  8. জেনেরিক থ্রিডি প্রিন্টার কাস্টম বিল্ট লাইসেন্স প্লেট ফ্রেম প্রিন্ট করতে

পদক্ষেপ 2: উবুন্টু ইনস্টল করুন জুলে এবং প্রয়োজনীয় লাইব্রেরিতে যা এটি চালানোর জন্য প্রয়োজন।

যেহেতু আমরা লিনাক্স রুটের সাথে যাওয়ার সিদ্ধান্ত নিয়েছি, তাই জাউলে উবুন্টু ইনস্টল করতে গাইড https://developer.ubuntu.com/core/get-started/intel-joule অনুসরণ করুন। উবুন্টু আমাদের একটি আইওটি ভিত্তিক চিপে একটি প্রকৃত অপারেটিং সিস্টেম চালানোর জন্য দুর্দান্ত নমনীয়তা দেয়।

ধাপ 3: রিয়েলসেন্স ক্যামেরা স্ট্রিম করুন

রিয়েলসেন্স ক্যামেরা স্ট্রিম করুন
রিয়েলসেন্স ক্যামেরা স্ট্রিম করুন
রিয়েলসেন্স ক্যামেরা স্ট্রিম করুন
রিয়েলসেন্স ক্যামেরা স্ট্রিম করুন

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

ক। উবুন্টুতে গতি ইনস্টল করা:

sudo apt-get updates আপডেট করুন

খ। কনফিগার ফাইল কপি করুন:

mkdir.motion sudo cp /etc/motion/motion.conf ~/.motion/motion.conf

গ। ফাইলটি কনফিগার করা, যারা উবুন্টুর সাথে পরিচিত তাদের জন্য সহজ পাঠ্য সম্পাদনা করার জন্য সাবলাইম ইনস্টল করতে পারেন, অন্যথায় আমরা এটি কমান্ড লাইনের ভিতরে সম্পাদনা করতে পারি।

sudo nano।/.motion/motion.conf

ঘ। R200 ক্যামেরা প্লাগ ইন করার পরে, আমরা নিচের লাইনগুলিকে motion.conf এ পরিবর্তন করতে পারি

এটি ব্যাকগ্রাউন্ড মোডে রাখা:

# ডেমন (ব্যাকগ্রাউন্ড) মোডে শুরু করুন এবং টার্মিনাল (ডিফল্ট: অফ) ডেমন চালু করুন

এটি রিয়েলসেন্স ক্যামেরার ক্যামেরা ভিউ ব্যবহার করার জন্য।

# ভিডিওডিভিস ক্যাপচার করার জন্য ব্যবহার করা হবে (ডিফল্ট /dev /video0) # ফ্রিবিএসডি ডিফল্টের জন্য /dev /bktr0 videodevice /dev /video2

প্রস্থ এবং উচ্চতা পরিবর্তন করে, 1280 x 720 আমার জন্য দুর্দান্ত কাজ করেছে, তবে আপনার প্রয়োজনের সাথে সামঞ্জস্যপূর্ণ দেখতে আপনি মাত্রাগুলি নিয়ে খেলতে পারেন।

# ছবির প্রস্থ (পিক্সেল)। বৈধ পরিসীমা: ক্যামেরা নির্ভর, ডিফল্ট: 352 প্রস্থ 1280 # ছবির উচ্চতা (পিক্সেল)। বৈধ পরিসীমা: ক্যামেরা নির্ভর, ডিফল্ট: 288 উচ্চতা 720

আমি এটি 30 তে সেট করেছি, আপনি যত বেশি সংখ্যা সেট করবেন তত বেশি কম্পিউটিং পাওয়ার প্রয়োজন হবে। আপনি এর জন্য বেঞ্চমার্ক কি দেখতে চারপাশে খেলতে পারেন, কিন্তু 30 আমার জন্য দুর্দান্ত কাজ করেছে।

# প্রতি সেকেন্ডে সর্বোচ্চ সংখ্যক ফ্রেম ধরা হবে। # বৈধ পরিসীমা: 2-100। ডিফল্ট: 100 (প্রায় কোন সীমা নেই)। ফ্রেমরেট 30

যেহেতু আমরা সবসময় গাড়ির পিছনে স্ট্রিমিং করছি, আমরা একটি ডেডিকেটেড পোর্ট সেট করতে পারি, আমরা 5001 ব্যবহার করি

############################################ ###########লাইভ স্ট্রিম সার্ভার ############################### #########################মিনি-http সার্ভার অনুরোধের জন্য এই পোর্টটি শোনে (ডিফল্ট: 0 = অক্ষম) স্ট্রিম_পোর্ট 5001#jpeg এর গুণমান (শতকরা) উৎপাদিত ইমেজ (ডিফল্ট: ৫০) stream_quality 50 # আউটপুট ফ্রেম 1 fps এ যখন কোন গতি সনাক্ত করা হয় না এবং স্ট্রিম_ম্যাক্স্রেট দ্বারা প্রদত্ত # রেটে বৃদ্ধি পায় যখন গতি সনাক্ত করা হয় (ডিফল্ট: অফ) স্ট্রিম_মোশন অফ ডিফল্ট: 1) stream_maxrate 60 # শুধুমাত্র স্থানীয় হোস্টে স্ট্রিম সংযোগ সীমাবদ্ধ করুন (ডিফল্ট: চালু) stream_localhost বন্ধ

আপনি তারপর ifconfig চালাতে পারেন এবং আইপি ঠিকানা বের করে টার্মিনালে চালাতে পারেন, পোর্টটি 5001 হবে।

গতি

যদি কোন ত্রুটি না থাকে, তাহলে আইপি ব্যবহার করে আপনার কম্পিউটার থেকে ক্যামেরা চেক করা সহজ, ত্রুটি যেমন অনুমতির সমস্যা থাকলে ঠিক করুন।

একবার এটি চললে, আমরা এটি উবুন্টুতে স্টার্টআপ অ্যাপ্লিকেশনে যুক্ত করতে পারি।

ক্যামেরার জন্য মোশন স্টার্টআপ

motion.conf কোড বিভাগে সংযুক্ত করা হচ্ছে, আপনি সেখানে আরো সেটিংস চেক করতে পারেন।

ধাপ 4: ওয়ালাবট সেটআপ করুন

ওয়ালাবট সেটআপ করুন
ওয়ালাবট সেটআপ করুন
ওয়ালাবট সেটআপ করুন
ওয়ালাবট সেটআপ করুন
ওয়ালাবট সেটআপ করুন
ওয়ালাবট সেটআপ করুন
ওয়ালাবট সেটআপ করুন
ওয়ালাবট সেটআপ করুন

ক্যামেরার জায়গায়, আমাদের এখনও ওয়ালবট সেটআপ করতে হবে, এটি গাড়ির পিছনের বস্তুর সাথে দূরত্ব সনাক্ত করতে পারে, আমাদের কীভাবে করা উচিত সে সম্পর্কে একটি স্পষ্ট দৃষ্টি দেয়

a, https://www.walabot.com/WalabotInstaller/Latest/walabot-maker.deb থেকে deb ফাইলটি ডাউনলোড করুন

Walabot API ইনস্টল করার জন্য https://api.walabot.com/_install.html#_linuxInstall থেকে নির্দেশাবলী অনুসরণ করুন যাতে এটি পাইথন প্রকল্পে আমদানি করা যায়।

ওয়েবসাইটটিতে একটি ভুল আছে যেখানে এটি ওয়ালাবট এপিআই ইনস্টল করছে https://walabot.com/api/_pythonapi.html#_installingwalabotapi যেখানে বলা হয়েছে

পাইথন -এম পিপ "/usr/share/walabot/python/WalabotAPI-1.0.21.tar.gz"

এটাই হওয়া উচিত

python -m pip install "/usr/share/walabot/python/WalabotAPI-1.0.21.tar.gz"

খ। ইউএসবি 2 এর মাধ্যমে ওয়ালাবট প্রো সংযোগ করুন, আমি ইউএসবি 3 এর কাজ পেতে পারিনি কিন্তু ইউএসবি 2 লিনাক্সের সাথে সংযোগ স্থাপন করে কাজ করে। যেহেতু Joule- এ শুধুমাত্র একটি USB3 পোর্ট আছে, তাই Walabot Pro এর জন্য এখানে একটি অতিরিক্ত USB2 পোর্ট সংযুক্ত করুন

গ। ফোল্ডারে নিম্নলিখিত কমান্ডটি চালানোর মাধ্যমে ওয়ালাবট প্রকল্পটি পরীক্ষা করুন যেমন

পাইথন SensorTargets.py

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

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

MYPORT = 5002 আমদানি sys, সকেট আমদানি থেকে সময় * s = সকেট (AF_INET, SOCK_DGRAM) s.bind (('', 0)) s.setsockopt (SOL_SOCKET, SO_REUSEADDR, 1) s.setsockopt (SOL_SOCKET, SOC_BO)

নিম্নলিখিত কমান্ড আপডেটে ডেটা সম্প্রচার করবে

s.sendto (str (লক্ষ্য [0].zPosCm), ('255.255.255.255', MYPORT))

ই যখন এটি সম্পন্ন হয়, আমরা এটি স্টার্টআপ অ্যাপ্লিকেশনে সেট আপ করতে পারি

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

ধাপ 5: Joule থেকে Wifi Hotspot তৈরি করা

Joule থেকে Wifi Hotspot তৈরি করা হচ্ছে
Joule থেকে Wifi Hotspot তৈরি করা হচ্ছে

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

nmcli ডিভাইস wifi hotspot con-name vehicle-rear-vision ssid vehicle-rear-vision band bg password safedriving

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

out = os.popen ('ip neigh')। পড়ুন () (লক্ষ্য [0].zPosCm), (ip, MYPORT))

ধাপ 6: ডিসপ্লে স্ক্রিন হিসেবে অ্যান্ড্রয়েড তৈরি করা

ডিসপ্লে স্ক্রিন হিসেবে অ্যান্ড্রয়েড তৈরি করা
ডিসপ্লে স্ক্রিন হিসেবে অ্যান্ড্রয়েড তৈরি করা

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

অ্যান্ড্রয়েড 3 টি অংশে ফোকাস করে যা আমরা আগে করেছি,

  • আইওটি ডিভাইসের মাধ্যমে তৈরি ওয়াইফাই হটস্পটের সাথে সংযোগ করুন (ইন্টেল জৌল)
  • রিয়েলসেন্স ক্যামেরাটি ওয়াইফাই এর মাধ্যমে গতিতে প্রবাহিত করুন
  • ইউডিপির মাধ্যমে ওয়ালাবট লক্ষ্য থেকে দূরত্ব পরিমাপ করা

সবকিছু সেট আপ করার পরে এবং অ্যান্ড্রয়েড অ্যাপ ইনস্টল করার পরে (এখানে খোলা আছে), আপনি ওয়ালাবোটের সাথে ক্যামেরা কাজ করতে দেখতে পাবেন

ধাপ 7: সবকিছু পরীক্ষা করা

Image
Image
সবকিছু পরীক্ষা করা হচ্ছে
সবকিছু পরীক্ষা করা হচ্ছে
সবকিছু পরীক্ষা করা হচ্ছে
সবকিছু পরীক্ষা করা হচ্ছে

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

3 ডি প্রিন্টিং কেসিং যা ক্যামেরা ধরে রাখতে পারে খুব গুরুত্বপূর্ণ।

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

ধাপ 8: একটি বাস্তব গাড়িতে পরীক্ষা করা

Image
Image
একটি বাস্তব গাড়ির উপর পরীক্ষা
একটি বাস্তব গাড়ির উপর পরীক্ষা
একটি বাস্তব গাড়ির উপর পরীক্ষা
একটি বাস্তব গাড়ির উপর পরীক্ষা

এখন যেহেতু আমরা সবকিছু কাজ করেছি, আমরা এটি একটি বাস্তব গাড়িতে পরীক্ষা করতে সক্ষম হব। যেহেতু এটি একটি প্রোটোটাইপ জিনিস কিছুটা রুক্ষ হতে পারে, আমরা কিছু উপাদানগুলির জন্য ডাক্ট টেপ ব্যবহার করি।

জৌল আইওটি কিটকে শক্তিশালী করার জন্য, আমরা একটি ডিসি থেকে এসি ডাইরেক্ট প্লাগ-ইন পাওয়ার ইনভার্টার ব্যবহার করেছি, তারপর কেবল ট্রাঙ্কে একটি দীর্ঘ পাওয়ার আউটলেট চালালাম।

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

এবং সামনের অংশের জন্য, আমরা হয় একটি ফোন হোল্ডার ব্যবহার করতে পারি অথবা শুধু ডাক্ট টেপ অ্যান্ড্রয়েড ট্যাবলেট ব্যবহার করতে পারি।

ধাপ 9: বিশ্বে এটি ব্যবহার করুন

বিশ্বে এটি ব্যবহার করুন
বিশ্বে এটি ব্যবহার করুন

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

আপনি https://github.com/Nyceane/vehicle-rear-vision থেকে প্রকল্পটি পরীক্ষা করতে পারেন

প্রস্তাবিত: