Ask Your Question

Environment Server's get_trajectory_validity is not being advertised

asked 2011-07-13 03:03:46 -0600

John Hoare gravatar image

updated 2011-07-13 04:56:09 -0600

Using ROS diamondback with our custom arm, I'm trying to get move_arm to work. My current problem is that the environment_server is not advertising a get_trajectory_validity service. I am trying to ignore any obstacles in the environment for now.

Here's the launch file that I am using for the environment service


  <node pkg="planning_environment" type="environment_server" output="screen" name="environment_server">
    <param name="allow_valid_collisions" type="bool" value="false" />

    <param name="collision_map_safety_timeout" type="double" value="100000.0" />
    <param name="joint_states_safety_timeout" type="double" value="1.0" />
    <param name="tf_safety_timeout" type="double" value="1.0" />
    <param name="bounding_planes" type="string" value="0 0 1 -0.01" />

    <param name="object_padd" type="double" value="0.04" />
    <param name="pointcloud_padd" type="double" value="0.00" />

    <param name="contacts_to_compute_for_display" type="int" value="50" />
    <param name="joint_state_cache_allowed_difference" type="double" value=".1" />

    <param name="use_collison_map" value="false" />

    <param name="default_robot_padding" value="0.01" />


The error I get (from move_arm) is:

  seq: 235
  stamp: 1310568657.618890981
level: 2
name: /move_right_arm
msg: waitForService: Service [/environment_server/get_trajectory_validity] has not been advertised, waiting...
file: /tmp/buildd/ros-diamondback-ros-comm-1.4.7/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
function: service::exists
line: 80
  topics[0]: /rosout
  topics[1]: /allowed_contact_regions_array

I am launching the move_arm node with:

  <node pkg="move_arm" type="move_arm_simple_action" output="screen" name="move_right_arm">

    <remap from="robot_description" to="/robot_description" />
    <remap from="joint_state" to="/joint_states" />
    <remap from="filter_trajectory" to="trajectory_filter/filter_trajectory_with_constraints" />
    <!--remap from="filter_trajectory" to="chomp_planner_longrange/filter_trajectory_with_constraints" /-->

    <remap from="arm_ik" to="/arm_kinematics/get_constraint_aware_ik" />
    <remap from="arm_fk" to="/arm_kinematics/get_fk" />

    <remap from="get_trajectory_validity" to="environment_server/get_trajectory_validity" />
    <remap from="get_environment_safety" to="environment_server/get_environment_safety" />
    <remap from="get_execution_safety" to="environment_server/get_execution_safety" />
    <remap from="get_group_info" to="environment_server/get_group_info" />
    <remap from="get_robot_state" to="environment_server/get_robot_state" />
    <remap from="get_state_validity" to="environment_server/get_state_validity" />

    <param name="group" type="string" value="right_arm" />
    <param name="ik_allowed_time" type="double" value="2.0" />
    <param name="trajectory_filter_allowed_time" type="double" value="2.0" />
    <param name="group" type="string" value="right_arm" />
    <!-- <param name="controller_action_name" type="string" value="/r_arm_controller/joint_trajectory_action" /> -->
    <param name="controller_action_name" type="string" value="/right_arm/joint_trajectory_action" />

    <param name="pause_allowed_time" type="double" value="5.0" />

edit retag flag offensive close merge delete


Can you post how you launch move_arm, what remapping are done there?
arebgun gravatar image arebgun  ( 2011-07-13 03:21:14 -0600 )edit
I am not seeing the get_trajectory_validity service from the environmental server when I run rosservice list, is that normal?
John Hoare gravatar image John Hoare  ( 2011-07-13 03:50:10 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2011-07-27 05:25:26 -0600

John Hoare gravatar image

Turns out the problem (as you can see in my posted launch file) is that I spelled "collision" wrong for the use_collision_map parameter. Perhaps it would be nice to add in a way for unused parameters that are specified.

edit flag offensive delete link more

answered 2011-07-13 04:47:14 -0600

egiljones gravatar image

This is all in diamondback, correct? (Things are very different on unstable/e-turtle and we have a few new tools that should make getting arm_navigation working on your arm much easier).

In diamondback the environment_server should be advertising this in its local namespace so all your configuration looks correct. Given that you have use_collision_map set to false I expect the problem is in your publishing of the /joint_states topic - the environment server will not turn over and advertise its services until it has received a published value for each of the degrees of freedom specified in your URDF.

Once you've launched the environment server you can see what joints its still waiting on by running rxconsole and setting the logger levels for the environment_server planning_environment level to DEBUG.

edit flag offensive delete link more


Would a joint_state need to be published for a fixed joint? And yes, it is in diamondback.
John Hoare gravatar image John Hoare  ( 2011-07-13 04:55:27 -0600 )edit
robot_state_publisher node will publish fixed joints based on URDF, it also subscribes to /joint_states to get state information about all moving joints and then publishes all this to TF.
arebgun gravatar image arebgun  ( 2011-07-13 04:59:02 -0600 )edit
You shouldn't need to publish anything about fixed joints on the /joint_states topic - that only specifies the positions of joints that can move. robot_state_publisher also subscribes to this topic and will use it to publish the full tf tree including for fixed joints.
egiljones gravatar image egiljones  ( 2011-07-13 05:17:53 -0600 )edit
I'm getting lots of: TF operating on not fully resolved frame id world, resolving using local prefix messages, is this the likely culprit?
John Hoare gravatar image John Hoare  ( 2011-07-13 06:10:27 -0600 )edit

Your Answer

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

Add Answer

Question Tools


Asked: 2011-07-13 03:03:46 -0600

Seen: 342 times

Last updated: Jul 27 '11