RoboCup智能机器人足球教程(二)
运行方式
RoboCup2D仿真平台通过一个服务端,若干客户端联系而成,同时通过监视器进行画面播放。当启动服务端后,客户端通过改写程序内部的client.cpp文件来实现球员逻辑,编译后即可与服务端进行连接,从而进行比赛。
因此我们要做的主要工作就是改写client.cpp,以实现球员逻辑。该文件位于Robocup/rcssserver-15.2.2/src/client.cpp,当改动完毕后,进入rcssserver-15.2.2文件夹,打开终端,执行
make
即可把客户端修改编译成功,从而进行比赛。
函数介绍
在client.cpp中,我们需要修改的,是以下几个函数,其他函数均不用修改。
main()
该函数为主函数,主要功能是接收参数和初始化client类,下面着重讲一些重要的代码片段,其他代码均不需要过多修改。
std::string server = "localhost";
int port = 6000;
这两条语句是设定服务器在本机上,端口号为6000,在测试阶段,可以不做修改,如果比赛中服务器不在本机上,那么就需要修改为相应的IP地址了。
for (int i = 0; i < argc; ++i) { // 进行id分配
if (std::strcmp(argv[i], "-server") == 0) {
if (i + 1 < argc) {
server = argv[i + 1];
++i;
}
} else if (std::strcmp(argv[i], "-port") == 0) {
if (i + 1 < argc)

本文介绍了RoboCup2D智能机器人足球比赛的客户端程序,重点讲解如何改写client.cpp文件以实现球员逻辑。主要内容包括运行方式、主要函数如main()、run()和parseMsg()的解释,以及球员状态感知和视野信息的解析。通过理解这些函数,可以编写球员行为,如根据接收到的信息执行奔跑、踢球等动作。
&spm=1001.2101.3001.5002&articleId=96366745&d=1&t=3&u=a7c2bb367da04a6d932453847c2718d6)
1512

被折叠的 条评论
为什么被折叠?



