Create README.md
This commit is contained in:
parent
bb03fc9370
commit
242ea8c1a6
31
README.md
31
README.md
|
|
@ -27,15 +27,7 @@ ros2 pkg list | grep explore
|
||||||
|
|
||||||
### 注意事项
|
### 注意事项
|
||||||
|
|
||||||
之后每打开一个新终端,都建议先执行:
|
为了方便,写入 `~/.bashrc`:
|
||||||
|
|
||||||
```bash
|
|
||||||
source /opt/ros/humble/setup.bash
|
|
||||||
source install/setup.bash
|
|
||||||
export TURTLEBOT3_MODEL=burger
|
|
||||||
```
|
|
||||||
|
|
||||||
为了方便,也可以写入 `~/.bashrc`:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
echo 'source /opt/ros/humble/setup.bash' >> ~/.bashrc
|
echo 'source /opt/ros/humble/setup.bash' >> ~/.bashrc
|
||||||
|
|
@ -44,27 +36,30 @@ echo 'export TURTLEBOT3_MODEL=burger' >> ~/.bashrc
|
||||||
source ~/.bashrc
|
source ~/.bashrc
|
||||||
```
|
```
|
||||||
|
|
||||||
## 2. 启动仿真, Nav2导航栈, SLAM Toolbox异步建图, rviz2
|
## 2. 启动仿真(后面每一个步骤都在新终端执行)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./gzsim_run.sh
|
./gzsim_run.sh
|
||||||
|
```
|
||||||
|
## 3. 启动SLAM Toolbox异步建图
|
||||||
|
```bash
|
||||||
ros2 launch slam_toolbox online_async_launch.py use_sim_time:=True
|
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
|
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
|
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
|
```bash
|
||||||
ros2 launch explore_lite explore.launch.py
|
ros2 launch explore_lite explore.launch.py
|
||||||
```
|
```
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 4. 保存建图结果
|
## 7. 保存建图结果
|
||||||
|
|
||||||
机器人完成环境全区域探索后,新开终端执行地图保存命令,地图将保存至$NAV2_MAP_PATH指定路径
|
机器人完成环境全区域探索后,新开终端执行地图保存命令,地图将保存至$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
|
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的核心算法。
|
该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::Costmap2D(updateFullMap / updatePartialMap)。其次,getRobotPose() 通过 TF 把 robot_base_frame 转到地图坐标系,给后续前沿搜索当起点。
|
* costmap_client.cpp 管理代价地图的数据,核心class 是 explore::Costmap2DClient, 实现了代价地图订阅、格式转换、位姿计算的具体逻辑,为上层提供了线程安全的代价地图数据和机器人实时位姿。这层的作用:给探索模块提供“实时可查询的栅格地图 + 当前机器人位姿”。首先启动时订阅 map 和 map_updates,把 OccupancyGrid 转成 nav2_costmap_2d::Costmap2D(updateFullMap / updatePartialMap)。其次,getRobotPose() 通过 TF 把 robot_base_frame 转到地图坐标系,给后续前沿搜索当起点。
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue