Camera#
Invoering#
De VEX AIR-drone is uitgerust met twee Vision Sensors die dienst doen als ingebouwde camera’s: één aan de voorkant en één aan de onderkant. Deze kunnen zowel foto’s als video’s maken tijdens de vlucht. In VEXcode AIR verwijst het woord “camera” altijd naar een van deze Vision Sensors. In een commando zoals drone.camera.start_recording(FORWARD_CAMERA), verwijst camera bijvoorbeeld naar de Vision Sensors, en FORWARD_CAMERA selecteert de naar voren gerichte sensor.
Om video-opnamen en foto’s van de VEX AIR Drone Controller over te zetten, sluit u de controller aan op uw computer. Deze verschijnt dan als een massaopslagapparaat (vergelijkbaar met een USB-stick), waardoor u bestanden direct kunt kopiëren. Nadat u een project hebt afgerond, wacht u ongeveer een minuut totdat de controller alle foto’s en opnames van de drone heeft gedownload voordat u ze probeert te kopiëren.
Hieronder vindt u een lijst met alle beschikbare methoden:
Acties
start_recording– Neemt video op van een Vision Sensor.stop_recording– Stopt de opname van een Vision Sensor.capture_image– Legt een afbeelding vast van een Vision Sensor.
Mutators
show_camera– Toont de geselecteerde Vision Sensor op de VEX AIR Drone Controller.hide_camera– Verbergt de beeldsensorfeed op de controller.set_overlay_reticle– Toont of verbergt het overlay-richtkruis.set_overlay_telemetry– Toont of verbergt telemetriegegevens.
Verdieners
is_recording– Geeft aan of de Vision Sensor aan het opnemen is.get_recording_time– Geeft de tijd terug die is besteed aan opnemen.
Acties#
start_recording#
start_recording start een opname met de opgegeven Vision Sensor.
Voor informatie over het bekijken en ophalen van opnames, ga hierheen.
Gebruik:
drone.camera.start_recording(camera)
Parameters |
Beschrijving |
|---|---|
|
De beeldsensor waarmee opgenomen moet worden: |
# 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 stopt de opname van de opgegeven Vision Sensor.
Voor informatie over het bekijken en ophalen van opnames, ga hierheen.
Gebruik:
drone.camera.stop_recording(camera)
Parameters |
Beschrijving |
|---|---|
|
De Vision Sensor stopt de opname met: |
# 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 maakt een foto met de opgegeven Vision Sensor.
Voor informatie over het bekijken en ophalen van vastgelegde afbeeldingen, ga hierheen.
Gebruik:
drone.camera.capture_image(camera)
Parameters |
Beschrijving |
|---|---|
|
De beeldsensor om een foto mee te maken: |
# 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)
Mutators#
show_camera#
show_camera stelt de huidige schermmodus in op de opgegeven Vision Sensor-feed.
Gebruik:
controller.screen.show_camera(camera)
Parameters |
Beschrijving |
|---|---|
|
De beeldsensor geeft de volgende gegevens weer: |
# 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 verbergt de feed van de opgegeven Vision Sensor.
Gebruik:
controller.screen.hide_camera()
Parameters |
Beschrijving |
|---|---|
Deze methode heeft geen parameters. |
# 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 schakelt het overlay-richtkruis in of uit. Een richtkruis is een visuele markering, zoals een kruisdraad, die in het camerabeeld verschijnt om te helpen bij het richten of uitlijnen van objecten.
Standaard is de dradenkruisoverlay aan het begin van een project ingesteld op True , maar alleen op de naar beneden gerichte Vision Sensor.
Usage:
controller.screen.set_overlay_reticle(state)
Parameters |
Beschrijving |
|---|---|
|
De status van het overlay-richtkruis: |
# 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 schakelt de zichtbaarheid van de telemetriegegevens van de drone op het scherm van de controller in of uit. Telemetrie zijn live gegevens van de drone tijdens het vliegen of het uitvoeren van een project.
Standaard is de overlay voor telemetriegegevens ingesteld op True aan het begin van een project.
Usage:
controller.screen.set_overlay_telemetry(state)
Parameters |
Beschrijving |
|---|---|
|
De status van de telemetriegegevens: |
# 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)
Getters#
is_recording#
is_recording retourneert een Booleaanse waarde die aangeeft of een opgegeven Vision Sensor momenteel aan het opnemen is.
True– De opgegeven beeldsensor neemt op.False– De opgegeven beeldsensor registreert niet.
Gebruik:
drone.camera.is_recording(camera)
Parameters |
Beschrijving |
|---|---|
|
De Vision Sensor controleert de opnamestatus van: |
# 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 retourneert de hoeveelheid tijd dat een specifieke Vision Sensor heeft opgenomen als een decimaal (float) getal in seconden.
Gebruik:
drone.camera.get_recording_time(camera)
Parameters |
Beschrijving |
|---|---|
|
De Vision Sensor controleert de opnametijd van: |
# 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)