Example #1
0
def addLoopClosurePose(pose):
    global poseId, lineId, markerArray
    rgb = [1, 1, 1]

    poseMarker = utils.poseMarker(poseId, pose, rgb)
    lineMarker = utils.lineMarker(0, poseId)
    markerArray.markers.append(poseMarker)
    markerArray.markers.append(lineMarker)
    poseId = poseId + 1
def addMarkers(poses):
    global poseId, lineId, markerArray
    rgb = [0, 1, 1]
    for pose in poses:
        pose.position.x = pose.position.x * scale - origin[0] * scale
        pose.position.y = pose.position.y * scale - origin[1] * scale
        pose.position.z = pose.position.z * scale - origin[2] * scale

        marker = utils.poseMarker(poseId, pose, rgb)
        poseId = poseId + 1
        markerArray.markers.append(marker)

    for x in range(1, poseId):
        prev = x - 1
        marker = utils.lineMarker(prev, x)
        markerArray.markers.append(marker)
Example #3
0
def addLoopClosurePose(pose):
    global poseId, lineId, markerArray
    rgb = [0, 1, 1]    
        
    pose.position.x = pose.position.x * scale - origin[0] * scale
    pose.position.y = pose.position.y * scale - origin[1] * scale
    pose.position.z = pose.position.z * scale - origin[2] * scale
    
    #pose.position.y = - pose.position.y
    #pose.position.x = - pose.position.x
    #pose.position.z = - pose.position.z
    
    marker = utils.poseMarker(poseId,pose,rgb)
    marker = utils.lineMarker(0, poseId)
    markerArray.markers.append(marker)
    poseId = poseId + 1
Example #4
0
def addNodes(lines):
    global markerArray
    rgb = [1, 0.5, 0]
    for line in lines:
        words = line.split()
        if words[0] == 'Pose3d_Node':
            id = int(words[1])
            pose = Pose()

            pose.position.x = float(words[2]) * scale
            pose.position.y = float(words[3]) * scale
            pose.position.z = float(words[4]) * scale

            yaw = float(words[5])
            pitch = float(words[6])
            roll = float(words[7])
            q = tf.transformations.quaternion_from_euler(
                roll, pitch, yaw, 'ryxz')
            pose.orientation.x = q[0]
            pose.orientation.y = q[1]
            pose.orientation.z = q[2]
            pose.orientation.w = q[3]

            #M = Rot.homogeneous(pose)
            #M = Rot.toVisionCordinates(M)
            #pose = Rot.poseFromHom(M)

            pose.position.x = pose.position.x - origin[0] * scale
            pose.position.y = pose.position.y - origin[1] * scale
            pose.position.z = pose.position.z - origin[2] * scale

            marker = utils.poseMarker(id, pose, rgb)
            markerArray.markers.append(marker)
        elif words[0] == 'Point3d_Node':
            id = int(words[1])
            p = Point()
            p.x = float(words[2]) * scale
            p.y = float(words[3]) * scale
            p.z = float(words[4]) * scale

            p.x = p.x - origin[0] * scale
            p.y = p.y - origin[1] * scale
            p.z = p.z - origin[2] * scale

            marker = utils.pointMarker(id, p, rgb)
            markerArray.markers.append(marker)
Example #5
0
def addMarkers(poses):
    global poseId, lineId, markerArray
    rgb = [0, 0, 1]
    for pose in poses:
        #pose = utils.fromVisionCord(pose)

        #pose.position.y = - pose.position.y
        #pose.position.x = - pose.position.x
        #pose.position.z = - pose.position.z

        marker = utils.poseMarker(poseId, pose, rgb)
        poseId = poseId + 1
        markerArray.markers.append(marker)

    for x in range(1, poseId):
        prev = x - 1
        marker = utils.lineMarker(prev, x)
        markerArray.markers.append(marker)