我可以告诉你他们如何在飞行模拟器上做到这一点
首先,如果您仅向程序员提出这个问题,您将只会得到一半的答案,因此,您可能应该将其交叉张贴在http://electronics.stackexchange.com上。
我没有使用机器人做任何工作,但是我确实花了5年的时间在飞行模拟器上做硬件,所以我可以告诉您它们的架构是如何工作的。
硬件层笨
它包含一个基本界面,您可以在其中调整简单的输入/输出值并设置模拟信号的插值断点。当您使用“新”硬件时,几乎不需要校准就可以正常工作,但是随着时间的流逝,零件将遭受机械磨损,需要进行调整。
校准是一个简单的表格,其中包含最小/最大值之间的分段。为了测量这些输入,通常使用一个伺服器(例如线性电位计,传感器,加速度计等)。或在使用仪器的情况下,您只需直观地判断准确性并进行调整,直到校准完毕。
软件层相反
一切都很复杂且相互关联,因此隔离一些变量以测试功能很重要。无需费心思量场景,因为运行一些现实的场景以收集数据要容易得多。运行测试时,基本上是在根据当前输出测量存储的数据。
在飞行模拟器上,这称为QTG(资格测试指南)。它的核心是在二维网格上绘制数据,其中一维是时间,另一维是输出。
信不信由你,这就是他们开发模型的本质。真实的飞机配备有大量的传感器,并在受控场景中飞行。由于无需人工干预即可驱动所有控件,因此计算机可以运行测试(即模拟飞行本身)并比较数据。
即使创建的机器人技术规模大不相同,其原理也相同。传统方法是完全切断硬件和软件层,以便可以分别进行测试。硬件输入通过伺服收集,并通过独立的接口进行设置。可以通过独立测量和比较可能会发往硬件的信号并将其与已知的“良好”数据作图来设置/读取软件输入。
只要结果是可预测的,可测量的和可重复的,测试本身并不一定需要很复杂。