action speed in move_arm tutorial

I'm trying the tutorial for move_arm motion planning: http://www.ros.org/wiki/move_arm/Tutorials/MoveArmPoseGoal

I would like to be able to change the speed of the arm motions. Instead of launching the move_arm node with:

<include file="\$(find pr2_arm_navigation_actions)/launch/move_right_arm.launch"/>


I add the parameter "move_arm_frequency" as below:

  <node pkg="move_arm" type="move_arm_simple_action" output="screen" name="move_right_arm">
<remap from="arm_ik" to="pr2_right_arm_kinematics/get_constraint_aware_ik" />
<param name="group" type="string" value="right_arm" />
<param name="controller_action_name" type="string" value="/r_arm_controller/follow_joint_trajectory" />
<param name="move_arm_frequency" type="double" value="80" />
</node>


I run the tutorial example, unchanged: rosrun pr2_arm_navigation_tutorials move_arm_simple_pose_goal

However, when I change the value of "move_arm_frequency" to different values (say 1 vs. 80), I see no noticeable change in the executed action time, either slower or faster. (The default value in move_arm_simple_action.cpp is 50.) I always reset to the same joint pose, relaunched the move_arm node, and verified with "rosparam get" that the parameter has new values.

I'm pretty sure the parameter is getting updated, since a value of 0 results in a runtime error. It seems that it should affect the action completion time in the CONTROL state:

move_arm_action_feedback_.time_to_completion = ros::Duration(1.0/move_arm_frequency_);


Is there a way to change the speed of the arm motion for the move_arm example, either through this parameter or another one?

edit retag close merge delete

Sort by » oldest newest most voted

I'm not sure how to speed up the execution, it may be that you are hitting the joint speed limits specified for planning. However, I can say that the move_arm_frequency is how fast move_arm runs its internal feedback loop during trajectory execution -- so it won't change how long a trajectory takes to execute (just how closely specified/monitored it is).

more

Thanks for the clarification about that parameter. Even knowing how to slow down the execution would be helpful so that we could test whether the speed limits are actually the issue.
( 2012-01-07 09:01:18 -0500 )edit
You might try editing the joint_limits.yaml file to reduce the speed limits and see if that changes execution.
( 2012-01-07 10:31:02 -0500 )edit