您的位置:首页 > 其它

ROS navigation相关概念小结

2015-09-16 22:37 831 查看
概念

1. navigation stack

A 2D navigation stack takes in information from odometry, sensor streams, and a goal pose and outputs safe velocity commands that are sent to a mobile base.

2. nav_core

nav_core是一个package,provides common interfaces for navigation specific robot actions. The interfaces include BaseGlobalPlanner, BaseLocalPlanner, and RecoveryBehavior. 这些接口可以用来build actions that can easily swap their planner, local controller, or recovery behavior for new versions adhering to the same interface. (对interface的作用还是不太明白)

The nav_core package contains key interfaces for the navigation stack. All planners and recovery behaviors that wish to be used as plugins in the move_base node must adhere to these interfaces.

How to do

1 Implement path planning algorithm(A star) on turtlebot.

Implement your own global planner (interface: base_global_planner).

Read about how all the pieces link together in http://wiki.ros.org/navigation and http://wiki.ros.org/nav_core .

What you’re really doing is creating a subclass of http://docs.ros.org/hydro/api/nav_cor… , overriding the two methods to implement your functionality.

2 If you want to do unknown environment navigation, then you’ll have to have a more robust algorithm that can reactto a changing map. That also involves setting up existing ROS packages that can build a map as you move along.

3 D* algorithm - This algorithm is an extension of A* algorithm.

It addresses the problem of expensive re-planning when obstacles appear in the path of the robot.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: