Package Summary
| Version | 0.5.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/EasyNavigation/easynav_playgrounds.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-10-21 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Francisco Martín Rico
Authors
- Francisco Martín Rico
EasyNav Summit Playground
EasyNav configurations for a Robotnik Summit XL in Gazebo Harmonic, in two worlds: the URJC excavation, an outdoor 3D terrain, and a small indoor warehouse. This is the outdoor reference playground of EasyNav.
The Summit playground is made of three packages:
| Package | Contents |
|---|---|
easynav_playground_summit_description |
The Summit XL model: URDF, meshes and ros2_control controllers. No Gazebo, no EasyNav |
easynav_playground_summit_worlds |
The Gazebo simulation: the URJC excavation and a small warehouse, their maps, and the launchers that spawn the Summit XL with its controllers and the ROS–Gazebo bridge. No EasyNav |
easynav_playground_summit |
The EasyNav configurations and launchers |
Supported ROS 2 distributions
This playground needs Gazebo Harmonic or newer, so it runs on Jazzy and later distributions, but not on Humble, whose Gazebo is Fortress. EasyNav itself (core and plugins) does run on Humble: only this simulation does not.
Build
From the ROS 2 workspace root:
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install --packages-up-to easynav_playground_summit
source install/setup.bash
Launch EasyNav
Each easynav_<config>.launch.yaml starts Gazebo, the Summit XL, EasyNav with that configuration and RViz2:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml
Once RViz2 is up, send a goal with the 2D Goal Pose tool.
NavMap configurations
All of them plan with A* over the NavMap (maps/excavation_urjc.navmap).
| Launch file | Controller | Localizer | Notes |
|---|---|---|---|
easynav_bonxai_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | AMCL corrects against the Bonxai 3D map (maps/excavation_urjc.pcd) |
easynav_mppi.launch.yaml |
MPPI | NavMap AMCL | |
easynav_mpc.launch.yaml |
MPC | NavMap AMCL | |
easynav_gps.launch.yaml |
Regulated Pure Pursuit | GPS (UKF) |
FusionLocalizer fusing the GPS position, wheel odometry and IMU heading; no Bonxai map |
easynav_navmap_dummy.launch.yaml |
— | — | Only loads and shows maps/excavation_urjc_2.navmap
|
easynav_navmap_local.launch.yaml |
— (teleop) | — | Local NavMap: rebuilt around the robot, in base_footprint, from the 3D laser (NavMap maps manager in local mode). Drive it with ros2 run teleop_twist_keyboard teleop_twist_keyboard
|
Warehouse configuration
easynav_warehouse_amcl.launch.yaml runs the Summit XL in the AWS RoboMaker small warehouse (worlds/small_warehouse.world), an indoor world with shelves, pallets and clutter:
ros2 launch easynav_playground_summit easynav_warehouse_amcl.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_warehouse_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Flat NavMap from maps/warehouse.yaml; Bonxai maps/warehouse.pcd
|
The NavMap is flat, built from a 2D occupancy grid. Its obstacles filter keeps the static map and adds the points the sensors see within 3 m and below 1.2 m (max_range, max_height); the inflation filter (radius 2.0 m, scaling 1.5) keeps paths in the middle of the aisles. The RViz view (rviz/easynav_warehouse.rviz) shows the inflated layer. Localization error is about 0.15 m.
Parking garage configuration
easynav_parking_garage.launch.yaml runs the Summit XL in a parking garage (worlds/parking_garage.world) with three floors stacked over the same footprint and linked by ramps:
ros2 launch easynav_playground_summit easynav_parking_garage.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_parking_garage.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Multi-level NavMap maps/parking_garage.navmap; Bonxai maps/parking_garage_bonxai.pcd
|
Both maps come from simulated 3D lidar scans of the world’s collision mesh (a VLP-16 0.8 m above the ground every 2 m on floors 0-2, so hidden faces never enter the map): maps/parking_garage.pcd keeps one point per 0.1 m voxel (the centroid), in the map frame with z = 0 on the ground floor under the spawn point. The NavMap meshes it with navmap_ros::from_points at 0.4 m: floors 0, 1 and 2 are a single surface that overlaps itself in XY and connects through the ramps, so A* plans between floors; the ramps (2.9 m between their side walls) leave about 0.9 m of clearance to the robot’s 0.7 m inscribed radius. The roof has no ramp in the model and is a separate, unreachable surface. The Bonxai map keeps one point per occupied 0.3 m voxel (floors, walls, pillars and ceilings). The obstacles filter ignores points above 1.2 m, so the ceiling of each floor is not an obstacle.
Localization
In the excavation, the terrain is smooth and the Bonxai cloud is sparse, so NavMap AMCL has little to correct against: it keeps the heading from the IMU, but its position can drift 0.5–1 m from the true one. The GPS configuration is the accurate one outdoors (about 0.15 m): its map frame is the Gazebo world’s (latitude_origin/longitude_origin are the world’s spherical_coordinates).
Launch arguments
| Argument | Default | Description |
|---|---|---|
params_file |
Per launch file | EasyNav parameters file |
rviz_config |
Per launch file | RViz2 configuration file |
gui |
true |
Set to false to run Gazebo headless |
rviz |
true |
Set to false to skip RViz2 |
For example, to run headless with your own parameters:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml gui:=false params_file:=/path/to/my.params.yaml
File truncated at 100 lines see the full file
Changelog for package easynav_playground_summit
0.5.1 (2026-10-21)
- Parking garage world
- NavMap navigation in 3D: local NavMap, obstacle memory, terrain-aware planning
- Localization and goal parameters for 3D (NavMap AMCL)
- Enable cpplint and copyright linters
- Contributors: Francisco Martín Rico
0.5.0 (2026-10-08)
- First release, in the easynav_playgrounds repository: EasyNav launchers and parameters for the Robotnik Summit XL: NavMap and Bonxai (RPP, MPPI, MPC), GPS fusion and warehouse configurations
- Contributors: Francisco Martín Rico, Juan Sebastián Cely Gutierrez
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged easynav_playground_summit at Robotics Stack Exchange
Package Summary
| Version | 0.5.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/EasyNavigation/easynav_playgrounds.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-10-21 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Francisco Martín Rico
Authors
- Francisco Martín Rico
EasyNav Summit Playground
EasyNav configurations for a Robotnik Summit XL in Gazebo Harmonic, in two worlds: the URJC excavation, an outdoor 3D terrain, and a small indoor warehouse. This is the outdoor reference playground of EasyNav.
The Summit playground is made of three packages:
| Package | Contents |
|---|---|
easynav_playground_summit_description |
The Summit XL model: URDF, meshes and ros2_control controllers. No Gazebo, no EasyNav |
easynav_playground_summit_worlds |
The Gazebo simulation: the URJC excavation and a small warehouse, their maps, and the launchers that spawn the Summit XL with its controllers and the ROS–Gazebo bridge. No EasyNav |
easynav_playground_summit |
The EasyNav configurations and launchers |
Supported ROS 2 distributions
This playground needs Gazebo Harmonic or newer, so it runs on Jazzy and later distributions, but not on Humble, whose Gazebo is Fortress. EasyNav itself (core and plugins) does run on Humble: only this simulation does not.
Build
From the ROS 2 workspace root:
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install --packages-up-to easynav_playground_summit
source install/setup.bash
Launch EasyNav
Each easynav_<config>.launch.yaml starts Gazebo, the Summit XL, EasyNav with that configuration and RViz2:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml
Once RViz2 is up, send a goal with the 2D Goal Pose tool.
NavMap configurations
All of them plan with A* over the NavMap (maps/excavation_urjc.navmap).
| Launch file | Controller | Localizer | Notes |
|---|---|---|---|
easynav_bonxai_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | AMCL corrects against the Bonxai 3D map (maps/excavation_urjc.pcd) |
easynav_mppi.launch.yaml |
MPPI | NavMap AMCL | |
easynav_mpc.launch.yaml |
MPC | NavMap AMCL | |
easynav_gps.launch.yaml |
Regulated Pure Pursuit | GPS (UKF) |
FusionLocalizer fusing the GPS position, wheel odometry and IMU heading; no Bonxai map |
easynav_navmap_dummy.launch.yaml |
— | — | Only loads and shows maps/excavation_urjc_2.navmap
|
easynav_navmap_local.launch.yaml |
— (teleop) | — | Local NavMap: rebuilt around the robot, in base_footprint, from the 3D laser (NavMap maps manager in local mode). Drive it with ros2 run teleop_twist_keyboard teleop_twist_keyboard
|
Warehouse configuration
easynav_warehouse_amcl.launch.yaml runs the Summit XL in the AWS RoboMaker small warehouse (worlds/small_warehouse.world), an indoor world with shelves, pallets and clutter:
ros2 launch easynav_playground_summit easynav_warehouse_amcl.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_warehouse_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Flat NavMap from maps/warehouse.yaml; Bonxai maps/warehouse.pcd
|
The NavMap is flat, built from a 2D occupancy grid. Its obstacles filter keeps the static map and adds the points the sensors see within 3 m and below 1.2 m (max_range, max_height); the inflation filter (radius 2.0 m, scaling 1.5) keeps paths in the middle of the aisles. The RViz view (rviz/easynav_warehouse.rviz) shows the inflated layer. Localization error is about 0.15 m.
Parking garage configuration
easynav_parking_garage.launch.yaml runs the Summit XL in a parking garage (worlds/parking_garage.world) with three floors stacked over the same footprint and linked by ramps:
ros2 launch easynav_playground_summit easynav_parking_garage.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_parking_garage.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Multi-level NavMap maps/parking_garage.navmap; Bonxai maps/parking_garage_bonxai.pcd
|
Both maps come from simulated 3D lidar scans of the world’s collision mesh (a VLP-16 0.8 m above the ground every 2 m on floors 0-2, so hidden faces never enter the map): maps/parking_garage.pcd keeps one point per 0.1 m voxel (the centroid), in the map frame with z = 0 on the ground floor under the spawn point. The NavMap meshes it with navmap_ros::from_points at 0.4 m: floors 0, 1 and 2 are a single surface that overlaps itself in XY and connects through the ramps, so A* plans between floors; the ramps (2.9 m between their side walls) leave about 0.9 m of clearance to the robot’s 0.7 m inscribed radius. The roof has no ramp in the model and is a separate, unreachable surface. The Bonxai map keeps one point per occupied 0.3 m voxel (floors, walls, pillars and ceilings). The obstacles filter ignores points above 1.2 m, so the ceiling of each floor is not an obstacle.
Localization
In the excavation, the terrain is smooth and the Bonxai cloud is sparse, so NavMap AMCL has little to correct against: it keeps the heading from the IMU, but its position can drift 0.5–1 m from the true one. The GPS configuration is the accurate one outdoors (about 0.15 m): its map frame is the Gazebo world’s (latitude_origin/longitude_origin are the world’s spherical_coordinates).
Launch arguments
| Argument | Default | Description |
|---|---|---|
params_file |
Per launch file | EasyNav parameters file |
rviz_config |
Per launch file | RViz2 configuration file |
gui |
true |
Set to false to run Gazebo headless |
rviz |
true |
Set to false to skip RViz2 |
For example, to run headless with your own parameters:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml gui:=false params_file:=/path/to/my.params.yaml
File truncated at 100 lines see the full file
Changelog for package easynav_playground_summit
0.5.1 (2026-10-21)
- Parking garage world
- NavMap navigation in 3D: local NavMap, obstacle memory, terrain-aware planning
- Localization and goal parameters for 3D (NavMap AMCL)
- Enable cpplint and copyright linters
- Contributors: Francisco Martín Rico
0.5.0 (2026-10-08)
- First release, in the easynav_playgrounds repository: EasyNav launchers and parameters for the Robotnik Summit XL: NavMap and Bonxai (RPP, MPPI, MPC), GPS fusion and warehouse configurations
- Contributors: Francisco Martín Rico, Juan Sebastián Cely Gutierrez
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged easynav_playground_summit at Robotics Stack Exchange
Package Summary
| Version | 0.5.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/EasyNavigation/easynav_playgrounds.git |
| VCS Type | git |
| VCS Version | kilted |
| Last Updated | 2026-10-21 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Francisco Martín Rico
Authors
- Francisco Martín Rico
EasyNav Summit Playground
EasyNav configurations for a Robotnik Summit XL in Gazebo Harmonic, in two worlds: the URJC excavation, an outdoor 3D terrain, and a small indoor warehouse. This is the outdoor reference playground of EasyNav.
The Summit playground is made of three packages:
| Package | Contents |
|---|---|
easynav_playground_summit_description |
The Summit XL model: URDF, meshes and ros2_control controllers. No Gazebo, no EasyNav |
easynav_playground_summit_worlds |
The Gazebo simulation: the URJC excavation and a small warehouse, their maps, and the launchers that spawn the Summit XL with its controllers and the ROS–Gazebo bridge. No EasyNav |
easynav_playground_summit |
The EasyNav configurations and launchers |
Supported ROS 2 distributions
This playground needs Gazebo Harmonic or newer, so it runs on Jazzy and later distributions, but not on Humble, whose Gazebo is Fortress. EasyNav itself (core and plugins) does run on Humble: only this simulation does not.
Build
From the ROS 2 workspace root:
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install --packages-up-to easynav_playground_summit
source install/setup.bash
Launch EasyNav
Each easynav_<config>.launch.yaml starts Gazebo, the Summit XL, EasyNav with that configuration and RViz2:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml
Once RViz2 is up, send a goal with the 2D Goal Pose tool.
NavMap configurations
All of them plan with A* over the NavMap (maps/excavation_urjc.navmap).
| Launch file | Controller | Localizer | Notes |
|---|---|---|---|
easynav_bonxai_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | AMCL corrects against the Bonxai 3D map (maps/excavation_urjc.pcd) |
easynav_mppi.launch.yaml |
MPPI | NavMap AMCL | |
easynav_mpc.launch.yaml |
MPC | NavMap AMCL | |
easynav_gps.launch.yaml |
Regulated Pure Pursuit | GPS (UKF) |
FusionLocalizer fusing the GPS position, wheel odometry and IMU heading; no Bonxai map |
easynav_navmap_dummy.launch.yaml |
— | — | Only loads and shows maps/excavation_urjc_2.navmap
|
easynav_navmap_local.launch.yaml |
— (teleop) | — | Local NavMap: rebuilt around the robot, in base_footprint, from the 3D laser (NavMap maps manager in local mode). Drive it with ros2 run teleop_twist_keyboard teleop_twist_keyboard
|
Warehouse configuration
easynav_warehouse_amcl.launch.yaml runs the Summit XL in the AWS RoboMaker small warehouse (worlds/small_warehouse.world), an indoor world with shelves, pallets and clutter:
ros2 launch easynav_playground_summit easynav_warehouse_amcl.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_warehouse_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Flat NavMap from maps/warehouse.yaml; Bonxai maps/warehouse.pcd
|
The NavMap is flat, built from a 2D occupancy grid. Its obstacles filter keeps the static map and adds the points the sensors see within 3 m and below 1.2 m (max_range, max_height); the inflation filter (radius 2.0 m, scaling 1.5) keeps paths in the middle of the aisles. The RViz view (rviz/easynav_warehouse.rviz) shows the inflated layer. Localization error is about 0.15 m.
Parking garage configuration
easynav_parking_garage.launch.yaml runs the Summit XL in a parking garage (worlds/parking_garage.world) with three floors stacked over the same footprint and linked by ramps:
ros2 launch easynav_playground_summit easynav_parking_garage.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_parking_garage.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Multi-level NavMap maps/parking_garage.navmap; Bonxai maps/parking_garage_bonxai.pcd
|
Both maps come from simulated 3D lidar scans of the world’s collision mesh (a VLP-16 0.8 m above the ground every 2 m on floors 0-2, so hidden faces never enter the map): maps/parking_garage.pcd keeps one point per 0.1 m voxel (the centroid), in the map frame with z = 0 on the ground floor under the spawn point. The NavMap meshes it with navmap_ros::from_points at 0.4 m: floors 0, 1 and 2 are a single surface that overlaps itself in XY and connects through the ramps, so A* plans between floors; the ramps (2.9 m between their side walls) leave about 0.9 m of clearance to the robot’s 0.7 m inscribed radius. The roof has no ramp in the model and is a separate, unreachable surface. The Bonxai map keeps one point per occupied 0.3 m voxel (floors, walls, pillars and ceilings). The obstacles filter ignores points above 1.2 m, so the ceiling of each floor is not an obstacle.
Localization
In the excavation, the terrain is smooth and the Bonxai cloud is sparse, so NavMap AMCL has little to correct against: it keeps the heading from the IMU, but its position can drift 0.5–1 m from the true one. The GPS configuration is the accurate one outdoors (about 0.15 m): its map frame is the Gazebo world’s (latitude_origin/longitude_origin are the world’s spherical_coordinates).
Launch arguments
| Argument | Default | Description |
|---|---|---|
params_file |
Per launch file | EasyNav parameters file |
rviz_config |
Per launch file | RViz2 configuration file |
gui |
true |
Set to false to run Gazebo headless |
rviz |
true |
Set to false to skip RViz2 |
For example, to run headless with your own parameters:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml gui:=false params_file:=/path/to/my.params.yaml
File truncated at 100 lines see the full file
Changelog for package easynav_playground_summit
0.5.1 (2026-10-21)
- Parking garage world
- NavMap navigation in 3D: local NavMap, obstacle memory, terrain-aware planning
- Localization and goal parameters for 3D (NavMap AMCL)
- Enable cpplint and copyright linters
- Contributors: Francisco Martín Rico
0.5.0 (2026-10-08)
- First release, in the easynav_playgrounds repository: EasyNav launchers and parameters for the Robotnik Summit XL: NavMap and Bonxai (RPP, MPPI, MPC), GPS fusion and warehouse configurations
- Contributors: Francisco Martín Rico, Juan Sebastián Cely Gutierrez
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged easynav_playground_summit at Robotics Stack Exchange
Package Summary
| Version | 0.5.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/EasyNavigation/easynav_playgrounds.git |
| VCS Type | git |
| VCS Version | lyrical |
| Last Updated | 2026-10-21 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Francisco Martín Rico
Authors
- Francisco Martín Rico
EasyNav Summit Playground
EasyNav configurations for a Robotnik Summit XL in Gazebo Harmonic, in two worlds: the URJC excavation, an outdoor 3D terrain, and a small indoor warehouse. This is the outdoor reference playground of EasyNav.
The Summit playground is made of three packages:
| Package | Contents |
|---|---|
easynav_playground_summit_description |
The Summit XL model: URDF, meshes and ros2_control controllers. No Gazebo, no EasyNav |
easynav_playground_summit_worlds |
The Gazebo simulation: the URJC excavation and a small warehouse, their maps, and the launchers that spawn the Summit XL with its controllers and the ROS–Gazebo bridge. No EasyNav |
easynav_playground_summit |
The EasyNav configurations and launchers |
Supported ROS 2 distributions
This playground needs Gazebo Harmonic or newer, so it runs on Jazzy and later distributions, but not on Humble, whose Gazebo is Fortress. EasyNav itself (core and plugins) does run on Humble: only this simulation does not.
Build
From the ROS 2 workspace root:
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install --packages-up-to easynav_playground_summit
source install/setup.bash
Launch EasyNav
Each easynav_<config>.launch.yaml starts Gazebo, the Summit XL, EasyNav with that configuration and RViz2:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml
Once RViz2 is up, send a goal with the 2D Goal Pose tool.
NavMap configurations
All of them plan with A* over the NavMap (maps/excavation_urjc.navmap).
| Launch file | Controller | Localizer | Notes |
|---|---|---|---|
easynav_bonxai_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | AMCL corrects against the Bonxai 3D map (maps/excavation_urjc.pcd) |
easynav_mppi.launch.yaml |
MPPI | NavMap AMCL | |
easynav_mpc.launch.yaml |
MPC | NavMap AMCL | |
easynav_gps.launch.yaml |
Regulated Pure Pursuit | GPS (UKF) |
FusionLocalizer fusing the GPS position, wheel odometry and IMU heading; no Bonxai map |
easynav_navmap_dummy.launch.yaml |
— | — | Only loads and shows maps/excavation_urjc_2.navmap
|
easynav_navmap_local.launch.yaml |
— (teleop) | — | Local NavMap: rebuilt around the robot, in base_footprint, from the 3D laser (NavMap maps manager in local mode). Drive it with ros2 run teleop_twist_keyboard teleop_twist_keyboard
|
Warehouse configuration
easynav_warehouse_amcl.launch.yaml runs the Summit XL in the AWS RoboMaker small warehouse (worlds/small_warehouse.world), an indoor world with shelves, pallets and clutter:
ros2 launch easynav_playground_summit easynav_warehouse_amcl.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_warehouse_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Flat NavMap from maps/warehouse.yaml; Bonxai maps/warehouse.pcd
|
The NavMap is flat, built from a 2D occupancy grid. Its obstacles filter keeps the static map and adds the points the sensors see within 3 m and below 1.2 m (max_range, max_height); the inflation filter (radius 2.0 m, scaling 1.5) keeps paths in the middle of the aisles. The RViz view (rviz/easynav_warehouse.rviz) shows the inflated layer. Localization error is about 0.15 m.
Parking garage configuration
easynav_parking_garage.launch.yaml runs the Summit XL in a parking garage (worlds/parking_garage.world) with three floors stacked over the same footprint and linked by ramps:
ros2 launch easynav_playground_summit easynav_parking_garage.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_parking_garage.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Multi-level NavMap maps/parking_garage.navmap; Bonxai maps/parking_garage_bonxai.pcd
|
Both maps come from simulated 3D lidar scans of the world’s collision mesh (a VLP-16 0.8 m above the ground every 2 m on floors 0-2, so hidden faces never enter the map): maps/parking_garage.pcd keeps one point per 0.1 m voxel (the centroid), in the map frame with z = 0 on the ground floor under the spawn point. The NavMap meshes it with navmap_ros::from_points at 0.4 m: floors 0, 1 and 2 are a single surface that overlaps itself in XY and connects through the ramps, so A* plans between floors; the ramps (2.9 m between their side walls) leave about 0.9 m of clearance to the robot’s 0.7 m inscribed radius. The roof has no ramp in the model and is a separate, unreachable surface. The Bonxai map keeps one point per occupied 0.3 m voxel (floors, walls, pillars and ceilings). The obstacles filter ignores points above 1.2 m, so the ceiling of each floor is not an obstacle.
Localization
In the excavation, the terrain is smooth and the Bonxai cloud is sparse, so NavMap AMCL has little to correct against: it keeps the heading from the IMU, but its position can drift 0.5–1 m from the true one. The GPS configuration is the accurate one outdoors (about 0.15 m): its map frame is the Gazebo world’s (latitude_origin/longitude_origin are the world’s spherical_coordinates).
Launch arguments
| Argument | Default | Description |
|---|---|---|
params_file |
Per launch file | EasyNav parameters file |
rviz_config |
Per launch file | RViz2 configuration file |
gui |
true |
Set to false to run Gazebo headless |
rviz |
true |
Set to false to skip RViz2 |
For example, to run headless with your own parameters:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml gui:=false params_file:=/path/to/my.params.yaml
File truncated at 100 lines see the full file
Changelog for package easynav_playground_summit
0.5.1 (2026-10-21)
- Parking garage world
- NavMap navigation in 3D: local NavMap, obstacle memory, terrain-aware planning
- Localization and goal parameters for 3D (NavMap AMCL)
- Enable cpplint and copyright linters
- Contributors: Francisco Martín Rico
0.5.0 (2026-10-08)
- First release, in the easynav_playgrounds repository: EasyNav launchers and parameters for the Robotnik Summit XL: NavMap and Bonxai (RPP, MPPI, MPC), GPS fusion and warehouse configurations
- Contributors: Francisco Martín Rico, Juan Sebastián Cely Gutierrez
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged easynav_playground_summit at Robotics Stack Exchange
Package Summary
| Version | 0.5.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/EasyNavigation/easynav_playgrounds.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-10-21 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Francisco Martín Rico
Authors
- Francisco Martín Rico
EasyNav Summit Playground
EasyNav configurations for a Robotnik Summit XL in Gazebo Harmonic, in two worlds: the URJC excavation, an outdoor 3D terrain, and a small indoor warehouse. This is the outdoor reference playground of EasyNav.
The Summit playground is made of three packages:
| Package | Contents |
|---|---|
easynav_playground_summit_description |
The Summit XL model: URDF, meshes and ros2_control controllers. No Gazebo, no EasyNav |
easynav_playground_summit_worlds |
The Gazebo simulation: the URJC excavation and a small warehouse, their maps, and the launchers that spawn the Summit XL with its controllers and the ROS–Gazebo bridge. No EasyNav |
easynav_playground_summit |
The EasyNav configurations and launchers |
Supported ROS 2 distributions
This playground needs Gazebo Harmonic or newer, so it runs on Jazzy and later distributions, but not on Humble, whose Gazebo is Fortress. EasyNav itself (core and plugins) does run on Humble: only this simulation does not.
Build
From the ROS 2 workspace root:
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install --packages-up-to easynav_playground_summit
source install/setup.bash
Launch EasyNav
Each easynav_<config>.launch.yaml starts Gazebo, the Summit XL, EasyNav with that configuration and RViz2:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml
Once RViz2 is up, send a goal with the 2D Goal Pose tool.
NavMap configurations
All of them plan with A* over the NavMap (maps/excavation_urjc.navmap).
| Launch file | Controller | Localizer | Notes |
|---|---|---|---|
easynav_bonxai_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | AMCL corrects against the Bonxai 3D map (maps/excavation_urjc.pcd) |
easynav_mppi.launch.yaml |
MPPI | NavMap AMCL | |
easynav_mpc.launch.yaml |
MPC | NavMap AMCL | |
easynav_gps.launch.yaml |
Regulated Pure Pursuit | GPS (UKF) |
FusionLocalizer fusing the GPS position, wheel odometry and IMU heading; no Bonxai map |
easynav_navmap_dummy.launch.yaml |
— | — | Only loads and shows maps/excavation_urjc_2.navmap
|
easynav_navmap_local.launch.yaml |
— (teleop) | — | Local NavMap: rebuilt around the robot, in base_footprint, from the 3D laser (NavMap maps manager in local mode). Drive it with ros2 run teleop_twist_keyboard teleop_twist_keyboard
|
Warehouse configuration
easynav_warehouse_amcl.launch.yaml runs the Summit XL in the AWS RoboMaker small warehouse (worlds/small_warehouse.world), an indoor world with shelves, pallets and clutter:
ros2 launch easynav_playground_summit easynav_warehouse_amcl.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_warehouse_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Flat NavMap from maps/warehouse.yaml; Bonxai maps/warehouse.pcd
|
The NavMap is flat, built from a 2D occupancy grid. Its obstacles filter keeps the static map and adds the points the sensors see within 3 m and below 1.2 m (max_range, max_height); the inflation filter (radius 2.0 m, scaling 1.5) keeps paths in the middle of the aisles. The RViz view (rviz/easynav_warehouse.rviz) shows the inflated layer. Localization error is about 0.15 m.
Parking garage configuration
easynav_parking_garage.launch.yaml runs the Summit XL in a parking garage (worlds/parking_garage.world) with three floors stacked over the same footprint and linked by ramps:
ros2 launch easynav_playground_summit easynav_parking_garage.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_parking_garage.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Multi-level NavMap maps/parking_garage.navmap; Bonxai maps/parking_garage_bonxai.pcd
|
Both maps come from simulated 3D lidar scans of the world’s collision mesh (a VLP-16 0.8 m above the ground every 2 m on floors 0-2, so hidden faces never enter the map): maps/parking_garage.pcd keeps one point per 0.1 m voxel (the centroid), in the map frame with z = 0 on the ground floor under the spawn point. The NavMap meshes it with navmap_ros::from_points at 0.4 m: floors 0, 1 and 2 are a single surface that overlaps itself in XY and connects through the ramps, so A* plans between floors; the ramps (2.9 m between their side walls) leave about 0.9 m of clearance to the robot’s 0.7 m inscribed radius. The roof has no ramp in the model and is a separate, unreachable surface. The Bonxai map keeps one point per occupied 0.3 m voxel (floors, walls, pillars and ceilings). The obstacles filter ignores points above 1.2 m, so the ceiling of each floor is not an obstacle.
Localization
In the excavation, the terrain is smooth and the Bonxai cloud is sparse, so NavMap AMCL has little to correct against: it keeps the heading from the IMU, but its position can drift 0.5–1 m from the true one. The GPS configuration is the accurate one outdoors (about 0.15 m): its map frame is the Gazebo world’s (latitude_origin/longitude_origin are the world’s spherical_coordinates).
Launch arguments
| Argument | Default | Description |
|---|---|---|
params_file |
Per launch file | EasyNav parameters file |
rviz_config |
Per launch file | RViz2 configuration file |
gui |
true |
Set to false to run Gazebo headless |
rviz |
true |
Set to false to skip RViz2 |
For example, to run headless with your own parameters:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml gui:=false params_file:=/path/to/my.params.yaml
File truncated at 100 lines see the full file
Changelog for package easynav_playground_summit
0.5.1 (2026-10-21)
- Parking garage world
- NavMap navigation in 3D: local NavMap, obstacle memory, terrain-aware planning
- Localization and goal parameters for 3D (NavMap AMCL)
- Enable cpplint and copyright linters
- Contributors: Francisco Martín Rico
0.5.0 (2026-10-08)
- First release, in the easynav_playgrounds repository: EasyNav launchers and parameters for the Robotnik Summit XL: NavMap and Bonxai (RPP, MPPI, MPC), GPS fusion and warehouse configurations
- Contributors: Francisco Martín Rico, Juan Sebastián Cely Gutierrez
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged easynav_playground_summit at Robotics Stack Exchange
Package Summary
| Version | 0.5.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/EasyNavigation/easynav_playgrounds.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-10-21 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Francisco Martín Rico
Authors
- Francisco Martín Rico
EasyNav Summit Playground
EasyNav configurations for a Robotnik Summit XL in Gazebo Harmonic, in two worlds: the URJC excavation, an outdoor 3D terrain, and a small indoor warehouse. This is the outdoor reference playground of EasyNav.
The Summit playground is made of three packages:
| Package | Contents |
|---|---|
easynav_playground_summit_description |
The Summit XL model: URDF, meshes and ros2_control controllers. No Gazebo, no EasyNav |
easynav_playground_summit_worlds |
The Gazebo simulation: the URJC excavation and a small warehouse, their maps, and the launchers that spawn the Summit XL with its controllers and the ROS–Gazebo bridge. No EasyNav |
easynav_playground_summit |
The EasyNav configurations and launchers |
Supported ROS 2 distributions
This playground needs Gazebo Harmonic or newer, so it runs on Jazzy and later distributions, but not on Humble, whose Gazebo is Fortress. EasyNav itself (core and plugins) does run on Humble: only this simulation does not.
Build
From the ROS 2 workspace root:
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install --packages-up-to easynav_playground_summit
source install/setup.bash
Launch EasyNav
Each easynav_<config>.launch.yaml starts Gazebo, the Summit XL, EasyNav with that configuration and RViz2:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml
Once RViz2 is up, send a goal with the 2D Goal Pose tool.
NavMap configurations
All of them plan with A* over the NavMap (maps/excavation_urjc.navmap).
| Launch file | Controller | Localizer | Notes |
|---|---|---|---|
easynav_bonxai_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | AMCL corrects against the Bonxai 3D map (maps/excavation_urjc.pcd) |
easynav_mppi.launch.yaml |
MPPI | NavMap AMCL | |
easynav_mpc.launch.yaml |
MPC | NavMap AMCL | |
easynav_gps.launch.yaml |
Regulated Pure Pursuit | GPS (UKF) |
FusionLocalizer fusing the GPS position, wheel odometry and IMU heading; no Bonxai map |
easynav_navmap_dummy.launch.yaml |
— | — | Only loads and shows maps/excavation_urjc_2.navmap
|
easynav_navmap_local.launch.yaml |
— (teleop) | — | Local NavMap: rebuilt around the robot, in base_footprint, from the 3D laser (NavMap maps manager in local mode). Drive it with ros2 run teleop_twist_keyboard teleop_twist_keyboard
|
Warehouse configuration
easynav_warehouse_amcl.launch.yaml runs the Summit XL in the AWS RoboMaker small warehouse (worlds/small_warehouse.world), an indoor world with shelves, pallets and clutter:
ros2 launch easynav_playground_summit easynav_warehouse_amcl.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_warehouse_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Flat NavMap from maps/warehouse.yaml; Bonxai maps/warehouse.pcd
|
The NavMap is flat, built from a 2D occupancy grid. Its obstacles filter keeps the static map and adds the points the sensors see within 3 m and below 1.2 m (max_range, max_height); the inflation filter (radius 2.0 m, scaling 1.5) keeps paths in the middle of the aisles. The RViz view (rviz/easynav_warehouse.rviz) shows the inflated layer. Localization error is about 0.15 m.
Parking garage configuration
easynav_parking_garage.launch.yaml runs the Summit XL in a parking garage (worlds/parking_garage.world) with three floors stacked over the same footprint and linked by ramps:
ros2 launch easynav_playground_summit easynav_parking_garage.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_parking_garage.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Multi-level NavMap maps/parking_garage.navmap; Bonxai maps/parking_garage_bonxai.pcd
|
Both maps come from simulated 3D lidar scans of the world’s collision mesh (a VLP-16 0.8 m above the ground every 2 m on floors 0-2, so hidden faces never enter the map): maps/parking_garage.pcd keeps one point per 0.1 m voxel (the centroid), in the map frame with z = 0 on the ground floor under the spawn point. The NavMap meshes it with navmap_ros::from_points at 0.4 m: floors 0, 1 and 2 are a single surface that overlaps itself in XY and connects through the ramps, so A* plans between floors; the ramps (2.9 m between their side walls) leave about 0.9 m of clearance to the robot’s 0.7 m inscribed radius. The roof has no ramp in the model and is a separate, unreachable surface. The Bonxai map keeps one point per occupied 0.3 m voxel (floors, walls, pillars and ceilings). The obstacles filter ignores points above 1.2 m, so the ceiling of each floor is not an obstacle.
Localization
In the excavation, the terrain is smooth and the Bonxai cloud is sparse, so NavMap AMCL has little to correct against: it keeps the heading from the IMU, but its position can drift 0.5–1 m from the true one. The GPS configuration is the accurate one outdoors (about 0.15 m): its map frame is the Gazebo world’s (latitude_origin/longitude_origin are the world’s spherical_coordinates).
Launch arguments
| Argument | Default | Description |
|---|---|---|
params_file |
Per launch file | EasyNav parameters file |
rviz_config |
Per launch file | RViz2 configuration file |
gui |
true |
Set to false to run Gazebo headless |
rviz |
true |
Set to false to skip RViz2 |
For example, to run headless with your own parameters:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml gui:=false params_file:=/path/to/my.params.yaml
File truncated at 100 lines see the full file
Changelog for package easynav_playground_summit
0.5.1 (2026-10-21)
- Parking garage world
- NavMap navigation in 3D: local NavMap, obstacle memory, terrain-aware planning
- Localization and goal parameters for 3D (NavMap AMCL)
- Enable cpplint and copyright linters
- Contributors: Francisco Martín Rico
0.5.0 (2026-10-08)
- First release, in the easynav_playgrounds repository: EasyNav launchers and parameters for the Robotnik Summit XL: NavMap and Bonxai (RPP, MPPI, MPC), GPS fusion and warehouse configurations
- Contributors: Francisco Martín Rico, Juan Sebastián Cely Gutierrez
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged easynav_playground_summit at Robotics Stack Exchange
Package Summary
| Version | 0.5.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/EasyNavigation/easynav_playgrounds.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-10-21 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Francisco Martín Rico
Authors
- Francisco Martín Rico
EasyNav Summit Playground
EasyNav configurations for a Robotnik Summit XL in Gazebo Harmonic, in two worlds: the URJC excavation, an outdoor 3D terrain, and a small indoor warehouse. This is the outdoor reference playground of EasyNav.
The Summit playground is made of three packages:
| Package | Contents |
|---|---|
easynav_playground_summit_description |
The Summit XL model: URDF, meshes and ros2_control controllers. No Gazebo, no EasyNav |
easynav_playground_summit_worlds |
The Gazebo simulation: the URJC excavation and a small warehouse, their maps, and the launchers that spawn the Summit XL with its controllers and the ROS–Gazebo bridge. No EasyNav |
easynav_playground_summit |
The EasyNav configurations and launchers |
Supported ROS 2 distributions
This playground needs Gazebo Harmonic or newer, so it runs on Jazzy and later distributions, but not on Humble, whose Gazebo is Fortress. EasyNav itself (core and plugins) does run on Humble: only this simulation does not.
Build
From the ROS 2 workspace root:
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install --packages-up-to easynav_playground_summit
source install/setup.bash
Launch EasyNav
Each easynav_<config>.launch.yaml starts Gazebo, the Summit XL, EasyNav with that configuration and RViz2:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml
Once RViz2 is up, send a goal with the 2D Goal Pose tool.
NavMap configurations
All of them plan with A* over the NavMap (maps/excavation_urjc.navmap).
| Launch file | Controller | Localizer | Notes |
|---|---|---|---|
easynav_bonxai_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | AMCL corrects against the Bonxai 3D map (maps/excavation_urjc.pcd) |
easynav_mppi.launch.yaml |
MPPI | NavMap AMCL | |
easynav_mpc.launch.yaml |
MPC | NavMap AMCL | |
easynav_gps.launch.yaml |
Regulated Pure Pursuit | GPS (UKF) |
FusionLocalizer fusing the GPS position, wheel odometry and IMU heading; no Bonxai map |
easynav_navmap_dummy.launch.yaml |
— | — | Only loads and shows maps/excavation_urjc_2.navmap
|
easynav_navmap_local.launch.yaml |
— (teleop) | — | Local NavMap: rebuilt around the robot, in base_footprint, from the 3D laser (NavMap maps manager in local mode). Drive it with ros2 run teleop_twist_keyboard teleop_twist_keyboard
|
Warehouse configuration
easynav_warehouse_amcl.launch.yaml runs the Summit XL in the AWS RoboMaker small warehouse (worlds/small_warehouse.world), an indoor world with shelves, pallets and clutter:
ros2 launch easynav_playground_summit easynav_warehouse_amcl.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_warehouse_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Flat NavMap from maps/warehouse.yaml; Bonxai maps/warehouse.pcd
|
The NavMap is flat, built from a 2D occupancy grid. Its obstacles filter keeps the static map and adds the points the sensors see within 3 m and below 1.2 m (max_range, max_height); the inflation filter (radius 2.0 m, scaling 1.5) keeps paths in the middle of the aisles. The RViz view (rviz/easynav_warehouse.rviz) shows the inflated layer. Localization error is about 0.15 m.
Parking garage configuration
easynav_parking_garage.launch.yaml runs the Summit XL in a parking garage (worlds/parking_garage.world) with three floors stacked over the same footprint and linked by ramps:
ros2 launch easynav_playground_summit easynav_parking_garage.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_parking_garage.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Multi-level NavMap maps/parking_garage.navmap; Bonxai maps/parking_garage_bonxai.pcd
|
Both maps come from simulated 3D lidar scans of the world’s collision mesh (a VLP-16 0.8 m above the ground every 2 m on floors 0-2, so hidden faces never enter the map): maps/parking_garage.pcd keeps one point per 0.1 m voxel (the centroid), in the map frame with z = 0 on the ground floor under the spawn point. The NavMap meshes it with navmap_ros::from_points at 0.4 m: floors 0, 1 and 2 are a single surface that overlaps itself in XY and connects through the ramps, so A* plans between floors; the ramps (2.9 m between their side walls) leave about 0.9 m of clearance to the robot’s 0.7 m inscribed radius. The roof has no ramp in the model and is a separate, unreachable surface. The Bonxai map keeps one point per occupied 0.3 m voxel (floors, walls, pillars and ceilings). The obstacles filter ignores points above 1.2 m, so the ceiling of each floor is not an obstacle.
Localization
In the excavation, the terrain is smooth and the Bonxai cloud is sparse, so NavMap AMCL has little to correct against: it keeps the heading from the IMU, but its position can drift 0.5–1 m from the true one. The GPS configuration is the accurate one outdoors (about 0.15 m): its map frame is the Gazebo world’s (latitude_origin/longitude_origin are the world’s spherical_coordinates).
Launch arguments
| Argument | Default | Description |
|---|---|---|
params_file |
Per launch file | EasyNav parameters file |
rviz_config |
Per launch file | RViz2 configuration file |
gui |
true |
Set to false to run Gazebo headless |
rviz |
true |
Set to false to skip RViz2 |
For example, to run headless with your own parameters:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml gui:=false params_file:=/path/to/my.params.yaml
File truncated at 100 lines see the full file
Changelog for package easynav_playground_summit
0.5.1 (2026-10-21)
- Parking garage world
- NavMap navigation in 3D: local NavMap, obstacle memory, terrain-aware planning
- Localization and goal parameters for 3D (NavMap AMCL)
- Enable cpplint and copyright linters
- Contributors: Francisco Martín Rico
0.5.0 (2026-10-08)
- First release, in the easynav_playgrounds repository: EasyNav launchers and parameters for the Robotnik Summit XL: NavMap and Bonxai (RPP, MPPI, MPC), GPS fusion and warehouse configurations
- Contributors: Francisco Martín Rico, Juan Sebastián Cely Gutierrez
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged easynav_playground_summit at Robotics Stack Exchange
Package Summary
| Version | 0.5.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/EasyNavigation/easynav_playgrounds.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-10-21 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Francisco Martín Rico
Authors
- Francisco Martín Rico
EasyNav Summit Playground
EasyNav configurations for a Robotnik Summit XL in Gazebo Harmonic, in two worlds: the URJC excavation, an outdoor 3D terrain, and a small indoor warehouse. This is the outdoor reference playground of EasyNav.
The Summit playground is made of three packages:
| Package | Contents |
|---|---|
easynav_playground_summit_description |
The Summit XL model: URDF, meshes and ros2_control controllers. No Gazebo, no EasyNav |
easynav_playground_summit_worlds |
The Gazebo simulation: the URJC excavation and a small warehouse, their maps, and the launchers that spawn the Summit XL with its controllers and the ROS–Gazebo bridge. No EasyNav |
easynav_playground_summit |
The EasyNav configurations and launchers |
Supported ROS 2 distributions
This playground needs Gazebo Harmonic or newer, so it runs on Jazzy and later distributions, but not on Humble, whose Gazebo is Fortress. EasyNav itself (core and plugins) does run on Humble: only this simulation does not.
Build
From the ROS 2 workspace root:
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install --packages-up-to easynav_playground_summit
source install/setup.bash
Launch EasyNav
Each easynav_<config>.launch.yaml starts Gazebo, the Summit XL, EasyNav with that configuration and RViz2:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml
Once RViz2 is up, send a goal with the 2D Goal Pose tool.
NavMap configurations
All of them plan with A* over the NavMap (maps/excavation_urjc.navmap).
| Launch file | Controller | Localizer | Notes |
|---|---|---|---|
easynav_bonxai_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | AMCL corrects against the Bonxai 3D map (maps/excavation_urjc.pcd) |
easynav_mppi.launch.yaml |
MPPI | NavMap AMCL | |
easynav_mpc.launch.yaml |
MPC | NavMap AMCL | |
easynav_gps.launch.yaml |
Regulated Pure Pursuit | GPS (UKF) |
FusionLocalizer fusing the GPS position, wheel odometry and IMU heading; no Bonxai map |
easynav_navmap_dummy.launch.yaml |
— | — | Only loads and shows maps/excavation_urjc_2.navmap
|
easynav_navmap_local.launch.yaml |
— (teleop) | — | Local NavMap: rebuilt around the robot, in base_footprint, from the 3D laser (NavMap maps manager in local mode). Drive it with ros2 run teleop_twist_keyboard teleop_twist_keyboard
|
Warehouse configuration
easynav_warehouse_amcl.launch.yaml runs the Summit XL in the AWS RoboMaker small warehouse (worlds/small_warehouse.world), an indoor world with shelves, pallets and clutter:
ros2 launch easynav_playground_summit easynav_warehouse_amcl.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_warehouse_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Flat NavMap from maps/warehouse.yaml; Bonxai maps/warehouse.pcd
|
The NavMap is flat, built from a 2D occupancy grid. Its obstacles filter keeps the static map and adds the points the sensors see within 3 m and below 1.2 m (max_range, max_height); the inflation filter (radius 2.0 m, scaling 1.5) keeps paths in the middle of the aisles. The RViz view (rviz/easynav_warehouse.rviz) shows the inflated layer. Localization error is about 0.15 m.
Parking garage configuration
easynav_parking_garage.launch.yaml runs the Summit XL in a parking garage (worlds/parking_garage.world) with three floors stacked over the same footprint and linked by ramps:
ros2 launch easynav_playground_summit easynav_parking_garage.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_parking_garage.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Multi-level NavMap maps/parking_garage.navmap; Bonxai maps/parking_garage_bonxai.pcd
|
Both maps come from simulated 3D lidar scans of the world’s collision mesh (a VLP-16 0.8 m above the ground every 2 m on floors 0-2, so hidden faces never enter the map): maps/parking_garage.pcd keeps one point per 0.1 m voxel (the centroid), in the map frame with z = 0 on the ground floor under the spawn point. The NavMap meshes it with navmap_ros::from_points at 0.4 m: floors 0, 1 and 2 are a single surface that overlaps itself in XY and connects through the ramps, so A* plans between floors; the ramps (2.9 m between their side walls) leave about 0.9 m of clearance to the robot’s 0.7 m inscribed radius. The roof has no ramp in the model and is a separate, unreachable surface. The Bonxai map keeps one point per occupied 0.3 m voxel (floors, walls, pillars and ceilings). The obstacles filter ignores points above 1.2 m, so the ceiling of each floor is not an obstacle.
Localization
In the excavation, the terrain is smooth and the Bonxai cloud is sparse, so NavMap AMCL has little to correct against: it keeps the heading from the IMU, but its position can drift 0.5–1 m from the true one. The GPS configuration is the accurate one outdoors (about 0.15 m): its map frame is the Gazebo world’s (latitude_origin/longitude_origin are the world’s spherical_coordinates).
Launch arguments
| Argument | Default | Description |
|---|---|---|
params_file |
Per launch file | EasyNav parameters file |
rviz_config |
Per launch file | RViz2 configuration file |
gui |
true |
Set to false to run Gazebo headless |
rviz |
true |
Set to false to skip RViz2 |
For example, to run headless with your own parameters:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml gui:=false params_file:=/path/to/my.params.yaml
File truncated at 100 lines see the full file
Changelog for package easynav_playground_summit
0.5.1 (2026-10-21)
- Parking garage world
- NavMap navigation in 3D: local NavMap, obstacle memory, terrain-aware planning
- Localization and goal parameters for 3D (NavMap AMCL)
- Enable cpplint and copyright linters
- Contributors: Francisco Martín Rico
0.5.0 (2026-10-08)
- First release, in the easynav_playgrounds repository: EasyNav launchers and parameters for the Robotnik Summit XL: NavMap and Bonxai (RPP, MPPI, MPC), GPS fusion and warehouse configurations
- Contributors: Francisco Martín Rico, Juan Sebastián Cely Gutierrez
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged easynav_playground_summit at Robotics Stack Exchange
Package Summary
| Version | 0.5.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/EasyNavigation/easynav_playgrounds.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-10-21 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Francisco Martín Rico
Authors
- Francisco Martín Rico
EasyNav Summit Playground
EasyNav configurations for a Robotnik Summit XL in Gazebo Harmonic, in two worlds: the URJC excavation, an outdoor 3D terrain, and a small indoor warehouse. This is the outdoor reference playground of EasyNav.
The Summit playground is made of three packages:
| Package | Contents |
|---|---|
easynav_playground_summit_description |
The Summit XL model: URDF, meshes and ros2_control controllers. No Gazebo, no EasyNav |
easynav_playground_summit_worlds |
The Gazebo simulation: the URJC excavation and a small warehouse, their maps, and the launchers that spawn the Summit XL with its controllers and the ROS–Gazebo bridge. No EasyNav |
easynav_playground_summit |
The EasyNav configurations and launchers |
Supported ROS 2 distributions
This playground needs Gazebo Harmonic or newer, so it runs on Jazzy and later distributions, but not on Humble, whose Gazebo is Fortress. EasyNav itself (core and plugins) does run on Humble: only this simulation does not.
Build
From the ROS 2 workspace root:
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install --packages-up-to easynav_playground_summit
source install/setup.bash
Launch EasyNav
Each easynav_<config>.launch.yaml starts Gazebo, the Summit XL, EasyNav with that configuration and RViz2:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml
Once RViz2 is up, send a goal with the 2D Goal Pose tool.
NavMap configurations
All of them plan with A* over the NavMap (maps/excavation_urjc.navmap).
| Launch file | Controller | Localizer | Notes |
|---|---|---|---|
easynav_bonxai_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | AMCL corrects against the Bonxai 3D map (maps/excavation_urjc.pcd) |
easynav_mppi.launch.yaml |
MPPI | NavMap AMCL | |
easynav_mpc.launch.yaml |
MPC | NavMap AMCL | |
easynav_gps.launch.yaml |
Regulated Pure Pursuit | GPS (UKF) |
FusionLocalizer fusing the GPS position, wheel odometry and IMU heading; no Bonxai map |
easynav_navmap_dummy.launch.yaml |
— | — | Only loads and shows maps/excavation_urjc_2.navmap
|
easynav_navmap_local.launch.yaml |
— (teleop) | — | Local NavMap: rebuilt around the robot, in base_footprint, from the 3D laser (NavMap maps manager in local mode). Drive it with ros2 run teleop_twist_keyboard teleop_twist_keyboard
|
Warehouse configuration
easynav_warehouse_amcl.launch.yaml runs the Summit XL in the AWS RoboMaker small warehouse (worlds/small_warehouse.world), an indoor world with shelves, pallets and clutter:
ros2 launch easynav_playground_summit easynav_warehouse_amcl.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_warehouse_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Flat NavMap from maps/warehouse.yaml; Bonxai maps/warehouse.pcd
|
The NavMap is flat, built from a 2D occupancy grid. Its obstacles filter keeps the static map and adds the points the sensors see within 3 m and below 1.2 m (max_range, max_height); the inflation filter (radius 2.0 m, scaling 1.5) keeps paths in the middle of the aisles. The RViz view (rviz/easynav_warehouse.rviz) shows the inflated layer. Localization error is about 0.15 m.
Parking garage configuration
easynav_parking_garage.launch.yaml runs the Summit XL in a parking garage (worlds/parking_garage.world) with three floors stacked over the same footprint and linked by ramps:
ros2 launch easynav_playground_summit easynav_parking_garage.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_parking_garage.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Multi-level NavMap maps/parking_garage.navmap; Bonxai maps/parking_garage_bonxai.pcd
|
Both maps come from simulated 3D lidar scans of the world’s collision mesh (a VLP-16 0.8 m above the ground every 2 m on floors 0-2, so hidden faces never enter the map): maps/parking_garage.pcd keeps one point per 0.1 m voxel (the centroid), in the map frame with z = 0 on the ground floor under the spawn point. The NavMap meshes it with navmap_ros::from_points at 0.4 m: floors 0, 1 and 2 are a single surface that overlaps itself in XY and connects through the ramps, so A* plans between floors; the ramps (2.9 m between their side walls) leave about 0.9 m of clearance to the robot’s 0.7 m inscribed radius. The roof has no ramp in the model and is a separate, unreachable surface. The Bonxai map keeps one point per occupied 0.3 m voxel (floors, walls, pillars and ceilings). The obstacles filter ignores points above 1.2 m, so the ceiling of each floor is not an obstacle.
Localization
In the excavation, the terrain is smooth and the Bonxai cloud is sparse, so NavMap AMCL has little to correct against: it keeps the heading from the IMU, but its position can drift 0.5–1 m from the true one. The GPS configuration is the accurate one outdoors (about 0.15 m): its map frame is the Gazebo world’s (latitude_origin/longitude_origin are the world’s spherical_coordinates).
Launch arguments
| Argument | Default | Description |
|---|---|---|
params_file |
Per launch file | EasyNav parameters file |
rviz_config |
Per launch file | RViz2 configuration file |
gui |
true |
Set to false to run Gazebo headless |
rviz |
true |
Set to false to skip RViz2 |
For example, to run headless with your own parameters:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml gui:=false params_file:=/path/to/my.params.yaml
File truncated at 100 lines see the full file
Changelog for package easynav_playground_summit
0.5.1 (2026-10-21)
- Parking garage world
- NavMap navigation in 3D: local NavMap, obstacle memory, terrain-aware planning
- Localization and goal parameters for 3D (NavMap AMCL)
- Enable cpplint and copyright linters
- Contributors: Francisco Martín Rico
0.5.0 (2026-10-08)
- First release, in the easynav_playgrounds repository: EasyNav launchers and parameters for the Robotnik Summit XL: NavMap and Bonxai (RPP, MPPI, MPC), GPS fusion and warehouse configurations
- Contributors: Francisco Martín Rico, Juan Sebastián Cely Gutierrez
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged easynav_playground_summit at Robotics Stack Exchange
Package Summary
| Version | 0.5.1 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/EasyNavigation/easynav_playgrounds.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-10-21 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Francisco Martín Rico
Authors
- Francisco Martín Rico
EasyNav Summit Playground
EasyNav configurations for a Robotnik Summit XL in Gazebo Harmonic, in two worlds: the URJC excavation, an outdoor 3D terrain, and a small indoor warehouse. This is the outdoor reference playground of EasyNav.
The Summit playground is made of three packages:
| Package | Contents |
|---|---|
easynav_playground_summit_description |
The Summit XL model: URDF, meshes and ros2_control controllers. No Gazebo, no EasyNav |
easynav_playground_summit_worlds |
The Gazebo simulation: the URJC excavation and a small warehouse, their maps, and the launchers that spawn the Summit XL with its controllers and the ROS–Gazebo bridge. No EasyNav |
easynav_playground_summit |
The EasyNav configurations and launchers |
Supported ROS 2 distributions
This playground needs Gazebo Harmonic or newer, so it runs on Jazzy and later distributions, but not on Humble, whose Gazebo is Fortress. EasyNav itself (core and plugins) does run on Humble: only this simulation does not.
Build
From the ROS 2 workspace root:
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install --packages-up-to easynav_playground_summit
source install/setup.bash
Launch EasyNav
Each easynav_<config>.launch.yaml starts Gazebo, the Summit XL, EasyNav with that configuration and RViz2:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml
Once RViz2 is up, send a goal with the 2D Goal Pose tool.
NavMap configurations
All of them plan with A* over the NavMap (maps/excavation_urjc.navmap).
| Launch file | Controller | Localizer | Notes |
|---|---|---|---|
easynav_bonxai_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | AMCL corrects against the Bonxai 3D map (maps/excavation_urjc.pcd) |
easynav_mppi.launch.yaml |
MPPI | NavMap AMCL | |
easynav_mpc.launch.yaml |
MPC | NavMap AMCL | |
easynav_gps.launch.yaml |
Regulated Pure Pursuit | GPS (UKF) |
FusionLocalizer fusing the GPS position, wheel odometry and IMU heading; no Bonxai map |
easynav_navmap_dummy.launch.yaml |
— | — | Only loads and shows maps/excavation_urjc_2.navmap
|
easynav_navmap_local.launch.yaml |
— (teleop) | — | Local NavMap: rebuilt around the robot, in base_footprint, from the 3D laser (NavMap maps manager in local mode). Drive it with ros2 run teleop_twist_keyboard teleop_twist_keyboard
|
Warehouse configuration
easynav_warehouse_amcl.launch.yaml runs the Summit XL in the AWS RoboMaker small warehouse (worlds/small_warehouse.world), an indoor world with shelves, pallets and clutter:
ros2 launch easynav_playground_summit easynav_warehouse_amcl.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_warehouse_amcl.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Flat NavMap from maps/warehouse.yaml; Bonxai maps/warehouse.pcd
|
The NavMap is flat, built from a 2D occupancy grid. Its obstacles filter keeps the static map and adds the points the sensors see within 3 m and below 1.2 m (max_range, max_height); the inflation filter (radius 2.0 m, scaling 1.5) keeps paths in the middle of the aisles. The RViz view (rviz/easynav_warehouse.rviz) shows the inflated layer. Localization error is about 0.15 m.
Parking garage configuration
easynav_parking_garage.launch.yaml runs the Summit XL in a parking garage (worlds/parking_garage.world) with three floors stacked over the same footprint and linked by ramps:
ros2 launch easynav_playground_summit easynav_parking_garage.launch.yaml
| Launch file | Controller | Localizer | Maps |
|---|---|---|---|
easynav_parking_garage.launch.yaml |
Regulated Pure Pursuit | NavMap AMCL | Multi-level NavMap maps/parking_garage.navmap; Bonxai maps/parking_garage_bonxai.pcd
|
Both maps come from simulated 3D lidar scans of the world’s collision mesh (a VLP-16 0.8 m above the ground every 2 m on floors 0-2, so hidden faces never enter the map): maps/parking_garage.pcd keeps one point per 0.1 m voxel (the centroid), in the map frame with z = 0 on the ground floor under the spawn point. The NavMap meshes it with navmap_ros::from_points at 0.4 m: floors 0, 1 and 2 are a single surface that overlaps itself in XY and connects through the ramps, so A* plans between floors; the ramps (2.9 m between their side walls) leave about 0.9 m of clearance to the robot’s 0.7 m inscribed radius. The roof has no ramp in the model and is a separate, unreachable surface. The Bonxai map keeps one point per occupied 0.3 m voxel (floors, walls, pillars and ceilings). The obstacles filter ignores points above 1.2 m, so the ceiling of each floor is not an obstacle.
Localization
In the excavation, the terrain is smooth and the Bonxai cloud is sparse, so NavMap AMCL has little to correct against: it keeps the heading from the IMU, but its position can drift 0.5–1 m from the true one. The GPS configuration is the accurate one outdoors (about 0.15 m): its map frame is the Gazebo world’s (latitude_origin/longitude_origin are the world’s spherical_coordinates).
Launch arguments
| Argument | Default | Description |
|---|---|---|
params_file |
Per launch file | EasyNav parameters file |
rviz_config |
Per launch file | RViz2 configuration file |
gui |
true |
Set to false to run Gazebo headless |
rviz |
true |
Set to false to skip RViz2 |
For example, to run headless with your own parameters:
ros2 launch easynav_playground_summit easynav_bonxai_amcl.launch.yaml gui:=false params_file:=/path/to/my.params.yaml
File truncated at 100 lines see the full file
Changelog for package easynav_playground_summit
0.5.1 (2026-10-21)
- Parking garage world
- NavMap navigation in 3D: local NavMap, obstacle memory, terrain-aware planning
- Localization and goal parameters for 3D (NavMap AMCL)
- Enable cpplint and copyright linters
- Contributors: Francisco Martín Rico
0.5.0 (2026-10-08)
- First release, in the easynav_playgrounds repository: EasyNav launchers and parameters for the Robotnik Summit XL: NavMap and Bonxai (RPP, MPPI, MPC), GPS fusion and warehouse configurations
- Contributors: Francisco Martín Rico, Juan Sebastián Cely Gutierrez