项目简介
本项目是基于Python和Webots搭建的1v1机器人足球比赛平台。借助Webots仿真环境,用户能在虚拟环境开展机器人足球比赛,支持1v1对战模式。项目集成了机器人控制、传感器数据读取、图像处理等功能,还通过ROS(机器人操作系统)实现机器人与服务器间的通信。
项目的主要特性和功能
- 机器人控制:可对机器人的移动、头部转动、踢球等动作进行控制。
- 传感器数据读取:能读取机器人的IMU(惯性测量单元)数据以获取方位信息。
- 图像处理:通过摄像头图像处理识别球体位置,并依据球的位置和大小调整机器人移动速度。
- ROS集成:利用ROS实现机器人与服务器之间的通信,支持消息的发布和订阅。
- 多线程与异步处理:采用双线程和队列机制,优化ROS与网络通信的效率,提升系统稳定性。
- 扩展性:项目设计灵活,支持从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
通过键盘按键控制机器人的走路、踢球和转头,机器人代号为红方r1
、r2
...,蓝方b1
、b2
...。
注意事项
- 在启动控制器之前,请确保已正确配置机器人名称、模拟标识符等参数。
- 根据需要调整其他参数,如是否启用识别功能、是否禁用摄像头等。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】