Can I test Interpolated IK Motion Planner, in Fuerte, with arm_navigation Planning Warehouse [closed]
(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 ...
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.
Thanks, that would be great @bit-pirate