server和agent之间通信的msg格式 & agent的效应器
@[toc]
效应器用于在仿真中起作用,它们被发送到server以改变比赛状态。即通过效应器来控制机器人的action。
一、General Effectors(一般效应器)
1.Create Effector(创造效应器)
机器人最初连接到server时是不可见的,不能影响仿真器。它只拥有一个所谓的创造效应器。机器人用这个效应器来建议server根据一个传递参数的场景描述文件去创建它。这个文件被用来创建物理表示和所有进一步的效应器和传感器。
消息格式:
1 | Message format: (scene <filename>) |
2.HingeJoint Effector (铰链关节效应器)
第一个参数是铰链关节效应器的名字。第二个参数为指定的关节每个周期角度变化的度数。如果要求的角度变化超出力的最大值所能提供的角速度,则会使用角速度的最大值(7.035deg/cycle)。
消息格式:
1 | Message format: (<name> <ax>) |
3.UniversalJoint Effector(万向关节效应器)
万向关节效应器可以沿着两个特定的自由轴转动。第一个参数是万向关节效应器的名字,第二、三个参数是两个自由度关节转动的角速度。同样,如果要求的角度变化超出力的最大值所能提供的角速度,则会使用角速度的最大值(7.035deg/cycle)。
消息格式:
1 | Message format: (<name> <ax1> <ax2>) |
二、Soccer Effectors(足球仿真比赛专用效应器)
1.Init Effector(初始化效应器)
对每个机器人来说初始化命令只在创建效应器发送过场景命令后发送一次。它用合规的队伍和合规的号码将这个机器人注册为一个成员。一个队伍的所有球员必须使用相同的队名和不同的编号。如果机器人发送0作为球员编号,这个号码会被server自动分配为下一个空闲号码。球队开场上在哪边取决于哪只球队先连接上。
消息格式:
1 | Message format: (init (unum <playernumber>)(teamname <yourteamname>)) |
2.Beam Effector(传送效应器)
传送效应器允许球员在开场之前和进球之后把自己定位到球场上。x、y坐标定义了球场上的坐标,rot的值允许定义球员的水平角度。0度是指x轴正向,90度指y轴正向。
消息格式:
1 | Message format: (beam <x> <y> <rot>) |
3.Say Effector(喊话效应器)
喊话效应器允许球员之间通过广播交流。
消息格式:
1 | Message format: (say <message>) |