Cử động#

Giới thiệu#

Máy bay không người lái VEX AIR có bốn cánh quạt, cho phép nó di chuyển theo bất kỳ hướng nào và xoay độc lập. Hệ thống điều khiển chuyển động cung cấp các phương pháp di chuyển, xoay hướng, điều chỉnh tốc độ và theo dõi vị trí.

Mặt số la bàn tròn từ 0-360 độ bao quanh một máy bay không người lái có 4 cánh quạt. Mặt trước của máy bay không người lái hướng về 0 độ trên mặt số la bàn.

Dưới đây là danh sách tất cả các phương pháp hiện có:

Hành động

  • take_off – Nâng máy bay không người lái lên độ cao được chỉ định.

  • land – Hạ cánh máy bay không người lái.

  • hover - Giữ máy bay không người lái ở vị trí của nó.

  • climb – Di chuyển máy bay không người lái theo hướng thẳng đứng được chỉ định.

  • climb_for – Di chuyển máy bay không người lái theo hướng thẳng đứng được chỉ định trong một khoảng cách cụ thể.

  • climb_to – Di chuyển máy bay không người lái đến độ cao được chỉ định.

  • move_at – Di chuyển máy bay không người lái theo hướng và vận tốc được chỉ định.

  • move_for – Di chuyển máy bay không người lái theo hướng đã chỉ định trong khoảng cách đã chỉ định.

  • move_to – Di chuyển máy bay không người lái đến vị trí được chỉ định trong khi vẫn giữ nguyên hướng.

  • turn – Xoay máy bay không người lái sang trái hoặc phải.

  • turn_for – Xoay máy bay không người lái một số độ nhất định.

  • turn_to – Xoay máy bay không người lái để hướng về một hướng cụ thể.

  • move_with_vectors – Di chuyển máy bay không người lái bằng cách sử dụng các giá trị x, y, z và xoay dựa trên vectơ.

Các sinh vật đột biến

Người đạt giải

  • get_max_z_height – Trả về độ cao tối đa mà máy bay không người lái có thể đạt được.

  • get_flight_state – Trả về trạng thái hiện tại của máy bay không người lái.

  • get_x_position – Trả về tọa độ x của máy bay không người lái.

  • get_y_position – Trả về tọa độ y của máy bay không người lái.

  • get_z_position – Trả về tọa độ z của máy bay không người lái.

  • get_safe_mode – Trả về trạng thái khóa cánh quạt của máy bay không người lái.

  • is_climb_active – Trả về liệu máy bay không người lái hiện có đang leo lên hay không.

  • is_move_active – Trả về liệu máy bay không người lái hiện có đang di chuyển hay không.

  • is_turn_active – Trả về liệu máy bay không người lái hiện có đang quay hay không.

  • is_hovering - Trả về liệu máy bay không người lái hiện có đang bay lơ lửng hay không.

  • is_taking_off – Trả về trạng thái hiện tại của máy bay không người lái có đang cất cánh hay không.

  • is_landing – Trả về trạng thái hiện tại của máy bay không người lái đang hạ cánh.

  • is_landed - Trả về trạng thái hiện tại của máy bay không người lái đã hạ cánh hay chưa.

Hành động#

take_off#

take_off khởi động cánh quạt và nâng máy bay không người lái lên không trung. Phương pháp này phải được sử dụng trước khi thực hiện các chuyển động khác.

Cách sử dụng:

drone.take_off(climb_to, units, wait)

Thông số

Sự miêu tả

climb_to

Vị trí z (độ cao) mà máy bay không người lái sẽ bay tới.

units

Đơn vị cần sử dụng:

  • CM - Centimet
  • MM - Milimet
  • INCHES

wait

Tùy chọn. wait=True (mặc định) khiến dự án chờ cho đến khi robot hoàn thành chuyển động trước khi dòng mã tiếp theo được thực thi. wait=False khiến dòng mã tiếp theo được thực thi ngay lập tức.

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

land#

land hạ máy bay không người lái xuống đất. Cánh quạt sẽ tiếp tục quay cho đến khi dự án kết thúc.

Cách sử dụng:

drone.land(wait)

Thông số

Sự miêu tả

wait

Tùy chọn. wait=True (mặc định) khiến dự án chờ cho đến khi robot hoàn thành chuyển động trước khi dòng mã tiếp theo được thực thi. wait=False khiến dòng mã tiếp theo được thực thi ngay lập tức.

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

hover#

hover dừng máy bay không người lái, khiến nó không thể di chuyển theo bất kỳ hướng nào và giữ nguyên vị trí hiện tại trên không.

Usage:
drone.hover()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# 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 di chuyển máy bay không người lái theo hướng thẳng đứng đã xác định.

Usage: drone.climb(direction, velocity)

Thông số

Sự miêu tả

direction

Hướng bay của máy bay không người lái: UP hoặc DOWN.

velocity

Tốc độ leo lên của máy bay không người lái được thể hiện bằng phần trăm.

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

Lệnh climb_for di chuyển máy bay không người lái theo hướng thẳng đứng đã xác định trong một khoảng cách nhất định.

Cách sử dụng:

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

Thông số

Sự miêu tả

direction

Hướng bay của máy bay không người lái: UP hoặc DOWN.

distance

Khoảng cách mà máy bay không người lái sẽ bay.

units

Tùy chọn. Đơn vị biểu thị khoảng cách:

  • CM – Centimet
  • MM (mặc định) – Milimet
  • INCHES

velocity

Tùy chọn. Tốc độ leo lên của máy bay không người lái được biểu thị bằng phần trăm. Nếu không chỉ định tốc độ, tốc độ mặc định là 50%.

wait

Tùy chọn. wait=True (mặc định) khiến dự án chờ cho đến khi robot hoàn thành chuyển động trước khi dòng mã tiếp theo được thực thi. wait=False khiến dòng mã tiếp theo được thực thi ngay lập tức.

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

Lệnh climb_to di chuyển máy bay không người lái đến một vị trí z cụ thể.

Cách sử dụng:

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

Thông số

Sự miêu tả

z

Vị trí z, dưới dạng số nguyên hoặc số thập phân, mà máy bay không người lái sẽ leo lên.

units

Tùy chọn. Đơn vị biểu thị khoảng cách:

  • CM – Centimet
  • MM (mặc định) – Milimet
  • INCHES

velocity

Tùy chọn. Tốc độ leo lên của máy bay không người lái được thể hiện bằng phần trăm.

wait

Tùy chọn. wait=True (mặc định) khiến dự án chờ cho đến khi robot hoàn thành chuyển động trước khi dòng mã tiếp theo được thực thi. wait=False khiến dòng mã tiếp theo được thực thi ngay lập tức.

# 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 di chuyển máy bay không người lái theo một góc và vận tốc được chỉ định.

Cách sử dụng:

drone.move_at(angle, velocity)

Thông số

Sự miêu tả

angle

Góc quay của máy bay không người lái, được biểu thị bằng số nguyên hoặc số thập phân, nằm trong khoảng từ 0 đến 359 độ.

velocity

Tốc độ di chuyển của máy bay không người lái được thể hiện dưới dạng phần trăm.

# 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 di chuyển máy bay không người lái theo một hướng cụ thể trong một khoảng cách cụ thể bằng cách sử dụng set_move_velocity.

Cách sử dụng:

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

Thông số

Sự miêu tả

angle

Góc, dưới dạng số nguyên hoặc số thập phân (float), mà máy bay không người lái di chuyển, nằm trong khoảng từ 0 đến 359 độ.

distance

Khoảng cách mà máy bay không người lái sẽ di chuyển, được thể hiện dưới dạng số nguyên hoặc số thập phân.

units

Tùy chọn. Đơn vị biểu thị khoảng cách:

  • CM – Centimet
  • MM (mặc định) – Milimet
  • INCHES

velocity

Tùy chọn. Tốc độ di chuyển của máy bay không người lái được thể hiện dưới dạng phần trăm.

wait

Tùy chọn. wait=True (mặc định) khiến dự án chờ cho đến khi robot hoàn thành chuyển động trước khi dòng mã tiếp theo được thực thi. wait=False khiến dòng mã tiếp theo được thực thi ngay lập tức.

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

Lệnh move_to di chuyển máy bay không người lái đến vị trí được chỉ định trên không trong khi vẫn giữ nguyên hướng bay.

Cách sử dụng:

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

Thông số

Sự miêu tả

x

Tọa độ x mà máy bay không người lái sẽ di chuyển đến.

y

Tọa độ y mà máy bay không người lái sẽ di chuyển đến.

z

Tọa độ z mà máy bay không người lái sẽ di chuyển đến.

units

Tùy chọn. Đơn vị biểu thị khoảng cách:

  • CM – Centimet
  • MM (mặc định) – Milimet
  • INCHES

move_velocity

Tùy chọn. Tốc độ di chuyển của máy bay không người lái được thể hiện dưới dạng phần trăm.

climb_velocity

Tùy chọn. Tốc độ leo lên của máy bay không người lái được thể hiện bằng phần trăm.

wait

Tùy chọn. wait=True (mặc định) khiến dự án chờ cho đến khi robot hoàn thành chuyển động trước khi dòng mã tiếp theo được thực thi. wait=False khiến dòng mã tiếp theo được thực thi ngay lập tức.

# 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 xoay máy bay không người lái theo một hướng cụ thể bằng cách sử dụng dòng điện set_turn_velocity.

Cách sử dụng:

drone.turn(direction, velocity)

Thông số

Sự miêu tả

direction

Hướng máy bay không người lái sẽ quay: LEFT hoặc RIGHT.

velocity

Tùy chọn. Tốc độ quay của máy bay không người lái được biểu thị bằng phần trăm.

# 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 xoay máy bay không người lái theo hướng được chỉ định trong một khoảng cách nhất định so với hướng hiện tại của nó bằng cách sử dụng set_turn_velocity.

Cách sử dụng:

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

Thông số

Sự miêu tả

direction

Hướng máy bay không người lái sẽ quay: LEFT hoặc RIGHT.

angle

Góc, dưới dạng số nguyên hoặc số thập phân (float), mà máy bay không người lái quay, nằm trong khoảng từ 0 đến 359 độ.

velocity

Tùy chọn. Tốc độ quay của máy bay không người lái được biểu thị bằng phần trăm.

wait

Tùy chọn. wait=True (mặc định) khiến dự án chờ cho đến khi robot hoàn thành chuyển động trước khi dòng mã tiếp theo được thực thi. wait=False khiến dòng mã tiếp theo được thực thi ngay lập tức.

# 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 xoay máy bay không người lái để hướng về một hướng cụ thể bằng cách sử dụng set_turn_velocity.

Cách sử dụng:

drone.turn_to(heading, velocity, wait)

Thông số

Sự miêu tả

heading

Góc quay mà máy bay không người lái sẽ hướng tới, từ 0 đến 360 độ.

velocity

Tùy chọn. Tốc độ quay của máy bay không người lái được biểu thị bằng phần trăm.

wait

Tùy chọn. wait=True (mặc định) khiến dự án chờ cho đến khi robot hoàn thành chuyển động trước khi dòng mã tiếp theo được thực thi. wait=False khiến dòng mã tiếp theo được thực thi ngay lập tức.

# 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 di chuyển máy bay không người lái bằng chuyển động dựa trên vectơ, kết hợp chuyển động dọc theo trục x (ngang) và trục y (dọc) đồng thời xoay máy bay không người lái.

Lưu ý: Phương pháp này đặt trực tiếp các giá trị vận tốc di chuyển và xoay, do đó nó không sử dụng set_move_velocity hoặc set_turn_velocity.

Cách sử dụng:

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

Thông số

Sự miêu tả

forward

Vận tốc của máy bay không người lái dọc theo trục Y (chuyển động tiến và lùi). Chấp nhận giá trị từ -100 đến 100 dưới dạng phần trăm, trong đó giá trị âm là di chuyển lùi và giá trị dương là di chuyển tiến.

rightward

Vận tốc của máy bay không người lái dọc theo trục X (chuyển động sang hai bên). Chấp nhận giá trị từ -100 đến 100 dưới dạng phần trăm, trong đó giá trị âm di chuyển sang trái và giá trị dương di chuyển sang phải.

upward

Vận tốc của máy bay không người lái dọc theo trục Z (chuyển động lên xuống). Chấp nhận giá trị từ -100 đến 100 dưới dạng phần trăm, trong đó giá trị âm di chuyển xuống và giá trị dương di chuyển lên.

rotation

Tốc độ quay của máy bay không người lái. Chấp nhận giá trị từ -100 đến 100 dưới dạng phần trăm, trong đó giá trị âm là quay ngược chiều kim đồng hồ và giá trị dương là quay theo chiều kim đồng hồ.

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

Biến đổi#

set_steering_mode#

set_steering_mode thiết lập góc nhìn được sử dụng khi điều khiển máy bay không người lái.

Cách sử dụng:

drone.set_steering_mode(style)

Thông số

Sự miêu tả

style

Thiết lập góc nhìn (POV) được sử dụng để điều khiển máy bay không người lái. HEADLESS có nghĩa là máy bay không người lái di chuyển tương đối so với hướng nó đang đối mặt lúc bắt đầu dự án. STANDARD được sử dụng theo mặc định và khiến máy bay không người lái di chuyển tương đối so với hướng nó đang đối mặt.

# 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 thiết lập kiểu di chuyển của máy bay không người lái.

Kiểu di chuyển này được sử dụng khi điều khiển máy bay không người lái.

Cách sử dụng:

drone.set_movement_mode(style)

Thông số

Sự miêu tả

style

Thiết lập tốc độ được sử dụng để điều khiển máy bay không người lái.

  • BALANCED – Máy bay không người lái di chuyển với tốc độ cơ bản trung bình.
  • PERFORMANCE – Máy bay không người lái di chuyển với tốc độ cơ bản nhanh hơn.
  • PRECISION (mặc định) – Máy bay không người lái di chuyển với tốc độ cơ bản chậm hơn.

# 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 thiết lập tốc độ leo mặc định dưới dạng phần trăm. Điều này sẽ ảnh hưởng đến bất kỳ phương thức nào tiếp theo liên quan đến việc leo trèo. Tốc độ leo mặc định là 50%.

Cách sử dụng:

drone.set_climb_velocity(velocity)

Thông số

Sự miêu tả

velocity

Tốc độ leo lên của máy bay không người lái được thể hiện bằng phần trăm.

# 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 thiết lập vận tốc di chuyển mặc định dưới dạng phần trăm. Điều này sẽ ảnh hưởng đến bất kỳ phương thức nào tiếp theo liên quan đến việc di chuyển. Vận tốc di chuyển mặc định là 50%.

Cách sử dụng:

drone.set_move_velocity(velocity)

Thông số

Sự miêu tả

velocity

Tốc độ di chuyển của máy bay không người lái được thể hiện dưới dạng phần trăm.

# 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 thiết lập vận tốc quay mặc định dưới dạng phần trăm. Điều này sẽ ảnh hưởng đến bất kỳ phương thức nào tiếp theo liên quan đến việc quay. Vận tốc quay mặc định là 50%.

Cách sử dụng:

drone.set_turn_velocity(velocity)

Thông số

Sự miêu tả

velocity

Tốc độ quay của máy bay không người lái được thể hiện bằng phần trăm.

# 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 đặt giới hạn độ cao tối đa mà máy bay không người lái có thể bay.

Cách sử dụng:

drone.set_max_z_height(z_height, units)

Thông số

Sự miêu tả

z_height

Giá trị tối đa của trục z, dưới dạng số nguyên hoặc số thập phân, mà máy bay không người lái sẽ không bay vượt quá, trong phạm vi từ 1000 đến 5000 mm hoặc 40 đến 196 inch.

units

Tùy chọn. Các đơn vị khoảng cách là:

  • CM – Centimet
  • MM (mặc định) – Milimet
  • 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 thiết lập tọa độ x, y hoặc z hiện tại của máy bay không người lái thành một giá trị được chỉ định.

Cách sử dụng:

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

Lưu ý: Tất cả các tham số đều là tùy chọn, nhưng ít nhất một (x, y, hoặc z) phải được chỉ định.

Thông số

Sự miêu tả

x

Tùy chọn. Tọa độ x cần đặt cho máy bay không người lái ở đơn vị units dưới dạng số thập phân (float) hoặc số nguyên.

y

Tùy chọn. Tọa độ y cần đặt cho máy bay không người lái ở đơn vị units dưới dạng số thập phân (float) hoặc số nguyên.

z

Tùy chọn. Tọa độ z cần đặt cho máy bay không người lái ở đơn vị units dưới dạng số thập phân (float) hoặc số nguyên.

units

Tùy chọn. Đơn vị biểu thị khoảng cách:

  • CM – Centimet
  • MM (mặc định) – Milimet
  • 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()

Người nhận#

get_max_z_height#

get_max_z_height trả về độ cao tối đa mà máy bay không người lái có thể đạt được dưới dạng số nguyên.

Cách sử dụng:

drone.get_max_z_height(units)

Thông số

Sự miêu tả

units

Tùy chọn. Đơn vị đo:

  • CM – Centimet
  • MM (mặc định) – Milimet
  • 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 trả về trạng thái bay hiện tại của máy bay không người lái dưới dạng DroneFlightStateType:

  • MOTOR_OFF - Không có trạng thái bay nào khác đúng.

  • CALIBRATION - Máy bay không người lái đang hiệu chuẩn các cảm biến của nó.

  • MOTOR_START - Máy bay không người lái đang khởi động động cơ.

  • FLIGHT_READY - Máy bay không người lái đã sẵn sàng cất cánh.

  • FLIGHT - Máy bay không người lái đang bay.

Usage:
drone.get_flight_state()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# 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 trả về tọa độ x của máy bay không người lái dưới dạng số thập phân (float).

Usage:
drone.get_x_position(units)

Thông số

Sự miêu tả

units

Tùy chọn. Đơn vị biểu thị vị trí:

  • CM – Centimet
  • MM (mặc định) – Milimet
  • 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 trả về tọa độ y của máy bay không người lái dưới dạng số thập phân (float).

Cách sử dụng:

drone.get_y_position(units)

Thông số

Sự miêu tả

units

Tùy chọn. Đơn vị biểu thị vị trí:

  • CM – Centimet
  • MM (mặc định) – Milimet
  • 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 trả về tọa độ z của máy bay không người lái dưới dạng số thập phân (float).

Cách sử dụng:

drone.get_z_position(units)

Thông số

Sự miêu tả

units

Tùy chọn. Đơn vị biểu thị vị trí:

  • CM – Centimet
  • MM (mặc định) – Milimet
  • 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 trả về Boolean cho biết liệu Khóa cánh quạt có được bật trên máy bay không người lái hay không.

  • True – Khóa cánh quạt đã được kích hoạt.

  • False – Chức năng Khóa cánh quạt không được kích hoạt.

Cách sử dụng:

drone.get_safe_mode()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# 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 trả về Boolean cho biết máy bay không người lái có đang leo lên hay không.

  • True – Máy bay không người lái hiện đang bay lên.

  • False – Máy bay không người lái không đang bay lên.

Cách sử dụng:

drone.is_climb_active()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# 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 trả về Boolean cho biết liệu máy bay không người lái hiện có đang sử dụng phương thức di chuyển hay không.

  • True – Máy bay không người lái hiện đang sử dụng phương pháp di chuyển.

  • False – Máy bay không người lái hiện không sử dụng phương thức di chuyển nào.

Cách sử dụng:

drone.is_move_active()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# 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 trả về Boolean cho biết máy bay không người lái có đang quay hay không.

  • True – Máy bay không người lái hiện đang quay.

  • False – Máy bay không người lái không quay.

Cách sử dụng:

drone.is_turn_active()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# 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 trả về Boolean cho biết máy bay không người lái có đang giữ nguyên vị trí (bay lơ lửng) hay không.

  • True – Máy bay không người lái hiện đang giữ nguyên vị trí (bay lơ lửng).

  • False – Máy bay không người lái hiện đang thay đổi vị trí.

Cách sử dụng:

drone.is_hovering()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# 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 trả về Boolean cho biết máy bay không người lái có đang trong quá trình cất cánh hay không.

  • True – Máy bay không người lái hiện đang trong quá trình cất cánh.

  • False – Máy bay không người lái không đang trong quá trình cất cánh.

Cách sử dụng:

drone.is_taking_off()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# 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 trả về Boolean cho biết máy bay không người lái có đang trong quá trình hạ cánh hay không.

  • True – Máy bay không người lái hiện đang trong quá trình hạ cánh.

  • False – Máy bay không người lái không đang trong quá trình hạ cánh.

Cách sử dụng:

drone.is_landing()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# 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 trả về Boolean cho biết máy bay không người lái hiện có đang hạ cánh hay không.

  • True – Máy bay không người lái đã hạ cánh.

  • False – Máy bay không người lái chưa hạ cánh.

Cách sử dụng:

drone.is_landed()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

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