Could not transform the global plan to the frame of the controller
Hello,
I'm working on an Odroid XU4, have the navigation stack up and running and using the RPLIDAR A1 with its corresponding ros package. I made my own global path planner plugin according to this tutorial and I'm using amcl for localisation and a priori known map.
These are my config files:
base_local_planner_params.yaml
TrajectoryPlannerROS:
max_vel_x: 0.2
min_vel_x: 0.05
max_vel_theta: 0.5
min_vel_theta: -0.5
min_in_place_vel_theta: 0.1
acc_lim_theta: 0.2
acc_lim_x: 0.1
acc_lim_y: 0.1
holonomic_robot: false
controller_frequency: 3.0
costmap_common_params.yaml
obstacle_range: 2.5
raytrace_range: 3.0
footprint: [[-0.170, -0.220], [-0.170, 0.220], [0.170, 0.220], [0.170, -0.220]]
inflation_radius: 0.50
transform_tolerance: 2.0
observation_sources: laser_scan_sensor
laser_scan_sensor: {sensor_frame: laser, data_type: LaserScan, topic: scan, marking: true, clearing: true}
global_costmap_params.yaml
global_costmap:
global_frame: /map
robot_base_frame: base_link
update_frequency: 3.0
publish_frequency: 0.1
transform_tolerance: 2.0
static_map: true
rolling_window: false
map_type: costmap
local_costmap_params.yaml
local_costmap:
global_frame: /odom
robot_base_frame: base_link
update_frequency: 3.0
publish_frequency: 1.0
transform_tolerance: 2.0
static_map: false
rolling_window: true
width: 4.0
height: 4.0
resolution: 0.05
map_type: costmap
Here are my launch files:
<launch>
<master auto="start"/>
<!-- Run the map server -->
<node name="map_server" pkg="map_server" type="map_server" args="$(find vav_2dnav)/map/map.yaml"/>
<include file="$(find amcl)/examples/amcl_diff.launch" />
<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
<param name="base_global_planner" value="planner_plugin/PlannerPluginROS" />
<param name="planner_frequency" value="0.0" />
<rosparam file="$(find vav_2dnav)/config/costmap_common_params.yaml" command="load" ns="global_costmap"/>
<rosparam file="$(find vav_2dnav)/config/costmap_common_params.yaml" command="load" ns="local_costmap"/>
<rosparam file="$(find vav_2dnav)/config/local_costmap_params.yaml" command="load" />
<rosparam file="$(find vav_2dnav)/config/global_costmap_params.yaml" command="load" />
<rosparam file="$(find vav_2dnav)/config/base_local_planner_params.yaml" command="load"/>
</node>
</launch>
<launch>
<node name="rplidarNode" pkg="rplidar_ros" type="rplidarNode" output="screen">
<param name="serial_port" type="string" value="/dev/rplidar"/>
<param name="serial_baudrate" type="int" value="115200"/>
<param name="frame_id" type="string" value="laser"/>
<param name="inverted" type="bool" value="false"/>
<param name="angle_compensate" type="bool" value="true"/>
</node>
<node pkg="tf" type="static_transform_publisher" name="lidar_base_tf_broadcaster" args="0 0 0.22 0 0 0 base_link laser 50" />
<node name="compare_velocity_master" pkg="io_handler" type="io_handler_compare_velocity_master" respawn="true" />
<node name="iohandler_master" pkg="io_handler" type="iohandler_master_final.py" respawn="true" />
</launch>
Once I submit my start and goal location to the navigation stack using rviz, the plugin is used to compute the path but in the end it shows this error:
[ WARN] [1492085935.141434881]: Control loop missed its desired rate of 20.0000Hz... the loop actually took 0.4691 seconds
[ WARN] [1492085935.687472491]: Control loop missed its desired rate of 20.0000Hz... the loop actually took 0.5461 seconds
[ WARN] [1492085935.688036031]: Map update loop missed its desired rate of 3.0000Hz... the loop actually took 0.7545 seconds
[ WARN] [1492085936.149723390]: Control loop missed its desired rate of 20.0000Hz... the loop actually took 0.4622 seconds
[ WARN] [1492085936.694716876]: Control loop missed its desired rate of 20.0000Hz... the loop actually took 0.5450 ...
So after throwing my own plugin out and just using the navigation stack, the last ERROR message doesn't appear anymore. It just posts again and again in an endless loop the WARN and ERROR messages I posted before.