项目简介
本项目是基于ROS(Robot Operating System)的机器人足球教练系统,能接收教练和队友信息,更新机器人的世界模型,并发布相关信息供其他节点使用。系统涵盖世界模型、多目标跟踪、障碍物处理、机器人模型等关键模块,可实现接收比赛指令、更新机器人状态、处理障碍物信息等功能。
项目的主要特性和功能
- 基于ROS框架:借助ROS框架进行通信和协调,保障机器人、教练和队友间的信息交换。
- 世界模型管理:利用世界模型模块处理从教练和队友处接收的信息,更新机器人状态并发布给其他节点。
- 多目标跟踪:采用扩展卡尔曼滤波实现多目标跟踪,处理传感器信息,跟踪机器人的位置、速度和方向。
- 障碍物处理:通过障碍物处理模块检测并处理机器人周围的障碍物信息,包括位置、速度和类型。
- 机器人模型:定义了包含机器人位置、速度、方向等属性的机器人模型类,实现了属性的更新和查询方法。
安装使用步骤
环境准备
- 安装ROS框架,并配置好相应的环境变量。
- 将
coach_ws
文件夹放到home目录下。
代码下载
从项目仓库下载源代码。
编译
- 使用
catkin_make
工具编译项目。 - 若遇到Eigen库相关错误,可参考以下解决方案:
- 解决方案1:检查
/usr/include/eigen3/Eigen
目录是否存在,若存在,执行以下命令:bash sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen
- 解决方案2:将
worldmodel
的CMakeList
中的两处Eigen3
改成Eigen
。
运行
- 运行教练系统节点:
bash roslaunch nubot_coach nubot_coach.launch
- 运行模拟环境下的教练系统:
- 对于青色队伍:
bash roslaunch nubot_coach cyan_sim.launch
- 对于紫色队伍:
bash roslaunch nubot_coach magenta_sim.launch
测试
通过发送测试信号或消息,验证教练系统的功能是否正常。例如,可通过以下命令发送比赛指令:
bash
rostopic pub -r 1 /nubot/receive_from_coach nubot_common/CoachInfo "
MatchMode: 10
MatchType: 0"
注意:具体的安装和使用步骤可能需要根据项目的实际配置和依赖关系进行调整。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】