এআই ভিশন#

ভূমিকা#

VEX AIM কোডিং রোবটের এআই ভিশন সেন্সর বস্তু, রঙ এবং এপ্রিলট্যাগ আইডি শনাক্ত ও ট্র্যাক করে। এর ফলে রোবটটি তার চারপাশ বিশ্লেষণ করতে, বস্তু অনুসরণ করতে এবং শনাক্তকৃত দৃশ্যমান তথ্যের ভিত্তিতে প্রতিক্রিয়া জানাতে পারে।

এআই ভিশন সেন্সরটির রেজোলিউশন হলো 320×240 পিক্সেল। মূলবিন্দু (0, 0) উপরের-বাম কোণে অবস্থিত, যা সেন্সরটির কেন্দ্রকে (160, 120) অবস্থানে স্থাপন করে, যেমনটি নীচের ডায়াগ্রামে দেখানো হয়েছে:

এআইএম এআই ভিশন সেন্সরের রেজোলিউশন দেখানো একটি ডায়াগ্রাম, যেখানে ডায়াগ্রামের উপরের বাম দিকে 0, 0 স্থানাঙ্ক, উপরের ডান দিকে 320, 0, এবং নীচের বাম দিকে 0, 240 স্থানাঙ্ক রয়েছে, এবং ঠিক কেন্দ্রে 160, 120 স্থানাঙ্ক রয়েছে।

নিম্নে সকল ব্লকের একটি তালিকা দেওয়া হলো:

ক্রিয়াকলাপ — এআই ভিশন ফিড নিয়ন্ত্রণ করুন এবং অবজেক্ট ডেটা ক্যাপচার করুন।

  • স্ক্রিনে এআই ভিশন ভিউয়ার — রোবটের স্ক্রিনে লাইভ এআই ভিশন ফিড চালু বা বন্ধ করে।

  • অবজেক্ট ডেটা পান — একটি নির্দিষ্ট স্বাক্ষরের জন্য ডেটা ক্যাপচার করে, যেমন একটি কনফিগার করা রঙ, একটি পূর্ব-প্রশিক্ষিত অবজেক্ট, বা একটি এপ্রিলট্যাগ আইডি।

সেটিংস — শনাক্তকৃত কোন অবজেক্টগুলো অ্যাক্সেস করা হবে তা সামঞ্জস্য করুন।

মানসমূহ — অবজেক্টের উপস্থিতি, শ্রেণিবিভাগ এবং বৈশিষ্ট্যসমূহ ফেরত দেয়।

কর্ম#

স্ক্রিনে এআই ভিশন ভিউয়ার#

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

এআই ভিশন ড্যাশবোর্ড স্ট্যাক ব্লকটি দেখান বা লুকান।#
স্ক্রিনে AI Vision [দেখাও v] ভিউয়ার

প্যারামিটার

বর্ণনা

অবস্থা

রোবটের স্ক্রিনে ডেটা ফিডের প্রদর্শন নিয়ন্ত্রণ করে: show ডেটা ফিড প্রদর্শন করে, আর hide স্ক্রিন থেকে ডেটা ফিড সরিয়ে দেয়।

উদাহরণ

ব্লকের একটি স্ট্যাক যা একটি ‘when started’ ব্লক দিয়ে শুরু হয়, এরপরে একটি কমেন্ট ব্লক থাকে যেখানে লেখা থাকে ‘পাঁচ সেকেন্ডের জন্য এআই ভিশন সেন্সরের ফিড দেখুন’। একটি ‘show AI Vision dashboard’ ব্লক ফিডটি প্রদর্শন করে, তারপর একটি ‘wait’ ব্লক পাঁচ সেকেন্ডের জন্য এক্সিকিউশন থামিয়ে দেয়। অপেক্ষার সময় শেষ হলে, একটি ‘hide AI Vision dashboard’ ব্লক ফিডটিকে দৃশ্য থেকে সরিয়ে দেয়।#
শুরু হলে
[View the AI Vision Sensor's feed for five seconds.]
স্ক্রিনে AI Vision [দেখাও v] ভিউয়ার
[5] সেকেন্ড অপেক্ষা করো
স্ক্রিনে AI Vision [লুকাও v] ভিউয়ার

অবজেক্ট ডেটা পান#

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

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

ডেটা সেটটি অবজেক্টগুলিকে প্রস্থ অনুসারে বৃহত্তম থেকে ক্ষুদ্রতম ক্রমে সংরক্ষণ করে, যা সূচক 0 থেকে শুরু হয়। প্রতিটি অবজেক্টের বৈশিষ্ট্যগুলি AI Vision object property ব্লক ব্যবহার করে অ্যাক্সেস করা যেতে পারে। যদি কোনও মিলযুক্ত অবজেক্ট সনাক্ত না করা হয় তবে একটি খালি ডেটা সেট রিপোর্ট করা হয়।

গেট অবজেক্ট ডেটা স্ট্যাক ব্লক।#
AI Vision থেকে [স্পোর্টস বল v] ডেটা নাও

প্যারামিটার

বর্ণনা

স্বাক্ষর

প্রদত্ত সিগনেচারের ডেটা অন্তর্ভুক্ত করার জন্য ডেটাসেট ফিল্টার করে। উপলব্ধ সিগনেচারগুলো হলো:

  • স্পোর্টস বল
  • কমলা ব্যারেল
  • নীল ব্যারেল
  • এআইএম রোবট
  • এপ্রিলট্যাগ আইডি ০
  • এপ্রিলট্যাগ আইডি ১
  • এপ্রিলট্যাগ আইডি ২
  • এপ্রিলট্যাগ আইডি ৩
  • এপ্রিলট্যাগ আইডি ৪
  • সমস্ত কার্গো - স্পোর্টস বল এবং সমস্ত ব্যারেল
  • নাম - একটি রঙ বা রঙের কোড যেখানে নাম হলো এআই ভিশন ইউটিলিটিতে কনফিগার করা নাম

উদাহরণ

ব্লকের একটি স্ট্যাক যা একটি ‘when started’ ব্লক দিয়ে শুরু হয়, এবং এর পরে একটি কমেন্ট ব্লক থাকে যেখানে লেখা থাকে, “যদি একটি স্পোর্টস বল শনাক্ত হয় তবে সামনে এগিয়ে যাও”। একটি ‘get object data’ ব্লক একটি স্পোর্টস বলের ছবি তোলে। এরপর একটি ‘if’ ব্লক পরীক্ষা করে দেখে যে কোনো এআই ভিশন অবজেক্ট আছে কিনা। যদি থাকে, তাহলে একটি ‘move forward’ ব্লক রোবটটিকে ১০ মিলিমিটার সামনে এগিয়ে দেয়।#
শুরু হলে
[Move forward if a sports ball is detected.]
চিরকাল
AI Vision থেকে [স্পোর্টস বল v] ডেটা নাও
যদি <AI Vision অবজেক্ট আছে?> তাহলে
[সামনে v] দিকে [10] [mm v] চলো ▶

রঙিন স্বাক্ষর#

কালার সিগনেচার হলো একটি অনন্য রঙ যা এআই ভিশন সেন্সর চিনতে পারে। এই সিগনেচারগুলো সেন্সরকে বস্তুর রঙের উপর ভিত্তি করে সেগুলোকে শনাক্ত ও ট্র্যাক করতে সাহায্য করে। এআই ভিশন ইউটিলিটিতে একবার একটি কালার সিগনেচার কনফিগার করা হলে, সেন্সরটি তার দৃষ্টিসীমার মধ্যে থাকা সেই নির্দিষ্ট রঙের বস্তুগুলোকে শনাক্ত করতে পারে।

রিয়েল-টাইমে রঙিন বস্তু সনাক্ত এবং প্রক্রিয়া করার জন্য অবজেক্ট ডেটা পান ব্লকে কালার সিগনেচার ব্যবহার করা হয়।

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

উদাহরণ

শুরু হলে
[Display if any objects matching the Red_Box signature is detected.]
চিরকাল
স্ক্রিনে সারি [1] কলাম [1]-এ কার্সার নিয়ে যাও
স্ক্রিনে [1] সারি মুছে দাও
[Change the signature to any configured Color Signature.]
AI Vision থেকে [Red_Box v] ডেটা নাও
যদি <AI Vision অবজেক্ট আছে?> তাহলে
স্ক্রিনে [Color signature detected!] প্রিন্ট করো ▶

রঙের কোড#

কালার কোড হলো ২ থেকে ৪টি কালার সিগনেচার দিয়ে গঠিত একটি কাঠামোগত প্যাটার্ন, যা একটি নির্দিষ্ট ক্রমে সাজানো থাকে। এআই ভিশন ইউটিলিটিতে একবার কালার কোড কনফিগার করা হলে, সেন্সরটি রঙের পূর্বনির্ধারিত প্যাটার্নগুলো শনাক্ত করতে পারে।

জটিল বস্তু শনাক্ত করতে, গেমের উপাদানগুলোর সাথে সামঞ্জস্য বিধান করতে, অথবা স্বয়ংক্রিয় নেভিগেশনের জন্য স্বতন্ত্র নির্দেশক তৈরি করতে কালার কোড বিশেষভাবে উপযোগী।

এআই ভিশন ইউটিলিটি ইন্টারফেসে একটি সংযুক্ত ভিশন সেন্সর দেখা যাচ্ছে যা দুটি সংলগ্ন বস্তু সনাক্ত করছে, বামে একটি নীল বাক্স এবং ডানে একটি লাল বাক্স, যা ব্লুরেড লেবেলযুক্ত একটি একক সাদা বাউন্ডিং বাক্সে একত্রিত। সনাক্তকরণ তথ্যের মধ্যে রয়েছে কোণ (A:11°), স্থানাঙ্ক (X:143, Y:103), প্রস্থ (W:233), এবং উচ্চতা (H:108)। ডান প্যানেলে, তিনটি রঙের স্বাক্ষর তালিকাভুক্ত করা হয়েছে: রেড_বক্স, ব্লু_বক্স, এবং ব্লুরেড, যেগুলোর হিউ এবং স্যাচুরেশন পরিসীমা সামঞ্জস্যযোগ্য। ব্লুরেড স্বাক্ষরটি ব্লু_বক্স এবং রেড_বক্সকে একত্রিত করে। ভিডিও ফিডের নীচে ফ্রিজ ভিডিও, কপি ইমেজ, সেভ ইমেজ, এবং ক্লোজ লেবেলযুক্ত বোতাম রয়েছে।

উদাহরণ

শুরু হলে
[Display if any objects matching the BlueRed code is detected.]
চিরকাল
স্ক্রিনে সারি [1] কলাম [1]-এ কার্সার নিয়ে যাও
স্ক্রিনে [1] সারি মুছে দাও
[Change the signature to any configured Color Code.]
AI Vision থেকে [BlueRed v] ডেটা নাও
যদি <AI Vision অবজেক্ট আছে?> তাহলে
স্ক্রিনে [Color code detected!] প্রিন্ট করো ▶

সেটিংস#

এআই ভিশন অবজেক্ট আইটেম সেট করুন#

সেট এআই ভিশন অবজেক্ট আইটেম স্ট্যাক ব্লকটি নির্ধারণ করে যে ডেটাসেটের কোন আইটেমটি ব্যবহার করা হবে।

সেট এআই ভিশন অবজেক্ট আইটেম স্ট্যাক ব্লক।#
AI Vision অবজেক্ট আইটেম (1) সেট করো

প্যারামিটার

বর্ণনা

আইটেম

ডেটাসেটে ব্যবহার করার জন্য আইটেমের সংখ্যা।

উদাহরণ

ব্লকের একটি স্ট্যাক যা একটি ‘when started’ ব্লক দিয়ে শুরু হয়, এবং এর পরে ‘Display the largest detected AprilTag ID’ লেখা একটি কমেন্ট ব্লক থাকে। একটি ‘forever’ লুপের ভিতরে, একটি ‘get object data’ ব্লক AprilTag ID-গুলোর একটি ছবি ক্যাপচার করে। একটি ‘if’ ব্লক পরীক্ষা করে দেখে যে কোনো AI Vision অবজেক্ট আছে কিনা। যদি থাকে, তাহলে একটি ‘set AI Vision object item’ ব্লক অবজেক্টের সংখ্যা একটি ভেরিয়েবলে অ্যাসাইন করে, এবং একটি ‘print’ ব্লক স্ক্রিনে শনাক্ত করা অবজেক্টটির ট্যাগ আইডি প্রদর্শন করে।#
শুরু হলে
[Display the width of the smallest detected object.]
চিরকাল
AI Vision থেকে [সব কার্গো v] ডেটা নাও
স্ক্রিনে [1] সারি মুছে দাও
স্ক্রিনে সারি [1] কলাম [1]-এ কার্সার নিয়ে যাও
যদি <AI Vision অবজেক্ট আছে?> তাহলে
AI Vision অবজেক্ট আইটেম (AI Vision অবজেক্টের সংখ্যা) সেট করো
স্ক্রিনে (AI Vision অবজেক্ট [প্রস্থ v]) প্রিন্ট করো ▶

মূল্যবোধ#

বস্তু আছে#

has object বুলিয়ান ব্লকটি জানায় যে রোবটটির Kicker-এর বিপরীতে বর্তমানে কোনো বস্তু শনাক্ত করা আছে কিনা।

  • সত্য — রোবটটির কাছে বস্তুটি আছে।

  • মিথ্যা — রোবটটির কাছে বস্তুটি নেই।

<[স্পোর্টস বল v] আছে? :: custom-ai-vision>

প্যারামিটার

বর্ণনা

বস্তু

রোবটের কিকারের সাহায্যে শনাক্ত করার বস্তু:

  • খেলার বল
  • যেকোনো ব্যারেল
  • কমলা ব্যারেল
  • নীল ব্যারেল

উদাহরণ

ব্লকের একটি স্ট্যাক যা একটি ‘when started’ ব্লক দিয়ে শুরু হয়, এবং এর পরে একটি কমেন্ট ব্লক থাকে যেখানে লেখা থাকে, “রোবটের কাছে বল থাকলে কিক করো”। একটি ‘forever’ লুপের ভিতরে, একটি ‘if’ ব্লক পরীক্ষা করে দেখে যে রোবটের কাছে একটি স্পোর্টস বল আছে কি না। যদি থাকে, তাহলে একটি ‘kick’ অবজেক্ট ব্লক মাঝারি শক্তিতে কার্যকর হয়।#
শুরু হলে
[Kick when the robot has a sports ball.]
চিরকাল
যদি <[স্পোর্টস বল v] আছে? :: custom-ai-vision> তাহলে
অবজেক্ট [মাঝারি v] কিক করো

এআই ভিশন অবজেক্ট বিদ্যমান#

AI Vision object exists বুলিয়ান ব্লকটি জানায় যে ডেটাসেটে কোনো অবজেক্ট শনাক্ত করা হয়েছে কি না।

  • সত্য — ডেটাসেটটিতে একটি শনাক্তকৃত বস্তু অন্তর্ভুক্ত রয়েছে।

  • মিথ্যা — কোনো বস্তু শনাক্ত করা যায়নি।

এআই ভিশন অবজেক্ট বিদ্যমান থাকার বুলিয়ান ব্লক।#
<AI Vision অবজেক্ট আছে?>

প্যারামিটার

বর্ণনা

এই ব্লকটির কোনো প্যারামিটার নেই।

উদাহরণ

ব্লকের একটি স্ট্যাক যা একটি ‘when started’ ব্লক দিয়ে শুরু হয়, এবং এর পরে একটি কমেন্ট ব্লক থাকে যেখানে লেখা থাকে, “একটি বল শনাক্ত হলে সামনে এগিয়ে যাও”। একটি ‘get object data’ ব্লক একটি স্পোর্টস বলের ছবি তোলে। এরপর একটি ‘if’ ব্লক পরীক্ষা করে দেখে যে কোনো এআই ভিশন অবজেক্ট আছে কি না। যদি থাকে, তাহলে একটি ‘move forward’ ব্লক রোবটটিকে ১০ মিলিমিটার সামনে এগিয়ে দেয়।#
শুরু হলে
[Move forward if a sports ball is detected.]
চিরকাল
AI Vision থেকে [স্পোর্টস বল v] ডেটা নাও
যদি <AI Vision অবজেক্ট আছে?> তাহলে
[সামনে v] দিকে [10] [mm v] চলো ▶

এআই ভিশন অবজেক্ট হলো#

‘এআই ভিশন অবজেক্ট’ নামক বুলিয়ান ব্লকটি জানায় যে, শনাক্তকৃত কোনো বস্তু একটি নির্দিষ্ট শ্রেণিবিন্যাসের সাথে মেলে কি না।

  • সত্য — ডেটাসেটের আইটেমটি হলো নির্দিষ্ট অবজেক্টটি।

  • মিথ্যা — ডেটাসেটের আইটেমটি নির্দিষ্ট অবজেক্টটি নয়।

এআই ভিশন এআই ক্লাসিফিকেশন হলো একটি অবজেক্ট বুলিয়ান ব্লক।#
<AI Vision অবজেক্ট কি [স্পোর্টস বল v]?>

প্যারামিটার

বর্ণনা

বস্তু

কোন বস্তুর সাথে জিনিসটি তুলনা করতে হবে:

  • খেলার বল
  • কমলা রঙের ব্যারেল
  • নীল রঙের ব্যারেল
  • এআইএম রোবট

উদাহরণ

এটি এমন একটি ব্লক স্ট্যাক যা একটি ‘when started’ ব্লক দিয়ে শুরু হয়, যার পরে ‘Display if a sports ball is detected’ লেখা একটি কমেন্ট ব্লক থাকে। একটি ‘forever’ লুপের ভিতরে, একটি ‘get object data’ ব্লক AI Classifications ব্যবহার করে একটি ছবি ক্যাপচার করে। স্ক্রিনটি পরিষ্কার করা হয় এবং কার্সরটি সারি ১, কলাম ১-এ সেট করা হয়। একটি ‘if’ ব্লক পরীক্ষা করে দেখে যে একটি AI Vision অবজেক্ট আছে কিনা, এবং যদি থাকে, তবে আরেকটি ‘if’ ব্লক যাচাই করে যে ক্লাসিফিকেশনটি একটি স্পোর্টস বল কিনা। যদি তাই হয়, একটি ‘print’ ব্লক স্ক্রিনে ‘Ball detected!’ প্রদর্শন করে, এবং এরপর একটি ‘wait’ ব্লক প্রক্রিয়াটি পুনরাবৃত্তি করার আগে ০.৫ সেকেন্ডের জন্য বিরতি দেয়।#
শুরু হলে
[Display if a sports ball is detected.]
চিরকাল
AI Vision থেকে [সব কার্গো v] ডেটা নাও
স্ক্রিনে [1] সারি মুছে দাও
স্ক্রিনে সারি [1] কলাম [1]-এ কার্সার নিয়ে যাও
যদি <AI Vision অবজেক্ট আছে?> তাহলে
যদি <AI Vision অবজেক্ট কি [স্পোর্টস বল v]?> তাহলে
স্ক্রিনে [Sports ball detected!] প্রিন্ট করো ▶
[0.5] সেকেন্ড অপেক্ষা করো

এআই ভিশন অবজেক্টটি হলো এপ্রিলট্যাগ আইডি।#

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

  • সত্য — এপ্রিলট্যাগ আইডি হলো নম্বরটি।

  • ভুল — এপ্রিলট্যাগ আইডিটি নম্বর নয়।

এআই ভিশন দ্বারা শনাক্তকৃত AprilTag ID হলো একটি বুলিয়ান ব্লক।#
<AI Vision object is AprilTag ID [1] ?>

প্যারামিটার

বর্ণনা

এপ্রিলট্যাগ আইডি

শনাক্তকৃত এপ্রিলট্যাগ আইডি নম্বরের সাথে তুলনা করার জন্য নম্বরটি।

এআই ভিশন অবজেক্ট গণনা#

এআই ভিশন অবজেক্ট কাউন্ট রিপোর্টার ব্লকটি ডেটাসেটে শনাক্ত করা অবজেক্টের সংখ্যা একটি পূর্ণ সংখ্যা হিসেবে রিপোর্ট করে।

AI Vision অবজেক্টের সংখ্যা

প্যারামিটার

বর্ণনা

এই ব্লকটির কোনো প্যারামিটার নেই।

উদাহরণ

শুরু হলে
[Display the amount of sports balls and barrels.]
চিরকাল
স্ক্রিনে [1] সারি মুছে দাও
স্ক্রিনে সারি [1] কলাম [1]-এ কার্সার নিয়ে যাও
AI Vision থেকে [সব কার্গো v] ডেটা নাও
যদি <AI Vision অবজেক্ট আছে?> তাহলে
স্ক্রিনে (AI Vision অবজেক্টের সংখ্যা) প্রিন্ট করো ▶
अंत
[0.5] সেকেন্ড অপেক্ষা করো

এআই ভিশন অবজেক্ট প্রপার্টি#

get object data ব্লকটি ব্যবহার করার পরে সংরক্ষিত প্রতিটি অবজেক্টের সাথে নয়টি বৈশিষ্ট্য অন্তর্ভুক্ত থাকে (নীচে দেখানো হয়েছে)।

এআই ভিশন অবজেক্ট প্রপার্টি রিপোর্টার ব্লক।#
AI Vision অবজেক্ট [প্রস্থ v]

tagID ছাড়া বাকি সমস্ত প্রপার্টি ভ্যালু, get object data ব্লকটি ব্যবহার করার মুহূর্তে শনাক্তকৃত বস্তুটির অবস্থান, আকার, অভিমুখ বা দিক বর্ণনা করে। সেন্সরের ৩২০ বাই ২৪০ পিক্সেল রেজোলিউশনের উপর ভিত্তি করে এই মানগুলো পিক্সেল বা ডিগ্রিতে পরিমাপ করা হয়।

ফ্রেমের কেন্দ্রে একটি কমলা ডোরাকাটা নীল ব্যারেল রয়েছে, যা একটি কালো বাউন্ডিং বক্স দ্বারা বেষ্টিত। এর x এবং y অক্ষের উপরে বাম থেকে ডানে ০ থেকে ৩২০ এবং বাম পাশে উপর থেকে নিচে ০ থেকে ২৪০ পর্যন্ত চিহ্নিত করা আছে।

প্যারামিটার

বর্ণনা

সম্পত্তি

শনাক্তকৃত বস্তুর কোন বৈশিষ্ট্যটি ব্যবহার করতে হবে:

প্রস্থ#

width প্রপার্টিটি শনাক্তকৃত অবজেক্টের প্রস্থকে পিক্সেলে প্রকাশ করে, যা ১ থেকে ৩২০ পর্যন্ত একটি পূর্ণ সংখ্যা।

দ্রষ্টব্য: পিক্সেল মান সেন্সরের স্থানাঙ্ক ব্যবস্থার সাপেক্ষে। রেফারেন্সের জন্য ভূমিকার চিত্র দেখুন।

এআই ভিশন অবজেক্ট প্রপার্টি স্ট্যাক ব্লক, যার প্যারামিটারটি width-এ সেট করা আছে।#
AI Vision অবজেক্ট [প্রস্থ v]

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

উদাহরণ

শুরু হলে
[Move towards a blue barrel until its width is larger than 100 pixels.]
চিরকাল
AI Vision থেকে [নীল ব্যারেল v] ডেটা নাও
যদি <AI Vision অবজেক্ট আছে?> তাহলে
যদি <(AI Vision অবজেক্ট [প্রস্থ v]) [math_less_than v] [100]> তাহলে
[সামনে v] দিকে চলো
अंत
অন্যথায়
সব চলাচল বন্ধ করো

উচ্চতা#

height প্রপার্টিটি শনাক্তকৃত অবজেক্টের উচ্চতা ১ থেকে ২৪০ পর্যন্ত একটি পূর্ণ সংখ্যা হিসেবে পিক্সেলে প্রকাশ করে।

দ্রষ্টব্য: পিক্সেল মান সেন্সরের স্থানাঙ্ক ব্যবস্থার সাপেক্ষে। রেফারেন্সের জন্য ভূমিকার চিত্র দেখুন।

এআই ভিশন অবজেক্ট প্রপার্টি স্ট্যাক ব্লক, যার প্যারামিটারটি উচ্চতায় সেট করা আছে।#
AI Vision অবজেক্ট [উচ্চতা v]

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

উদাহরণ

শুরু হলে
[Move towards a blue barrel until its height is larger than 100 pixels.]
চিরকাল
AI Vision থেকে [নীল ব্যারেল v] ডেটা নাও
যদি <AI Vision অবজেক্ট আছে?> তাহলে
যদি <(AI Vision অবজেক্ট [উচ্চতা v]) [math_less_than v] [100]> তাহলে
[সামনে v] দিকে চলো
अंत
অন্যথায়
সব চলাচল বন্ধ করো

কেন্দ্রX#

centerX প্রপার্টিটি শনাক্তকৃত অবজেক্টের কেন্দ্রের x-স্থানাঙ্ককে পিক্সেলে ০ থেকে ৩২০ পর্যন্ত একটি পূর্ণ সংখ্যা হিসেবে প্রকাশ করে।

দ্রষ্টব্য: পিক্সেল মান সেন্সরের স্থানাঙ্ক ব্যবস্থার সাপেক্ষে। রেফারেন্সের জন্য ভূমিকার চিত্র দেখুন।

AI Vision অবজেক্ট প্রপার্টি স্ট্যাক ব্লক, যার প্যারামিটার centerX-এ সেট করা আছে।#
AI Vision অবজেক্ট [centerX v]

ফ্রেমের কেন্দ্রে একটি কমলা ডোরাকাটা নীল ব্যারেল রয়েছে, যা একটি কালো বাউন্ডিং বক্স দ্বারা বেষ্টিত। ফ্রেমের উপর থেকে বাউন্ডিং বক্সের কেন্দ্র পর্যন্ত একটি উল্লম্ব লাল ড্যাশযুক্ত রেখা বিস্তৃত, যা কেন্দ্রের X-স্থানাঙ্ক নির্দেশ করে।

উদাহরণ

শুরু হলে
[Turn slowly until a blue barrel is centered in front of the robot.]
ঘোরার গতি [30]% সেট করো
[ডান v] দিকে ঘোরো
চিরকাল
AI Vision থেকে [নীল ব্যারেল v] ডেটা নাও
যদি <AI Vision অবজেক্ট আছে?> তাহলে
যদি <[140] [math_less_than v] (AI Vision অবজেক্ট [centerX v]) [math_less_than v] [180]> তাহলে
সব চলাচল বন্ধ করো

কেন্দ্রY#

centerY প্রপার্টিটি শনাক্তকৃত অবজেক্টের কেন্দ্রের y-স্থানাঙ্ককে পিক্সেলে ০ থেকে ২৪০ পর্যন্ত একটি পূর্ণ সংখ্যা হিসেবে প্রকাশ করে।

দ্রষ্টব্য: পিক্সেল মান সেন্সরের স্থানাঙ্ক ব্যবস্থার সাপেক্ষে। রেফারেন্সের জন্য ভূমিকার চিত্র দেখুন।

AI Vision অবজেক্ট প্রপার্টি স্ট্যাক ব্লক, যার প্যারামিটার centerY-তে সেট করা আছে।#
AI Vision অবজেক্ট [centerY v]

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

উদাহরণ

শুরু হলে
[Move towards a blue barrel until its center y-coordinate is more than 140 pixels.]
চিরকাল
AI Vision থেকে [নীল ব্যারেল v] ডেটা নাও
যদি <AI Vision অবজেক্ট আছে?> তাহলে
যদি <(AI Vision অবজেক্ট [centerY v]) [math_less_than v] [140]> তাহলে
[সামনে v] দিকে চলো
अंत
অন্যথায়
সব চলাচল বন্ধ করো

অরিজিনএক্স#

originX প্রপার্টিটি শনাক্তকৃত অবজেক্টের বাউন্ডিং বক্সের উপরের-বাম কোণার x-স্থানাঙ্ককে পিক্সেলে ০ থেকে ৩২০ পর্যন্ত একটি পূর্ণ সংখ্যা হিসেবে প্রকাশ করে।

দ্রষ্টব্য: পিক্সেল মান সেন্সরের স্থানাঙ্ক ব্যবস্থার সাপেক্ষে। রেফারেন্সের জন্য ভূমিকার চিত্র দেখুন।

AI Vision অবজেক্ট প্রপার্টি স্ট্যাক ব্লক, যার প্যারামিটার originX-এ সেট করা আছে।#
AI Vision অবজেক্ট [originX v]

ফ্রেমের কেন্দ্রে একটি কমলা ডোরাকাটা নীল ব্যারেল রয়েছে, যা একটি কালো বাউন্ডিং বক্স দ্বারা বেষ্টিত। ফ্রেমের উপর থেকে বাউন্ডিং বক্সের বাম প্রান্ত পর্যন্ত একটি উল্লম্ব লাল ড্যাশযুক্ত রেখা বিস্তৃত, যা বাউন্ডিং বক্সের মূলবিন্দুর X-স্থানাঙ্ক নির্দেশ করে।

উদাহরণ

শুরু হলে
[Display if an orange barrel is to the left or the right.]
চিরকাল
স্ক্রিনে [1] সারি মুছে দাও
স্ক্রিনে সারি [1] কলাম [1]-এ কার্সার নিয়ে যাও
AI Vision থেকে [কমলা ব্যারেল v] ডেটা নাও
যদি <AI Vision অবজেক্ট আছে?> তাহলে
যদি <(AI Vision অবজেক্ট [originX v]) [math_less_than v] [160]> তাহলে
স্ক্রিনে [To the left!] প্রিন্ট করো ▶
অন্যথায়
স্ক্রিনে [To the right!] প্রিন্ট করো ▶
अंत
[0.5] সেকেন্ড অপেক্ষা করো

উৎপত্তি#

originY প্রপার্টিটি শনাক্তকৃত অবজেক্টের বাউন্ডিং বক্সের উপরের-বাম কোণার y-স্থানাঙ্ককে পিক্সেলে ০ থেকে ২৪০ পর্যন্ত একটি পূর্ণ সংখ্যা হিসেবে প্রকাশ করে।

দ্রষ্টব্য: পিক্সেল মান সেন্সরের স্থানাঙ্ক ব্যবস্থার সাপেক্ষে। রেফারেন্সের জন্য ভূমিকার চিত্র দেখুন।

AI Vision অবজেক্ট প্রপার্টি স্ট্যাক ব্লক, যার প্যারামিটার originY-তে সেট করা আছে।#
AI Vision অবজেক্ট [originY v]

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

উদাহরণ

শুরু হলে
[Display if an orange barrel is close or far from the robot.]
চিরকাল
স্ক্রিনে [1] সারি মুছে দাও
স্ক্রিনে সারি [1] কলাম [1]-এ কার্সার নিয়ে যাও
AI Vision থেকে [কমলা ব্যারেল v] ডেটা নাও
যদি <AI Vision অবজেক্ট আছে?> তাহলে
যদি <(AI Vision অবজেক্ট [originY v]) [math_less_than v] [80]> তাহলে
স্ক্রিনে [Far!] প্রিন্ট করো ▶
অন্যথায়
স্ক্রিনে [Close!] প্রিন্ট করো ▶
अंत
[0.5] সেকেন্ড অপেক্ষা করো

ঘূর্ণন#

rotation প্রপার্টিটি শনাক্তকৃত AprilTag ID বা কালার কোডের অভিমুখকে ০ থেকে ৩৫৯ ডিগ্রির মধ্যে একটি পূর্ণ সংখ্যা হিসেবে রিপোর্ট করে।

এআই ভিশন অবজেক্ট প্রপার্টি স্ট্যাক ব্লক, যার প্যারামিটারটি রোটেশন-এ সেট করা আছে।#
AI Vision অবজেক্ট [ঘূর্ণন v]

একটি ক্যামেরা ইন্টারফেস ফ্রেমে কেন্দ্রে অবস্থিত একটি উল্লম্বভাবে সজ্জিত বস্তু প্রদর্শন করে, যার উপরের অর্ধেক নীল এবং নিচের অর্ধেক লাল। বস্তুটির নীচে একটি লেবেলে লেখা আছে Red_Blue A:270° CX:185 CY:81 W:93 H:150, যা বস্তুটির নাম, ঘূর্ণন কোণ, কেন্দ্রের X এবং Y স্থানাঙ্ক, প্রস্থ এবং উচ্চতা নির্দেশ করে। গ্রিডলাইন এবং সংখ্যাসূচক অক্ষগুলি ছবির মাত্রা চিহ্নিত করে, যেখানে X এর মান 0 থেকে 320 এবং Y এর মান 0 থেকে 240 পর্যন্ত

উদাহরণ

শুরু হলে
[Slide left or right depending on how the Color Code is rotated.]
চিরকাল
AI Vision থেকে [Red_Blue v] ডেটা নাও
যদি <AI Vision অবজেক্ট আছে?> তাহলে
যদি <[50] [math_less_than v] (AI Vision অবজেক্ট [ঘূর্ণন v]) [math_less_than v] [100]> তাহলে
[ডান v] দিকে চলো
অন্যথায় যদি <[270] [math_less_than v] (AI Vision অবজেক্ট [ঘূর্ণন v]) [math_less_than v] [330]> তাহলে
[বাম v] দিকে চলো
অন্যথায়
সব চলাচল বন্ধ করো
अंत
অন্যথায়
সব চলাচল বন্ধ করো

ভার বহন#

bearing প্রপার্টিটি ডিগ্রিতে রিপোর্ট করে যে, কোনো বস্তু AI ভিশন সেন্সরের ভিউয়ের কেন্দ্র থেকে কতটা বামে বা ডানে অবস্থিত। ০ মানটির অর্থ হলো বস্তুটি কেন্দ্রে রয়েছে, ধনাত্মক মানগুলোর অর্থ হলো বস্তুটি ডানদিকে এবং ঋণাত্মক মানগুলোর অর্থ হলো বস্তুটি বামদিকে রয়েছে।

একটি মাঠে একটি VEX AIM কোডিং রোবট রয়েছে, যার সামনে তির্যকভাবে বাম দিকে একটি খেলার বল আছে। রোবটটির কেন্দ্র এবং খেলার বলটির মধ্যে একটি কোণ আঁকা হয়েছে, এবং এটিকে -৩০ ডিগ্রি হিসেবে চিহ্নিত করা হয়েছে। মাঠের উপর একটি VEX AIM কোডিং রোবট রয়েছে, যার সামনে তির্যকভাবে ডানদিকে একটি খেলার বল আছে। রোবটটির কেন্দ্র এবং খেলার বলটির মধ্যে একটি কোণ আঁকা হয়েছে, এবং এটিকে ৩০ ডিগ্রি হিসেবে চিহ্নিত করা হয়েছে।
শুরু হলে
[Keep the blue barrel directly in front of the robot.]
ঘোরার গতি [40]% সেট করো
চিরকাল
AI Vision থেকে [নীল ব্যারেল v] ডেটা নাও
যদি <AI Vision অবজেক্ট আছে?> তাহলে
যদি <(AI Vision অবজেক্ট [দিকনির্দেশ v]) [math_greater_than v] [5]> তাহলে
[ডান v] দিকে ঘোরো
অন্যথায় যদি <(AI Vision অবজেক্ট [দিকনির্দেশ v]) [math_less_than v] [-5]> তাহলে
[বাম v] দিকে ঘোরো
অন্যথায়
সব চলাচল বন্ধ করো

ট্যাগআইডি#

tagID প্রপার্টিটি শনাক্তকৃত AprilTag ID-র শনাক্তকরণ নম্বরটি একটি পূর্ণ সংখ্যা হিসেবে প্রদান করে।

AI Vision অবজেক্ট প্রপার্টি স্ট্যাক ব্লক, যার প্যারামিটার tagID-তে সেট করা আছে।#
AI Vision অবজেক্ট [tagID v]

উদাহরণ

শুরু হলে
[Move forward when AprilTag ID 0 is detected.]
চিরকাল
AI Vision থেকে [AprilTag ID 0 v] ডেটা নাও
যদি <AI Vision অবজেক্ট আছে?> তাহলে
[সামনে v] দিকে চলো
अंत
সব চলাচল বন্ধ করো