Visible to Intel only — GUID: GUID-5FD414D4-D5A7-4DBC-9ACF-04A08030023B
Visible to Intel only — GUID: GUID-5FD414D4-D5A7-4DBC-9ACF-04A08030023B
ITS Path Planner ROS 2 Navigation Plugin
The ITS Plugin for the ROS 2 Navigation 2 application plugin is a global path planner module that is based on Intelligent sampling and Two-way Search (ITS). It does not support continuous replanning.
Prerequisites: Use a simple behavior tree with a compute path to pose and a follow path.
ITS planner inputs:
global 2D costmap (nav2_costmap_2d::Costmap2D)
start and goal pose (geometry_msgs::msg::PoseStamped)
ITS planner outputs: 2D waypoints of the path
Path planning steps summary:
The ITS planner converts the 2D costmap to either a Probabilistic Road Map (PRM) or a Deterministic Road Map (DRM).
The generated roadmap is saved as a txt file which can be reused for multiple inquiries.
The ITS planner conducts a two-way search to find a path from the source to the destination. Either the smoothing filter or a catmull spline interpolation can be used to create a smooth and continuous path. The generated smooth path is in the form of a ROS 2 navigation message type (nav_msgs::msg).
For customization options, see ITS Path Planner Plugin Customization.
Run the ROS 2 Navigation Sample Application Using ITS Path Planner
Check if your installation has the eiforamr-full-flavour-sdk Docker* image.
docker images |grep eiforamr-full-flavour-sdk #if you have it installed, the result is: eiforamr-full-flavour-sdk
NOTE:If the image is not installed, continuing with these steps triggers a build that takes longer than an hour (sometimes, a lot longer depending on the system resources and internet connection).If the image is not installed, Intel recommends installing the Robot Complete Kit with the Get Started Guide for Robots.
Go to the AMR_containers folder:
cd <edge_insights_for_amr_path>/Edge_Insights_for_Autonomous_Mobile_Robots_*/AMR_containers
Prepare the environment setup:
source ./01_docker_sdk_env/docker_compose/common/docker_compose.source export CONTAINER_BASE_PATH=`pwd`
Start the ROS 2 navigation sample application using the TurtleBot* 3 Gazebo* simulation:
CHOOSE_USER=eiforamr docker-compose -f 01_docker_sdk_env/docker_compose/05_tutorials/its_path_planner.tutorial.yml up
NOTE:The above command opens Gazebo* and rviz2 applications. Gazebo* takes a longer time to open (up to a minute) depending on the host’s capabilities. Both applications contain the simulated waffle map, and a simulated robot. Initially, the applications are opened in the background, but you can bring them into the foreground, side-by-side, for a better visual.Set the robot 2D Pose Estimate in rviz2:
Set the initial robot pose by pressing 2D Pose Estimate in rviz2.
At the robot estimated location, down-click inside the 2D map. For reference, use the robot pose as it appears in Gazebo*.
Set the orientation by dragging forward from the down-click. This also enables ROS 2 navigation.
In rviz2, press Navigation2 Goal, and choose a destination for the robot. This calls the behavioral tree navigator to go to that goal through an action server.
Expected result: The robot moves along the path generated to its new destination.
Set new destinations for the robot, one at a time.
To close this, do one of the following:
Type Ctrl-c in the terminal where you did the up command.
Run this command in another terminal:
CHOOSE_USER=eiforamr 01_docker_sdk_env/docker_compose/05_tutorials/its_path_planner.tutorial.yml down
Troubleshooting
For general robot issues, go to Troubleshooting for Robot Tutorials.
Did you find the information on this page useful?
Feedback Message
Characters remaining: