Ask Your Question
0

Problem by using interpolated ik motion planner

asked 2012-07-25 03:23:47 -0500

dong gravatar image

updated 2012-07-25 03:24:46 -0500

Hi, recently i have tried to port the ros tabletop object_manipulation to our own robot. And i occur the problem that the interpolated ik motion planner can only accept 'r' and 'l' as argument. The generated arm navigation launch file has another arm name such like 'kuka'. Is that a way to go around this problem or do i have to manually modify the source code in the interpolated ik motion planner to enable of using other arms.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2012-11-08 17:17:01 -0500

bit-pirate gravatar image

updated 2012-11-08 17:17:57 -0500

I solved this issue for me by commenting out two lines in interpolated_ik_motion_planner/scripts/interpolated_ik_motion_planner.py as below:

if __name__ == "__main__":

    which_arm = None
#    if len(sys.argv) >= 2:
#        which_arm = sys.argv[1]
    interpolated_ik_service = InterpolatedIKService(which_arm)
    rospy.loginfo("Ready to serve interpolated IK motion plan requests.")

    rospy.spin()

Here is my launch file, which makes the planner connect to the services it needs (e.g. IK):

<launch>
  <group ns="your_robot_name">
    <node name="interpolated_ik_node" pkg="interpolated_ik_motion_planner" type="interpolated_ik_motion_planner.py" args="" respawn="false">
      <param name="robot_prefix" type="string" value="your_robot_name"/>
      <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>
  </group>
</launch>

Hope this works for you as well!

edit flag offensive delete link more

Comments

Doesn't this disable handling of the arm parameter completely?

Lorenz gravatar image Lorenz  ( 2012-11-08 22:39:08 -0500 )edit

Correct, but if you have only one arm, that doesn't matter. If you still want to use multiple arms on the same robot, you will need to tweak the logic in that argv parsing or you use topic remappings for each node. I guess, this usage of argv is, because this tool was initial used via rosrun.

bit-pirate gravatar image bit-pirate  ( 2012-11-09 19:06:49 -0500 )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

Stats

Asked: 2012-07-25 03:23:47 -0500

Seen: 162 times

Last updated: Nov 08 '12