TrajectoryPlannerROS not publishing local plan - robot only retroceding!
Hi all,
I am trying to run the move_base package on a differential drive robot set up with an nVidia Jetson TX1 running ROS Indigo and a ZED camera that publishes odometry.
The move_base package is set up roughly as indicated in http://wiki.ros.org/navigation/Tutori... .
The issue that I'm having is two/three-fold:
1) Launching the move_base package results pretty much always in a std::bad_alloc() exception. RAM usage is not a problem by looking at htop and the costmap dimensions are pretty small. The node launches successfully after trying a few times..
2) After publishing a goal pose in topic /move_base_simple_goal, TrajectoryPlannerROS publishes a global path but not a local path.
3) move_base publishes a Twist command in /cmd_vel which is always the recovery behaviour command for my setup (negative x velocity)
Do you have any idea on what could be causing the previous issues??
Here are attached the relevant yaml configuration files and the launchfile:
common_params:
footprint: '[]'
inflation_radius: 0.1
subscribe_to_updates: true
global_frame: map
robot_base_frame: base_morpheus
observation_sources: laser_scan_sensor
laser_scan_sensor: {sensor_frame: laser, data_type: LaserScan, topic: /scan, marking: true, clearing: true}
min_obstacle_height: -2
max_obstacle_height: 2
local_costmap
local_costmap:
global_frame: map
robot_base_frame: base_morpheus
update_frequency: 5.0
publish_frequency: 2.0
static_map: false
rolling_window: true
width: 10.0
height: 10.0
resolution: 0.05
origin_x: -5.0
origin_y: -5.0
obstacle_range: 25
raytrace_range: 30
observation_sources: laser_scan_sensor
laser_scan_sensor: {sensor_frame: laser, data_type: LaserScan, topic: /scan, marking: true, clearing: true}
min_obstacle_height: -2.0
global costmap
global_costmap:
global_frame: map
robot_base_frame: base_morpheus
update_frequency: 5.0
publish_frequency: 2.0
static_map: false
width: 20.0
height: 20.0
resolution: 0.1
origin_x: -10.0
origin_y: -10.0
obstacle_range: 25
raytrace_range: 30
observation_sources: laser_scan_sensor
laser_scan_sensor: {sensor_frame: laser, data_type: LaserScan, topic: /scan, marking: true, clearing: true}
min_obstacle_height: -2.0
max_obstacle_height: 2.0
base planner:
NavfnROS:
allow_unknown: true
TrajectoryPlannerROS:
global_frame_id: map
max_vel_x: 0.02
min_vel_x: 0.001
max_vel_theta: 0.05
max_vel_theta: 0.05
min_in_place_vel_theta: 0.05
escape_vel: -0.01
acc_lim_theta: 0.5
acc_lim_x: 0.5
acc_lim_y: 0.5
holonomic_robot: false
xy_goal_tolerance: 0.1
yaw_goal_tolerance: 0.15
launchfile:
<!-- launch move base node -->
<launch>
<node pkg="move_base" name="move_base" respawn="false" type="move_base" output="screen" >
<!-- load config files -->
<rosparam file="$(find autonav)/config/costmap_common_params.yaml" command="load" ns="global_costmap"/>
<rosparam file="$(find autonav)/config/costmap_common_params.yaml" command="load" ns="local_costmap"/>
<rosparam file="$(find autonav)/config/local_costmap_params.yaml" command="load" />
<rosparam file="$(find autonav)/config/global_costmap_params.yaml" command="load" />
<rosparam file="$(find autonav)/config/base_local_planner_params.yaml" command="load" />
<remap from="/odom" to="/camera/odom" />
<param name="recovery_behavior_enabled" value="false" />
</node>
</launch>