def detect_markers_cb(request):
    rospy.loginfo('Received [%s] request.' % SERVICE)
    r = random.random()
    response = GetObjectsResponse()
    response.stamp = rospy.Time.now()
    if r > 0.8: # no markers found
        return response
    if r > 0.6: # two markers found
        response.objects.append(create_object('B1'))
    if r > 0.3: # one marker found
        response.objects.append(create_object('B2'))
    else:
        response.objects.append(create_object('B3'))
    return response
def detect_markers_cb(request):
    rospy.loginfo('Received [%s] request.' % SERVICE)
    r = random.random()
    response = GetObjectsResponse()
    response.stamp = rospy.Time.now()
    if r > 0.8:  # no markers found
        return response
    if r > 0.6:  # two markers found
        response.objects.append(create_object('B1'))
    if r > 0.3:  # one marker found
        response.objects.append(create_object('B2'))
    else:
        response.objects.append(create_object('B3'))
    return response
def detect_markers_cb(request):
    rospy.loginfo("Received [%s] request." % SERVICE)
    markers = defaultdict(list)
    frame_id = "/openni_rgb_optical_frame"

    def markers_cb(msg):
        for m in msg.markers:
            markers[m.id].append(m.pose.pose)

    marker_sub = rospy.Subscriber("ar_pose_markers", ARMarkers, markers_cb)
    accumulate_time = rospy.get_param("~accumulate_time", 2)
    rospy.sleep(accumulate_time)
    marker_sub.unregister()

    response = GetObjectsResponse()
    response.stamp = rospy.Time.now()
    for i, l in markers.iteritems():
        obj = Object()
        obj.name = str(i)
        obj.pose.header.frame_id = frame_id
        obj.pose.pose = average_pose(l)
        response.objects.append(obj)
    return response
Exemple #4
0
def detect_markers_cb(request):
    rospy.loginfo('Received [%s] request.' % SERVICE)
    markers = defaultdict(list)
    frame_id = '/openni_rgb_optical_frame'

    def markers_cb(msg):
        for m in msg.markers:
            markers[m.id].append(m.pose.pose)

    marker_sub = rospy.Subscriber('ar_pose_markers', ARMarkers, markers_cb)
    accumulate_time = rospy.get_param('~accumulate_time', 2)
    rospy.sleep(accumulate_time)
    marker_sub.unregister()

    response = GetObjectsResponse()
    response.stamp = rospy.Time.now()
    for i, l in markers.iteritems():
        obj = Object()
        obj.name = str(i)
        obj.pose.header.frame_id = frame_id
        obj.pose.pose = average_pose(l)
        response.objects.append(obj)
    return response