Package Summary
Tags | No category tags. |
Version | 0.1.5 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-planning/navigation2.git |
VCS Type | git |
VCS Version | crystal-devel |
Last Updated | 2019-02-12 |
Dev Status | MAINTAINED |
Released | RELEASED |
Package Description
Additional Links
Maintainers
- Michael Jeronimo
- Steve Macenski
Authors
nav2_bringup
The nav2_bringup
package is an example bringup system for navigation2 applications.
Notes: (December 2018, Crystal Release) * We recommend doing this on a Ubuntu 18.04 installation. We’re currently having build issues on 16.04. (see https://github.com/ros-planning/navigation2/issues/353) * This stack and ROS2 are still in heavy development and there are some bugs and stability issues being worked on, so please do not try this on a robot without taking heavy safety precautions. THE ROBOT MAY CRASH! * It is recommended to start with simulation using Gazebo before proceeding to run on a physical robot
Install and build our code by following this guide: https://github.com/ros-planning/navigation2/blob/master/doc/BUILD.md
Launch Navigation2 in simulation with Gazebo (first time users)
Pre-requisites:
- Gazebo installed on the system
- gazebo_ros_pkgs for ROS2 installed on the system
- A Gazebo world for simulating the robot (see Gazebo tutorials)
- A map of that world saved to a map.pgm and map.yaml (see ROS Navigation tutorials)
Terminal 1: Launch Gazebo and Rviz2
Example: See turtlebot3_gazebo models for details
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:<full/path/to/my_robot/models>
ros2 launch nav2_bringup gazebo_rviz2_launch.py world:=<full/path/to/gazebo.world>
Terminal 2: Launch your robot specific transforms
Example: See turtlebot3_gazebo for details
ros2 launch turtlebot3_bringup turtlebot3_robot.launch.py
Terminal 3: Launch map_server and AMCL
# Set the tf publisher node to use simulation time or AMCL won't get the transforms correctly
ros2 param set /robot_state_publisher use_sim_time True
# Launch map_server and AMCL, set map_type as "occupancy" by default.
ros2 launch nav2_bringup nav2_bringup_1st_launch.py map:=<full/path/to/map.yaml> map_type:=occupancy use_sim_time:=True
In RVIZ: * Make sure all transforms from odom are present. (odom->base_link->base_scan) * Localize the robot using “2D Pose Estimate” button.
Terminal 4:
Run the rest of the Navigation2 bringup
ros2 launch nav2_bringup nav2_bringup_2nd_launch.py use_sim_time:=True
Terminal 5:
Set the World Model and the two costmap nodes to use simulation time
ros2 param set /world_model use_sim_time True
ros2 param set /global_costmap/global_costmap use_sim_time True
ros2 param set /local_costmap/local_costmap use_sim_time True
Notes: * Setting use_sim_time has to be done dynamically after the nodes are up due to this bug:https://github.com/ros2/rclcpp/issues/595 * Sim time needs to be set in every namespace individually. * Sometimes setting use_sim_time a second time is required for all the nodes to get updated * IF you continue to see WARN messages like the ones below, retry setting the use_sim_time parameter
[WARN] [world_model]: Costmap2DROS transform timeout. Current time: 1543616767.1026, global_pose stamp: 758.8040, tolerance: 0.3000, difference: 1543616008.2986
[WARN] [FollowPathNode]: Costmap2DROS transform timeout. Current time: 1543616767.2787, global_pose stamp: 759.0040, tolerance: 0.3000, difference: 1543616008.2747
In RVIZ: * Add "map" to subscribe topic "/map" * Add "RobotModel", set "Description Source" with "File", set "Description File" with the name of the urdf file for your robot (example: turtlebot3_burger.urdf)" * Localize the robot using “2D Pose Estimate” button. * Send the robot a goal using “2D Nav Goal” button.
Launch Navigation2 on a Robot (first time users)
Pre-requisites: * Run SLAM or Cartographer with tele-op to drive the robot and generate a map of an area for testing first. The directions below assume this has already been done. If not, it can be done in ROS1 before beginning to install our code. * Publish all the transforms from your robot from base_link to base_scan
Launch the code using this launch file and your map.yaml:
ros2 launch nav2_bringup nav2_bringup_1st_launch.py map:=<full/path/to/map.yaml> map_type:=occupancy
In another terminal, run RVIZ:
ros2 run rviz2 rviz2
In RVIZ: * Make sure all transforms from odom are present. (odom->base_link->base_scan) * Localize the robot using “2D Pose Estimate” button.
Run the rest of the Navigation2 bringup
ros2 launch nav2_bringup nav2_bringup_2nd_launch.py
In RVIZ: * Localize the robot using “2D Pose Estimate” button. * Send the robot a goal using “2D Nav Goal” button.
Advanced 1-step Launch for experienced users
Pre-requisites: * You've completed bringup of your robot successfully following the 2-step process above * You know your transforms are being published correctly and AMCL can localize
Follow directions above except
* Instead of running the nav2_bringup_1st_launch.py
then the nav2_bringup_2nd_launch.py
* You can do it in one step like this:
ros2 launch nav2_bringup nav2_bringup_launch.py map:=<full/path/to/map.yaml>
If running in simulation:
ros2 launch nav2_bringup nav2_bringup_launch.py map:=<full/path/to/map.yaml> use_sim_time:=True
ros2 param set /world_model use_sim_time True; ros2 param set /global_costmap/global_costmap use_sim_time True; ros2 param set /local_costmap/local_costmap use_sim_time True
Future Work
- adding configuration files for the example bringup
- a more complete map for system level testing
Wiki Tutorials
Source Tutorials
Package Dependencies
Deps | Name | |
---|---|---|
1 | nav2_common | |
1 | navigation2 | |
1 | launch_ros |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged nav2_bringup at answers.ros.org
![]() |
nav2_bringup package from nav2_platform reponav2_bringup nav2_driver nav2_navigation nav2_platform |
Package Summary
Tags | No category tags. |
Version | 0.0.7 |
License | GPLv3 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/paulbovbel/nav2_platform.git |
VCS Type | git |
VCS Version | hydro-devel |
Last Updated | 2014-09-13 |
Dev Status | MAINTAINED |
Released | RELEASED |
Package Description
Additional Links
Maintainers
- Paul Bovbel
Authors
- Paul Bovbel
Changelog for package nav2_bringup
0.0.7 (2014-09-13)
0.0.5 (2014-04-17)
- fix dependencies and building
- Contributors: Paul Bovbel
0.0.4 (2014-04-16)
- fix dependencies
- Contributors: Paul Bovbel
0.0.3 (2014-04-16)
0.0.2 (2014-04-16)
- fix dependencies in nav2_bringup
- Contributors: Paul Bovbel
0.0.1 (2014-04-15)
- add port argument
- refactor launch structure
- initial commit for support packages
- Contributors: Paul Bovbel
Wiki Tutorials
Source Tutorials
Package Dependencies
Deps | Name | |
---|---|---|
1 | nav2_driver | |
1 | nav2_navigation | |
1 | hokuyo_node | |
2 | depthimage_to_laserscan |
System Dependencies
Dependant Packages
Name | Repo | Deps |
---|---|---|
nav2_platform | github-paulbovbel-nav2_platform |
Launch files
- launch/nav2_amcl.launch
-
- map_path
- use_external_map [default: true]
- launch/nav2_robot.launch
-
- use_external_map [default: false]
- robot_address
- robot_port [default: 5010]
- use_external_map [default: $(arg use_external_map)]
- launch/nav2_gmapping.launch
-
- use_external_map [default: true]
Messages
Services
Plugins
Recent questions tagged nav2_bringup at answers.ros.org
![]() |
nav2_bringup package from nav2_platform reponav2_bringup nav2_driver nav2_navigation nav2_platform |
Package Summary
Tags | No category tags. |
Version | 0.0.7 |
License | GPLv3 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/paulbovbel/nav2_platform.git |
VCS Type | git |
VCS Version | hydro-devel |
Last Updated | 2014-09-13 |
Dev Status | MAINTAINED |
Released | RELEASED |
Package Description
Additional Links
Maintainers
- Paul Bovbel
Authors
- Paul Bovbel
Changelog for package nav2_bringup
0.0.7 (2014-09-13)
0.0.5 (2014-04-17)
- fix dependencies and building
- Contributors: Paul Bovbel
0.0.4 (2014-04-16)
- fix dependencies
- Contributors: Paul Bovbel
0.0.3 (2014-04-16)
0.0.2 (2014-04-16)
- fix dependencies in nav2_bringup
- Contributors: Paul Bovbel
0.0.1 (2014-04-15)
- add port argument
- refactor launch structure
- initial commit for support packages
- Contributors: Paul Bovbel
Wiki Tutorials
Source Tutorials
Package Dependencies
Deps | Name | |
---|---|---|
1 | nav2_driver | |
1 | nav2_navigation | |
1 | hokuyo_node | |
2 | depthimage_to_laserscan |
System Dependencies
Dependant Packages
Name | Repo | Deps |
---|---|---|
nav2_platform | github-paulbovbel-nav2_platform |
Launch files
- launch/nav2_amcl.launch
-
- map_path
- use_external_map [default: true]
- launch/nav2_robot.launch
-
- use_external_map [default: false]
- robot_address
- robot_port [default: 5010]
- use_external_map [default: $(arg use_external_map)]
- launch/nav2_gmapping.launch
-
- use_external_map [default: true]