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
|
|||
|
||||
### 注意事项
|
||||
|
||||
之后每打开一个新终端,都建议先执行:
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||

|
||||
|
||||
## 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::Costmap2D(updateFullMap / updatePartialMap)。其次,getRobotPose() 通过 TF 把 robot_base_frame 转到地图坐标系,给后续前沿搜索当起点。
|
||||
|
|
|
|||
Loading…
Reference in New Issue