我的github分支!!!
 你可以在这里找到相对应的源码。
 DWDROME的MOGI分支
 来源于!!
 MOGI-ROS/Week-3-4-Gazebo-basics
学习分支整理日志
分支概述
这是一个用于个人学习的新分支,目的是扩展基本模型并添加更多组件,以适应实际开发需求。
进展日志
- 2025-01-03 - 完善了源库中的重要部分,为后续开发打下了基础。
- 调整了基础模型,提高了其在仿真环境中的稳定性。
 
- 2025-01-04 - Cartographer 部分: - 集成了 Cartographer 激光雷达 SLAM 功能。
- 完成 cartographer.launch.py配置,支持在 Gazebo 中实时生成地图。
- 添加了 fishbot_2d.lua配置文件,优化了激光雷达参数。
 
- Nav2 部分: - 增加了 Nav2 功能包,实现路径规划和导航功能。
- 添加 bme_nav2.launch.py启动文件,支持加载保存的地图。
- 配置了 bme_nav2.yaml参数文件,优化局部和全局规划器。
 
 
- Cartographer 部分: 
下一步计划
- 扩展模型: - 为机器人添加更多传感器(如深度摄像头、激光雷达等)。
- 增加机械臂组件以支持复杂操作。
 
- 完善导航功能: - 集成目标检测和避障算法,提升导航的智能性。
- 调整地图更新频率和导航行为,优化性能。
 
- 学习与实践: - 学习更多 ROS 2 与 Gazebo 的集成技巧。
- 通过自定义插件,提升 Gazebo 模拟环境的功能。
 
总结
这个分支已经具备了基本 SLAM 和导航功能,为进一步学习和实验提供了良好的基础。接下来,将继续扩展和完善,以支持更多场景的需求! 🚀
分布树
├── bme_cartographer
│   ├── CMakeLists.txt
│   ├── config
│   │   └── fishbot_2d.lua
│   ├── include
│   ├── launch
│   │   └── cartographer.launch.py
│   ├── LICENSE
│   ├── package.xml
│   ├── rviz
│   │   └── cartographer.rviz
│   └── src
│       └── map
│           ├── bme_map.pgm
│           └── bme_map.yaml
├── bme_gazebo_basics
│   ├── CMakeLists.txt
│   ├── config
│   │   └── ros_gz_bridge.yaml
│   ├── launch
│   │   ├── check_urdf.launch.py
│   │   ├── spawn_robot.launch.py
│   │   └── world.launch.py
│   ├── meshes
│   ├── package.xml
│   ├── rviz
│   │   ├── rviz.rviz
│   │   └── urdf.rviz
│   ├── urdf
│   │   ├── materials.xacro
│   │   ├── mogi_bot.gazebo
│   │   ├── mogi_bot_old.gazebo
│   │   └── mogi_bot.urdf
│   └── worlds
│       ├── empty.sdf
│       └── world.sdf
├── bme_navigation2
│   ├── CMakeLists.txt
│   ├── include
│   │   └── bme_navigation2
│   ├── launch
│   │   └── bme_nav2.launch.py
│   ├── LICENSE
│   ├── maps
│   │   ├── bme_map.pgm
│   │   └── bme_map.yaml
│   ├── package.xml
│   ├── param
│   │   └── bme_nav2.yaml
│   └── src
│       └── nav2.py
└── mogi_trajectory_server├── LICENSE├── mogi_trajectory_server│   ├── __init__.py│   └── trajectory.py├── package.xml├── README.md├── resource│   └── mogi_trajectory_server├── setup.cfg└── setup.py
使用方法指南
以下是项目中每个功能包的详细说明和使用方法,帮你快速上手!😄
1. bme_cartographer
功能:激光雷达 SLAM,用来生成地图,支持在 RViz 中实时查看。
-  怎么用: -  启动 Cartographer SLAM: ros2 launch bme_cartographer cartographer.launch.py默认配置文件是 config/fishbot_2d.lua
-  查看地图: -  在 RViz 中加载配置文件: rviz2 -d install/bme_cartographer/share/bme_cartographer/rviz/cartographer.rviz
 
-  
 
-  
2. bme_gazebo_basics
功能:用于 Gazebo 仿真,主要负责加载机器人模型和启动仿真环境。
-  怎么用: -  检查机器人模型 (URDF): ros2 launch bme_gazebo_basics check_urdf.launch.py
-  将机器人加载到 Gazebo 中: ros2 launch bme_gazebo_basics spawn_robot.launch.py
-  运行仿真世界: ros2 launch bme_gazebo_basics world.launch.py
 
-  
3. bme_navigation2
功能:负责导航功能,用 SLAM 生成的地图进行路径规划和运动控制。
-  怎么用: -  启动导航系统: ros2 launch bme_navigation2 bme_nav2.launch.py
-  修改参数: - 导航的参数文件是 param/bme_nav2.yaml,可以根据需求调整代价地图、控制器等参数。
 
- 导航的参数文件是 
-  加载地图: - 确保 maps/bme_map.pgm和maps/bme_map.yaml已经保存并正确配置。
 
- 确保 
 
-  
4. mogi_trajectory_server
功能:负责轨迹服务,提供轨迹生成和跟踪功能。
-  怎么用: -  安装依赖: pip install -e .
-  运行轨迹服务(以集成在spawn中): ros2 run mogi_trajectory_server trajectory.py
 
-  
整体流程
-  运行 Gazebo 仿真环境: ros2 launch bme_gazebo_basics world.launch.py
-  启动 Cartographer SLAM: ros2 launch bme_cartographer cartographer.launch.py
-  保存地图: ros2 run nav2_map_server map_saver_cli -f maps/bme_map
-  启动导航功能: ros2 launch bme_navigation2 bme_nav2.launch.py
-  运行轨迹服务: ros2 run mogi_trajectory_server trajectory.py
小贴士
-  所有功能包依赖安装好了吗?一定要检查哦~ 
-  启动之前记得 source 环境: source install/setup.zsh
-  如果有啥问题,随时调整配置文件,或者来问我!💡 
希望这些说明能帮到你,祝你玩得开心!🚀