জিপিএস সেন্সর#
ভূমিকা#
gps ক্লাসটি ভি৫ জিপিএস (গেম পজিশনিং সিস্টেম™) সেন্সর থেকে ডেটা নিয়ন্ত্রণ ও অ্যাক্সেস করতে ব্যবহৃত হয়। এই সেন্সরটি ভিইএক্স ফিল্ডে থাকা একটি রোবটের জন্য নির্ভুল অবস্থান এবং অভিমুখ ট্র্যাকিং প্রদান করে। এটি ফিল্ডের পরিধি বরাবর থাকা জিপিএস ফিল্ড কোড ব্যবহার করে রিয়েল টাইমে রোবটটির এক্স ও ওয়াই স্থানাঙ্ক এবং দিক নির্ণয় করে।
ডিভাইসেস উইন্ডোতে জিপিএস সেন্সরটি কনফিগার করার সময় প্রবেশ করানো অফসেটগুলো থেকে স্বয়ংক্রিয়ভাবে গণনা করা একটি রেফারেন্স পয়েন্ট ব্যবহার করে জিপিএস সেন্সরটি রোবটের অবস্থান নির্ণয় করে।
GPS সেন্সর সম্পর্কে আরও তথ্যের জন্য, VEX লাইব্রেরিতে VEX V5 এর সাথে GPS সেন্সর ব্যবহার করা পড়ুন।
রেফারেন্স পয়েন্টটি জিপিএস সেন্সরের নিজস্ব (0, 0) অবস্থান হিসাবে কাজ করে, যেখানে জিপিএস পদ্ধতি দ্বারা প্রাপ্ত সমস্ত স্থানাঙ্ক, দিক এবং গতিবিধি এই কনফিগার করা পয়েন্টটির সাপেক্ষে নির্ধারিত হয়।

ক্লাস কনস্ট্রাক্টর#
1 — ডিফল্ট অরিজিন (0, 0) ব্যবহার করে নির্দিষ্ট স্মার্ট পোর্টে একটি
gpsঅবজেক্ট তৈরি করে।gps( int32_t index, double heading_offset = 0, turnType dir = right );
2 — নির্দিষ্ট স্মার্ট পোর্টে একটি
gpsঅবজেক্ট তৈরি করে এবং একটি কাস্টম অরিজিন পজিশন নির্ধারণ করে।gps( int32_t index, double ox, double oy, distanceUnits units = mm, double heading_offset = 0, turnType dir = right );
ক্লাস ডেস্ট্রাক্টর#
gps অবজেক্টটি ধ্বংস করে এবং সংশ্লিষ্ট রিসোর্সসমূহ মুক্ত করে।
~gps();
প্যারামিটার#
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
যে স্মার্ট পোর্টের সাথে জিপিএস সেন্সরটি সংযুক্ত থাকে, তা |
|
|
মূলবিন্দুর X-স্থানাঙ্ক। |
|
|
মূলবিন্দুর Y-স্থানাঙ্ক। |
|
|
|
|
|
জিপিএস সেন্সরের ঘূর্ণন অফসেট ডিগ্রিতে, যার মান ০.০০ থেকে ৩৫৯.৯৯ পর্যন্ত। ডিফল্ট মান হলো ০। |
|
|
যে দিকটি ধনাত্মক হেডিং মান দেবে:
|
উদাহরণ#
// Create the gps instance
gps GPS1 = gps(
PORT1, // Smart Port 1
180); // heading_offset
// Create the gps instance
gps GPS1 = gps(
PORT1, // Smart Port 1
50.00, // ox
100.00, // oy
mm, // units
180 ); // heading_offset
সদস্যদের কার্যাবলী#
gps ক্লাসে নিম্নলিখিত মেম্বার ফাংশনগুলো অন্তর্ভুক্ত রয়েছে:
calibrate— জিপিএস সেন্সর ক্যালিব্রেট করে।setOrigin— GPS স্থানাঙ্ক সিস্টেমের জন্য মূলবিন্দু অবস্থান নির্ধারণ করে।setLocation— GPS সেন্সরের বর্তমান অবস্থান এবং দিক নির্ধারণ করে।xPosition— বর্তমান X অবস্থান ফেরত দেয়।yPosition— বর্তমান Y অবস্থান ফেরত দেয়।heading— বর্তমান শিরোনাম ফেরত দেয়।acceleration— নির্দিষ্ট অক্ষ বরাবর রৈখিক ত্বরণ ফেরত দেয়।gyroRate— নির্দিষ্ট অক্ষের জন্য কৌণিক বেগ ফেরত দেয়।orientation— নির্দিষ্ট অক্ষের জন্য ওরিয়েন্টেশন ফেরত দেয়।quality— বর্তমান GPS সিগন্যালের গুণমান ফেরত দেয়।changed— একটি কলব্যাক ফাংশন নিবন্ধন করে যা GPS ডেটা পরিবর্তিত হলে চলে।
যেকোনো gps মেম্বার ফাংশন কল করার আগে, নিচে দেখানো অনুযায়ী একটি gps ইনস্ট্যান্স তৈরি করতে হবে:
/* This constructor is required when using VS Code.
GPS Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create the gps instance in Smart Port 1
gps GPS1 = gps(PORT1);
শ্রেণী পদ্ধতি#
calibrate#
জিপিএস সেন্সরটি ক্যালিব্রেট করে। এটি জিপিএস-এর কনফিগার করা হেডিংকে (এর অ্যাঙ্গেল অফসেট অনুযায়ী) ড্রাইভট্রেনের বর্তমান হেডিং হিসেবে সেট করবে।
ক্যালিব্রেশন প্রক্রিয়া চলাকালীন জিপিএস সেন্সরটি অবশ্যই স্থির থাকতে হবে।
Available Functionsvoid calibrate();
এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।
Return Valuesএই ফাংশনটি কোনো মান ফেরত দেয় না।
Examples// Turn to face the lower Field wall using data from the GPS Sensor.
GPS1.calibrate();
Drivetrain.turnToHeading(180, degrees)
setOrigin#
জিপিএস স্থানাঙ্ক ব্যবস্থার মূলবিন্দু নির্ধারণ করে।
Available Functions1 — মূলবিন্দুকে নির্দিষ্ট X এবং Y অবস্থানে নির্ধারণ করে।
void setOrigin( double x, double y, distanceUnits units = mm );
Parameters2 — সেন্সরের বর্তমান অবস্থানে মূলবিন্দু নির্ধারণ করে।
void setOrigin();
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
নতুন মূলবিন্দু অবস্থানের X-স্থানাঙ্ক। |
|
|
নতুন মূলবিন্দুর Y-স্থানাঙ্ক। |
|
|
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
NotessetLocation#
বর্তমান জিপিএস অবস্থান ও দিক নির্ধারণ করে।
Available Functions1 — নির্দিষ্ট দূরত্ব এবং ঘূর্ণন একক ব্যবহার করে বর্তমান অবস্থান নির্ধারণ করে।
void setLocation( double x, double y, distanceUnits units = mm, double angle = 0, rotationUnits units_r = degrees );
Parameters2 — মিলিমিটার এবং ডিগ্রি ব্যবহার করে বর্তমান অবস্থান নির্ধারণ করে।
void setLocation( double x, double y, double angle );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
বর্তমান অবস্থানের এক্স-স্থানাঙ্ক। |
|
|
বর্তমান অবস্থানের Y-স্থানাঙ্ক। |
|
|
|
|
|
বর্তমান অবস্থানের শিরোনাম মান। |
|
|
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
NotesxPosition#
জিপিএস সেন্সরটির বর্তমান এক্স অবস্থান ফেরত দেয়।
Available Functionsdouble xPosition( distanceUnits units = distanceUnits::mm );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
ফেরত আসা X অবস্থানের পরিমাপের একক:
|
নির্দিষ্ট এককে মূলবিন্দু থেকে x-এর অবস্থানগত অফসেট বোঝাতে একটি double রিটার্ন করে।
X অবস্থানটি বর্তমান মূলবিন্দুর সাপেক্ষে পরিমাপ করা হয়।
setOriginব্যবহার করে মূলবিন্দু পরিবর্তন করা যেতে পারে।
// Drive slowly towards the center of the Field
Drivetrain.setDriveVelocity(20.0, percent);
Drivetrain.drive(forward);
// Stop driving when the GPS returns an x position
// near the center of the Field
waitUntil((GPS1.xPosition(mm) < 0.0));
Drivetrain.stop();
yPosition#
জিপিএস সেন্সরের বর্তমান Y অবস্থান ফেরত দেয়।
Available Functionsdouble yPosition( distanceUnits units = distanceUnits::mm );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
ফেরত আসা Y অবস্থানের পরিমাপের একক:
|
নির্দিষ্ট এককে মূলবিন্দু থেকে Y অবস্থানগত অফসেট বোঝাতে একটি double রিটার্ন করে।
Y অবস্থানটি বর্তমান মূলবিন্দুর সাপেক্ষে পরিমাপ করা হয়।
setOrigin()
setOrigin()।
// Drive slowly towards the center of the Field
Drivetrain.setDriveVelocity(20.0, percent);
Drivetrain.drive(forward);
// Stop driving when the GPS reports an y position
// near the center of the Field
waitUntil((GPS1.yPosition(mm) < 0.0));
Drivetrain.stop();
heading#
জিপিএস সেন্সরের বর্তমান হেডিং (ইও অ্যাঙ্গেল) ফেরত দেয়।
Available Functionsdouble heading( rotationUnits units = rotationUnits::deg );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
ফেরত আসা হেডিং মানের পরিমাপের একক:
|
নির্দিষ্ট এককে বর্তমান শিরোনাম বোঝাতে একটি double রিটার্ন করে।
হেডিং মানটি ০ থেকে ৩৬০ ডিগ্রির মধ্যে র্যাপ করা হয়।
ধনাত্মক ঘূর্ণনের দিক নির্মাণের সময় নির্দিষ্ট করা
dirপ্যারামিটার দ্বারা নির্ধারিত হয়।
// Turn slowly to face the right wall
Drivetrain.setTurnVelocity(20.0, percent);
Drivetrain.turn(right);
// Stop turning when the GPS reports a heading
// greater than 90 degrees
waitUntil((GPS1.heading() > 90.0));
Drivetrain.stop();
acceleration#
জিপিএস সেন্সর দ্বারা পরিমাপকৃত নির্দিষ্ট অক্ষ বরাবর রৈখিক ত্বরণ ফেরত দেয়।
Available Functionsdouble acceleration(
axisType axis );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
যে অক্ষের জন্য ত্বরণ ফেরত দেওয়া হবে:
|
নির্দিষ্ট অক্ষ বরাবর ত্বরণকে G (মহাকর্ষীয় একক)-এ প্রকাশ করে একটি double রিটার্ন করে।
ত্বরণের মান G এককে প্রকাশ করা হয়, যেখানে ১ G হলো পৃথিবীর পৃষ্ঠে অভিকর্ষজ ত্বরণের সমান।
gyroRate#
জিপিএস সেন্সর দ্বারা পরিমাপকৃত নির্দিষ্ট অক্ষ বরাবর কৌণিক বেগ ফেরত দেয়।
Available Functionsdouble gyroRate(
axisType axis,
velocityUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
যে অক্ষের জন্য কৌণিক বেগ ফেরত দেওয়া হবে:
|
|
|
প্রত্যাবর্তিত কৌণিক বেগের পরিমাপের একক:
|
নির্বাচিত এককে, নির্দিষ্ট অক্ষ বরাবর কৌণিক বেগ বোঝাতে একটি double রিটার্ন করে।
orientation#
নির্দিষ্ট অক্ষের জন্য জিপিএস সেন্সরের অভিমুখী কোণ ফেরত দেয়।
Available Functionsdouble orientation(
orientationType axis,
rotationUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
The orientation axis to retrieve:
|
|
|
ফেরত আসা ওরিয়েন্টেশন মানের পরিমাপের একক:
|
নির্বাচিত এককে নির্দিষ্ট অক্ষের অভিমুখ নির্দেশকারী একটি double রিটার্ন করে।
quality#
অনুভূত জিপিএস সিগন্যালের মান ফেরত দেয়।
Available Functionsint32_t quality();
এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।
Return Valuesজিপিএস সিগন্যালের মান শতাংশ হিসাবে প্রকাশ করে এমন একটি int32_t পূর্ণসংখ্যা রিটার্ন করে:
সম্ভাব্য মান |
বর্ণনা |
|---|---|
|
জিপিএস সেন্সর থেকে প্রাপ্ত সমস্ত অবস্থানগত ও দিকনির্দেশক ডেটা বৈধ। |
|
অবস্থানগত ডেটা এখন আর সরাসরি জিপিএস ফিল্ড কোড থেকে গণনা করা হচ্ছে না, বরং বিকল্প উপায়ে তা অনুমান করা হচ্ছে। |
|
শুধুমাত্র হেডিং মানগুলোই বৈধ। জিপিএস ফিল্ড কোড পর্যাপ্তভাবে স্ক্যান না করা হলে, সময়ের সাথে সাথে সিগন্যালের মান ক্রমাগত কমতে থাকে যতক্ষণ না তা |
changed#
একটি কলব্যাক ফাংশন রেজিস্টার করে যা জিপিএস হেডিং-এর মান পরিবর্তিত হলে রান করে।
Available Functionsvoid changed(
void (* callback)(void) );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
একটি ফাংশনের পয়েন্টার যা GPS হেডিং-এর মান পরিবর্তিত হলে কল করা হবে। ফাংশনটির কোনো প্যারামিটার থাকবে না এবং এটি |
এই ফাংশনটি কোনো মান ফেরত দেয় না।