Presentation is loading. Please wait.

Presentation is loading. Please wait.

Shedding Light on the ROS Navstack 西北工业大学ROS开发者与学习者廖欣祎

Similar presentations


Presentation on theme: "Shedding Light on the ROS Navstack 西北工业大学ROS开发者与学习者廖欣祎"— Presentation transcript:

1 Shedding Light on the ROS Navstack 西北工业大学ROS开发者与学习者廖欣祎
Navigation 进阶 Shedding Light on the ROS Navstack 西北工业大学ROS开发者与学习者廖欣祎

2 Cornerstone of ROS Open Source Platform
Robots Using ROS Cornerstone of ROS Open Source Platform Dozens of Supported Hardwares

3 Overview of ROS Navigation

4 Overview of ROS Navigation

5 Overview of ROS Navigation

6 如何理解 ROS navigation nav_core: 使用 pluginlib 定义了 各个组件的接口, 框架重用性的来源,使用dynamic_reconfigure实现 组件行为动态变化 . costmap: 作为 planner 的信息输入, 通过不同的costmap cost 取值方法, 不同的传感器输入, 不同的layer 叠加可以最大程度上定制navigation stack planners: 针对不同的应用场景可以使用不同的planner 或者自己定制

7 Costmap Data Sources

8 Obstacle Inflation

9 Global Costmap and Plan

10

11 Standard Navigation

12

13 Social Navigation

14 Monolithic Costmap

15 Costmap Overlap

16 Limited Update Information

17 Layered Costmaps

18 Two Pass Update Process

19 Layer Combination + = + =

20 Costmap Layers Obstacles Layer Inflation Layer Static Layer Range Sensor Layer Proxemic Layer Claustrophobic Layer

21 void initialize( LayeredCostmap* parent, std::string name,
Implementing a Layer class Layer { public: void initialize( LayeredCostmap* parent, std::string name, tf::TransformListener *tf ); virtual void updateBounds( double robot_x, double robot_y, double robot_yaw, double* min_x, double* min_y, double* max_x, double* max_y) {} virtual void updateCosts(Costmap2D& master_grid, int min_i, int min_j, int max_i, int max_j) {}

22 Layered Costmaps github.com/ros-planning/navigation github.com/wg-perception/people github.com/DLu/navigation_layers

23 Overview of ROS NavStack

24 global_planner

25 BaseLocalPlanner vs. DWALocalPlanner

26 + goal_alignment_cost + path_alignment_cost
Scoring Trajectories Weighted Sum = oscillation_cost + costmap_cost + goal_distance_cost + path_distance_cost + goal_alignment_cost + path_alignment_cost

27 Scoring Different Trajectories
Vary x position and x velocity

28

29

30 Implementing a Cost Function
class TrajectoryCostFunction { ... virtual double scoreTrajectory(Trajectory &traj); }

31 navigation 逻辑部分---move_base

32 DWA Plugin Planner and MoveBase2
/tree/groovy_plugin_planner /tree/groovy_mbsplit

33 ROS Navigation


Download ppt "Shedding Light on the ROS Navstack 西北工业大学ROS开发者与学习者廖欣祎"

Similar presentations


Ads by Google