Download presentation
Presentation is loading. Please wait.
Published byEllen Mason Modified over 9 years ago
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
11
Standard Navigation
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
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.