forked from hq/office_RRT_star
64 lines
1.9 KiB
Markdown
64 lines
1.9 KiB
Markdown
* 基于 RRT * 的路径规划与导航
|
||
|
||
实现功能:替换 Nav2 规划器为RRT-Star自定义插件,实现渐近最优路径规划,支持从 RViz2 设置目标点完成自主导航。RRT* 被用于导航与路径规划,它具有渐近最优性, 即随着采样点数量增加,解会收敛到最优路径,同时能高效探索高维空间。
|
||
|
||
## 1. 环境要求
|
||
- Ubuntu 22.04
|
||
- ROS2 Humble
|
||
- Gazebo Sim Harmonic
|
||
---
|
||
|
||
### 编译
|
||
|
||
```bash
|
||
cd /workspace
|
||
colcon build --symlink-install
|
||
source /opt/ros/humble/setup.bash
|
||
source install/setup.bash
|
||
```
|
||
|
||
### 注意事项
|
||
|
||
为了方便,写入 `~/.bashrc`:
|
||
|
||
```bash
|
||
echo 'source /opt/ros/humble/setup.bash' >> ~/.bashrc
|
||
echo 'source /workspace/install/setup.bash' >> ~/.bashrc
|
||
echo 'export TURTLEBOT3_MODEL=burger' >> ~/.bashrc
|
||
echo 'export NAV2_MAP_PATH=/workspace/src/turtlebot3_simulations/turtlebot3_gazebo/map/office_map.yaml' >> ~/.bashrc
|
||
source ~/.bashrc
|
||
```
|
||
|
||
## 2. 启动仿真
|
||
```bash
|
||
./gzsim_run.sh
|
||
```
|
||
|
||
## 3. 启动 AMCL节点(负责 “map_server + amcl”)
|
||
|
||
```bash
|
||
ros2 launch nav2_rrtstar_planner bringup_localization_with_initial_pose.launch.py \
|
||
use_sim_time:=true \
|
||
map:=$NAV2_MAP_PATH \
|
||
params_file:=/workspace/src/TurtleBot-RRT-Star/nav2_params.yaml
|
||
```
|
||
|
||
## 4. 启动 Nav2导航栈(负责 “RRT* 规划器 + controller + bt_navigator)
|
||
|
||
```bash
|
||
ros2 launch nav2_bringup navigation_launch.py \
|
||
use_sim_time:=True \
|
||
params_file:=/workspace/src/TurtleBot-RRT-Star/nav2_params.yaml
|
||
```
|
||
|
||
## 5. 打开rviz
|
||
|
||
```bash
|
||
ros2 run rviz2 rviz2 -d /opt/ros/humble/share/nav2_bringup/rviz/nav2_default_view.rviz --ros-args -p use_sim_time:=true
|
||
```
|
||
|
||
点击 RViz2 中Nav2 Goal,在地图上选择目标位置,调整箭头设置机器人到达后的朝向,确认后机器人将通过 RRT * 算法生成最优路径并自主导航RViz2 中将实时显示 RRT * 规划的全局路径。
|
||

|
||
|
||
|