コード例 #1
0
    def __init__(self, frame_id, name, description, is_manager=False, speed=0.2):
        InteractiveMarker.__init__(self)

        self.header.frame_id = frame_id
        self.name = name
        self.description = description
        self.speed = speed
        self.marker = Marker()
        self.marker.type = Marker.CYLINDER
        self.marker.scale.x = 0.1
        self.marker.scale.y = 0.1
        self.marker.scale.z = 0.4
        self.marker.pose.position.z = 0.20
        if is_manager:
            self.marker.color.r = 0.8
            self.marker.color.g = 0.0
            self.marker.color.b = 0.0
            self.marker.color.a = 0.5
        else:
            self.marker.color.r = 0.0
            self.marker.color.g = 0.8
            self.marker.color.b = 0.0
            self.marker.color.a = 0.5

        self.marker_control = InteractiveMarkerControl()
        self.marker_control.always_visible = True
        self.marker_control.orientation.w = 1
        self.marker_control.orientation.x = 0
        self.marker_control.orientation.y = 1
        self.marker_control.orientation.z = 0
        self.marker_control.markers.append(self.marker)
        self.marker_control.interaction_mode = InteractiveMarkerControl.MOVE_PLANE

        self.controls.append(self.marker_control)
コード例 #2
0
    def __init__(self, frame_id, name, description, is_manager=False):
        InteractiveMarker.__init__(self)

        self.header.frame_id = frame_id
        self.name = name
        self.description = description

        self.marker = Marker()
        self.marker.type = Marker.CYLINDER
        self.marker.scale.x = 0.1
        self.marker.scale.y = 0.1
        self.marker.scale.z = 0.4
        self.marker.pose.position.z = 0.20
        if is_manager:
            self.marker.color.r = 0.8
            self.marker.color.g = 0.0
            self.marker.color.b = 0.0
            self.marker.color.a = 0.5
        else:
            self.marker.color.r = 0.0
            self.marker.color.g = 0.8
            self.marker.color.b = 0.0
            self.marker.color.a = 0.5

        self.marker_control = InteractiveMarkerControl()
        self.marker_control.always_visible = True
        self.marker_control.orientation.w = 1
        self.marker_control.orientation.x = 0
        self.marker_control.orientation.y = 1
        self.marker_control.orientation.z = 0
        self.marker_control.markers.append(self.marker)
        self.marker_control.interaction_mode = InteractiveMarkerControl.MOVE_PLANE

        self.controls.append(self.marker_control)
    def __init__(self,
                 frame_id,
                 name,
                 description,
                 is_manager=False,
                 speed=0.2):
        InteractiveMarker.__init__(self)

        marker_scale_x = rospy.get_param('~marker_scale_x', 1.0)
        marker_scale_y = rospy.get_param('~marker_scale_y', 0.2)
        marker_scale_z = rospy.get_param('~marker_scale_z', 0.2)
        print "Marker scales " + str(marker_scale_x) + ", " + str(
            marker_scale_y) + ", " + str(marker_scale_z)

        self.header.frame_id = frame_id
        self.name = name
        self.description = description
        self.speed = speed
        self.marker = Marker()
        self.marker.type = Marker.ARROW
        self.marker.scale.x = marker_scale_x
        self.marker.scale.y = marker_scale_y
        self.marker.scale.z = marker_scale_z
        #self.marker.pose.position.z = 0.20
        if is_manager:
            self.marker.color.r = 0.8
            self.marker.color.g = 0.0
            self.marker.color.b = 0.0
            self.marker.color.a = 0.5
        else:
            self.marker.color.r = 0.0
            self.marker.color.g = 0.8
            self.marker.color.b = 0.0
            self.marker.color.a = 0.5

        self.marker_control = InteractiveMarkerControl()
        self.marker_control.always_visible = True
        self.marker_control.orientation.w = 1
        self.marker_control.orientation.x = 0
        self.marker_control.orientation.y = 1
        self.marker_control.orientation.z = 0
        self.marker_control.name = "move_plane"
        self.marker_control.markers.append(self.marker)
        self.marker_control.interaction_mode = InteractiveMarkerControl.MOVE_PLANE

        self.controls.append(self.marker_control)

        self.marker_control2 = InteractiveMarkerControl()
        self.marker_control2.orientation.w = 1
        self.marker_control2.orientation.x = 0
        self.marker_control2.orientation.y = 1
        self.marker_control2.orientation.z = 0
        self.marker_control2.name = "rotate_z"
        self.marker_control2.interaction_mode = InteractiveMarkerControl.ROTATE_AXIS

        self.controls.append(self.marker_control2)
コード例 #4
0
    def __init__(self, marker_type="mesh"):
        """[InteractiveMarker for Waypoints. Moves in SE2, can be a sphere or a flag. Has a red arrow]

        Args:
            marker_type (str, optional): [marker type  "mesh" or "sphere"]. Defaults to "mesh".
        """
        InteractiveMarker.__init__(self)
        self.scale = params["control_scale"].data
        self._setup_markers()
        self._setup_controls()
コード例 #5
0
    def __init__(self,
                 frame_id,
                 name,
                 description,
                 is_manager=False,
                 speed=0.2,
                 mission_point=MissionPoint(),
                 point_description=''):
        InteractiveMarker.__init__(self)

        self.header.frame_id = frame_id
        self.name = name
        self.description = description
        self.point_description = point_description
        self.speed = speed
        self.marker = Marker()

        self.is_manager = is_manager

        if is_manager:
            self.marker.type = Marker.CUBE
            self.marker.scale.x = 0.15
            self.marker.scale.y = 0.15
            self.marker.scale.z = 0.6
            self.marker.pose.position.z = 0.3
            self.marker.color.r = 1.0
            self.marker.color.g = 0.0
            self.marker.color.b = 0.0
            self.marker.color.a = 0.7
        else:
            self.marker.type = Marker.CYLINDER
            self.marker.scale.x = 0.1
            self.marker.scale.y = 0.1
            self.marker.scale.z = 0.4
            self.marker.pose.position.z = 0.20
            self.marker.color.r = 0.0
            self.marker.color.g = 1.0
            self.marker.color.b = 0.0
            self.marker.color.a = 0.7

        self.marker_control = InteractiveMarkerControl()
        self.marker_control.always_visible = True
        self.marker_control.orientation.w = 1
        self.marker_control.orientation.x = 0
        self.marker_control.orientation.y = 1
        self.marker_control.orientation.z = 0
        self.marker_control.markers.append(self.marker)
        self.marker_control.interaction_mode = InteractiveMarkerControl.MOVE_PLANE

        self.mission_point = mission_point

        self.controls.append(self.marker_control)
コード例 #6
0
ファイル: path_marker.py プロジェクト: SweiLz/Eleven
    def __init__(self,
                 frame_id,
                 name,
                 description,
                 is_manager=False,
                 speed=0.2):
        InteractiveMarker.__init__(self)
        marker_scale_x = rospy.get_param("~marker_scale_x", 0.2)
        marker_scale_y = rospy.get_param("~marker_scale_y", 0.2)
        marker_scale_z = rospy.get_param("~marker_scale_z", 0.5)

        self.header.frame_id = frame_id
        self.name = name
        self.description = description
        self.speed = speed
        self.marker = Marker()
        self.marker.type = Marker.CYLINDER
        self.marker.scale.x = marker_scale_x
        self.marker.scale.y = marker_scale_y
        self.marker.scale.z = marker_scale_z
        self.marker.pose.position.z = 0.0
        if is_manager:
            self.marker.color.r = 0.8
            self.marker.color.g = 0.0
            self.marker.color.b = 0.0
            self.marker.color.a = 0.8
        else:
            self.marker.color.r = 0.0
            self.marker.color.g = 0.8
            self.marker.color.b = 0.0
            self.marker.color.a = 0.8

        self.marker_control = InteractiveMarkerControl()
        self.marker_control.always_visible = True
        self.marker_control.orientation.w = 1
        self.marker_control.orientation.x = 0
        self.marker_control.orientation.y = 1
        self.marker_control.orientation.z = 0
        self.marker_control.markers.append(self.marker)
        self.marker_control.interaction_mode = InteractiveMarkerControl.MOVE_PLANE
        self.controls.append(self.marker_control)
コード例 #7
0
ファイル: poi_marker.py プロジェクト: nachocz/campero_ws
	def __init__(self, name, description, is_manager = False, is_editable = False):
		InteractiveMarker.__init__(self)

		marker_scale_x = rospy.get_param('~marker_scale_x', 0.5)
		marker_scale_y = rospy.get_param('~marker_scale_y', 0.15)
		marker_scale_z = rospy.get_param('~marker_scale_z', 0.15)
		
		self.header.frame_id = frame_id
		self.name = name
		self.description = 'POI: %s'%description
		#marker arrow
		self.marker = Marker()
		self.marker.type = Marker.ARROW
		self.marker.scale.x = marker_scale_x
		self.marker.scale.y = marker_scale_y
		self.marker.scale.z = marker_scale_z
		
		##Text of markers
		control = InteractiveMarkerControl()
		control.always_visible = True		
		marker_name = Marker()
		marker_name.type = Marker.TEXT_VIEW_FACING
		
		if is_manager:
			#arrow color
			self.marker.color.r = 0.8
			self.marker.color.g = 0.0
			self.marker.color.b = 0.0
			self.marker.color.a = 0.5
			self.marker.scale.x = 1
			self.marker.scale.y = 0.2
			self.marker.scale.z = 0.2
			#interactive marker move_plane
			self.marker_move_control = InteractiveMarkerControl()
			self.marker_move_control.always_visible = True
			self.marker_move_control.orientation.w = 1
			self.marker_move_control.orientation.x = 0
			self.marker_move_control.orientation.y = 1
			self.marker_move_control.orientation.z = 0
			self.marker_move_control.name = "move_plane"
			self.marker_move_control.markers.append( self.marker )
			self.marker_move_control.interaction_mode = InteractiveMarkerControl.MOVE_PLANE			
			self.controls.append( self.marker_move_control )
			
			#interactive marker rotate_z
			self.marker_rotate_control = InteractiveMarkerControl()
			self.marker_rotate_control.orientation.w = 1
			self.marker_rotate_control.orientation.x = 0
			self.marker_rotate_control.orientation.y = 1
			self.marker_rotate_control.orientation.z = 0
			self.marker_rotate_control.name = "rotate_z"
			self.marker_rotate_control.interaction_mode = InteractiveMarkerControl.ROTATE_AXIS

			self.controls.append( self.marker_rotate_control )		
			
			#control of text marker
			control.interaction_mode = InteractiveMarkerControl.MOVE_PLANE
			control.orientation.w = 1
			control.orientation.x = 0
			control.orientation.y = 1
			control.orientation.z = 0
			
					
		elif is_editable:
			#arrow color
			self.marker.color.r = 0.8
			self.marker.color.g = 0.8
			self.marker.color.b = 0.0
			self.marker.color.a = 0.75
			self.marker.scale.x = 1
			self.marker.scale.y = 0.2
			self.marker.scale.z = 0.2
			#interactive marker move_plane
			self.marker_move_control = InteractiveMarkerControl()
			self.marker_move_control.always_visible = True
			self.marker_move_control.orientation.w = 1
			self.marker_move_control.orientation.x = 0
			self.marker_move_control.orientation.y = 1
			self.marker_move_control.orientation.z = 0
			self.marker_move_control.name = "move_plane"
			self.marker_move_control.markers.append( self.marker )
			self.marker_move_control.interaction_mode = InteractiveMarkerControl.MOVE_PLANE
			
			self.controls.append( self.marker_move_control )
			#interactive marker rotate_z
			self.marker_rotate_control = InteractiveMarkerControl()
			self.marker_rotate_control.orientation.w = 1
			self.marker_rotate_control.orientation.x = 0
			self.marker_rotate_control.orientation.y = 1
			self.marker_rotate_control.orientation.z = 0
			self.marker_rotate_control.name = "rotate_z"
			self.marker_rotate_control.interaction_mode = InteractiveMarkerControl.ROTATE_AXIS

			self.controls.append( self.marker_rotate_control )
			
			#control of text marker
			control.interaction_mode = InteractiveMarkerControl.MOVE_PLANE
			control.orientation.w = 1
			control.orientation.x = 0
			control.orientation.y = 1
			control.orientation.z = 0
						
		else:			
			self.marker.color.r = 0.0
			self.marker.color.g = 0.7
			self.marker.color.b = 0.0
			self.marker.color.a = 0.5
			control.interaction_mode = InteractiveMarkerControl.FIXED
		
		self.marker_control = InteractiveMarkerControl()
		self.marker_control.name = 'menu'
		self.marker_control.always_visible = True
		self.marker_control.orientation.w = 1
		self.marker_control.orientation.x = 0
		self.marker_control.orientation.y = 1
		self.marker_control.orientation.z = 0
		self.marker_control.markers.append( self.marker )
		self.marker_control.interaction_mode = InteractiveMarkerControl.MENU		
		self.controls.append( self.marker_control )	
		
		#color of text
		marker_name.text = name
		marker_name.color.a = 0.95
		marker_name.scale.x = 0.35
		marker_name.scale.y = 0.1
		marker_name.scale.z = 0.1
		marker_name.pose.position.x	=0
		marker_name.pose.position.y	=0
		marker_name.pose.position.z	=0.2
		control.markers.append(marker_name)
		self.controls.append(control)