【HighChart教程】在机器人开发中使用数据可视化

HighChart

下载Highcharts最新版本

人们可能会认为,当构建机器人时,通常本身没有任何屏幕,或者可能无法通过某种视觉显示进行操作,数据可视化不是硬件开发人员技术堆栈的自然或关键部分。恰恰相反。

数据可视化是设计和分析过程的核心。这是我们如何解释复杂系统的行为来了解他们的行为。在我们的案例中,一个好的图表工具Highcharts,对于教我们学生的概念,如PID控制,电压/电流关系,传感器调试和其他控制理论主题至关重要。

那么,我们是谁? 我们是来自美国中部伊利诺伊州地区的Robot Casserole机器人竞赛团队的一员。我们是一群约35名高中生和成人专业导师。13年多来,我们联合起来与FIRST主办的其他团队对峙,FIRST是一个国际组织,经营一系列年度机器人挑战。该FIRST机器人竞赛(FRC)是最大的这些挑战。每年,我们的团队都会从头开始构建一个机器人,以便在此过程中定制挑战,学习项目规划,设计和调试技能。从机械制造到控制软件,我们努力在每个季节生产高质量的创新产品。

一般来说,机器人重约140磅。比赛持续约两分半钟。在此期间,机器人在驾驶员操作和完全自主模式下竞争3v3,以获得尽可能多的积分。在整个周末的比赛中,精度,耐用性和速度都是必不可少的!

过去几年我们一直在使用Highcharts来可视化我们的机器人生成的数据。我们使用一个名为“roboRIO”的自定义控制器。这是NI硬件的一部分,它提供了一个实时Linux内核,我们在其上运行我们的控制软件。在运行时,我们的控制软件将数据记录到实际机器人上的.csv文件中,并通过Web界面提供某些带时间戳的数据样本。

Highcharts以两种主要方式使用。首先,在机器人的Web界面中,我们使用Highcharts提供机器人状态的滚动实时视图。

HighChart

我们的网络界面允许我们选择我们关心的数据流。然后,机器人实时响应所请求信号的JSON数据。Highcharts提供了一种非常简单的方式,以丰富的动画格式显示收到的JSON数据,该格式易于动态解释和操作。我们主要在测试机器人上的软件和调整控制参数时使用这种技术。这是一种精确调整机器人性能的高速方法。

此外,在比赛中,我们的车手在短暂的赛场上不太可能停下来并诊断问题。因此,我们将大量时间序列数据记录到连接到嵌入式控制器的相当大的USB驱动器上的文件中,并在匹配后提取日志。我们有一个额外的Javascript应用程序,它使用Highcharts 离线查看数据日志。

HighChart

我们经常使用它来分析在现场看到的奇怪行为,使我们能够自信地找到问题的根本原因。 Highcharts对于教授学生的概念至关重要,如PID控制,电压/电流关系,传感器调试和其他控制理论主题。我们的大多数导师都有嵌入式软件的背景,而不是网络开发。尽管如此,我们的学生和导师仍然能够以最少的努力创建这些非常动态且用户友好的数据查看器,并且有更多时间花在教授核心技术概念上!

少数其他团队一直在使用Highcharts产品来可视化他们的数据,而不仅仅是来自机器人。地图,直方图和其他团队侦察应用程序都是使用库创建的。



猜你喜欢

转载自blog.51cto.com/13993266/2339546
今日推荐