本文整理汇总了Python中interactive_markers.interactive_marker_server.InteractiveMarkerServer.setPose方法的典型用法代码示例。如果您正苦于以下问题:Python InteractiveMarkerServer.setPose方法的具体用法?Python InteractiveMarkerServer.setPose怎么用?Python InteractiveMarkerServer.setPose使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类interactive_markers.interactive_marker_server.InteractiveMarkerServer
的用法示例。
在下文中一共展示了InteractiveMarkerServer.setPose方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: PR2TrajectoryMarkers
# 需要导入模块: from interactive_markers.interactive_marker_server import InteractiveMarkerServer [as 别名]
# 或者: from interactive_markers.interactive_marker_server.InteractiveMarkerServer import setPose [as 别名]
#.........这里部分代码省略.........
"""
#publish the gripper pose
gripper_pos = PoseStamped()
gripper_pos.header.frame_id = feedback.header.frame_id
gripper_pos.pose = feedback.pose
self.gripper_pose_pub.publish(gripper_pos)
if feedback.event_type == InteractiveMarkerFeedback.POSE_UPDATE:
self.last_gripper_pose = feedback.pose
if (self.last_gripper_pose and
feedback.event_type == InteractiveMarkerFeedback.MOUSE_UP):
self.last_gripper_pose = None
pos = PoseStamped()
pos.header.frame_id = feedback.header.frame_id
pos.pose = feedback.pose
if self.whicharm == "right":
ik = self.planner.check_ik_right_arm
else:
ik = self.planner.check_ik_left_arm
if ik(pos):
color = None
else:
color = (1,0,0,1)
int_marker = self.server.get(self.int_marker.name)
int_marker.controls.remove(self.gripper_marker)
self.gripper_marker = utils.makeGripperMarker(color=color)
int_marker.controls.append(self.gripper_marker)
#rospy.loginfo("Control: %s", int_marker.controls)
self.server.insert(int_marker, self.main_callback)
self.server.setPose(int_marker.name, self.last_gripper_pose)
self.server.applyChanges()
def overwrite_trajectory(self, msg):
self.trajectory = msg
def add_point(self, feedback):
"""
Add a point to self.trajectory if it is allowed by IK.
"""
pos = PoseStamped()
pos.header.frame_id = feedback.header.frame_id
pos.pose = feedback.pose
if self.whicharm == "right":
ik = self.planner.check_ik_right_arm
else:
ik = self.planner.check_ik_left_arm
if ik(pos):
rospy.loginfo("Pose is reachable")
self.trajectory.poses.append(feedback.pose)
else:
rospy.logerr("Pose is not reachable!")
def place_gripper(self, feedback):
"""
Move the marker where the gripper is
"""
if self.whicharm == "right":
gripper_pos = self.planner.get_right_gripper_pose()
else:
gripper_pos = self.planner.get_left_gripper_pose()
self.server.setPose(self.int_marker.name, gripper_pos.pose,