第7课时:XGO双轮足动作控制与表演模式 | python中函数的参数传递
实验目标:
- 学习如何控制XGO双轮足执行预设动作。
- 掌握如何启动和停止XGO双轮足的表演模式。
- 理解Python中的函数定义和模块化编程。
- 学习使用python中函数的参数传递。
课前预习:
- 对Python中的函数有一定的理解。可以参考此文章教学python中的函数
实验步骤与代码:
- 双轮足动作执行
- 使用
rider_action方法控制双轮足执行单个预设动作。
- 使用
from xgolib import XGO
import time
# 初始化双轮足对象
rider = XGO("xgorider")
def perform_rider_action(action_id, duration):
"""
执行指定动作ID,并持续一段时间
:param action_id: 动作ID
:param duration: 动作持续时间(秒)
"""
rider.rider_action(action_id) # 开始执行动作
time.sleep(duration) # 等待指定时间
rider.rider_reset() # 重置动作(回到初始状态)
# 依次执行三个动作,每个持续3秒
perform_rider_action(2, 3)
perform_rider_action(3, 3)
perform_rider_action(4, 3)
- 双轮足表演模式
- 使用
perform方法控制双轮足进入表演模式。
- 使用
def start_performance():
"""
启动双轮足的表演模式,循环执行预设动作。
"""
rider.rider_perform(1) # 开启表演模式
def stop_performance():
"""
停止双轮足的表演模式。
"""
rider.rider_perform(0) # 关闭表演模式
# 启动表演模式
start_performance()
time.sleep(10) # 表演持续10秒
# 停止表演模式
stop_performance()
- 结合Python模块化编程 - 将动作执行和表演模式控制封装成函数,实现模块化编程。
# 定义动作执行函数
def execute_rider_action(action_id, duration):
rider.rider_action(action_id) # 执行动作
time.sleep(duration) # 持续一段时间
rider.rider_reset() # 重置为初始状态
# 定义启动和停止表演模式的函数
def perform_rider_show():
rider.rider_perform(1) # 启动表演模式
time.sleep(10) # 模拟表演过程(可替换为按键检测)
rider.rider_perform(0) # 停止表演模式
# 执行一个动作,例如:动作ID 5(升降旋转),持续5秒
execute_rider_action(5, 5)
# 执行双轮足预设动作的表演模式
perform_rider_show()
实验说明:
- 在这个实验中,我们定义了
perform_rider_action和start_performance等函数来控制双轮足的动作和表演模式。 - 使用
time.sleep函数来控制动作和表演的持续时间。 - 通过模块化编程,我们可以重用函数,使代码更加清晰和易于维护。
注意事项:
- 在执行每个动作之间要确保有足够的时间间隔,以便于观察动作的执行。
- 确保树莓派和双轮足的电源充足,避免在表演模式中电量耗尽。
- 实验中要注意双轮足的运动范围,避免碰撞或跌落。
课后作业:
- 修改
execute_rider_action函数,使其能够接受更多参数。 - 设计一个使用循环和条件判断的程序,使双轮足根据特定的条件(如时间或传感器输入)来执行不同的动作。
通过本课时的学习,学生应该能够掌握如何控制双轮足执行预设动作和表演模式,并且理解如何使用Python的函数和模块化编程来组织代码。
