我正在开发一个Android应用程序来控制智能手机的四轴飞行器:我有一个定期进程,可以发送从触摸屏获取的数据。 然后从微控制器接收数据,该数据生成4个直流电机的PWM命令,通过利用接收到的命令的控制回路获得占空比值。
有人可以建议一个精确的标准来选择智能手机上的流程时间吗?或者它只有一个"试验和错误"方法,检查系统的反应性?
编辑:我已经成功实施了它,只是将智能手机任务的频率设置为2 * control_loop_frequency
答案 0 :(得分:0)
如果您知道或可以测量系统的脉冲响应,则可以确定适当的控制回路速率;但是你没有那些数据,并且在任何情况下它都会被风速和风向等外部因素混淆。根据经验确定速率将比确定精确特征更快。
如果控制是开环的,那么你可能要问自己,在应用修正之前,你可以让车辆离开所需的路线多远。这将取决于车辆的最大速度(任何方向)。
但最终Android并不是一个实时操作系统,因此无法保证任何特定的定期更新都能得到精确的执行;它总是有点不确定。猜测我会想象这样一个系统可以合理可靠地管理10Hz更新,这可能足以实现足够的控制和响应 - 如果唯一的反馈是通过人类控制器的手眼协调,这可能是限制因素。系统响应。