ক্যামেরা#

ভূমিকা#

VEX AIR ড্রোনে দুটি ভিশন সেন্সর রয়েছে যা এর অনবোর্ড ক্যামেরা হিসেবে কাজ করে—একটি সামনে এবং একটি নিচে। এগুলো উড্ডয়নের সময় ছবি এবং ভিডিও উভয়ই ধারণ করতে পারে। VEXcode AIR-এ, “camera” শব্দটি সর্বদা এই ভিশন সেন্সরগুলোর মধ্যে একটিকে বোঝায়। উদাহরণস্বরূপ, drone.camera.start_recording(FORWARD_CAMERA), camera এর মতো একটি কমান্ডে, FORWARD_CAMERA সামনের দিকের সেন্সরটিকে নির্বাচন করে।

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

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

কর্ম

  • start_recording – একটি ভিশন সেন্সর থেকে ভিডিও রেকর্ড করে।

  • stop_recording – একটি ভিশন সেন্সর থেকে রেকর্ডিং বন্ধ করে।

  • capture_image – একটি ভিশন সেন্সর থেকে একটি ছবি তোলে।

Mutators

  • show_camera – VEX AIR ড্রোন কন্ট্রোলারে নির্বাচিত ভিশন সেন্সরটি দেখায়।

  • hide_camera – কন্ট্রোলারে ভিশন সেন্সর ফিড লুকিয়ে রাখে।

  • set_overlay_reticle – ওভারলে রেটিকেল দেখায় বা লুকায়।

  • set_overlay_telemetry – টেলিমেট্রি ডেটা দেখায় বা লুকায়।

গেটার্স

  • is_recording – ভিশন সেন্সরটি রেকর্ডিং করছে কিনা তা ফেরত দেয়।

  • get_recording_time – রেকর্ডিং করতে ব্যয়িত সময় ফেরত দেয়।

কর্ম#

start_recording#

start_recording নির্দিষ্ট ভিশন সেন্সর ব্যবহার করে একটি রেকর্ডিং শুরু করে।

রেকর্ডিং দেখা এবং পুনরুদ্ধার করার তথ্যের জন্য, এখানে যান।

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

drone.camera.start_recording(camera)

প্যারামিটার

বর্ণনা

camera

রেকর্ড করার জন্য ভিশন সেন্সর: DOWNWARD_CAMERA অথবা FORWARD_CAMERA।

# Press button 7 to end recording
def end_recording():
    drone.camera.stop_recording(FORWARD_CAMERA)
    drone.land()

controller.button7.pressed(end_recording)

# Record a video as you fly around
controller.screen.show_camera(FORWARD_CAMERA)
drone.take_off(climb_to=500)
drone.camera.start_recording(FORWARD_CAMERA)
while True:
    # Move with controller
    drone.move_with_vectors(
        forward=controller.axis4.position(),
        rightward=controller.axis3.position(),
        upward=controller.axis1.position(),
        rotation=controller.axis2.position()
    )
    wait(5, MSEC)

stop_recording#

stop_recording নির্দিষ্ট ভিশন সেন্সরের রেকর্ডিং বন্ধ করে।

রেকর্ডিং দেখা এবং পুনরুদ্ধার করার তথ্যের জন্য, এখানে যান।

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

drone.camera.stop_recording(camera)

প্যারামিটার

বর্ণনা

camera

রেকর্ডিং বন্ধ করতে ভিশন সেন্সর ব্যবহার করুন: DOWNWARD_CAMERA অথবা FORWARD_CAMERA।

# Press button 7 to end recording
def end_recording():
    drone.camera.stop_recording(FORWARD_CAMERA)
    drone.land()

controller.button7.pressed(end_recording)

# Record a video as you fly around
controller.screen.show_camera(FORWARD_CAMERA)
drone.take_off(climb_to=500)
drone.camera.start_recording(FORWARD_CAMERA)
while True:
    # Move with controller
    drone.move_with_vectors(
        forward=controller.axis4.position(),
        rightward=controller.axis3.position(),
        upward=controller.axis1.position(),
        rotation=controller.axis2.position()
    )
    wait(5, MSEC)

capture_image#

capture_image নির্দিষ্ট ভিশন সেন্সর দিয়ে একটি ছবি তোলে।

ক্যাপচার করা ছবি দেখা এবং পুনরুদ্ধার করার তথ্যের জন্য, এখানে যান।

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

drone.camera.capture_image(camera)

প্যারামিটার

বর্ণনা

camera

ছবি তোলার জন্য ভিশন সেন্সর: DOWNWARD_CAMERA অথবা FORWARD_CAMERA।

# Press button 7 to take pictures
def take_picture():
    drone.camera.capture_image(FORWARD_CAMERA)

controller.button7.pressed(take_picture)

# Take pictures while you control the drone
controller.screen.show_camera(FORWARD_CAMERA)
drone.take_off(climb_to=500)
while True:
    # Move with controller
    drone.move_with_vectors(
        forward=controller.axis4.position(),
        rightward=controller.axis3.position(),
        upward=controller.axis1.position(),
        rotation=controller.axis2.position()
    )
    wait(5, MSEC)

মিউটেটর#

show_camera#

show_camera বর্তমান স্ক্রিন মোডকে নির্দিষ্ট ভিশন সেন্সর ফিডে সেট করে।

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

controller.screen.show_camera(camera)

প্যারামিটার

বর্ণনা

camera

ভিশন সেন্সর ফিড প্রদর্শন করবে: DOWNWARD_CAMERA অথবা FORWARD_CAMERA।

# Switch camera feeds after 3 seconds
controller.screen.show_camera(DOWNWARD_CAMERA)
wait(3, SECONDS)
controller.screen.show_camera(FORWARD_CAMERA)

hide_camera#

hide_camera নির্দিষ্ট ভিশন সেন্সরের ফিড লুকিয়ে রাখে।

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

controller.screen.hide_camera()

প্যারামিটার

বর্ণনা

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

# Hide camera feed after 3 seconds
controller.screen.show_camera(FORWARD_CAMERA)
wait(3, SECONDS)
controller.screen.hide_camera()

set_overlay_reticle#

set_overlay_reticle ওভারলে রেটিকেল চালু বা বন্ধ করে। রেটিকেল হলো একটি দৃশ্যমান চিহ্ন, যেমন একটি ক্রসহেয়ার, যা বস্তু নিশানা বা সারিবদ্ধ করতে সাহায্য করার জন্য ক্যামেরার দৃশ্যে প্রদর্শিত হয়।

ডিফল্টরূপে, একটি প্রজেক্টের শুরুতে রেটিকেল ওভারলে শুধুমাত্র নিম্নমুখী ভিশন সেন্সরের জন্য True -এ সেট করা থাকে।

Usage:
controller.screen.set_overlay_reticle(state)

প্যারামিটার

বর্ণনা

state

ওভারলে রেটিকলের অবস্থা: True ওভারলে রেটিকল সক্রিয় করে। False ওভারলে রেটিকল নিষ্ক্রিয় করে।

# Hide the reticle when not aligning to a landing area
controller.screen.show_camera(DOWNWARD_CAMERA)
drone.take_off(climb_to=500)
controller.screen.set_overlay_reticle(False)
while True:
    # Move with controller
    drone.move_with_vectors(
        forward=controller.axis4.position(),
        rightward=controller.axis3.position(),
        upward=controller.axis1.position(),
        rotation=controller.axis2.position()
    )
    wait(5, MSEC)

set_overlay_telemetry#

set_overlay_telemetry কন্ট্রোলারের স্ক্রিনে ড্রোনের টেলিমেট্রি ডেটার দৃশ্যমানতা সক্ষম বা অক্ষম করে। টেলিমেট্রি হলো ড্রোন উড়ন্ত অবস্থায় বা কোনো প্রজেক্ট চালানোর সময় প্রাপ্ত লাইভ ডেটা।

ডিফল্টরূপে, একটি প্রজেক্টের শুরুতে টেলিমেট্রি ডেটা ওভারলে True -এ সেট করা থাকে।

Usage:
controller.screen.set_overlay_telemetry(state)

প্যারামিটার

বর্ণনা

state

টেলিমেট্রি ডেটার অবস্থা: True স্ক্রিনে টেলিমেট্রি ডেটা দেখা সক্ষম করে। False স্ক্রিনে টেলিমেট্রি ডেটা দেখা অক্ষম করে।

# Clear the camera video for better visibility
controller.screen.show_camera(FORWARD_CAMERA)
drone.take_off(climb_to=500)
controller.screen.set_overlay_telemetry(False)
while True:
    # Move with controller
    drone.move_with_vectors(
        forward=controller.axis4.position(),
        rightward=controller.axis3.position(),
        upward=controller.axis1.position(),
        rotation=controller.axis2.position()
    )
    wait(5, MSEC)

গেটার্স#

is_recording#

is_recording একটি বুলিয়ান মান রিটার্ন করে, যা নির্দেশ করে যে নির্দিষ্ট ভিশন সেন্সরটি বর্তমানে রেকর্ডিং করছে কিনা।

  • True – নির্দিষ্ট ভিশন সেন্সরটি রেকর্ডিং করছে।

  • False – নির্দিষ্ট ভিশন সেন্সরটি রেকর্ডিং করছে না।

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

drone.camera.is_recording(camera)

প্যারামিটার

বর্ণনা

camera

রেকর্ডিং স্ট্যাটাস চেক করার জন্য ভিশন সেন্সর: DOWNWARD_CAMERA অথবা FORWARD_CAMERA।

# Use button 7 to start and stop recording
def toggle_recording():
    if drone.camera.is_recording(FORWARD_CAMERA):
        drone.camera.stop_recording(FORWARD_CAMERA)
    else:
        drone.camera.start_recording(FORWARD_CAMERA)

controller.button7.pressed(toggle_recording)

# Make video recordings while you control the drone
controller.screen.show_camera(FORWARD_CAMERA)
drone.take_off(climb_to=500)
while True:
    # Move with controller
    drone.move_with_vectors(
        forward=controller.axis4.position(),
        rightward=controller.axis3.position(),
        upward=controller.axis1.position(),
        rotation=controller.axis2.position()
    )
    wait(5, MSEC)

get_recording_time#

get_recording_time একটি নির্দিষ্ট ভিশন সেন্সর কতক্ষণ ধরে রেকর্ডিং করছে তার পরিমাণ সেকেন্ডে একটি দশমিক (ফ্লোট) হিসাবে ফেরত দেয়।

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

drone.camera.get_recording_time(camera)

প্যারামিটার

বর্ণনা

camera

রেকর্ডিং সময় পরীক্ষা করার জন্য ভিশন সেন্সর: DOWNWARD_CAMERA অথবা FORWARD_CAMERA।

# Record a video for 10 seconds
controller.screen.show_camera(FORWARD_CAMERA)
drone.camera.start_recording(FORWARD_CAMERA)
drone.take_off(climb_to=500)
while not (drone.camera.get_recording_time(FORWARD_CAMERA)) >= 10:
    wait(5, MSEC)
drone.camera.stop_recording(FORWARD_CAMERA)