我的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
-
如果有啥问题,随时调整配置文件,或者来问我!💡
希望这些说明能帮到你,祝你玩得开心!🚀