Client使用说明

我们将在本节内容中介绍Client软件的使用,包括界面布局以及快捷键操作

软件界面

在编译完成后,通过终端或qt-creator打开Client软件,会呈现一个灰色的界面。界面中心是一个场地主画布,用于显示场地图像信息以及调试信息。右侧为操作边栏,分别为主操作栏、裁判盒模拟、LOG回放、参数设置。

场地画布

➀场地画布有三个Tab,分别用于显示原始图像以及滤波后的蓝/黄两队的图像和调试信息。在第一个Tab中,还可以看到图像模块有关的辅助显示,如摄像头边界等。配合画布的调试信息以及侧边第三栏的LOG回放系统,可以实现比赛复查等功能,实现较高的调试效率。

场地画布的快捷操作(以下出现的移动操作只能在仿真下有效)

  • 使用数字键,或者ctrl+数字键可以分别设置蓝黄两方机器人数量

    // 备注:从0-16的快捷键分别为,例如想要清空黄方机器人的快捷键为 · ctrl+` ·
    ["`","1","2","3","4","5","6","7","8","9","0","-","=","i","o","p","["]
    
  • 通过鼠标左键点击可以快速设置球的位置

  • 通过鼠标左键可以拖拽机器人到指定位置

  • 通过鼠标右键可以设置某个机器人的朝向,或设置一个带初速度的球

  • 按住ctrl/alt再进行鼠标左键框选,可以实现蓝/黄方多个机器人选择,方便一次移动多个机器人,被选中机器人会显示边框,若想取消选择,按住ctrl/alt后鼠标点击空白区域即可

  • 使用鼠标滚轮可以进行界面的缩放,按住滚轮可以进行缩放情况下的拖拽

主操作栏

侧边栏的第一栏为主操作栏,主要包含了连接仿真或实物所需要的基本设置。

  • ②图像控件:图像控制主要包含功能有,设置连接的网关、设置仿真或实物、摄像头控制、连接与断开。分别对应②的从上至下ABCD四行。D是接收图像的连接按钮,若B选择的是仿真,则会同时启动一个仿真。C是具体接收图像的摄像头控制,最多支持接收八个摄像头,目前国际规则中2018年采用的8DC1394 CAM * 8 是目前已知的最多摄像头个数。C的某一个打钩记为需要接收该ID摄像头的图像才进行图像合并。A为运行实际机器人时需要关注的网关,一台电脑经常会有若干个网关,例如无线、有线、虚拟机自建网关。一般在场地搭建时,采用有线局域网的方式接收实物的图像数据,一般会在A处选择类似于enp12s0这样的代表有线网络的网关名称在连接仿真时,只需要点击D连接按钮即可;在连接实际场地时,需要先设置网关,再点击连接,必要时需要点击摄像头控制开关保证稳定的融合图像。

  • ③发射机控件:在运行实物机器人时,需要通过特定的发射机作为中介来完成电脑端与机器人的通信。发射机通过串口连接电脑,B下拉菜单会显示电脑识别到的所有可能的串口,每秒刷新。A是配置发射机所需要的频点即发射机与机器人的特定通讯频段。在设置好频点以及发射机串口后,点击C按钮可以连接发射机并配置频点。值得注意的是,由于当前发射机的串口通信机制,运行实物程序的时候,需要保持⑦为连接状态。发射机控件只在需要连接实物机器人时才需要使用。

  • ④策略程序控件:在连接仿真或实物后,需要选择一个策略程序来运行。在开启一个策略程序之前,需要确认启动的颜色以及进攻方向。B开关用于设置进攻方向,然后点击C对应的按钮启动或关闭策略程序。D可以对策略程序的测试模式以及脚本进行设置,我们将在书写Play一节用到。在日常测试情况下,不会用到A处的守护进程按钮。

    守护进程按钮是一个特殊的按钮,用于比赛中防止策略程序意外崩溃。在比赛中,一旦策略程序意外退出,会导致机器人停止运动,这是非常危险的。为了防止这种情况发生,我们可以在比赛前启动守护进程,它会监控策略程序的运行状态,一旦策略程序意外退出,它会自动重启策略程序。启动守护进程会有一个终端窗口弹出,显示守护进程的运行状态。此时如果通过Ctrl-C或鼠标关闭终端,守护进程会识别到关闭并自动重新启动一个新的终端窗口。

    守护进程按钮会自动启动上一次运行过的策略程序的配置。例如在比赛中,需要启动黄方由右向左进攻的守护进程,则在设置好方向后,点击C的黄方按钮两次,第一次启动策略程序刷新一下所需配置,第二次用于关闭守护进程。再点击守护进程按钮,若要在启动了守护进程的状态下关闭守护进程,则先在界面的④-A处关闭守护进程,再将守护进程启动的Core程序所在的终端关闭即可。

  • ⑤Kill强制退出:点击该按钮将以killtask的方式停止全部程序,包括Client、Sim以及Core程序。

  • ⑥球速显示窗:通过折线的方式对滤波后球速进行显示,便于比赛中的调试。

裁判盒操作栏

用于快速测试程序,点击⑬按钮即可发送裁判盒指令,具体指令含义请参考官方规则

☛ 在比赛中,裁判盒操作栏还会有一个特殊的作用。比赛中可能会出现一种情况,策略机所在的局域网通常会存在官方的裁判盒发送的指令信息,但在非比赛状态或比赛的TimeOut状态下,想要进行测试又不希望频繁的进入第四栏修改裁判指令接收的端口,此时可以通过点击⑦按钮主动发送指令,在主动发送状态下,Core程序不会接收官方的裁判盒指令信息,从而起到屏蔽的作用。

LOG回放系统

  • 按钮⑨控制了是否录制日志,默认开启。日志将记录如下信息:原始图像、滤波图像、全部调试信息。

  • 按钮⑨下方的控件组用于日志回放,需要注意的是,在日志回放时,请将按钮⑨保持断开状态,且确保视觉连接即②-D按钮保持在关闭状态。

  • 在LOG回放时,支持方向快捷键操作。上下两按钮用于控制前进后退的帧数,左右两按钮用于单次的前进或后退。空格键用于暂停播放。

参数设置

灵活使用参数配置功能可以有效的设置出更灵活的程序,结合SDK搭配这一栏的配置可以轻松实现以下功能:

  • 快速的针对Client显示栏的场地长宽的参数进行设置,灵活适应不同大小场地

  • 快速控制Core的不同功能的调试信息的输出(若保持全部输出可能绘制信息会十分混乱且影响运行效率)

  • 灵活定义参数,控制机器人运动参数(速度,加速加速度,减速加速度,不同角色分开配置)

  • 配置网络通信的默认端口,例如接收图像信息、接收裁判盒信息等端口

在Client中,支持以下类型的参数:

  • String

  • Integer

  • Double/Float

  • Boolean(布尔类型的参数会自动变成勾选)

小技巧

在修改参数的时候,记得按Enter键 使修改生效

参考资料: