SimRobot 用来校准和模拟机器人在比赛中的行为。但是需要注意的一点是,SimRobot 中模拟的场景是不真实的。更具体的我再去看看官方文档。
BHumanCodeRelease-coderelease2017/Build/Linux/SimRobot/Release

SimRobot-1

基本的东西

该软件的环境在bhuman的Config/Scenes目录下,后缀为ros2的文件。其中 RemoteRobot.ros2 是远程调试机器人时使用的环境配置,BH2016 为模拟比赛用的环境配置。

点击菜单栏的Scene Graph按钮,可调出各种子模块。

SimRobot-3

.ros 文件

.ros 文件使用 XML 语言来描述场地信息,可以对场地信息进行修改,包括增加和删除场地中的机器人,增加场地中的球的个数等等。

SimRobot-4

控制台命令

双击Scene Graph的Console即可调出控制台,可以查看机器人的传感器参数及各种状态。

两个常用命令:

gc

该指令控制仿真的游戏状态。例如输入gc playing后回车,可以开始比赛,双击Robocup即可看到比赛状态。

vd

该指令用于查看各机器人的representation等其他参数。
例如输入vd representation:BallModel可以查看机器人自己认为的球模型的各种参数。

可以调用theBallModel.estimate.position.x()来获得球相对于机器人的位置,可以在角文件中作为条件判断让机器人作出下一行动。