Kamera#

Johdanto#

VEX AIR -droonissa on kaksi koneen sisäisinä kameroina toimivaa näköanturia – yksi edessä ja toinen pohjassa. Nämä voivat tallentaa sekä kuvia että videota lennon aikana. VEXcode AIRissa sana “kamera” viittaa aina yhteen näistä näköantureista. Esimerkiksi komennossa drone.camera.start_recording(FORWARD_CAMERA) camera viittaa näköantureihin ja FORWARD_CAMERA valitsee eteenpäin olevan.

Siirtääksesi videotallenteita ja kuvia VEX AIR -drone-ohjaimesta, liitä ohjain tietokoneeseen. Se näkyy massamuistilaitteena (samanlainen kuin USB-asema), jonka avulla voit kopioida tiedostoja suoraan. Projektin lopettamisen jälkeen odota noin minuutti, että ohjain on ladannut kuvat tai tallenteet dronesta, ennen kuin yrität kopioida niitä.

Alla on luettelo kaikista käytettävissä olevista menetelmistä:

Toiminnot

Mutaattorit

Getters

Toiminnot#

start_recording#

start_recording aloittaa tallennuksen määritetyllä näköanturilla.

Lisätietoja tallenteiden katselusta ja hakemisesta on täällä siirry tänne.

Käyttö:

drone.camera.start_recording(camera)

Parametrit

Kuvaus

camera

Näköanturi tallentaa seuraavasti: DOWNWARD_CAMERA tai 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 pysäyttää määritetyn näköanturin tallennuksen.

Lisätietoja tallenteiden katselusta ja hakemisesta on täällä siirry tänne.

Käyttö:

drone.camera.stop_recording(camera)

Parametrit

Kuvaus

camera

Näköanturi lopettaa tallennuksen seuraavilla asetuksilla: DOWNWARD_CAMERA tai 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 ottaa kuvan määritetyllä näköanturilla.

Lisätietoja kaapattujen kuvien katselusta ja hakemisesta on täällä katso tästä.

Käyttö:

drone.camera.capture_image(camera)

Parametrit

Kuvaus

camera

Näköanturi kuvan ottamista varten, kun käytössä on: DOWNWARD_CAMERA tai 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)

Mutaattorit#

show_camera#

show_camera asettaa nykyisen näyttötilan määritettyyn näköanturin syötteeseen.

Käyttö:

controller.screen.show_camera(camera)

Parametrit

Kuvaus

camera

Näytettävän näköanturin syötteen: DOWNWARD_CAMERA tai 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 piilottaa määritetyn näköanturin syötteen.

Käyttö:

controller.screen.hide_camera()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

# 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 ottaa käyttöön tai poistaa käytöstä päällekkäisen ristikon. Ristikko on visuaalinen merkki, kuten tähtäinristikko, joka näkyy kameran näkökentässä ja auttaa kohteiden tähtäämisessä tai linjaamisessa.

Oletusarvoisesti ristikon päällekkäisasetukseksi on asetettu True projektin alussa, vain alaspäin suuntautuvassa konenäköanturissa.

Usage:
controller.screen.set_overlay_reticle(state)

Parametrit

Kuvaus

state

Päällekkäisristikon tila: True ottaa päällekkäisristikon käyttöön. False poistaa päällekkäisristikon käytöstä.

# 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 ottaa käyttöön tai poistaa käytöstä dronin telemetriatietojen näkyvyyden ohjaimen näytöllä. Telemetria on reaaliaikaista dataa dronesta sen lentäessä tai projektin suorittamisen aikana.

Oletusarvoisesti telemetriatietojen päällekkäisarvona on True projektin alussa.

Usage:
controller.screen.set_overlay_telemetry(state)

Parametrit

Kuvaus

state

Telemetriatietojen tila: True ottaa käyttöön telemetriatietojen tarkastelun näytöllä. False poistaa käytöstä telemetriatietojen tarkastelun näytöllä.

# 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)

Getterit#

is_recording#

is_recording palauttaa totuusarvon, joka ilmaisee, tallentaako määritetty konenäköanturi parhaillaan.

  • True – Määritetty näköanturi tallentaa.

  • False – Määritetty näköanturi ei tallenna.

Käyttö:

drone.camera.is_recording(camera)

Parametrit

Kuvaus

camera

Näköanturi tarkistaa seuraavien tallennustilan: DOWNWARD_CAMERA tai 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 palauttaa tietyn näköanturin tallennusajan desimaalilukuna (float) sekunteina.

Käyttö:

drone.camera.get_recording_time(camera)

Parametrit

Kuvaus

camera

Näköanturi tarkistaa seuraavien tallennusajan: DOWNWARD_CAMERA tai 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)