Can I test Interpolated IK Motion Planner, in Fuerte, with arm_navigation Planning Warehouse [closed]

asked 2013-01-08 05:28:57 -0500

dbworth gravatar image

updated 2014-01-28 17:14:45 -0500

ngrennan gravatar image

(ROS Fuerte)

Hi all,

I generated a launch file for the Arm Planning Warehouse Viewer, by following this tutorial:
http://www.ros.org/wiki/arm_navigation/Tutorials/tools/Warehouse%20Viewer

Now I'm looking at the Interpolated IK Motion Planner, which is used in the Manipulation Pipeline to move from the "pre-grasp" to "grasp" positions.

It looks like that in Electric, you could testing this interpolated planner from within the Warehouse Viewer.
See previous posts:
http://answers.ros.org/question/37016/planning_scene_warehouse_viewer-crashes-when-using-secondary-ik/
http://answers.ros.org/question/39759/problem-by-using-interpolated-ik-motion-planner/

In Warehouse Viewer, you can select "Planner configuration" --> "use secondary planner"
But when you click on the "Plan New Trajectory" button, it fails with:
Planning Failed!: unknown error code

By modifying the interpolated IK code:
/arm_navigation_experimental/interpolated_ik_motion_planner/scripts/interpolated_ik_motion_planner.py I can see that the planner is getting initialized, but the callback attached to the ROS Service call is never called.

The interpolated IK script was modified to load with arguments "left" and "right", instead of "l" and "r".
I'm launching the interpolated IK planners using suggestions from bit-pirate in the above post (see launch file below) but this secondary planner still fails.

#### So, has anyone managed to use this interpolated planner in Fuerte?
...with a non-PR2 robot?
...in the Warehouse?

Thanks for reading this far. Your help will be rewarded with beer or donuts! cheers, David.

(redeemable at ROSCon 20xx :-)


My launch file for Planning Warehouse:

<launch>
  <param name="/use_sim_time" value="true" />
  <include file="$(find MYROBOT_arm_navigation)/launch/MYROBOT_planning_environment.launch" />
  <node pkg="planning_environment" name="wall_clock_server" type="fake_time.py" />

  <param name="warehouse_host" value="localhost"/>
  <param name="warehouse_port" value="27020"/>
  <node name="mongo" type="wrapper.py" pkg="mongodb">
    <param name="overwrite" value="false"/>
    <param name="database_path" value="arm_navigation_dbs/MYROBOT"/>
  </node>

  <include file="$(find planning_environment)/launch/environment_server.launch">
    <arg name="use_monitor" value="false" />
    <arg name="use_collision_map" value="false" />
  </include>
  <include file="$(find MYROBOT_arm_navigation)/launch/constraint_aware_kinematics.launch" />
  <include file="$(find MYROBOT_arm_navigation)/launch/ompl_planning.launch" />
  <include file="$(find MYROBOT_arm_navigation)/launch/trajectory_filter_server.launch" />
  <node pkg="robot_state_publisher" type="state_publisher" name="rob_st_pub" />
  <node name="planning_scene_warehouse_viewer" pkg="move_arm_warehouse" type="planning_scene_warehouse_viewer"/>



  <node name="interpolated_ik_node_right" pkg="interpolated_ik_motion_planner" 
    type="interpolated_ik_motion_planner.py" args="right" respawn="false" output="screen">
    <param name="robot_prefix" type="string" value="MYROBOT"/>

    <!-- param name="consistent_angle" type="double" value="1.05"/ -->

      <param name="num_steps" type="int" value="0"/>
      <param name="pos_spacing" type="double" value="0.02"/>
      <param name="rot_spacing" type="double" value="0.0349065850399"/>
      <param name="collision_check_resolution" type="int" value="0"/>
      <param name="consistent_angle" type="double" value="0.017"/>
      <param name="collision_aware" type="int" value="1"/>
      <param name="start_from_end" type="int" value="0"/>

  </node>

  <node name="interpolated_ik_node_left" pkg="interpolated_ik_motion_planner" 
    type="interpolated_ik_motion_planner.py" args="left" respawn="false" output="screen">
    <param name="robot_prefix" type="string" value="MYROBOT"/>

    <!-- param name="consistent_angle" type="double" value="1.05"/ -->

      <param name="num_steps" type="int" value="0"/>
      <param name="pos_spacing" type="double" value="0.02"/>
      <param name="rot_spacing" type="double" value="0.0349065850399"/>
      <param name="collision_check_resolution" type="int" value="0"/>
      <param name="consistent_angle" type="double" value="0.017"/>
      <param name="collision_aware" type="int" value="1"/>
      <param name="start_from_end" type ...
(more)
edit retag flag offensive reopen merge delete

Closed for the following reason question is not relevant or outdated by tfoote
close date 2015-09-28 01:14:27.381161

Comments

I actually gave up on the interpolated IK planner after spending several hours trying to get it work. I remember that there was a significant difference in the information needed in the solver and provided by the default move arm action description. I'll look into this soon again and report.

bit-pirate gravatar imagebit-pirate ( 2013-01-30 18:34:32 -0500 )edit

Thanks, that would be great @bit-pirate

dbworth gravatar imagedbworth ( 2013-01-31 04:37:25 -0500 )edit