21 from actionlib
import SimpleActionClient, GoalStatus
22 from sr_robot_msgs.msg
import GraspAction, GraspGoal
23 from moveit_msgs.msg
import Grasp
24 from trajectory_msgs.msg
import JointTrajectoryPoint
25 from sr_hand.shadowhand_ros
import ShadowHand_ROS
28 NAME =
'test_grasp_contact' 35 'LFJ0',
'LFJ3',
'LFJ4',
'LFJ5',
36 'RFJ0',
'RFJ3',
'RFJ4',
37 'MFJ0',
'MFJ3',
'MFJ4',
38 'FFJ0',
'FFJ3',
'FFJ4',
39 'THJ1',
'THJ2',
'THJ3',
'THJ4',
'THJ5',
45 grasp.pre_grasp_posture.joint_names = self.
joint_names 46 jtp = JointTrajectoryPoint()
48 jtp.positions.append(0.0)
49 grasp.pre_grasp_posture.points.append(jtp)
52 jtp = JointTrajectoryPoint()
55 jtp.positions.append(joints[jname])
57 jtp.positions.append(0.0)
58 grasp.grasp_posture.points.append(jtp)
65 """Test sending a grasp with object in the way""" 67 hand = ShadowHand_ROS()
70 for j
in hand.allJoints:
71 hand.sendupdate(j.name, 0.0)
76 'LFJ3': 1.4,
'RFJ3': 1.4,
'MFJ3': 1.4,
'FFJ3': 1.4,
77 'LFJ0': 2.0,
'RFJ0': 2.0,
'MFJ0': 2.0,
'FFJ0': 2.0,
79 goal.pre_grasp =
False 82 client.wait_for_server()
83 client.send_goal(goal)
84 client.wait_for_result(rospy.Duration.from_sec(20.0))
85 self.assertEqual(client.get_state(), GoalStatus.SUCCEEDED,
86 "Action did not return in SUCCEEDED state.")
91 for j
in hand.allJoints:
92 hand.sendupdate(j.name, 0.0)
96 if __name__ ==
'__main__':
98 rostest.rosrun(PKG, NAME, TestGraspContact)