示例#1
0
    def get_list_of_edges(self):
        self.eids = []

        rospy.loginfo("Querying for list of edges")
        for i in self.lnodes.nodes:
            for j in i.edges:
                if j.edge_id not in self.edgid:
                    self.edgid.append(j.edge_id)
                    val = {}
                    val["edge_id"] = j.edge_id
                    #val["model_id"]=self.lnodes.name+'__'+j.edge_id
                    ori = {}
                    ori['pos'] = dc_util.msg_to_document(i.pose.position)
                    ori['name'] = i.name
                    rad = get_radius(i)
                    ori['radius'] = rad
                    val["ori"] = ori

                    ddn = get_node(self.lnodes, j.node)
                    dest = {}
                    dest['name'] = j.node
                    dest['pos'] = dc_util.msg_to_document(ddn.pose.position)
                    rad = get_radius(ddn)
                    dest['radius'] = rad
                    val["dest"] = dest
                    val["dist"] = get_distance_to_node(i, ddn)

                    self.eids.append(val)
        fdbmsg = 'Done. %d edges found' % len(self.edgid)
        rospy.loginfo(fdbmsg)
    e.node = lnodes[0][0].name
    a[0].edges.append(e)
    lnodes.append(a)


    print "Connecting %s to %s"%(lnodes[0][0].name, a[0].name)
    e = get_empty_edge(mapname, 'docking')
    e.edge_id = "%s_%s"%(lnodes[0][0].name, a[0].name)
    e.node = a[0].name
    lnodes[0][0].edges.append(e)
    #print lnodes[0][0].edges

    onodes = []
    for i in lnodes:
        r = []
        q = dc_util.msg_to_document(i[0])
        r.append(q)
        r.append(i[1])
        onodes.append(r)


    yml = yaml.safe_dump(onodes, default_flow_style=False)
    print yml
    #print s_output

    fh = open(outfile, "w")
    #s_output = str(bson.json_util.dumps(nodeinf, indent=1))
    s_output = str(yml)
    print s_output
    fh.write(s_output)
    fh.close
            e.action = k['action']
            eid = get_edge_id(i.name, e.node, eids)
            eids.append(eid)
            e.edge_id = eid
            e.top_vel = 0.55
            e.map_2d = map_name
            #            e.use_default_recovery = True
            #            e.use_default_nav_recovery = True
            #            e.use_default_helpers = True
            n.edges.append(e)
        nnodes.append(n)

    onodes = []
    for i in nnodes:
        r = []
        q = dc_util.msg_to_document(i)
        m = {}
        m["map"] = map_name
        m["pointset"] = dataset_name
        m["node"] = n.name
        r.append(q)
        r.append(m)
        onodes.append(r)

    onodes.sort(key=lambda x: x[0]['name'])
    yml = yaml.safe_dump(onodes, default_flow_style=False)
    #print yml
    #print s_output

    fh = open(outfile, "w")
    #s_output = str(bson.json_util.dumps(nodeinf, indent=1))