RoboCup智能机器人足球教程(二)

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

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) 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值