模块#
简介#
VEX AIR 无人机配备有一个模块端口,可连接各种 VEX AIR 模块。这些模块使无人机能够投放和夹持不同的载荷。
注: 这些方法仅适用于电动钩爪模块和磁铁模块。
以下是所有可用方法的列表:
动作
drop_payload– 使用所连接的模块释放载荷。hold_payload– 使用所连接的模块夹持载荷。
获取方法
get_type– 返回连接到无人机的模块类型。is_holding– 返回电动钩爪模块的当前状态。
动作#
drop_payload#
drop_payload 使用所连接的模块释放载荷。电动钩爪模块会打开其钩爪,磁铁模块会关闭其磁铁。
注: 此方法仅适用于电动钩爪模块和磁铁模块。
用法:
drone.module.drop_payload()
参数 |
描述 |
|---|---|
该方法没有参数。 |
# Demonstrate the Motorized Hook Module moving
drone.take_off(climb_to=800)
wait(1, SECONDS)
drone.module.hold_payload()
wait(2, SECONDS)
drone.module.drop_payload()
drone.land()
hold_payload#
hold_payload 使用所连接的模块夹持载荷。电动钩爪模块会关闭其钩爪,磁铁模块会开启其磁铁。
注: 此方法仅适用于电动钩爪模块和磁铁模块。
用法:
drone.module.hold_payload()
参数 |
描述 |
|---|---|
该方法没有参数。 |
# Demonstrate the Motorized Hook Module moving
drone.take_off(climb_to=800)
wait(1, SECONDS)
drone.module.hold_payload()
wait(2, SECONDS)
drone.module.drop_payload()
drone.land()
获取方法#
get_type#
get_type 根据当前连接到无人机的模块,返回以下之一:
DroneModuleType.HOOK– 已连接电动钩爪模块。DroneModuleType.MAGNET– 已连接磁铁模块。DroneModuleType.PASSIVE– 已连接被动钩爪模块 或 未连接任何模块。
用法:
drone.module.get_type()
参数 |
描述 |
|---|---|
该方法没有参数。 |
# Display what module is attached to the drone
# Change the module with Propeller Lock on during project
while True:
clear_console()
print(drone.module.get_type())
wait(0.2,SECONDS)
is_holding#
is_holding 返回一个 Boolean,指示电动钩爪模块当前处于夹持状态还是投放状态。
True– 电动钩爪模块已降下。False– 电动钩爪模块已抬起。
注: 此方法仅适用于电动钩爪模块。
用法:
drone.module.is_holding()
参数 |
描述 |
|---|---|
该方法没有参数。 |
# Create a custom button to toggle the Motorized Hook Module
def hook_toggle():
if drone.module.is_holding():
drone.module.drop_payload()
else:
drone.module.hold_payload()
controller.button5.pressed(hook_toggle)