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

【源码】基于ROS框架的Cluedo游戏模拟系统

项目简介

本项目是实验机器人课程作业1工作的扩展,在先前项目基础上进行了环境模拟和任务运动规划层面的升级。借助ROS(机器人操作系统)实现Cluedo游戏的模拟,于Gazebo模拟器中构建包含自定义机器人模型的环境,机器人需在此环境中探索收集提示信息,进而推理出关于凶手的正确假设。

项目的主要特性和功能

  1. 环境模拟:在Gazebo搭建包含机器人模型、墙壁和四个随机高度悬浮点的游戏环境,这些点代表四个房间,机器人要把机械臂末端置于这些点收集提示。
  2. 提示收集与推理:通过ARMOR知识库管理系统收集和处理不同类型(who、what、where)的提示信息,推理出符合要求的假设。
  3. 机器人移动规划:运用ROSPlan框架进行机器人的行为规划,将项目问题转化为PDDL文件,涵盖对象、初始条件、目标和动作等,支持失败后重新规划。
  4. 游戏逻辑实现:模拟Cluedo游戏流程,若推理的假设不正确,机器人会再次访问房间收集新提示,直至形成正确假设。

安装使用步骤

环境准备

假设用户已经下载了本项目的源码文件。

安装步骤

  1. 将主分支的代码(ROS包)下载后放置在ROS工作空间{ros1_ws}/src目录下。
  2. 执行以下命令编译构建包: catkin_make source devel/setup.bash
  3. 为使用armor_py_api包中的Python模块,执行以下命令将其路径添加到PYTHONPATH环境变量: export PYTHONPATH=$PYTHONPATH:/root/ros_ws/src/armor/armor_py_api/scripts/armor_api/
  4. 下载项目仓库中的cluedo_ontology.owl文件,并放置在系统/root/Desktop/目录。

运行仿真

  1. 打开命令窗口,启动ROS主节点: roscore&
  2. 启动ARMOR服务: rosrun armor execute it.emarolab.armor.ARMORMainService
  3. 打开新的终端标签,运行ROS启动文件启动仿真: roslaunch erl2 assignment.launch 等待系统加载所有文件,所有节点加载完成后,在另一个终端执行assignment_services启动文件: roslaunch erl2 assignment_services.launch 所有服务节点加载完成后,在另一个终端运行rosplan_start.sh脚本启动规划和调度过程: rosrun erl2 rosplan_start.sh

下载地址

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