Closed chivas1000 closed 1 year ago
Sorry, the problem should be in my modifided carter_nav2.yaml that I tweaked with tolerance time and radius and acc_lim, or maybe some syntax problem, Since I use default yaml the map successfully received.
Since the default yaml is working, I'm not sure how we can help here. Nothing you've changed stands out at something that should cause this issue, but this seems like a nav2 issue rather than an nvblox one. Sorry we couldn't help more!
Hi, I’m modifying the carter_sim_elbrus.launch.py example in nvblox_nav2 to do navigation in my robot, The application is ok at DP1.1 release before but for DP2.0, after the configurinig is done, the terminal keep popping “waiting for server state”
Error Output: [lifecycle_manager-10] [INFO] [1666756876.922715146] [lifecycle_manager_navigation]: Waiting for service controller_server/get_state... [lifecycle_manager-1] [INFO] [1666756876.922716862] [lifecycle_manager_map]: Waiting for service map_server/get_state... [lifecycle_manager-1] [INFO] [1666756878.923016306] [lifecycle_manager_map]: Waiting for service map_server/get_state... [lifecycle_manager-10] [INFO] [1666756878.923042882] [lifecycle_manager_navigation]: Waiting for service controller_server/get_state... [lifecycle_manager-1] [INFO] [1666756880.923268323] [lifecycle_manager_map]: Waiting for service map_server/get_state... [lifecycle_manager-10] [INFO] [1666756880.923292501] [lifecycle_manager_navigation]: Waiting for service controller_server/get_state... [lifecycle_manager-10] [INFO] [1666756882.923515151] [lifecycle_manager_navigation]: Waiting for service controller_server/get_state... [lifecycle_manager-1] [INFO] [1666756882.923517381] [lifecycle_manager_map]: Waiting for service map_server/get_state... [lifecycle_manager-1] [INFO] [1666756884.923782959] [lifecycle_manager_map]: Waiting for service map_server/get_state... [lifecycle_manager-10] [INFO] [1666756884.923803742] [lifecycle_manager_navigation]: Waiting for service controller_server/get_state... [nvblox_node-11] [INFO] [1666756885.119232012] [nvblox_node]: RGB frame statistics: [nvblox_node-11] avg=66.713883, min=55.955423, max=84.688353, std_dev=5.970719, count=13211 [nvblox_node-11] [INFO] [1666756885.463369156] [nvblox_node]: Depth frame statistics: [nvblox_node-11] avg=36.677327, min=13.215166, max=126.695587, std_dev=10.915946, count=24039 [nvblox_node-11] [INFO] [1666756885.463661005] [nvblox_node]: Timing statistics: [nvblox_node-11] NVBlox Timing [nvblox_node-11] ----------- [nvblox_node-11] color/integrate
But the nvblox and vslam seem working as expect
so maybe is that the navigation stack doesn’t working since there are no availiable map input even though the nvblox does produced the map, so I assume that the nvblox has output esdf map but map server didn’t receive it
My launch files:
carter_sim_elbrus_new.launch.py (for this the I didn't modified the map server related lines)
import os
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription from launch.actions import DeclareLaunchArgument from launch.actions import IncludeLaunchDescription from launch.conditions import IfCondition from launch.launch_description_sources import PythonLaunchDescriptionSource from launch.substitutions import LaunchConfiguration from launch_ros.actions import ComposableNodeContainer from launch_ros.actions import Node from launch_ros.descriptions import ComposableNode
def generate_launch_description():
carter_nav2_new.yaml (for this I only modified the tolerance and threshold to fit my own robot, the map form or name didn't changed)
bt_navigator: ros__parameters: use_sim_time: True global_frame: map robot_base_frame: base_link odom_topic: /odom bt_loop_duration: 20 default_server_timeout: 40
'default_nav_through_poses_bt_xml' and 'default_nav_to_pose_bt_xml' are use defaults:
bt_navigator_rclcpp_node: ros__parameters: use_sim_time: True
controller_server: ros__parameters: use_sim_time: True controller_frequency: 10.0 min_x_velocity_threshold: 0.001 min_y_velocity_threshold: 0.05 min_theta_velocity_threshold: 0.001
change the failure_tolerance for tunning
controller_server_rclcpp_node: ros__parameters: use_sim_time: True
local_costmap: local_costmap: rosparameters: update_frequency: 10.0 publish_frequency: 10.0 global_frame: map robot_base_frame: base_link use_sim_time: True rolling_window: True width: 10 height: 10 resolution: 0.05 robot_radius: 0.4 plugins: ["nvblox_layer"] nvblox_layer: plugin: "nvblox::nav2::NvbloxCostmapLayer" enabled: True max_obstacle_distance: 1.0 inflation_distance: 0.4 always_send_full_costmap: True local_costmap_client: rosparameters: use_sim_time: True local_costmap_rclcpp_node: ros__parameters: use_sim_time: True
global_costmap: global_costmap: rosparameters: update_frequency: 10.0 publish_frequency: 10.0 global_frame: map robot_base_frame: base_link use_sim_time: True rolling_window: True width: 200 height: 200 robot_radius: 0.4 resolution: 0.1 origin_x: -100.0 origin_y: -100.0 plugins: ["nvblox_layer"] nvblox_layer: plugin: "nvblox::nav2::NvbloxCostmapLayer" enabled: True max_obstacle_distance: 1.0 inflation_distance: 0.4 always_send_full_costmap: True global_costmap_client: rosparameters: use_sim_time: True global_costmap_rclcpp_node: ros__parameters: use_sim_time: True
planner_server: ros__parameters: expected_planner_frequency: 10.0 use_sim_time: True planner_plugins: ["GridBased"] GridBased: plugin: "nav2_navfn_planner/NavfnPlanner" tolerance: 0.5 use_astar: false allow_unknown: true
planner_server_rclcpp_node: ros__parameters: use_sim_time: True
smoother_server: ros__parameters: use_sim_time: True smoother_plugins: ["simple_smoother"] simple_smoother: plugin: "nav2_smoother::SimpleSmoother" tolerance: 1.0e-10 max_its: 1000 do_refinement: True
behavior_server: ros__parameters: costmap_topic: local_costmap/costmap_raw footprint_topic: local_costmap/published_footprint cycle_frequency: 5.0 behavior_plugins: ["spin", "backup", "drive_on_heading", "wait"] spin: plugin: "nav2_behaviors/Spin" backup: plugin: "nav2_behaviors/BackUp" drive_on_heading: plugin: "nav2_behaviors/DriveOnHeading" wait: plugin: "nav2_behaviors/Wait" global_frame: map robot_base_frame: base_link transform_tolerance: 0.2 use_sim_time: true simulate_ahead_time: 2.0 max_rotational_vel: 0.2 min_rotational_vel: 0.05 rotational_acc_lim: 3.2
robot_state_publisher: ros__parameters: use_sim_time: True
waypoint_follower: ros__parameters: loop_rate: 20 stop_on_failure: false waypoint_task_executor_plugin: "wait_at_waypoint" wait_at_waypoint: plugin: "nav2_waypoint_follower::WaitAtWaypoint" enabled: True waypoint_pause_duration: 200
has anyone ran into this problem? and any advises are appreciated. Thanks