Create README.md

This commit is contained in:
administrator 2026-05-08 13:28:01 +00:00
parent bb03fc9370
commit 242ea8c1a6
1 changed files with 13 additions and 18 deletions

View File

@ -27,15 +27,7 @@ ros2 pkg list | grep explore
### 注意事项
之后每打开一个新终端,都建议先执行:
```bash
source /opt/ros/humble/setup.bash
source install/setup.bash
export TURTLEBOT3_MODEL=burger
```
为了方便,也可以写入 `~/.bashrc`
为了方便,写入 `~/.bashrc`
```bash
echo 'source /opt/ros/humble/setup.bash' >> ~/.bashrc
@ -44,27 +36,30 @@ echo 'export TURTLEBOT3_MODEL=burger' >> ~/.bashrc
source ~/.bashrc
```
## 2. 启动仿真, Nav2导航栈 SLAM Toolbox异步建图 rviz2
## 2. 启动仿真(后面每一个步骤都在新终端执行)
```bash
./gzsim_run.sh
```
## 3. 启动SLAM Toolbox异步建图
```bash
ros2 launch slam_toolbox online_async_launch.py use_sim_time:=True
```
## 4. 启动Nav2导航栈
ros2 launch nav2_bringup navigation_launch.py use_sim_time:=True headless:=False
```
## 5. 打开rviz2
```bash
ros2 run rviz2 rviz2 -d /opt/ros/humble/share/nav2_bringup/rviz/nav2_default_view.rviz --ros-args -p use_sim_time:=true
```
## 3. 启动explore_lite 自主探索节点如果机器人在探索时在某一点长时间卡住可以在rviz中使用Nav2 Goal进行单点导航探索。
## 6. 启动explore_lite 自主探索节点如果机器人在探索时在某一点长时间卡住可以在rviz中使用Nav2 Goal进行单点导航探索。
```bash
ros2 launch explore_lite explore.launch.py
```
![图1](assets/picture01.png)
## 4. 保存建图结果
## 7. 保存建图结果
机器人完成环境全区域探索后,新开终端执行地图保存命令,地图将保存至$NAV2_MAP_PATH指定路径
@ -73,7 +68,7 @@ export NAV2_MAP_PATH=/workspace/src/turtlebot3_simulations/turtlebot3_gazebo/map
ros2 run nav2_map_server map_saver_cli -f ${NAV2_MAP_PATH}/office_map
```
## 5. 模型说明
## 8. 模型说明
该package 基于explore_lite进行 ROS2 适配与二次开发是未知环境自主建图的核心实现地图前沿检测、探索目标。m-explore-ros2 package 的src/目录下包含explore.cpp、costmap_client.cpp、frontier_search.cpp分别实现探索节点主要逻辑、代价地图数据subscribe与同步 frontier_search的核心算法。
* costmap_client.cpp 管理代价地图的数据核心class 是 explore::Costmap2DClient 实现了代价地图订阅、格式转换、位姿计算的具体逻辑,为上层提供了线程安全的代价地图数据和机器人实时位姿。这层的作用:给探索模块提供“实时可查询的栅格地图 + 当前机器人位姿”。首先启动时订阅 map 和 map_updates把 OccupancyGrid 转成 nav2_costmap_2d::Costmap2DupdateFullMap / updatePartialMap。其次getRobotPose() 通过 TF 把 robot_base_frame 转到地图坐标系,给后续前沿搜索当起点。