littlebot
Published on 2025-04-15 / 4 Visits
0

【源码】基于Python和Webots的1v1机器人足球比赛平台

项目简介

本项目是基于Python和Webots搭建的1v1机器人足球比赛平台。借助Webots仿真环境,用户能在虚拟环境开展机器人足球比赛,支持1v1对战模式。项目集成了机器人控制、传感器数据读取、图像处理等功能,还通过ROS(机器人操作系统)实现机器人与服务器间的通信。

项目的主要特性和功能

  1. 机器人控制:可对机器人的移动、头部转动、踢球等动作进行控制。
  2. 传感器数据读取:能读取机器人的IMU(惯性测量单元)数据以获取方位信息。
  3. 图像处理:通过摄像头图像处理识别球体位置,并依据球的位置和大小调整机器人移动速度。
  4. ROS集成:利用ROS实现机器人与服务器之间的通信,支持消息的发布和订阅。
  5. 多线程与异步处理:采用双线程和队列机制,优化ROS与网络通信的效率,提升系统稳定性。
  6. 扩展性:项目设计灵活,支持从1v1模式扩展到NvN模式。

安装使用步骤

1. 环境配置

  • 安装Python 3.x。
  • 安装Webots仿真环境,执行以下命令: shell pip3 install soccerxcomm
  • 安装显卡驱动,确保N卡支持opengl以加速Webots。

2. 原仿真文件处理

  • 使用THMOS_webots_sim替换原来的Webots仿真文件夹。
  • battle_platform放入工作空间的src目录下,并安装包: shell catkin build battle_platform
  • 修改battle_platform/config下的踢球和步态参数,并在battle_platform/launch/battlebot.launch中进行相应调用。

3. 测试

  • 启动踢球和走路节点: shell roslaunch battle_platform battlebot.launch
  • 启动Webots仿真: shell webots battle_webots_sim/worlds/battle1v1demo.wbt
  • 启动网络控制器: shell rosrun battle_platform battle_manager.py --bot_num=1 rosrun battle_platform demo_client.py 参数bot_num为一边上场的机器人数目。

  • (可选)启动键盘测试控制器: shell rosrun battle_platform keyboard_controller.py --id=r1 通过键盘按键控制机器人的走路、踢球和转头,机器人代号为红方r1r2...,蓝方b1b2...。

注意事项

  • 在启动控制器之前,请确保已正确配置机器人名称、模拟标识符等参数。
  • 根据需要调整其他参数,如是否启用识别功能、是否禁用摄像头等。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】