[ros-users] sensor origin

Eitan Marder-Eppstein eitan at willowgarage.com
Wed Sep 1 17:31:23 UTC 2010


Safdar,

A couple of things.

First, in your 'base_local_planner_params.yaml' file, you probably want to
set holonomic to false since the Pioneers are non-holonomic robots.

Second, the errors you're seeing from the costmap are telling you that
you've got too much latency (consistently around 0.2 seconds) in the
transform between the base_link and map frames. You have two options. You
can set the 'transform_tolerance' parameter in costmap_common_params.yaml to
be something like 0.5. See
http://www.ros.org/wiki/costmap_2d#Coordinate_frame_and_tf_parameters. Or,
you can reduce the latency in your transform tree. The first option is
easier, but means that your robot may be half a second out of date in where
it thinks it is in the world, which is not ideal.

Some suggestions for tracking down tf latency:

* Check the load on the machine that you're running things on. If CPU usage
is high, you'll have some problems with tf.
* If you're running anything off the robot, you need to make sure that
network latency is low and, depending on what you're running off-board, that
the clocks of the machines are synchronized
* Use the tf_monitor tool and look at the max delay from any transform
broadcaster as well as the Hz rate to see where the problem might be coming
from

Hope this helps,

Eitan

On Wed, Sep 1, 2010 at 4:02 AM, safdar_zaman <safdaraslam at yahoo.com> wrote:

>
> Dear Eitan,
> Thank you so much for the reply.
> Ok. in fact I created package poineer_zaman and made in it two launch files
> poineer_configuration.launch and move_base.launch quite according to the
> instruction given on
> http://www.ros.org/wiki/navigation/Tutorials/RobotSetup.
>
> poineer_configuration.launch file is :
> <launch>
>  <node pkg="sicktoolbox_wrapper" type="sicklms" name="sicklms"
> output="screen">
>
>
>  </node>
>  <node pkg="ROSARIA" type="myRosAria" name="myRosAria" output="screen">
>  </node>
> </launch>
> ============================
> move_base.launch file is:
> <launch>
>  <master auto="start"/>
>  <!-- Run the map server -->
>  <node name="map_server" pkg="map_server" type="map_server"
> args="/home/safdar/map.pgm 0.050000" respawn="false"/>
>  <!--- Run AMCL -->
>  <include
> file="/opt/ros/cturtle/stacks/navigation/amcl/examples/amcl_diff.launch" />
>  <node pkg="move_base" type="move_base" respawn="false" name="move_base"
> output="screen">
>    <rosparam
>
> file="/opt/ros/cturtle/stacks/ros_tutorials/poineer_zaman/costmap_common_params.yaml"
> command="load" ns="global_costmap" />
>    <rosparam
>
> file="/opt/ros/cturtle/stacks/ros_tutorials/poineer_zaman/costmap_common_params.yaml"
> command="load" ns="local_costmap" />
>    <rosparam
>
> file="/opt/ros/cturtle/stacks/ros_tutorials/poineer_zaman/local_costmap_params.yaml"
> command="load" />
>    <rosparam
>
> file="/opt/ros/cturtle/stacks/ros_tutorials/poineer_zaman/global_costmap_params.yaml"
> command="load" />
>    <rosparam
>
> file="/opt/ros/cturtle/stacks/ros_tutorials/poineer_zaman/base_local_planner_params.yaml"
> command="load" />
>  </node>
> </launch>
> =======================
> costmap_common_params.yaml file is:
> obstacle_range: 2.5
> raytrace_range: 3.0
> footprint: [[0.3, 0.3], [0.3, -0.3], [-0.3, -0.3], [-0.3, 0.3]]
> #robot_radius: ir_of_robot
> inflation_radius: 0.55
>
> observation_sources: laser_scan_sensor
>
> laser_scan_sensor: {sensor_frame: laser, data_type: LaserScan, topic: scan,
> marking: true, clearing: true}
> ========================
> local_costmap_params.yaml file is:
> local_costmap:
>  global_frame: odom
>  robot_base_frame: base_link
>  update_frequency: 5.0
>  publish_frequency: 2.0
>  static_map: false
>  rolling_window: true
>  width: 6.0
>  height: 6.0
>  resolution: 0.05
> =======================
> global_costmap_params.yaml file is:
> global_costmap:
>  global_frame: /map
>  robot_base_frame: base_link
>  update_frequency: 5.0
>  static_map: true
> =======================
> base_local_planner_params.yaml file is:
> TrajectoryPlannerROS:
>  max_vel_x: 0.45
>  min_vel_x: 0.1
>  max_rotational_vel: 1.0
>  min_in_place_rotational_vel: 0.4
>
>  acc_lim_th: 3.2
>  acc_lim_x: 2.5
>  acc_lim_y: 2.5
>
>  holonomic_robot: true
> ===========================
>
> 1)using [/poineer_zaman$roslaunch poineer_configuration.launch] I launch
> configuration file which activates both myRosAria and sicklms node for
> navigation and laser data.
> 2)using [/poineer_zaman$roslaunch move_base.launch] I launch move_base file
> which initially gives following messages:
> [ INFO] [1283336071.302542859]: Subscribed to Topics: laser_scan_sensor
> [ INFO] [1283336071.310063926]: Requesting the map...
> [ INFO] [1283336071.434206370]: Received a 4000 X 4000 map @ 0.050 m/pix
>
> [ INFO] [1283336071.653358675]: map returned
> [ INFO] [1283336071.663591890]: Initializing likelihood field model; this
> can take some time on large maps...
> [ INFO] [1283336072.081203828]: Done initializing likelihood field model.
> [ WARN] [1283336072.174650070]: Message from [/sicklms] has a
> non-fully-qualified frame_id [laser]. Resolved locally to [/laser].  This
> is
> will likely not work in multi-robot systems.  This message will only print
> once.
> [ INFO] [1283336072.391845680]: Requesting the map...
>
> [ INFO] [1283336072.394272735]: Still waiting on map...
>
> [ INFO] [1283336073.534352063]: Still waiting on map...
>
> [ INFO] [1283336074.429529868]: Received a 4000 X 4000 map at 0.050000
> m/pix
>
> [ INFO] [1283336081.986813408]: MAP SIZE: 4000, 4000
> [ INFO] [1283336082.010527177]: Subscribed to Topics: laser_scan_sensor
> [ WARN] [1283336082.198855871]: Costmap2DROS transform timeout. Current
> time: 1283336082.1988, global_pose stamp: 1283336081.8780, tolerance:
> 0.3000
> [ WARN] [1283336082.398891757]: Costmap2DROS transform timeout. Current
> time: 1283336082.3988, global_pose stamp: 1283336082.0903, tolerance:
> 0.3000
> [ WARN] [1283336082.608407148]: Costmap2DROS transform timeout. Current
> time: 1283336082.6083, global_pose stamp: 1283336082.3023, tolerance:
> 0.3000
> [ WARN] [1283336085.398893224]: Costmap2DROS transform timeout. Current
> time: 1283336085.3988, global_pose stamp: 1283336085.0781, tolerance:
> 0.3000
> [ WARN] [1283336085.598893089]: Costmap2DROS transform timeout. Current
> time: 1283336085.5988, global_pose stamp: 1283336085.2942, tolerance:
> 0.3000
> [ WARN] [1283336085.809877450]: Costmap2DROS transform timeout. Current
> time: 1283336085.8098, global_pose stamp: 1283336085.5059, tolerance:
> 0.3000
> [ WARN] [1283336088.598890505]: Costmap2DROS transform timeout. Current
> time: 1283336088.5988, global_pose stamp: 1283336088.2775, tolerance:
> 0.3000
> [ WARN] [1283336088.798890300]: Costmap2DROS transform timeout. Current
> time: 1283336088.7988, global_pose stamp: 1283336088.4938, tolerance:
> 0.3000
> [ WARN] [1283336089.009264237]: Costmap2DROS transform timeout. Current
> time: 1283336089.0091, global_pose stamp: 1283336088.7060, tolerance:
> 0.3000
> [ WARN] [1283336091.798885691]: Costmap2DROS transform timeout. Current
> time: 1283336091.7988, global_pose stamp: 1283336091.4826, tolerance:
> 0.3000
> [ WARN] [1283336091.998880305]: Costmap2DROS transform timeout. Current
> time: 1283336091.9988, global_pose stamp: 1283336091.6946, tolerance:
> 0.3000
> [ WARN] [1283336092.210576565]: Costmap2DROS transform timeout. Current
> time: 1283336092.2105, global_pose stamp: 1283336091.9066, tolerance:
> 0.3000
> [ WARN] [1283336094.998885404]: Costmap2DROS transform timeout. Current
> time: 1283336094.9988, global_pose stamp: 1283336094.6814, tolerance:
> 0.3000
> [ WARN] [1283336095.198881223]: Costmap2DROS transform timeout. Current
> time: 1283336095.1988, global_pose stamp: 1283336094.8945, tolerance:
> 0.3000
> .
> .
> .
> .
>
> 3) Then I use $rosrun rviz rviz to open rviz. in rviz two square appears
> one
> for the Grid (having lines as rows and columns) and the second square(whose
> left upper corner starts from the mid of the Grid square) is light gray
> having small visible Map inside it.And all TF appears on the corner of
> Grid.I set the pose using 2D Pose Estimate Button and transform frames (TF)
> appears at that point where I click in the Map: Also Map comes in the
> center
> of Rviz.
>
> Each time I set pose in rviz a message appears in move_base.launch file
> that:
> [INFO] [1283336203.162053078]: Setting Pose (1283336203.162035): 97.108
> 99.420 0.000
>
> Well:
> For sending goal I use node simple_navigation_goals which I pick as it is
> from http://www.ros.org/wiki/navigation/Tutorials/SendingSimpleGoals
> When I run rhis node: It gives message of Sending goal and following
> message
> appears on move_base:
> [ Control loop missed its desired rate of 20.000Hz.... the loop actually
> took 0.5809 seconds ]
>
> So this the whole thing I run and use but I dont get Robot moving. I dont
> know why.
> Kindly advise,
> thanks a lot.
> safdar
>
>
>
>
>
> --
> View this message in context:
> http://ros-users.122217.n3.nabble.com/sensor-origin-tp1388170p1399638.html
> Sent from the ROS-Users mailing list archive at Nabble.com.
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20100901/9e4b39cc/attachment-0003.html>


More information about the ros-users mailing list