Nav2框架

安装

依赖项

1
2
3
4
5
6
7
8
9
10
sudo apt install -y ros-jazzy-tf2*
rm ~/.config/ros.org/rqt_gui.ini
# 重启rqt,然后再rqt中plugin->visualization中可以看到到 tf tree

sudo apt-get install gazebo-ros-pkgs

sudo apt install -y ros-jazzy-navigation2
sudo apt install -y ros-jazzy-nav2-bringups
sudo apt install -y ros-jazzy-turtlebot3*
sudo apt install -y ros-jazzy-test-msgs ros-jazzy-geographic-msgs

下载jazzy分支的Navigation2,一般能正常编译。

在Nav2存储库的根目录中运行doxygen。它将生成一个包含文档的/doc/*目录。文档的入口点在浏览器中是index.html。

运行 Nav2 框架

使用 turtlebot3: ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py

不需要设置 export GZ_SIM_RESOURCE_PATH

  • 手动控制: ros2 run turtlebot3_teleop teleop_keyboard


  • 建图程序: ros2 launch turtlebot3_cartographer cartographer.launch.py use_sim_time:=True


  • 保存地图: ros2 run nav2_map_server map_saver_cli -f test


  • 导航程序: ros2 launch turtlebot3_navigation2 navigation2.launch.py use_sim_time:=True map:=maps/test.yaml

节点和话题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/amcl

/behavior_server
/bt_navigator
/bt_navigator_navigate_through_poses_rclcpp_node
/bt_navigator_navigate_to_pose_rclcpp_node

/collision_monitor
/controller_server
/docking_server
/global_costmap/global_costmap
/local_costmap/local_costmap

/launch_ros_3856071
/lifecycle_manager_localization
/lifecycle_manager_navigation
/map_server
/nav2_container
/planner_server
/robot_state_publisher
/ros_gz_bridge
/ros_gz_image
/rviz2
/rviz_navigation_dialog_action_client

/smoother_server
/velocity_smoother
/waypoint_follower

速度输出是 /cmd_vel_smoothed

问题

  1. 因为显卡的驱动问题,有时加载不出机器人的模型