ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Common Configuration.yaml Nav stack help [closed]

asked 2014-03-05 12:33:35 -0600

l0g1x gravatar image

updated 2014-08-07 11:33:25 -0600

I am in the process of configuring the navigation stack and for the common configuration yaml file, i don't exactly know what i should put for the frame name of the laser scanner. I am currently using the sick_tim310 laser range finder. Contacted the guys who made the driver for ros and they said to come here.

-------------------------------- common_configuration.yaml ----------------------

obstacle_range: 2.5
raytrace_range: 3.0
footprint: [[x0, y0], [x1, y1], ... [xn, yn]]
#robot_radius: ir_of_robot
inflation_radius: 0.55

observation_sources: laser_scan_sensor point_cloud_sensor

laser_scan_sensor: {sensor_frame: FRAME_NAME, data_type: LaserScan, topic: topic_name, marking: true, clearing: true}

point_cloud_sensor: {sensor_frame: frame_name, data_type: PointCloud, topic: topic_name, marking: true, clearing: true}

would the FRAME_NAME be sick_tim310 ? this is the only thing i could imagine it to be. I looked if in the source there was anything specifying the frame name, and the only thing i found was a published frame id that was set to the message header. I don't believe that is what i am looking for.

from my understanding and previous encounterments (for example in setting up the transform) the [child] frame_id i specified for our laser relative to the robots center [base_link] "base_laser" I'm a little confused still by the difference between the frame_id and frame_name.

EDIT: If you are using the sick_tim3xx ros package, the then sensor_frame is laser. If you are using a different laser scanner, just go look through the code of the package, and where ever the node is assigned values to the sensor_msgs/LaserScan message, look for what is being assigned to laser.header.frame_id, and whatever is set there (say 'laser'), then put {sensor_frame: laser, .....} in the common_configuration.yaml file.

edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by l0g1x
close date 2015-04-02 21:50:46.982444

Comments

Someone correct me if im wrong. According to @ahendrix 's answer, it seems that it MIGHT be what the frame_id is for the transform publisher which broadcasts a transform from your laser to your base_link.

l0g1x gravatar image l0g1x  ( 2014-08-07 11:35:59 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
2

answered 2014-03-05 16:43:10 -0600

ahendrix gravatar image

In general, frame_id and frame_name are the same thing.

You should use the header frame_id from your laser as the sensor_frame when configuring the costmaps.

edit flag offensive delete link more

Comments

well in the transform i set the frame_id to base_laser. is that what it is? or do i need to look in the source code of the driver I'm using?

l0g1x gravatar image l0g1x  ( 2014-03-05 17:03:02 -0600 )edit

base_laser sounds like the right frame name for your application.

ahendrix gravatar image ahendrix  ( 2014-03-06 05:36:59 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2014-03-05 12:33:35 -0600

Seen: 339 times

Last updated: Aug 07 '14