Ask Your Question
0

Planning Scene Validity

asked 2013-01-04 11:42:13 -0500

ncr7 gravatar image

So I've been working to get state validity working on a robot other than the pr2.

Sofar I have been able to get make a collision map using Octomap package and also using Ros' collision_map package. Although I have these working I can't seem to get a successful launch of the environment server.

<?xml version="1.0"?>
<launch>
<include file="$(find planning_environment)/launch/environment_server.launch">
    <arg name="use_monitor" value="true" />
    <arg name="use_collision_map" value="false" />
</include>
</launch>

It seems to be ok if I have the use_collision_map to false, but as soon as I try to using the collision map, setting use_collision_map to true, it returns with the following,

[ INFO] [1357342567.800352046, 1481.192000000]: Robot frame is 'world'
[ INFO] [1357342567.802839831, 1481.194000000]: Waiting for robot state ...
[ INFO] [1357342567.802944012, 1481.194000000]: Waiting for joint state ...
[ INFO] [1357342567.834051445, 1481.218000000]: waitForService: Service [/register_planning_scene] has not been advertised, waiting...
[ INFO] [1357342567.975509028, 1481.344000000]: Robot state received!
[ INFO] [1357342567.976648617, 1481.345000000]: Listening to collision_map using message notifier with target frame /world 
[ INFO] [1357342568.889010082, 1482.220000000]: Waiting for environment server planning scene registration service /register_planning_scene
[ INFO] [1357342568.889640275, 1482.221000000]: waitForService: Service [/register_planning_scene] has not been advertised, waiting...
[ INFO] [1357342569.032297694, 1482.347000000]: Waiting for collision map
[ INFO] [1357342569.972849630, 1483.231000000]: Waiting for environment server planning scene registration service /register_planning_scene
[ INFO] [1357342569.973346271, 1483.231000000]: waitForService: Service [/register_planning_scene] has not been advertised, waiting...
[ INFO] [1357342571.050532698, 1484.251000000]: Waiting for environment server planning scene registration service /register_planning_scene
[ INFO] [1357342571.051002291, 1484.251000000]: waitForService: Service [/register_planning_scene] has not been advertised, waiting...

I've tried everything I could think of. The weird thing is that I've tried to implement the same methods used for the pr2, main difference being that the tilt scanner is now a point cloud from an asus.

Is there a specific way to set the service to /register_planning_scene? I can't seem to find anything to fix this issue.

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted
0

answered 2013-01-09 11:46:01 -0500

ncr7 gravatar image

Thank for the help! I actually was publishing a collision map. I found that the /register_planning_scene service wasn't being published, I seems to take a while for the collision map publisher "collision_map_occ" to be connected to it seems. I let it run for about 20 sec or so and it finally was able to detect the /register_planning_scene.

I use Octomap Server like so in my launcher,

<node pkg="octomap_server" type="octomap_server_node" name="octomap_server">

<!-- fixed map frame (set to 'map' if SLAM or localization running!) -->
<param name="frame_id" type="string" value="/world" />

<!-- maximum range to integrate (speedup!) -->
<param name="max_sensor_range" value="5.0" />

<param name="latch" value="false" />
<!-- data source to integrate (PointCloud2) -->
<remap from="cloud_in" to="/r2/neck/head/range_camera0/depth_registered/points" />
<remap from="collision_map_out" to="collision_map_occ" />

</node>

maybe it takes a few minutes to start up the publishers in the Octomap Server.

edit flag offensive delete link more
2

answered 2013-01-08 00:02:51 -0500

generally speaking, when you set "use_monitor" to true, the environment server will not start its services until it receive the full robot state. that's why you see "Waiting for environment server planning scene registration service /register_planning_scene" in your output. but i notice that in the output there indeed exists "Robot state received". so you may check which node is responsible for publishing the robot state and check whether or not it's publishing correctly.

edit flag offensive delete link more
2

answered 2013-01-06 20:49:57 -0500

Adolfo Rodriguez T gravatar image

Make sure that you've correctly setup the topic containing the collision map. This includes appropriate name remapping and making sure that the topic is being published. The latter is particularly important: even if there are no obstacles around, you should publish an empty collision map.

See also this related question.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2013-01-04 11:42:13 -0500

Seen: 620 times

Last updated: Jan 09 '13