গতি#

ভূমিকা#

VEX AIR ড্রোনটিতে চারটি প্রোপেলার রয়েছে, যা এটিকে যেকোনো দিকে চলতে এবং স্বাধীনভাবে ঘুরতে সক্ষম করে। এর মোশন সিস্টেমটি চলাচল, মোড় নেওয়া, গতিবেগ সমন্বয় এবং অবস্থান ট্র্যাক করার পদ্ধতি প্রদান করে।

৪টি প্রপেলারযুক্ত একটি ড্রোনকে ঘিরে থাকা ০-৩৬০ ডিগ্রি পর্যন্ত বিস্তৃত একটি বৃত্তাকার কম্পাস ডায়াল। ড্রোনটির সামনের দিক কম্পাস ডায়ালের ০ ডিগ্রির দিকে মুখ করে আছে।

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

কর্ম

  • take_off – ড্রোনটিকে একটি নির্দিষ্ট উচ্চতায় তোলে।

  • land – ড্রোনটি অবতরণ করায়।

  • hover - ড্রোনটিকে তার অবস্থানে রাখে।

  • climb – ড্রোনটিকে একটি নির্দিষ্ট উল্লম্ব দিকে চালিত করে।

  • climb_for – ড্রোনটিকে একটি নির্দিষ্ট উল্লম্ব দিকে একটি নির্দিষ্ট দূরত্ব পর্যন্ত চালিত করে।

  • climb_to – ড্রোনটিকে একটি নির্দিষ্ট উচ্চতায় নিয়ে যায়।

  • move_at – ড্রোনটিকে একটি নির্দিষ্ট দিক এবং বেগে চালিত করে।

  • move_for – ড্রোনটিকে একটি নির্দিষ্ট দিকে একটি নির্দিষ্ট দূরত্বে নিয়ে যায়।

  • move_to – ড্রোনটিকে একই অভিমুখ বজায় রেখে একটি নির্দিষ্ট অবস্থানে নিয়ে যায়।

  • turn – ড্রোনটিকে বামে বা ডানে ঘোরায়।

  • turn_for – ড্রোনটিকে একটি নির্দিষ্ট সংখ্যক ডিগ্রি ঘোরায়।

  • turn_to – ড্রোনটিকে একটি নির্দিষ্ট দিকে মুখ করে ঘোরায়।

  • move_with_vectors – ভেক্টর-ভিত্তিক x, y, z, এবং ঘূর্ণন মান ব্যবহার করে ড্রোনটিকে সরায়।

Mutators

  • set_steering_mode – ড্রোন চালনার জন্য দৃষ্টিকোণ (POV) নির্ধারণ করে।

  • set_movement_mode – ড্রোনের চলাচলের ধরণ নির্ধারণ করে।

  • set_climb_velocity – ডিফল্ট আরোহণের গতি নির্ধারণ করে।

  • set_move_velocity – ডিফল্ট চলাচলের বেগ সেট করে।

  • set_turn_velocity - ডিফল্ট বাঁক নেওয়ার বেগ সেট করে।

  • set_max_z_height - ড্রোনটি কত উঁচুতে উড়বে তার একটি সীমা নির্ধারণ করে।

  • set_xyz_position – ড্রোনটির বর্তমান অবস্থান নির্ধারণ করে।

গেটার্স

  • get_max_z_height – ড্রোনটি সর্বোচ্চ যে উচ্চতায় পৌঁছাতে পারে তা ফেরত দেয়।

  • get_flight_state – ড্রোনটির বর্তমান অবস্থা ফেরত দেয়।

  • get_x_position – ড্রোনটির x-স্থানাঙ্ক ফেরত দেয়।

  • get_y_position – ড্রোনটির y-স্থানাঙ্ক ফেরত দেয়।

  • get_z_position – ড্রোনটির z-স্থানাঙ্ক ফেরত দেয়।

  • get_safe_mode – ড্রোনটির প্রপেলার লক অবস্থা ফেরত দেয়।

  • is_climb_active – ড্রোনটি বর্তমানে আরোহণ করছে কিনা তা ফেরত দেয়।

  • is_move_active – ড্রোনটি বর্তমানে চলছে কিনা তা ফেরত দেয়।

  • is_turn_active – ড্রোনটি বর্তমানে ঘুরছে কিনা তা ফেরত দেয়।

  • is_hovering - ড্রোনটি বর্তমানে বাতাসে ভাসছে কিনা তা ফেরত দেয়।

  • is_taking_off – ড্রোনটি বর্তমানে উড্ডয়ন করছে কিনা তা ফেরত দেয়।

  • is_landing – ড্রোনটি বর্তমানে অবতরণ করছে কিনা তা ফেরত দেয়।

  • is_landed - ড্রোনটি বর্তমানে অবতরণ করেছে কিনা তা ফেরত দেয়।

কর্ম#

take_off#

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

ব্যবহারবিধি:

drone.take_off(climb_to, units, wait)

প্যারামিটার

বর্ণনা

climb_to

ড্রোনটি যে z অবস্থানে (উচ্চতায়) উড়বে।

units

ব্যবহারযোগ্য একক:

  • CM - সেন্টিমিটার
  • MM - মিলিমিটার
  • INCHES

wait

ঐচ্ছিক। wait=True (ডিফল্ট) পরবর্তী কোড লাইন চলার আগে রোবটের নড়াচড়া শেষ না হওয়া পর্যন্ত প্রজেক্টকে অপেক্ষা করায়। wait=False পরবর্তী কোড লাইনকে সাথে সাথে চালিয়ে দেয়।

# Fly for 1 second
drone.take_off(climb_to=500)
wait(1, SECONDS)
drone.land()

land#

land ড্রোনটিকে মাটিতে নামিয়ে দেয়। প্রকল্পটি বন্ধ না করা পর্যন্ত প্রোপেলারগুলো চলতে থাকবে।

ব্যবহারবিধি:

drone.land(wait)

প্যারামিটার

বর্ণনা

wait

ঐচ্ছিক। wait=True (ডিফল্ট) পরবর্তী কোড লাইন চলার আগে রোবটের নড়াচড়া শেষ না হওয়া পর্যন্ত প্রজেক্টকে অপেক্ষা করায়। wait=False পরবর্তী কোড লাইনকে সাথে সাথে চালিয়ে দেয়।

# Land after 1 second
drone.take_off(climb_to=500)
wait(1, SECONDS)
drone.land()

hover#

hover ড্রোনটিকে যেকোনো দিকে চলতে বাধা দেয় এবং বাতাসে তার বর্তমান অবস্থান ধরে রাখে।

Usage:
drone.hover()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Hold current position for 3 seconds after moving forward
drone.take_off(climb_to=500)
drone.move_at(direction=0, velocity=50)
wait(1, SECONDS)
drone.hover()
wait(3, SECONDS)
drone.land()

climb#

climb ড্রোনটিকে একটি নির্দিষ্ট উল্লম্ব দিকে চালিত করে।

Usage: drone.climb(direction, velocity)

প্যারামিটার

বর্ণনা

direction

ড্রোনটি যে দিকে উড়বে: UP বা DOWN।

velocity

যে গতিতে ড্রোনটি উপরে উঠবে, তার শতাংশ।

# Climb upwards for 2 seconds
drone.take_off(climb_to=500)
wait(2, SECONDS)
drone.climb(direction=UP)
wait(2, SECONDS)
drone.land()

climb_for#

climb_for ড্রোনটিকে একটি নির্দিষ্ট উল্লম্ব দিকে একটি নির্দিষ্ট দূরত্ব পর্যন্ত চালিত করে।

ব্যবহারবিধি:

drone.climb_for(direction, distance, units, velocity, wait)

প্যারামিটার

বর্ণনা

direction

ড্রোনটি যে দিকে উড়বে: UP বা DOWN।

distance

ড্রোনটি যে দূরত্ব পর্যন্ত উড়বে।

units

ঐচ্ছিক। দূরত্বের একক:

  • CM – সেন্টিমিটার
  • MM (ডিফল্ট) – মিলিমিটার
  • INCHES

velocity

ঐচ্ছিক। যে গতিতে ড্রোনটি উপরে উঠবে, তা শতাংশ হিসাবে। গতি নির্দিষ্ট না করা হলে, ডিফল্ট গতি হবে ৫০%।

wait

ঐচ্ছিক। wait=True (ডিফল্ট) পরবর্তী কোড লাইন চলার আগে রোবটের নড়াচড়া শেষ না হওয়া পর্যন্ত প্রজেক্টকে অপেক্ষা করায়। wait=False পরবর্তী কোড লাইনকে সাথে সাথে চালিয়ে দেয়।

# Lower drone before landing
drone.take_off(climb_to=700)
wait(2, SECONDS)
drone.climb_for(direction=DOWN, distance=300)
wait(2, SECONDS)
drone.land()

climb_to#

climb_to ড্রোনটিকে একটি নির্দিষ্ট z অবস্থানে নিয়ে যায়।

ব্যবহারবিধি:

drone.climb_to(z, units, velocity, wait)

প্যারামিটার

বর্ণনা

z

z অবস্থান, যা একটি পূর্ণসংখ্যা বা দশমিক সংখ্যা হতে পারে, যেখানে ড্রোনটি আরোহণ করবে।

units

ঐচ্ছিক। দূরত্বের একক:

  • CM – সেন্টিমিটার
  • MM (ডিফল্ট) – মিলিমিটার
  • INCHES

velocity

ঐচ্ছিক। ড্রোনটি যে বেগে উপরে উঠবে, তা শতাংশ হিসাবে।

wait

ঐচ্ছিক। wait=True (ডিফল্ট) পরবর্তী কোড লাইন চলার আগে রোবটের নড়াচড়া শেষ না হওয়া পর্যন্ত প্রজেক্টকে অপেক্ষা করায়। wait=False পরবর্তী কোড লাইনকে সাথে সাথে চালিয়ে দেয়।

# Reach 500 mm after takeoff
drone.take_off(climb_to=300)
wait(1, SECONDS)
drone.climb_to(z=500)
wait(1, SECONDS)
drone.land()

move_at#

move_at ড্রোনটিকে একটি নির্দিষ্ট কোণ এবং বেগে চালিত করে।

ব্যবহারবিধি:

drone.move_at(angle, velocity)

প্যারামিটার

বর্ণনা

angle

যে কোণে ড্রোনটি চলে, তা একটি পূর্ণসংখ্যা বা দশমিক সংখ্যা হিসেবে প্রকাশ করা যায়, যার পরিসর ০ থেকে ৩৫৯ ডিগ্রি পর্যন্ত।

velocity

ড্রোনটি যে বেগে চলবে, তার শতাংশ।

# Move left for 2 seconds
drone.take_off(climb_to=500)
drone.move_at(angle=270)
wait(2, SECONDS)
drone.land()

move_for#

move_for ড্রোনটিকে বর্তমান set_move_velocity ব্যবহার করে একটি নির্দিষ্ট দূরত্বে একটি নির্দিষ্ট দিকে সরিয়ে নিয়ে যায়।

ব্যবহারবিধি:

drone.move_for(angle, distance, units, velocity, wait)

প্যারামিটার

বর্ণনা

angle

ড্রোনটি যে কোণে চলে, তা একটি পূর্ণসংখ্যা বা দশমিক (ফ্লোট), যার পরিসর 0 থেকে 359 ডিগ্রি।

distance

ড্রোনটি যে দূরত্ব অতিক্রম করবে, তা পূর্ণসংখ্যা বা দশমিক সংখ্যা হিসেবে প্রকাশ করা হবে।

units

ঐচ্ছিক। দূরত্বের একক:

  • CM – সেন্টিমিটার
  • MM (ডিফল্ট) – মিলিমিটার
  • INCHES

velocity

ঐচ্ছিক। ড্রোনটির চলার বেগ শতাংশ হিসাবে।

wait

ঐচ্ছিক। wait=True (ডিফল্ট) পরবর্তী কোড লাইন চলার আগে রোবটের নড়াচড়া শেষ না হওয়া পর্যন্ত প্রজেক্টকে অপেক্ষা করায়। wait=False পরবর্তী কোড লাইনকে সাথে সাথে চালিয়ে দেয়।

# Move forward for 200 mm
drone.take_off(climb_to=500)
wait(1, SECONDS)
drone.move_for(direction=0, distance=200, velocity=50, units=MM)
wait(1, SECONDS)
drone.land()

move_to#

move_to ড্রোনটিকে একই অভিমুখ বজায় রেখে বাতাসে একটি নির্দিষ্ট অবস্থানে নিয়ে যায়।

ব্যবহারবিধি:

drone.move_to(x, y, z, units, move_velocity, climb_velocity, wait)

প্যারামিটার

বর্ণনা

x

এক্স স্থানাঙ্ক যেখানে ড্রোনটি যাবে।

y

y স্থানাঙ্ক, যেদিকে ড্রোনটি যাবে।

z

z স্থানাঙ্ক যেখানে ড্রোনটি যাবে।

units

ঐচ্ছিক। দূরত্বের একক:

  • CM – সেন্টিমিটার
  • MM (ডিফল্ট) – মিলিমিটার
  • INCHES

move_velocity

ঐচ্ছিক। ড্রোনটির চলার বেগ শতাংশ হিসাবে।

climb_velocity

ঐচ্ছিক। ড্রোনটি যে বেগে উপরে উঠবে, তা শতাংশ হিসাবে।

wait

ঐচ্ছিক। wait=True (ডিফল্ট) পরবর্তী কোড লাইন চলার আগে রোবটের নড়াচড়া শেষ না হওয়া পর্যন্ত প্রজেক্টকে অপেক্ষা করায়। wait=False পরবর্তী কোড লাইনকে সাথে সাথে চালিয়ে দেয়।

# Move diagonally to (300, 300, 800)
drone.take_off(climb_to=300)
wait(2, SECONDS)
drone.move_to(x=300, y=300, z=800)
wait(2, SECONDS)
drone.land()

turn#

turn বর্তমান set_turn_velocity ব্যবহার করে ড্রোনটিকে একটি নির্দিষ্ট দিকে ঘোরায়।

ব্যবহারবিধি:

drone.turn(direction, velocity)

প্যারামিটার

বর্ণনা

direction

ড্রোনটি যেদিকে ঘুরবে: LEFT বা RIGHT।

velocity

ঐচ্ছিক। যে বেগে ড্রোনটি ঘুরবে, তা শতাংশ হিসাবে।

# Turn to the right for 2 seconds
drone.take_off(climb_to=500)
wait(1, SECONDS)
drone.turn(RIGHT, 50)
wait(2, SECONDS)
drone.land()

turn_for#

turn_for ড্রোনটিকে তার বর্তমান অভিমুখী দিকের সাপেক্ষে বর্তমান set_turn_velocity ব্যবহার করে একটি নির্দিষ্ট দিকে একটি নির্দিষ্ট দূরত্বে ঘোরায়।

ব্যবহারবিধি:

drone.turn_for(direction, angle, velocity, wait)

প্যারামিটার

বর্ণনা

direction

ড্রোনটি যেদিকে ঘুরবে: LEFT বা RIGHT।

angle

ড্রোনটি যে কোণে ঘোরে, তা একটি পূর্ণসংখ্যা বা দশমিক (ফ্লোট), যার পরিসর 0 থেকে 359 ডিগ্রি।

velocity

ঐচ্ছিক। যে বেগে ড্রোনটি ঘুরবে, তা শতাংশ হিসাবে।

wait

ঐচ্ছিক। wait=True (ডিফল্ট) পরবর্তী কোড লাইন চলার আগে রোবটের নড়াচড়া শেষ না হওয়া পর্যন্ত প্রজেক্টকে অপেক্ষা করায়। wait=False পরবর্তী কোড লাইনকে সাথে সাথে চালিয়ে দেয়।

# Turn around, then land
drone.take_off(climb_to=500)
wait(1, SECONDS)
drone.turn_for(RIGHT, 180)
wait(1, SECONDS)
drone.land()

turn_to#

turn_to ড্রোনটিকে বর্তমান set_turn_velocity ব্যবহার করে একটি নির্দিষ্ট হেডিং-এর দিকে ঘুরিয়ে দেয়।

ব্যবহারবিধি:

drone.turn_to(heading, velocity, wait)

প্যারামিটার

বর্ণনা

heading

ড্রোনটি ০ থেকে ৩৬০ ডিগ্রির মধ্যে যেদিকে ঘুরবে।

velocity

ঐচ্ছিক। যে বেগে ড্রোনটি ঘুরবে, তা শতাংশ হিসাবে।

wait

ঐচ্ছিক। wait=True (ডিফল্ট) পরবর্তী কোড লাইন চলার আগে রোবটের নড়াচড়া শেষ না হওয়া পর্যন্ত প্রজেক্টকে অপেক্ষা করায়। wait=False পরবর্তী কোড লাইনকে সাথে সাথে চালিয়ে দেয়।

# Turn to face each of the cardinal headings
drone.take_off(climb_to=500)
drone.turn_to(heading=90, velocity=50)
wait(3, SECONDS)
drone.turn_to(heading=180, velocity=50)
wait(3, SECONDS)
drone.turn_to(heading=270, velocity=50)
wait(3, SECONDS)
drone.turn_to(heading=0, velocity=50)
wait(3, SECONDS)
drone.land()

move_with_vectors#

move_with_vectors ড্রোনটিকে ভেক্টর-ভিত্তিক গতি ব্যবহার করে চালিত করে, যা x-অক্ষ (অনুভূমিক) এবং y-অক্ষ (উল্লম্ব) বরাবর চলাচলের পাশাপাশি ড্রোনটিকে ঘোরানোরও সমন্বয় করে।

দ্রষ্টব্য: এই পদ্ধতিটি সরাসরি গতি এবং বাঁকের বেগের মান নির্ধারণ করে, তাই এটি set_move_velocity অথবা set_turn_velocity ব্যবহার করে না।

ব্যবহারবিধি:

drone.move_with_vectors(forward, rightward, upward, rotation)

প্যারামিটার

বর্ণনা

forward

Y-অক্ষ বরাবর ড্রোনটির বেগ (সামনে ও পেছনের দিকে চলাচল)। এটি শতাংশ হিসাবে -১০০ থেকে ১০০ পর্যন্ত মান গ্রহণ করে, যেখানে ঋণাত্মক মান পেছনের দিকে এবং ধনাত্মক মান সামনের দিকে চলাচল নির্দেশ করে।

rightward

এক্স-অক্ষ বরাবর ড্রোনটির বেগ (পাশাপাশি চলাচল)। এটি শতাংশ হিসাবে -১০০ থেকে ১০০ পর্যন্ত মান গ্রহণ করে, যেখানে ঋণাত্মক মান বাম দিকে এবং ধনাত্মক মান ডান দিকে চলাচল নির্দেশ করে।

upward

Z-অক্ষ বরাবর ড্রোনটির বেগ (উপরে এবং নিচে চলাচল)। এটি শতাংশ হিসাবে -১০০ থেকে ১০০ পর্যন্ত মান গ্রহণ করে, যেখানে ঋণাত্মক মান নিচে এবং ধনাত্মক মান উপরে চলাচল করে।

rotation

ড্রোনটির ঘূর্ণন বেগ। এটি শতাংশ হিসাবে -১০০ থেকে ১০০ পর্যন্ত মান গ্রহণ করে, যেখানে ঋণাত্মক মান ঘড়ির কাঁটার বিপরীত দিকে এবং ধনাত্মক মান ঘড়ির কাঁটার দিকে ঘোরে।

# Move with controller
drone.take_off(climb_to=500)
while True:
    drone.move_with_vectors(
        forward=controller.axis4.position(),
        rightward=controller.axis3.position(),
        upward=controller.axis1.position(),
        rotation=controller.axis2.position()
    )
    wait(5, MSEC)

মিউটেটর#

set_steering_mode#

set_steering_mode ড্রোন চালনার সময় ব্যবহৃত দৃষ্টিকোণ নির্ধারণ করে।

ব্যবহারবিধি:

drone.set_steering_mode(style)

প্যারামিটার

বর্ণনা

style

ড্রোন চালনা করার জন্য ব্যবহৃত দৃষ্টিকোণ (POV) নির্ধারণ করে। HEADLESS এর অর্থ হলো, প্রোজেক্টের শুরুতে ড্রোনটি যেদিকে মুখ করে ছিল, তার সাপেক্ষে এটি চলবে। STANDARD ডিফল্টরূপে ব্যবহৃত হয় এবং এর ফলে ড্রোনটি যেদিকে মুখ করে আছে, তার সাপেক্ষে চলে।

# Steer based on the drone's starting orientation
# until button 7 is pressed
drone.take_off(climb_to=500)
drone.set_steering_mode(HEADLESS)
while not controller.button7.pressing():
    drone.move_with_vectors(
        forward=controller.axis4.position(),
        rightward=controller.axis3.position(),
        upward=controller.axis1.position(),
        rotation=controller.axis2.position()
    )
    wait(5, MSEC)
drone.land()

set_movement_mode#

set_movement_mode ড্রোনটির চলাচলের ধরণ নির্ধারণ করে।

কন্ট্রোলার দিয়ে ড্রোন ওড়ানোর সময় এই চালনা শৈলী ব্যবহার করা হয়।

ব্যবহারবিধি:

drone.set_movement_mode(style)

প্যারামিটার

বর্ণনা

style

ড্রোনটি চালনা করার জন্য ব্যবহৃত গতি নির্ধারণ করে।

  • BALANCED – ড্রোনটি একটি মাঝারি ভিত্তি গতিতে চলে।
  • PERFORMANCE – ড্রোনটি একটি দ্রুততর ভিত্তি গতিতে চলে।
  • PRECISION (ডিফল্ট) – ড্রোনটি একটি ধীরতর ভিত্তি গতিতে চলে।

# Control the drone with the balanced movement style
drone.take_off(climb_to=500)
drone.set_movement_mode(BALANCED)
while not controller.button5.pressing():
    drone.move_with_vectors(
        forward=controller.axis4.position(),
        rightward=controller.axis3.position(),
        upward=controller.axis1.position(),
        rotation=controller.axis2.position()
    )
    wait(5, MSEC)
drone.land()

set_climb_velocity#

set_climb_velocity ডিফল্ট আরোহণের গতি শতাংশ হিসাবে নির্ধারণ করে। এটি আরোহণ সম্পর্কিত পরবর্তী যেকোনো পদ্ধতিকে প্রভাবিত করবে। ডিফল্ট আরোহণের গতি হলো ৫০%।

ব্যবহারবিধি:

drone.set_climb_velocity(velocity)

প্যারামিটার

বর্ণনা

velocity

যে গতিতে ড্রোনটি উপরে উঠবে, তার শতাংশ।

# Raise the drone quickly before landing
drone.take_off(climb_to=300)
wait(1, SECONDS)
drone.set_climb_velocity(100)
drone.climb_for(direction=UP, distance=500)
wait(1, SECONDS)
drone.land()

set_move_velocity#

set_move_velocity ডিফল্ট চলাচল বেগ শতাংশ হিসাবে নির্ধারণ করে। এটি চলাচল সম্পর্কিত পরবর্তী যেকোনো পদ্ধতিকে প্রভাবিত করবে। ডিফল্ট চলাচল বেগ হলো ৫০%।

ব্যবহারবিধি:

drone.set_move_velocity(velocity)

প্যারামিটার

বর্ণনা

velocity

ড্রোনটি যে বেগে চলবে, তার শতাংশ।

# Move forward quickly, then reverse slowly
drone.take_off(climb_to=500)
drone.set_move_velocity(100)
drone.move_for(direction=0, distance=500)
wait(3, SECONDS)
drone.set_move_velocity(20)
drone.move_for(direction=180, distance=500)
wait(5, SECONDS)
drone.land()

set_turn_velocity#

set_turn_velocity ডিফল্ট টার্নিং ভেলোসিটি শতাংশ হিসাবে সেট করে। এটি টার্নিং সম্পর্কিত পরবর্তী যেকোনো মেথডকে প্রভাবিত করবে। ডিফল্ট টার্ন ভেলোসিটি হলো ৫০%।

ব্যবহারবিধি:

drone.set_turn_velocity(velocity)

প্যারামিটার

বর্ণনা

velocity

যে বেগে ড্রোনটি ঘুরবে, তার শতাংশ।

# Turn clockwise quickly, then counterclockwise slowly
drone.take_off(climb_to=500)
drone.set_turn_velocity(100)
drone.turn_for(RIGHT, 360)
wait(3, SECONDS)
drone.set_turn_velocity(20)
drone.turn_for(LEFT, 360)
wait(5, SECONDS)
drone.land()

set_max_z_height#

set_max_z_height ড্রোনটি কত উঁচুতে উড়বে তার একটি সীমা নির্ধারণ করে।

ব্যবহারবিধি:

drone.set_max_z_height(z_height, units)

প্যারামিটার

বর্ণনা

z_height

z অক্ষের সর্বোচ্চ মান, যা পূর্ণসংখ্যা বা দশমিক সংখ্যা হিসেবে প্রকাশ করা যাবে এবং যার উপরে ড্রোনটি উড়বে না। এর পরিসর ১০০০ থেকে ৫০০০ মিমি বা ৪০ থেকে ১৯৬ ইঞ্চি।

units

ঐচ্ছিক। দূরত্বের এককগুলো হলো:

  • CM – সেন্টিমিটার
  • MM (ডিফল্ট) – মিলিমিটার
  • INCHES
# Fly with controller under 1000 mm
drone.set_max_z_height(1000, MM)
drone.take_off(climb_to=500)
while not controller.button7.pressing():
    drone.move_with_vectors(
        forward=controller.axis4.position(),
        rightward=controller.axis3.position(),
        upward=controller.axis1.position(),
        rotation=controller.axis2.position()
    )
drone.land()

set_xyz_position#

set_xyz_position ড্রোনটির বর্তমান x, y, বা z স্থানাঙ্ককে একটি নির্দিষ্ট মানে সেট করে।

ব্যবহারবিধি:

drone.set_xyz_position(x, y, z, units)

দ্রষ্টব্য: সমস্ত প্যারামিটার ঐচ্ছিক, কিন্তু অন্তত একটি (x, y, অথবা z) অবশ্যই উল্লেখ করতে হবে।

প্যারামিটার

বর্ণনা

x

ঐচ্ছিক। ড্রোনটির জন্য সেট করার x স্থানাঙ্ক units দশমিক (ফ্লোট) বা পূর্ণসংখ্যা হিসাবে।

y

ঐচ্ছিক। ড্রোনটির জন্য y স্থানাঙ্ক units দশমিক (ফ্লোট) বা পূর্ণসংখ্যা হিসাবে সেট করতে হবে।

z

ঐচ্ছিক। ড্রোনটির জন্য z স্থানাঙ্ক units দশমিক (ফ্লোট) বা পূর্ণসংখ্যা হিসাবে সেট করতে হবে।

units

ঐচ্ছিক। দূরত্বের একক:

  • CM – সেন্টিমিটার
  • MM (ডিফল্ট) – মিলিমিটার
  • INCHES
# Set a new z position, then fly to z position -300
drone.take_off(climb_to=800)
drone.set_xyz_position(z=0)
wait(1, SECONDS)
drone.climb(DOWN, 50)
while not drone.get_z_position() < -300:
    wait(5, MSEC)
drone.hover()
wait(1, SECONDS)
drone.land()

গেটার্স#

get_max_z_height#

get_max_z_height ড্রোনটির সর্বোচ্চ পৌঁছানোর উচ্চতা একটি পূর্ণসংখ্যা হিসাবে ফেরত দেয়।

ব্যবহারবিধি:

drone.get_max_z_height(units)

প্যারামিটার

বর্ণনা

units

ঐচ্ছিক। পরিমাপের একক:

  • CM – সেন্টিমিটার
  • MM (ডিফল্ট) – মিলিমিটার
  • INCHES
# Display the new z height limit
controller.screen.print(drone.get_max_z_height(MM))
controller.screen.next_row()
drone.take_off(climb_to=500)
drone.set_max_z_height(1000)
controller.screen.print(drone.get_max_z_height(MM))
wait(1, SECONDS)
drone.land()

get_flight_state#

get_flight_state ড্রোনটির বর্তমান উড্ডয়ন অবস্থাকে একটি DroneFlightStateType হিসেবে ফেরত দেয়:

  • MOTOR_OFF - অন্য কোনো ফ্লাইট স্টেট সত্য নয়।

  • CALIBRATION - ড্রোনটি তার সেন্সরগুলো ক্যালিব্রেট করছে।

  • MOTOR_START - ড্রোনটি তার মোটরগুলো চালু করছে।

  • FLIGHT_READY - ড্রোনটি ওড়ার জন্য প্রস্তুত।

  • FLIGHT - ড্রোনটি আকাশে উড়ছে।

Usage:
drone.get_flight_state()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Report the flight status as the drone takes off
controller.screen.print("Preparing for flight!")
controller.screen.next_row()
drone.take_off(climb_to=800, wait=False)
while not drone.get_flight_state() == MOTOR_START:
    wait(5, MSEC)
controller.screen.print("Motors starting...")
controller.screen.next_row()
while not drone.get_flight_state() == FLIGHT:
    wait(5, MSEC)
controller.screen.print("Take off!")

get_x_position#

get_x_position ড্রোনটির x স্থানাঙ্ক একটি দশমিক (ফ্লোট) হিসাবে ফেরত দেয়।

Usage:
drone.get_x_position(units)

প্যারামিটার

বর্ণনা

units

ঐচ্ছিক। অবস্থান নির্দেশক একক:

  • CM – সেন্টিমিটার
  • MM (ডিফল্ট) – মিলিমিটার
  • INCHES
# Move to (200, 0, 500)
drone.take_off(climb_to=500)
wait(1, SECONDS)
drone.move_at(direction=90, velocity=50)
while not drone.get_x_position() > 200:
    wait(5, MSEC)
drone.hover()
wait(1, SECONDS)
drone.land()

get_y_position#

get_y_position ড্রোনটির y স্থানাঙ্ক একটি দশমিক (ফ্লোট) হিসাবে ফেরত দেয়।

ব্যবহারবিধি:

drone.get_y_position(units)

প্যারামিটার

বর্ণনা

units

ঐচ্ছিক। অবস্থান নির্দেশক একক:

  • CM – সেন্টিমিটার
  • MM (ডিফল্ট) – মিলিমিটার
  • INCHES
# Move to (0, 200, 500)
drone.take_off(climb_to=500)
wait(1, SECONDS)
drone.move_at(direction=0, velocity=50)
while not drone.get_y_position() > 200:
    wait(5, MSEC)
drone.hover()
wait(1, SECONDS)
drone.land()

get_z_position#

get_y_position ড্রোনটির z স্থানাঙ্ক একটি দশমিক (ফ্লোট) হিসাবে ফেরত দেয়।

ব্যবহারবিধি:

drone.get_z_position(units)

প্যারামিটার

বর্ণনা

units

ঐচ্ছিক। অবস্থান নির্দেশক একক:

  • CM – সেন্টিমিটার
  • MM (ডিফল্ট) – মিলিমিটার
  • INCHES
# Move to (0, 0, 800)
drone.take_off(climb_to=500)
wait(1, SECONDS)
drone.climb(UP, 50)
while not drone.get_z_position() > 800:
    wait(5, MSEC)
drone.hover()
wait(1, SECONDS)
drone.land()

get_safe_mode#

get_safe_mode একটি Boolean রিটার্ন করে যা নির্দেশ করে ড্রোনটিতে প্রপেলার লক সক্রিয় আছে কিনা।

  • True – প্রপেলার লক সক্রিয় আছে।

  • False – প্রপেলার লক সক্রিয় করা নেই।

ব্যবহারবিধি:

drone.get_safe_mode()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Change the sound by enabling the Propeller Lock
while True:
    if drone.get_safe_mode():
        controller.sound.play(FAULT)
        while controller.sound.is_active():
            wait(50, MSEC)
    else:
        controller.sound.play(SUCCESS)
        while controller.sound.is_active():
            wait(50, MSEC)
    wait(5, MSEC)

is_climb_active#

is_climb_active একটি Boolean রিটার্ন করে যা নির্দেশ করে ড্রোনটি আরোহণ করছে কিনা।

  • True – ড্রোনটি বর্তমানে উপরে উঠছে।

  • False – ড্রোনটি উপরে উঠছে না।

ব্যবহারবিধি:

drone.is_climb_active()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# After the drone starts to climb, play a sound and land
drone.take_off(climb_to=500)
drone.climb(UP, 50)
wait(3, SECONDS)
if drone.is_climb_active():
    controller.sound.play(SUCCESS)
    drone.land()

is_move_active#

is_move_active একটি Boolean রিটার্ন করে যা নির্দেশ করে ড্রোনটি বর্তমানে কোনো মুভ মেথড ব্যবহার করছে কিনা।

  • True – ড্রোনটি বর্তমানে একটি চলাচল পদ্ধতি ব্যবহার করছে।

  • False – ড্রোনটি বর্তমানে কোনো চলন পদ্ধতি ব্যবহার করছে না।

ব্যবহারবিধি:

drone.is_move_active()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# After the drone starts to move, play a sound and land
drone.take_off(climb_to=500)
drone.move_at(direction=0, velocity=50)
wait(2, SECONDS)
if drone.is_move_active():
    controller.sound.play(SUCCESS)
    drone.land()

is_turn_active#

is_turn_active একটি Boolean রিটার্ন করে যা নির্দেশ করে ড্রোনটি ঘুরছে কিনা।

  • True – ড্রোনটি বর্তমানে ঘুরছে।

  • False – ড্রোনটি ঘুরছে না।

ব্যবহারবিধি:

drone.is_turn_active()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# After the drone starts to turn, play a sound and land
drone.take_off(climb_to=500)
drone.turn(RIGHT)
wait(2, SECONDS)
if drone.is_turn_active():
    controller.sound.play(LOOPING)
    while controller.sound.is_active():
        wait(50, MSEC)
    drone.land()

is_hovering#

is_hovering একটি Boolean রিটার্ন করে যা নির্দেশ করে ড্রোনটি তার অবস্থান বজায় রাখছে কিনা (হোভার করছে কিনা)।

  • True – ড্রোনটি বর্তমানে তার অবস্থান বজায় রাখছে (স্থিরভাবে ভাসছে)।

  • False – ড্রোনটি বর্তমানে তার অবস্থান পরিবর্তন করছে।

ব্যবহারবিধি:

drone.is_hovering()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Play a sound after the drone has finished taking off
drone.take_off(climb_to=700)
while not drone.is_hovering():
    wait(5, MSEC)
controller.sound.play(PAUSE)
wait(2, SECONDS)
drone.land()

is_taking_off#

is_taking_off একটি Boolean রিটার্ন করে যা নির্দেশ করে ড্রোনটি উড্ডয়নের প্রক্রিয়ায় আছে কিনা।

  • True – ড্রোনটি বর্তমানে উড্ডয়নের প্রক্রিয়ায় রয়েছে।

  • False – ড্রোনটি উড্ডয়নের প্রক্রিয়ায় নেই।

ব্যবহারবিধি:

drone.is_taking_off()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Play sounds while the drone is taking off
drone.take_off(700, wait=False)
wait(1, SECONDS)
while drone.is_taking_off():
    controller.sound.play(LOOPING)
    wait(5, MSEC)

is_landing#

is_landing একটি Boolean রিটার্ন করে যা নির্দেশ করে ড্রোনটি অবতরণের প্রক্রিয়ায় আছে কিনা।

  • True – ড্রোনটি বর্তমানে অবতরণ করছে।

  • False – ড্রোনটি অবতরণ করছে না।

ব্যবহারবিধি:

drone.is_landing()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Play sounds while the drone is landing
drone.take_off(climb_to=500)
wait(1, SECONDS)
drone.land(wait=False)
wait(1, SECONDS)
while drone.is_landing():
    controller.sound.play(LOOPING)
    wait(5, MSEC)

is_landed#

is_landed একটি বুলিয়ান Boolean যা নির্দেশ করে ড্রোনটি বর্তমানে অবতরণ করেছে কিনা।

  • True – ড্রোনটি অবতরণ করেছে।

  • False – ড্রোনটি অবতরণ করেনি।

ব্যবহারবিধি:

drone.is_landed()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Celebrate a successful landing
drone.take_off(climb_to=500)
wait(1, SECONDS)
drone.land()
wait(1, SECONDS)
if drone.is_landed():
    controller.sound.play(SUCCESS)