Athena: 学士毕业项目—分布式机器人系统与2D SLAM算法对比

需积分: 38 2 下载量 188 浏览量 更新于2024-11-16 1 收藏 6.64MB ZIP 举报
资源摘要信息:"雅典娜项目:一个基于ROS的分布式机器人系统的2D SLAM算法比较与实现" 本项目是NUS和HZAU的学士毕业设计项目,命名为“雅典娜”,旨在比较和实现不同的2D SLAM(Simultaneous Localization and Mapping,即同时定位与建图)算法。项目使用了ROS(Robot Operating System,机器人操作系统)作为开发和运行平台,对Hector SLAM、Gmapping和Cartographer三种SLAM算法进行了详细的比较和测试。 知识点详细说明如下: 1. 机器人操作系统ROS: - ROS是用于机器人应用程序的灵活框架,提供了工具、库以及约定,便于各种应用程序和功能的集成。 - ROS支持多计算机的分布式处理,可以运行在多个主机和从机上,实现了分布式机器人系统的设计理念。 2. SLAM技术: - SLAM技术允许机器人在探索未知环境的同时,构建出环境的地图并同时进行自身定位。 - 本项目中,比较了三种不同的SLAM算法,每种算法各有其特点和适用场景。 3. Hector SLAM: - Hector SLAM是一种不需要里程计信息,仅依靠激光雷达数据的SLAM算法。 - 该算法适用于移动机器人在室内环境中的快速部署和地图构建。 4. Gmapping: - Gmapping是一个基于粒子滤波器的SLAM算法,能够利用地图信息提高定位的准确性。 - 适用于具有较为复杂环境特征的室内地图构建。 5. Cartographer: - Cartographer是由Google开源的一个多传感器SLAM算法。 - 它能够处理多种传感器数据,如激光雷达、IMU等,并进行高效的2D和3D地图构建。 6. 分布式机器人系统设计: - 本项目展示了如何设计一个分布式机器人系统,包括主机和从机。 - 主机通常承担较为复杂的处理任务,如地图构建、路径规划等;而从机则执行由主机发送的具体动作指令。 7. 硬件要求: - 项目对硬件有明确的要求,例如主机CPU至少为Intel(R)i5-3320M,内存至少8GB,从机则是基于Raspberry Pi 3B(或3B+)、Arduino Mega 2560等硬件组成。 8. 软件环境: - 在主计算机上需要安装Ubuntu 14.04.6 LTS操作系统。 - 从机运行的是Raspbian GNU/Linux操作系统,且使用了多种传感器和外围设备。 9. 开源精神: - 项目表明了“系统开源”的态度,意味着源代码对所有人公开,便于其他开发者学习、使用和贡献。 10. 部署和开发: - 文档中提到了“入门”部分,说明了如何在本地计算机上运行项目副本进行开发和测试。 - 同时提到,有关如何在实时系统上部署项目的详细注释可参阅“部署”部分。 11. 其他硬件组件: - 项目中还使用了DFRobot 2x1A直流电机、SLAMTEC RP激光雷达A1、SparkFun电机和编码器套件以及逻辑电平转换器等。 此项目通过实现三种SLAM算法,并在一个分布式机器人系统上进行测试,展示了如何在实际的机器人项目中应用和比较算法性能。此项目不仅为学习ROS和SLAM提供了宝贵的实践经验,也为其他研究者和开发者提供了参考。