AdvantageScope 开源项目教程
1. 项目介绍
AdvantageScope 是一款面向 FIRST Robotics Competition (FRC) 团队的机器人诊断、日志审查/分析和数据可视化应用程序,由 Team 6328 开发。它能够读取 WPILOG、DS log、Hoot (CTRE) 和 RLOG 文件格式的日志,并且支持通过 NT4 或 RLOG 流实时查看机器人数据。AdvantageScope 可以与任何 WPILib 项目一起使用,但也针对我们的 AdvantageKit 日志回放框架进行了优化。值得注意的是,使用 AdvantageScope 并不需要 AdvantageKit。
AdvantageScope 包含以下工具:
- 多种灵活的图表和图形选择
- 2D 和 3D 场地可视化,展示自定义 CAD 基础上的机器人 odometry 数据
- 与单独加载的比赛视频同步的视频播放
- 司机操作的可视化,展示在自定义控制器表示上的动作
- Swerve 驱动模块矢量显示
- 控制台消息审查
- 日志统计分析
- 灵活的导出选项,支持 CSV 和 WPILOG
2. 项目快速启动
在开始之前,确保你已经安装了 Node.js 和 Emscripten。
# 安装 Node.js 依赖
npm install
# 构建
npm run build
# 如果需要为特定平台构建,可以添加相应参数
# 例如,为 Windows x64 构建可以使用:
npm run build -- --win --x64
# 如果要构建 WPILib 版本,设置环境变量后构建
export ASCODE_DISTRIBUTOR=WPILIB
npm run build
# 开发环境
npm run watch
npm start
请根据你的操作系统和架构下载合适的构建版本。AdvantageScope 支持 Windows、macOS 和 Linux 系统,同时兼容 x86 和 ARM 架构。
重要提示:在 Ubuntu 23.10 或更新版本上运行 AppImage 构建之前,需要从发布页面下载 AppArmor 配置文件并复制到 /etc/apparmor.d
。
3. 应用案例和最佳实践
Advantagescope 可以用于实时监控机器人的状态,分析比赛中的数据,以便团队优化机器人的性能。以下是一些应用案例和最佳实践:
- 实时数据监控:在比赛过程中使用 AdvantageScope 来实时查看机器人的各项数据,例如速度、加速度、电池状态等。
- 赛后数据分析:比赛结束后,使用日志文件来分析机器人行为,识别问题和改进点。
- 自定义可视化:根据需要创建自定义图表和可视化,帮助理解机器人的行为。
4. 典型生态项目
AdvantageScope 作为 FRC 生态系统中的一部分,通常与以下项目一起使用:
- WPILib:FIRST Robotics Competition 的官方库,提供了一套用于机器人控制的 Java、C++ 和 Python API。
- AdvantageKit:一个用于日志回放的框架,与 AdvantageScope 配合使用可以提供更强大的数据分析和回放功能。
- CTRE (Cross The Road Electronics):提供硬件和软件解决方案,常用于 FRC 机器人的驱动和控制。
通过整合这些项目,FRC 团队可以更有效地开发和测试他们的机器人,提高比赛的表现。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考