|
Package Summary
Tags | No category tags. |
Version | 0.3.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/locusrobotics/robot_navigation.git |
VCS Type | git |
VCS Version | noetic |
Last Updated | 2022-06-27 |
Dev Status | DEVELOPED |
CI status |
|
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- David V. Lu!!
Authors
nav_core_adapter
This package contains adapters for using nav_core
plugins as nav_core2
plugins and vice versa (more or less). In general, the adaptation process involves
- Converting between 2d and 3d datatypes.
- Converting between returning false and throwing exceptions on failure.
We also provide an adapter for using a costmap_2d::Costmap2DROS
as a plugin for the nav_core2::Costmap
interface.
Adapter Classes
- Global Planner Adapters
-
GlobalPlannerAdapter
is used for employing anav_core2
global planner interface (such asdlux_global_planner
) as anav_core
plugin, like inmove_base
. -
GlobalPlannerAdapter2
is used for employing anav_core
global planner interface (such asnavfn
) as anav_core2
plugin, like inlocomotor
.
-
- Local Planner Adapter
-
LocalPlannerAdapter
is used for employing anav_core2
local planner interface (such asdwb_local_planner
) as anav_core
plugin, like inmove_base
. In addition to the standard adaptation steps listed above, the local planner adapter also uses the costmap to grab the global pose and subscribes to the odometry in order to get the current velocity. - There is no
LocalPlannerAdapter2
. Thenav_core2
interfaces use additional information (like velocity) in thelocal_planner
interface than itsnav_core
counterpart. This information would be ignored by anav_core
planner, so no adapter is provided.
-
-
CostmapAdapter
provides most of the functionality fromnav_core2::Costmap
and also provides a raw pointer to theCostmap2DROS
object. It is not a perfect adaptation, because-
Costmap2DROS
starts its own update thread and updates on its own schedule, so callingupdate()
does not actually cause the costmap to update. It does update some of the metadata though. -
setInfo
is not implemented.
-
Parameter Setup
Let’s look at a practical example of how to use dwb_local_planner
in move_base
.
If you were using DWA
you would probably have parameters set up like this:
base_local_planner: dwa_local_planner/DWALocalPlanner
DWALocalPlanner:
acc_lim_x: 0.42
...
i.e. you specify
- The name of the planner
- A bunch of additional parameters within the planner’s namespace
To use the adapter, you have to provide additional information.
base_local_planner: nav_core_adapter::LocalPlannerAdapter
LocalPlannerAdapter:
planner_name: dwb_local_planner::DWBLocalPlanner
DWBLocalPlanner:
acc_lim_x: 0.42
...
i.e.
- The name of the planner now points at the adapter
- The name of the actual planner loaded into the adapter’s namespace
- The planner’s parameters still in the planner’s namespace.
The process for the global planners is similar.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
roslint | |
rostest | |
dwb_local_planner | |
dwb_plugins | |
dwb_critics | |
costmap_2d | |
geometry_msgs | |
nav_2d_msgs | |
nav_2d_utils | |
nav_core | |
nav_core2 | |
nav_grid | |
nav_msgs | |
pluginlib | |
tf | |
visualization_msgs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
mir_navigation | |
locomove_base | |
robot_navigation |
Launch files
Messages
Services
Recent questions tagged nav_core_adapter at Robotics Stack Exchange
|
Package Summary
Tags | No category tags. |
Version | 0.3.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/locusrobotics/robot_navigation.git |
VCS Type | git |
VCS Version | melodic |
Last Updated | 2021-07-30 |
Dev Status | DEVELOPED |
CI status |
|
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- David V. Lu!!
Authors
nav_core_adapter
This package contains adapters for using nav_core
plugins as nav_core2
plugins and vice versa (more or less). In general, the adaptation process involves
- Converting between 2d and 3d datatypes.
- Converting between returning false and throwing exceptions on failure.
We also provide an adapter for using a costmap_2d::Costmap2DROS
as a plugin for the nav_core2::Costmap
interface.
Adapter Classes
- Global Planner Adapters
-
GlobalPlannerAdapter
is used for employing anav_core2
global planner interface (such asdlux_global_planner
) as anav_core
plugin, like inmove_base
. -
GlobalPlannerAdapter2
is used for employing anav_core
global planner interface (such asnavfn
) as anav_core2
plugin, like inlocomotor
.
-
- Local Planner Adapter
-
LocalPlannerAdapter
is used for employing anav_core2
local planner interface (such asdwb_local_planner
) as anav_core
plugin, like inmove_base
. In addition to the standard adaptation steps listed above, the local planner adapter also uses the costmap to grab the global pose and subscribes to the odometry in order to get the current velocity. - There is no
LocalPlannerAdapter2
. Thenav_core2
interfaces use additional information (like velocity) in thelocal_planner
interface than itsnav_core
counterpart. This information would be ignored by anav_core
planner, so no adapter is provided.
-
-
CostmapAdapter
provides most of the functionality fromnav_core2::Costmap
and also provides a raw pointer to theCostmap2DROS
object. It is not a perfect adaptation, because-
Costmap2DROS
starts its own update thread and updates on its own schedule, so callingupdate()
does not actually cause the costmap to update. It does update some of the metadata though. -
setInfo
is not implemented.
-
Parameter Setup
Let’s look at a practical example of how to use dwb_local_planner
in move_base
.
If you were using DWA
you would probably have parameters set up like this:
base_local_planner: dwa_local_planner/DWALocalPlanner
DWALocalPlanner:
acc_lim_x: 0.42
...
i.e. you specify
- The name of the planner
- A bunch of additional parameters within the planner’s namespace
To use the adapter, you have to provide additional information.
base_local_planner: nav_core_adapter::LocalPlannerAdapter
LocalPlannerAdapter:
planner_name: dwb_local_planner::DWBLocalPlanner
DWBLocalPlanner:
acc_lim_x: 0.42
...
i.e.
- The name of the planner now points at the adapter
- The name of the actual planner loaded into the adapter’s namespace
- The planner’s parameters still in the planner’s namespace.
The process for the global planners is similar.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
roslint | |
rostest | |
dwb_local_planner | |
dwb_plugins | |
dwb_critics | |
costmap_2d | |
geometry_msgs | |
nav_2d_msgs | |
nav_2d_utils | |
nav_core | |
nav_core2 | |
nav_grid | |
nav_msgs | |
pluginlib | |
tf | |
visualization_msgs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
mir_navigation | |
locomove_base | |
robot_navigation |