操纵杆控制机器人:从事件测量到远程控制
1. 操纵杆事件速率测量的背景
操纵杆在控制机器人电机方面比键盘和鼠标具有更好的控制能力。其硬件可通过有线 USB 或无线蓝牙连接到树莓派。操纵杆模拟摇杆上的传感器极其敏感,能检测数百个不同位置,这会导致每秒产生非常高的事件速率。若为每个操纵杆的微小移动都发送电机油门请求,可能会使机器人电机服务器不堪重负。
为解决此问题,我们可以采取两种策略:一是计算每个方向上操纵杆位置的三个级别,并仅在这些级别发生变化时请求机器人移动;二是创建可配置的操纵杆死区,即操纵杆从中间位置移动多远后应用程序才将其视为有效移动。
我们将编写脚本来测量和报告每秒产生的轴事件数量,然后增强脚本以计算三个定义级别的变化以及级别变化的速率。
2. 应用需求
为了简化实现和测量,脚本将仅关注单个摇杆的 y 轴,应用程序需满足以下要求:
- 一个 Python 应用程序应读取 100 个轴事件并记录所需时间。
- 事件速率应计算为每秒新事件的数量。
- 级别速率应计算为每秒新级别的数量。
- 仅记录右摇杆 y 轴上的轴移动。
3. 计算事件速率
首先,我们要计算每秒新轴事件的数量。以下是实现该功能的 Python 脚本 joystick_stats.py :
#!/usr/bin/env python3
import sys
import time
from struct import Struct
from collections imp
超级会员免费看
订阅专栏 解锁全文
19

被折叠的 条评论
为什么被折叠?



