Could not transform the global plan to the frame of the controller

asked 2017-04-18 04:13:18 -0500

peterwe gravatar image

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 ...
(more)
edit retag flag offensive close merge delete

Comments

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.

peterwe gravatar image peterwe  ( 2017-04-18 07:30:44 -0500 )edit