[开源汇总] 【RM2020-机器人上位机-项目简介开源】华南理工大学 华南虎

[复制链接]
梯队队员huww98
2020-9-20 17:44:37 显示全部楼层

马上注册,玩转Robomaster!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
了解你的机器人,想它所想。GitHub仓库

一、概述
为何要有上位机
在实验室众多硬件和软件工程师的不懈努力之下,一个个精巧而有个性的机器人诞生了。虽然是我们创造了它们,但就像人类的家长和孩子们一样,我们和机器人之间也普遍存在沟通问题:我们经常会问,我的机器人为何会有这样的举动,也就是我们说的debug。这时候,我们就需要一个工具,来让我们了解机器人的想法(内部状态),并最终以此为依据,调教出更好的机器人。
除了上位机以外,我们也有不少其他的调试手段,但与上位机相比,它们都有一些不足:
  • 断点调试:在构建软件的时候,我们经常在代码中设置断点,让程序暂停,以检查其中的状态。但物理世界是不能暂停的,暂停机器人上的程序可能导致机器人不可预料的行为。
  • 日志调试:使用日志的时候,通常收集日志和查看日志在时间上是分离的。但在调试机器人的时候,不光要了解程序的状态,还要观察当时的物理环境,了解操作手的输入等。这种时间上的分离将导致我们更难对机器人的行为进行归因。
而我们的上位机能够将我们感兴趣的机器人状态,实时地以图表的形式展现出来,能有效克服上述不足。
我们的上位机有何不同
上位机的概念也不是我们的首创,但我们的实现非常与众不同。我们采用B/S架构,前端是一个网页,可以运行于各种设备中,如PC、iPad、手机等。后端则直接运行于机器人上。前后端之间采用标准的Web协议进行通信。这给我们带来了几个重要的优势:
  • 跨平台:前端可以在几乎所有设备上运行,不管是在实验室还是在其他测试场地,不管手头上有怎样的设备,都能游刃有余。
  • 使用灵活:前后端使用标准的网络协议通信,这意味着它们之间可以很灵活地连接,比如直接使用以太网线,连接同一个WLAN,甚至跨越互联网,在世界的任何地方互相访问。
  • 界面美观:众所周知,Web技术能更容易地做出更加美观,用户友好的界面。
二、系统架构

上位机系统架构

上位机系统架构


如上图是我们的上位机的系统架构图,同时也表明了其中的数据流向。目前,我们主要针对最难以观测的单片机中的数据进行了设计,但同时我们的后端也保留了未来接入更多数据源的扩展性,并可对前端屏蔽不同数据来源的差异。
三、基于WebGL的图表渲染
为了在前端展示高频率的来自机器人的数据,我特意构建了一个基于WebGL的图表渲染组件。利用现代高性能GPU,它可以流畅渲染数十倍于现有组件的数据点,并支持用户进行缩放平移等操作。在软件设计上,该组件具有良好的模块化构造,性能敏感的地方采用WebGL渲染,其他部分则使用更加灵活的SVG和HTML渲染,兼具性能和表现力。具体请见GitHub仓库以及在线demo


跳转到指定楼层

[开源汇总] 【RM2020-机器人上位机-项目简介开源】华南理工大学 华南虎

[复制链接]
哨兵雾之湖的小球
2020-9-20 17:49:08 显示全部楼层
华南虎牛逼

[开源汇总] 【RM2020-机器人上位机-项目简介开源】华南理工大学 华南虎

[复制链接]
梯队队员yuyike
2021-9-5 01:13:06 显示全部楼层
华南虎牛逼

[开源汇总] 【RM2020-机器人上位机-项目简介开源】华南理工大学 华南虎

[复制链接]
步兵yezi
2021-9-10 14:10:49 显示全部楼层
ROS笑而不语

[开源汇总] 【RM2020-机器人上位机-项目简介开源】华南理工大学 华南虎

[复制链接]
正式队员djiuser_BhHKv6V
2022-1-26 13:38:41 显示全部楼层
华南虎牛逼

[开源汇总] 【RM2020-机器人上位机-项目简介开源】华南理工大学 华南虎

[复制链接]
正式队员FZL+666
2023-9-20 13:21:45 显示全部楼层
华南虎牛逼
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

触屏版 | 电脑版

Copyright © 2024 RoboMasters 版权所有 备案号 粤ICP备2022092332号

快速回复 返回顶部 返回列表