0
$\begingroup$

I am currently working with pure pursuit controller and would like to test the MPPI. Thus I installed the latest binaries ros-humble-nav2-mppi-controller which i got in version 1.1.9-1Jammy

So far so good. Then I create the attached configuration and start it. This is where it crashes.

Unfortunately there is no additional output. Do I need additional settings or any additional Package for this to work?

This is the crash output:

[bt_navigator-5]        Waiting on external lifecycle transitions to activate
[bt_navigator-5]        See https://design.ros2.org/articles/node_lifecycle.html for more information.
[bt_navigator-5] [INFO] [1692711166.503247079] [bt_navigator]: Creating
[planner_server-2] [INFO] [1692711166.515321438] [planner_server]: Creating
[lifecycle_manager-6] [INFO] [1692711166.592131125] [lifecycle_manager_pathplanner]: Creating
[behavior_server-3] [INFO] [1692711166.596591543] [behavior_server]: 
[behavior_server-3]     behavior_server lifecycle node launched. 
[behavior_server-3]     Waiting on external lifecycle transitions to activate
[behavior_server-3]     See https://design.ros2.org/articles/node_lifecycle.html for more information.
[lifecycle_manager-6] [INFO] [1692711166.614862942] [lifecycle_manager_pathplanner]: Creating and initializing lifecycle service clients
[planner_server-2] [INFO] [1692711166.641497525] [global_costmap.global_costmap]: 
[planner_server-2]      global_costmap lifecycle node launched. 
[planner_server-2]      Waiting on external lifecycle transitions to activate
[planner_server-2]      See https://design.ros2.org/articles/node_lifecycle.html for more information.
[planner_server-2] [INFO] [1692711166.643438908] [global_costmap.global_costmap]: Creating Costmap
[controller_server-1] [INFO] [1692711166.718496513] [controller_server]: 
[controller_server-1]   controller_server lifecycle node launched. 
[controller_server-1]   Waiting on external lifecycle transitions to activate
[controller_server-1]   See https://design.ros2.org/articles/node_lifecycle.html for more information.
[controller_server-1] [INFO] [1692711166.787895270] [controller_server]: Creating controller server
[controller_server-1] [INFO] [1692711166.853868449] [local_costmap.local_costmap]: 
[controller_server-1]   local_costmap lifecycle node launched. 
[controller_server-1]   Waiting on external lifecycle transitions to activate
[controller_server-1]   See https://design.ros2.org/articles/node_lifecycle.html for more information.
[controller_server-1] [INFO] [1692711166.855866668] [local_costmap.local_costmap]: Creating Costmap
[lifecycle_manager-6] [INFO] [1692711166.898315701] [lifecycle_manager_pathplanner]: Starting managed nodes bringup...
[lifecycle_manager-6] [INFO] [1692711166.899380126] [lifecycle_manager_pathplanner]: Configuring controller_server
[controller_server-1] [INFO] [1692711166.900943575] [controller_server]: Configuring controller interface
[controller_server-1] [INFO] [1692711166.901594522] [controller_server]: getting goal checker plugins..
[controller_server-1] [INFO] [1692711166.902379392] [controller_server]: Controller frequency set to 10.0000Hz
[controller_server-1] [INFO] [1692711166.902612070] [local_costmap.local_costmap]: Configuring
[controller_server-1] [INFO] [1692711166.921993979] [local_costmap.local_costmap]: Using plugin "static_layer"
[controller_server-1] [INFO] [1692711166.932225626] [local_costmap.local_costmap]: Subscribing to the map topic (/map) with transient local durability
[controller_server-1] [INFO] [1692711166.936113267] [local_costmap.local_costmap]: Initialized plugin "static_layer"
[controller_server-1] [INFO] [1692711166.936366029] [local_costmap.local_costmap]: Using plugin "obstacle_layer"
[controller_server-1] [INFO] [1692711166.943776293] [local_costmap.local_costmap]: Subscribed to Topics: 
[controller_server-1] [INFO] [1692711166.944142769] [local_costmap.local_costmap]: Initialized plugin "obstacle_layer"
[controller_server-1] [INFO] [1692711166.944311860] [local_costmap.local_costmap]: Using plugin "inflation_layer"
[controller_server-1] [INFO] [1692711166.952675252] [local_costmap.local_costmap]: Initialized plugin "inflation_layer"
[controller_server-1] [INFO] [1692711166.968426825] [local_costmap.local_costmap]: StaticLayer: Resizing costmap to 1000 X 1000 at 0.200000 m/pix
[controller_server-1] [INFO] [1692711166.981669696] [controller_server]: Created progress_checker : progress_checker of type nav2_controller::SimpleProgressChecker
[controller_server-1] [INFO] [1692711166.986611011] [controller_server]: Created goal checker : goal_checker of type nav2_controller::SimpleGoalChecker
[controller_server-1] [INFO] [1692711166.990603990] [controller_server]: Controller Server has goal_checker  goal checkers available.
[controller_server-1] [INFO] [1692711166.993440999] [controller_server]: Created controller : FollowPath of type nav2_mppi_controller::MPPIController
[ERROR] [controller_server-1]: process has died [pid 5460, exit code -4, cmd '/opt/ros/humble/lib/nav2_controller/controller_server --ros-args -r __node:=controller_server --params-file /opt/greenhive/spritzengel/install/nav2/share/nav2/config/nav2/v3/controller_mppi.yaml -r /cmd_vel:=/hardware/motordriver/cmd_

This is the config

controller_server:
  ros__parameters:
    use_sim_time: False
    controller_frequency: 20.0

    progress_checker_plugins: ["progress_checker"] # progress_checker_plugin: "progress_checker" For Humble and older
    goal_checker_plugins: ["general_goal_checker"]
    controller_plugins: ["FollowPath"]
    progress_checker:
      plugin: "nav2_controller::SimpleProgressChecker"
      required_movement_radius: 0.5
      movement_time_allowance: 30.0
      
    general_goal_checker:
      stateful: True
      plugin: "nav2_controller::SimpleGoalChecker"
      xy_goal_tolerance: 0.35
      yaw_goal_tolerance: 0.78

    FollowPath:
      plugin: "nav2_mppi_controller::MPPIController"
      time_steps: 56
      model_dt: 0.05
      batch_size: 2000
      vx_std: 0.5
      vy_std: 0.0
      wz_std: 0.4
      vx_max: 1.0
      vx_min: -0.5
      vy_max: 0.0
      wz_max: 1.9
      iteration_count: 1
      prune_distance: 3
      transform_tolerance: 0.3
      temperature: 0.3
      gamma: 0.015
      motion_model: "DiffDrive"
      visualize: false
      reset_period: 1.0 # (only in Humble)
      TrajectoryVisualizer:
        trajectory_step: 5
        time_step: 3
      inversion_yaw_tolerance: 0.7
      AckermannConstrains:
        min_turning_r: 0.2
      critics: ["ConstraintCritic", "ObstaclesCritic", "GoalCritic", "GoalAngleCritic", "PathAlignCritic", "PathFollowCritic", "PathAngleCritic", "PreferForwardCritic"]
      ConstraintCritic:
        enabled: true
        cost_power: 1
        cost_weight: 4.0
      GoalCritic:
        enabled: true
        cost_power: 1
        cost_weight: 5.0
        threshold_to_consider: 1.4
      GoalAngleCritic:
        enabled: true
        cost_power: 1
        cost_weight: 3.0
        threshold_to_consider: 0.5
      PreferForwardCritic:
        enabled: true
        cost_power: 1
        cost_weight: 5.0
        threshold_to_consider: 0.5
      ObstaclesCritic:
        enabled: true
        cost_power: 1
        repulsion_weight: 1.5
        critical_weight: 20.0
        consider_footprint: false
        collision_cost: 10000.0
        collision_margin_distance: 0.1
        near_goal_distance: 0.5
        inflation_radius: 0.55 # (only in Humble)
        cost_scaling_factor: 10.0 # (only in Humble)
      PathAlignCritic:
        enabled: true
        cost_power: 1
        cost_weight: 14.0
        max_path_occupancy_ratio: 0.05
        trajectory_point_step: 3
        threshold_to_consider: 0.5
        offset_from_furthest: 20
        use_path_orientations: false
      PathFollowCritic:
        enabled: true
        cost_power: 1
        cost_weight: 5.0
        offset_from_furthest: 5
        threshold_to_consider: 1.4
      PathAngleCritic:
        enabled: true
        cost_power: 1
        cost_weight: 2.0
        offset_from_furthest: 4
        threshold_to_consider: 0.5
        max_angle_to_furthest: 1.0
        mode: 0
      # TwirlingCritic:
      #   enabled: true
      #   twirling_cost_power: 1
      #   twirling_cost_weight: 10.0
$\endgroup$

1 Answer 1

0
$\begingroup$

There's a ticket we're discussing this issue on GitHub https://github.com/ros-planning/navigation2/issues/3767 - please follow up there.

I'm seeing this report just now from the sync on Friday so this is a new issue that I'm not yet sure what the cause of it is but its being discussed and I'd be happy to have more eyes on it so I can find the issue and get a solution out in the next binary sync

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.