Overview of ROS Navigation Stack

tags: ros  navigation  Source code analysis

Navigation Stack Overview


In one sentence, the function of this stack is to drive the robot to complete navigation based on the information of external sensors. As for how it is implemented, I will introduce and analyze each package in the future (Welcome to follow), let's take a look at the introduction of each function package in this framework.

Introduction of each function package

  • amcl: amcl's role is to use particle filtering to correct the robot's position within a known map based on the robot's own mileage and map characteristics
  • base_local_planner: local path planner
  • dwa_local_planner: also a local path planner, using the dynamic window method
  • carrot_planner: Very simple global path planner, the generated path is the point on the line connecting the target point to the current point of the robot
  • clear_costmap_recovery: the recovery algorithm of the path cannot be planned
  • costmap_2d: cost map implementation
  • fake_localization: mainly used for positioning simulation
  • global_planner: global path planning algorithm package
  • map_server: Provide cost map management service
  • move_base: Robot mobile navigation framework (the main logical framework for navigation)
  • move_slow_and_clear: also a recovery strategy
  • nav_core: provides an interface that can implement the main package of the plug-in replacement algorithm
  • nav_fn: global path planning algorithm
  • robot_pose_ekf: integrated odometer, GPS, imu data, location estimation through extended Kalman filtering
  • rotate_recovery: rotation recovery strategy implementation package
  • voxel_grid: 3D cost map
    Navigation Stack
    Figure 1. Navigation Stack source package structure
    As you can see from the picture above, the entire navigation stack can be divided into three parts. In the navigation, move_base is used to implement the logical framework, and nav_core provides a global path planner / local path planner. Interface, through which the algorithm can be replaced according to the form of plug-ins, and two (two-dimensional and three-dimensional) grid maps are also provided;
    The map server mainly manages maps, reads and writes maps, and publishes map messages for other feature packages to subscribe.
    Fake_localization provides an implementation for positioning. robot_pose_ekf is mainly used to modify the robot's mileage based on sensor information, and amcl is mainly used to provide a combination of the robot's odometer and map to estimate the robot Location on the map.

Related connections

Official introduction:http://wiki.ros.org/navigation
Source address:https://github.com/ros-planning/navigation.git

Intelligent Recommendation

ROS in Navigation

ROS in Navigation 1, the core Navigation Stack is move_base 2, the three functions move_base: Global Plan (static), the local planning (dynamic), handling abnormal behavior. There are three interfaces...

ros navigation

I am only very good at cooking, and the laboratory has no personal guidance, so I have to think behind closed doors, and I will not engage in related work after graduation (mainly I can’t have m...

ROS navigation navigation package

As shown in the above figure, you must first know the target point in the navigation (Goal), and then AMCL will get the current coordinate point, Path Planner is the path plan, Move_base mainly solves...

Navigation overview

Navigation overview 1. Navigation overview 2. move_base 2.1 move_base overview 2.2 move_base.launch analysis 3. Global path planning (not involved, leave blank) 4. Local path planning 1. Navigation ov...

ROS advanced---navigation framework in ROS

Advanced ROS—Navigation Framework in ROS Navigation framework based on move_base Introduction to move_base Topics and services in move_base package Configure move_base node Introduction to amcl ...

More Recommendation

ROS navigation analysis: navigation framework

Preface: ROS navigation stack is a very important and commonly used modules provided by ROS. Its main role is to achieve the positioning robot navigation and obstacle avoidance capabilities. On the RO...

Introduction to ros navigation navigation framework

Introduction of each function package Amcl: The role of amcl is to use particle filtering to correct the robot's position within a known map based on the robot's own mileage and map characteristics ba...

ROS navigation navigation problems and solutions

The problems listed in this article are all I encountered during the simulation process, not a summary of online methods. (1) When simulating navigation in gazebo: Timed out waiting for transform from...

Ros: compile navigation

1 Download navigation package 2 processing catkin package: ‘map_server’ is missingCould NOT find Bullet CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 ...

ROS Navigation-----amcl node.cpp

Main function The main function of the main function is: Define a signal variable, manage the node Define the amclNode object 2. Construction of the amclNode object 1. There is a configuration related...

Copyright  DMCA © 2018-2026 - All Rights Reserved - www.programmersought.com  User Notice

Top