Developer Guide

  • 2022.3
  • 10/25/2022
  • Public Content
Contents

Step 4: Robot Base Node ROS 2 Navigation Parameter File

Introduction to the ROS 2 Navigation Parameter File

The Edge Insights for Autonomous Mobile Robots pipeline for AMRs uses the Navigation 2 package from ROS 2.
The Navigation 2 package requires several parameters specific to the robot and the area it is mapping to be set.
In Edge Insights for Autonomous Mobile Robots there are two examples:
cd <edge_insights_for_amr_path>/Edge_Insights_for_Autonomous_Mobile_Robots_*/AMR_containers ls 01_docker_sdk_env/artifacts/01_amr/amr_generic/param/aaeon_nav.param.yaml 01_docker_sdk_env/artifacts/01_amr/amr_generic/param/pengo_nav.param.yaml

The Navigation Parameter File as it Applies to Robots

To help understand the options in this parameter file, see ROS 2 Navigation 2 packages:
There are a lot of parameters to set, and Intel recommends reading this Navigation 2 documentation to get the better picture.
You can also compare the two nav.param.yaml files that are in Edge Insights for Autonomous Mobile Robots to understand which parameters are different from robot to robot:
cd <edge_insights_for_amr_path>/Edge_Insights_for_Autonomous_Mobile_Robots_*/AMR_containers meld 01_docker_sdk_env/artifacts/01_amr/amr_generic/param/aaeon_nav.param.yaml 01_docker_sdk_env/artifacts/01_amr/amr_generic/param/pengo_nav.param.yaml
The most important parameters to set are:
  • use_sim_time
    :
    Ignore all differences. It is used in simulations. Set it to False when running in a real environment.
  • base_frame_id
    : robot frame ID being published by the robot base node
    The default is
    base_footprint
    , but
    base_link
    is another option. Use the one you choose to publish in the robot base node.
  • robot_model_type
    : robot type
    The options are omnidirectional, differential, or a custom motion model that you provide.
  • tf_broadcast
    : turns transform broadcast on or off
    Set this to False to prevent amcl from publishing the transform between the global frame and the odometry frame.
  • odom_topic
    : source of instantaneous speed measurement
  • max_vel_x, max_vel_theta
    : maximum speed on the X axis or angular (theta)
  • robot_radius
    : radius of the robot
  • inflation_radius
    : radius to inflate costmap around lethal obstacles
  • min_obstacle_height
    : minimum height to add return to occupancy grid
  • max_obstacle_height
    : maximum height to add return to occupancy grid
  • obstacle_range
    : determines the maximum range sensor reading that results in an obstacle being put into the costmap
  • max_rotational_vel, min_rotational_vel, rotational_acc_lim
    : configure the rotational velocity allowed for the base in radians/second

Create a Navigation Parameter File for Your Robotic Kit

To create a navigation parameter file for your robotic kit:
cp 01_docker_sdk_env/artifacts/01_amr/amr_generic/param/aaeon_nav.param.yaml 01_docker_sdk_env/artifacts/01_amr/amr_generic/param/generic_robot_nav.param.yaml # Replace generic_robot_nav to a name that makes sense to your robotic kit. # When replacing this make sure that it is also replaced wherever it is also used. # It is used in the general pipeline yaml file that starts all components. gedit 01_docker_sdk_env/artifacts/01_amr/amr_generic/param/generic_robot_nav.param.yaml # you can also use any other preferred editor, it is important though to keep the path. # Make all changes that are specific to your Robotic Kit, see the previous chapter where it was described in details.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.