5.2. owl2
本文档主要说明owl2的软件界面和功能使用
关于软件¶
- owl2是赛队自研的可视化调试平台,主要功能是处理裸视觉并绘制,并完成视觉机与控制程序之间的通讯和信息交接
- 为了优化调试体验,owl2中还集成了更多功能,有意义的信息可以以多种方式显示,还有很多例如裁判盒和LOG录播的交互功能,尽量使主要操作都可以在单一界面中完成
- owl2源码仓库
主界面¶

左侧为画布区域,右侧为控制面板
画布区域¶
用于显示视觉信息和调试语句,并提供若干交互操作,方便调试
显示信息¶

- 视觉显示模式:
- Origin:裸视觉
- Filter B:滤波后视觉,配有蓝方debug
- Filter Y:滤波后视觉,配有黄方debug
- 坐标显示:当前鼠标位置的对应坐标
- Left:左边方坐标系(X轴正方向向右,Y轴正方向向下)
- Right:右边方坐标系(X轴正方向向左,Y轴正方向向上)
- FPS:由上到下分别为
- 视觉帧率
- 蓝方通讯帧率
- 黄方通讯帧率
交互操作¶
- 鼠标左键:
- 单击:快速设置球的位置
- 拖动:拖拽球
- 双击:弹窗,精确设置球的位置(cm)
- +Ctrl:拉拽设置球的速度
- 鼠标右键:
- 单击:连续两次,第一次选车,第二次设置位置
- 拖动:拖拽机器人
- 双击:弹窗,精确设置机器人的位置(cm)和朝向(角度制)
- +Ctrl:旋转设置机器人的朝向
- 注:被选中的机器人周围有红圈
- 注: 画面下方的场外区域为已下场的机器人
- 鼠标滚轮:
- 滚动:放大或缩小画面
- 点击:拖动画面
- +Alt:开裁判盒时,设置放球点
- +Ctrl:拖动框出显示区域
- 键盘:
- 数字键("`","1","2","3","4","5","6","7","8","9","0","-","=","i","o","p"):控制蓝方上场数量(默认连号)
- Ctrl + 数字键:控制黄方上场数量(默认连号)
- Shift + 数字键:控制蓝方特定ID机器人上场/下场
- Alt + 数字键:控制黄方特定ID机器人上场/下场
下拉栏¶
- Tools/Formation:特定阵型的操作
- Save As:保存现在场上的机器人站位,快捷键 Ctrl+s
- Load:引入特定阵型,快捷键 Ctrl+v
- 注:保存形式为.json文件,在./Formations路径下,可直接更改
- Help:查阅软件信息
- About:展示基本信息,如版本
- Get More:查阅更多资料,./Help路径下
控制面板¶

共有五个模块,从左到右分别为主控制板、裁判盒、展示面板、辅助功能面板和参数管理面板。如果功能过多显示不全,可以向下滑动查看
主控制板¶
- Vision:视觉设置
- 选择仿真或实车模式
- 选择使用的相机(id:0~7)
- 连接视觉
- Simulator: 仿真器设置
- 开启或关闭
- 后台或可视化运行
- 弹窗,选择仿真器路径
- Radio: 连接实车
- 选择通讯频率(freq:0~9)
- 通讯串口
- 建立连接
- Cray: 遥控软件
- 开启/关闭
- 弹窗,选择路径
- Controller:控制器设置
- 蓝/黄方控制器开启/关闭
- 选边
- 弹窗,选择使用的控制器的路径
- Kill: 杀死运行的软件
裁判盒¶
- Referee Setting:裁判盒设置
- SEND/STOP:开启或关闭
- Manual/Auto:手动或自动操作
- Control Command:全局指令,两队的相同
- Halt:急停
- STOP GAME:停止比赛
- FORCE START:强制开始
- NORMAL START:开启开球/点球
- Yellow Team Control:黄队进攻指令,蓝方收到后防守
- KICK OFF:开球
- PENALTY:点球
- DIRECT KICK:直接任意球
- INDIRECT KICK:间接任意球
- TIMEOUT:申请暂停
- BALL PLACEMENT:自动放球,Alt + 滚轮点击设置放球点
- GOAL:取得进球
- Blue Team Control:蓝方进攻指令,黄方收到后防守,其余同上
展示面板¶
- Display:图表展示数据
- 开启或关闭
- 弹窗,设置展示模式和图表格式(速度信息单位:m/s)
- Robot:显示机器人的其他信息
- 是否上场,上场为蓝或黄,否则为灰
- 红外,触发变红
- 电量:百分数
辅助功能面板¶
- Rec:录制log,记录场上显示的所有信息
- 是否录制裸视觉
- 开启/关闭录制
- 设置断点,第一次点击暂停录制,第二次恢复

- RecReplay:播放log
- 是否播放裸视觉,建议选择,但需保证log中包含裸视觉
- 弹窗,选择要播放的log文件
- 开启/暂停播放
- 终止播放
- 快进x帧
- 后退x帧
- Steps: 设置自动播放的倍速和快进/后退的步长
- 进度条,可点击/拖动至预想的时刻,右侧显示当前时刻/总时长
- WorldCupLog:专门播放世界赛log,与我们录制的格式不同
参数管理面板¶
- 显示格式:类别名称 变量种类 数值
- 可接受种类:Int、Double/Float、Bool、String
- 修改参数:找到对应的变量,点击输入数值,一定要回车确定
- 如果是在外部.ini文件里更改的,快捷键‘r'重新上载
- 现在的参数更改后,不需要重启
- 参数管理文件说明(./config路径下):
- owl2.ini:重要且经常需要更改的参数,可视化显示,方便调试
- cfg.ini:内部默认参数,一般不需要更改
- vision.ini:视觉处理部分的参数,不熟悉视觉的不要动
- simulator.ini:内置仿真器的参数
- 其他均为内置仿真器参数,目前未用到
- 重要参数:
- owl2.ini
- Alert 最重要
- field 场地规模 Division A/B
- framearte 比赛视觉帧率
- isRight 选边
- isSimulation 仿真/实车模式
- isYellow 选择颜色
- saoAction 骚操作,小场与大场坐标轴间的转换,适用于实车模式
- AlertPort 重要端口
- VisionReal 实车模式下的视觉端口
- VisionSim 仿真模式下的视觉端口
- refereePortToBlue 给蓝方发送裁判指令的端口
- refereePortToYellow 给黄方发送裁判指令的端口
- serialPort 通讯串口
- Camera 相机设置
- total_cameras 全场相机总数,重要,决定了处理视觉时遍历的相机数目
- Canvas 画布设置
- param_canvasHeight 纵向长度
- param_canvasWidth 横向长度
- 以上两个参数更改可以影响画布绘制的比例,建议与场地的相同(如Division A 4:3),数值越大场地相对越小
- DebugMessages
- debug 是否绘制debug
- type_arc/line/points/robot/text 各种性质的debug是否绘制,与rbk中相同
- Display
- display_height display图表高度,唯一一个更改后重启才能生效的
- 其他的都可以通过弹窗设置
- Division A/B 场地尺寸设置,大部分参数容易理解,只列举几个特殊的:
- if_ellipse_penalty 是否为椭圆禁区
- penalty_area_l 禁区前沿直线长度
- penalty_radius 禁区侧方圆的半径
- 以上的参数用于2017年前的场地配置
- HeatMap
- HeatMap 是否绘制场势热力图
- Size 绘制机器人/球的尺寸
- Team 队伍信息
- Vision 一些视觉的特殊处理
- Alert 最重要