Background information
I'm trying to do navigation now using jackal. I keep getting errors where I do goal pose on rviz and the bt_navigator turns off a second later.
Required Info:
Operating System:
Ubuntu 20.04
ROS2 Version:
ROS2 Foxy, binaries installation
Version or commit hash:
sudo apt-get install ros-foxy-nav2*
DDS implementation:
default
For your understanding, I will attach nav2.launch.py and nav2.yaml
Steps to reproduce issue
nav2.launch.py
from launch import LaunchDescription
from launch.actions import (
DeclareLaunchArgument,
GroupAction,
IncludeLaunchDescription,
SetEnvironmentVariable,
)
from launch.conditions import IfCondition
from launch.launch_description_sources import PythonLaunchDescriptionSource
from launch.substitutions import LaunchConfiguration, PathJoinSubstitution
from launch_ros.actions import Node, PushRosNamespace
from launch_ros.substitutions import FindPackageShare
from nav2_common.launch import RewrittenYaml
def generate_launch_description():
# Get the launch directory
pkg_nav2_bringup = FindPackageShare("nav2_bringup")
pkg_jackal_navigation = FindPackageShare("jackal_navigation")
pkg_hunav_sim = FindPackageShare("hunav_rviz2_panel")
# Create the launch configuration variables
namespace = LaunchConfiguration("namespace")
use_namespace = LaunchConfiguration("use_namespace")
map_yaml_file = LaunchConfiguration("map")
use_sim_time = LaunchConfiguration("use_sim_time")
params_file = LaunchConfiguration("params_file")
autostart = LaunchConfiguration("autostart")
use_composition = LaunchConfiguration("use_composition")
localization = LaunchConfiguration("localization")
remappings = [("/tf", "tf"), ("/tf_static", "tf_static")]
# Create our own temporary YAML files that include substitutions
param_substitutions = {"use_sim_time": use_sim_time, "yaml_filename": map_yaml_file}
configured_params = RewrittenYaml(
source_file=params_file,
root_key=namespace,
param_rewrites=param_substitutions,
convert_types=True,
)
stdout_linebuf_envvar = SetEnvironmentVariable("RCUTILS_LOGGING_BUFFERED_STREAM", "1")
declare_namespace_cmd = DeclareLaunchArgument(
"namespace", default_value="", description="Top-level namespace"
)
declare_use_namespace_cmd = DeclareLaunchArgument(
"use_namespace",
default_value="false",
description="Whether to apply a namespace to the navigation stack",
)
declare_slam_cmd = DeclareLaunchArgument(
"slam",
default_value="false",
choices=["true", "false"],
description="Whether to run a SLAM",
)
declare_localization_cmd = DeclareLaunchArgument(
"localization",
default_value="true",
choices=["true", "false"],
description="Whether to run localization",
)
declare_nav2_cmd = DeclareLaunchArgument(
"nav2", default_value="true", choices=["true", "false"], description="Whether to run Nav2"
)
declare_map_yaml_cmd = DeclareLaunchArgument(
"map",
default_value=PathJoinSubstitution([pkg_hunav_sim, "maps", "khu_5th_floor.yaml"]),
description="Full path to map yaml file to load",
)
declare_use_sim_time_cmd = DeclareLaunchArgument(
"use_sim_time", default_value="true", description="Use simulation (Gazebo) clock if true"
)
declare_params_file_cmd = DeclareLaunchArgument(
"params_file",
default_value=PathJoinSubstitution([pkg_jackal_navigation, "config", "nav3.yaml"]),
description="Full path to the ROS2 parameters file to use for all launched nodes",
)
declare_autostart_cmd = DeclareLaunchArgument(
"autostart", default_value="true", description="Automatically startup the nav2 stack"
)
declare_use_composition_cmd = DeclareLaunchArgument(
"use_composition", default_value="True", description="Whether to use composed bringup"
)
# Specify the actions
bringup_cmd_group = GroupAction(
[
PushRosNamespace(condition=IfCondition(use_namespace), namespace=namespace),
Node(
condition=IfCondition(use_composition),
name="nav2_container",
package="rclcpp_components",
executable="component_container",
parameters=[configured_params, {"autostart": autostart}],
remappings=remappings,
output="screen",
),
IncludeLaunchDescription(
PythonLaunchDescriptionSource(
PathJoinSubstitution([pkg_nav2_bringup, "launch", "localization_launch.py"])
),
condition=IfCondition(localization),
launch_arguments={
"namespace": namespace,
"map": map_yaml_file,
"use_sim_time": use_sim_time,
"autostart": autostart,
"params_file": params_file,
"use_composition": use_composition,
"container_name": "nav2_container",
}.items(),
),
IncludeLaunchDescription(
PythonLaunchDescriptionSource(
PathJoinSubstitution([pkg_nav2_bringup, "launch", "navigation_launch.py"])
),
launch_arguments={
"namespace": namespace,
"use_sim_time": use_sim_time,
"autostart": autostart,
"params_file": params_file,
"use_composition": use_composition,
"container_name": "nav2_container",
}.items(),
),
]
)
# Create the launch description and populate
ld = LaunchDescription()
# Set environment variables
ld.add_action(stdout_linebuf_envvar)
# Declare the launch options
ld.add_action(declare_namespace_cmd)
ld.add_action(declare_use_namespace_cmd)
ld.add_action(declare_slam_cmd)
ld.add_action(declare_localization_cmd)
ld.add_action(declare_nav2_cmd)
ld.add_action(declare_map_yaml_cmd)
ld.add_action(declare_use_sim_time_cmd)
ld.add_action(declare_params_file_cmd)
ld.add_action(declare_autostart_cmd)
ld.add_action(declare_use_composition_cmd)
# Add the actions to launch all of the navigation nodes
ld.add_action(bringup_cmd_group)
return ld
I'm sorry. I'll explain it in words because there's no video attached.
The jackal moves for about a second and then stops right away, resulting in the following error code. I've searched a lot, but I've seen a lot of comments to upgrade from the foxy version to the galactic version, is there any way to fix it in the foxy version?
Actual behavior
[amcl-3] [INFO] [1709530390.522565891] [amcl]: Setting pose (4749.099000): 0.000 -0.000 -0.047
[bt_navigator-8] [INFO] [1709530428.680735845] [bt_navigator]: Begin navigating from current location to (0.30, 2.27)
[planner_server-6] [WARN] [1709530428.738250629] [planner_server]: Planner loop missed its desired rate of 20.0000 Hz. Current loop rate is 17.7831 Hz
[controller_server-5] [INFO] [1709530428.752638301] [controller_server]: Received a goal, begin computing control effort.
[planner_server-6] [WARN] [1709530429.817003639] [planner_server]: Planner loop missed its desired rate of 20.0000 Hz. Current loop rate is 18.1410 Hz
[controller_server-5] [INFO] [1709530429.833090358] [controller_server]: Passing new path to controller.
[controller_server-5] [ERROR] [1709530429.953147220] [tf_help]: Transform data too old when converting from odom to map
[controller_server-5] [ERROR] [1709530429.953171766] [tf_help]: Data time: 4788s 609000000ns, Transform time: 4788s 389000000ns
[controller_server-5] [ERROR] [1709530429.953327741] [controller_server]: Unable to transform robot pose into global plan's frame
[controller_server-5] [WARN] [1709530429.953414977] [controller_server_rclcpp_node]: [follow_path] [ActionServer] Aborting handle.
[controller_server-5] [INFO] [1709530429.971903603] [local_costmap.local_costmap]: Received request to clear entirely the local_costmap
[controller_server-5] [INFO] [1709530429.972382686] [controller_server]: Received a goal, begin computing control effort.
[controller_server-5] [ERROR] [1709530429.972699702] [tf_help]: Transform data too old when converting from odom to map
[controller_server-5] [ERROR] [1709530429.972713962] [tf_help]: Data time: 4788s 629000000ns, Transform time: 4788s 389000000ns
[controller_server-5] [ERROR] [1709530429.972809987] [controller_server]: Unable to transform robot pose into global plan's frame
[controller_server-5] [WARN] [1709530429.972852147] [controller_server_rclcpp_node]: [follow_path] [ActionServer] Aborting handle.
[controller_server-5] [INFO] [1709530429.991880341] [local_costmap.local_costmap]: Received request to clear entirely the local_costmap
[planner_server-6] [INFO] [1709530429.992175413] [global_costmap.global_costmap]: Received request to clear entirely the global_costmap
[bt_navigator-8] [WARN] [1709530430.002329790] [bt_navigator_rclcpp_node]: Node timed out while executing service call to global_costmap/clear_entirely_global_costmap.
[bt_navigator-8] [ERROR] [1709530430.002570403] [bt_navigator]: Navigation failed
[bt_navigator-8] [WARN] [1709530430.002597271] [bt_navigator]: [navigate_to_pose] [ActionServer] Aborting handle.
[ERROR] [amcl-3]: process has died [pid 39910, exit code -11, cmd '/opt/ros/foxy/lib/nav2_amcl/amcl --ros-args -r __node:=amcl --params-file /tmp/tmpb8tu_wsk -r /tf:=tf -r /tf_static:=tf_static'].
Bug report
Background information I'm trying to do navigation now using jackal. I keep getting errors where I do goal pose on rviz and the bt_navigator turns off a second later.
Required Info:
For your understanding, I will attach nav2.launch.py and nav2.yaml
Steps to reproduce issue
nav2.launch.py
nav2.yaml
I'm sorry. I'll explain it in words because there's no video attached. The jackal moves for about a second and then stops right away, resulting in the following error code. I've searched a lot, but I've seen a lot of comments to upgrade from the foxy version to the galactic version, is there any way to fix it in the foxy version?
Actual behavior
[amcl-3] [INFO] [1709530390.522565891] [amcl]: Setting pose (4749.099000): 0.000 -0.000 -0.047 [bt_navigator-8] [INFO] [1709530428.680735845] [bt_navigator]: Begin navigating from current location to (0.30, 2.27) [planner_server-6] [WARN] [1709530428.738250629] [planner_server]: Planner loop missed its desired rate of 20.0000 Hz. Current loop rate is 17.7831 Hz [controller_server-5] [INFO] [1709530428.752638301] [controller_server]: Received a goal, begin computing control effort. [planner_server-6] [WARN] [1709530429.817003639] [planner_server]: Planner loop missed its desired rate of 20.0000 Hz. Current loop rate is 18.1410 Hz [controller_server-5] [INFO] [1709530429.833090358] [controller_server]: Passing new path to controller. [controller_server-5] [ERROR] [1709530429.953147220] [tf_help]: Transform data too old when converting from odom to map [controller_server-5] [ERROR] [1709530429.953171766] [tf_help]: Data time: 4788s 609000000ns, Transform time: 4788s 389000000ns [controller_server-5] [ERROR] [1709530429.953327741] [controller_server]: Unable to transform robot pose into global plan's frame [controller_server-5] [WARN] [1709530429.953414977] [controller_server_rclcpp_node]: [follow_path] [ActionServer] Aborting handle. [controller_server-5] [INFO] [1709530429.971903603] [local_costmap.local_costmap]: Received request to clear entirely the local_costmap [controller_server-5] [INFO] [1709530429.972382686] [controller_server]: Received a goal, begin computing control effort. [controller_server-5] [ERROR] [1709530429.972699702] [tf_help]: Transform data too old when converting from odom to map [controller_server-5] [ERROR] [1709530429.972713962] [tf_help]: Data time: 4788s 629000000ns, Transform time: 4788s 389000000ns [controller_server-5] [ERROR] [1709530429.972809987] [controller_server]: Unable to transform robot pose into global plan's frame [controller_server-5] [WARN] [1709530429.972852147] [controller_server_rclcpp_node]: [follow_path] [ActionServer] Aborting handle. [controller_server-5] [INFO] [1709530429.991880341] [local_costmap.local_costmap]: Received request to clear entirely the local_costmap [planner_server-6] [INFO] [1709530429.992175413] [global_costmap.global_costmap]: Received request to clear entirely the global_costmap [bt_navigator-8] [WARN] [1709530430.002329790] [bt_navigator_rclcpp_node]: Node timed out while executing service call to global_costmap/clear_entirely_global_costmap. [bt_navigator-8] [ERROR] [1709530430.002570403] [bt_navigator]: Navigation failed [bt_navigator-8] [WARN] [1709530430.002597271] [bt_navigator]: [navigate_to_pose] [ActionServer] Aborting handle. [ERROR] [amcl-3]: process has died [pid 39910, exit code -11, cmd '/opt/ros/foxy/lib/nav2_amcl/amcl --ros-args -r __node:=amcl --params-file /tmp/tmpb8tu_wsk -r /tf:=tf -r /tf_static:=tf_static'].