项目简介
本项目是实验机器人课程作业1工作的扩展,在先前项目基础上进行了环境模拟和任务运动规划层面的升级。借助ROS(机器人操作系统)实现Cluedo游戏的模拟,于Gazebo模拟器中构建包含自定义机器人模型的环境,机器人需在此环境中探索收集提示信息,进而推理出关于凶手的正确假设。
项目的主要特性和功能
- 环境模拟:在Gazebo搭建包含机器人模型、墙壁和四个随机高度悬浮点的游戏环境,这些点代表四个房间,机器人要把机械臂末端置于这些点收集提示。
- 提示收集与推理:通过ARMOR知识库管理系统收集和处理不同类型(who、what、where)的提示信息,推理出符合要求的假设。
- 机器人移动规划:运用ROSPlan框架进行机器人的行为规划,将项目问题转化为PDDL文件,涵盖对象、初始条件、目标和动作等,支持失败后重新规划。
- 游戏逻辑实现:模拟Cluedo游戏流程,若推理的假设不正确,机器人会再次访问房间收集新提示,直至形成正确假设。
安装使用步骤
环境准备
假设用户已经下载了本项目的源码文件。
安装步骤
- 将主分支的代码(ROS包)下载后放置在ROS工作空间
{ros1_ws}/src
目录下。 - 执行以下命令编译构建包:
catkin_make source devel/setup.bash
- 为使用
armor_py_api
包中的Python模块,执行以下命令将其路径添加到PYTHONPATH
环境变量:export PYTHONPATH=$PYTHONPATH:/root/ros_ws/src/armor/armor_py_api/scripts/armor_api/
- 下载项目仓库中的
cluedo_ontology.owl
文件,并放置在系统/root/Desktop/
目录。
运行仿真
- 打开命令窗口,启动ROS主节点:
roscore&
- 启动ARMOR服务:
rosrun armor execute it.emarolab.armor.ARMORMainService
- 打开新的终端标签,运行ROS启动文件启动仿真:
roslaunch erl2 assignment.launch
等待系统加载所有文件,所有节点加载完成后,在另一个终端执行assignment_services
启动文件:roslaunch erl2 assignment_services.launch
所有服务节点加载完成后,在另一个终端运行rosplan_start.sh
脚本启动规划和调度过程:rosrun erl2 rosplan_start.sh
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】