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